Vertical Redundancy Check (VRC) is a simple error detection technique used in by the TCP/IP protocol suite to identify errors caused by the flipping of a single bit during network transmission. It is also known as parity check.
Vertical Redundancy Check (VRC) adds a one bit to the data that to be sent. This bit is then used to check the validity of the data.
Let’s take an example, suppose the sender wants to transmit the following data over the network:
1 | 1 | 0 | 0 | 0 | 0 | 1 |
This data is sent through an even parity generator. An even parity generator is a function that counts the total number of bits that are ‘1’ in the data to be transmitted. It adds a bit according to the total number of ‘1’s. If the total count of ‘1’s is odd, it adds 1. If it is even, 0 is added.
This extra bit is called a parity bit or a VRC bit or a redundant bit.
So the data transmitted by the sender now becomes:
1 | 1 | 1 | 0 | 0 | 0 | 0 | 1 |
This data is now transmitted over the network to the receiver. On the receiver’s side, this data is sent through a even parity checker.
This parity checker removes the extra parity bit (in this case, 1). It then counts the ‘1’s in the remaining data unit. In this case, if the total bits are odd, it accepts the data. If, however, the totla bits are even, it rejects the data.
Advantages of VRC:
- Simple implementation: VRC is relatively easy to implement and does not require complex mathematical operations.
- Low computational overhead: The calculations involved are simple and efficient. This makes it suitable for low-resource systems.
- Effective for single-bit error detection: VRC is particularly effective in detecting errors that occur in individual columns or characters.
Limitations:
- Limited error detection capability: VRC can only detect errors within individual columns and is unable to detect errors that span multiple columns or involve bit position errors within a column.
- Inefficient for detecting burst errors: VRC is not designed to handle burst errors (consecutive errors that occur over a sequence of bits).
Applications of Vertical Redundancy Check:
VRC finds application in various communication systems and storage devices where simple error detection is required. It is commonly used in serial communication protocols, such as RS-232, to ensure data integrity during transmission. VRC is also employed in specific applications where column-wise error detection is sufficient.