Está en la página 1de 10

TEMA 64: FUNCIONES Y SERVICIOS DEL NIVEL DE ENLACE.

TÉCNICAS. PROTOCOLOS.

0.INTRODUCCIÓN
1. NIVEL DE ENLACE.
1.1. CONCEPTO
1.2. EVOLUCIÓN
1.3. COMPOSICIÓN Y ESTRUCTURA
1.3.1. EL ENLACE DE DATOS
1.3.2. INTERCAMBIO DE INFORMACIÓN
1.3.3. ESTRUCTURA DE LOS MARCOS
1.4. CARACTERÍSTICAS
2. FUNCIONES DEL NIVEL DE ENLACE.
2.1. DETECCIÓN Y CORRECCIÓN DE ERRORES
2.2. CONTROL DE FLUJO
2.3. ACTIVACIÓN Y FUNCIONAMIENTO DEL ENLACE
2.4. GENERACIÓN DE LOS MARCOS
3. SERVICIOS DEL NIVEL DE ENLACE.
3.1. TIPOS DE SERVICIOS
3.1.1. SERVICIO NO ORIENTADO A CONEXIÓN SIN CONFIR-
MACIÓN
3.1.2. SERVICIO NO ORIENTADO A CONEXIÓN SON CONFIR-
MACIÓN
3.1.3. SERVICIO ORIENTADO A CONEXIÓN CON CONFIRMACIÓN
4. TÉCNICAS DEL NIVEL DE ENLACE.
4.1. TÉCNICAS DE CONTROL DE ERRORES
4.1.1. DETECCIÓN
4.1.2. CORRECCIÓN

5. BIBLIOGRAFÍA

1
TEMA 64: FUNCIONES Y SERVICIOS DEL NIVEL DE ENLACE.
TÉCNICAS. PROTOCOLOS.
0. INTRODUCCIÓN

Según el modelo OSI, la capa o nivel de enlace se encarga de los servicios


de trasferencia de datos seguros a través del enlace fı́sico: envı́a bloques de
datos (tramas) llevando a cabo la sincronización, el control de errores y de flujo
necesario. La capa de enlace está en un nivel superior a la capa fı́sica.

La capa de enlace pretende conseguir una comunicación eficiente (aprovechar


al máximo la lı́nea) y fiable (garantı́a de que los datos lleguen bien). Estamos
comunicando dos máquinas adyacentes, es decir, conectadas fı́sicamente entre
sı́, a nivel de enlace. En esta comunicación pueden surgir algunos problemas
como son los errores en la lı́nea o la velocidad de trasmisión finita (por ejemplo
emitir a más velocidad de lo que el receptor puede recibir). El nivel de enlace
debe proporcionar protocolos que consigan realizar una comunicación eficiente
y fiable y que sea capaz de resolver los posibles problemas en cuanto a errores
y control de flujo.

1. NIVEL DE ENLACE

1.1. CONCEPTO

El nivel de enlace de datos detecta y corrige los errores que ocurren en el


nivel fı́sico, proporcionando una lı́nea libre de errores de transmisión al nivel
de red. Para ello trocea los datos de entrada en marcos de datos, los transmite
secuencialmente, y procesa los marcos reconocidos, ofreciendo una comunicación
fiable y eficiente entre dos máquinas adyacentes.

1.2. EVOLUCIÓN

Los circuitos de comunicación cometen errores de cuando en cuando. Además,


tienen una velocidad de transmisión de datos finita y hay un retardo de propa-
gación diferente de cero, es decir, existe un tiempo transcurre desde que un bit
se envı́a hasta que se recibe. Estas limitaciones, asociadas con la velocidad finita
de las máquinas para procesar los datos, tienen implicaciones muy importantes

2
en la eficiencia de la transferencia de datos.
El nivel de enlace surge para paliar estos problemas y que la comunicación sea
fiable y eficiente a través de una serie de algoritmos que lo resuelven.

1.3. COMPOSICIÓN Y ESTRUCTURA


1.3.1. EL ENLACE DE DATOS

El enlace da datos puede definirse como el conjunto de 2 componentes CL


(control de lı́nea) conectados por un circuito de emisión de datos, es decir, un
enlace datos es el conjunto de estaciones terminales con sus circuitos de datos
asociados que constituyen un sistema que permite el intercambio de información
entre dichos elementos.
1.3.2. INTERCAMBIO DE INFORMACIÓN
Para lograr el intercambio de información entre las estaciones a través del
enlace, podemos considerar las fases siguientes:

a) Conexión del circuito.- Obtención de un circuito fı́sico que conecta las


estaciones. En el caso de lı́neas conmutadas comprenden todos los procesos
necesarios para el establecimiento del circuito (marcación, conmutación, etc.).
En el caso de lı́nea dedicada, esta fase no será necesaria.

b) Establecimiento del enlace lógico.- Comprende los procesos necesarios para


poder iniciar la transferencia de datos a través de un circuito fı́sico ya estable-
cido. La estación que quiera iniciar la transferencia deberá comprobar si la otra
está dispuesta, etc. Durante esta fase la información intercambiada por el enlace
es información de control generada en ambas estaciones.

