La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Capa de enlace.

Presentaciones similares


Presentación del tema: "Capa de enlace."— Transcripción de la presentación:

1 Capa de enlace

2 Capa de enlace Se encarga de lograr una comunicación eficiente y confiable entre dos máquinas adyacentes. Adyacentes significa conectadas mediante un “cable” Los problemas son: errores del medio físico retardo de los canales

3 Objetivos de la capa de enlace
Brindar servicios a la capa de red Entramado Control de errores Control de flujo

4 Servicios a la capa de red
Servicio de transferencia de datos de la capa 3 de una máquina origen a la capa 3 de otra destino Basados en la estructura de capas miramos como si habláramos a través de la capa 2

5 Capa de enlace

6 Servicios más razonables
sin conexión ni confirmación cuando hay baja tasa de error cuando datos atrasados son peores que datos erróneos (tiempo real=voz, video) uso en LANs sin conexión con confirmación en casos de canales con muchos errores (sistemas inalámbricos) con conexión y confirmación se sabe si los mensajes llegan o no se numeran y se hacen llegar en orden se asegura que llegan solo una vez

7 Ejemplo de conexión entre enrutadores

8 Entramado La capa 2 para dar el servicio a la capa de red debe valerse de la capa física Como hay errores en la capa física hay que detectar y eventualmente corregir errores División en tramas y hacer una suma de comprobación de cada una La división en tramas no es tan sencilla

9 Métodos de entramado Conteo de caracteres
corrupción en el encabezado de la trama no se puede re-sincronizar Caracteres de delimitación muy pensado para caracteres de 8 bits en ASCII Banderas de delimitación Violaciones del código de línea de la capa física

10 Conteo de caracteres

11 Caracteres de principio y fin

12 Banderas e inserción de bits

13 Control de errores Detectar errores en la trama recibida
Eventualmente comunicar a la entidad par la existencia de errores reconocimientos positivos o negativos Temporizadores para tramas que nunca llegan pueden generar duplicados Números de secuencia para evitar duplicados

14 Códigos correctores y detectores de error
Qué es un error ? Una trama tiene m bits y se agregan r bits de redundancia o de chequeo Los datos a transmitir serán n = m + r Distancia de Hamming es el número de bits en que difieren dos palabras del código La mínima es la distancia del código En general hay 2m mensajes válidos pero no todos los 2n lo son

15 Códigos correctores y detectores de error (2)
La detección y corrección se basa en la distancia de Hamming del código Para detectar d errores necesito un código de distancia d+1 Para corregir d errores necesito un código de distancia 2d+1 Ej: un bit de paridad agregado a los datos es de distancia 2, un error invalida la palabra sirve para detectar errores simples

16 Códigos correctores y detectores de error (3)
Si queremos un código para corregir errores simples con n = m + r Si invertimos cada uno de los n bits de una palabra de código tenemos n palabras de código ilegales a distancia 1 de la correcta Entonces cada uno de los 2m mensajes legales, debe tener n+1 palabras dedicadas que puedan ser unívocamente asignadas a él (n+1) 2m <= 2n => (m + r +1) <= 2r dado m hay un límite inferior para r

17 Códigos de Hamming Ejemplo real del límite teórico
Las posiciones 2i son ocupadas por los bits de chequeo (1,2,4,8, etc) Las restantes se ubican los datos Ejemplo: Palabras de 7 bits, se codifican en 7+4=11 bits ya que <= 24 (menos de 4 no cumple)

18 Códigos de Hamming (2) Palabra 1011001 queda ab1c011d001
hay unos en posición 3,6,7 y 11 11=1011 7=0111 6=0110 3=0011 suma=1001=dcba transmito en recepción sumo el índice de los que tienen 1 y si da 0 está bien, sino tengo la ubicación del error

19 Códigos de Hamming

20 Ráfagas y Matrices Hamming funciona para errores de un bit
Hay una “pisada”para que sirvan para errores en ráfagas Agrupar en forma de matriz y mandar por columnas Consideraciones: largo de la ráfaga el mensaje llega retardado

