eec-484/584 computer networks lecture 13 wenbing zhao [email protected]
Post on 21-Dec-2015
221 views
TRANSCRIPT
EEC-484/584EEC-484/584Computer NetworksComputer Networks
Lecture 13Lecture 13
Wenbing ZhaoWenbing Zhao
[email protected]@ieee.org
22
Spring Semester 2009Spring Semester 2009 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
OutlineOutline
• CRC
• Exercises for Framing and Error Detection
• Medium Access Control
33
Spring Semester 2009Spring Semester 2009 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
Error-Detecting Codes: CRCError-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
44
Spring Semester 2009Spring Semester 2009 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
Cyclic Redundant CodeCyclic 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
55
Spring Semester 2009Spring Semester 2009 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
Algorithm to Compute CRC ChecksumAlgorithm to Compute CRC Checksum
• Let m = deg M(x), r = deg G(x)• Append r 0 bits to lower-order end of frame: xrM(x)• Divide bit string corresponding to xrM(x) by bit string
corresponding to G(x)• Subtract remainder 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)
66
Spring Semester 2009Spring Semester 2009 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
Compute CRC Compute CRC ChecksumChecksum
XOR
77
Spring Semester 2009Spring Semester 2009 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
International Standard PolynomialsInternational 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
88
Spring Semester 2009Spring Semester 2009 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
ExerciseExercise
• 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
99
Spring Semester 2009Spring Semester 2009 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
ExerciseExercise
• 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?
1010
Spring Semester 2009Spring Semester 2009 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
ExerciseExercise
• 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?
1111
Spring Semester 2009Spring Semester 2009 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
ExerciseExercise
• 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.
1212
Spring Semester 2009Spring Semester 2009 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
ExercisesExercises
1. What is the hamming distance of the following code?
00000000, 00001111, 11110000, 11111111
2. Given a code with hamming distance of 5, how many single-bit errors can it detect?
3. Given a code with hamming distance of 4, how many single-bit errors can it correct?
1313
Spring Semester 2009Spring Semester 2009 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
Medium Access Control SublayerMedium Access Control Sublayer
• Broadcast channels often used on DLL– Broadcast channels often referred to as
multiaccess or random access channels
• The channel allocation problem: Who gets to use the channel?– Static Channel Allocation– Dynamic Channel Allocation
1414
Spring Semester 2009Spring Semester 2009 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
Static Channel AllocationStatic 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
1515
Spring Semester 2009Spring Semester 2009 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
Frequency Division MultiplexingFrequency Division Multiplexing
1616
Spring Semester 2009Spring Semester 2009 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
Time Division MultiplexingTime Division Multiplexing
T1 Carrier (1.544 Mbps)
1717
Spring Semester 2009Spring Semester 2009 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
Model for Model for Dynamic Channel AllocationDynamic Channel Allocation
• N independent stations (also called terminals)• Once a frame has been generated, the station is
blocked until the frame is transmitted successfully
• Single Channel shared by all stations• Collision – event when two frames transmitted
simultaneously and the resulting signal is garbled– All stations can detect collisions
1818
Spring Semester 2009Spring Semester 2009 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
Model for Model for Dynamic Channel AllocationDynamic 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
1919
Spring Semester 2009Spring Semester 2009 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
Multiple Access ProtocolsMultiple Access Protocols
• ALOHA
• Carrier Sense Multiple Access Protocols
2020
Spring Semester 2009Spring Semester 2009 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
Pure ALOHAPure 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
2121
Spring Semester 2009Spring Semester 2009 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
Pure ALOHA: Vulnerable PeriodPure ALOHA: Vulnerable Period• Vulnerable period for a frame: A collision will
happen if another frame is sent during this period
2 frame time
2222
Spring Semester 2009Spring Semester 2009 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
Slotted ALOHASlotted 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 = G e-G
– Max occurs when G = 1, S = 2*0.184
2323
Spring Semester 2009Spring Semester 2009 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
Throughput for ALOHA SystemsThroughput for ALOHA Systems
2424
Spring Semester 2009Spring Semester 2009 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
Carrier Sense Multiple AccessCarrier 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
2525
Spring Semester 2009Spring Semester 2009 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
• 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
Carrier Sense Multiple Access:Carrier Sense Multiple Access:Collision Still PossibleCollision Still Possible
2626
Spring Semester 2009Spring Semester 2009 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
pp-persistent CSMA:-persistent CSMA:Reduce the Probability of CollisionReduce 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– …
2727
Spring Semester 2009Spring Semester 2009 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
Non-Persistent CSMANon-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
2828
Spring Semester 2009Spring Semester 2009 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
Persistent and Nonpersistent CSMAPersistent and Nonpersistent CSMA
• Improves over ALOHA because they ensure no station to transmit when it senses channel is busy
2929
Spring Semester 2009Spring Semester 2009 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
CSMA with Collision DetectionCSMA with Collision Detection
• If two stations start transmitting simultaneously, both detect collision and stop transmitting
• Minimum time to detect collision?
3030
Spring Semester 2009Spring Semester 2009 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
Minimum Time to Detect CollisionMinimum Time to Detect Collision
• To ensure the sender can detect collision– All frames must take more than 2 to send so that
transmission is still taking place when the noise burst gets back to the sender