REDES DE AREA LOCAL
<kikemonzo@ono.com>
con autorización de Maria Teresa Cervera.
v1.0, Oct 2004
El presente documento es una guía del módulo de Redes de Área Local (RAL) del Ciclo de Grado Superior de ASI (Administración de Sistemas Informáticos). Los contenidos están extraidos del material proporcionado durante el curso y cuyo autor/a y titular del módulo, Maria Teresa Cervera, ha autorizado la publicación de este resumen por médio electrónico.
Tema 4. NIVEL DEL ENLACE
Introducción
El nivel de enlace de datos se compone de un conjunto de procedimientos (software) encargados de:
-
Establecer, mantener y desconectar los circuitos necesarios para el envío de bloques de información.
-
Controlar la correcta transferencia de los datos.
-
Articular los métodos| necesarios para la detección y corrección de errores.
Los protocolos del nivel de enlace estructuran la información a transmitir en pequeños bloques de datos, a los que añaden determinada información de control.

La ausencia del nivel de enlace provocaría:
-No estaría definido con precisión el comienzo y el final de la información.
-No se detectarían los posibles errores que se produjesen en la transmisión.
-Un transmisor muy rápido podría "desbordar" al receptor.
Funciones de los protocolos de enlace
-
Segmentación y bloqueo: en ocasiones aparece la necesidad de transmitir mensajes excesivamente largos o excesivamente cortos. Para adaptar estos tamaños a un formato que esté en concordancia con las características del enlace, se dividen los mensajes largos en varias tramas (segmentación) o se unen los mensajes cortos en una trama (bloqueo).
-
Delimitación de trama: consiste en definir y diferenciar una trama. Para lograrlo a la trama se le une una información de control que indique dónde empieza y dónde termina.
-
Transparencia: esta función trata de eliminar la mala interpretación que pueda darse si se desea transmitir un conjunto de bits o caracteres similares a los de algún elemento de control del protocolo.
-
Control de errores: el nivel de enlace debe asegurar que ante la aparición de un error en la transmisión de una trama, éste se detectará y posteriormente se recuperará de algún modo.
-
Control de flujo: esta función trata de regular el ritmo de envío de tramas desde el transmisor al receptor. Las distintas técnicas utilizadas aseguran que cuando el transmisor envía información, el receptor tiene recursos para recibirla. Existen varias técnicas: a)Parada y Espera b)Parada y Arranque c)Ventana Deslizante
-
Recuperación de anomalías: incluye el control de todas las situaciones imprevistas que puedan presentarse a lo largo de una transmisión. Estos procesos de control de situaciones anómalas estiman plazos de espera para reintentar normalizar la situación, así como limitar a un determinado valor el número de reintentos.
Delimitación de trama
Hay distintas técnicas: - Tamaño fijo: Todas las tramas tienen el mismo tamaño. - Principio y longitud: Se parte sabiendo la longitud de la trama, por lo que no hay más que añadir un carácter especial para indicar cuándo se inicia la misma. Ej. $abcde%57f donde ?$? es el delimitador de inicio de trama - Marcadores de principio y fin: Es muy similar a la técnica anterior, pero supone no conocida la longitud de la trama, por lo que se hace necesario agregar otro carácter indicador del fin de la trama.
Ej. $abcde%57f $
Transparencia de datos
Supongamos que empleamos el carácter STX (Start of TeXt) como marcador de inicio y el ETX (End of TeXt) como marcador de fin. Pero… ¿Qué sucede si uno de los datos es ETX?
¿Se puede conseguir un sistema de delimitación transparente?
Ej.: la función printf en C:
printf("\"hola\"");
Protocolos orientados a carácter.
Los caracteres de control se clasifican según su función en tres categorías:
Delimitadores de bloques:
SYN (Syncronous Idle): mantiene el sincronismo en la transmisión de los caracteres
SOH (Start of Heading): indica el principio de un mensaje integrado por caracteres.
STX (Start of Text): indica el comienzo de un bloque de información dentro de un mensaje.
ETX (End of Text): indica el final de un bloque y el final del mensaje.
ETB (End of Transmission Block): indica el final de un bloque al que le siguen otros bloques.

