CAPA DE ENLACE DE DATOS
La Capa de Enlace de Datos
es la responsable del intercambio de datos entre un host cualquiera y la red a
la que está conectado, permitiendo la correcta comunicación y trabajo conjunto
entre las capas superiores (Red, Transporte y Aplicación) y el medio físico de
transporte de datos. Su principal objetivo es proporcionar una comunicación
eficiente, libre de errores, entre dos máquinas adyacentes, pertenecientes a la
misma red/subred. Para ello se encarga de la notificación de errores, la
topología de la red y el control de flujo en la transmisión de tramas.
Cuando la conexión entre
dos host es punto a punto, como en el caso de que ambos host pertenezcan a la
misma red/subred, la Capa de Enlace de Datos se encarga de que los datos se
envíen con seguridad a través del medio físico (Capa Física) y sin errores de
transmisión. En otro tipo de conexiones no puede realizar este cometido, siendo
entonces las capas superiores las encargadas del mismo.
Por este motivo podemos afirmar
que la Capa de Enlace de Datos es la encargada de la transmisión y
direccionamiento de datos entre host situados en la misma red/subred, mientras
que la capa de Red (Internet) es la encargada de la transmisión y
direccionamiento de datos entre host situados en redes diferentes.
La Capa de Enlace de Datos
proporciona sus servicios a la Capa de Red, suministrando un tránsito de datos
confiable a través de un enlace físico. Al hacerlo, la capa de enlace de datos
se ocupa del direccionamiento físico (comparado con el lógico), la topología de
red, el acceso a la red, la notificación de errores, formación y entrega
ordenada de tramas y control de flujo. Por lo tanto, su principal misión es
convertir el medio de transmisión en un medio libre de errores de cualquier
tipo.
DISEÑO DE LA CAPA DE ENLACE DE DATOS
La capa de Enlace de Datos tiene que desempeñar varias
funciones específicas:
1.
Proporcionar una matriz de servicio bien definida con la
capa de red
2.
Manejar los errores de transmisión
3.
Regular el flujo de datos para que receptores lentos no
sean saturados por emisores rápidos
Para cumplir con estas metas, la capa de enlace toma de la
capa de red los paquetes y los encapsula en tramas para transmitirlos. Cada trama contiene un encabezado, un campo de
carga útil para almacenar el paquete y un terminador o final
SERVICIOS
PROPORCIONADOS A LA CAPA DE RED
La función de la capa de enlace es suministrar servicios a
la capa de red. El servicio principal es transferir datos de la capa de red en
la máquina de origen a la capa de red en la máquina de destino. En la capa de
red de la máquina de origen hay una entidad, llamada proceso, que entrega
algunos bits a la capa de enlace de datos para transmitirlos a la máquina de
destino. El trabajo de la capa de enlace de datos es transmitir los bits a la máquina
de destino, para que puedan ser entregados a su capa de red.
La capa de enlace puede diseñarse para ofrecer varios
servicios:
Servicio
no orientado a la conexión sin confirmación de recepción.
Este servicio consiste en hacer que la máquina de origen
envíe tramas independientes a la máquina de destino sin pedir que ésta confirme
la recepción. No se establece una conexión de antemano ni se libera después. Si
se pierde una trama debido al ruido en la línea, en la capa de enlace no se
realiza ningún intento por detectar la pérdida ni por preocupar la trama. Esta
clase de servicio es apropiado cuando la tasa de errores es muy baja. La
mayoría de las LAN’s utilizan este tipo de servicio en la capa de enlace de
datos.
Servicio
no orientado a la conexión con confirmación de recepción.
Cuando se ofrece este servicio tampoco se utilizan
conexiones lógicas, pero se confirma de manera individual la recepción de cada
trama enviada. De esta manera, el emisor sabe si la trama ha llegado bien o no.
Si no han llegado en un tiempo especificado puede enviarse nuevamente. Este
servicio es útil en canales inestables, como los de los sistemas inalámbricos.
Proporcionar confirmaciones de recepción en la capa de
enlace de datos es una optimización, pero no un requisito. La capa de red
siempre puede envía un paquete y esperar que se confirme su recepción.
Servicio
orientado a la conexión con confirmación de recepción
Con este servicio, las máquinas de origen y de destino
establecen una conexión antes de transferir datos. Cada trama enviada a través
de la conexión está numerada, y la capa de enlace garantiza que cada trama
enviada llegará a su destino. Este servicio proporciona a los procesos de la
capa de red el equivalente de un flujo de bits confiable.
Cuando se utiliza este tipo de servicio las transferencias
tienen tres fases distintas:
1.
La conexión se establece haciendo que ambos lados inicien
las variables y los contadores necesarios para seguir la pista de las tramas
que han sido recibidas y las que no.
2.
Se transmiten las tramas.
3.
La conexión se cierra y libera las variables que se
utilizan para mantener la conexión y el seguimiento de las tramas.
ENTRAMADO
A fin de proporcionar servicios a la capa de red, la de
enlace de datos debe utilizar los servicios de la capa física. Lo que hace la
capa física es aceptar un flujo de bits puros e intenta entregarlo al destino.
No se garantiza que ese flujo de bits esté libre de errores. La cantidad de
bits recibidos puede ser menor, igual o mayor a la cantidad de bits transmitidos,
y estos pueden tener diferentes valores. Es responsabilidad de la capa de
enlace de datos detectar, y de ser necesario, corregir los errores.
El método común es que la capa de enlace de datos divida el
flujo de bits en tramas separadas y que calcule la suma de verificación de cada
trama. Cuando una trama llega a su destino, se recalcula la suma de
verificación. Si la suma de verificación calculada es distinta de la contenida
en la trama, la capa de enlace sabe que ha ocurrido un error y toma medidas
para manejarlo. Una manera de lograr esta división en tramas es introducir
intervalos de tiempo entre las tramas. Sin embargo, las redes pocas veces
ofrecen garantía sobre este método, por lo que es posible que estos intervalos
sean eliminados o que puedan introducirse otros intervalos durante la
transmisión. Otros métodos de división de tramas son:
Conteo
de caracteres
Este método se vale de un campo en el encabezado para
especificar el número de caracteres en la trama. Cuando la capa de enlace del
destino ve la cuenta de caracteres sabe cuántos caracteres siguen y donde está
el fin de esa trama. El problema con este método es que la cuenta puede
alterarse por un error de transmisión; en la actualidad no se utiliza este
método.
Banderas
con relleno de caracteres
Este método evita el problema de tener que sincronizar
nuevamente después de un error, haciendo que cada trama inicie y termine con
bits especiales. La mayoría de los protocolos utilizan un byte llamado bandera o indicador, como delimitador del inicio y el final de una trama. De
esta manera si el receptor pierde la sincronía, simplemente busca la bandera
para encontrar el final o inicio de la trama actual. Cuando se utiliza este
método para transmitir datos binarios, surge un problema: se puede dar el caso
con mucha facilidad de que el patrón de bits de la bandera aparezca en los
datos, lo que interferirá con el entramado. Una forma de resolver este problema
es hacer que la capa de enlace del emisor inserte un byte de escape especial
(ESC) justo antes de cada bandera. La capa de enlace del receptor quita el byte
de escape antes de entregar los datos a la capa de red. Esta técnica se conoce
como relleno
de caracteres. Una desventaja importante del uso de esta técnica de
entramado es que está fuertemente atada a los caracteres de 8 bits y no todos
los códigos utilizan los 8 bits. P.E.: UNICODE no utiliza 8 bits
Banderas
con relleno de bits
A medida que se desarrollaron las redes las desventajas de
incorporar la longitud del código de caracteres en el mecanismo de entramado se
volvieron más obvias por lo que tuvo que desarrollarse una nueva técnica. La
nueva técnica permite que las tramas de datos contengan un número arbitrario de
bits y admite código de caracteres con un número arbitrario de bits por carácter.
Cada trama inicia y termina con un patrón especial de bits 0111110. Cada vez
que la capa de enlace del emisor encuentra 5 unos consecutivos en los datos,
automáticamente inserta un bit 0 en el flujo de bits saliente. Esto se conoce
como relleno
de bits el cual es análogo al relleno de caracteres. Cuando el
receptor ve 5 bits 1 de entrada consecutivos, seguidos de un bit 0
automáticamente extrae el bit 0 de relleno.
CONTROL
DE ERRORES
La manera normal de asegurar la entrega confiable de datos
es proporcionar retroalimentación al emisor sobre lo que está ocurriendo del
otro lado de la línea. Por lo general el protocolo exige que el receptor
regrese tramas de control especiales que contengan confirmaciones de recepción
positiva o negativa de las tramas que llegan. Si el emisor recibe una
confirmación de recepción positiva de una trama, sabe que la trama llegó
correctamente. Por otra parte, una confirmación de recepción negativa significa
que algo falló y que la trama debe transmitirse otra vez. Una complicación
adicional surge de la posibilidad de que los problemas de hardware causen la
desaparición de una trama completa.
Un protocolo en el cual el emisor envía una trama y luego
espera una confirmación de recepción, se quedara esperando eternamente si se
pierde una trama completa debido a una falla de hardware. Esta posibilidad se
maneja introduciendo temporizadores en la capa de enlace. Cuando el emisor
envía una trama por lo general también inicia un temporizador. Éste se ajusta
de modo que expire cuando haya transcurrido un intervalo suficiente para que la
trama llegue a su destino. Si la trama o la confirmación de recepción se
pierden el temporizador expirará, alertando al emisor sobre el problema. Aunque
las tramas pueden transmitirse muchas veces existe el peligro de que el
receptor acepte la trama dos o más veces y que pase a la capa de red más de una
vez.
Control
de flujo
Otro tema del diseño es qué hacer con un emisor que quiere
transmitir tramas de manera sistemática y a mayor velocidad que aquella con la
que puede aceptarlos el receptor. Esta situación puede ocurrir cuando el emisor
opera una computadora rápida y el receptor una lenta. El emisor envía tramas a
alta velocidad hasta que satura por completo al receptor. Aunque la transmisión
esté libre de errores, en cierto punto el receptor no será capaz de manejar las
tramas conforme lleguen y comenzara a perder algunas. Para evitar esta
situación se utilizan generalmente dos métodos:
1.Control de
flujo basado en retroalimentación: El receptor
regresa información al emisor autorizándolo por enviar más datos o indicándole
su estado.
2.Control de
flujo basado en tasa: El protocolo tiene un mecanismo integrado que limita la
tasa a la que el emisor puede transmitir los datos.
DETECCION Y CONTROL DE ERRORES
Como
resultado de los procesos físicos que lo generan, los errores en algunos medios
tienden a aparecer en ráfagas y no de manera individual.
CÓDIGOS DE
CORRECCIÓN DE ERRORES
Los
diseñadores de redes han desarrollado dos estrategias principales para manejar
los errores. Una es incluir suficiente información redundante en cada bloque de
datos transmitido para que el receptor pueda deducir lo que debió ser el carácter
transmitido a este se le conoce como código
de corrección de errores. La otra estrategia es incluir suficiente
redundancia para permitir que el receptor sepa que ha ocurrido un error y
entonces solicita una retransmisión a este se le conoce como códigos de detección de errores.
En
los canales altamente confiables como la fibra, es más económico utilizar un
código de detección errores y simplemente retransmitir los bloques defectuosos
que surgen ocasionalmente. En los canales que causan muchos errores, como los
enlaces inalámbricos es mejor agregar la redundancia suficiente a cada bloque
para que el receptor pueda describir cual era el bloque original transmitido.
Como
ejemplo sencillo de código de detección de errores, es el que agrega un bit de
paridad a los datos. Este bit se escoge de modo que la cantidad de bits 1 en la
palabra código sea par o impar dependiendo del código.
CÓDIGO DE
DETECCIÓN DE ERRORES
Los
códigos de corrección de errores se utilizan de manera amplia en los enlaces
inalámbricos, que son más ruidosos y propensos a errores que el alambre de
cobre o la fibra óptica, en estos casos la tasa de error es mucho más baja, por
lo que la detección de errores y la retransmisión por lo general son más
eficientes ahí para manejar un error ocasional.
Código Poli
nominal
Este
tipo de códigos se basan en el tratamiento de cadenas de bits como representaciones
de polinomios con coeficiente de cero y uno solamente.
Cuando
se emplea este método, el receptor y el emisor deben acordar por adelantado un polinomio generador. Tanto lo bits de
orden mayor y menor del generador deben ser 1.
PROTOCOLOS DE ENLACE DE DATOS
CONTROL DE
ENLACE DE DATOS DE ALTO NIVEL (HDLC HIGH-LEVEL DATA LINK CONTROL)
HDLC
es un protocolo del nivel de enlace (de acuerdo al modelo de referencia OSI),
orientado a la conexión. Especificado por la ISO, basado en el SDLC de IBM.
Sus características básicas son:
û Orientado
a bit.
û Control de
flujo.
û Control de
errores
û Protocolo
de ventanas deslizantes.
HDLC define tres tipos de
estaciones:
û Estación
primaria: Controla
las operaciones de enlace; Los marcos enviados se conocen como comandos u órdenes;
Mantiene separado el enlace lógico de cada estación secundaria.
û Estación
secundaria:
Controlada por la estación primaria; Los marcos enviados se conocen como
respuestas.
û Estación
combinada: Puede
emitir tanto comandos como respuestas.
El protocolo permite
configurar el enlace de dos formas:
Balanceado
û Dos
estaciones combinadas.
û Soporta full-duplex y half-duplex.
No
balanceado
û Una
estación primaria y una o más estaciones secundarias.
û Soporta full-duplex y half-duplex.
Formato
de trama HDLC
û FLAG: Un patrón de 8 bits 01111110 que
indican el comienzo y el fin de la trama HDLC.
û ADDRESS: Es relevante únicamente
para configuración No Balanceada. Posee la dirección de una estación
secundaria, ya sea que ésta reciba la transmisión o emita una respuesta.
û CONTROL: Éste campo varía de acuerdo
a la especificación de los datos transportados. Existen tres categorías de
HDLC:
§ Información
(I-frame)
– Lleva datos.
§ Supervisión
(S-frame)
– Transporta comandos y respuestas.
§ Innumerados
(U-frame)
– Transporta secuencias de comandos adicionales.
û FCS: Utiliza para detección de errores
CRC (Cyclic Redundancy Check).
LA
CAPA DE ENLACE EN INTERNET
Internet
está formada por maquinas individuales y la infraestructura de comunicación que
las conecta. Dentro de un solo edificio las LAN’s se usan ampliamente para la
interconexión, pero la mayor parte de la infraestructura de área amplia esta
construida a partir de líneas alquiladas punto a punto.
En
la práctica, la comunicación punto a punto se utiliza principalmente en dos
situaciones:
1. Miles de
organizaciones tienen una o mas LAN’s, cada una con cierta cantidad de hosts
junto con un ruteador o puente. Por lo general todas las conexiones al mundo
exterior pasan a través de uno o dos ruteadores que tienen líneas alquiladas
punto a punto a ruteadores distantes. Son estos ruteadores y estas líneas
arrendadas las que forman la base sobre la cual esta construido Internet.
2. Las líneas
punto a punto desempeñan un papel principal en Internet debido a los millones
de personas que tienen conexiones domésticas a Internet a través de módems y
líneas de acceso telefónico.
PPP
- Protocolo Punto a Punto
Internet
necesita de un protocolo punto a punto para diversos propósitos. Este protocolo
se define en el RFC 1661. PPP realiza una detección de errores, soporta
múltiples protocolos, permite la negación de direcciones IP en el momento de la
conexión, permite la autenticación, entre otras funciones. PPP proporciona tres
características:
1. Un método
de entramado que delinea sin ambigüedades el final de una trama y el inicio de
otra. El formato de trama también maneja la detección de errores.
2. Un
protocolo de control de enlace para activar líneas, probarlas, negociar
opciones y desactivarlas ordenadamente cuando ya no son necesarias. Este
protocolo se conoce como LCP (Protocolo de Control de Enlace). Admite
circuitos síncronos y asíncronos y codificaciones orientadas a bits y a
caracteres.
3. Un
mecanismo para negociar opciones de capa de red con independencia del protocolo
de red utilizado.
La
diferencia principal entre PPP y HDLC es que PPP esta orientado a caracteres y
no a bits. PPP usa relleno de bytes en las líneas de acceso telefónico con
módem, por lo que todas las tramas tienen un número entero de bytes. PPP no
solo puede mandar tramas a través de líneas de acceso telefónico, sino que
también puede enviar a través de líneas HDLC auténticas orientadas a bits.
Todas
las tramas PPP comienzan con la Bandera estándar de HDLC que se rellena
con bytes si ocurre dentro del campo de carga útil. Luego esta el campo de Dirección
que siempre se establece al valor binario 11111111 para indicar que todas las
estaciones deben aceptar trama. Después viene el campo de Control cuyo
valor predeterminado es 00000011. Este valor indica una trama no numerada, es
decir, PPP no proporciona de manera predeterminada una transmisión confiable
usando números de secuencia y confirmaciones de recepción. En entornos
ruidosos, como los de las redes inalámbricas, se puede emplear el modo numerado
para una transmisión confiable.
El
campo de Protocolo indica la clase de paquete que esta en el campo de Carga
útil el tamaño predeterminado de este campo es de 2 bytes. El campo de Carga
útil es de longitud variable, hasta algún máximo negociado, aunque la
longitud máxima predeterminada es de 1500 bytes. Posteriormente se encuentra el
campo de Suma de verificación que normalmente es de una longitud de 2
bytes aunque puede llegar a utilizar 4 bytes.
PPP
es un mecanismo de entramado multiprotocolo adecuado para utilizarse a través
de módems, líneas seriales de bits y otras capas físicas. Soporta detección de
errores, negociación de opciones, compresión de encabezados y, opcionalmente,
transmisión de confiable con un formato de tramas similar al HDLC.
No hay comentarios:
Publicar un comentario