Practica 1.- La Detección Y Corrección De Errores. Toda detección y corrección de errores se hace usando un código que introduce redundancia, para detectar los errores que se produzcan en la transmisión. La detección de errores consiste en la capacidad de detectar los bit transmitidos erróneamente por la línea de comunicación. SISTEMAS DE DETECCIÓN DE ERRORES. * PARIDAD SIMPLE.- transmisión junto con la información de una serie de bits que indican cualidades de esos datos, hay dos tipos: par e impar. 0 , Si el número de 1 es par. PAR: 1 , Si el número de 1 es impar. 0 , Si el número de 1 es impar. IMPAR: 1 , Si el número de 1 es par. PARIDAD DE BLOQUES: es un caso especial de paridad simple, consiste en organizar la paridad por bloques. 00110 - 01010 - 11001 - 11111 Si se detecta un error puede detectarse exactamente en el bit que se ha producido el error, y se puede corregir, ya que sabemos la fila y la columna en la que se ha producido. REDUNDANCIA CICLICA: está basado en la propiedad de la división polinómica, en este caso a cada palabra se le asigna un polinomio. 110101 à X5 + X4 + X2 + 1 El método consiste en: al existir un polinomio conocido (polinomio generador) por el Emisor y el Receptor y que actúa como clave en la detección del error, llamamos M(x) al polinomio asociado a la palabra a transmitir, se multiplica por Xv , V es el grado del polinomio generador y al resultado de multiplicar estos factores se Xv le divide entre * el polinomio M(x) generador. Así: G(x) La división da un cociente y un resto, el resto es la información redundante que se envía junto con la información necesaria para la detección de errores y se manda. CORRECCIÓN DE ERRORES. * Corrección de errores en el destinatario, es el destinatario quien determina a parte de la información redundante que ha recibido a partir del emisor y del propio mensaje los bits erróneos. Utilizando tanto los bits de redundancia como los bits de información. * Código Hamming, código detector de errores, está diseñado para la detección y corrección de errores por cada palabra, como máximo un error. El método consiste en encontrar la posición del bit erróneo teniendo en cuenta la paridad de los bits redundantes, envía dos con ella, en los cuales la paridad se determina teniendo en cuenta el siguiente algoritmo. Se establece la posición del bit de redundancia, que serán las posiciones potencia de 2, el resto de posiciones son bits de datos, se descomponen las posiciones de bits de datos como suma de potencia de 2, y a la hora de calcular la paridad de los bits de redundancia que se obtienen. CORRECCIÓN DE ERRORES POR RETRANSMISIÓN: En la mayor parte de las comunicaciones, la corrección de errores se hace por retransmisión del mensaje. Cuando el receptor ve el error solicita al emisor que lo repita y se llama corrección de errores hacia atrás. Este método exige la capacidad bidireccional de la comunicación. Dentro de la corrección hay dos estrategias: * ENVIO Y ESPERA En este caso el emisor enviará bloques informativos al receptor secuencialmente de acuerdo con las siguientes reglas: - El emisor envía el bloque de datos al receptor y se queda con una copia del mensaje hasta asegurarse de que el mensaje llegó al receptor. - Cuando el receptor recibe el mensaje, genera una señal de confirmación que envía al receptor, donde le indica si los datos llegaron en buen estado. - Si el emisor recibe un ACK entiende que la información llegó bien, y libera la copia de los datos que tenía, genera un nuevo bloque de datos y continua con la transmisión. - Si lo que le llegó fue un NACK o transcurre un tiempo máximo permitido sin recibir confirmación, interpreta que la información llegó erróneamente al destinatario y procede a transmitir el mismo bloque. Esta técnica produce transmisiones seguras pero tiene el inconveniente de producir retardos no deseados en las transmisiones, ya que hay un envío y una espera de confirmación. * ENVIO CONTINUO: - Se fracciona el mensaje en bloques de datos a transmitir que se numeran unequivocamente, el emisor envía secuencialmente y de modo continuado todos los bloques de datos. - El receptor acepta cada uno de los bloques y comprueba si son o no erróneos. Cuando el receptor recibe un bloque erróneo genera un mensaje informativo al emisor del número de bloque que le llegó con error, con el fin de que lo retransmita. - El emisor tiene dos posibilidades, retransmitir el bloque erróneo o bien retransmitir todos los bloques desde el número de bloque donde se encontró el error por entender que pudieran también estar incorrectos. Esta alternativa depende del protocolo que se utilice. Diagrama: A 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 B 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 C 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 D 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 Q 0 1 1 0 1 0 0 1 1 0 0 1 0 1 1 0