Uploaded by JOSE VALDES 741

Capa de enlace de datos

advertisement
Resumen Capitulo 3
LA CAPA DE ENLACE DE DATOS
Arquitectura de redes
FACULTAD DE INGENIERÍA
LICENCIATURA EN INGENIERÍA EN COMPUTACIÓN
Profesor:
Pedro Pallares Jiménez
Alumno:
José Francisco Valdés Ortega
Semestre:
2023-A
Grupo:
CO03
Fecha de entrega: 23 de Febrero de 2023
RESUMEN CAPA 3 – LA CAPA DE ENLACE DE DATOS
3.1 Cuestiones de diseño de la capa de enlace de datos
La capa de enlace de datos utiliza los servicios de la capa física para enviar y
recibir bits a través de los canales de comunicación.
Algunas de las funciones específicas:
1. Proporcionar a la capa de red una interfaz de servicio bien definida.
2. Manejar los errores de transmisión.
3. Regular el flujo de datos para que los emisores rápidos no saturen a los
receptores lentos
La capa de enlace de datos toma los paquetes que obtiene de la capa de red y
los encapsula en tramas para transmitirlos. Cada trama contiene un encabezado,
un campo de carga útil para almacenar el paquete y un terminador. El manejo de
las tramas es la tarea más importante de la capa de enlace de datos.
3.1.1 Servicios proporcionados a la capa de red
La función de la capa de enlace de datos es proveer servicios a la capa de red.
El servicio principal es la transferencia de datos de la capa de red en la máquina
de origen, a la capa de red en la máquina de destino.
La tarea de la capa de enlace de datos es transmitir los bits a la máquina de
destino, de modo que se puedan entregar a la capa de red de esa máquina.
La capa de enlace de datos puede diseñarse para ofrecer varios servicios. Los
servicios reales ofrecidos varían de un protocolo a otro. Tres posibilidades
razonables que normalmente se proporcionan son:
1. Servicio sin conexión ni confirmación de recepción
2. Servicio sin conexión con confirmación de recepción
3. Servicio orientado a conexión con confirmación de recepción
El servicio sin conexión ni confirmación de recepción consiste en hacer que la
máquina de origen envíe tramas independientes a la máquina de destino sin que
ésta confirme la recepción. No se establece una conexión lógica de antemano ni
se libera después. Si se pierde una trama debido ruido en la línea, en la capa de
datos no se realiza ningún intento por detectar la pérdida o recuperarse de ella.
Esta clase de servicio es apropiada cuando a las tasas de error es muy baja.
3.1.2 Entramado
Para proveer servicio a la capa de red, la capa de enlace de datos debe usar el
servicio que la capa física le proporciona. Lo que hace la capa física es aceptar
un flujo de bits puros y tratar de entregarlo al destino.
Si el canal presenta ruido, como en la mayoría de los enlaces inalámbricos y en
algunos alámbricos, la capa física agregará cierta redundancia a sus señales
para reducir la tasa de error de bits a un nivel tolerable.
La capa de enlace de datos es responsable de detectar y corregir errores. El
método común es que la capa de enlace de datos divida el flujo de bits en tramas
discretas, pero es más difícil de lo que parece. Un buen diseño debe facilitar un
receptor el proceso de encontrar el inicio de las nuevas tramas al tiempo que
utiliza una pequeña parte del ancho de banda del canal
Otros métodos a usar:
1.
2.
3.
4.
Conteo de bytes.
Bytes bandera con relleno de bytes.
Bits bandera con relleno de bits.
Violaciones de codificación de la capa física.
3.1.3 Control de errores
La manera normal de asegurar la entrega confiable de datos es proporcionar
retroalimentación al emisor sobre lo que está ocurriendo en el otro lado de la
linea. Por lo general, el protocolo exige que el receptor devuelva tramas de
control especiales que contengan confirmaciones de recepción positiva de una
trama, sabe que la trama llego de manera correcta. Por otra parte, una
confirmación de recepción negativa significa que algo falló y que debe transmitir
la trama otra vez.
Una complicación adicional, surge de la posibilidad de que los problemas de
hardware causen la desaparición de una trama completa.
3.1.4 Control de flujo
Es importante el qué hacer con un emisor que quiere transferir tramas de manera
sistemática y a mayor velocidad que aquella con que puede aceptarlos el
receptor. Esta situación puede ocurrir cuando el emisor opera en una
computadora rápida y el receptor trabaja en una maquina lenta. Una situación
común es cuando un teléfono inteligente solicita una página web de un servidor
mucho más poderoso, que a su vez enciende y envía muchos datos ocasionando
una saturación. Aunque la transmisión esté libre de errores, en cierto punto el
receptor simplemente no será capaz de manejar las tramas conforme lleguen y
comenzará a perder algunas.
Para evitar esta situación, se utilizan dos métodos. En el primero, el control de
flujo basado en retroalimentación, el receptor regresa información al emisor para
autorizarle que envíe datos o por lo menos indicarle su estado.
El segundo, el control de flujo basado en tasa, el protocolo tiene un mecanismo
integrado que limita la tasa a la que el emisor puede transmitir los datos, sin
recurrir a la retroalimentación por parte del proveedor.
3.2 Detección y corrección de errores
Los canales de comunicación tienen una variedad de características; algunos de
ellos, como la fibra óptica en las redes de telecomunicaciones, tienen tasas de
error pequeñas de modo que los errores de transmisión son una rara ocurrencia.
Pero en otros canales, en especial los enlaces inalámbricos y los viejos lazos
locales, tienen tasas de error más grandes.
Para estos enlaces, los errores de transmisión son la norma. No se pueden evitar
a un costo razonable en términos de rendimiento.
Existen dos estrategias básicas para manejar los errores:
-
Códigos de corrección de errores (FEC)
Es influir suficiente información redundante para que el receptor pueda
deducir cuales debieron ser los datos transmitidos.
3.2.1 Códigos de corrección de errores.
Cuatro códigos de corrección de errores:
1. Códigos de Haming.
2. Códigos convolucionales binarios.
3. Códigos de Reed-Solomon.
4. Códigos de verificación de paridad de baja densidad.
Todos estos códigos agregan redundancia a la información que se envía. Una
trama consiste en m bits de datos (mensaje) y r bits redundantes (verificación).
En un código de bloque, los r bits de verificación se calculan únicamente en
función de los m bits de datos con los que se asocian, como si los m bits se
buscaran en una gran tabla para encontrar sus correspondientes r bits de
verificación.
En un código sistemático, los m bits de datos se envían directamente, junto con
los bits de verificación, en vez de que se codifiquen por sí mismos antes de
enviarlos. En un código lineal, los r bits de verificación se calculan como una
función lineal de los m bits de datos.
3.2.2 Códigos de detección de errores
Los códigos de corrección de errores se utilizan de manera amplia en los enlaces
inalámbricos, que son notoriamente más ruidosos y propensos a errores si se les
compara con la fibra óptica. Sin los códigos de corrección de errores sería difícil
hacer pasar cualquier cosa. Sin embargo, a través de la fibra óptica o del cable
de cobre de alta calidad, la tasa de error es mucho más baja, por lo que la
detección de errores y la retransmisión por lo general son más eficientes para
manejar un error ocasional.
Todos son códigos de bloques sistemáticos lineales:
1. Paridad.
2. Sumas de verificación.
3. Pruebas de Redundancia Cíclica (CRC).
3.3 Protocolos elementales de enlace de datos
La capa física, de enlace de datos y de red, son procesos independientes que
se comunican pasando mensajes de un lado a otro.
El proceso de la capa física y una parte del proceso de la capa de enlace de
datos se ejecutan en hardware dedicado, conocido como NIC (Tarjeta de Interfaz
de Red). El resto del proceso de la capa de enlace y el proceso de la capa de
red se ejecutan en la CPU principal como parte del sistema operativo, en donde
el software para el proceso de la capa de enlace a menudo toma la forma de un
controlador de dispositivo. Sin embargo, también puede haber otras
implementaciones.
Realmente, la implementación preferida cambia de una década a otra con las
concesiones tecnológicas. En cualquier caso, el hecho de tratar las tres capas
como procesos independientes, hace más nítido el análisis en el terreno
conceptual y también sirve para enfatizar la independencia de las capas.
3.3.1 Un protocolo simplex utópico
Los datos son transmitidos en una sola dirección; las capas de red tanto del
emisor como del receptor siempre están listas. Podemos no prestar atención al
tiempo de procesamiento, por lo que hay un infinito espacio en el buffer
disponible; asi como el canal de comunicación entre las capas de enlace de
datos nunca se daña ni se puede las tramas.
Por lo que este protocolo es completamente irreal, al que se le puede llamar
utopía, por lo que simplemente es para mostrar la estructura básica en la que
nos basaremos.
El protocolo consiste en dos procedimientos diferentes, un emisor y un receptor.
El emisor se ejecuta en la capa de enlace de datos de la máquina de origen y el
receptor se ejecuta en la capa de enlace de datos de la máquina de destino. No
se usan número de secuencia ni confirmaciones de recepción, por lo que no se
necesita MAX_SEQ. El único tipo de evento posible es frame_arrival (es decir,
la llegada de una trama sin daños).
3.2.2 Protocolo simplex de parada y espera para un canal libre de errores
El problema principal de evitar que el emisor sature al receptor enviando tramas
a una mayor velocidad de la que este último puede procesarlas. Esta situación
puede ocurrir con facilidad en la práctica, por lo que es de extrema importancia
evitarla. Sin embargo, aún existe el supuesto de que el canal está libre de errores
y el tráfico de datos sigue siendo simplex.
Una solución es construir un receptor lo suficientemente poderoso como para
procesar un flujo continuo de tramas, una tras otra sin interrupción (lo equivalente
sería definir la capa de enlace de modo que fuera lo bastante lenta como para
que el receptor pudiera mantenerse a la par). Debe tener suficiente capacidad
en el búfer y de procesamiento como para operar a la tasa de transmisión de la
línea; asimismo debe ser capaz de pasar las tramas que se reciben en la capa
de red con la rapidez suficiente. Sin embargo, ésta es una solución para el peor
de los casos. Requiere hardware dedicado y se pueden desperdiciar recursos si
el enlace se usa poco.
Además, sólo cambia el problema de tratar con un emisor demasiado rápido a
otra parte; en este caso, a la capa de red. Una solución más general para este
dilema es hacer que el receptor proporcione retroalimentación al emisor. Tras
haber pasado un paquete a su capa de red, el receptor regresa al emisor una
pequeña trama ficticia que, de hecho, autoriza al emisor para que transmita la
siguiente trama. Después de enviar trama, el protocolo exige que el emisor
espere hasta que llegue la pequeña trama ficticia (es decir, la confirmación de
recepción).
Este retraso es un ejemplo simple de un protocolo de control de flujo.
Los protocolos en los que el emisor envía una trama y luego espera una
confirmación de recepción antes de continuar se denominan de parada y espera.
3.4 Protocolos de ventana deslizante
Las tramas de datos se transmitían en una sola dirección. En la mayoría de las
situaciones prácticas existe la necesidad de transmitir datos en ambas
direcciones. Una manera de lograr una transmisión de datos full-dúplex es tener
dos instancias de uno de los protocolos anteriores, cada uno de los cuales debe
usar un enlace separado para el tráfico de datos simplex (en distintas
direcciones). A su vez, cada enlace se compone de un canal de “ida” (para los
datos) y de un canal de “retorno” (para las confirmaciones de recepción). En
ambos casos se desperdicia la capacidad del canal de retorno casi por completo.
La técnica de retardar temporalmente las confirmaciones de recepción salientes
para que puedan viajar en la siguiente trama de datos de salida se conoce como
superposición (piggybacking).
La principal ventaja de usar la superposición en lugar de tener tramas de
confirmación de recepción independientes, es un mejor aprovechamiento del
ancho de banda disponible del canal.
Los protocolos de ventana deslizante son bidireccionales, mismos que difieren
de eficiencia, complejidad y requerimientos de búfer.
La diferencia de los protocolos de ventana deslizante es que, en cualquier
instante, el emisor mantiene un conjunto de números de secuencia que
corresponde a las tramas que tiene permitido enviar. Estas tramas caen dentro
de la ventana emisora.
3.5 Ejemplos de protocolos de enlace de datos
En el interior de un solo edificio las redes LAN se utilizan mucho para
interconectar computadoras, pero la mayoría de la infraestructura de redes de
área amplia se basa en las líneas de punto a punto. En esta sección
examinaremos los protocolos de enlace de datos que se encuentran en las líneas
de punto a punto en Internet, en dos situaciones comunes. La primera situación
es cuando los paquetes se envían a través de enlaces de fibra óptica SONET en
redes de área amplia. Estos enlaces se utilizan mucho, por ejemplo, para
conectar enrutadores en las distintas ubicaciones de la red de un ISP. La
segunda situación para los enlaces de ADSL que operan en el lazo local de la
red telefónica, en un extremo de Internet. Estos enlaces conectan a millones de
individuos y negocios a Internet. Internet necesita enlaces de punto a punto para
estos usos, así como módems de marcación telefónica, líneas rentadas y
módems de cable, etc. Un protocolo estándar llamado PPP (Protocolo Punto a
Punto) se utiliza para enviar paquetes a través de estos enlaces. PPP se define
en el RFC 1661 y se ha desarrollado más en RFC 1662 y otros RFC (Simpson,
1994a, 1994b). Los enlaces SONET y ADSL aplican PPP, sólo que en distintas
formas.
Download