2.4.1 Técnicas de control de flujo

Anuncio
(07BJ)
(05BR)
(09BM)
Redes
Redes de Computadores
Redes y Sistemas Distribuidos
Tema 4
Funciones y protocolos del
nivel de enlace
Tema 4
Funciones y protocolos del nivel de enlace
Índice
1. Introducción
2. Funciones del nivel de enlace ([TAN03] Capítulo 3.1)
2.1 Sincronización de trama
2.2 Coordinación de la comunicación
2.3 Detección de errores
2.4 Control de flujo ([STA04] Capítulo 7)
2.4.1 Técnicas de control de flujo
2.4.2 Técnicas de recuperación de errores
3. Protocolo HDLC ([FOR07] Capítulo 11.6)
4. Protocolo PPP ([FOR07] Capítulo 11.7)
2
Tema 4
Funciones y protocolos del nivel de enlace
Índice
1. Introducción
2. Funciones del nivel de enlace ([TAN03] Capítulo 3.1)
2.1 Sincronización de trama
2.2 Coordinación de la comunicación
2.3 Detección de errores
2.4 Control de flujo ([STA04] Capítulo 7)
2.4.1 Técnicas de control de flujo
2.4.2 Técnicas de recuperación de errores
3. Protocolo HDLC ([FOR07] Capítulo 11.6)
4. Protocolo PPP ([FOR07] Capítulo 11.7)
3
Tema 4
Funciones y protocolos del nivel de enlace
1. Introducción
Modelo OSI:
•
El nivel de enlace mejora el servicio básico de transmisión de
datos proporcionado por el nivel físico
Objetivos:
•
•
•
•
Resolver los problemas planteados por la falta de fiabilidad
del servicio básico de transmisión de datos del nivel físico
Definir reglas para iniciar y terminar el enlace
Controlar la transferencia de información
Detectar errores y recuperarse ante ellos
Servicios proporcionados por el nivel de enlace al nivel de red:
•
•
•
Sin conexión no fiable (sin asentimiento)
Sin conexión fiable (con asentimiento)
Servicio orientado a la conexión (con asentimiento)
4
Tema 4
Funciones y protocolos del nivel de enlace
Índice
1. Introducción
2. Funciones del nivel de enlace ([TAN03] Capítulo 3.1)
2.1 Sincronización de trama
2.2 Coordinación de la comunicación
2.3 Detección de errores
2.4 Control de flujo ([STA04] Capítulo 7)
2.4.1 Técnicas de control de flujo
2.4.2 Técnicas de recuperación de errores
3. Protocolo HDLC ([FOR07] Capítulo 11.6)
4. Protocolo PPP ([FOR07] Capítulo 11.7)
5
Tema 4
Funciones y protocolos del nivel de enlace
2. Funciones del nivel de enlace
Funciones básicas de los protocolos del nivel de enlace
•
Sincronización de trama
• Delimitación del comienzo y fin de cada trama
•
Coordinación de la comunicación
• Compartición del enlace
•
•
•
Necesidad de un mecanismo de control de acceso al medio
Necesidad de un esquema de direccionamiento físico
Detección de errores de transmisión
• Códigos detectores de errores (redundancia)
• Códigos correctores de errores (redundancia)
•
Control de flujo
• Regulación del tráfico entre el emisor y el receptor
•
Control de errores
• Recuperación ante fallos (tramas erróneas, perdidas o duplicadas)
6
Tema 4
Funciones y protocolos del nivel de enlace
Índice
1. Introducción
2. Funciones del nivel de enlace ([TAN03] Capítulo 3.1)
2.1 Sincronización de trama
2.2 Coordinación de la comunicación
2.3 Detección de errores
2.4 Control de flujo ([STA04] Capítulo 7)
2.4.1 Técnicas de control de flujo
2.4.2 Técnicas de recuperación de errores
3. Protocolo HDLC ([FOR07] Capítulo 11.6)
4. Protocolo PPP ([FOR07] Capítulo 11.7)
7
Tema 4
Funciones y protocolos del nivel de enlace
2.1 Sincronización de trama
Nivel físico:
•
•
•
Emisor: datos codificados transmitidos en serie
Receptor: datos recuperados muestreando la señal recibida
Sincronización de bit:
• Bit de comienzo mas elemento de parada por cada carácter
• Esquema de codificación que facilita la sincronización
Nivel de enlace:
•
•
Los datos de los niveles superiores se dividen en tramas
Trama: delimitadores, control, datos y redundancia
• Delimitadores
•
•
•
•
Caracteres o patrones de bits específicos
• Limitan la naturaleza de los datos
• Se requieren mecanismos de transparencia para evitarlo
Violaciones de código
Patrones de bits de código no usados (codificación por bloques)
• La redundancia se inserta al final de la trama
La utilización de tramas simplifica el control de acceso al medio,
la detección de errores, y el control de flujo/errores
8
Tema 4
Funciones y protocolos del nivel de enlace
2.1 Sincronización de trama
Delimitadores de principio y fin con relleno de caracteres
•
•
•
•
Principio de trama: carácter de inicio (STX o SOH)
Fin de trama: carácter de fin (ETX o ETB)
El receptor sabe donde comienza y finaliza cada trama
Problema: los caracteres de control aparecen en los datos
• Ocurre cuando se transmiten datos binarios
•
Solución: caracteres de escape (DLE) para transparencia
• Se inserta un carácter de escape DLE delante de cada carácter de
•
•
inicio o de fin incluido en el campo de datos de la trama
Los caracteres DLE incluidos en el campo de datos de la trama
también se duplican
Ejemplo:
•
•
Datos:
Trama:
a 9 STX ACK 2 6 DLE ETX 3 t y
STX a 9 DLE STX ACK 2 6 DLE DLE DLE ETX 3 t y ETX
• En el peor caso, la eficiencia cae hasta el 50%
9
Tema 4
Funciones y protocolos del nivel de enlace
2.1 Sincronización de trama
Delimitadores de principio y fin con relleno de bits
•
•
•
•
Sincronización independiente de la estructura de los datos
Principio/fin de trama: patrón de bits (delimitador, flag o guión)
El receptor sabe donde comienza y finaliza cada trama
Problema: el delimitador aparece en la trama
• Ocurre en cualquier parte de la trama (control/datos/redundancia)
•
Solución: el emisor identifica el delimitador y lo modifica
• Ejemplo con 01111110 como guión de principio/fin de la trama:
•
•
•
•
El emisor evita más de cinco 1s consecutivos insertando un 0
El receptor analiza el bit que sigue a cinco 1s consecutivos
• Si es un 0 lo elimina
• Si es un 1 identifica el principio/fin de la trama
Datos:
000111101111111100011111000110
Trama:
011111100001111011111011100011111000011001111110
• En el peor caso, la eficiencia cae hasta un 83,3% (5/6)
10
Tema 4
Funciones y protocolos del nivel de enlace
Índice
1. Introducción
2. Funciones del nivel de enlace ([TAN03] Capítulo 3.1)
2.1 Sincronización de trama
2.2 Coordinación de la comunicación
2.3 Detección de errores
2.4 Control de flujo ([STA04] Capítulo 7)
2.4.1 Técnicas de control de flujo
2.4.2 Técnicas de recuperación de errores
3. Protocolo HDLC ([FOR07] Capítulo 11.6)
4. Protocolo PPP ([FOR07] Capítulo 11.7)
11
Tema 4
Funciones y protocolos del nivel de enlace
2.2 Coordinación de la comunicación
La compartición de un enlace conlleva la necesidad de un
mecanismo de control para determinar quién usa el enlace
Los protocolos de coordinación tienen tres fases:
•
•
•
Establecimiento del enlace
Transferencia de información (tramas)
Terminación del enlace
Dos tipos básicos de coordinación:
•
Centralizada:
• Controlador central (o moderador) que determina el turno de
transmisión de los interlocutores
•
•
•
Debe conceder el turno de transmisión de forma equitativa y/o gestionar
prioridades
Típica de los primeros sistemas de cómputo: controlador + terminales
Por contienda (o distribuida):
• No existe ningún controlador central
• Los interlocutores pueden transmitir cuando lo deseen
12
Tema 4
Funciones y protocolos del nivel de enlace
2.2 Coordinación de la comunicación
Coordinación centralizada
• Selección (para envío)
• El controlador envía un mensaje de selección al terminal que
responde indicando su disponibilidad mediante el envío de un
reconocimiento
• Si el enlace se establece, el controlador envía tramas y el
terminal confirma su recepción mediante reconocimientos
• Cuando el controlador termina de enviar todas las tramas,
se termina el enlace
• Selección rápida
• Sondeo (para recepción)
• El controlador interroga a los terminales para ver si tienen
tramas que transmitir
• Sondeo por lista: el controlador interroga a los terminales
•
siguiendo una lista ordenada
Sondeo por grupos: los terminales están agrupados,
y el controlador los interroga siguiendo una lista ordenada
13
Tema 4
Funciones y protocolos del nivel de enlace
2.2 Coordinación de la comunicación
Coordinación por contienda (o distribuida)
•
•
Ni existe ningún controlador ni se usa testigo alguno
Posibilidad de que se produzcan colisiones:
• Transmisión simultánea de dos o más tramas
•
Técnicas para evitar colisiones:
• Técnicas de auscultación (CSMA)
• Técnicas de detección de colisiones (CSMA/CD)
•
Técnicas de recuperación ante posibles colisiones:
• Uso de plazos de espera aleatorios (para evitar que se produzcan
bloqueos) asociados a tramas para gestionar las retransmisiones
•
Utilizada en redes de acceso múltiple (LAN):
• Contraste con el enfoque centralizado
• Esquema de direccionamiento físico para determinar quién es el
•
destinatario de cada trama
Subcapa de control de acceso al medio (MAC, Media Access
Control)
14
Tema 4
Funciones y protocolos del nivel de enlace
Índice
1. Introducción
2. Funciones del nivel de enlace ([TAN03] Capítulo 3.1)
2.1 Sincronización de trama
2.2 Coordinación de la comunicación
2.3 Detección de errores
2.4 Control de flujo ([STA04] Capítulo 7)
2.4.1 Técnicas de control de flujo
2.4.2 Técnicas de recuperación de errores
3. Protocolo HDLC ([FOR07] Capítulo 11.6)
4. Protocolo PPP ([FOR07] Capítulo 11.7)
15
Tema 4
Funciones y protocolos del nivel de enlace
2.3 Detección de errores
Durante la transmisión pueden producirse errores que dan
lugar a tramas erróneas:
•
Uso de información adicional (redundancia) para comprobar la
integridad de las tramas
Si el nivel de enlace proporciona servicio fiable al nivel de red:
•
•
Uso de asentimientos positivos o negativos (retransmisión)
Tramas perdidas:
• Uso de temporizadores asociados a las tramas
• Valor de los temporizadores: envío, proceso, asentimiento
• Retransmisión de tramas cuando expira el temporizador
•
Tramas duplicadas:
• La retransmisión de tramas puede conllevar duplicidad
• Uso de números de secuencia para etiquetar las tramas
La implementación de un servicio fiable está íntimamente
relacionada con el control de flujo
16
Tema 4
Funciones y protocolos del nivel de enlace
2.3 Detección de errores
Tipos de errores:
• Errores aislados
• Errores en ráfagas (bursts)
• Más comunes en LANs
Códigos detectores de errores (redundancia)
17
Tema 4
Funciones y protocolos del nivel de enlace
2.3 Detección de errores
Problema 1. Si se transmiten tramas de 1000 bits,
y la probabilidad de que se produzca un error es
de 0,0001 por bit transmitido, ¿cuántas tramas
erróneas recibirá el receptor en promedio?
• El 10% de las tramas contendrá un bit erróneo
Problema 2. ¿Cuántos bits se verán afectados por
un pico de ruido impulsivo de 1 ms en una línea
que transmite a 1 Mbps? ¿Y si transmite a 1
Gbps?
• Para 1 Mbps, se verán afectados 103 bits
• Para 1 Gbps, se verán afectados 106 bits
18
Tema 4
Funciones y protocolos del nivel de enlace
2.3 Detección de errores
CRC (Cyclic Redundary Check)
• Método más comúnmente utilizado
• Bloques de bits representan coeficientes (1s y 0s) de
•
polinomios
Una trama de k bits equivale a un polinomio de k
términos, es decir, de grado k-1
• Ejemplo:
10100111 es el polinomio x7+x5+x2+x+1 (grado 7)
• Aritmética en módulo 2: suma y resta igual que XOR
19
Tema 4
Funciones y protocolos del nivel de enlace
2.3 Detección de errores
CRC (Cyclic Redundary Check)
•
•
•
Emisor y receptor acuerdan polinomio generador G(x)
El bloque de bits de datos representa al polinomio M(x)
Algoritmo:
• Agregar k-1 bits (grado de G(x)) a 0 a M(x) (extremo inferior)
• Dividir el polinomio resultante por G(x) utilizando aritmética en
•
•
módulo 2 (el resto de la división es R(x))
La trama a transmitir, T(x), es igual M(x)0..k-1..0 XOR R(x)
El receptor divide M(x)R(x) entre G(x), y obtiene un resto 0 si la
trama llegó correctamente, o un resto ≠ 0 en caso contrario
20
Tema 4
Funciones y protocolos del nivel de enlace
2.3 Detección de errores
Ejemplo CRC:
• G(x)
• M(x)
• T(x)
= x3 + x2 + 1, es decir, 1101
= x5 + x2, es decir, 100100
= 100100 001 CRC
21
Tema 4
Funciones y protocolos del nivel de enlace
2.3 Detección de errores
CRC (Cyclic Redundary Check)
•
•
•
•
La elección de G(x) es crucial para que el método sea eficaz
Algunos polinomios que son estándares internacionales:
•
•
•
•
CRC-12: x12+x11+x3+x2+x+1
CRC-16: x16+x15+x2+1
CRC-CCITT: x16+x12+x5+1 (HDLC)
CRC-32: x32 + x26 + x23 + x22 + x16 + x12 + x11 + x10 + x8 + x7 + x5 + x4 + x2 + x
+ 1 (IEEE 802)
Todos contienen el término x+1 como factor primo porque no hay
polinomios con un número impar de términos divisibles por x+1
Un CRC de grado 16 captura:
• Todos los errores simples y dobles
• Todos los errores con un número impar de bits
• Todos los errores en ráfagas con longitudes de hasta 16 bits
• El 99,997% de los errores en ráfagas de 17 bits
• El 99,998% de los errores en ráfagas de 18 o más bits
22
Tema 4
Funciones y protocolos del nivel de enlace
2.3 Detección de errores
Problema 3. Se desea transmitir el bloque de bits
10100001 con un CRC generado a partir del
polinomio x3+1. ¿Cuál sería la trama transmitida?
¿Qué pasaría si el receptor recibe el bloque de
bits 11000001?
23
Tema 4
Funciones y protocolos del nivel de enlace
Índice
1. Introducción
2. Funciones del nivel de enlace ([TAN03] Capítulo 3.1)
2.1 Sincronización de trama
2.2 Coordinación de la comunicación
2.3 Detección de errores
2.4 Control de flujo ([STA04] Capítulo 7)
2.4.1 Técnicas de control de flujo
2.4.2 Técnicas de recuperación de errores
3. Protocolo HDLC ([FOR07] Capítulo 11.6)
4. Protocolo PPP ([FOR07] Capítulo 11.7)
24
Tema 4
Funciones y protocolos del nivel de enlace
2.4 Control de flujo
Regulación del flujo de datos entre emisor y receptor
• El flujo de datos no debe desbordar al receptor:
• El receptor utiliza buffers (almacenamiento temporal) para
almacenar los datos hasta que son procesados
• Velocidad limitada de procesamiento de datos recibidos
• Capacidad limitada de almacenamiento temporal
• El receptor debe indicar cuándo se han alcanzado los límites
• Confirmación de las tramas (fiabilidad):
• De forma individual o colectiva (confirmación múltiple)
• Asentimiento positivo (ACK) o negativo (NAK)
Técnicas de control de flujo:
• Parada y espera (stop-and-wait)
• Ventana deslizante (sliding window)
25
Tema 4
Funciones y protocolos del nivel de enlace
Índice
1. Introducción
2. Funciones del nivel de enlace ([TAN03] Capítulo 3.1)
2.1 Sincronización de trama
2.2 Coordinación de la comunicación
2.3 Detección de errores
2.4 Control de flujo ([STA04] Capítulo 7)
2.4.1 Técnicas de control de flujo
2.4.2 Técnicas de recuperación de errores
3. Protocolo HDLC ([FOR07] Capítulo 11.6)
4. Protocolo PPP ([FOR07] Capítulo 11.7)
26
Tema 4
Funciones y protocolos del nivel de enlace
2.4.1 Técnicas de control de flujo
Parada y espera (stop-and-wait)
•
•
•
•
•
El emisor espera una confirmación por cada trama transmitida
La siguiente trama se envía sólo cuando se recibe la confirmación
El tiempo total para transmitir una trama incluyendo su
confirmación
• tprop:
• tframe:
• tproc:
• tack:
T = tprop + tframe + tproc + tprop + tack + tproc
tiempo de propagación
tiempo de enviar una trama
tiempo de procesamiento de una trama o una confirmación
tiempo de enviar una confirmación
Ventaja: simplicidad (cada trama se transmite y se confirma
individualmente)
Desventaja: ineficiencia (cada trama y su confirmación recorren
todo el camino entre el emisor y el receptor antes de poder enviar
la siguiente trama)
27
Tema 4
2.4.1 Técnicas de control de flujo
Funciones y protocolos del nivel de enlace
Parada y espera (stop-and-wait)
T = tprop + tframe + tproc + tprop + tack + tproc
• La utilización o eficiencia de la línea se define como:
U=
tinformación
ttotal
=
• Si definimos a tcomo:
a=
prop
t frame
n * t frame
n * (2t prop + t frame )
U =
=
t frame
2t prop + t frame
1
1 + 2a
Máxima utilización
de la línea
• a es constante en enlaces punto a punto (tprop y tframe
•
son constantes)
a es variable en enlaces multipunto
a=
D
Tiempo de Propagación
RD
= V =
Tiempo de Transmisión L
VL
R
D = distancia del enlace
V = velocidad de propagación
L = longitud de la trama
R = velocidad de transmisión
28
Tema 4
Funciones y protocolos del nivel de enlace
2.4.1 Técnicas de control de flujo
Parada y espera (stop-and-wait)
29
Tema 4
Funciones y protocolos del nivel de enlace
2. Funciones del nivel de enlace
Problema 4. Se desea transmitir una serie de
tramas de 1000 bits con un protocolo de nivel de
enlace con control de flujo/errores mediante
parada y espera. Calcula la eficiencia del enlace
(sin errores) suponiendo una velocidad de
transmisión de 1 Kbps y de 1 Mbps en los
siguientes supuestos: (a) par trenzado de 1 Km,
(b) cable coaxial de 200 Km, y (c) conexión por
satélite de 50.000 Km.
• Sol.:
• U = 0,999 / U = 0,990
• U = 0,998 / U = 0,333
• U = 0,750 / U = 0,003
30
Tema 4
Funciones y protocolos del nivel de enlace
2.4.1 Técnicas de control de flujo
Ventana deslizante (sliding window)
•
El emisor puede enviar varias tramas antes de recibir una
confirmación
• Permite aprovechar de forma más eficiente la capacidad del canal
•
El receptor confirma la recepción de tramas de vez en cuando
•
•
La ventana (buffer) almacena un número determinado de tramas
Esta técnica requiere un esquema de numeración de tramas para
poder realizar un seguimiento de las tramas enviadas y recibidas:
•
• Una o más tramas pueden ser confirmadas en cualquier momento
• La numeración depende del tamaño de la ventana
• Las tramas se numeran en módulo n, es decir, de 0 a n-1
• El tamaño máximo de la ventana es n-1 (¡¡¡ y no n !!!)
Confirmación de las tramas:
• Confirmación de varias tramas (múltiple) con un único ACK
• Los ACKs incluyen el número de la próxima trama esperada
• Como máximo se pueden enviar n-1 tramas antes de recibir un ACK
31
Tema 4
Funciones y protocolos del nivel de enlace
2.4.1 Técnicas de control de flujo
Ventana deslizante (sliding window)
• Ventana del emisor:
• La ventana tiene inicialmente espacio para n-1 tramas
• El tamaño de la ventana en cada momento equivale al número
de tramas que se pueden enviar
• Envío de una trama
• El límite izquierdo de la ventana avanza
• Recepción de un ACK
• El límite derecho de la ventana avanza
32
Tema 4
Funciones y protocolos del nivel de enlace
2.4.1 Técnicas de control de flujo
Ventana deslizante (sliding window)
• Ventana del receptor:
• La ventana tiene inicialmente espacio para n-1 tramas
• El tamaño de la ventana en cada momento equivale al número
de tramas que se pueden aceptar
• Recepción de una trama
• El límite izquierdo de la ventana avanza
• Envío de un ACK
• El límite derecho de la ventana avanza
33
Tema 4
Funciones y protocolos del nivel de enlace
2.4.1 Técnicas de control de flujo
Ventana deslizante (sliding window)
34
Tema 4
Funciones y protocolos del nivel de enlace
2.4.1 Técnicas de control de flujo
Ventana deslizante (sliding window)
• ¿Por qué el tamaño máximo de la ventana es n-1?
• La justificación se basa en la resolución de una posible
ambigüedad en el asentimiento de las tramas
• Ejemplo:
• Dada una ventana de tamaño 8 y numeración módulo 8
• Se envían las trama 0..7 y se envía un ACK 0
• El ACK 0 se pierde (no es reconocido como trama válida)
• Se reenvían las tramas 0..7 pasado un cierto tiempo
• ¿Cómo sabe el receptor que son tramas duplicadas?
• Transmisión full-dúplex
• Cada interlocutor mantiene una ventana de emisión y otra de
recepción (emisión y recepción simultáneas)
• Optimización: superposición (piggybacking)
• Las confirmaciones se incluyen en las tramas de datos
35
Tema 4
Funciones y protocolos del nivel de enlace
2.4.1 Técnicas de control de flujo
Ventana deslizante (sliding window)
• La utilización o eficiencia de la línea se define como:
U =1
U =
si N ≥ 2a + 1
N
1 + 2a
si N < 2a + 1
• N es el tamaño máximo
de la ventana (numeración
t
•
módulo N+1) y a = t prop
frame
N = 1 Parada y espera (stop-and-wait)
36
Tema 4
Funciones y protocolos del nivel de enlace
2.4.1 Técnicas de control de flujo
Ventana deslizante (sliding window)
U =1
si N ≥ 2a + 1
37
Tema 4
Funciones y protocolos del nivel de enlace
2.4.1 Técnicas de control de flujo
Ventana deslizante (sliding window)
U =
N
1 + 2a
si N < 2a + 1
38
Tema 4
Funciones y protocolos del nivel de enlace
2. Funciones del nivel de enlace
Problema 5. Se desea transmitir una serie de
tramas de 1000 bits con un protocolo de nivel de
enlace con control de flujo/errores mediante
ventana deslizante. Calcula la eficiencia del enlace
(sin errores) en los siguientes supuestos:
(a) enlace de 100 m, VT de 1 Gbps y N = 1, (b)
enlace de 10 Km, VT de 100 Mbps y N = 7, y (c)
enlace de 10.000 Km, VT de 1 Mbps y N = 127.
• Sol.:
• U = 0,5
• U = 0,63
•U=1
39
Tema 4
Funciones y protocolos del nivel de enlace
Índice
1. Introducción
2. Funciones del nivel de enlace ([TAN03] Capítulo 3.1)
2.1 Sincronización de trama
2.2 Coordinación de la comunicación
2.3 Detección de errores
2.4 Control de flujo ([STA04] Capítulo 7)
2.4.1 Técnicas de control de flujo
2.4.2 Técnicas de recuperación de errores
3. Protocolo HDLC ([FOR07] Capítulo 11.6)
4. Protocolo PPP ([FOR07] Capítulo 11.7)
40
Tema 4
Funciones y protocolos del nivel de enlace
2.4.2 Técnicas de recuperación de errores
Extensión del mecanismo de control de flujo para recuperación
de errores (tramas perdidas o erróneas)
ARQ (Automatic Repeat reQuest)
•
•
•
•
Cuando se recibe una trama errónea, se envía una trama NAK
Las tramas especificadas por la trama NAK se retransmiten
Se garantiza la robustez del mecanismo de control de flujo ante:
• Tramas de datos perdidas o erróneas
• Tramas de asentimiento (ACK o NAK) perdidas
La recuperación de errores mediante ARQ se implementa junto
con el control de flujo
• Parada y espera como:
•
Parada y espera con ARQ (stop-and-wait ARQ)
• Ventana deslizante como (ventana deslizante con ARQ):
•
•
Vuelta atrás N (go-back-n)
Rechazo selectivo (selective reject)
41
Tema 4
Funciones y protocolos del nivel de enlace
2.4.2 Técnicas de recuperación de errores
Parada y espera con ARQ (stop-and-wait ARQ)
• El emisor guarda una copia de la última trama
•
transmitida hasta que recibe el ACK correspondiente
El receptor puede responder con un ACK o un NAK:
• Las tramas de datos y las tramas ACK se numeran con 0/1
alternativamente:
• Una trama de datos 0 se asiente mediante una trama ACK 1 y
•
viceversa
Permite identificar y descartar las tramas duplicadas
• Las tramas NAK no van numeradas:
• Asienten negativamente una trama de datos errónea
• Indican la retransmisión de la última trama de datos
• El emisor dispone de un temporizador de forma que si
no se recibe un asentimiento (ACK o NAK) antes de
que expire, se retransmite la última trama de datos
42
Tema 4
Funciones y protocolos del nivel de enlace
2.4.2 Técnicas de recuperación de errores
Parada y espera con ARQ (stop-and-wait ARQ)
• Funcionamiento normal
43
Tema 4
Funciones y protocolos del nivel de enlace
2.4.2 Técnicas de recuperación de errores
Parada y espera con ARQ (stop-and-wait ARQ)
• Trama de datos perdida
44
Tema 4
Funciones y protocolos del nivel de enlace
2.4.2 Técnicas de recuperación de errores
Parada y espera con ARQ (stop-and-wait ARQ)
• Trama ACK perdida
45
Tema 4
Funciones y protocolos del nivel de enlace
2.4.2 Técnicas de recuperación de errores
Parada y espera con ARQ (stop-and-wait ARQ)
• ¿Por qué se numeran las tramas ACK?
46
Tema 4
Funciones y protocolos del nivel de enlace
2.4.2 Técnicas de recuperación de errores
Ventana deslizante con ARQ
•
•
El emisor guarda copias de las tramas transmitidas hasta que
recibe el ACK correspondiente
El receptor puede responder con un ACK o un NAK:
• Las tramas de datos, las tramas ACK y las tramas NAK están
numeradas:
•
•
•
Las tramas ACK llevan el número de la trama esperada
Las tramas NAK llevan el número de la trama errónea y también sirven
para confirmar positivamente todas las tramas anteriores a la errónea
El emisor también dispone de un temporizador de forma que si no
se recibe un asentimiento (ACK o NAK) antes de que expire, se
retransmiten las tramas pendientes de confirmación
Dos variantes en función del rechazo:
•
•
Vuelta atrás N (go-back-n): rechazo de la trama errónea y
subsiguientes
Rechazo selectivo (selective reject): rechazo sólo de la trama
errónea
47
Tema 4
Funciones y protocolos del nivel de enlace
2.4.2 Técnicas de recuperación de errores
Vuelta atrás N (go-back-n)
• Trama de datos perdida
48
Tema 4
Funciones y protocolos del nivel de enlace
2.4.2 Técnicas de recuperación de errores
Vuelta atrás N (go-back-n)
• Trama de datos errónea
49
Tema 4
Funciones y protocolos del nivel de enlace
2.4.2 Técnicas de recuperación de errores
Vuelta atrás N (go-back-n)
• Trama ACK perdida
50
Tema 4
Funciones y protocolos del nivel de enlace
2.4.2 Técnicas de recuperación de errores
Rechazo selectivo (selective reject)
• Difiere de vuelta atrás N en que:
• El emisor debe disponer de un mecanismo de búsqueda que
le permita seleccionar la trama cuya retransmisión fue
solicitada (el receptor detectó una trama de datos perdida o
errónea y solicitó su retransmisión mediante una trama NAK)
• El emisor sólo retransmite la trama de datos perdida o errónea
• El receptor debe almacenar las tramas recibidas después de
enviar un NAK hasta que la trama dañada sea reemplazada
• El receptor debe ser capaz de reordenar las tramas recibidas
• El tamaño máximo de la ventana es ≤ (N+1)l2
51
Tema 4
Funciones y protocolos del nivel de enlace
2.4.2 Técnicas de recuperación de errores
Rechazo selectivo (selective reject)
• Trama de datos errónea
52
Tema 4
Funciones y protocolos del nivel de enlace
2.4.2 Técnicas de recuperación de errores
Rechazo selectivo (selective reject)
• ¿Por qué el tamaño máximo de ventana es ≤ (N+1)l2?
• La justificación se basa en la resolución de una posible
ambigüedad en el asentimiento de las tramas
• Ejemplo:
• Dada una ventana de tamaño 7 y numeración módulo 8
• Se envían las trama 0..6 y se envía un ACK 7
• El ACK 7 se pierde (no es reconocido como trama válida)
• Se reenvía la trama 0 pasado un cierto tiempo
• ¿Cómo sabe el receptor que es una trama duplicada?
53
Tema 4
Funciones y protocolos del nivel de enlace
2.4.2 Técnicas de recuperación de errores
Recuperación de errores con ARQ
• La utilización o eficiencia de la línea se define como:
• Nr: número esperado de retransmisiones por trama
• P: probabilidad que una trama sea errónea
• Pk-1(1-P): probabilidad de que se necesiten k intentos para
transmitir con éxito la trama
• Parada y espera con ARQ
∞
1
1− P
U=
dónde N r = ∑ iP i −1 (1 − P) = (1 − P) −1 , es decir, U =
N r (1 + 2a )
1 + 2a
i =1
• Ventana deslizante con ARQ
Vuelta atrás N
1− P
si N ≥ 2a + 1
1 + 2aP
N( 1 − P)
U=
si N < 2a + 1
(1 + 2a)(1 − P + NP )
U=
Rechazo selectivo
U = (1 − P ) si N ≥ 2a + 1
U=
N( 1 − P)
si N < 2a + 1
1 + 2a
54
Tema 4
Funciones y protocolos del nivel de enlace
2.4.2 Técnicas de recuperación de errores
Recuperación de errores con ARQ
• N es el tamaño máximo de la ventana (numeración
•
módulo N+1) y P = 10-3
N = 1 Parada y espera (stop-and-wait)
55
Tema 4
Funciones y protocolos del nivel de enlace
2. Funciones del nivel de enlace
Problema 6. Se desea transmitir una serie de
tramas de 1000 bits por un enlace de 100 Km a 20
Mbps. Calcula la eficiencia del enlace si la tasa de
errores por bit es de 0,00004 en los siguientes
supuestos: (a) parada y espera (b) vuelta atrás N
(N = 7), y (c) rechazo selectivo (N = 7).
• Sol.:
• U = 0,046
• U = 0,258
• U = 0,320
56
Tema 4
Funciones y protocolos del nivel de enlace
Índice
1. Introducción
2. Funciones del nivel de enlace ([TAN03] Capítulo 3.1)
3. Protocolos del nivel de enlace
3.1 Protocolo HDLC ([FOR02] Capítulo 11.4)
3.2 Protocolo PPP ([FOR02] Capítulo 15)
57
Tema 4
Funciones y protocolos del nivel de enlace
3. Protocolos del nivel de enlace
Características deseables de los protocolos del nivel
de enlace:
• Independencia del nivel físico
• Soporte de actividad bidireccional simultánea
• Adaptación a diferentes aplicaciones/entornos
• Eficiencia (relación entre los bits de información
•
•
transportados y los bits de control del protocolo)
Robustez
Fiabilidad
58
Tema 4
Funciones y protocolos del nivel de enlace
3. Protocolos del nivel de enlace
Tipos de protocolos del nivel de enlace:
• Conexión directa entre hosts
• Enlace punto a punto entre dos DTEs
• Extremo a extremo
• Servicio orientado a conexión
• Control de flujo:
• Parada y espera (R↓): Kermit
• Ventana deslizante (d↑ o R↑): HDLC (High-Level Data Link
Control)
59
Tema 4
Funciones y protocolos del nivel de enlace
3. Protocolos del nivel de enlace
Tipos de protocolos del nivel de enlace:
• Controlador + terminales
• Enlace multipunto
• Un DTE maestro y varios DTEs esclavos
• Coordinación centralizada (sondeo/selección)
• Extremo a extremo
• Servicio orientado a conexión
• Control de flujo:
• Parada y espera (R↓): BSC (Binary Synchronous Control)
• Ventana deslizante (d↑ o R↑): HDLC
60
Tema 4
Funciones y protocolos del nivel de enlace
3. Protocolos del nivel de enlace
Tipos de protocolos del nivel de enlace:
• Redes WAN
• Enlace punto a punto
• Significado local (entre DTE y DCE, o entre DCE y DCE)
• Servicio orientado a conexión
• Control de flujo:
• PPP (Point-to-Point Protocol): basado en HDLC
• Acceso doméstico (módems, ADSL)
• Interconexión de routers
61
Tema 4
Funciones y protocolos del nivel de enlace
3. Protocolos del nivel de enlace
Tipos de protocolos del nivel de enlace:
• Redes LAN
• Enlace multipunto
• Extremo a extremo
• d↓, R↑ y tasa de errores muy baja
• Control de flujo en niveles superiores
• Protocolo dividido en dos subcapas (Ethernet):
• LLC (Logical Link Control): basado en HDLC
• MAC (Media Access Control): coordinación por contienda
62
Tema 4
Funciones y protocolos del nivel de enlace
Índice
1. Introducción
2. Funciones del nivel de enlace ([TAN03] Capítulo 3.1)
3. Protocolos del nivel de enlace
3.1 Protocolo HDLC ([FOR07] Capítulo 11.6)
3.2 Protocolo PPP ([FOR07] Capítulo 11.7)
63
Tema 4
Funciones y protocolos del nivel de enlace
3.1 Protocolo HDLC
Todos los protocolos del nivel de enlace actuales son
subclases de HDLC o se basan en HDLC
• Comunicación semi-dúplex o full-dúplex
• Diferentes tipos de hosts: estaciones primarias, secundarias y
combinadas
• Configuración del enlace: punto a punto y multipunto
• Modos de operación: NRM, ARM y ABM
• Tramas monoformato: tramas I, tramas S y tramas U
• Clases de procedimiento: subclases de HDLC
• Interfaz del protocolo
• Marco de referencia para el diseño de otros protocolos:
• LLC, PPP, LAPB (X.25), LAPD (RDSI), 802.11
64
Tema 4
Funciones y protocolos del nivel de enlace
3.1 Protocolo HDLC
Tipos de estaciones
•
•
•
Estación primaria: tiene el control total del enlace
Estación secundaria: no puede controlar el enlace
Estación combinada: actúa alternativamente como primaria y
como secundaria
Configuración del enlace
•
Configuración no balanceada (o maestro/esclavo)
• Una estación primaria y una o varias estaciones secundarias
• La estación primaria envía órdenes a las secundarias que responden
•
•
a la primaria
Si sólo hay una estación secundaria, el enlace es punto a punto
Si hay varias estaciones secundarias, el enlace es multipunto
•
Configuración balanceada
•
HDLC no soporta configuraciones balanceadas multipunto
• Dos estaciones combinadas
• Enlace punto a punto
65
Tema 4
Funciones y protocolos del nivel de enlace
3.1 Protocolo HDLC
66
Tema 4
Funciones y protocolos del nivel de enlace
3.1 Protocolo HDLC
Modos de operación:
• Modo de respuesta normal (NRM, Normal Response Mode)
• Configuración no balanceada punto a punto o multipunto
• Una estación secundaria sólo puede transmitir cuando la estación
primaria le da permiso para hacerlo (semi-dúplex)
• Modo de respuesta asíncrono (ARM, Asynchronous
Response Mode)
• Configuración no balanceada punto a punto o multipunto (sólo una
de las estaciones secundarias puede estar activa)
• Una estación secundaria puede empezar a transmitir sin pedir el
permiso de la estación primaria (full-dúplex)
• Modo balanceado asíncrono (ABM, Asynchronous Balanced
Mode)
• Configuración balanceada punto a punto
• Cualquiera de las dos estaciones combinadas puede transmitir en
cualquier momento sin tener que solicitar el permiso de la otra
estación (full-dúplex)
• Tanto en NRM como en ARM, todas las transmisiones son
desde o hacia la estación primaria
67
Tema 4
Funciones y protocolos del nivel de enlace
3.1 Protocolo HDLC
Formato de la trama
• Monoformato con campos de significado posicional
• Delimitador de inicio y fin (01111110) con relleno de bits
• Dirección (uno o más bytes) de la estación secundaria,
o dirección de la estación combinada que desempeña
el papel de estación secundaria
• Control (uno o dos bytes)
• Información (longitud máxima dependiente de implementación)
• FCS (Frame Check Sequence): CRC-CCITT (dos bytes) o
CRC-32 (cuatro bytes)
68
Tema 4
Funciones y protocolos del nivel de enlace
3.1 Protocolo HDLC
Trama I (información)
• Datos e información de control asociada a los datos
• Campo de control
• N(S): número de la trama que se está enviando
• N(R): número de la trama esperada
• Las tramas I permiten la utilización de la técnica de
superposición (piggybacking)
• Numeración módulo 8 ó 128 (modo extendido)
• Variables asociadas:
• V(S): número de la próxima trama a enviar
• V(R): número de la próxima trama esperada
69
Tema 4
Funciones y protocolos del nivel de enlace
3.1 Protocolo HDLC
Trama S (supervisión)
• Se utiliza para asentir, positiva o negativamente,
•
cuando no se tienen datos que transmitir
(control de flujo y recuperación de errores)
Campo de control
• N(R): número de la trama esperada
• Numeración módulo 8 ó 128 (modo extendido)
• No contiene subcampo N(S) porque las tramas S no
transportan datos
• Subcampo Code: comando
Code
00
01
10
11
Comando
RR (Receive Ready)
REJ (REJect)
RNR (Receive Not Ready)
SREJ (Selective REJect)
70
Tema 4
Funciones y protocolos del nivel de enlace
3.1 Protocolo HDLC
Trama U (no numerada)
• Gestión del enlace
• Campo de control
• No contiene campos N(R) ni N(S) puesto que estas tramas no
•
intervienen en el envío/recepción de datos
Subcampo Code: hasta 32 órdenes/respuestas no numeradas
•
•
•
•
Selección de modo de operación: SNRM(E), SARM(E), SABM(E)
Intercambio de información: UI (trama de datos no numerada), UA
(respuesta positiva a la selección del modo de operación)
Desconexión: DISC (desconexión), DM (respuesta negativa a la
selección del modo de operación)
Misceláneas: FRMR (rechazar trama con formato incorrecto)
71
Tema 4
Funciones y protocolos del nivel de enlace
3.1 Protocolo HDLC
Tramas I, S y U
• Campo de control
• El subcampo P/F se usa para dos propósitos distintos:
• Cuando está activo significa sondeo o final:
• Sondeo cuando la trama la envía la estación primaria a una
•
estación secundaria (orden)
• Final cuando la envía una estación secundaria a la estación
primaria (respuesta)
Mecanismo de punteo (checkpointing):
• Permite asociar una respuesta (F) con la orden
correspondiente (P)
72
Tema 4
Funciones y protocolos del nivel de enlace
3.1 Protocolo HDLC
Utilización de las tramas S
•
•
Una trama S se utiliza para asentir, positiva o negativamente,
cuando no se tienen datos que transmitir (control de flujo y
recuperación de errores)
Su significado depende del subcampo Code y del contexto:
• RR tiene 4 posibles usos:
•
•
•
•
ACK: asiente tramas hasta N(R) – 1 sin piggybacking
Sondeo: trama RR de primaria a secundaria con el bit P activo
Respuesta negativa al sondeo: trama RR de secundaria a primaria con
el bit F activo (si tuviera algo que transmitir enviaría una trama I, y no
una S)
Respuesta positiva a la selección: trama RR de secundaria a primaria
con el bit F activo
• RNR tiene 3 posibles usos:
•
•
•
ACK: asiente tramas hasta N(R) – 1 y solicita que no se envíen más
hasta que envíe un RR
Selección: trama RNR de primaria a secundaria con el bit P activo
Respuesta negativa a la selección: trama RNR de secundaria a
primaria con el bit F activo
• REJ: rechazo de la trama N(R) y subsiguientes
• SREJ: rechazo selectivo de la trama N(R)
73
Tema 4
Funciones y protocolos del nivel de enlace
3.1 Protocolo HDLC
Sondeo
(RR,REJ,SREJ o trama I, mas P = 1)
Respuesta positiva
al sondeo
Respuesta negativa
al sondeo
Selección
Posible respuesta
positiva a la selección
Respuesta negativa
a la selección
74
Tema 4
Funciones y protocolos del nivel de enlace
3.1 Protocolo HDLC
Clases de procedimiento
• Especificación precisa de las diferentes alternativas
•
ofrecidas por HDLC
Modo de operación (repertorio básico de órdenes y
respuestas) con opciones
UN
Orden
I
RR
RNR
Respuesta
I
RR
RNR
UA
SNRM
DM
DISC
FRMR
Módulo 8
UA
Orden
I
RR
RNR
Respuesta
I
RR
RNR
UA
SARM
DM
DISC
FRMR
Módulo 8
BA
Orden
I
RR
RNR
Respuesta
I
RR
RNR
UA
SABM
DM
DISC
FRMR
Módulo 8
75
Tema 4
Funciones y protocolos del nivel de enlace
3.1 Protocolo HDLC
Clases de procedimiento
•
Opciones
Opción
2
3
4
7
8
9
10
•
Orden
Respuesta
REJ
REJ
SREJ
SREJ
UI
UI
Campo dirección extendido
Quitar I
Quitar I
Campo control extendido
Descripción
Rechazo simple (vuelta atrás N)
Rechazo selectivo
Información no numerada
Direcciones multiocteto
Sin respuestas I (el bit F no puede estar activo)
Sin órdenes I (el bit P no puede estar activo)
Módulo 128
Ejemplos
• UN 2,4 equivale a modo NRM con rechazo vuelta atrás N y tramas
•
•
no numeradas
UA 2,9 equivale a modo ARM con rechazo vuelta atrás N y sin
tramas I con bit P activo
BA 3,8 equivale a modo ABM con rechazo selectivo y sin tramas I
con bit F activo
76
Tema 4
Funciones y protocolos del nivel de enlace
P
UN 3,4 (sin errores)
• t0/1/2: conexión A/B/C y
envío información no
numerada
• t3: sondeo A
• t4: sondeo B con envío de
una trama de datos que
envía, a su vez, tres
tramas de datos
• t5: envío de cinco tramas
de datos a A
• t6: P agota su ventana y
selecciona a A para poder
seguir enviando tramas
• t7: sondeo C
• t8: P solicita confirmación
de tramas pendientes a A
• t9: P confirma tramas
pendientes de B
• t10/11/12: desconexión
A/B/C
3.1 Protocolo HDLC
A
t0
B
A,SNRM,P
A,UA,F
B,SNRM,P
B,UA,F
t1
C,SNRM,P
C,UA,F
G,UI
t2
t3
A,RR,0,P
A,RR,0,F
t4
t5
t6
B,I,0,0,P
B,I,0,1,*
B,I,1,1,*
B,I,2,1,F
A,I,0,0,*
A,I,1,0,*
A,I,2,0,*
A,I,3,0,*
A,RNR,0,P
A,RR,4,F
A,I,4,0,*
C,RR,0,P
C,RR,0,F
t7
t8
A,RNR,0,P
A,RR,5,F
B,RNR,3,P
B,RR,1,F
t9
t10
t11
t12
C
A,DISC,P
A,UA,F
B,DISC,P
B,UA,F
C,DISC,P
C,UA,F
77
Tema 4
Funciones y protocolos del nivel de enlace
P
UN 2,4 (con errores)
• t0/1/2: conexión A/B/C
• t3: sondeo A con envío de
una trama de datos que se
pierde
• t4: expira el timeout y P
intenta averiguar el estado
de A
• t5: P recibe una trama
ACK 1 y reenvía la trama
de datos perdida en t6
• t7: sondeo B que envía
dos tramas de datos
• t8: la trama se pierde
• t9: sondeo C
• t10: sondeo A
• t11: sondeo B, indicando
la recepción previa de una
trama fuera de secuencia,
que reenvía la trama
perdida y subsiguientes
• t12: P confirma tramas
pendientes de B
• t13/14/15: desconexión
A/B/C
3.1 Protocolo HDLC
A
t0
B
A,SNRM,P
A,UA,F
B,SNRM,P
B,UA,F
t1
C,SNRM,P
C,UA,F
t2
t3
t4
t5
t6
A,I,0,0,*
A,I,1,0,P
timeout
A,RNR,0,P
A,RR,1,F
A,I,1,0,P
A,RR,2,F
B,RR,0,P
B,I,0,0,*
B,I,1,0,F
C,RR,0,P
C,RR,0,F
t7
t8
t9
t10
A,RR,0,P
A,RR,2,F
t11
B,REJ,0,P
B,I,0,0,*
B,I,1,0,F
B,RNR,2,P
B,RR,0,F
t12
t13
t14
t15
C
A,DISC,P
A,UA,F
B,DISC,P
B,UA,F
C,DISC,P
C,UA,F
78
Tema 4
Funciones y protocolos del nivel de enlace
P
UN 2,4 (con errores)
• t0/1/2: conexión A/B/C
• t3: sondeo A con envío de
una trama de datos que
llega a B errónea
• t4: expira el timeout y P
intenta averiguar el estado
de A
• t5: P recibe una trama
NAK 1 y reenvía la trama
de datos errónea en t6
• t7: sondeo B que envía
dos tramas de datos
• t8: la trama se pierde
• t9: sondeo C
• t10: sondeo A
• t11: sondeo B, indicando
la recepción previa de una
trama fuera de secuencia,
que reenvía la trama
perdida y subsiguientes
• t12: P confirma tramas
pendientes de B
• t13/14/15: desconexión
A/B/C
3.1 Protocolo HDLC
A
t0
B
A,SNRM,P
A,UA,F
B,SNRM,P
B,UA,F
t1
C,SNRM,P
C,UA,F
t2
t3
t4
t5
t6
A,I,0,0,*
A,I,1,0,P
timeout
A,RNR,0,P
A,REJ,1,F
A,I,1,0,P
A,RR,2,F
t7
t8
B,RR,0,P
B,I,0,0,*
B,I,1,0,F
C,RR,0,P
C,RR,0,F
t9
t10
A,RR,0,P
A,RR,2,F
t11
B,REJ,0,P
B,I,0,0,*
B,I,1,0,F
B,RNR,2,P
B,RR,0,F
t12
t13
t14
t15
C
A,DISC,P
A,UA,F
B,DISC,P
B,UA,F
C,DISC,P
C,UA,F
79
Tema 4
Funciones y protocolos del nivel de enlace
3.1 Protocolo HDLC
BA 3,8 (con errores)
• t0: conexión A/B
• t18: B desea saber el estado de A e
inicia un ciclo de punteo que
también detecta la trama perdida
pero más tarde que con el rechazo
explícito
• t20: A recibe una trama fuera de
secuencia y envía una trama NAK 3
• t25: A desea terminar el enlace y se
asegura de que no haya tramas en
tránsito
• t29: desconexión A/B
Con enlaces full-dúplex no se puede
usar el número de trama esperada para
detectar errores, ¿por qué?
A
t0
t1
B
B,SABM,P
B,UA,F
t2
t3
t5
B,I,0,0,P
t7
t7
A,I,0,0,P
t9
B,RR,1,F
t10
A,I,1,1,*
t12
A,I,2,1,*
t14
A,I,3,1,*
t16
A,I,4,2,*
t18
A,I,5,2,P
t20
B,I,1,0,*
A,RR,2,F
t14
t15
t18
B,I,2,3,*
t20
B,SREJ,3,*
t21
A,RR,3,F
t23
t22
A,I,3,3,*
t24
t25
B,RNR,6,P
t26
t27
B,RR,3,F
t28
t29
t30
B,DISC,P
B,UA,F
t31
t32
80
Tema 4
Funciones y protocolos del nivel de enlace
3.1 Protocolo HDLC
Interfaz del protocolo
• Servicio orientado a la conexión (con asentimiento)
81
Tema 4
Funciones y protocolos del nivel de enlace
3.1 Protocolo HDLC
Interfaz del protocolo
82
Tema 4
Funciones y protocolos del nivel de enlace
3.1 Protocolo HDLC
PROBLEMA 7 (Examen de Febrero de 2005).
• Dos máquinas A y B se comunican sobre un enlace full-dúplex mediante un
protocolo de nivel de enlace derivado de HDLC del tipo BA 3 (repertorio básico +
rechazo selectivo con SREJ + numeración módulo 8), con las siguientes
órdenes: SABM, DISC, I, RR, RNR; y respuestas: UA, DM, FRMR, I, RR, RNR.
El tiempo de transmisión es de 2 ms para cada trama de información y de 1 ms
para el resto. El tiempo de propagación es de 2 ms. El tiempo de procesamiento
puede despreciarse. El contenido de cada trama debe especificarse mediante la
siguiente nomenclatura: [DIRECCIÓN, COMANDO/RESPUESTAS, N(S), N(R),
P/F]. Si algún campo no es aplicable, sustitúyalo por un asterisco.
•
•
•
Dibuje un esquema detallado indicando las tramas que intercambian A y B si en t0 A
inicia la transmisión de la trama de establecimiento de conexión.
Dibuje un esquema detallado indicando las tramas que intercambian A y B,
suponiendo que en t8 A comienza a transmitir 5 tramas de datos, que la segunda
trama de datos que envía A se pierde, que en t9 B comienza a transmitir 2 tramas de
datos, y que la segunda trama de datos que envía B llega a A errónea, hasta que
todas las tramas de información son confirmadas.
Notas: Describa brevemente el significado de cada una de las instrucciones y
respuestas que utilice. El bit P se activará sólo en las tramas de información
cuando la estación no pueda enviar más tramas de información. La confirmación
de tramas se realizará mediante piggybacking, es decir, sólo se enviarán tramas
RR como respuesta a un ciclo P/F cuando la estación no pueda enviar más
tramas de información.
83
A
Tema 4
Funciones y protocolos del nivel de enlace
B
3.1 Protocolo HDLC
PROBLEMA 7 (Examen de Febrero de 2005)
•
t0
t1
BA 3 (con errores)
•
•
•
•
•
•
•
•
•
•
•
•
t0: conexión A/B
t8: A comienza a transmitir
t9: B comienza a transmitir
t14: A no puede enviar más tramas de
información e inicia un ciclo de punteo
t15: A recibe una trama errónea y envía una
trama NAK 1 en t16
t16: B recibe una trama fuera de secuencia y
envía una trama NAK 1
t18: B cierra el ciclo de punteo con una trama
ACK 1
t19: A recibe una trama NAK 1 y reenvía la
trama errónea
t19: B recibe una trama NAK 1 y reenvía la
trama errónea iniciando un ciclo de punteo
t21: A envía la última trama de datos iniciando
un ciclo de punteo
t23: A cierra el ciclo de punteo con una trama
ACK 2
t25: B cierra el ciclo de punteo con una trama
ACK 5
B,SAB
M,P
t3
t4
B,UA,F
t6
t8
t9
B,I,0,0,*
t10
A,I,0,0,*
t11
B,I,1,0,*
t12
A,I,1,0,P
t13
B,I,2,0,*
t14
B,I,3,1,P
A,SREJ,1,*
t16
t17
t19
t16
t17
t18
t19
t21
t21
B,I,1,1,*
B,SREJ,1,*
B,RR,1,F
A,I,1,1,P
B,I,4,1,P
A,RR,2,F
t23
t24
t25
t26
B,RR,5,F
t28
84
Tema 4
Funciones y protocolos del nivel de enlace
Índice
1. Introducción
2. Funciones del nivel de enlace ([TAN03] Capítulo 3.1)
3. Protocolos del nivel de enlace
3.1 Protocolo HDLC ([FOR07] Capítulo 11.6)
3.2 Protocolo PPP ([FOR07] Capítulo 11.7)
85
Tema 4
Funciones y protocolos del nivel de enlace
3.1 Protocolo PPP
Necesidad de protocolos de nivel de enlace para comunicación
full-dúplex sobre enlaces punto a punto
•
•
•
PPP sobre medio físico (módems)
PPP sobre ATM (router ADSL)
PPP sobre Ethernet (interconexión de routers)
PPP (Point-to-Point Protocol) soporta:
•
•
•
•
•
Diferentes protocolos de autenticación
Múltiples protocolos del nivel de red de manera simultánea
Asignación dinámica de direcciones de red
Detección de errores (tramas PPP erróneas)
Detección de fallos en el enlace y notificación al nivel de red
PPP no soporta ni control de flujo ni enlaces multipunto
86
Tema 4
Funciones y protocolos del nivel de enlace
3.1 Protocolo PPP
Diagrama de estados
87
Tema 4
Funciones y protocolos del nivel de enlace
3.1 Protocolo PPP
Estados
• Inactivo (Idle): el enlace no está siendo usado
• Establecimiento del enlace (Establishing)
• Negociación de opciones del protocolo de enlace
mediante el protocolo de control del enlace LCP
• Autenticación (Authenticating)
• Verificación de la identidad del usuario
• PAP
• CHAP
• Red (Networking)
• Negociación de opciones del protocolo de red
mediante el protocolo de gestión de red NCP
• Transmisión de datos (paquetes del nivel de red)
• Terminación del enlace (Terminating)
88
Tema 4
Funciones y protocolos del nivel de enlace
3.1 Protocolo PPP
Formato de la trama
• Monoformato con campos de significado posicional
• Delimitador de inicio/fin de HDLC (0111110) con relleno de
caracteres (carácter ESC ó 01111101)
• Dirección: fijo (11111111), es decir, no hay direcciones
• Control: fijo (UI), es decir, transmisión no fiable
• Protocolo: identifica el tipo de paquete del campo de datos
• Protocolo del nivel de red (IP, IPX, AppleTalk,…) o protocolo de
gestión de otro protocolo (LCP, NCP,…)
• Información
• FCS (Frame Check Sequence) de HDLC
89
Tema 4
Funciones y protocolos del nivel de enlace
3.1 Protocolo PPP
Protocolo LCP (Link Control Protocol)
• Las paquetes LCP van encapsulados dentro de las
tramas PPP (Protocol: C02116)
• Establecimiento, configuración y terminación del enlace
• Monitorización del estado del enlace
• Formato de los paquetes LCP
• Código: tipo de paquete LCP
• ID: correspondencia entre peticiones y respuestas
• Longitud: tamaño total del paquete LCP
90
Tema 4
Funciones y protocolos del nivel de enlace
3.1 Protocolo PPP
Protocolo LCP (Link Control Protocol)
Código
0x01
0x02
0x03
0x04
0x05
0x06
0x07
0x08
0x09
0x0A
0x0B
Tipo de paquete
Petición de configuración
ACK de configuración
NAK de configuración
NAK de configuración
Petición de terminación
ACK de terminación
Rechazo de código
Rechazo de protocolo
Petición de eco
Respuesta de eco
Petición de descarte
Descripción
Lista de opciones de configuración
Acepta las opciones propuestas
Algunas opciones no son aceptables
Algunas opciones no son reconocidas
Solicita la terminación del enlace
Acepta la terminación del enlace
Código desconocido
Protocolo desconocido
Intercambio de paquetes (comprobación del enlace)
Petición para descartar el paquete (comprobación local)
Opción más comunes
Tamaño máximo del paquete
Protocolo de autenticación
Compresión del campo de protocolo
Compresión del campo de control/dirección
Valor por defecto
1500 bytes
Ninguno
Desactivado
Desactivado
91
Tema 4
Funciones y protocolos del nivel de enlace
3.1 Protocolo PPP
Autenticación
• PAP (Password Authentication Protocol)
92
Tema 4
Funciones y protocolos del nivel de enlace
3.1 Protocolo PPP
Autenticación
• CHAP (CHallenge Authentication Protocol)
93
Tema 4
Funciones y protocolos del nivel de enlace
3.1 Protocolo PPP
Protocolo NCP (Network Control Protocol)
• Conjunto de protocolos que permiten negociar opciones
para diferentes protocolos del nivel de red
• Protocolo de control protocolo entre redes (IPCP, Internetwork
Protocol Control Protocol)
• Gestión de direcciones IP dinámicas, tamaño máximo del
paquete, compresión de los datos,…
• La trama IPCP va encapsulada dentro de la trama PPP
(Protocol: 802116)
• Formato de los paquetes IPCP:
94
Tema 4
Funciones y protocolos del nivel de enlace
3.1 Protocolo PPP
Ejemplo
LCP
CHAP
IPCP
IP sobre PPP
(002116)
95
Tema 4
Funciones y protocolos del nivel de enlace
Resumen
Sincronización de trama:
• Delimitadores de principio/fin de trama
• Transparencia mediante relleno de caracteres/bits
Coordinación de la comunicación:
• Centralizada (selección y sondeo)
• Por contienda
Detección de errores: CRC
Control de flujo y recuperación de errores:
• Parada y espera con ARQ (Automatic Repeat reQuest)
• Ventana deslizante con ARQ
• Vuelta atrás N (go-back-n)
• Rechazo selectivo (selective reject)
96
Tema 4
Funciones y protocolos del nivel de enlace
Resumen
HDLC
• Tipos de estaciones: primarias, secundarias y
•
•
•
•
•
combinadas
Configuración del enlace: punto a punto y multipunto
Modos de operación: NRM, ARM y ABM
Tramas monoformato: tramas I, tramas S y tramas U
Clases de procedimiento: subclases de HDLC
Interfaz del protocolo
PPP
• Tramas monoformato
• Diagrama de estados
• Autenticación: PAP y CHAP
• Protocolos LCP y NCP
97
Descargar