Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

Error Detection and Correction Techniques: CRC and Frame Transmission - Prof. Angela Guerc, Study notes of Computer Systems Networking and Telecommunications

Various error detection and correction techniques, focusing on cyclic redundancy check (crc) and frame transmission. The concept of framing techniques, character count, byte stuffing, bit stuffing, error-correcting codes, hamming's code, error-detecting codes, and crc calculation. It explains how to select a good generator polynomial and detect different types of errors. The document also mentions various crc standards and their applications.

Typology: Study notes

2009/2010

Uploaded on 02/24/2010

koofers-user-7i8
koofers-user-7i8 🇺🇸

10 documents

1 / 18

Toggle sidebar

Related documents


Partial preview of the text

Download Error Detection and Correction Techniques: CRC and Frame Transmission - Prof. Angela Guerc and more Study notes Computer Systems Networking and Telecommunications in PDF only on Docsity! Chapter 3 • Framing Techniques • Character Count • Flag bytes with byte Stuffing • Bit stuffing • Error-Correcting Codes • Hamming’s Code • Error-Detecting Codes If G(x) has at least two terms all single bit-errors will be detected. • E(x)/G(x) 0 if E(x) = xi If G(x) has at least one factor with 3 terms all double bit- errors will be detected. • E(x) = (xi + xj) = xj(x i-j+1) • Thus for 2 bits errors will have factors with at most 2 terms • Any G(x) with 3 terms will not divide by xk or (xkj+1) If G(x) has the factor (x+1) any odd number of errors will be detected. • No module 2 polynomial exists which adds odd number of terms and divides by (x+1) • Assume that E(x) has an odd number of terms and it is divisible by (x+1), then E(x) can be written as E(x)= (x+1)/Q(x) and E(1)=(1+1)Q(1) mod 2 = 0 • But if E(x) has odd number of terms then E(I)= 1+1+1..+1 (odd number of ones) = 1, so no polynomial with a odd number of terms is divisible by (x+1) Any burst of errors can be detected as long as it is less than k. • For burst error <k bits at ith location from right E(x)=xi(xk- 1+ +1). It is not divisible by G(x) which has last term 1 and first term xk  IEEE 802: x32+x26+x23+x22+x16+x12+x11+x10+x8+x7+x5+x4++x2+x+1  CRC-8: x8+x2+x+1  CRC-10: x10+x9+x5+x4+x+1  CRC-12: x12+x11+x3+x2+x+1  CRC-16: x16+x15+x2+1  CRC-CCITT : x16+x12+x5+1  This seemingly complex scheme can be implemented by very simple hardware [Peterson and Brown,1961] with X-OR and shift register.  This is the most commonly used Error Handling mechanism in Networking  Six versions of CRC are widely used in link-level protocols. Ethernet and FDDI networks use CRC-32. HDLC use CRCCCITT. ATM use CRC-8 and CRC-10. Some definitions needed in the protocols to follow. These are located in the file protocol.h. Very simple data layer protocol 1. One directional communication only 2. Assume that communication channel is error free 3. Assumes that receiver can process all input infinitely fast. 1. After receiving each frame the receiver sends an ACK frame • When ACK arrives next packet can be sent 2. Sender cannot flood the receiver Transmission is still not reliable What if an ACK is lost? What is we add a timer? A Simplex Protocol for a Noisy Channel (ens. oid receiver3(void) seq_nr frame_expected; frame r, s; event_type event; frame_expected = 0; while (true) { wait_for_event(&event); /* possibilities: frame_arrival, cksum_err */ if (event == frame_arrival) { /* a valid frame has arrived. */ from_physical_layer(&r); /* go get the newly arrived frame */ if (r.seq == frame expected) { /* this is what we have been waiting for. */ to_network_layer(&r.info); /* pass the data to the network layer */ inc(frame_expected); /* next time expect the other sequence nr *. } s.ack = 1 — frame_expected; /* tell which frame is being acked */ to_physical_layer(&s); /* send acknowledgement */ A positive acknowledgement with retransmission protocol. Frame lost Frame 0 ACK Copy of Frame 0 Time out Sender Receiver Frame 0 ACK lost ACK Copy of Frame 0 Time out Sender Receiver Time out Low Time out value Frame 0 ACK lost ACK Copy of Frame 0 Time out Sender Receiver ACK Lost Frame 0 ACK 0 Time out Sender Receiver Perfect situation –only 1 bit per sequence number Frame 1 ACK 1 Frame 0 ACK 0 Assume that 1.5Mbps link with 30ms round trip time (RTT) • Assume packet of size 1KB • A packet can be sent every 45ms  i.e.1024*8 every 30ms  i.e. (1024*8)/.030 = 273 Kbps • Only 1/5th (resp. 2/5th) of the link capacity is used for simplex (resp. duplex) Frame 0 ACK 0 Time out Sender Receiver Perfect situation –only 1 bit per sequence number Frame 1 ACK 1 Frame 0 ACK 0
Docsity logo



Copyright © 2024 Ladybird Srl - Via Leonardo da Vinci 16, 10126, Torino, Italy - VAT 10816460017 - All rights reserved