21 Códigos detectores de error
Si la tasa de error es baja conviene detectar y retransmitir a corregir En trama de 1000 bits se necesitan 10 bits de test para corregir y alcanza con un bit para detectar Si tengo tasa de error de 10-6 con corrección: 10*1000=10000 bits de mas con detección y retransmisión: envió 1* =2001 bits de mas

22 Códigos detectores de error
El problema con lo anterior es que con 1 bit la probabilidad de detección de una ráfaga es 0.5 Se pueden hacer matrices que mejora Se usan en general códigos polinómicos llamados también códigos de redundancia cíclica (CRC)

23 Códigos polinómicos Se tratan los mensajes de bits como coeficientes de un polinomio Si tengo un mensaje de k bits, ck-1..c0 lo puedo ver como un polinomio: ck-1xk-1+ck-2xk c0x0 Tengo un polinomio de grado k-1 Ej: se representa como x5+x4+x0

24 Códigos polinómicos (2)
La aritmética se hace en módulo 2, no hay acarreos y tanto la suma como la resta son idénticas al XOR Ejemplos División

25 Códigos polinómicos (3)
El transmisor y receptor deben ponerse de acuerdo en el uso del llamado polinomio generador G(x) Los coeficientes más y menos significativos de G(x) deben ser 1 El mensaje de m bits se representa como M(x) y la trama a transmitir es más larga que el largo de G(x)

26 Códigos polinómicos (4)
La idea es agregar una suma de comprobación al final de la trama de modo tal que el polinomio representado por el conjunto sea divisible entre G(x) El receptor divide lo que recibe entre G(x), si el resto es 0 no hay errores. Si es distinto de 0 es porque hubo errores en la transmisión

27 Códigos polinómicos (5)
El algoritmo es: Si r es el grado de G(x), agrego r bits en 0 en la parte menos significativa de la trama. Lo que tengo entonces es la representación de xr M(x) Divido xr M(x) entre G(x) con aritmética módulo 2 y obtengo un resto R(x) (con menos de r bits) Resto a R(x) a xr M(x) y el resultado es lo que se transmite T(x) que obviamente es divisible entre G(x)

28 Códigos polinómicos

29 Códigos polinómicos (6)
Analicemos la potencia del método Supongamos que hay un error y el receptor recibe T(x)+E(x) donde E(x) es el error y tiene un 1 en cada bit que se invirtió El receptor divide [T(x)+E(x)]/G(x) y como T(x)/G(x) = 0, el resultado es E(x)/G(x) Solo se escapan los patrones de error que correspondan a un polinomio divisible entre G(x)

30 Códigos polinómicos (7)
Si hay un error simple, E(x)=xi (*) lo detectamos si G(x) tiene más de dos términos Si hay dos errores, E(x)=xi+xj=xj(xi-j+1) si G(x) no es divisible por x (*) lo detectamos si G(x) no divide a xk+1 para cualquier k<i-j (largo de la trama) Hay polinomios de bajo grado que cumplen Ej. x15+x14+1 no divide xk+1 para k<32768

31 Códigos polinómicos (8)
Si hay un número impar de bits con error, E(x) contiene un número impar de términos no hay polinomios con esta característica (mod 2) que sean divisibles entre x+1. Detectamos esto si G(x) tiene a x+1 como factor Si hay una ráfaga de largo <=r es detectada Ráfaga de largo k es xi(xk ) Si G(x) tiene x0 no divide a xi entonces si k-1<r nunca será divisible Si k=r+1 solo será divisible si la ráfaga=G(x)

32 Códigos polinómicos (9)
Hay polinomios estandarizados: CRC x12+x11+x3+x2+x1+1 (carácter=6) CRC x16+x15+x2+1 (carácter=8) CRC-CCITT x16+x12+x5+1 (carácter=8) Los de 16bits detectan los siguientes errores 100% simples y dobles 100% los de número impar de bits 100% de ráfagas de largo 16 o menos 99.997% de ráfagas de 17 bits 99.998% de ráfagas de 18 o más bits


Descargar ppt "Capa de enlace."

Presentaciones similares


Anuncios Google