miércoles, 9 de octubre de 2013

2.3.1 Verificación de Redundancia Vertical

2.3.1 verificación de redundancia vertical

El mecanismo de detección de errores más frecuente y más barato es la verificación de
redundancia vertical (VRC), denominada a menudo verificación de paridad. En esta
técnica, se añade un bit de redundancia, denominado bit de paridad, al final de cada
unidad de datos de forma que el número total de unos en la unidad (incluyendo el bit de
paridad) sea par.
Concepto de VRC con paridad par
Suponga que se quiere transmitir la unidad de datos binarios 1100001 [ASCII a (97)]; Si se suma el número de unos se obtiene 3, un número impar. Antes de  transmitir se pasa la unidad de datos a través de un generador de paridad. El generador de  paridad cuenta los unos y añade el bit de paridad (un 1 en este caso) al final. El número  total de unos es ahora 4, un número par. A continuación el sistema transmite la unidad  expandida completa a través del enlace de red. Cuando alcanza el destino, el receptor pasa  los 8 bits a través de una función de verificación de  paridad par. Si el receptor ve  11100001, cuenta cuatro unos, un número par, y la unidad pasa la comprobación. Pero ¿qué  ocurre si la unidad de datos ha sufrido daños en el transito ¿Qué ocurre si en lugar de  recibir 11100001 el receptor ve 11100101? En ese caso, cuando el comprobador de paridad  cuenta los unos obtiene cinco, un número impar. El receptor sabe que en alguna parte se ha  producido un error en los datos y por tanto rechaza la unidad completa.

Observe que en, aras a la simplicidad, se está hablando únicamente de la verificación de
paridad par, donde el número deunos debería ser un número par. Algunos sistemas podrían
usar verificación de paridad impar, donde el número de unos debería ser impar. El
principio es el mismo, pero el cálculo es distinto.
Ejemplo 4.7
Imagine que el emisor quiere enviar la palabra «world». En ASCII los cinco caracteres se
codifican como
fl1110111  1101111  1110010  1101100   1100100
w     o   r   l     d
Cada uno de los cuatro primeros caracteres tieneun número par de unos, por lo que su bit
de paridad es 0. Sin embargo, el último carácter (‘d’) tiene tres unos (un número impar),
por lo que su bit de paridad es 1 para que el número total de unos sea par. A continuación
se muestran los bits enviados realmente (los bits de paridad están subrayados).
fl  1110111011011110111001001101100011001001
Ejemplo 4.8
Suponga ahora que la palabra «world» del ejemplo anterior es recibida por el receptor sin
que haya habido ningún problema de corrupciónen la transmisión.
fl1110111011011110111001001101100011001001
El receptor cuenta los unos en cada carácter y obtiene números pares (6, 6, 4, 4, 4). Acep-taría los datos.
Ejemplo 4.9
Suponga ahora que la palabra «world» del Ejemplo 4.7, es recibida por el receptor pero que
sus datos han sido corrompidos durante la transmisión.
fl1111111011011110111011001101100011001001
El receptor cuenta los unos en cada carácter y obtiene números pares e impares (7, 6, 5, 4,
4). El receptor sabe que los datos están corruptos, los descarta y solicita su retransmisión.
Prestaciones
VRC puede detectar todos los errores en un único bit. También puede detectar errores de
ráfagas siempre que el total de números de bits cambiados sea impar (1, 3, 5, etc.).
Supongamos que hay una unidad de datos con paridad par donde el número total de unos,
incluyendo el bit de paridad, es 6:1000111011. Si tres bits cualquiera cambian su valor, la
paridad resultante sería impar y se detectaría el error: 1111111011son9, 0110111011son7, 1100010011son5, todos impares. El comprobador de VRC devolvería como resultado 1
y se rechazaría la unidad. Esto mismo es cierto para cualquier número de errores impares.
Sin embargo, suponga que dos bits de la unidad de datos cambian su valor: 1110111011
son8, 1100011011son6, 1000011010: 4. En cada caso, el número de unos en la unidad de
datos sigue siendo par. El comprobador de VRC los sumará y devolverá un número par,
aunque la unidad de datos contiene dos errores. VRC no puede detectar errores cuando el
número total de bits cambiados sea par. Si cambian dos bits cualesquiera durante la
transmisión, los cambios se anulan entre sí y la unidad de datos pasará la verificación de
paridad aunque sea erróneo. Esto mismo es cierto para cualquier número de errores pares.





2.3.2 VERIFICACION DE REDUNDANCIA LONGITUDINAL (LRC)
En esta técnica, los bloques de bits se organizan en forma de tabla (filas y columnas), a continuación se calcula un bit de paridad para cada columna y se crea una nueva fila de bits, que serán los bits de paridad de todo el bloque, a continuación se añaden los bits de paridad al dato y se envían al receptor.
Típicamente los datos se agrupa en unidades de múltiplos de 8 -1 byte- (8, 16,24,32 bits) la función coloca los octetos uno debajo de otro y calcula la paridad de los bits primeros, de los segundos, etc, generando otro octeto cuyo primer bit es el de paridad de todos los primeros bits, etc.
Esta técnica incrementa la probabilidad de detectar errores de ráfaga, ya que una LRC de n bits (n bits de paridad) puede detectar una ráfaga de más de n bits, sin embargo un patrón de ráfaga que dañe algunos bits de una unidad de datos y otros bits de otra unidad exactamente en la misma posición, el comprobador de LRC no detectará un error.
•        Se quiere enviar la información “PAG” en ASCII (7 bits):
Se añade:

Bit para VRC criterio par (verde, primera fila)
Bit para LRC criterio par (azul, última columna)
 Bit de paridad cruzada criterio par (rosa)

2.3.3 VERIFICACION DE REDUNDANCIA CICLICA.

A diferencia de las técnicas VRC y LRC, que se basan en la suma (para calcular la paridad), la técnica CRC se basa en la división binaria. En esta técnica, se añaden bits redundantes en la unidad de datos de forma que los todo el conjunto sea divisible exactamente por un número binario determinado, en el destino los datos recibidos son divididos por ese mismo número, si en ese caso no hay resto de la operación, el dato es aceptado, si apareciera un resto de la división, el dato se entendería que se ha corrompido y se rechazará.

La técnica añade unos bits de CRC, de la siguiente manera en tres pasos básicos: en primer lugar se añade una tira de n ceros, siendo n el número inmediatamente menor al número de bits del divisor predefinido (que tiene n+1 bits), el segundo paso es dividir la nueva unidad de datos por el divisor predefinido usando un proceso de división binaria, el resto que quedara sería los bits de CRC a añadir, el tercer paso es sustituir los n bits añadidos en el paso primero por los n bits del resto de la operación del segundo paso, el dato final será divisible exactamente por el divisor predefinido. La imagen muestra el esquema del proceso.

No hay comentarios:

Publicar un comentario