Clase 03 - Capa Enlace de Datos 01 (1).pdf

download Clase 03 - Capa Enlace de Datos 01 (1).pdf

of 35

Transcript of Clase 03 - Capa Enlace de Datos 01 (1).pdf

  • 1

    Redes de Comunicacin Informtica

    Unidad 3 Capa Enlace (1)

    Profesor: Daniel Forte Ingeniero en Informtica UCASal

    Mail: [email protected]

  • Redes de Comunicacin Informtica

    Unidad 3 Capa Enlace (1)

    Capa de Enlace Es la responsable de la interconexin directa,

    transparente y libre de errores entre dos puntos o entre dos nodos adyacentes dentro de una red.

    Proporciona los medios para activar, mantener y desactivar el enlace de datos.

    Proporciona la trama final o bloque de datos que se va a transmitir, facilita el flujo ordenado de datos entre dos nodos y permite la deteccin y recuperacin de errores

  • Redes de Comunicacin Informtica

    Unidad 3 Capa Enlace (1)

    Diseo bsico

    Funciones especficas:

    Proporcionar una interfaz de servicio bien definida con la Capa de Red

    Manejar los errores de Tx

    Como ?

    T R A M A S

  • 6

    Redes de Comunicacin Informtica

    Unidad 3 Capa Enlace (1)

    El manejo de las tramas es la tarea primordial de la capa de enlace de datos

    Andrew Tanenbaum Computer Networks

    Diseo Tramas

  • 7

    Redes de Comunicacin Informtica

    Unidad 3 Capa Enlace (1)

    Conteo de caracteres

    Banderas, con relleno de caracteres

    Banderas de inicio y fin, con relleno de bits

    No se puede hacer una trama simplemente dividiendola a intervalos regulares de tiempo, ya que las distintas computadoras pueden no estar sincronizadas hay que usar otras tcnicas para entramar

    Diseo Tramas

  • 8

    Redes de Comunicacin Informtica

    Unidad 3 Capa Enlace (1)

    Por un error de Tx, el 5 de la segunda trama se convirti en un 7. El destino pierde la sincrona; y lo peor de todo es que ser incapaz de localizar el inicio de la siguiente trama.

    La nica solucin en este caso es retransmitir el mensaje completo nuevamente.

    Conteo de caracteres

    Andrew Tanenbaum Computer Networks

    Diseo Tramas

  • 9

    Redes de Comunicacin Informtica

    Unidad 3 Capa Enlace (1)

    Banderas, con relleno de caracteres

    Andrew Tanenbaum Computer Networks

    Para evitar el no saber que trama volver a Tx en el caso de error de Tx, se agregan al comienzo y final de cada trama dos banderas (Flags) que me indican donde comienza y donde termina cada trama.

    Que sudede si Dato = Flag?

    Relleno de caracteres

    Diseo Tramas

  • 10

    Redes de Comunicacin Informtica

    Unidad 3 Capa Enlace (1)

    Banderas, con relleno de caracteres

    Andrew Tanenbaum Computer Networks

    Se insertan bytes de escapes (ESC) justo antes de cada bandera accidental en los datos..

    Si hay un ESC accidental, se inserta otro.

    El receptor deber quitar los ESC para reconstruir los caracteres del mensaje original

    Contra Delimitada a caracteres de 8 bits

    Diseo Tramas

  • 11

    Redes de Comunicacin Informtica

    Unidad 3 Capa Enlace (1)

    Banderas de inicio y fin, con relleno de bits

    Andrew Tanenbaum Computer Networks

    Permite caracteres de longitud arbitraria.

    Basicamente, reemplaza la bandera (Flag) anterior por un 01111110

    Cuando la capa de enlace del Tx se encuentra con cinco 1 seguidos, le agrega un 0 al flujo de bits salientes.

    Inversamente, cuando el receptor ve cinco 1 seguidos de un 0; borra ese 0

    Diseo Tramas

  • 12

    Redes de Comunicacin Informtica

    Unidad 3 Capa Enlace (1)

    Como asegurarnos que las tramas se entreguen sin errores y sea reconstruido el mensaje enviado en la capa de red del Rx?

    Manera normal retroalimentacin

    El protocolo exige al Rx que le regrese tramas de control especiales con informacin positiva o negativa de las tramas que le llegan.

    Si el Tx recibe una confirmacin +, sabe que la trama lleg Ok

    Si recibe un -, algo fall y la trama debe reenviarse

    Adicionalmente se agregan

    temporizadores, de manera que si pasado cierto tiempo de enviado no recepciono un + o un -, es una seal que la trama entera se perdi.

    secuenciadores, para evitar elevar a la capa de red dos veces la misma trama.

  • 13

    Redes de Comunicacin Informtica

    Unidad 3 Capa Enlace (1)

    Andrew Tanenbaum Computer Networks

    Cdigos de deteccin de errores Envan informacin junto con los datos que nos permiten deducir que ocurri un error, pero no cual, y por ende que pida una retransmisin

    Cdigos de correccin de errores Envan informacin redundante junto con cada bloque de datos a enviar al receptor para deducir que carcter se envi errneamente y corregirlo

    Deteccin y Control de Errores

  • 14

    Redes de Comunicacin Informtica

    Unidad 3 Capa Enlace (1)

    Vertical redundancy check (VRC) o Paridad Longitudinal Redundancy Check (LRC) Cyclic Redundancy Check (CRC) Check Sum

    Concepto de Paridad: Se suman los bits y se agrega un 0 o un 1 para obtener una cantidad par o impar de unos segn la paridad elegida paridad par cantidad par de 1 paridad impar cantidad impar de 1 Se agrega este bit, llamado bit de paridad, al final del cdigo.

    Deteccin de Errores

  • 15

    Redes de Comunicacin Informtica

    Unidad 3 Capa Enlace (1)

    Vertical redundancy check (VRC)

    Al cdigo ASCII, le agrega un octavo bit adicional llamado bit de paridad El caracter final queda con 8 bits. Al Rx, se calcula nuevamente la paridad y se la verifica segn el criterio usado en la Tx

    Transmisin de datos y Redes de Comunicaciones Behrouz Forouzan

    Deteccin de Errores

  • 16

    Redes de Comunicacin Informtica

    Unidad 3 Capa Enlace (1)

    Vertical redundancy check (VRC) Ejemplo: Tx la palabra world con VRC 1110111 1101111 1110010 1101100 1100100 w o r l d Le agrego el bit de paridad a cada uno 11101110 11011110 11100100 11011000 11001001 Cuando el Rx la recepciona cuenta, si da par asume que es correcto el dato recibido. En el ejemplo 6,6,4,4,4 no hubo error

    Transmisin de datos y Redes de Comunicaciones Behrouz Forouzan

    Problema: No detecta la doble inversin (errores x pares)

    Deteccin de Errores

  • 17

    Redes de Comunicacin Informtica

    Unidad 3 Capa Enlace (1)

    Longitudinal Redundancy Check (LRC) Se agrega un caracter de chequeo de bloque (BCC - Block Check Character) al final de cada bloque de caracteres transmitidos. El primer bit del BCC sirve como paridad de todos los primeros bits de los caracteres en el block. El segundo bit sirve como paridad de todos los segundos bits en el block, etc, etc.

    Transmisin de datos y Redes de Comunicaciones Behrouz Forouzan

    Deteccin de Errores

  • 18

    Redes de Comunicacin Informtica

    Unidad 3 Capa Enlace (1)

    Longitudinal Redundancy Check (LRC) Ejemplo Se envia el siguiente bloque 10101001 00111001 11011101 11100111 10101010 Pero se reciben estos 10100011 10011001 11011101 11100111 10101010 ++++++++ En esta zona hubo ruido (rfaga de ruido de 8 bits) El Rx comprueba el VRC en cada uno y el LRC final, y al encontrar que algunos bits no respetan la paridad

    descarta todo el bloque

    Transmisin de datos y Redes de Comunicaciones Behrouz Forouzan

    Deteccin de Errores

  • 19

    Redes de Comunicacin Informtica

    Unidad 3 Capa Enlace (1)

    Cyclic Redundancy Check (CRC): Detecta bits con error mejor que VRC o LRC o ambos. Se calcula para cada bloque de datos transmitidos. Usa una funcin polinmica para generar los caracteres de chequeo de bloque. Se puede calcular a medida que se reciben los caracteres de un bloque, lo que le da velocidad. Gracias a su confiabilidad, CRC se volvi un mtodo estndar de deteccin de errores para la transmisin de bloques de datos.

    Como funciona:

    D (x) + R (x) = c (x) + R G (x)

    Deteccin de Errores

  • 20

    Redes de Comunicacin Informtica

    Unidad 3 Capa Enlace (1)

    Cyclic Redundancy Check (CRC): D (x) + R (x) = c (x) + R G (x) Consiste en dividir el mensaje original D(x) por un polinomio conocido a ambos extremos, denominado generador G(x) Al mensaje original se le agrega un polinomio del grado del generador. Como resultado de esta divisin, se obtendrn dos polinomios denominados cociente y resto [ c (x) y R respectivamente ] El mensaje transmitido entonces ser una composicin del mensaje original ms el resto obtenido D (x) + R En el receptor se procede en forma anloga, dividiendo el mensaje por G(x). Si el resto obtenido es cero, el mensaje recibido es correcto.

    Deteccin de Errores

  • 21

    Redes de Comunicacin Informtica

    Unidad 3 Capa Enlace (1)

    Cyclic Redundancy Check (CRC):

    Ejercicio: Calcular el CRC a 1101011011 utilizando un polinomio generador del tipo x4+x+1

    Deteccin de Errores

  • 22

    Redes de Comunicacin Informtica

    Unidad 3 Capa Enlace (1)

    Cyclic Redundancy Check (CRC):

    Comprobacin en el Receptor

    Sin errores Con errores 11010110111110 11010100111110 10011 10011 010011 010011 10011 10011 10111 00111 10011 10011 0010011 10100 10011 10011 00 0011111 10011 011000 10011 01011

    Resto = 0

    Mensaje correcto

    Resto = 1011

    Mensaje incorrecto

    Deteccin de Errores

  • 23

    Redes de Comunicacin Informtica

    Unidad 3 Capa Enlace (1)

    Cyclic Redundancy Check (CRC): Polinomios generadores: El primero se usa para caracteres de 6 bits, los dos siguientes para caracteres de 8 bits y el ltimo para 16 bits.

    Deteccin de Errores

    University of Cambridge Computer Laboratory Systems Research Group, February 1994.

  • 24

    Redes de Comunicacin Informtica

    Unidad 3 Capa Enlace (1)

    Cyclic Redundancy Check (CRC):

    El uso de estos polinomios generadores nos asegura descubrir

    100% de errores simples.

    100% de errores dobles (salvo el caso excepcional que estn separados exactamente (2^16)-1 bits)

    100% de errores de un nmero impar de bits.

    100% de errores en rfagas (en una serie sucesiva de bits) de 16 o menos bits.

    99.99% de errores en rfagas de 18 o ms bits.

    Deteccin de Errores

  • 25

    Redes de Comunicacin Informtica

    Unidad 3 Capa Enlace (1)

    Cyclic Redundancy Check (CRC):

    Limitaciones

    La CRC sirve para verificar la integridad de la Tx, pero no para saber si el mensaje es correcto.

    Por qu?

    Numerosos cdigos producirn el mismo CRC.

    Si la manipulacin del mensaje (cambios de los bits) es deliberada, entonces se tomar una nueva clave, produciendo un falso CRC el cual puede ser calculado para el nuevo mensaje y sustituir el CRC real en el final del paquete y esta modificacin no podr ser detectada.

    Deteccin de Errores

  • 26

    Redes de Comunicacin Informtica

    Unidad 3 Capa Enlace (1)

    Hagamos un ejercicio Tenemos que Tx M(x) = 10101001 Usaremos un G(x) = X

    4 + X + 1

    Por lo que el grado del polinomio R (x) = 4

    Cual es el polinomio que transmitir?

    Se verifica en el Receptor que lleg sin errores?

    Variarle un bit; y repetir el proceso de lectura en el receptor, verificar el error.

    Recordar

    0 0 0 0 1 1 1 0 1 1 1 0

  • 27

    Redes de Comunicacin Informtica

    Unidad 3 Capa Enlace (1)

    CheckSum

    Es menos potente que el CRC, pero TCP / UDP e IP lo utilizan

    Consiste en enviar una trama modificada (Tr. Original + CheckSum)

    El CheckSum se obtiene como resultado de la suma binaria de la trama original, Para ello separamos la Tr. en bloques de igual cantidad de bits; y al resultado obtenido le calculamos el complemento a uno (Ca1).

    El receptor hace nuevamente la suma; y calcula un nuevo CheckSum, este lo suma al CheckSum enviado originalmente; si la suma da todos 1, el mensaje recibido es correcto, sin; hay error

    Deteccin de Errores

  • 28

    Redes de Comunicacin Informtica

    Unidad 3 Capa Enlace (1)

    D

    E

    CheckSum

    Ejemplo

    Quiero Tx la trama 00110101100000100010

    La divido en 5 pedazos de 4 bits cada uno

    A = 0011

    B = 0101

    C = 1000

    D = 0010

    E = 0010

    A

    B

    C

    Deteccin de Errores

  • 29

    Redes de Comunicacin Informtica

    Unidad 3 Capa Enlace (1)

    A = 0011

    B = 0101

    1000

    C = 1000

    10000

    0001

    D = 0010

    0011

    E = 0010

    CkS 0101

    Ca1 1010

    Tx 001101011000001000101010

    En el receptor,

    Se repite la suma binaria de la trama,

    incluyendo la redundancia enviada; si

    el resultado es

    Res 1111

    Si

    Res < > 1111

    Deteccin de errores por el mtodo de CheckSum

    OK

    Error

    A B C D E Ca1

  • 31

    Redes de Comunicacin Informtica

    Unidad 3 Capa Enlace (1)

    Cdigos de correccin de errores El Codigo Hamming

    Inventado por Richard Hamming en 1950 Basado en dos conceptos: Redundancia: El concepto de paridad

    Deteccin y Control de Errores

  • 32

    Redes de Comunicacin Informtica

    Unidad 3 Capa Enlace (1)

    Redundancia: el mensaje es dividido en dos partes

    los bits de datos del mensaje los bits de redundancia para verificar el mensaje

    Paridad

    valor de los bits de redundancia bit paridad par: el bit tiene el valor de tal forma que el peso de la palabra sea par bit paridad impar: el bit tiene el valor de tal forma que el peso de la palabra sea impar

    Deteccin y Control de Errores

  • 33

    Redes de Comunicacin Informtica

    Unidad 3 Capa Enlace (1)

    Supongamos tener un mensaje m, para aplicarle Hamming debemos agregarle a ese mensaje unos valores de redundancia r, asi la trama a transmitir tendr un valor n = m + r n = palabra codificada Debemos entonces transmitir una PALABRA que estar formada por los datos originales y por los bits de redundancia que deberemos calcular puntualmente y agregar. Los valores de redundancia as como los valores de datos deben estar ubicados estratgicamente dentro de la palabra a transmitir. Para no equivocarnos (o para volvernos locos) Hamming defini una regla, que dice lo siguiente: Para la 1era. Posicin (20), coloco uno, salto uno, coloco uno, salto uno Para la 2da. Posicin (21), coloco dos, salto dos, coloco dos, salto dos Para la 3ra. Posicin (22), coloco cuatro, salto cuatro, coloco cuatro, salto cuatro Para la 4ta. Posicin (23), coloco ocho, salto ocho, coloco ocho, salto ocho En resumen, coloco 2P, salto 2P,pero el primer bit de cada posicin es una r

    Deteccin y Control de Errores

  • 37

    Redes de Comunicacin Informtica

    Unidad 3 Capa Enlace (1)

    Para armar la palabra Hamming entonces, numeramos cada posicin, y para calcular adonde estarn los datos y adonde las redundancias, aplicamos la regla recin definida, teniendo en cuenta que el primer dato ser la redundancia a calcular y agregar. coloco 2P, salto 2P

    A medida que vayamos llenando las redundancias, nos quedar claro cuales sern los datos con los que la calcularemos. La redundancia se calcular aplicando Paridad Par a los datos involucrados.

    Deteccin y Control de Errores

  • 38

    Redes de Comunicacin Informtica

    Unidad 3 Capa Enlace (1)

    Paso 1 : Colocamos los datos en las posiciones adecuadas, (posiciones 3, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 17, etc.)

    Paso 2 : bajamos los datos a la fila correspondiente, de manera de poder calcular los bits de paridad

    Paso 3 : simplemente unimos los bits de paridad con los datos, y tendremos como resultado la palabra Hamming

    Paso 4 : comenzamos con la comprobacin, ahora modificaremos un bit.

    Paso 5 : calculamos la posicin del bit errneo, gracias a los bits de paridad analizaremos y los bits de paridad

    nos devolvern el numero de bit errneo para su correccin.

    Deteccin y Control de Errores

  • 39

    Redes de Comunicacin Informtica

    Unidad 3 Capa Enlace (1)

    Ejemplo

    Consideremos la palabra de datos de 7 bits "0110101".

    Se utiliza la d para indicar los bits de datos y la p para los de paridad

    En primer lugar los bits de datos se insertan en las posiciones apropiadas y los bits de paridad calculados en cada caso usando la paridad par.

    C lculo de los bits de paridad en el c d . Hamming p1 p2 d1 p3 d2 d3 d4 p4 d5 d6 d7

    Palabra de datos (sin paridad): 0 1 1 0 1 0 1

    p1 1 0 1 0 1 1

    p2 0 0 1 0 0 1

    p3 0 1 1 0

    p4 0 1 0 1

    Palabra de datos (con paridad): 1 0 0 0 1 1 0 0 1 0 1

    Correccin de Errores - Hamming

  • 40

    Redes de Comunicacin Informtica

    Unidad 3 Capa Enlace (1)

    Cual es el bit erroneo?

    El receptor cambia el bit 11 !!!

    No necesita RRx

    Correccin de Errores - Hamming

  • Redes de Comunicacin Informtica

    Unidad 3 Capa Enlace (1)

    Temario Unidad 3 Capa de Enlace de Datos (1)

    Capa de Enlace

    Diseo bsico

    Tramas

    Conteo de Caracteres

    Banderas, con relleno de caracteres

    Banderas, de inicio y fin, con relleno de bits

    Deteccin y Control de Errores

    Deteccin - VRC LRC CRC - Checksum

    Correccin - Hamming