1 / 31

EEC-484/584 Computer Networks

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

geraldinee
Download Presentation

EEC-484/584 Computer Networks

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. EEC-484/584Computer Networks Lecture 7 Wenbing Zhao wenbing@ieee.org

  2. Outline • Error Detection – Parity bit and CRC • Exercises for Framing and Error Detection • Medium Access Control EEC-484/584: Computer Networks

  3. 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

  4. 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

  5. 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

  6. 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

  7. 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

  8. Compute CRC Checksum XOR EEC-484/584: Computer Networks

  9. 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

  10. 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

  11. 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

  12. 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

  13. 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

  14. 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

  15. 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

  16. Frequency Division Multiplexing EEC-484/584: Computer Networks

  17. Time Division Multiplexing T1 Carrier (1.544 Mbps) EEC-484/584: Computer Networks

  18. 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

  19. 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

  20. 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

  21. Multiple Access Protocols • ALOHA • Carrier Sense Multiple Access Protocols EEC-484/584: Computer Networks

  22. 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

  23. 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

  24. Pure ALOHA • Throughput for ALOHA systems EEC-484/584: Computer Networks

  25. 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

  26. 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

  27. 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

  28. 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

  29. 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

  30. 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

  31. 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

More Related