Protocolos elementales de enlace
• Formato de la trama básica:
– tipo, seq, ack, información
• Protocolo Simplex (Figura 3-9)
–
–
–
–
–
Una sola dirección
Capas siempre prontas
Tiempo de procesamiento nulo
Buffer infinito
Canal perfecto
33
Protocolo simple stop-and-wait
• Pare y espere (Figura 3-10)
– Velocidad de recepción finita o lo que es
equivalente tamaño máximo de buffer en RX
– Solución 1: insertar retardo
• Como se calcula el retardo ?
– si es demasiado corto retransmito de más,
– si es muy largo uso bajo del canal
• Puede haber variaciones según la carga del receptor
– Solución 2: reconocimiento positivo (ACK)
• uso half-duplex del canal
34
Protocolo simple sobre canal con
ruido (1)
• Las tramas se pueden corromper o perder
totalmente. Si se corrompen la suma de
comprobación lo detecta
• Se agrega código detector
• Sólo se reconocen las tramas que llegan
bien
• Temporizadores para recuperación de
errores si no llega el reconocimiento.
35
Protocolo simple sobre canal con
ruido (2)
• Problema:
– se pierde ACK y se duplica una trama
• Necesidad de números de secuencia
– Cuantos números de secuencia se necesitan ?
• En este protocolo solo 2: 0 y 1 pues hasta no recibir
reconocimiento del 0 no intento mandar el 1
– Cuando se espera la trama 0 se rechazan las que
no sean 0 y al recibirse se espera por la 1
• Reconocimiento positivo y negativo
36
Piggybacking
• Es interesante el uso del canal para datos en
ambas direcciones
• Como el campo ACK es parte del
encabezado, puedo mandar información en
la misma trama de ACK
• Esto se llama píggybacking
• Problema: Cuanto esperar ?
– POCO: debo mandar trama solo con ACK
– MUCHO: el TX da timeout
37
Ventanas deslizantes (1)
• Más robustos frente a problemas
• Números de secuencia de 0 a 2n-1 (n bits)
• Ventana de transmisión
– números de secuencia que se pueden transmitir
• Ventana de recepción
– números de secuencia que se pueden aceptar
• Las ventanas de TX y RX no tienen porque
tener los mismos límites ni el mismo
tamaño
38
Ventanas deslizantes (2)
• Se le permite a la capa 2 más libertad en el
órden de transmisión y recepción de tramas
• PERO: las debe mandar en orden a la red y
la capa física las manda en orden
• Los números de secuencia en la ventana del
TX son tramas enviadas pero no
reconocidas
• El TX debe mantener las tramas para
39
eventualmente reenviarlas
Ventanas deslizantes (3)
• Si no se dispone lugar en la ventana no se
deben aceptar paquetes de la red
• La ventana del RX son los números de
secuencia que puede aceptar
• Si se recibe algo fuera de la ventana se
“descarta silenciosamente”
• Si lo recibido coincide con el límite inferior,
se pasa a la red, se manda ACK y se rota la
40
ventana
41
Ventanas deslizantes (4)
• Caso simple de tamaño de ventana = 1
• Normalmente no hay problemas
• PERO: Si ambos extremos empiezan
simultáneamente
42
Problemas de simultaneidad
43
Uso del canal
• Se ha supuesto retardo en viaje de tramas y
reconocimientos bajo
• Si no lo es, el uso del canal sería muy bajo
– Ej. Satélite 50 kpbs con 500 ms de retardo de
ida y vuelta
– tramas de 1000 bits
– se gastaría el 96% del tiempo esperando
• La combinación de alto retardo, gran ancho
44
de banda y trama corta es desastrosa
Mejora de uso del canal (1)
• No esperar reconocimiento trama a trama
• Agrandar la ventana del transmisor
• Se mandan tramas para llenar el canal y luego
se esperan los reconocimientos
– Largo de trama: L bits
– Capacidad del canal: b bps
– Retardo de ida y vuelta: R segundos
• En stop-and-wait el canal se usa
– L/b / (L/b+R) = L/(L+bR) si L < bR efic<50%
45
Mejora de uso del canal (2)
• Si en una larga secuencia se pierde una
trama que hacemos ?
– Descartamos la mala
– Mientras el TX se entera ya mandó muchas que
pueden haber llegado bien
• Dos soluciones:
– go back n (RXWin=1) bajo uso del canal
– selective repeat (RXwin>1)
46
Go back n/selective repeat
47
Números de secuencia y ventanas
• Ventana de transmisión TXWin
– Si TXWin = MAX_SEQ + 1
•
•
•
•
mando 0 a 7 (ventana 8)
recibo ACK=7
mando otros 0 a 7
recibo ACK=7
– no se si es que los segundos 0 a 7 llegaron bien
o que no llego ninguno
• Por eso TXWin <= MAX_SEQ
48
Números de secuencia y ventanas
• Ventana de recepción RXWin
– Si se usa repetición selectiva, (RXWin>1) y se
aceptan tramas fuera de orden, hay problemas
– Si RXWin = MAX_SEQ
•
•
•
•
TX envía 0 a 6, RX los recibe bien y manda ACKs
RX avanza la ventana para admitir 7 a 5
se pierden los ACKs y el TX retransmite el 0
cae en la ventana del RX, se acepta como nuevo
– Falla: la nueva vent. se superpone con la vieja
• Por eso: RXWin <=(MAX_SEQ+1)/2
49
Ventanas de TX y RX
50
Números de secuencia y ventanas
• número de buffers del receptor = ventana de
recepción y no la cantidad de números de
secuencia
• Mejora adicional: uso de reconocimientos
negativos NAK
– cuando se recibe una trama con error
– cuando se recibe una trama fuera de secuencia
51
Especificación y verificación de
Protocolos
• Alta complejidad en la implementación de
protocolos
• Se buscan técnicas para la especificación y
verificación de protocolos
• Problemas
• bloqueo (deadlock)
• recepción de eventos inesperados
• Máquina de estados finita
• Redes de Petri
52
Diagrama de estados
53
Redes de Petri
54
Ejemplos
• HDLC High-level Data Link Control
– Origen SDLC de IBM modificado por ANSI a
ADCCP, modificado por ISO a HDLC.
– HDLC modificado por ITU-T a LAP y remodificado luego a LAPB para hacerlo más
compatible con las últimas versiones de HDLC
– Usado en X25, enlaces punto a punto, etc
• Orientado a bits y usa relleno de bits para
transparencia de datos
55
Trama básica de HDLC
56
Tipos de tramas en HDLC
57
Enlace de Datos en Internet en
enlaces punto a punto
• SLIP
– Serial Link IP
– Objetivo: conectarse a una red con TCP/IP
• PPP
– Point to Point Protocol
– Objetivo: generalizar SLIP
58
Conexión a Internet
59
Protocolo SLIP
• Flag 0xC0 al final
0xC0 => 0xD0 0xC0
0xD0 => 0xD0 0xD0
• Compresión de encabezamiento
• Problemas:
–
–
–
–
–
No detecta errores
Sólo soporta IP
Se debe conocer la dirección IP
No hay autentificación de usuario
No es estandard
60
Protocolo PPP
• Provee de:
– Entramado (framing) con detección de error
– LCP: para conectarse, testear la línea, negociar
opciones y terminar una conexión
– NCP: una manera de negociar opciones a nivel
de capa de red (por ej. la dirección)
61
Formato de trama en PPP
62
Diagrama simplificado
63
ATM
5
48
64
Descargar

formato PowerPoint97