Controladores del diálogo entre las estaciones:
EOT (End of Transmission): indica que la transmisión ha terminado y se puede liberar el enlace.
ENQ (Enquiry): indica que se desea respuesta de la estación contraria o que se desea establecer el enlace.
ACK (Affirmative Acknoledge):indica que se ha recibido bien un bloque de información.
NAK (Negative Acknoledge): indica que se ha recibido mal un bloque de información.
Caracteres para realizar transmisión transparente:
DLE (Data Link Scape): cambia el significado de los caracteres de control que le siguen para que las estaciones puedan enviarse información coincidente con los propios caracteres de control.
Protocolos orientados a Bit (Tamaño de trama no necesario múltiplo de 8).
Son protocolos más modernos que los anteriores.
Las grandes ventajas de estos protocolos son:
-Independencia del código utilizado: se trata de enviar conjuntos de bits que en principio pueden configurar información en cualquier código.
-Gran eficiencia en la transmisión: la relación existente entre los bits de información y los bits de control es muy alta.
-Gran fiabilidad en las transmisiones: se dispone de métodos de control para la detección y recuperación de errores con gran eficacia.
Los protocolos más extendidos de este tipo son los siguientes:
HDLC (High-level Data Link Control) de ISO.
ADCCP (Advanced Data Communications Control Procedures) de ANSI.
LAPB (Link Acces Procedure Balanced) del CCITT.
SDLC (Synchronous Data Link Control) de IBM.
BDLC (Burroughs Data Link Control) de Borroughs.
UDLC (Data Link Control Univac) de Univac.
Control de errores
Detección de errores
-
El receptor debe poder detectar la presencia (o ausencia) de errores en la información recibida.
Códigos detectores de error: Información adicional a transmitir que sirve al receptor para saber si hubo error en la transmisión.
-
Para poder corregir los errores se pueden emplear dos estrategias:
-
FEC (Forward Error Correction) añade información extra que permitirá al receptor reconstruir la información correcta. Inconveniente: Demasiada Redundancia.
-
ARQ (Automatic Repeat Request) el receptor solicita al transmisor el reenvío de la información correcta.
-
-
El receptor evalúa el código detector de error y determina si hubieron (o no) errores en la transmisión.

Códigos detectores de error
-
Paridad:
Indica si el número de 1(0)?s es par (impar)
Ejemplos:
Datos=11101, ¿Qué se agrega con Par? ¿Y con impar?
-
CRC (Códigos de Redundancia Cíclica):
Es el resto de una división polinómica.
-
CheckSum:
Realiza la suma de todas las palabras del bloque de información.
Tamaño del bloque
-
La probabilidad de que aparezca un error (o más) en un bloque transmitido es proporcional al tamaño del mismo.
-
Un bloque muy grande puede sufrir errores en cada re/transmisión.
-
Por esta razón es interesante que los bloques no sean muy grandes.
-
Si son muy pequeños se envía demasiada información de control.
Control de flujo
Para realizar la función de control de flujo el protocolo de enlace de datos deberá:
-
Controlar la velocidad a la que el emisor envía las tramas para que no sature al receptor. (Generalmente requiere algún mecanismo de realimentación, para que el transmisor pueda saber si el receptor puede mantener el ritmo de transmisión o no).
-
El protocolo contiene reglas bien definidas sobre el momento en que el transmisor puede enviar alguna trama.
-
Estas reglas pueden prohibir el envío de información hasta que el receptor no lo haya autorizado. (Se requiere confirmación).
-
Debe ser capaz de recuperar las tramas perdidas o descartadas. Esto se consigue usando una combinación de dos mecanismos fundamentales:
-
acuses de recibo (acknoledgments) [ACK]
-
temporizadores (timeouts).
-
Parada y espera
Es la más simple de las técnicas. Los pasos que llevarían a cabo las dos máquinas en diálogo serían:
-
El transmisor envía una trama al receptor.
-
El receptor la recoge, y devuelve una trama de aceptación (ACK).
-
Cuando el transmisor recibe esta trama sabe que puede realizar un nuevo envío….
-
Si pasado un cierto tiempo predeterminado no ha llegado acuse de recibo, el emisor retransmite la trama.
El transmisor únicamente tendrá una trama pendiente de aceptación.

Inconveniente:
Supongamos que el transmisor envía una trama y el receptor da el acuse de recibo, pero de alguna manera el ACK se pierde o se retrasa en llegar.
El emisor piensa que el tiempo ha expirado y retransmite la trama.
Pero el receptor ya había recogido la anterior trama y cree que ésta trama que le llega ahora es otra diferente.
Solución:
La cabecera de una trama del protocolo de parada y espera incluye un bit a modo de número de secuencia. (Valor: 0-1 de manera alterna).

La principal limitación del algoritmo de parada y espera es que el enlace está ocupado por una única trama cada vez, es decir, se está desaprovechando la capacidad del enlace (BAJA UTILIZACIÓN DEL CANAL)
Ventana Deslizante
El transmisor está autorizado a enviar un número (N) limitado de tramas antes de recibir algún acuse de recibo.

El transmisor puede enviar cualquier número de tramas entre 1 y N (sin esperar acuse de recibo).
El receptor puede enviar acuses de recibo cuando reciba una trama.

Existen 2 optimizaciones:
-
Reconocimientos negativos.
Son indicaciones del receptor que informan de la incorrecta recepción de una trama.
Se pueden enviar al recibir una trama errónea o fuera de orden.
Permiten acelerar el reenvío de tramas.
-
Piggybacking.
Sólo posible en transmisiones bidireccionales.
Consiste en incorporar en las tramas de datos un campo de reconocimiento (en sentido contrario).
Al enviar el reconocimiento junto con los datos, se mejora (ligeramente) la utilización del enlace.