c) Transferencia de datos.- Comprende todos los procesos necesarios para lo-


grar la transferencia de mensajes de una estación a otra. Normalmente también
habrá intercambio de información de control asociada a dicha transferencia,
como por ejemplo redundancia, validaciones, etc.

3
d) Terminación.- Durante esta fase tiene lugar la liberación de los recursos
asociados a la transferencia de información (buffers en las estaciones, etc.).

e) Desconexión del circuito.- Comprende los procesos de liberación del cir-


cuito.

Las fases de conexión y desconexión del circuito son competencia del nivel
fı́sico. En las fases b, c y d interviene el nivel de enlace.

Figure 1: t64infgenfig.eps about here.

Esquema de comunicación a través del nivel de enlace

1.3.3. ESTRUCTURA DE LOS MARCOS

Un marco es una agrupación de bits en una unidad de información mayor.


Cada marco tendrá la siguiente estructura general:

CABECERA CAMPO DE INFOR- CONTROL CAMPO


MACIÓN DE ER- FINAL
RORES

La cabecera identifica el comienzo de la transmisión, la estación de origen,


la estación de destino y el número de marco. El campo de control de errores se
utiliza para verificar si la transmisión se ha llevado a cabo correctamente.

El emisor tiene la responsabilidad de agrupar la información en marcos que


serán retransmitidos posteriormente a través del nivel fı́sico como una secuencia
de bits. El receptor recibe los bits individuales procedentes del nivel fı́sico y ha
de agruparlos en marcos, indicando dónde empieza y acaba cada uno.

4
Procedimientos:

• Dejar silencios entre tramas.- dejar de transmitir entre trama y trama.

• Cuenta de caracteres.- poner al principio de la trama el número de carac-


teres que tiene.

• Caracteres de inicio y fin, con relleno de caracteres.- se ponen caracteres


especiales al principio y final de la trama. Si algún carácter de la trama cor-
responde con uno de esos caracteres especiales, se coloca otro más antes para
indicar que no es un delimitador si no que forma parte de los datos (relleno de
caracteres).

• Indicadores de inicio y fin, con relleno de bits.- poner como delimitadores


una combinación especial de bits llamada flag que identifique el comienzo y final
de la trama. El relleno de bits es similar al relleno de caracteres pero a nivel de
bit.

• Violación de código.- consiste en usar una codificación redundante en el


medio fı́sico, utilizando como delimitadores estados de señalización no contem-
plados en el código utilizado.

1.4. CARACTERÍSTICAS

Las caracterı́sticas del nivel de enlace que permiten establecer una comuni-
cación efectiva entre la estación emisora y la receptora, las cuales se suponen
están conectadas directamente son las siguientes:
-Sincronización de la trama: los datos se envı́an en bloques que se denominan
tramas. El comienzo y el final de cada trama debe identificarse.
-Control de flujo: la estación emisora no debe enviar datos a una velocidad

5
mayor que la estación receptora pueda absorber.
-Control de errores: todos los errores en los bits introducidos por el sistema de
trasmisión se deben corregir o, al menos, detectar.
-Direccionamiento: en una lı́nea multipunto, como por ejemplo una red de
área local (LAN), se debe identificar a las dos estaciones involucradas en la
trasmisión.
-Datos de control sobre el mismo enlace: normalmente no es deseable tener un
enlace independiente para la información de control. Por consiguiente, el recep-
tor debe ser capaz de diferenciar lo que es la información de control y lo que
son los datos.
-Gestión de enlace: el inicio, mantenimiento y la conclusión de datos necesita
una cantidad razonable de coordinación y cooperación entre las estaciones. Se
necesitan pues, una serie de procedimientos para gestionar este intercambio.

Quizá la caracterı́stica más importante del nivel de enlace es que sea cual sea
la naturaleza del canal, este nivel se comporta como si fuese un hilo conductor,
de forma que los bits transitan por él en el mismo orden en que se emitieron
(secuencialmente).

2. FUNCIONES DEL NIVEL DE ENLACE

Entre las principales funciones que realizan el nivel de enlace están la de-
tección y corrección de los errores mediante mecanismos para detectar
cuándo ha habido errores en un marco y posteriormente recuperarse de los mis-
mos. Además se encarga también del control de flujo, es decir, de la regulación
del ritmo de envı́o de tramas desde el trasmisor con el fin de no abrumar a los
receptores lentos. Mientras que la capa fı́sica proporciona solamente un servi-
cio bruto de flujo de datos, la capa de enlace de datos intenta hacer el enlace
fı́sico seguro y proporciona medios para activar, mantener y desactivar el
enlace. Puesto que la capa fı́sica se encarga de la trasmisión de cadenas de bits
no estructuradas, una de las funciones del nivel de enlace será agrupar estos bits
en marcos en los que se incluirán además de los bits de información campos de
delimitación del marco (para saber cuál es el inicio y el final de dicho marco).

6
3. SERVICIOS DEL NIVEL DE ENLACE

El servicio principal de la capa de enlace es la transferencia de datos de la


