Tema 3: Nivel de enlace. 1. Introducción. El nivel de enlace transforma el nivel físico en un enlace responsable de la comunicación nodo a nodo. Realiza una gestión lógica del enlace, que controla y gestiona el intercambio de datos a través del medio, para hacer la transmisión más efectiva. También se ocupa del control de acceso al medio, es decir, cómo compartir el enlace. Responsabilidades: Sincronización de la trama (enmarcado de datos): flag + bit stuffing Direccionamiento: identificación de terminales Control de flujo Detección de errores Control de errores Control de acceso al medio Las responsabilidades más importantes del nivel de enlace son el control de flujo y el control de errores. Colectivamente estas funciones se conocen como control del enlace de datos. Para implementar el control de enlace se necesitan protocolos. 2. Control de flujo. El control de flujo define un conjunto de procedimientos usados para restringir la cantidad de datos que el emisor puede enviar antes de esperar una confirmación. El objetivo es no saturar al receptor con más información de la que es capaz de gestionar. El receptor ha de usar una memoria temporal donde alojar la información antes de enviarla a las capas superiores. Conceptos fundamentales: Tiempo de transmisión: tiempo empleado por una estación para transmitir todos los bits de una trama. Tiempo de propagación: tiempo empleado por un bit en atravesar el medio desde el origen hasta el destino. Latencia: retardo producido desde que la información se genera en origen hasta que llega a su destino: o Fija: inherente al medio físico. o Variable: consecuencia de los problemas de la transmisión. Mecanismos de Control de Flujo: Parada y espera. Ventana deslizante. Parada y espera.
La confirmación se produce trama a trama mediante un mensaje ACK, lo que implica que sólo hay una trama en tránsito en cada momento. Si el receptor no envía la trama de confirmación (ACK) en un tiempo preestablecido, el emisor procede a reenviar dicha trama. Es bastante ineficaz: Si la longitud del enlace (número de bits presentes en el enlace) es mayor que la longitud de la trama. En sistemas con alta velocidad de transmisión sobre grandes distancias. Ventana deslizante. Soluciona el problema de una única trama en tránsito: El emisor asigna a las tramas un número de secuencia. El receptor trabaja con una memoria temporal que le permite almacenar n tramas. El receptor envía un mensaje enviando el siguiente número de trama que espera recibir: o Confirma n tramas. o Indica que está preparado para recibir n tramas. Este sistema implica el uso de dos ventanas (transmisión simplex): Ventana emisor: lista de números de secuencia que se le permite transmitir. Ventana receptor: lista de números de secuencia que está esperando recibir. Para una transmisión Half-Duplex o Full-Duplex, el sistema necesita 4 ventanas: emisión y recepción en cada terminal. Dado que se incluye el número de secuencia en la trama, su máximo valor (MAX_SEQ) vendrá dado por el número de bits reservados para ello (3 bits = números de 0 a 7). Los mensajes de confirmación son: RRx: aceptadas las tramas hasta x-1.
Mejora a la ventana deslizante: Mediante el envío de un mensaje RNR (receptor no preparado, Receive Not Ready), el receptor puede confirmar las tramas, pero se prohíbe la transmisión de tramas adicionales. La estación deberá transmitir una confirmación normal que reabra la ventana. Los mensajes son RNRx: aceptadas las tramas hasta x-1, pero no se admiten más tramas hasta un nuevo aviso (mensaje). 3. Detección de errores. Existen dos modelos de transmisión: Transmisión sin errores: no se pierden tramas, no hay errores y se respeta la secuencia. Transmisión con errores. En todo sistema de transmisión hay ruido, por lo cual se producen errores en la transmisión. Tipos de errores: Error de bit: solamente cambia un bit de la unidad de datos. Error de ráfaga: cambio en dos o más bits de la unidad de datos. Para detectar o corregir errores se necesita enviar bits extra (redundantes) junto con los datos. Principios de las técnicas de detección de errores: El emisor incorpora bits adicionales a una trama para crear un código (en función de los bits a transmitir) capaz de detectar errores.
El receptor hace lo mismo y compara los resultados. Técnicas. Técnicas más comunes: Comprobación de paridad. Detección polinómica (comprobación de redundancia cíclica o CRC). Un código de detección de errores sólo puede detectar los tipos de errores para los que ha sido diseñado; otros tipos de errores pueden ser indetectables. Comprobación de paridad: Consiste en añadir un bit de paridad al final del bloque: Paridad impar: número impar de bits a 1. Paridad par: número par de bits a 1. Problema: genera errores no detectables. Detección Polinómica (CRC): Tratamiento de cadenas de bits como representaciones de polinomios. Transmisor y receptor deben acordar un polinomio generador por adelantado. Funcionamiento CRC. Elementos: T: trama a transmitir. P: polinomio de comprobación. n: grado del polinomio. Base de cálculo: operación lógica XOR (OR exclusivo): Proceso: X = T *2 n Se obtiene el resto de X/P -> R. Y = X + R. Se transmite Y. El receptor calcula el resto de Y/P -> R Si R = 0 -> no hay errores. Polinomios más usados: CRC-16: x 16 +x 15 +x 2 +1 CRC-32: x 32 +x 26 +x 23 +x 22 +x 16 +x 12 +x 11 +x 10 +x 8 +x 7 +x 5 +x 4 +x 2 +x+1 Ejemplo CRC. T = 1100001 P = x 3 +x+1
n = 3 X = 1100001000 R = 101 Y = 1100001101 R = 0 1100001000 1100001101 1011 1011 01110 01110 1011 1011 01010 01010 1011 1011 0001100 0001110 1011 1011 01110 01011 1011 1011 0101 = R 0000 = R 4. Control de errores. Incluye tanto la detección como la corrección del error. Permite al receptor informar al emisor de las tramas perdidas o dañadas en la transmisión y coordina la retransmisión de estas tramas por el emisor. El control de error en el nivel de enlace se basa en una petición de retransmisión de los datos. Se utilizan mensajes ARQ (automatic repeat request) que implican: Detección de errores. Confirmación positiva de transmisión de trama. Confirmación negativa y retransmisión de trama. Retransmisión por no confirmación. Las técnicas más usadas son: ARQ con parada-y-espera. ARQ con vuelta-atrás-n. ARQ con rechazo selectivo.
ARQ con parada y espera. Basada en la técnica para control de flujo con parada-yespera. Posibles errores: No se envía confirmación (trama descartada). La confirmación se deteriora. La corrección de errores se hace manteniendo una copia de la trama enviada y retransmitiendo la trama cuando expira el temporizador. Las tramas se numeran alternativamente con 0 ó 1 (se basan en aritmética módulo 2). Las tramas se confirman mediante mensajes ACKx, x-nº secuencia siguiente trama. Sistema sencillo pero ineficiente. ARQ con vuelta atrás N. Basada en el procedimiento para control de flujo con ventana deslizante. Los números de secuencia son módulo 2m, donde m es el tamaño del campo de número de secuencia en bits. Las tramas de confirmación son: RRx: indica que x es la siguiente trama a recibir. REJx: indica que x ha sido errónea y hay que retransmitir desde la trama x. ARQ con rechazo selectivo. Basada en el procedimiento para control de flujo con ventana deslizante. Sólo se retransmiten tramas si: Expira el tiempo de confirmación. Se recibe un mensaje SREJx: retransmisión de la trama x. Ante un mensaje SREJ se siguen aceptando tramas y por tanto se limita el tamaño de ventana.
5. Protocolos elementales. HDLC (high-level data link control). Control de enlace de datos de alto nivel (HDLC High-level Data Link Control ). Protocolo orientado a bit sobre enlaces punto a punto y multipunto. Es la base de la mayoría de los protocolos de enlace. Implementa los mecanismos ARQ tratados en este capítulo. Define: Tres tipos de estaciones: Primaria: controla el funcionamiento del enlace con tramas llamadas órdenes. Secundaria: envían respuestas bajo el control de las primarias. Host: combinación de primaria y secundaria. Dos configuraciones del enlace: No balanceada: 1 estación primaria y n secundarias. Balanceada: 2 hosts. Define: (cont.) Tres modos de transferencia de datos: NRM (normal response mode, modo de respuesta normal): o En enlaces no balanceados punto a punto y multipunto. o La estación secundaria sólo puede responder a las órdenes de la primaria. o Usa el protocolo UN (unbalanced normal, normal no balanceado). ABM (asynchronous balanced mode, modo balanceado asíncrono): o Es el más usado y se da en enlaces balanceados. o Cualquier estación puede transmitir sin permiso. o Usa el protocolo BA (balanced normal, normal balanceado). ARM (asynchronous response mode, modo respuesta asíncrono): o No de uso frecuente, se da en enlaces no balanceados. o Una estación secundaria puede iniciar la transmisión sin permiso de la primaria. o La estación primaria responsable del funcionamiento de la línea. o Usa el protocolo UA (unbalanced asynchronous, asíncrono no balanceado) sin restricción de longitud. Usa transmisión síncrona. Tiene un único formato de trama: Delimitación de trama (flag): delimitan la trama en sus dos extremos. Dirección: dirección de la estación secundaria que ha transmitido o va a recibir la trama. Si todos los bits están a 1 -> la trama va a todas las estaciones secundarias. Control: define tres tipos de trama: o Trama I (información): transporta información de usuario y ARQ.
o Trama S (supervisión): transporta ARQ si no es posible en tramas I o Trama N (no numerada): funciones complementarias de control de enlace Información: solo presente en tramas I y algunas N. o Nº bits = múltiplo entero de 8 -> usa bit-stuffing (añade un 0 después de 5 a 1) FCS (frame check sequence): código para detección de errores, se usa: o CRC-16 o CRC-32 Formato Campo de Control: N(S): número de secuencia de trama del emisor. P/F: bit de órdenes (P) o respuestas (F). N(R): número de secuencia de trama del receptor. S: código función supervisión: RR, RNR, REJ, SREJ. M: código de función no numerada (hasta 32 funciones): test, inicio, reset, etc. PPP (Point to Point Protocol). Aunque el HDLC es un protocolo general que se puede usar tanto para configuraciones punto a punto como multipunto, uno de los protocolos más comunes para el acceso punto a punto es el Protocolo Punto a Punto (PPP). Protocolo orientado al byte. Servicios: Define formato trama a intercambiar entre dispositivos. Define cómo dos dispositivos pueden negociar el intercambio de datos. Define cómo se encapsulan los datos de nivel de red en una trama de nivel de enlace. Define cómo dos dispositivos se pueden autenticar entre sí. Proporciona múltiples servicios de nivel de red y soporta una variedad de protocolos de nivel de red. Proporciona conexiones sobre múltiples enlaces. Proporciona configuraciones de dirección de red (útil cuando un usuario en casa necesita una dirección temporal de red para conectarse a Internet).
Carencias: No proporciona control de flujo. Mecanismo muy sencillo de control de error. No proporciona un mecanismo de direcciones sofisticado. Tres conjuntos de protocolos: Protocolo de control de enlace (LCP). o Responsable de establecer, mantener, configurar y terminar enlaces. o Negocia parámetros. Protocolos de autenticación (PAP, CHAP). o Validar la autenticidad del usuario que necesita acceder a un conjunto de recursos. Protocolos de control de red (NCP). o Define un protocolo de control específico para cada protocolo de red. o IPCP (internet protocol control protocol) es el NCP para IP. Formato de Trama: Dirección: campo fijo que indica que todas las estaciones han de aceptar la trama. Control: campo fijo que indica que la trama no está numerada -> connectionless. 6. Asignación del medio. Asignación del medio = reparto del canal El nivel de enlace de datos se considera como dos subniveles. El subnivel superior es responsable del control del enlace de datos y el inferior de resolver el acceso al medio compartido. Cuando dos nodos utilizan un enlace multipunto se necesita un protocolo de acceso múltiple para coordinar el acceso al medio. Se han desarrollado muchos protocolos formales para manejar el acceso al enlace compartido. Uno de los grupos es el llamado protocolos de acceso aleatorio: ALOHA. ALOHA ranurado. CSMA (detección de portadora). o CSMA 1 persistente. o CSMA no persistente. o CSMA p persistente. CSMA/CD (detección de portadora y detección de colisiones). ALOHA. Definido por Norman Abramson en 1970. Diseñado inicialmente para LAN basadas en radio (inalámbricas).
Funcionamiento: Una estación envía una trama cuando tiene una trama para enviar. Por definición se producen colisiones, en este caso las tramas se destruye. El emisor espera un tiempo, si no recibe confirmación de recepción asume que la trama o la confirmación se han destruido y reenvía la trama. Cada estación espera un tiempo aleatorio antes de reenviar su trama, con el fin de evitar más colisiones. Problema: a mayor tráfico, mas colisiones el uso máximo del canal es del 18% ALOHA ranurado. Definido por Roberts en 1972. Se trata de dividir el tiempo en intervalos discretos (ranuras) correspondientes cada uno a la duración de transmisión de una trama. Una estación sólo puede enviar al comienzo de una ranura de tiempo. Existe la posibilidad de colisiones si dos estaciones intentan enviar justo al comienzo de una ranura de tiempo. La utilización máxima del canal es del 37%. Detección de portadora: CSMA. En redes LAN las estaciones pueden detectar lo que hacen las demás y por tanto adaptar su comportamiento sólo actúan cuando detectan una portadora Protocolos de Detección de Portadora: CSMA (carrier sense multiple access) CSMA puede reducir la posibilidad de colisiones, pero no las elimina. La colisión es debida al retardo de propagación. CSMA 1 persistente: Funcionamiento: Una estación antes de transmitir escucha el canal (de forma ininterrumpida). Cuando el canal está en reposo la estación envía la trama inmediatamente. Si se detecta una colisión se espera un tiempo aleatorio y se comienza de nuevo. Problema: A mayor retardo de propagación, mayor número de colisiones. Cuanto mayor sea la longitud de las tramas o cuanto menor sea el tiempo de propagación, mayor será la utilización. CSMA no persistente: Funcionamiento: Una estación que quiere enviar una trama comprueba el canal. Si el canal está libre, la envía inmediatamente. Si el canal está ocupado, espera un tiempo aleatorio y luego vuelve a comprobar de nuevo el medio.
Reduce la posibilidad de colisión, es improbable que dos estaciones esperen la misma cantidad de tiempo. Problema: Se reduce la eficacia de la red debido a que el medio permanece libre cuando puede haber estaciones con tramas para enviar. CSMA p persistente: Este método se utiliza si el canal tiene ranuras de tiempo con una duración de ranura igual o mayor que el máximo tiempo de propagación. Reduce la probabilidad de colisión y mejora la eficacia. Detección de portadora: CSMA/CD. No especifica el procedimiento que sigue a una colisión. Amplía el algoritmo para gestionar las colisiones. Se basa en escuchar el medio mientras se produce la transmisión para comprobar si se realiza con éxito: Si es así, la estación termina. Si hay colisión, la trama se envía de nuevo. El desaprovechamiento del medio se reduce al tiempo que se tarda en detectar la colisión.
7. Control de enlace en redes LAN. El IEEE estableció la norma 802 para evitar incompatibilidades entre equipos de distintos fabricantes. Especifica funciones de nivel físico y de enlace de los principales protocolos LAN. El IEEE subdivide el nivel de enlace en dos subniveles: Control de enlace lógico (LLC). Control de acceso al medio (MAC). El IEEE crea también varios estándares de nivel físico para distintos protocolos LAN. Sólo se normalizó la subcapa inferior (MAC) Estándar Ethernet Evolución de Ethernet: Ethernet Estándar (10 Mbps). Fast Ethernet (100 Mbps). Ethernet Gigabit (1 Gbps). Ethernet 10 Gigabit (10 Gbps). Subnivel MAC Funciones: Controla la operación de los métodos de acceso. Construye tramas con los datos recibidos del nivel superior y los pasa al nivel físico.
Subnivel MAC. Formato trama MAC 802.3: Preámbulo: 7 bytes (56 bits) de 1 y 0 alternos que alertan al sistema receptor de la llegada de una trama y le permite sincronizar su entrada. SDF (delimitador de comienzo de trama): un byte (10101011). Dirección destino: 6 bytes, contiene la dirección física estación/es destino. Dirección origen: 6 bytes, dirección física emisor. Longitud o tipo: como tipo define el protocolo de nivel superior usando la trama MAC (LLC); como longitud define el número de bytes en el campo de datos. Datos: transporta los datos encapsulados por los protocolos de nivel superior (mínimo 46 y máximo 1500 bytes). CRC: contiene información de detección de error. Longitud de la trama: Existen restricciones en la longitud mínima y máxima de la trama: La longitud mínima es necesaria para la correcta operación CSMA/CD. Longitud mínima Ethernet 64 bytes: 18 bytes de cabecera y 46 de datos. Si el paquete de nivel superior es menor de 46 bytes, se añade relleno. La longitud máxima Ethernet 1518 bytes. La restricción de longitud máxima evita que una estación pueda monopolizar el medio compartido. Direccionamiento: Cada estación de la red Ethernet tiene su propia tarjeta de interfaz de red (NIC) que proporciona a la estación una dirección física de 6 bytes.
Método de acceso: CSMA/CD 1-persistente. Subnivel LLC. Proporciona un único interfaz con la capa de red Sus características básicas son: Admite proceso múltiple como consecuencia de la compartición del medio Delega algunas funciones de acceso al enlace en la subcapa MAC Ha de especificar la dirección de los usuarios LLC origen y destino mediante SAPs Formato de trama: DSAP: punto de acceso al servicio destino. SSAP: punto de acceso al servicio origen. Control: tipo de trama (según especifica HDLC). Información: datos. Nivel físico. Implementaciones Ethernet estándar: El estándar Ethernet de 10 Mbps ha sufrido distintos cambios antes de evolucionar hacia velocidades más altas. Estos cambios abrieron realmente el camino a la evolución para que la Ethernet se volviera compatible con otras LAN de alta velocidad. Implementaciones Fast Ethernet: La Fast Ethernet se diseñó para competir con protocolos LAN como FDDI o Fiber Channel. El IEEE creó la Fast Ethernet bajo la denominación 802.3u.
Fast Ethernet presenta compatibilidad hacia atrás con la Ethernet Estándar pero puede transmitir datos 10 veces más rápidamente a una velocidad de 100 Mbps. Implementaciones Ethernet Gigabit: La necesidad de tener todavía más velocidad de datos dio como resultado el diseño de protocolo Gigabit Ethernet (1000 Mbps). El comité del IEEE lo denomina Estándar 802.3z. Implementaciones 10 Gigabit: 8. Dispositivos de conexión.
Puentes Operan tanto a nivel físico como de enlace: En el nivel físico, regenera la señal que recibe. En el nivel de enlace, puede comprobar las direcciones físicas de origen y destino y decidir si enviar la trama o eliminarla: capacidad de filtrado. o Si se envía, la decisión debe especificar un puerto. Características: Tiene una tabla que se usa para las decisiones de filtrado. No cambia las direcciones físicas (MAC) de una trama. Permiten la interconexión de dos segmentos de red LAN procesando la mínima información: Simple: 2 segmentos con el mismo protocolo a nivel de enlace. Complejo: 2 segmentos con distintos protocolos (LAN Ethernet y LAN inalámbrica). Se justifican en base a: Fiabilidad: dividir la red en unidades autónomas (redes más pequeñas). Prestaciones: la LAN es más eficiente cuantas menos estaciones y longitud tenga. Seguridad: cada aplicación (conta, nómina, etc.) en un segmento. Geografía: dispersión (un enlace microondas entre dos edificios cercanos). Aspectos de diseño: Pueden conectar más de dos LAN. No modifica tramas, ni añade cabeceras, copia las tramas de un segmento a otro. Dispone de memoria temporal para picos de tráfico. Tiene capacidad de encaminamiento: o Estático. o Árbol de expansión: los puentes crean una tabla y la actualizan mediante: Retransmisión de tramas. Aprendizaje de direcciones. Mecanismo para evitar bucles (cuando existen puentes redundantes).
La especificación IEEE 802.1D define la arquitectura de protocolos para puentes MAC.