Protocolos
HDLC (High level Data Link Control).
Protocolo de enlace de datos más importante, ISO 3309, ISO 4335.
Otros:
LLC (Logical Link Control)
Retransmisión de tramas ( Frame Relay)
ATM (Asynchronous Transfer Mode)
Protocolo HDLC
Tipos de estaciones:
Principal: transmite órdenes.
Secundarias: transmite repuestas.
Combinadas (reúne los dos tipos anteriores).
Configuraciones de enlace:
No equilibrada: una estación primaria y una o más secundarias.
Equilibrada: dos estaciones combinadas.
Modos de transferencia de datos:
Modo de Respuesta Normal (NRM): La estación secundaria sólo transmite en respuesta a la principal. La principal hace sondeos.
Modo de Respuesta Asíncrona (ARM): Una estación secundaria puede iniciar una transmisión sin permiso previo de la principal. Pero la principal sigue controlando la transmisión.
Modo de Respuesta Balanceada Asíncrona (ABM): Cualquier estación (combinada) puede iniciar la transmisión. Es el más utilizado.
Estructura de las tramas
Delimitadores de trama: 01111110
Delimitador inicio/fin: 8 bits.01111110
Dirección: 8 bits (ampliable)
Información: longitud variable
Código detector de errores:
- CRC 16 bits
- CRC-32

Direccionamiento:
Se identifica a la estación secundaria (origen o destino)
11111111 realiza un broadcast a todas las estaciones
En estaciones combinadas se mantiene por uniformidad.
Tipos Tramas:
Información (I)
Transfieren la información.
3 bits de números de secuencia y reconocimiento (trama que se espera).
Supervisoras (S)
Control de error y control de flujo cuando no se envían tramas de información.
2 bits de tipo de trama: 00= RR, 01= REJ, 10= RNR, 11=SREJ
3 bits de número de trama de reconocimiento.
No numeradas (U)
Sin control de error. Para funciones especiales (conexión/desconexión).
5 bits de tipo de trama no numerada.
Campo de Control:
Tipo de trama según el primer y segundo bit.
Número secuencia de 3 bits.
Cada tipo tiene una estructura distinta.

N(S) - núm de secuencia enviada.
N(R) - núm de secuencia recibida.
S - tipo de trama supervisora
M - tipo de trama no numerada.
P/F - bit de poll (sondeo) /final.
-
Sondeo: primaria a secundaria.
-
Final: secundaria a primaria.
Funcionamiento:
-
Fase de iniciación: Lo hacen tramas no numeradas
Se establece el modo de transferencia y el rango de números de secuencia (3 ó 7 bits)
-
Fase de transferencia de datos:
Se intercambian tramas de datos y supervisoras
Supervisoras:
Control flujo (RR, RNR)
Control de error (REJ, SREJ)
Iniciación y desconexión:
Mediante tramas no numeradas:
SABM: Set Asynchronous Balanced Mode
UA: Unnumbered Acknowledge
DISC: Disconnect
Intercambio de datos:
Comunicación dúplex.
(1,3):secuencia 1, reconocimiento 3.
(A) no tiene más tramas para enviar (RR).

Rechazo simple:
Error en la trama 1 de A
Trama 2 de A fuera de secuencia
A debe retransmitir a partir de la 1
Receptor ocupado:
(A) transmite pero (B) no acepta más tramas.
(A) pregunta periódicamente hasta obtener permiso (RR)
Protocolo PPP
Aparece en 1990 y es un derivado de HDLC. Se utiliza en conexiones punto a punto en una intranet, en conexiones a internet a través de módem, RDSI, líneas dedicadas (RTC). Incluye el protocolo LCP.
Está orientado a carácter (longitud de trama ha de ser número entero de bytes).
No está orientado a conexión: no tiene números de secuencia y no existen acuses de recibo.
La estructura de la trama comprende:
Un campo delimitador: 8 bits. 01111110.
Un campo de Dirección: No se utiliza. Siempre vale 11111111.
Un campo de Control: Por defecto 00000011 (trama no numerada).
Un campo del protocolo: Tipo del protocolo del nivel de red.
Un campo de datos: Longitud variable.
Un campo para Checksum: 8 bits. 16 si se negocia.

Protocolo LCP
Está incluido dentro del protocolo PPP.
Suministra mecanismos para validar al ordenador que llama, usando claves del tipo usuario/password.
Útil en conexiones por la red de telefonía conmutada (RTC) para que un ISP pueda facturar a sus usuarios en función del tiempo de conexión.
Bibliografia
-
[tanenbaum] Tanenbaum A.S. Redes de computadoras Ed. Prentice-Hall. 3ª Edición 1997.
-
[stalling] Stalling W. Data and Computer Networks Ed. McMillan. 2º Edición.
-
[abad] Abad A. Redes de área local Ciclo Formativo. Ed. Mc-Graw-Hill 2001
-
[huidobro] Huidobro Moya J.M, Blanco Solsona A. Administración de Sistemas Informáticos. Redes de área local Ed. Paraninfo 2001.
Glosario
Glosario
