Enlace datos
Transcript of Enlace datos
La capa de enlace de datos
Objetivos Métodos para lograr una comunicación confiable y
eficiente entre dos máquinas adyacentes en la capa de enlace de datos.
Las dos máquinas están conectadas por un canal de comunicaciones que actua conceptualmente como un alambre– los bits se entregan con exactitud en el mismo orden en que
fueron enviados La máquina A pone los bits en el alambre y la máquina
B simplemente los toma.
Funciones capa enlace Suministrar servicios a la capa de red. Transferencia de datos de la capa de red en
la máquina de origen a la capa de red en la máquina destino.
1
7
6
5
43
2
1
7
6
5
43
2
Servicios
Los servicios reales ofrecidos pueden variar de sistema en sistema
Tres posibles servicios que se pueden proporcionar son:– Servicio sin acuse sin conexión– Servicio con acuse sin conexión– Servicio con acuse orientado a la conexión
Serv. sin acuse ni conexión La máquina de origen envia marcos independientes a
la máquina destino sin pedir que ésta los reconozca o acuse su recibo.
No se estable conexión Si se pierde un marco no se intenta recuperarlo (en la
capa de enlace de datos) Apropiado cuando la tasa de errores es baja
– la recuperación se deja a capas más altas Apriada tráfico en tiempo real: p.e. voz
– la llegada retrasada de datos es peor que los errores de datos
Serv. con acuse sin conexión No se usan conexiones, pero cada marco enviado es
reconocido individualmente El transmisor sabe si el marco ha llegado o no Si no ha llega en un tiempo especificado, ( time-out)
puede enviarse nuevamente Servicio útil en canales inestables, como los sistemas
inalámbricos Proporcionar acuses de recibo en la capa enlace datos
es una optimización, nunca un requisito– otras capas se pueden ocupar de ello– prolema: mensaje puede tardar mucho en llegar
Serv. con acuse y conexión Es el servicio más elaborado Las máquinas de origen y destino establecen una
conexión antes de transferir los datos. Cada marco enviado a través de la conexión está
numerado y la capa garantiza que cada marco llegara a su destino.
Se garantiza que cada marco será recibido exactamente una vez y que todos los marcos son recibidos en el orden adecuado.– sin conexión se puede perder un acuse de recibo y un marco
puede recibirse muchas veces
Fases orientado conexión Las transferencias tienen tres fases distintas. 1a. fase:
– conexión se establece haciendo que ambos lados inicialicen las variables y contadores necesarios para dar seguimiento a los marcos recibidos y los que no.
2a. fase:– se transmiten uno o más marcos
3a. fase:– la conexión se cierra, liberando variables y los
recursos usados para mantener la conexión
Capa física y capa enlace
Capa enlace usa servicios capa física. Capa física:
– acepta un flujo de bits en bruto e intenta entregarlo al destino
– no se garantiza que el flujo esta libre de errores– número bits puede ser mayor, menor o igual al
transmitido y pueden tener valores diferentes Capa enlace:
– debe detectar y, de ser necesario, corregir los errores
Los marcos y el enmarcado
Capa de enlace divide el flujo de bits en marcos (frames) y realiza un cálculo en cada marco.
Cuando el marco llega al destino, se realiza el cálculo de nuevo.
Si el resultado de los calculos es distinto la capa de enlace sabe que ocurrió un error y toma las medidas para manejarlo – p.e. descarta el marco erroneo y pide que se
retransmita
¿Cómo se crea el marco? No es tarea fácil. Una forma es introducir intervalos de tiempo
entre los marcos, a semejanza de los espacios entre palabras en un texto.
Problema:– redes ofrecen poca garantía sobre la temporización– es posible que estos intervalos sean eliminados o
que puedean introducirse otros intervalos durante la transmisión
Principales metodos creación marcos
Conteo de caracteres. Caracteres de inicio y de fin, con relleno
de caracteres. Indicadores de inicio y fin, con relleno de
bits. Violaciones de codificación de la capa
física.
Conteo caracteres
Usa un campo del encabezado para especificar el número de caracteres en el marco.
El destino lee el valor, sabe cuántos caracteres siguen y por tanto dónde esta el fin del marco.
Problema:– el valor puede alterarse por un error de
transmisión
Ejemplo conteo caracteres
3 4 5 6 7 8 9 8 0 1 2 3 4 5 6215
8 7 8 9 0 1 2 3
caracter de conteo
Frame 15 caracteres
Frame 25 caracteres
Frame 3 8 caracteres
Frame 4 8 caracteres
3 4 7 6 7 8 9 8 0 1 2 3 4 5 6215
9 7 8 9 0 1 2 3
Frame 1 Frame 2 (error)
ErrorAhora un caracter conteo
caracter de conteo
Una corriente de caracteres sin error
Una corriente de caracteres con error
Caracteres inicio-fin Cada marco comienza con la secuencia de
caracteres ASCII: DLE STX y termine con la secuencia DLE ETX.
De esta forma, si el destino llega a perder la pista de los límites del marco:– debe buscar los caracteres: DLE STX o DLE ETX
para determinarlos Problema:
– es posible que los caracteres correspondientes a DLES TX o DEL ETX estén dentro de los datos
Ejemplo caracteres
DLE STX A DLE B ETX
DLE STX A DLE B ETXDLE DLE
DLE
DLE STX A DLE B ETXDLE
DLE de relleno
Datos enviados por la capa de red
Datos después del relleno de caracteres por la capa de enlace de datos
Datos pasados a la capa de red del lado receptor
Rellenando el marco
La capa de enlace de datos del lado receptor quita al DLE antes de entregar los datos a la capa red. – esto se conoce como relleno de caracteres
Por tanto, un DLE STX o un DLE ETX de enmarcado puede destinguirse de uno en los datos por la ausencia o presencia de un solo DLE.
Los DLE en los datos siempre se duplican.
Desventaja uso caracteres Esta fuertemente atada a los caracteres de 8 bits
en general y al código ASCII en particular. Al mismo tiempo que se desarollan las redes
surgen nuevos códigos.– las desventajas de incorporar el código de caractes
en el mecanismo de enmarcado se volvieron más obvias
Se necesita una técnica que permita caracteres de tamaño arbitrario.
Rellenando con bits Permite que los marcos contengan un
número arbitrario de bits y admite códigos de caracteres con número arbitrario de bits.
Cada marco comienza y termina con un patrón especial de bits: 01111110 llamado byte indicador.
Cada vez que la capa del transmisor encuentra cinco unos consecutiod en los datos automaticamente inserta un bit 0
El relleno de bits
El relleno de bits es análogo al relleno de caracteres.
Cuando receptor ve cinco bist 1 de entrada consecutivos. seguidos de un bit 0, automaticamente borra el bit 0 de relleno.
Este relleno es transparente para la capa de red en ambas computadoras.
Si los datos del usuario contienen el patrón 01111110, esta bandera se transmite como 011111010, pero se almacena como 0111110.
Relleno de bits
0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1
0 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 0 0 1
0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1
Los datos originales:
Los datos según aparecen en la línea:
Los datos como se almacenan en la memoria del receptor despúes de remover el relleno:
Bits de relleno
Ventajas relleno bits
El límite entre los dos marcos puede ser reconocido sin ambigüedades mediante el patrón indidicador.
Si el receptor pierde la pista de dónde esta, todo lo que tiene que hacer es explorar la entrada en busca de secuencias indicadoras– sólo pueden ocurrir en los límites de los
marcos y nunca en los datos
Violaciones codificación Sólo se aplica a las redes en que la codificación
en el medio físico contiene cierta redundancia. Por ejemplo: algunas LAN codifican un bit de
datos usando dos bits físicos. Normalmente
– un bit 1 es un par alto-bajo– un bit 0 es un par bajo-alto– las combinaciones alto-alto y bajo-bajo no existen.
Control de errores
Proporcionar al transmisor realimentación sobre lo que está ocurriendo del otro lado de la línea.
Típicamente, el protocolo exige se envíen de regreso marcos de control especiales que contengan para acuses positivos o negativos de los marcos de entrada. – acuse positivo: el marco llego bien– acuse negativo: al falló y el marco debe enviarse de
nuevo
¿Y si se pierde un marco?
Si se pierde, el emisor se quedaría esperando eternamente el acuse.
Solución: uso de temporizadores Posibilidad de que el receptor acepte el
mismo marco dos o más veces y que lo pase a la capa de red más de una vez.
Se asignan números de secuencia a los marcos de salida, para que el receptor distinga retransmisiones de originales.
Manejo de errores
11001101 11011101110 1101
0
Detecciónde error
11001101
Corrección de error
Técnicas de detección y corrección de errores: HammingHamming Códigos de Redundancia Cíclicos (CRC)Códigos de Redundancia Cíclicos (CRC) Message Digest (MD5)Message Digest (MD5) Retransmisión Retransmisión
enlace punto a punto
Control de flujo ¿Qué pasa si un transmisor quiere transmitir marcos a
mayor velocidad que aquella con que puede aceptarlos el receptor?– máquina rápida envía dato a máquina lenta– transmisor puede saturar al receptor
Solución: introducir control de flujo– requiere algún mecanismo de realimentación– transmisor puede enterarse si el receptor es capaz de
manterner el ritmo Protocolo control flujo prohibe envio de marcos hasta
que el receptor lo haya autorizado.
Técnicas control de flujo
Técnicas de control de flujo: XON-XOFFXON-XOFF Ventanas DeslizantesVentanas Deslizantes
0001111011001101
enlace punto a punto
Pentium PC-XT
101 0
Protocolos elementales Simulador en: http://www.cs.vu.nl/~ast/ Protocolo simplex sin restricciones
– datos se transmiten sólo en una dirección– tiempo procesamiento se ignora– espacio infinito de buffer
Protocolo simplex de parada y espera– mismas características que antes– receptor puede ser más lento– transmisor envía un marco y espera que un acuse
antes de continuar
Protocolos elementales
Protocolo simplex para un canal ruidoso– mismas caracteristicas que el anterior– canal comunicación propenso a errores– se necesita verificar los marcos
Efectuando comunicación duplex
Necesidad de transmitir datos en ambas direcciones
Una forma de contar con comunicación duplex es tener dos canales de comunicación separados– el ancho de banda del canal de regreso se desperdicia
casi por completo
– el usuario paga dos circuitos pero sólo usa la capacidad de uno
Mejor idea: usar el mismo canal para datos en ambas direcciones
Incorporación (piggybacking)
Al llegar un marco de datos, en lugar de enviar un inmediatamente un marco de control independiente:– el receptor se agunta y espera otro paquete de la
capa de red
– el acuse (ack) se anexa al marco de datos de salida (usando campo ack del encabezado)
La técnica de retardar temporalmente los acuese para enviarlos en el siguiente marco se conoce como incorporación
Ventajas incorporación
Mejor aprovechamiento del ancho de banda disponible del canal– campo ack sólo ocupa unos cuantos bits
– un marco aparte requeriría de un encabezado, el acuse y una suma de comprobació
El envío de menos marcos implica menos interrupciones de “ha llegado el marco”– por lo tanto menos segmentos de buffer en el
receptor
Problemas incorporación ¿Cuanto tiempo debe esperar la capa de enlace de
datos un paquete al cual incorporar el acuse?– si espera más tiempo del que tarda en terminar el time-
out del transmisor, el marco sera retransmitido Solución: si llega rapidamente un nuevo paquete,
el acuse se incorpora a él, de otra forma, sino ha llegado ningún paquete nuevo al final de este periodo de tiempo, la capa de enlace de datos manda un marco de acuse solo.
Protocolos ventana corrediza Protocolos que permiten una sincronización
ante cualquier combinación de:– marcos alterados, – marcos perdidos– terminaciones prematuras
Existen tres tipos– protocolo ventana corrediza de un bit– protocolo que usa regresar n– protocolo usando repitición selectiva
Principio protocolos de ventana corrediza
Cada marco de salida contiene un número de secuencia con un intervalo que va de 0 hasta un máximo
Máximo generalmente es 2n-1– número secuencia cabe en n bits
La base de todos los protcolos es que, en cualquier instante, el transmisor mantiene un grupo de números de secuencia de los marcos que tiene permitido enviar.
Las ventanas Ventana transmisora
– el transmisor mantiene un grupo de números de secuencia que corresponde a los marcos que tiene que enviar
Ventana receptora– corresponde al grupo de marcos que tiene
permitido aceptar. Las dos ventanas no necesitan tener los
mismos límites superior e inferior, ni siquiera el mismo tamaño
Funcionamiento ventanasEmisor
ventana
mensajes enviados y ack-usados mensajes a enviar
mensajes que se pueden aún enviar sin recibir acuse
mensajes enviados sin recibir acuse
Receptor
mensajes recibidos y ack-usados mensajes a recibir
mensajes que se pueden recibir sin enviar acuse
ventana
La numeración de marcos
Números ventana transmisor representan marcos enviados pero aún no reconocidos
Cuando llega un paquete nuevo:– se le asiga el siguiente número mayor– la orilla superior de la ventana avanza en uno
Al llegar un acuse de recibido:– la orilla inferior avanza en uno
De esta forma la ventana mantiene una lista de marcos no reconocidos
Ejemplo ventana transmisor
3 4 5 621
ack 1
3 4 521
3 4 5 621
3 4 5 621
ack 2
3 4 5 621
(a) Emisor envia dos paquetes
(b) LLega un nuevo paquete
(c) LLega acuse paquete 1
(e) Emisor envia paquete 3
(d) LLega acuse paquete 2
Ejemplos protocolos enlace HDLC: Control enlace datos de alto nivel
– basado en SDLC protocolo de control sincrónico de enlace de datos (SNA de IBM)
– ANSI lo modificó y lo nombró ADCCP procedimiento avanzado de control de comunicación de datos
– ISO lo módifico para convertirlo en HDLC– La CCITT lo adoptó para su LAP (Link Access
Procedure, procedimiento de acceso de enlace)– Después la CCITT lo modifco a LAPB
Enlace datos en Internet
Internet consiste de hosts y enruteadores y la infraestructura de comunicación que las conecta.
En un organismo: las LAN se usan para la interconexión
La mayor parte de la infraestructura de área extensa está constituida a partir de líneas arrendadas punto a punto
Punto a punto en internet La comunicación punto a punto se usa
principalmente en dos situaciones. Primero:
– organizaciones cuentan con una o más LAN, junto con un ruteador o router
– los ruteadores se interconectan mediante una LAN principal o backbone
– conexiones al mundo exterior pasan a través de uno o más ruteadores que tienen líneas arrendadas punto a punto a ruteadores distantes.
Punto a punto en internet Segunda situación
– varias personas tienen conexiones caseras a Internert a través de módems y líneas telefónicas
– la PC casera llama a un proveedore de Internet (ISP) que es una compañía que sumistra conectividad a Internet
Los dos situaciones requieren de un protocolo punto a punto de enlace de datos en la línea para manejo de marcos, control de errores y flujo
Dos protocolos: SLIP y PPP
Protocolo SLIP
El más viejo de los protocolos (1984) Descrito en el RFC 1055 Delimita marcos Versiones recientes efectuan cierta compresión de
encabezados. No efectúa detección o corrección de errores No es un estándar aprobado por Internet, por lo
que existen muchas versiones diferentes.
Protocolo PPP IETF estableción un grupo para desarrollar un
protocolo y que se volviera un estándar oficial de Internet
Definido en el RFC 1661 (y desarrollado en otros RFCs: 1662 y 1663)
Proporciona tres cosas:– método de enmarcado que delinia el principio y fin del marco
– protocolo de enlace para activar líneas, probarlas, negociar opciones u desactivarlas
– mecanismo para negociar opciones de capa red con independencia del protocolo de red usado
Ejemplo ventana transmisor
3 4 5 6 7 8 9 10 11 12 13 14 15 1621
3 4 5 6 7 8 9 10 11 12 13 14 15 1621
1
ack
Resumiendo
Tarea capa enlace datos– convertir la coriente de bits en bruto ofrecida por la
capa física en una corriente de marcos a ser usados por la capa de red.
Métodos enmarcado– conteo caracteres
– relleno de caracteres
– relleno de bits Otros servicios
– control de errores (código Hamming)
– control de flujo (ventana corrediza)
Resumiendo ...
Tipos de ventana corrediza: se clasifican de acuerdo al tamaño de la ventana del emisor y del receptor– cuando ambas son iguales a 1, el protocolo es
de parada y espera