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) 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 cuentalos 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 de unos
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 tiene un 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ón en la transmisión.
fl1110111011011110111001001101100011001001
El
receptor cuenta los unos en cada carácter y obtiene números pares (6, 6, 4, 4,
4). Aceptarí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 cualesquiera 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.
:-)
ResponderEliminar