310 likes | 331 Views
EEC-484/584 Computer Networks. Lecture 7 Wenbing Zhao wenbing@ieee.org. Outline. Error Detection – Parity bit and CRC Exercises for Framing and Error Detection Medium Access Control. Parity Bit. Parity bit – a single bit is appended to the data
E N D
EEC-484/584Computer Networks Lecture 7 Wenbing Zhao wenbing@ieee.org
Outline • Error Detection – Parity bit and CRC • Exercises for Framing and Error Detection • Medium Access Control EEC-484/584: Computer Networks
Parity Bit • Parity bit – a single bit is appended to the data • Parity bit is chosen so that number of 1 bits in the codeword is even or odd • Example: Given 1011010 • With even parity 10110100 • With odd parity 10110101 • A code with a single parity bit has a distance 2 • Since any single-bit error produces a codeword with wrong parity can be used to detect single bit errors EEC-484/584: Computer Networks
Error-Detecting Codes • If a single parity bit is appended to a block, error detecting probability is only 0.5 if burst error occurs (why?) • This can be improved by treating a block as a matrix, n bits wide and k bits high, • A parity bit is computed for each column and affixed to the matrix as the last row • The matrix is transmitted one row at a time • Probability of accepting bad block is 2-n EEC-484/584: Computer Networks
Error-Detecting Codes: CRC • Polynomial code, also known as CRC (Cyclic Redundant Code) • Treat bit string as polynomial with 0 and 1 coefficients • m-bit frame: M(x) = bm-1xm-1 + … + b0 • E.g.: 11011010 => M(x) = x7 + x6 + x4 + x3 + x1 • Use modulo 2 arithmetic • No carries or borrows: XOR • The degree of a polynomial is the maximum of the degrees of all terms in the polynomial EEC-484/584: Computer Networks
Cyclic Redundant Code • Sender and receiver agree on generator polynomial G(x) (High & low order bits must be 1) • For a frame with m bits corresponding to M(x),m > deg G(x) = r • Append checksum to end of frame so polynomial T(x) corresponding to checksummed frame is divisible by G(x) • When receiver gets checksummed frame, divides T(x) by G(x) • If remainder R(x) != 0, then transmission error EEC-484/584: Computer Networks
Algorithm to Compute CRC Checksum • Let m = deg M(x), r = deg G(x) • Appendr 0 bits to lower-order end of frame: xrM(x) • Divide bit string corresponding to xrM(x) by bit string corresponding to G(x) • Subtractremainder R(x) from bit string corresponding to xrM(x), result is checksummed frame. Let T(x) be its polynomial • xrM(x) = Q(x)G(x) + R(x) • xrM(x) – R(x) = Q(x)G(x) = T(x) EEC-484/584: Computer Networks
Compute CRC Checksum XOR EEC-484/584: Computer Networks
International Standard Polynomials • CRC-12 G(x) = x12 + x11 + x3 + x2 + x1 + 1 • Used for 6-bit characters • CRC-16 G(x) = x16 + x15 + x2 + 1CRC-CCITT G(x) = x16 + x12 + x5 + 1 • Used for 8-bit characters • CRC-32 G(x) = x32 + x26 + x23 + x22 + x16 + x11 + x10 + x8 + x7 + x5 + x4 + x2 + x1 + 1 • Used in IEEE 802 • Detects all bursts of length 32 or less and all bursts affecting an odd number of bits EEC-484/584: Computer Networks
Exercise • Q1. The following character encoding is used in a data link protocol: A: 01000111; B: 11100011; FLAG: 01111110; ESC: 11100000 Show the bit sequence transmitted (in binary) for the four-character frame: A B ESC FLAG when each of the following framing methods are used: (a) Character count. (b) Flag bytes with byte stuffing. (c) Starting and ending flag bytes, with bit stuffing EEC-484/584: Computer Networks
Exercise • Q4. One of your classmates, Scrooge, has pointed out that it is wasteful to end each frame with a flag byte and then begin the next one with a second flag byte. One flag byte could do the job as well, and a byte saved is a byte earned. Do you agree? EEC-484/584: Computer Networks
Exercise • Q5. To provide more reliability than a single parity bit can give, an error-detecting coding scheme uses one parity bit for checking all the odd-numbered bits and a second parity bit for all the even-numbered bits. What is the Hamming distance of this code? EEC-484/584: Computer Networks
Exercise • Q6. A bit stream 10011101 is transmitted using the standard CRC method described in the text. The generator polynomial is x3 + 1. Show the actual bit string transmitted. Suppose the third bit from the left is inverted during transmission. Show that this error is detected at the receiver's end. EEC-484/584: Computer Networks
Medium Access Control Sublayer • Broadcast channels often used on DLL • multiaccess or random access • The channel allocation problem: Who gets to use the channel? • Static Channel Allocation • Dynamic Channel Allocation EEC-484/584: Computer Networks
Static Channel Allocation • FDM –Frequency Division Multiplexing • Frequency spectrum divided into logical channel • Each user has exclusive use of own frequency band • TDM –Time Division Multiplexing • Time divided into slots each user has time slot • Users take turns in round robin fashion • Problem: wasted bandwidth if user does not use his/her frequency band or timeslot EEC-484/584: Computer Networks
Frequency Division Multiplexing EEC-484/584: Computer Networks
Time Division Multiplexing T1 Carrier (1.544 Mbps) EEC-484/584: Computer Networks
Model for Dynamic Channel Allocation • N independent stations (also called terminals) • Probability of a frame being generated in an interval Dt is lDt (arrival rate l constant) • Once a frame has been generated, the station is blocked until the frame is transmitted successfully EEC-484/584: Computer Networks
Model for Dynamic Channel Allocation • Single Channel shared by all stations • Collision– event when two frames transmitted simultaneously and the resulting signal is garbled • All stations can detect collisions EEC-484/584: Computer Networks
Model for Dynamic Channel Allocation • Frame transmission time • Continuous Time– can begin at any instant • Slotted Time– always begin at the start of a slot • Carrier sense or not • Carrier sense– stations can tell if the channel is busy. Do not send if channel is busy • No carrier sense– just go ahead and send EEC-484/584: Computer Networks
Multiple Access Protocols • ALOHA • Carrier Sense Multiple Access Protocols EEC-484/584: Computer Networks
Pure ALOHA • Let users transmit whenever they have data to send • If frame destroyed (due to collision), sender waits random amount of time, sends again • User does not listen before transmitting EEC-484/584: Computer Networks
Pure ALOHA: Vulnerable Period • Vulnerable period for a frame: A collision will happen if another frame is sent during this period 2 frame time EEC-484/584: Computer Networks
Pure ALOHA • Throughput for ALOHA systems EEC-484/584: Computer Networks
Slotted ALOHA • Idea: divide time into intervals, each interval corresponds to one frame • Station is permitted to send only at the beginning of next slot • Vulnerable period is halved (1 frame time) • Probability of no collision in time slot = e-G • Throughput S = Ge-G • Max occurs when G = 1, S = 2*0.184 EEC-484/584: Computer Networks
Carrier Sense Multiple Access • When station has data to send, listens to channel to see if anyone else is transmitting • If channel is idle, station transmits a frame • Else station waits for it to become idle • If collisions occurs, station waits random amount of time, tries again • Also called 1-persistent CSMA • With probability 1 station will transmit if channel is idle EEC-484/584: Computer Networks
Carrier Sense Multiple Access:Collision Still Possible • After a station starts sending, it takes a while before 2nd station receives 1st station’s signal • 2nd station might start sending before it knows that another station has already been transmitting • If two stations become ready while third station transmitting • Both wait until transmission ends and start transmitting, collision results EEC-484/584: Computer Networks
p-persistent CSMA:Reduce the Probability of Collision • Sense continuously, but does not always send when channel is idle • Applicable for slotted channels • When ready to send, station senses the channel • If channel idle, station transmits with probability p, defers to next slot with probability q = 1-p • Else (if channel is busy) station waits until next slot tries again • If next slot idle, station transmits with probability p, defers with probability q = 1-p • … EEC-484/584: Computer Networks
Non-Persistent CSMA • Does not sense continuously, send if it senses the channel is idle • Before sending, station senses the channel • If channel is idle, station begins sending • Else station does not continuously sense, waits random amount of time, tries again EEC-484/584: Computer Networks
Persistent and Nonpersistent CSMA • Improves over ALOHA because they ensure no station to transmit when it senses channel is busy EEC-484/584: Computer Networks
CSMA with Collision Detection • If two stations start transmitting simultaneously, both detect collision and stop transmitting • Minimum time to detect collision = time for signal to propagate EEC-484/584: Computer Networks