Story Transcript
(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