Error Detection Redundancy allows a receiver to check whether received data has been corrupted during transmission. He can for example request a retransmission.
Error Correction This type of error control allows a receiver to reconstruct the original information when it has been corrupted during transmission. This is especially useful when there is only one-way communication.
One of the roles of the Data Link Layer Protocol is to detect errors on a receiving side. Parity, checksum, Cyclic redundancy rheck (CRC), Vertical redundancy check, Horizontal redundancy check and Rectangular redundancy check are examples of varieties of error-checking mechanisms.
There are 2 ways to correct found errors: Forward error correction and Automatic repeat request (ARQ). The first one is practical in cases where the communication channel is remarkably long - with long dramatic delay - and is prone to errors. In this case, it is not practical to send retransmission requests. Instead, sets of redundant information is sent with the data, so that correction can be done on the fly. ARQ is an interactive way of correcting errors by bouncing back and forth between a sender and a receiver until accuracy is ensured.