06- Capa de enlace.

Es la capa 2 de la arquitectura OSI. Se encarga de conseguir que la comunicación de datos se produzca correctamente a través de un medio físico de transmisión. Para lograr que dos dispositivos adyacentes se comuniquen, se necesita un control de intercambio de datos: el control del enlace.
La capa de enlace proporciona a la capa de Red un servicio de transporte de bits fiable(asegura que los bit se transmiten correctamente por el medio físico).
El bloque de datos transmitido se denomina trama.

Funciones de la capa de enlace

Sincronización a nivel de trama.
Control de flujo: las estaciones deben ponerser de acuerdo en el ritmo de transmisión de datos.
Control de errores: los enlaces no son perfectos, hay que controlar que no haya errores en la transmisión.
Direccionamiento: si hay varios posibles destinos, es necesario identificar a quien va dirigida la trama.
Gestión del enlace:

MAC y LLC

En la arquitectura IEEE 802, el nicel de enlace se divide en dos subcapas:

Tramas

Una trama es un bloque de bits agrupados que son enviados por la línea. El tamaño de la trama depende del tipo de red.
Agrupar los bits en tramas facilita:

Una trama se compone de tres partes:

Control de flujo

Algunos protocolos de nivel 2 lo soportan. No es el caso de Ethernet.

Acceso al medio

Calsificación general

FDM

Se multiplexa el canal por frecuencia. Cada canal se asigna a un nodo de la red. Usado en:

TDM

Se multiplexa el canal por tiempo (a la Round Robin). Cada canal se asigna a un nodo de la red. Más común en transmisiones digitales:

Paso de testigo

Cada nodo debe esperar a tener el turno de emisión. El turno se utiliza, y se cede al siguiente por un testigo.

Ejemplos: Token Bus

CSMA/CD

Carrier-sense multiple access with collision detection
Multiple access: Cualquiera puede emitir usando el mismo medio.
Carrier-sense: Antes de emitir, se comprueba que nadie más esté emitiendo.
Collision detection:

CSMA/CA

Carrier-sense multiple access with collision avoidance
Similar a CSMA/CD
Collision avoidance para evitar los nodos ocultos:

Control de errores

Consiste en enviar algunos bits añadidos a los datos con información que permita detectar o corregir los errores.
El procentaje de redundancia se calcula como:

                      bits_de_control
                    ___________________ x 100
                       bits_totales
            
Los errores pueden:

Errores

- Un único bit, más comunes en transmisiones en paralelo.
- Ráfaga de bits, una interferencia actúa sobre los medios de transmisión. Perturban varios bits seguidos. Afectan más a comunicaciones en serie.

Detección de errores

ECO

El recpetor envía una copia exacta de la información recibida al emisor.
El emisor confirma con otra trama que la información es correcta.

Paridad lineal

Se añade un bit extra, indicando si el número de bits con valor a 1 es par o impar.

Paridad de bloque

                            Datos                Paridad lineal
                 
                            1100 0 01                   0
                 
                            0110 1 10                   0
                 
                            1011 0 10                   0
                 
                            1001 1 11                   1
                 
                            0111 0 01                   0
                 
                            1100 1 11                   1
                 
                            1010 0 00                   0
                            ___________________________________
        Paridad de bloque   0001 0 00                   0
                
        

Conclusión

Distancia de Hamming

Cuando se produce un error, cambian algunos bits.
Según la codificación utilizada, no todas las combinaciones de 0's y 1's son posibles. Ej: 4B/5B.
La distancia de Hamming de un código es la cantidad de bits que hay que cambiar en una combinación válida para llegar a otra combinación válida.
Cuanto mayor sea la distancia, más robusto es el código frente a errores.

CRC

Al principio de la comunicación, emisor y recpetor acuerdad un Polinomio Generador. Al iniciar la transmisión se añaden un número predeterminado de ceros a la información a enviar y se divide utilizando el polinomio generador.
El receptor realiza nuevamente una división sobre los datos recibidos y si el resto es 0 indica que la trama se ha recibido sin errores.
Finalmente, se descartan los bits añadidos en el transmisor para quedarnos con el mensaje original.

¿Por qué CRC?

Hay versiones de CRC para diferentes longitudes de polinomio: CRC16, CRC32,...
Los errores se producen típicamente a ráfagas. Para un CRC de n bits:

Corrección de errores

La detección de errores es el principal paso, una vez detectado:

Ethernet no corrige errores, pero veremos algunas técnicas que pueden usar otras capas 2.

Retransmisión

Es el método de corrección más sencillo. Se detecta el error y se pide al emisor que vuelva a enviar la trama.
Se tienen que memorizar las tramas enviadas hasta la recepción de un ACK que confirme que el envío de información fue exitosa.

Corrección: Código Hamming

Codificación que permite la detección y la corrección de un bit. Tiene distancia 3.
Se influyen bits de paridad de la siguiente forma:

Ejemplo Hamming(11,7). Para la transmisión de 0110101
           
                p1  p2  d1  p3  d2  d3  d4  p4  d5  d6  d7
                s1  s2  s3  s4  s5  s6  s7  s8  s9  s10 s11
        Datos           0       1   1   0       1   0   1
        p1              0       1       0       1       1
        p2              0           1   0           0   1
        p3                      1   1   0
        p4                                      1   0   1
        

¿Y si hay más de un error?

Su distancia de Hamming es 3, así que no se puede detectar.
En Hamming extendido se añade un bit de paridad adicional, permite detectar errores de dos bits, pero no corregirlos.

Human Computing 3.0 ©