Unidad 5
Unidad 5
UNIDAD 5
PROTOCOLOS DE COMUNICACIONES.
Los protocolos que se utilizan en las comunicaciones son una serie de normas que deben aportar
las siguientes funcionalidades:
Debido a la gran complejidad que conlleva la interconexión de ordenadores, se ha tenido que dividir
todos los procesos necesarios para realizar las conexiones en diferentes niveles. Cada nivel se ha creado
para dar una solución a un tipo de problema particular dentro de la conexión. Cada nivel tendrá asociado un
protocolo, el cual entenderán todas las partes que formen parte de la conexión.
Los protocolos de comunicaciones definen las normas que posibilitan que se establezca una
comunicación entre varios equipos o dispositivos, ya que estos equipos pueden ser diferentes entre sí. Un
interfaz, sin embargo, es el encargado de la conexión física entre los equipos, definiendo las normas para
las características eléctricas y mecánicas de la conexión.
Todos los protocolos y estándares que se consolidan como propios de Internet han de ser
organizados y dirigidos de alguna manera. Esta es la misión principal del IETF (Internet Engineering Task
Force), que es una gran comunidad de carácter abierto formada por diseñadores de redes, operadores,
usuarios, etc. Todos los protocolos agrupados normalmente bajo el nombre TCP/IP son estándares de
Internet cuyo desarrollo depende del IETF. Las actividades que realiza el IETF se dividen en distintos
grupos, llamados Working Groups (WG) con finalidades específicas, los cuales se clasifican en distintas
áreas comunes (Aplicaciones, seguridad, estandarización, servicios de transporte, etc.). El IESG (Internet
Engineering Steering Group) se encarga de coordinar y dirigir al IETF por medio de los directores de área,
que controlan las actividades número de los Working Groups que se encuentren dentro de cada área.
Las tareas de coordinación de los números asignados a los distintos protocolos de Internet están a
cargo de IANA (Internet Assigned Numbers Authority). Los protocolos definidos por el IETF y su grupo de
dirección correspondiente IESG contienen ciertos valores tales como: direcciones de Internet, números de
protocolos y de puertos, nombres por dominio, etc. La funcionalidad de IANA está en que todos estos
parámetros deben ser únicos, y por tanto, debe existir un registro que controle los valores que se
encuentran asignados.
Otra de las organizaciones de gran importancia para la comunidad de Internet es la Internet Society
(ISOC). Esta es una organización no gubernamental y sin intereses económicos formada por miles de
profesionales centrados en las soluciones y el progreso de Internet.
Para que un protocolo de Internet se convierta en un estándar debe pasar por una serie de estados
o niveles. El nivel de proposición de protocolo es asignado cuando un protocolo tiene posibilidades de
convertirse en un estándar en el futuro, siendo recomendables algunas pruebas y revisiones hasta que el
IESG considere su avance. Después del nivel de proposición el protocolo puede pasar a considerarse como
un "borrador" (draft standard).
Esto sólo ocurrirá cuando hayan transcurrido al menos 6 meses desde el nivel anterior, permitiendo
de esta manera que la comunidad de Internet evalúe y considere el proceso de estandarización. Durante
otros 4 meses el protocolo permanecerá en este nivel mientras se hacen pruebas y se analizan los
comentarios recibidos con la posibilidad de efectuar algún cambio. Finalmente, el protocolo puede llegar a
Página 1 de 21
convertirse en un estándar oficial de Internet a través del IESG cuando su funcionalidad ha quedado
suficientemente demostrada.
DISEÑO DE PROTOCOLO
PASOS:
Definición Del Servicio
Primitivas De Soporte Y Suposiciones Del Entorno
Reglas Del Protocolo
Vocabulario De Mensajes
Codificación
DESARROLLO:
Un cliente al iniciar una sesión debe especificar un nombre de archivo incluyendo la ruta. El
protocolo es orientado a la conexión, esto es, un cliente debe establecer una conexión primero con el
servidor el cual concederá o no el permiso para la transmisión, realizará la transmisión y al final la terminará.
Un servidor solo atenderá una transferencia de archivos al tiempo, por cual si en el transcurso de una
transferencia le llega una petición de transferencia esta debe ser rechazada.
Este protocolo operará en una red punto a punto, en un extremo el servidor y en el otro el
cliente.
El Servidor y Cliente se apoyan en los servicios ofrecidos por un STM, los cuales son NO
Orientados a la conexión, mensajes de longitud variable. El protocolo de aplicación se debe
apoyar en las siguientes dos (2) primitivas:
El STM realiza detección y corrección de errores, es decir al usuario siempre llegan los datos
buenos.
El STM es half-duplex, es decir se puede transmitir o recibir pero no los dos al tiempo.
Otra visión del tema vendría dada por la enumeración de las tareas básicas que deben llevarse a cabo en
un sistema de comunicación de datos. A saber:
Utilización del sistema de transmisión: Este primer ítem hace referencia a la necesidad de hacer un uso
eficiente de los servicio de transmisión que suelen compartirse entre varios dispositivos de comunicación.
Existen variedad de técnicas (conocidas como multiplexación) para repartir la capacidad del medio de
transmisión entre varios usuarios. Asimismo, pueden requerirse técnicas de control de la congestión para
asegurar que el sistema no se vea desbordado por la demanda excesiva de servicios de transmisión.
Generación de señales: Todas las formas de comunicación que mencionaremos dependen en última instancia de
la transmisión de señales electromagnéticas en el seno de un medio. Una vez establecida la interfaz, se requiere
la generación de señales para la comunicación. Las propiedades de la señal, tales como forma de onda e
intensidad, deben hacer que ésta resulte adecuada para propagarse por el medio de transmisión e interpretable
como datos por el receptor.
Página 2 de 21
Sincronización: Debe hacer alguna forma de sincronización entre transmisor y receptor. El receptor debe poder
determinar cuando una señal empieza a llegar y cuando termina. Debe conocer también la duración de cada
elemento de la señal.
Gestión de intercambio: Incluye aspectos como decidir si ambos usuarios pueden transmitir simultáneamente o
por turno, la cantidad de datos que pueden incluirse en un envío, el formato de los datos y las medidas a tomar en
caso de error.
Detección y corrección de errores: Necesario en circunstancias en las que no pueden tolerarse fallos. Por ejemplo:
Transferencia de ficheros.
Recuperación: Concepto distinto a la corrección de errores. Las técnicas de recuperación son necesarias en
aquellos casos en los que el intercambio de información, por ejemplo, acceso a bases de datos o transferencia de
ficheros, queda interrumpido debido a fallos en el sistema. El objetivo es reanudar el intercambio en el punto de
interrupción o al menos restaurar el estado de los sistemas involucrados.
Formato de mensajes: Ambas partes deben estar de acuerdo con el formato de los datos que se transmiten. Por
ejemplo, deben utilizar el mismo código binario para los caracteres.
Jerarquías de protocolos
Cuando los dispositivos que van a intervenir en la comunicación son ordenadores hace falta un alto
grado de cooperación entre ellos. Por ejemplo. En una transmisión de ficheros, además de las tareas
usuales relacionadas con la comunicación de datos, es necesario asegurarse que el sistema destino está
listo para recibir datos, para aceptar y almacenar el fichero, si el formato de ficheros que usan lo dos
sistemas es incompatible uno u otro debe realizar una transformación, etc.
Los protocolos se utilizan para la comunicación entre entidades de diferentes sistemas. Los
términos Entidad y Sistema se utilizan aquí en un sentido muy general. Ejemplos de entidades son
programas de aplicación de usuario, paquetes de transferencia de ficheros, sistemas de manejo de bases
de datos y terminales. Ejemplos de sistemas son ordenadores, terminales y sensores remotos. En general,
una entidad es algo capaz de enviar o de recibir información, y un sistema es un objeto que contiene una o
más entidades. Para que dos entidades puedan comunicarse deben hablar el mismo idioma. Qué se
comunica, cómo se comunica y cuando se comunica debe cumplir ciertas convenciones entre las entidades
involucradas. Este conjunto de convenciones constituye un protocolo, que puede definirse como el
conjunto de reglas que gobiernan el intercambio de datos entre dos entidades.
La capa n en una máquina conversa con la capa n de otra máquina. Las reglas y convenciones
utilizadas en esta conversación se conocen conjuntamente con protocolo de la capa n. A las entidades
que forman las capas correspondientes en máquinas diferentes se les denomina procesos pares (igual a
igual). En otras palabras, son los procesos pares los que se comunican mediante el uso del protocolo.
Página 3 de 21
En realidad no existe una transferencia directa de datos desde una capa n de una máquina a la
capa n de otra; sino, más bien, cada capa pasa la información de datos y control a la capa inmediatamente
inferior, y así sucesivamente hasta que se alcanza la capa localizada en la parte más baja de la estructura.
Debajo de la capa 1 está el medio físico, a través del cual se realiza la comunicación real.
Entre cada par de capas adyacentes hay un interfaz, la cual define los servicios y operaciones
primitivas que la capa inferior ofrece a la superior. El diseño claro y limpio de una interfaz, además de
minimizar la cantidad de información que debe pasarse entre capas, hace más simple la sustitución de la
realización de una capa por otra completamente diferente (por ejemplo, todas las línea telefónicas se
reemplazan por canales satélite). Al conjunto de capas (con sus interfaces) y protocolos se le denomina
arquitectura de red.
Estándares
En la industria se aceptó hace ya bastante tiempo, la necesidad de estándares que gobernaran las
acciones y las características físicas y eléctricas de los equipos de comunicación. Este punto de vista, sin
embargo ha tardado en imponerse en la industria de los ordenadores.
Entre las organizaciones más importantes que han colaborado en el desarrollo de estándares en
nuestra área tenemos:
ISO (International Organization for Standarization): Agrupa a 89 países, se trata de una organización
voluntaria, no gubernamental, cuyos miembros han desarrollado estándares para las naciones participantes. Uno
de sus comités se ocupa de los sistemas de información. Han desarrollado el modelo de referencia OSI (Open
Systems Interconnection) y protocolos estándar para varios niveles del modelo.
CCITT (Comité Consultatif International de Télégraphique et Téléphonique): Organización de la Naciones
Unidas constituida, en principio, por las autoridades de Correos, Telégrafos y Teléfonos (PTT) de los países
miembros. Estados Unidos está representado por el departamento de Estado. Se encarga de realizar
recomendaciones técnicas sobre teléfono, telégrafo e interfaces de comunicación de datos, que a menudo se
reconocen como estándares. Trabaja en colaboración con ISO (que en la actualidad es miembro de CCITT).
EIA (Electronic Industries Association): Asociación vinculada al ámbito de la electrónica. Es miembro de ANSI.
Sus estándares se encuadran dentro del nivel 1 del modelo de referencia OSI.
ANSI (American National Standard Institute): Asociación con fines no lucrativos, formada por fabricantes,
usuarios, compañías que ofrecen servicios públicos de comunicaciones y otras organizaciones interesadas en
temas de comunicación. Es el representante estadounidense en ISO. Que adopta con frecuencia los estándares
ANSI como estándares internacionales.
Sin embargo los estándares llevan también aparejados ciertos inconvenientes, como puede ser la
introducción de retraso tecnológico, que ralentiza nuevos desarrollos y la multiplicidad de estándares no
compatibles.
Dicho modelo define una arquitectura de comunicación estructurada en siete niveles verticales.
Cada nivel ejecuta un subconjunto de las funciones que se requieren para comunicar con el otro sistema.
Para ello se apoya en los servicios que le ofrece el nivel inmediato inferior y ofrece sus servicios al nivel
que está por encima de él. Idealmente, los cambios que se realicen en un nivel no deberían afectar a su
nivel vecino mientras ni se modifiquen los servicios que le ofrece.
La tarea del subcomité ISO fue definir el conjunto de niveles y los servicios proporcionados por cada
nivel. Los principios aplicados para establecer un nivel fueron los siguientes:
Diferentes niveles deben corresponder a diferentes niveles de abstracción en el manejo de los datos (por
Página 4 de 21
ejemplo diferencias en la morfología, la sintaxis, la semántica).
Cada nivel debe ejecutar una función bien definida.
Aprovechar la experiencia de protocolos anteriores. Las fronteras de niveles deben situarse donde la
experiencia ha demostrado que son convenientes.
Establecer las divisiones de los niveles de forma que se minimice el flujo de información entre ellos.
El número de niveles debe ser suficiente para que no agrupen funciones distintas, pero no tan grande que
haga la arquitectura inmanejable.
Permitir que las modificaciones de funciones o protocolos que se realicen en un nivel no afecten a los niveles
contiguos.
Cada nivel debe interaccionar únicamente con los niveles contiguos a él (superior e inferiormente).
Niveles OSI
Protocolo de aplicación
7 Aplicación Aplicación
i nterfa z i nterfa z
Protocolo de presentación
6 Presentación Presentación
i nterfa z
Protocolo de sesión
5 Sesión Sesión
Protocolo de transporte
4 Transporte Transporte
Lími te d e comu ni cac ió n de l a sub re d
Host A Host B
Nivel físico: El nivel físico se ocupa de la transmisión de bits a través de un canal de comunicación. Regula
aspectos de la comunicación como el tipo de señal, el esquema de codificación, el modo de comunicación (dúplex,
semi-dúplex o símplex) y, en general, todas las cuestiones eléctricas, mecánicas y de procedimiento en la interfaz
física entre los dispositivos que se comunican.
Nivel de enlace de datos: Mientras el nivel físico proporciona únicamente un servicio de transmisión de bits a
través de una canal, el nivel de enlace tiene el objetivo de hacer la comunicación fiable y proporcionar los medios
para activar, mantener y desconectar el enlace. El principal servicio proporcionado por este nivel es el de
detección y control de errores. Con un protocolo suficientemente elaborado, el nivel de red puede asumir una
transmisión libre de errores a través del enlace. Pero, hay que tener en cuenta, que si los sistemas que se
comunican no están directamente conectados, sino a través de varios enlaces, cada uno funcionará de forma
independiente y los niveles superiores no estarán eximidos de la responsabilidad de controlar los errores.
Nivel de Red: El servicio básico de este nivel es proporcionar transferencia de datos transparente entre entidades
de transporte. Es decir, libera al nivel de transporte de la necesidad de conocer el funcionamiento interno de la
Página 5 de 21
subred. Entre sus principales funciones se encuentran el encaminamiento y el control de la congestión.
Nivel de Transporte: Es el primer nivel que lleva a cabo comunicación extremo - extremo, condición que se
mantiene en los niveles superiores a él. Su objetivo es proporcionar mecanismos que garanticen que el
intercambio de datos entre procesos de distintos sistemas se lleve a cabo de forma fiable. El nivel de transporte
debe asegurar que los paquetes de datos se entregan libres de error, ordenadas y sin pérdidas ni duplicados.
Puede también optimizar el uso de los servicios de red (por ejemplo mediante multiplexación) y proporcionar la
calidad de servicio solicitada por los servicios de sesión.
El tamaño y la complejidad de un protocolo de transporte dependen del tipo de servicio proporcionado por el nivel
de red. Con un servicio de red fiable, orientado a la conexión, un protocolo de transporte mínimo resultará
suficiente. Por el contrario, si el nivel 3 proporciona un servicio no fiable y/o basado en datagramas el protocolo de
transporte debe incluir detección y recuperación de errores. De acuerdo con esto, ISO ha definido cinco clases de
protocolo de transporte orientados a distintos tipos de servicios de red. Otro estándar de protocolo de transporte
ampliamente extendido – aunque fuera del entorno ISO – es el protocolo TCP.
Nivel de sesión: Este nivel proporciona los mecanismos para controlar el diálogo entre aplicaciones. Como
mínimo el nivel de sesión proporciona un medio para que dos procesos de aplicación puedan establecer y utilizar
una conexión, llamada sesión. Además de esto, puede proporcionar una serie de servicios de mejora sobre el
nivel de transporte, como son:
Gestión del diálogo, mediante la utilización de testigos.
Mecanismos de recuperación (checkpointing).
Nivel de Presentación: A diferencia de los niveles anteriores, interesados en la fiabilidad de los datos que se
transmiten, el nivel de presentación se ocupa de aspectos sintácticos y semánticos de la información transmitida.
Un ejemplo típico de un servicio de presentación es la codificación de datos de una forma estándar. Cada
ordenador tiene su propia forma de representar strings de caracteres (ASCII, EBCDIC, ...), enteros (complemento
a uno, dos, ...) números en coma flotante y estructuras compuestas. Para hacer posible la comunicación entre
computadoras con distintos esquemas de representación. Las estructuras de datos pueden definirse durante la
comunicación. El trabajo de gestionar estas estructuras de datos y convertirlas de la representación usada en el
ordenador a la representación estándar y viceversa, es realizado por el nivel de presentación. Además de lo
anterior, este nivel maneja otros aspectos de representación de la información como compresión de datos y
cifrado.
Nivel de aplicación: El nivel de aplicación proporciona un medio a los procesos de aplicación para acceder al
entorno OSI. Contiene funciones de gestión y mecanismos útiles para soportar aplicaciones distribuidas. Ejemplos
de protocolos a este nivel son los de transferencia de ficheros y correo electrónico.
Servicios
Las entidades en un nivel N ofrecen servicios que son utilizados por las entidades del nivel N+1. El
nivel N es, entonces, el proveedor del servicio y el nivel N+1 el usuario del servicio. A su vez, el nivel N
para proporcionar sus servicios puede utilizar los servicios que le ofrece el nivel N-1.
Los servicios se hacen disponibles en los SAP (Puntos de acceso al servicio). Los SAPs del Nivel N
son los puntos donde el nivel N+1 puede acceder a los servicios ofrecidos.
Un servicio es invocado por el usuario, o es indicado por el proveedor del servicio mediante el intercambio
de un conjunto de primitivas de servicio a través de la interfaz entre los niveles implicados. En el modelo
OSI, estas primitivas se dividen en cuatro clases:
Los servicios pueden ser confirmados o no confirmados. Un servicio confirmado utiliza las cuatro
primitivas request, indication, response y confirm. Un servicio no confirmado sólo requiere primitivas request
e indication. El establecimiento de la conexión siempre es un servicio confirmado, mientras que la
transferencia de datos puede ser confirmada o no, dependiendo de que el emisor necesite o no un
reconocimiento.
Los niveles pueden ofrecer dos tipos básicos de servicio: sin conexión y orientados a conexión. La
conexión permitirá establecer unos parámetros generales para toda la comunicación, agrupando los
diferentes mensajes en un marco común.
Página 6 de 21
En los servicios sin conexión la información recibida por cada nivel es procesada de forma
autónoma, independientemente de la que haya recibido anteriormente. Es un servicio similar al ofrecido por
correos, en el cual cada carta viaja de forma independiente de las anteriores.
1. Datagrama: Consiste en enviar la información y despreocuparse de ella. Por ello se le suele denominar Send
& Pray (Sueña y Reza). Este servicio sería equivalente al correo ordinario, en el cual enviamos una carta y no
obtenemos confirmación de su llegada.
2. Con acuse de recibo (Asentimiento): El receptor tiene que enviar un reconocimiento de que ha recibido la
información.
Los servicios orientados a conexión corresponden al modelo del sistema telefónico. Cada mensaje
enviado es interpretado en un contexto formado por los mensajes anteriores y posteriores, de forma que
forman una unidad. Para ellos es necesario que se cumplan tres fases:
Establecimiento de la conexión.
Utilización.
Desconexión, o cierre de la conexión.
Sin embargo, y para asegurar el cumplimiento de sus funciones, en cada nivel es necesario utilizar
cierta información de control que sólo será interpretada por el nivel equivalente de la máquina receptora. Por
ejemplo, para que el nivel de red de los distintos IMPs por los que pasará la información puedan enviar
correctamente la misma, es necesario conocer las direcciones en la red de las máquinas origen y destino de
los datos, pero esta información no tiene por qué ser conocida por el nivel de transporte ni por el de enlace
de datos. De hecho, y para proteger la independencia de niveles, resulta aconsejable que cada información
de control sea exclusiva del nivel que la requiera. Cada nivel, pues, tratará la información procedente del
nivel superior como si fueran datos en su integridad, y añadirá su propia información de control (cabecera)
antes de pasarlo al nivel inferior.
Página 7 de 21
Como puede verse, cada nivel añade información a transmitir para cumplir su protocolo, tratando la
información de control añadida por el nivel anterior como datos. Los términos AH, PH, etc, denotan las
cabeceras añadidas por cada uno de los niveles (Aplication Header, Presentation Header, etc).
A pesar de que la comunicación se realiza verticalmente (entre niveles) hay que tener en cuenta la
existencia de los protocolos a cada nivel.
EL PROTOCOLO TCP/IP
El Internet es una red de ordenadores conectados juntos a través de redes de comunicaciones. Esta
red consiste en enlaces de fibra óptica, satélite, radio y las líneas telefónicas. El sistema tiene ordenadores
de todos los tipos y funcionamiento todo el tipo de sistemas operativos. Todos utilizan el TCP/IP como
lenguaje común
¿Qué es TCP/IP?
Cuando se habla de TCP/IP, se relaciona automáticamente como el protocolo sobre el que funciona
la red Internet. Esto, en cierta forma es cierto, ya que se le llama TCP/IP, a la familia de protocolos que nos
permite estar conectados a la red Internet. Este nombre viene dado por los dos protocolos estrella de esta
familia:
El Protocolo IP, funciona en el nivel de red del modelo OSI, que nos permite
encaminar nuestros datos hacia otras maquinas.
Pero un protocolo de comunicaciones debe solucionar una serie de problemas relacionados con la
comunicación entre ordenadores, además de los que proporciona los protocolos TCP e IP.
TCP/IP se basa en software utilizado en redes. Aunque el nombre TCP/IP implica que el ámbito total
del producto es la combinación de dos protocolos: Protocolo de Control de Transmisión y Protocolo Internet.
El término TCP/IP no es una entidad única que combina dos protocolos, sino un conjunto de programas de
software más grande que proporciona servicios de red, como registro de entrada remota, transferencia de
archivo remoto y correo electrónico, etc., siendo TCP/IP un método para transferir información de una
máquina a otra. Además TCP/IP maneja los errores en la transmisión, administra el enrutamiento y entrega
de los datos, así como controlar la transmisión real mediante el uso de señales de estado predeterminado.
Para poder solucionar los problemas que van ligados a la comunicación de ordenadores dentro de
la red Internet, se tienen que tener en cuenta una serie de particularidades sobre las que ha sido diseñada
TCP/IP:
La interfaz de usuario debe ser independiente del sistema, así los programas no
necesitan saber sobre que tipo de red trabajan.
De esta forma, podremos decir, que dos redes están interconectadas, si hay una maquina común
que pase información de una red a otra. Además, también podremos decir que una red Internet virtual
realizara conexiones entre redes, que ha cambio de pertenecer a la gran red, colaboraran en él trafico de
información procedente de una red cualquiera, que necesite de ella para acceder a una red remota. Todo
esto independiente de las maquinas que implementen estas funciones, y de los sistemas operativos que
estas utilicen.
Página 8 de 21
La Estructura de TCP/IP
El modelo de comunicaciones de OSI esta definido por siete capas a diferencia del modelo TCP que
define cuatro.
Capa de Aplicación.
Capa de Transporte.
Capa de Red o de Internet.
Capa de Enlace o capa de acceso a la red.
TCP/IP OSI
Capas de Aplicación Capa de Aplicación
Capa de Sesión
Capa de Presentación
Capa de Transporte Capa de Transporte
Toda arquitectura de protocolos se descompone en una serie de niveles, usando como referencia el
modelo OSI. Esto se hace para poder dividir el problema global en subproblemas de más fácil solución.
Al diferencia de OSI, formado por una torre de siete niveles, TCP/IP se descompone en cinco
niveles, cuatro niveles software y un nivel hardware. A continuación describimos los niveles software, los
cuales tienen cierto paralelismo con el modelo OSI.
Nivel de aplicación
Constituye el nivel mas alto de la torre TCP/IP. A diferencia del modelo OSI, se trata de un nivel
simple en el que se encuentran las aplicaciones que acceden a servicios disponibles a través de Internet.
Estos servicios están sustentados por una serie de protocolos que los proporcionan. Por ejemplo, tenemos
el protocolo FTP (File Transfer Protocol), que proporciona los servicios necesarios para la transferencia de
ficheros entre dos ordenadores.
Otro servicio, sin el cual no se concibe Internet, es el de correo electrónico, sustentado por el
protocolo SMTP (Simple Mail Transfer Protocol).
Nivel de transporte
Este nivel proporciona una comunicación extremo a extremo entre programas de aplicación. La
maquina remota recibe exactamente lo mismo que le envió la maquina origen. En este nivel el emisor divide
la información que recibe del nivel de aplicación en paquetes, le añade los datos necesarios para el control
de flujo y control de errores, y se los pasa al nivel de red junto con la dirección de destino.
En el receptor este nivel se encarga de ordenar y unir las tramas para generar de nuevo la
información original.
Nivel de red
También recibe el nombre de nivel Internet. Coloca la información que le pasa el nivel de transporte
en datagramas IP, le añade cabeceras necesaria para su nivel y lo envía al nivel inferior. Es en este nivel
donde se emplea el algoritmo de encaminamiento, al recibir un datagrama del nivel inferior decide, en
función de su dirección, si debe procesarlo y pasarlo al nivel superior, o bien encaminarlo hacia otra
maquina. Para implementar este nivel se utilizan los siguientes protocolos:
IGMP (Internet Group Management Protocol): este protocolo esta íntimamente ligado a IP.
Se emplea en maquinas que emplean IP multicast. El IP multicast es una variante de IP
que permite emplear datagramas con múltiples destinatarios.
También en este nivel tenemos una serie de protocolos que se encargan de la resolución de
direcciones:
ARP (Address Resolution Protocol): cuando una maquina desea ponerse en contacto con
otra conoce su dirección IP, entonces necesita un mecanismo dinámico que permite
conocer su dirección física . Entonces envía una petición ARP por broadcast (o sea a todas
las maquinas). El protocolo establece que solo contestara a la petición si esta lleva su
dirección IP. Por lo tanto solo contestara la maquina que corresponde a la dirección IP
buscada, con un mensaje que incluya la dirección física. El software de comunicaciones
debe mantener una cache con los pares IP-dirección física. De este modo la siguiente vez
que hay que hacer una transmisión a es dirección IP, ya conoceremos la dirección física.
RARP (Reverse Address Resolution Protocol): a veces el problema es al revés, o sea, una
máquina solo conoce su dirección física, y desea conocer su dirección lógica. Esto ocurre,
por ejemplo, cuando se accede a Internet con una dirección diferente, en el caso de PC que
acceden por módem a Internet, y se le asigna una dirección diferente de las que tiene el
proveedor sin utilizar. Para solucionar esto se envía por broadcast una petición RARP con
su dirección física, para que un servidor pueda darle su correspondencia IP.
Nivel de enlace
Este nivel se limita a recibir datagramas del nivel superior (nivel de red) y transmitirlo al hardware de
la red. Pueden usarse diversos protocolos: DLC(IEEE 802.2), Frame Relay, X.25, etc.
La interconexión de diferentes redes genera una red virtual en la que las maquinas se identifican
mediante una dirección de red lógica. Sin embargo a la hora de transmitir información por un medio físico se
envía y se recibe información de direcciones físicas. Un diseño eficiente implica que una dirección lógica
sea independiente de una dirección física, por lo tanto es necesario un mecanismo que relacione las
direcciones lógicas con las direcciones físicas. De esta forma podremos cambiar nuestra dirección lógica IP
conservando el mismo hardware, del mismo modo podremos cambiar una tarjeta de red, la cual contiene
una dirección física, sin tener que cambiar nuestra dirección lógica IP.
Página 11 de 21
Protocolo De Control De Transmisión. El Protocolo de Control de Transmisión
(Transmision Control Protocol, TCP) es un protocolo de comunicaciones que proporciona
transferencia confiable de datos. Es responsable de ensamblar datos pasados desde
aplicaciones de capas superiores a paquetes estándar y asegurarse que los datos se
transfieren correctamente.
Cada máquina en la Internet tiene una dirección única, esta dirección de 32 bits esta dividida en dos
partes:
Bits de Red.
Bits de Host.
Estas direcciones son asignadas por un organismo central (NIC, Network Information Center).
Dirección clase A
Las direcciones de clase A corresponden a redes que pueden direccionar hasta 16.777.214
máquinas cada una. Las direcciones de red de clase A tienen el primer bit a 0. Solo existen 124 direcciones
de red de clase A.
Ejemplo:
Rangos:
1.xxx.xxx.xxx - 126.xxx.xxx.xxx
Dirección clase B
Las direcciones de red de clase B permiten direccionar 65.534 máquinas cada una. Los primeros
bits de una dirección de red de clase B son 0-1. Existen 16.382 direcciones de red de clase B.
Ejemplo:
Rangos:
128.001.xxx.xxx - 191.254.xxx.xxx
Página 12 de 21
Dirección clase C
Las direcciones de clase C permiten direccionar 254 máquinas. Las direcciones de clase C
empiezan con los bits 110. Existen 2.097.152 direcciones de red de clase C.
Ejemplo:
110 Red (21 bits) Máquina (8 bits)
11001010 00001111 00010111 00001011
202 15 23 11
202.15.23.11 (Notación decimal)
Rangos:
192.000.001.xxx - 223.255.254..xxx
Dirección clase D
Las direcciones de clase D son un grupo especial que se utiliza para dirigirse a grupos de máquinas.
Estas direcciones son muy poco utilizadas. Los primeros bits de una dirección de clase D son 1-1-1-0.
1110 Dirección múltiple
Rangos:
224.000.000.000 hasta 239.255.255.254
La clase se identifica mediante las primeras secuencias de bits, y en los ejemplos se muestra como
1 bits para la clase A y hasta 4 bits para la clase D. La clase puede determinarse a partir de los 3 primeros
bits (de orden más alto). De hecho, en la mayor parte de los casos basta con los dos primeros bits, ya que
existen pocas redes Clase D.
Página 13 de 21
HDLC - CONCEPTOS BASICOS
HDLC (High-Level Data Link Control) es un protocolo orientado a bit del nivel de enlace. HDLC fue
especificado por la ISO, luego de que IBM a mediados de 1973 anunciara que en sus productos de
comunicaciones trabajarán con un protocolo denominado SDLC (Synchronous Data Link Control), basado
en un entorno centralizado (por sondeo) y estrategias de envío continuo y repetición
Nivel De Enlace.
La tarea principal del nivel de enlace (nivel 2 OSI) consiste en, a partir de un medio de transmisión
común y corriente, transformarlo en una línea sin errores de transmisión para la capa de red (nivel 3 OSI).
Los protocolos del nivel de enlace definen, típicamente, reglas para: iniciar y terminar un enlace
(sobre un circuito físico previamente establecido), controlar la correcta transferencia de información y
recuperarse de anomalías.
El HDLC consiste en tramas de bits que están delimitadas por unas banderas de 8 bits de longitud
que contienen el valor 01111110 binario. Cuando el receptor encuentra este valor en el canal, comienza la
lectura de una trama, lectura que termina cuando vuelve a encontrar este mismo valor. Nótese que una
bandera puede indicar, simultáneamente, el final de una trama, y el comienzo de la siguiente. Puesto que
dentro de una trama, en el campo de datos de usuario puede aparecer este valor, el transmisor insertará
automáticamente un bit a 0 detrás de cada bloque de cinco bits a 1; el receptor, a su vez, eliminará cada bit
a 0 que siga a un bloque de cinco bits a 1; con este esquema se garantiza que nunca aparecerá el valor de
la bandera dentro de los bits de datos, es decir, el usuario puede colocar cualquier información dentro del
paquete, la transmisión es totalmente transparente.
Las tramas incorporan una dirección, un código de control y unos números de secuencia. Los
números de secuencia de recepción indican el número de secuencia de la siguiente trama que se espera
recibir; así, si una trama es recibida correctamente, este valor se incrementará, haciendo que el emisor
mande la siguiente trama; si la trama se pierde el valor permanecerá igual, con lo que el emisor la volverá a
enviar.
Los protocolos de control del enlace clásico han sido orientados a carácter, esto es, utilizan
mensajes de control constituidos por uno o varios caracteres denominados de control que complementan
los caracteres convencionales del alfabeto utilizado (EBCDIC, ASCII, etc.). Sus principales desventajas son:
Página 14 de 21
Uso de tramas multiformato: diseño complejo.
Mensajes de control escasamente protegidos: un bit de paridad por carácter.
Dependencia del alfabeto utilizado.
Los protocolos orientados a bit vienen a eliminar las desventajas de los anteriores. Los requisitos
deseables en un protocolo del nivel de enlace se pueden resumir en:
SDLC (Sychronous Data Link Control) Protocolo de nivel 2 de IBM. Está muy
extendido.
LAPD (Link Access Procedure, D Channel) Usado como control del enlace de datos
en la Red Digital de Servicios Integrados (RDSI).
Página 15 de 21
HDLC - CARACTERÍSTICAS BÁSICAS.
Tipos De Estaciones.
Definimos tres tipos de estaciones que dan lugar a dos configuraciones de enlace y tres modos de
transferencia de datos.
Estación primaria: Controla las operaciones del enlace. Actúa como maestra y sus
tramas son órdenes para las estaciones secundarias. Recibe respuestas de éstas
últimas.
Estación secundaria: Opera bajo el control de una estación primaria. Actúa como
esclava de la primaria y sus tramas son respuestas. Mantiene solamente una sesión
con la estación principal y no tiene responsabilidad en el control del enlace. Las
estaciones secundarias no pueden comunicarse directamente entre sí, lo hacen a
través de la estación primaria.
Nota: Los términos balanceado y no balanceado empleados no tienen nada que ver con las características
eléctricas del circuito. De hecho el control del enlace de datos no debe ser consciente de los atributos
físicos del circuito. Los dos términos son usados en un contexto totalmente distinto en el nivel físico y en el
nivel de enlace.
Página 16 de 21
HDLC - MODOS DE OPERACIÓN.
Modos De Inicialización.
Existe un modo opcional de inicialización. En el mismo, una estación primaria o una combinada
puede iniciar o regenerar el control del enlace con una secundaria o combinada. La forma concreta de
realizarlo es dependiente del sistema y no es objeto de normalización.
Configuración: no balanceada.
Tipo de enlace: punto a punto o multipunto (máximo una estación primaria en
enlaces multipunto).
Transmisión: dúplex o semiduplex (por defecto semiduplex).
Observaciones: las estaciones secundarias necesitan permiso de la primaria para
transmitir por lo que la estación primaria suele utilizar técnicas de sondeo y selección.
Configuración: no balanceada.
Tipo de enlace: punto a punto o multipunto (máximo una estación primaria en
enlaces multipunto).
Transmisión: dúplex o semiduplex.
Observaciones: Se permite a una estación secundaria transmitir sin recibir permiso
explícitamente de la primaria; de esta forma en ARM se reduce la sobrecarga debido
a que la secundaria no necesita ser sondeada para enviar datos. De todas formas la
estación primaria mantiene la responsabilidad sobre tareas como recuperación ante
errores, inicialización y desconexión del enlace.
Configuración: balanceada.
Tipo de enlace: punto a punto únicamente.
Transmisión: dúplex o semiduplex (por defecto dúplex).
Observaciones: utilizado principalmente en enlaces dúplex punto a punto. Requiere
estaciones combinadas. Cualquiera de las estaciones puede comenzar una
transmisión sin permiso de la otra y ambas tienen las mismas responsabilidades
sobre el mantenimiento y control del enlace.
Modos De Desconexión.
En los modos de desconexión las estaciones están lógicamente desconectadas del enlace. Se
distinguen dos modos de desconexión:
Nota: El término asíncrono no tiene nada que ver con el formato de los datos y el interface físico de las
estaciones. Se utiliza para indicar que las estaciones no necesitan recibir una señal preliminar procedente
de otra estación antes de comenzar a transmitir tráfico. Como veremos, HDLC utiliza formatos síncronos en
sus tramas, esto es, se necesita sincronismo entre emisor y receptor.
Página 17 de 21
HDLC - ESTRUCTURA DE LA TRAMA.
En HDLC se transmite de forma síncrona, esto es, se necesita la existencia de un sincronismo entre
transmisor y receptor. La transmisión, tanto de datos como de control, se realiza mediante el intercambio de
tramas monoformato entre dos estaciones.
Guión.
Delimita la trama. Todas las tramas deben comenzar y terminar con este campo. El guión consiste
en la secuencia binaria: 01111110 (seis "unos" limitados por "ceros").
Dentro de la trama podemos encontrar una secuencia binaria igual al guión (por ejemplo en el
campo de información) lo que se interpretará en recepción como un final de trama que en realidad no es tal.
Para solucionar esto y mantener la transparencia se utiliza la técnica de inserción de bit (bit stuffing). El
funcionamiento es muy simple. El transmisor inserta un cero después de cualquier secuencia de cinco
"unos" seguidos que vaya a enviar, excepto en el guión de principio y final de trama. En recepción se
monitoriza continuamente el flujo de bits que se reciben. Cuando se recibe un "cero" seguido por cinco
"unos" se mira el siguiente bit (el séptimo). Si es un "cero" el bit se deshecha pues es producto de una
inserción de bit. Si es un "uno" se observa el siguiente bit (el octavo). Si es un cero se reconoce un guión. Si
es un uno es que se trata de una señal de abortar o de enlace inactivo.
Dirección.
El campo de dirección identifica la estación (secundaria o combinada) que recibe o envía la trama.
Hay que hacer notar aquí las siguientes reglas:
De esta forma, en el campo de dirección siempre se coloca la dirección de una estación secundaria
en los modos no balanceados (NRM y ARM). Pero no hay ningún tipo de ambigüedad en dichos modos
tanto en el caso punto a punto como multipunto, puesto que solamente hay una estación primaria (que
transmite las órdenes y sabremos a qué estación secundaria van dirigidas) y una o varias secundarias (que
transmiten las respuestas, y la primaria sabe de quién recibe la respuesta). Para el modo balanceado
(recordar que ABM sólo admite enlaces punto a punto) nos permite indicar la dirección de los comandos y
sus respuestas asociadas.
Página 18 de 21
También se permiten direcciones de grupo (multicasting) y direcciones de difusión (broadcasting).
Estas últimas usadas para referirse a todas las estaciones colocando todos los bits del campo de dirección
a "uno".
Información.
El campo de información contiene los datos propios de usuario. Existe solamente en las tramas I y
algunas tramas U, como pueden ser las tramas UI (para transmitir información no numerada) y la trama
FRMR (rechazo de trama). La longitud del campo de información es indefinida y suele ser múltiplo de 8 bits.
El campo SVT (en inglés FCS- Frame Check Sequence) se utiliza para chequear los errores de
transmisión entre dos estaciones. Se aplica un código de redundancia cíclico (CRC) a los campos de
dirección, control e información de la trama.
El campo de control nos identifica el tipo de trama y su función concreta. El formato del campo de
control se ha representado en la figura adjunta.
Como podemos ver existen tres tipos de tramas: tramas de información (tramas I), tramas de
supervisión (tramas S) y tramas no numeradas (tramas U). El campo de control permite distinguir entre
ellas al proporcionarnos la siguiente información:
N(r): Es el número de la trama que se espera recibir del otro extremo. Se utiliza para
confirmar la recepción correcta de las tramas con N(S) menor que N(R)-1.
S: Dos bits para codificar los cuatro tipos existentes de tramas de supervisión.
M: Cinco bits que nos permiten definir hasta 32 órdenes y respuestas no numeradas.
El Bit P/F.
El bit P/F (polling/final) es el quinto bit en el campo de control de las tramas HDLC. Tiene dos usos
claramente diferenciados:
Página 19 de 21
al enviar una trama con el bit P=1 se inicia un temporizador y se obliga a que esa
trama sea respondida cuanto antes y de forma explícita con el bit F=1.
El uso de tres bits para especificar N(S) y N(R) significa que los números de secuencia pueden
oscilar entre 0 y 7. Esto implica que, como máximo, puede emplearse una ventana de transmisión de
tamaño 7. Aunque puede ser suficiente para muchas aplicaciones, aquellas que estén trabajando con
enlaces largos (mucho retardo) o de alta velocidad pueden requerir ventanas de transmisión mayores si se
quiere una utilización eficiente del enlace. El campo de control que hemos descrito puede ser ampliado con
un octeto adicional, que nos va a permitir aumentar los tres bits de numeración de secuencia de las tramas
de información hasta siete bits con lo que la ventana de transmisión puede llegar hasta 127.
En HDLC se tienen tres tipos de tramas: información, supervisión y no numeradas; las cuales se
distinguen por su campo de control.
Sirven para transmitir información numerada secuencialmente. Todas las tramas de información
contienen en el campo de control el número de la trama transmitida N(S), y el número de la trama que se
espera recibir N(R) que confirma al otro extremo la recepción de todas las tramas hasta N(R)-1. Por tanto,
en enlaces con actividad bidireccional simultánea, las tramas de información en un sentido contienen
asentimientos de la comunicación en sentido opuesto (Piggybacking), lo que permite una mejor utilización
del circuito de datos.
Normalmente se representan las tramas de información por la letra "I" seguida por el N(S) y el N(R).
Así la expresión I21 quiere decir que es una trama de información con el número 2 y que se espera recibir
del otro extremo la trama 1, con lo que estamos asintiendo hasta la trama cero.
Las tramas de información pueden ser tanto órdenes como respuestas (O/R).
Se realiza con ellas el control de flujo. También nos permiten reconocer tramas a la otra estación,
puesto que incluyen el N(R). Con los dos bits "S" podemos definir hasta cuatro tramas de supervisión. Las
cuatro pueden utilizarse en versión de orden o respuesta, dependiendo si son generadas por una estación
(o fracción de una combinada) principal o secundaria, respectivamente.
RNR. Receptor no preparado (Receive Not Ready). S=01. Indica una indisponibilidad
transitoria de recepción de tramas; realiza una función de control de flujo. También
reconoce tramas anteriores con el campo N(R). Cuando el receptor pueda aceptar
tramas de nuevo enviará una trama RR.
Página 20 de 21
SREJ contradice la primera puesto que todas las tramas I con N(S) menor que el
N(R) de la segunda trama SREJ serían reconocidas.
Existen estrategias que combinan REJ y SREJ, de forma que se envíen las menores tramas
posibles. Por ejemplo, si recibimos la trama 1 bien y las siete siguientes llegan con errores, es mejor enviar
un REJ2 que no un SREJ por cada una de las siete tramas erróneas.
Se emplean también para funciones de control como pueden ser inicialización del enlace, selección
del modo de transferencia de datos, establecer variables de estado, etc. También tenemos tramas de
información no numeradas, esto es, sin número de secuencia que ni se asienten ni su envío modifica el
número de secuencia de las tramas numeradas.
Página 21 de 21