viernes, 7 de diciembre de 2012

2.3.1 Verificación de redundancia vertical

4.5.1  Verificación de redundancia vertical (VRC)

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.
Figura 4.46 Concepto de VRC con paridad par
Suponga que se quiere transmitir la unidad de datos binarios 1100001 [ASCII a (97)]; vea;
la figura 4.46. 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. Estomismo es cierto para cualquier número de errores pares.

1 comentarios: