Você está na página 1de 15

UNIVERSIDAD AUTONOMA DE LOS ANDES UNIANDES

1. INTRODUCCION Objetivo: Conocer cmo detectar, corregir y los diferentes tipos de errores que se encuentran en la capa de enlace. 1.1 TEMA CONTROL DE ERRORES, ORIGEN DE ERRORES, DETECCION DE ERRORES Y CORRECCION DE ERRORES 1.2 CONCEPTOS 1.2.1 Control de errores

Los circuitos de comunicacin a larga distancia suelen tener una tasa de errores comparativamente alta frente a otros medios como las redes locales. En el caso de las redes locales, dada la baja tasa de errores, la capa de enlace solo realiza la deteccin de errores dejando los algoritmos o mecanismos de correccin de los mismos a las capas superiores. Los errores pueden producirse en los nodos terminales o de conmutacin de la red. En las interfaces que los conectan a las lneas de transmisin. La aceptabilidad de los errores en comunicacin depende del contenido de los datos. Funcin Principal Asegurar que todas las tramas sean entregadas sin error a la capa de red del extremo del receptor y en el orden correcto.

Los errores de los datos pueden deberse a: - Nmero de bits recibidos > = < nmero de bits que se transmitieron - Los bits recibidos pueden estar errados

UNIVERSIDAD AUTONOMA DE LOS ANDES UNIANDES

Control de errores: El RX debe poder determinar si la trama recibida esta correcta o posee errores de transmisin. Cdigos de Deteccin Incluye informacin adicional en la trama Solo indica si ha ocurrido un error. Cdigos de Correccin Incluye mayor informacin adicional en la trama Indica donde se encuentra los errores.

1.2.2

Cdigos de Errores

Los cdigos en funcin de la distancia de Hamming (d) pueden ser: Detectores: slo permiten detectar d-1 errores, p. ej. CRC (Cyclic Redundancy Check). Este tipo de cdigos se llaman BEC Backward Error Correction, de forma que tienen que solicitar al emisor, hacia atrs (back) el reenvo. Correctores: permite corregir (d-1)/2 errores. Este tipo de cdigos tambin se llaman FEC del ingls Forward Error Correction. p. ej. RS (Reed-Solomon). Los cdigos detectores tienen menos overhead, pues necesitan incorporar menos redundancia. Los cdigos correctores se utilizan bien en conexiones simplex, bien en multicast o bien en tiempo real.

1.2.3

Tipos de Errores

Los tres tipos de errores ms importantes que se pueden producir son los siguientes: Tramas de datos que llegan con informacin errnea, es decir, algunos de sus dgitos binarios han cambiado de valor.

Durante el viaje de una trama por el medio, los dgitos binarios que la componen pueden alterar su valor, bien por defectos en la lnea o por ruido procedente del exterior. La tcnica ms utilizada para que el receptor pueda detectar si existen dgitos de informacin errneos es utilizar informacin de control redundante, algo as como repetir" los dgitos enviados por trama. El receptor slo tendr que comparar esa informacin recibida para detectar los errores.

UNIVERSIDAD AUTONOMA DE LOS ANDES UNIANDES

Tramas que llegan incompletas, algunos dgitos binarios se han perdido.

Otra posibilidad es que una enorme cantidad de ruido haga que se pierda gran parte de la trama y el receptor slo pueda recuperar una parte de ella. En esas situaciones, es necesario que exista algn mtodo que permita distinguir unas tramas de otras, para que el receptor pueda saber si falta alguna parte o para impedir que puedan mezclarse. Las tcnicas utilizadas tienen que ver con la delimitacin de tramas y se exponen en el punto siguiente.

Tramas que no llegan, se han perdido completamente.

Una complicacin adicional es que existe la posibilidad de que una trama se pierda completamente por problemas en el hardware (por ejemplo, una rfaga de ruido o la rotura de un enlace en la red). En este caso, el receptor no podr reaccionar ya que no tendr motivo para hacerlo. Debe quedar claro que en un protocolo en que el emisor transmite la trama y entonces espera por el reconocimiento positivo o negativo podra bloquearse si la trama se pierde completamente. 1.2.4 Tasa de Errores

Tasa de errores (BER) La tasa de errores de un medio de transmisin se mide por la BER (Bit Error Rate) que se define como: BER = bits errneos / bits transmitidos

1.2.5

Origen de errores

Se producen por dos tipos de fallos diferentes en su naturaleza: 1.2.5.1 Sucesos Estticos: Resultan ms sencillos de manejar, porque sus efectos son predecibles de antemano. As, se compensa la atenuacin de altas frecuencias con amplificadores ecualizadores, las distorsiones 3

UNIVERSIDAD AUTONOMA DE LOS ANDES UNIANDES

se corrigen con cables de baja capacidad o baja inductancia, el apantallamiento de los conductores disminuye las interferencias de la radio. 1.2.5.2 Sucesos Transitorias La mayora de errores transitorios estn producidos por interferencias elctricas y electromagnticas en la lnea de comunicaciones. Estas interferencias se derivan de meteoros atmosfricos (rayos), de la presencia de otros dispositivos emisores de ondas electromagnticas, encendido o apagado de motores. En general, la mayora de los casos de errores se deben a interferencias electromagnticas, lo que implica que los errores no se suelen presentar en forma de bits individuales, sino en forma de rfagas de bits errneos. 1.2.6 Tcnicas para corregir errores

Se trata en este caso de detectar y corregir errores aparecidos en las transmisiones. Puede haber dos tipos de errores: Tramas prdidas: Cuando una trama enviada no llega a su destino. Tramas daadas: Cuando llega una trama con algunos bits errneos.

Hay varias tcnicas para corregir estos errores: 1. Deteccin de errores: Discutida antes. 2. Confirmaciones positivas: El receptor devuelve una confirmacin por cada trama recibida correctamente. 3. Retransmisin despus de la expiracin de un intervalo de tiempo: Cuando ha pasado un cierto tiempo, si el emisor no recibe confirmacin del receptor, reenva otra vez la trama. 4. Confirmacin negativa y retransmisin: El receptor devuelve una confirmacin negativa al detectar errores en las tramas recibidas, y el emisor las reenva. 1.2.7 ARQ (Solicitud de repeticin automtica)

1.2.7.1 ARQ CON PARADA Y ESPERA El emisor espera un tiempo a la confirmacin de la recepcin de cada trama. Si se supera el tiempo, se reenva la trama. Si la confirmacin de pierde, el receptor reenviar la misma trama. Es necesario numerar las tramas (para evitar que el reenvo de la misma trama sea tomado como dos tramas en el receptor) y las confirmaciones. ACK0 confirma recepcin de la trama 1 y en espera de recibir una trama 0.

UNIVERSIDAD AUTONOMA DE LOS ANDES UNIANDES

1.2.7.2 ARQ CON ADELANTE ATRS N

UNIVERSIDAD AUTONOMA DE LOS ANDES UNIANDES

1.2.7.3 ARQ CON RECHAZO SELECTIVO

1.3 Deteccin de errores

La comunicacin entre varias computadoras produce continuamente un movimiento de datos, generalmente por canales no diseados para este propsito (lnea telefnica), y que introducen un ruido externo que produce errores en la transmisin. Por lo tanto, debemos asegurarnos que si dicho movimiento causa errores, stos puedan ser detectados. El mtodo para detectar y corregir errores es incluir en los bloques de datos transmitidos bits adicionales denominados redundancia. Se han desarrollado dos estrategias bsicas para manejar los errores:

Incluir suficiente informacin redundante en cada bloque de datos para que se puedan detectar y corregir los bits errneos. Se utilizan cdigos de correccin de errores. Incluir slo la informacin redundante necesaria en cada bloque de datos para detectar los errores. En este caso el nmero de bits de redundancia es menor. Se utilizan cdigos de deteccin de errores.

Si consideramos un bloque de datos formado por m bits de datos y r de redundancia, la longitud final del bloque ser n, donde n = m + r.

UNIVERSIDAD AUTONOMA DE LOS ANDES UNIANDES

1.3.1 Tipo de cdigos detectores Paridad simple Consiste en aadir un bit de ms a la cadena que queremos enviar, y que nos indicar si el nmero de unos (bits puestos a 1) es par o es impar. Si es par incluiremos este bit con el valor = 0, y si no es as, lo incluiremos con valor = 1. Ejemplo de generacin de un bit de paridad simple: Queremos enviar la cadena 1110100: 1 Contamos la cantidad de unos que hay: 4 unos 2 El nmero de unos es par por tanto aadimos un bit con valor = 0 3 La cadena enviada es 11101000 El receptor ahora, repite la operacin de contar la cantidad de unos que hay (menos el ltimo bit) y si coincide, es que no ha habido error. Problemas de este mtodo: Hay una alta probabilidad de que se cuelen casos en los que ha habido error, y que el error no sea detectado, como ocurre si se cambian dos nmeros en la transmisin en vez de uno. 1.3.2 Cdigos de redundancia cclica tambin llamados CRC Intentando mejorar los cdigos que slo controlan la paridad de bit, aparecen los cdigos cclicos. Estos cdigos utilizan la aritmtica modular para detectar una mayor cantidad de errores, se usan operaciones en mdulo 2 y las sumas y restas se realizan sin acarreo (convirtindose en operaciones de tipo Or-Exclusivo o XOR). Adems, para facilitar los clculos se trabaja, aunque slo tericamente, con polinomios. La finalidad de este mtodo es crear una parte de redundancia la cual se aade al final del cdigo a transmitir (como en los mtodos de paridad) que siendo la ms pequea posible, detecte el mayor nmero de errores que sea posible. Pero adems de esto, debe ser un mtodo sistemtico, es decir, que con un mismo cdigo a transmitir (y un mismo polinomio generador) se genere siempre el mismo cdigo final. El polinomio generador: es un polinomio elegido previamente y que tiene como propiedad minimizar la redundancia. Suele tener una longitud de 16 bits, para mensajes de 128 bytes, lo que indica que la eficiencia es buena. Ya que slo incrementa la longitud en un aproximado 1,6%:

UNIVERSIDAD AUTONOMA DE LOS ANDES UNIANDES

Un

ejemplo

de

polinomio

generador

usado

normalmente

en

las

redes WAN es: Los clculos que realiza el equipo transmisor para calcular su CRC son: 1. Aade tantos ceros por la derecha al mensaje original como el grado del polinomio generador 2. Divide el mensaje con los ceros incluidos entre el polinomio generador 3. El resto que se obtiene de la divisin se suma al mensaje con los ceros incluidos 4. Se enva el resultado obtenido Estas operaciones generalmente son incorporadas en el hardware para que pueda ser calculado con mayor rapidez, pero en la teora se utilizan los polinomios para facilitar los clculos.

Ejemplo de obtencin del CRC: Datos: Mensaje codificado en binario: 1101001 Polinomio generador: Operaciones: 1 Obtener el polinomio equivalente al mensaje: 2 Multiplicar el mensaje por (aadir 4 ceros por la derecha):

3 Dividir en binario el mensaje por el polinomio generador y sacar el resto: 4 Concatenar el mensaje con el resto (en mdulo 2 tambin):

5 Transmitir el mensaje El equipo receptor debe comprobar el cdigo CRC para detectar si se han producido o no errores.
8

UNIVERSIDAD AUTONOMA DE LOS ANDES UNIANDES

Ejemplo de los clculos del receptor: 1 Mediante el protocolo correspondiente acuerdan el polinomio generador 2 Divide el cdigo recibido entre el polinomio generador 3 Comprueba el resto de dicha operacin 3.1 Si el resto es cero, no se han producido errores 3.2 Procesar el mensaje 3.1 Si el resto es distinto de cero, significa que se han producido errores 3.2 Reenviar el mensaje 3.2 Intentar corregir los errores mediante los cdigos correctores En resumen, este mtodo requiere de un polinomio generador que, elegido correctamente, puede llegar a detectar gran cantidad de errores:

Errores simples: todos Errores dobles: todos Errores en las posiciones impares de los bits: todos Errores en rfagas con una longitud menor que el grado del polinomio generador: todos Otras rfagas: un porcentaje elevado y cercano al 100%
1.4 Correccin de Errores

Objetivos

Conocer cmo pueden detectarse y prevenirse errores que puedan aparecer en los distintos intercambios de informacin que realiza el ordenador. Aplicar distintos mtodos de deteccin y correccin de errores. Correccin de errores: El mtodo ms sencillo y utilizado de correccin de errores es la detencin de los mismos por alguno de los mecanismos sealados anteriormente y la retransmisin de la trama que contiene los errores. Estas acciones se toman cuando la unidad de datos esta mala. Una de las tcnicas ms utilizadas es la de RETROALIMENTACIN, que consiste en avisarle al ORIGEN del xito o fracaso de la transmisin. La otra forma de corregir es en el mismo destino, generalmente se conocen como tcnicas de Correccin de Errores Adelante (Forward Error Correction FEC), se utilizan tcnicas de cdigos correctores de errores como el de Hamming y tcnicas de Entrelazado 9

UNIVERSIDAD AUTONOMA DE LOS ANDES UNIANDES

Sin embargo en algunos casos se puede incluir informacin redundante en la trama de manera que los errores los pueda corregir el propio receptor. La cantidad de cdigo que se aade a la trama suele estar en torno al 50% de su longitud original. Adems de su coste en tiempo de computacin, es difcil disear algoritmos que permitan corregir tantos errores de bits dispersos como grandes rfagas de errores y su eficacia es inferior a la detencin (por trmino medio, uno de cada mil errores no se puede corregir). Por lo tanto solo son rentables en enlaces con tasas de error muy altas o que tienen grandes retardos, donde la peticin de retransmisin de una trama supone una prdida de tiempo muy importante. Este es el caso de algunas comunicaciones con satlites que se encuentran muy alejados de la tierra, a los que una trama pueda tardar en llegar muchos segundos o incluso minutos

1.4.1 Cdigo correctores de errores - HAMMING Se tiene unidades de datos de m bits, adicionamos r bits redundantes, entonces la longitud total es: n = m + r. Palabra cdigo = datos + bits redundantes. La cantidad de bits en los que difieren DOS palabras cdigo, se le conoce como DISTANCIA HAMMING d. Si dos palabras cdigo estn tienen una distancia d, se requieren d errores de bit para convertir una en la otra Normalmente todas las combinaciones de 2^m son posibles, pero dependiendo de la forma en como se calculan los bits redundantes, no ser posible que se de todas las 2^n combinaciones. HAMMING (cont.) La propiedad de deteccin y correccin dependen de su distancia: PARA DETECTAR d ERRORES se necesita un cdigo con distancia d+1 PARA CORREGIR d ERRORES se necesita un cdigo con distancia 2d+1 Por ejemplo con PARIDAD par o impar, que es un cdigo de un bit, tiene una distancia 2. Ejemplo de correccin: cdigo con 4 palabras vlidas: 00000000, 11110000, 00001111, 11111111. El cdigo tiene una distancia d =5, lo que significa que puede corregir errores dobles Control de transmisin y del flujo de datos Los errores vienen generalmente provocados por algn fallo en el medio fsico que da lugar a situaciones que el protocolo ha de prever como detectar y resolver. Las situaciones anmalas que ha de tener en cuenta el protocolo son bsicamente: 1) La prdida de una trama 2) La aparicin de tramas duplicada 3) La llegada de tramas fuera de secuencia Si no se tratan adecuadamente estas situaciones, la primera dar lugar a la perdida de informacin en la comunicacin, la segunda a la aceptacin de datos errneos como si fueran