capa de red de la máquina origen a la capa de red de la máquina destino. En la
máquina de origen hay una entidad o proceso que entrega unos bits a la capa
de enlace para su transmisión a la máquina de destino.

3.1. TIPOS DE SERVICIOS

3.1.1 Servicio no orientado a conexión sin confirmación.

En este tipo de servicio no se establece conexión previa y los marcos se envı́an


a la máquina destino sin acuse de recibo. Es válido para aplicaciones en tiempo
real.

7
3.1.2. Servicio no orientado a conexión con confirmación.

Aquı́ tampoco se establece conexión previa, pero en este caso cada marco es
notificado y confirmado por el destino al origen (reenvı́o de tramas ante errores).
Es apropiada para lı́neas con errores y evita la sobrecarga en niveles superiores.

3.1.3. Servicio orientado a conexión con confirmación.

Los marcos no se envı́an independientemente, sino que son numerados y antes


del envı́o de los mismos es necesaria una fase de establecimiento de la conexión
en la que se negocian los parámetros de comunicación entre emisor y receptor,
después se envı́a la información y finalmente se cierra la conexión. Cada marco
se recibe una y sólo una vez (una comunicación telefónica, por ejemplo).

4.TÉCNICAS

4.1. TÉCNICAS DE CONTROL DE ERRORES

En el nivel de enlace se incluyen los mecanismos adecuados que permitan


detectar cuándo ha habido errores en un marco y posteriormente recuperarse
de los mismos.

4.1.1 DETECCIÓN

Los métodos empleados para saber si se dan errores de transmisión en un


marco se basan en añadir ciertos bits de redundancia a cada trama, calculados
en el transmisor según una determinada regla. El receptor con la misma regla
calcula los bits de redundancia y los compara con los recibidos, si no coinciden,
ha habido error de transmisión.

La técnica más utilizada para detectar errores (aparte del uso de un bit
de paridad) es el uso de códigos de redundancia cı́clica (CRC). Lo que trata
de resolver esta técnica es que con la mı́nima redundancia se detecte el mayor
número de errores. A esta redundancia se le llama FCS (frame check sequence).
Necesitamos algunas definiciones:
M: mensaje a transmitir; k bits

8
F: longitud de la FCS; n bits
T: trama a transmitir; n+k bits
P: patrón elegido para calcular la FCS; n+1 bits

Estos códigos se llaman polinómicos porque se establece una relación uno


a uno entre un polinomio y una palabra de código. Por ejemplo, 1001♦ x3 +1
(Una palabra de m bits tendrá asociado un polinomio de grado m-1).

El emisor debe realizar las siguientes operaciones:

1. Multiplicar M(x) por Xn (para poder alojar la FCS tras el mensaje)


2. Dividir el resultado anterior por P(x) (polinomio generador)
3. El resto R(x) de la división anterior se suma a Xn M(x) para completar la
trama T que realmente se transmite.

El receptor únicamente ha de dividir la trama recibida entre el polinomio


generador; si el resto es 0, la trama ha llegado bien mientras que si es distinto
de 0 el receptor conoce que se ha producido un error.

EJEMPLO:

M=110011♦M(x)=X5 +X4 +X+1


P=11001♦P(x)=X4 +X3 +1
Xn M(x)= X9 +X8 +X5 +X4
Xn M(x)/P(x)=R(x)= X3 +1
T= Xn M(x)+R(x)= X9 +X8 +X5 +X4 +X3 +1=1100111001 (esto es lo que
realmente se transmite, es decir, el mensaje M junto con 4 bits de redundancia).

4.1.2. CORRECCIÓN
Para corregir los errores lo que se hace es incluir información adicional que per-
mite reconstruir el marco. Ası́, el marco constará de n bits (n = m+r), m bits
de datos y r bits de comprobación o redundancia. Este planteamiento es muy

9
similar al empleado en la detección solo que ahora es más complejo y se intro-
duce una mayor redundancia que va en consonancia con el número de errores
que deseemos poder corregir.
El método más usado para detectar y corregir errores es el método de Ham-
ming. Definimos la Distancia de Hamming como la distancia mı́nima entre las
palabras de un código, es decir, el número de bits en que difieren. Ası́ pues dos
palabras que difieran en una distancia d necesitan d errores para convertirse
una en la otra.

Las otras propiedades de detección/corrección de un código dependen de su


distancia Hamming:

• para detectar d errores se necesita un código con distancia d+1


• para corregir d errores se necesita un código distancia 2d+1

El método de Hamming consistirá por tanto en, dados m bits de mensaje,


añadir los r necesarios para corregir un bit (en su versión más sencilla).

Los pasos necesarios son:

• Numeramos de derecha a izquierda, comenzando por la posición


• Las posiciones cuyo subı́ndice coincida con potencia de 2 van a ser los bits
redundantes.
• El contenido de esos bits se determina con un criterio de prioridad. El dato
en posición k contribuye a los bits potencia de 2 en los que se descompone
k.

5. BIBLIOGRAFÍA

- Stalling, W: “Comunicaciones y redes de computadores”. Prentice-Hall.1997.

- Tanenbaum, A.S.,”Computer Networks”, Prentice-Hall

10

También podría gustarte