La capa de enlace de datos , o capa 2 , es la segunda capa del modelo OSI de siete capas de redes informáticas . Esta capa es la capa de protocolo que transfiere datos entre nodos de un segmento de red a través de la capa física . [2] La capa de enlace de datos proporciona los medios funcionales y procedimentales para transferir datos entre entidades de red y también puede proporcionar los medios para detectar y posiblemente corregir errores que puedan ocurrir en la capa física.
La capa de enlace de datos se ocupa de la entrega local de tramas entre nodos del mismo nivel de la red. Las tramas de enlace de datos, como se denominan estas unidades de datos de protocolo , no cruzan los límites de una red de área local. El enrutamiento entre redes y el direccionamiento global son funciones de capa superior, lo que permite que los protocolos de enlace de datos se centren en la entrega local, el direccionamiento y el arbitraje de medios. De esta manera, la capa de enlace de datos es análoga a un policía de tráfico del barrio; intenta arbitrar entre las partes que compiten por el acceso a un medio, sin preocuparse por su destino final. Cuando los dispositivos intentan utilizar un medio simultáneamente, se producen colisiones de tramas. Los protocolos de enlace de datos especifican cómo los dispositivos detectan y se recuperan de dichas colisiones, y pueden proporcionar mecanismos para reducirlas o evitarlas.
Algunos ejemplos de protocolos de enlace de datos son Ethernet , los protocolos WiFi IEEE 802.11 , ATM y Frame Relay . En el conjunto de protocolos de Internet (TCP/IP), la funcionalidad de la capa de enlace de datos está contenida dentro de la capa de enlace , la capa más baja del modelo descriptivo, que se supone que es independiente de la infraestructura física.
El enlace de datos permite la transferencia de tramas de datos entre hosts conectados al enlace físico. Dentro de la semántica de la arquitectura de red OSI, los protocolos de la capa de enlace de datos responden a las solicitudes de servicio de la capa de red y realizan su función emitiendo solicitudes de servicio a la capa física . Esa transferencia puede ser confiable o no confiable ; muchos protocolos de enlace de datos no tienen acuses de recibo de recepción y aceptación exitosas de tramas, y algunos protocolos de enlace de datos podrían incluso no realizar ninguna verificación de errores de transmisión. En esos casos, los protocolos de nivel superior deben proporcionar control de flujo , verificación de errores, acuses de recibo y retransmisión.
El encabezado de la trama contiene las direcciones de origen y destino que indican qué dispositivo originó la trama y qué dispositivo se espera que la reciba y la procese. A diferencia de las direcciones jerárquicas y enrutables de la capa de red, las direcciones de la capa 2 son planas, lo que significa que ninguna parte de la dirección se puede utilizar para identificar el grupo lógico o físico al que pertenece la dirección.
En algunas redes, como las redes de área local IEEE 802 , la capa de enlace de datos se describe con más detalle con subcapas de control de acceso al medio (MAC) y control de enlace lógico (LLC); esto significa que el protocolo IEEE 802.2 LLC se puede utilizar con todas las capas MAC IEEE 802, como Ethernet, Token Ring , IEEE 802.11 , etc., así como con algunas capas MAC que no sean 802, como FDDI . Otros protocolos de capa de enlace de datos, como HDLC , se especifican para incluir ambas subcapas, aunque algunos otros protocolos, como Cisco HDLC , utilizan el entramado de bajo nivel de HDLC como una capa MAC en combinación con una capa LLC diferente. En el estándar ITU-T G.hn , que proporciona una manera de crear una red de área local de alta velocidad (hasta 1 Gigabit/s) utilizando el cableado doméstico existente ( líneas eléctricas , líneas telefónicas y cables coaxiales ), la capa de enlace de datos se divide en tres subcapas (convergencia del protocolo de aplicación, control de enlace lógico y control de acceso al medio).
La capa de enlace de datos a menudo se divide en dos subcapas: control de enlace lógico (LLC) y control de acceso al medio (MAC). [3]
La subcapa superior, LLC, multiplexa los protocolos que se ejecutan en la parte superior de la capa de enlace de datos y, opcionalmente, proporciona control de flujo, reconocimiento y notificación de errores. La LLC proporciona direccionamiento y control del enlace de datos. Especifica qué mecanismos se deben utilizar para direccionar estaciones a través del medio de transmisión y para controlar los datos intercambiados entre las máquinas de origen y destino.
MAC puede hacer referencia a la subcapa que determina quién tiene permiso para acceder a los medios en un momento determinado (por ejemplo, CSMA/CD ). En otras ocasiones, hace referencia a una estructura de trama distribuida en función de las direcciones MAC internas.
En general, existen dos formas de control de acceso a los medios: distribuido y centralizado. [4] Ambos pueden compararse con la comunicación entre personas. En una red formada por personas que hablan, es decir, una conversación, cada una de ellas hará una pausa aleatoria y luego intentará hablar de nuevo, estableciendo efectivamente un juego largo y elaborado de decir "no, tú primero".
La subcapa de control de acceso al medio también realiza la sincronización de tramas , que determina el inicio y el final de cada trama de datos en el flujo de bits de transmisión . Implica uno de varios métodos: detección basada en tiempo, conteo de caracteres, relleno de bytes y relleno de bits.
Los servicios proporcionados por la capa de enlace de datos son:
Además de la creación de tramas, la capa de enlace de datos también puede detectar errores de transmisión y recuperarse de ellos. Para que un receptor detecte errores de transmisión, el emisor debe agregar información redundante como un código de detección de errores a la trama enviada. Cuando el receptor obtiene una trama, verifica si el código de detección de errores recibido coincide con un código de detección de errores recalculado.
Un código de detección de errores se puede definir como una función que calcula la r (cantidad de bits redundantes) correspondiente a cada cadena de un número total de N bits. El código de detección de errores más simple es el bit de paridad , que permite a un receptor detectar errores de transmisión que han afectado a un solo bit entre los N + r bits transmitidos. Si hay varios bits invertidos, es posible que el método de verificación no pueda detectar esto en el lado del receptor. Existen métodos más avanzados que la detección de errores de paridad que ofrecen mayores grados de calidad y características.
Un ejemplo sencillo de cómo funciona esto utilizando metadatos es transmitir la palabra "HOLA", codificando cada letra como su posición en el alfabeto. Así, la letra A se codifica como 1, la B como 2, y así sucesivamente, como se muestra en la tabla de la derecha. Al sumar los números resultantes, se obtiene 8 + 5 + 12 + 12 + 15 = 52, y 5 + 2 = 7 para calcular los metadatos. Finalmente, se transmite la secuencia de números "8 5 12 12 15 7", que el receptor verá en su extremo si no hay errores de transmisión. El receptor sabe que el último número recibido son los metadatos de detección de errores y que todos los datos anteriores son el mensaje, por lo que el receptor puede volver a calcular el cálculo anterior y, si los metadatos coinciden, se puede concluir que los datos se han recibido sin errores. Sin embargo, si el receptor ve algo así como una secuencia "7 5 12 12 15 7" (primer elemento alterado por algún error), puede ejecutar la verificación calculando 7 + 5 + 12 + 12 + 15 = 51 y 5 + 1 = 6, y descartar los datos recibidos como defectuosos ya que 6 no es igual a 7.
Se han diseñado algoritmos de detección y corrección de errores más sofisticados para reducir el riesgo de que varios errores de transmisión de datos se anulen entre sí y pasen desapercibidos. Un algoritmo que puede incluso detectar si se reciben los bytes correctos pero fuera de orden es la comprobación de redundancia cíclica o CRC. Este algoritmo se utiliza a menudo en la capa de enlace de datos.
En el conjunto de protocolos de Internet (TCP/IP), la funcionalidad de la capa de enlace de datos de OSI está contenida en su capa más baja, la capa de enlace . La capa de enlace TCP/IP tiene el alcance operativo del enlace al que está conectado un host y solo se ocupa de cuestiones de hardware hasta el punto de obtener direcciones de hardware (MAC) para ubicar hosts en el enlace y transmitir tramas de datos a través de él. La funcionalidad de la capa de enlace se describió en RFC 1122 y se define de manera diferente a la capa de enlace de datos de OSI, y abarca todos los métodos que afectan al enlace local.
El modelo TCP/IP no es una referencia de diseño integral de arriba hacia abajo para redes. Fue formulado con el propósito de ilustrar los grupos lógicos y los alcances de las funciones necesarias en el diseño del conjunto de protocolos de interconexión de redes de TCP/IP, según se requiere para el funcionamiento de Internet. En general, se deben evitar las comparaciones directas o estrictas de los modelos OSI y TCP/IP, porque la superposición en TCP/IP no es un criterio de diseño principal y, en general, se considera "perjudicial" (RFC 3439). En particular, TCP/IP no dicta una secuencia jerárquica estricta de requisitos de encapsulación, como se atribuye a los protocolos OSI.
{{cite book}}
: CS1 maint: location (link)