10

UNIVERSIDAD AUTONOMA DE LOS ANDES UNIANDES

vlidos y la tercera puede provocar tanto la perdida de datos como la aceptacin de datos errneos como vlidos. 1.4.2 Protocolo simple de enlace de datos Se supone que se trabaja con un protocolo de enlace que solo enva tramas con informacin, sin establecer ni liberar conexiones. Si ninguna de las situaciones anmalas planteadas anteriormente se pudiera dar, el protocolo podra ser muy simple. nicamente para evitar desbordar al receptor, el emisor enviara una trama y esperara un acuse de recibo antes de enviar la siguiente. Pero si por una razn una de las tramas no llega, llega incorrecta o un ACK no llega a su destino la comunicacin se quedara bloqueada y el emisor ya no enviara mas tramas

Es fcil subsanar este problema si el emisor es capaz de decidir el reenvi de la ltima trama si no ha recibido el ACK en un tiempo razonable. A este tiempo se le denomina tiempo de espera o timeout y su duracin optima se estima entre una y dos veces el tiempo de retardo medio necesario para l envi, procesado y respuesta a una trama

11

UNIVERSIDAD AUTONOMA DE LOS ANDES UNIANDES

A pesar de la mejora, en el caso de que la trama perdida sea un ACK el receptor puede aceptar una retransmitida por el emisor tras el timeout como si fuese una nueva trama.

De nuevo la solucin es simple, se pueden numerar las tramas para que el receptor no las confunda. Supngase que las tramas se numeran con un nico bit, es decir se enva una trama con el nmero 0, luego con el nmero 1, la siguiente tendr de nuevo el nmero 0, los nmeros de secuencia de trama, generalmente tienen un rango ms amplio, pero se ha elegido de esta forma para facilitar la comprensin de los siguientes ejemplos

12

UNIVERSIDAD AUTONOMA DE LOS ANDES UNIANDES

Este protocolo tambin falla produciendo perdidas de datos si por alguna razn se produce un timeout antes de la llegada de un ACK correspondiente a la retransmisin de la primera trama puede engaar al emisor (el receptor descarta la trama recibida pero tiene que volver a enviar un ACK), hacindole creer que la segunda trama (que se ha perdido) ha llegado con xito al receptor. Al haberse completado el ciclo de los nmeros de secuencia al receptor llega por tercera vez una trama con numero de secuencia (0), por lo que es descartada. La siguiente trama en ser recibida es la cuarta, que lleva el siguiente nmero de secuencia que espera el receptor, el (1). El receptor cree haber recibido todas las tramas cuando en realidad le faltan dos.

13

UNIVERSIDAD AUTONOMA DE LOS ANDES UNIANDES

Obviamente, utilizando un rango de nmeros de secuencia ms amplio es ms difcil que se produzca la situacin anterior. En lugar de numerar las tramas en mdulos 2 ( 0 y 1) se puede numerar en mdulo 8 ( del 0 al 7), en mdulo 128 ( del 0 al 127), etc. Pero el riesgo siempre existe si no se mejora el protocolo y hay que tener en cuenta que en algunos enlaces los retardos pueden ser mucho mayores de lo esperado en determinadas circunstancias. LA solucin ms simple es que los ACK se numeren tambin con el nmero de secuencia de la trama a la que dan el acuse de recibo. Con eso tenemos ya un protocolo completo que funcionara bajo cualquier situacin anmala de la indicadas en los puntos a) y b) mencionados anteriormente, garantizando en envo secuencial de tramas sin perdidas ni duplicados. An se puede presentar problemas si se producen situaciones como la mencionada en el punto c), la llegada de tramas fuera de secuencia, en el caso de que el rango de los nmeros de secuencia no sea suficiente para asumir los retardos que se pueden producir en la transmisin, Esta situacin se puede observar en la ltima figura. Las mejoras en el protocolo que se describen a continuacin, no mejoran la robustez del protocolo, si no sus presentaciones en cuanto al aprovechamiento de la velocidad del enlace.

1.4.3 Pipelining Esta tcnica consiste en enviar ms de una trama antes de recibir un cause de recibo. Si las tramas se numeran en modulo N se podrn enviar tericamente N-1 tramas antes de recibir un acuse de recibo. Aunque lo que en realidad limita su nmero es el tamao del buffer del emisor, ya que ha de mantener ah las tramas para su posible retrasmisin, y del receptor, que ha de tener suficiente espacio para almacenarlas por si no tiene tiempo de ir procesndolas a medida que van llegando. Al no tener que esperar innecesariamente por cada acuse de recibo se aprovecha mejor la capacidad del enlace, ms an, si un ACK puede servir para confirmar la recepcin de ms de una trama. 1.4.4 Acuse de Recibo Negativo (NAK) Si una trama llega al receptor con errores, este puede advertir al emisor del error envindole una NAK sin que este tenga que esperar a la finalizacin del timeout. Se aumenta asi la velocidad de la comunicacin. El NAK puede indicar tambin la causa del rechazo de la trama al emisor con el objeto de realizar estadsticas de los errores que se producen. Ante la recepcin de un NAK el protocolo puede responder con dos mecanismos diferentes. Vuelta atrs Conocido como pullback NAK. Si se han recibido las tramas con los nmeros de secuencia 4, 5, 6 y 7, y se recibe un NAK para las tramas 5, el emisor retransmite de nuevo las tramas 5, 6 y 7, aunque esta ultima hubiera llegado correctamente al receptor. 14

UNIVERSIDAD AUTONOMA DE LOS ANDES UNIANDES

Repeticion selectiva Conocido como selctive repeat. Dada la situacin indicada en el prrafo anterior, el emisor solo transmitir la trama 5. Aunque esto representa un noble ahorro en la capacidad del enlace, su complejidad no se justifica sino se trata de un enlace con una tasa de errores elevada. 1.4.5 Piggyback Acknowledgement En comunicaciones donde la informacin fluye en ambos sentidos, sobre todo di es en modo full-duplex, se consigue un notable aumento de la capacidad del enlace si a las tramas que envan son informacin se les incorpora el acuse de recibido de las que se han recibido. En el caso de que no haya informacin que enviar se enva una trama solo con el ACK. La trama llevara entonces dos nmeros de secuencia: el que corresponde a la trama que se enva y el correspondiente al acuse de recibido de la ltima trama recibida correctamente.

CONCLUSIONES: Identificamos diferentes tipos de errores que se encuentran en la capa de enlace. Con los ejemplos analizamos como detectar errores, as tambin a corregirlos.

BIBLIOGRAFIA: http://www.uhu.es/diego.lopez/redes0607/Transparencias%20Redes%20tema3%200 6-07.pdf http://www.slideshare.net/darkkamui/capa-de-enlace-deteccin-y-correccin-deerrores-presentation http://informatica.uv.es/it3guia/FT/cap3-enlace-ft.pdf http://isa.uniovi.es/docencia/redes/capaenlace2.pdf http://it.aut.uah.es/danihc/DHC_files/menus_data/SCTR/ToleranciaFiabilidad.pdf http://www.isa.uniovi.es/docencia/redes/Apuntes/tema3.pdf

RECOMENDACIONES: Guiarnos en los diferentes ejercicios que se encuentren en cada tema, ya que son pocos entendibles.

15

Você também pode gostar