data link layer error detection and correction