1. CAPA DE ENLACE DE DATOS
El objetivo de esta capa, es el de enviar un paquete de datos desde un origen hasta su
destino, y la verificación de errores, si la trama ha llegado en forma completa o
incompleta e implementa mecanismos de recuperación de errores.
En esta capa funcionan los dispositivos de NIC, Switch y puentes.
NIC: Porque cada NIC individual en cualquier parte del mundo lleva un nombre
codificado único denominado dirección de control de acceso al medio (MAC), formado
por 48 bits, y representado en el sistema hexadecimal, es decir 12.DA.4B.F5.C4.AB,
donde cada hexadecimal es representado por 4 bits, que en total son: 4*12= 48 bits
SUBCAPAS
Subcapa : MAC – control de acceso al medio
Subcapa : LLC – Control de enlace lógico
En esta capa se utilizan los puentes, los puentes utilizan tablas con direcciones MAC, de
todas las PCs que están conectadas hacia el puente.
Por ejemplo:
Cuando existen muchos Pcs que forman una red LAN(100 PCs), esta red se puede
dividir unsando puentes, con el único objetivo de disminuir el trafico de redes y por
tanto disminuir las colisiones.
El trabajo en si de la capa de: control de enlace de datos es entregar a la capa física,
marcos o frames o tramas, que son trenes de bits que serán transportados por el medio
en la capa física.
Para detectar y controlar los errores se añaden bits de paridad, se usan CRC (Códigos
Cíclicos Redundantes) y envío de acuses de recibo positivos y negativos, y para evitar
tramas repetidas se usan números de secuencia en ellas.
ESTRUCTURA DE LA TRAMA
inicio de trama dirección longitud/tipo datos FCS fin de trama
• Campo de inicio de trama: secuencia de bytes de inicio y señalización,
que indica a las demás máquinas en red que lo que viene a continuación es
una trama.
• Campo de dirección: secuencia de 12 bytes que contiene información para
el direccionamiento físico de la trama, es decir la dirección MAC del host
emisor y la dirección MAC del host destino.
• Campo longitud/tipo: Indica la longitud de los datos a enviar y el tipo de
información a enviarse, ocupa 2 bytes.
• Campo de datos: campo de 64 a 1500 bytes, en el que va el paquete de
datos a enviar.
• Campo FCS: o campo de secuencia de verificación de trama, de 4 bytes,
que contiene un número calculado mediante los datos de la trama, usado
2. para el control de errores en la transmisión. Cuando la trama llega al host
destino, éste vuelve a calcular el número contenido en el campo. Si
coinciden, da la trama por válida; en caso contrario, la rechaza.
Generalmente se usan el método Checksum (suma de bits 1), el de paridad
(números de bits 1 par o impar.
• Campo de fin de trama: aunque mediante los campos inicio de trama y
longitud se puede determinar con precisión dónde acaba una trama, a veces
se incluye en este campo una secuencia especial de bytes que indican a los
host que escuchan en red el lugar donde acaba la trama.
Cuando se da una transferencia de datos, es decir una comunicación, se tiene que
ejecutar los siguientes procesos:
COORDINACION DE LA COMUNICACIÓN
DETECCION DE ERRORES
RETRANSMISION DE TRAMAS
RECUPERACION ANTE FALLOS
COORDINACION DE LA COMUNICACIÓN: En este punto el metodo mas usado
es el metodo de contienda, que consiste en que dos o mas terminales inician una
transmisión al mismo tiempo, produciendose asi una colision, y ante esto estudiaremos
algunos procedimientos para detectar y recuperarse de las colisiones.
El procedimiento del metodo de contienda es el siguiente:
- Escuchar antes de transmitir: antes de enviar datos por el circuito por los medios
que son la red, se comprueba si en ese momento ya existe una comunicación en
curso.
- Si no se detecta una señal, se inicia la transmisión , pero puede ocurrir que dos
terminales hayan comprobado simultáneamente la no existencia de señal en el
circuito y empiecen los dos a transmitir simultáneamente
- Para detectar inmediatamente las colisiones, se usa la técnica conocida
auscultación con detección de colisión, que consiste en comprobar que los datos
en el circuito trasmitidos coincidan con los transmitidos por el mismo Terminal,
si estos datos son diferentes, entonces son dos Pcs los que transmiten, y se sabe
que existe una colisión y se detiene la transmisión.
- Una vez detectado la colisión, se espera un tiempo determinado para intentar de
nuevo la comunicación, donde cada terminal espera un tiempo aleatorio, después
podemos seguir intentando y podríamos tener la mala suerte de que siga viendo
colisiones, en este caso tras un numero determinado de intentos se abortaría el
proceso de comunicación.
- Los tiempos de espera podrían ser utilizados para establecer prioridades, ya que
aquellos Pcs que no han tenido suerte pueden tener ahora mayores prioridades.
Los problemas de colisión son bien extendidos en redes de área local
DETECCION DE ERRORES En este punto se trata, de que al enviar una trama de
información, ¿como se que la trama ha llegado en forma integra?. Sabemos que el
medio, por donde enviamos la información están propensos a multitud de ruidos y
distorsiones que hacen que la señal que inicia en el pc emisor no sea la misma en el pc
destino. Aquí veremos el método de paridad.
Este método consiste en añadir un bit de paridad, que puede ser par o impar a cada uno
de los caracteres transmitidos. Aquí el Terminal receptor cuenta el numero de bits uno
3. de cada carácter, comprobando que dicha suma de cómo resultado un numero
impar(paridad impar) o un numero par (paridad par), Si se produciera un error aquí le
indican al Terminal emisor que vuelva a retransmitir la trama.
A este bit de paridad también se le conoce como paridad vertical.
EJEMPLO DE PARIDA IMPAR:
10110110
01110101
00101001
Como podemos ver este método solo detecta errores de un solo bit, ya que si nos
ponemos en el caso de que dos bits se alteren, al final la paridad seguirá siendo impar,
pero con la diferencia de ha sucedido un error. Para evitar y detectar tales errores se
incluye un carácter llamado carácter de comprobación horizontal.
10110110
01110101
00101001
00010101
Aquí podemos ver la suma de unos bits impar también debe darse en forma horizontal,
es decir que la suma de unos también sea impar, y de esta forma (paridad vertical y
horizontal) podría llegar a detectar y corregir todos los errores de un bit de un solo
caracter.
RETRANSMISION DE TRAMAS Lo que sigue a continuación es que una vez que se
han detectado el error, ahora viene la retransmisión de tramas, aquí hay dos métodos: el
método de parada y espera y el método de envío continuo
Parada y espera: Aquí una vez detectado el error, el Terminal emisor, después de
enviar cada trama espera a recibir una contestación de aceptación o rechazo de la
misma, si la transmisión es correcta, el Terminal receptor envía un mensaje de
confirmación, por el contrario un mensaje de rechazo, lo cual hace que el Terminal
emisor retransmita la ultima trama enviada. El problema aquí es que durante el tiempo
que el Terminal emisor esta esperando la confirmación de la trama no transmite
información.
Envio continuo: esta es una solución mas eficiente que la anterior, este método consiste
en el envío continuo de información, sin tener que detener la transmisión durante el
periodo de espera de la confirmación de cada trama, para poder hacer esto cada trama
debe poderse identificar frente a sus vecinos. Aquí existen dos modalidades de envío:
- Envio continuo no selectivo: esto se da cuando el Terminal emisor recibe un
rechazo de una trama n, se retransmiten todas las tramas emitidas a partir de la
trama n, aquí incluso se transmiten tramas que no son erróneas, aquí se pierde
mucho tiempo, para evitar esto , entonces se pensó en:
- Envio continuo selectivo: Aquí el Terminal emisor solo retransmite la trama
identificada por el Terminal receptor como errónea.
RECUPERACION ANTE FALLOS Supongamos que el Terminal emisor termina de
enviar su ultima trama y esta esperando un mensaje de aceptación o rechazo de la
misma, ¿Qué ocurre si ese momento, por ejemplo si se desconectara el Terminal
receptor, o se cortara la línea de comunicación, o simplemente un ruido en la línea
destruyera el mensaje de respuesta?
4. En principio el Terminal emisor se quedaría esperando eternamente hasta que le llegue
dicha respuesta, esto quiere decir que para este Terminal la comunicación se quedaría
bloqueada. Para esto se usa conceptos como:
- Establecimientos de plazos de espera
- Solicitud de una nueva respuesta si vence dicho plazo
- Limitación del número de intentos, tras el cual el fallo se da por irrecuperable.