180 likes | 263 Views
Advanced Fast Retransmit + Wireless. EE122 Discussion Section 12. Fast Retransmit. On receipt of 3 duplicate ACKs CWND ← CWND/2 Retransmit the “inferred” lost packet Go into congestion avoidance mode, linear increase Problem
E N D
Advanced Fast Retransmit+ Wireless EE122 Discussion Section 12
Fast Retransmit • On receipt of 3 duplicate ACKs • CWND ← CWND/2 • Retransmit the “inferred” lost packet • Go into congestion avoidance mode, linear increase • Problem • Intervals of no activity! (CWND can be quite large!) and then a burst! • The duplicate ACKs do give information about “some” packets. • These packets are no longer in flight and are received by the receiver.
Improving upon Fast Retransmit(Advanced) Fast Retransmit • Duplicate ACKs result from “some” packets getting delivered • Thus they are no longer in flight • Artificially blowing up CWND to account for these packets • CWND -> CWND/2 + 3; ssthresh = CWND/2 • Because 3 duplicate ACKs => 3 packets no longer in flight • Increment CWND by 1 on every duplicate ack received thereafter (till a new ACK) • Even though CWND increases exponentially, your sending rate is not increasing. • When new ACK comes, deflate to ssthresh (i.e. previous CWND / 2)
Path Loss / Power • Free Space Path Loss • Square of frequency • Square of distance Problem 2 • Arguments against using huge signal strength • Greater Power for transmission • Signal propagates farther causing more interference.
A talks to B C senses the channel C does not hear A’s transmission C talks to B Signals from A and B collide Carrier Sense will be ineffective – need to sense at receiver Hidden Terminals Collision A C B transmit range 6
Exposed Terminals B talks to A C wants to talk to D C senses the channel and finds it busy C remains quiet (when it could have transmitted) Carrier sense would prevent a successful transmission But we do carrier sense anway (why?) A B C D 7
Key Points • No concept of a global collision • Different receivers hear different signals • Different senders reach different receivers • Collisions are at receiver, not sender • Only care if receiver can hear the sender clearly • It does not matter if sender can hear someone else • As long as that signal does not interfere with receiver • Goal of protocol: • Detect if receiver can hear sender • Tell senders who might interfere with receiver to shut up
MA with Collision Avoidance (MACA) Before every data transmission Sender sends a Request to Send (RTS) frame containing the length of the transmission Receiver responds with a Clear to Send (CTS) frame Sender transmits Receiver sends an ACK; now another sender can send data When sender doesn’t get a CTS back, it assumes collision When you hear a CTS, you keep quiet until scheduled transmission is over (hear ACK) RTS CTS data ACK other node in sender’s range sender receiver 9
MACA, con’t If other nodes hear RTS, but not CTS: send Presumably, destination for first sender is out of node’s range Can cause problems when a CTS is lost other node in sender’s range receiver sender RTS CTS data data 10
A sends RTS B sends CTS C also hears CTS C doesn’t transmit Collision avoided! Hidden Terminals RTS CTS CTS A C B Data transmit range 11
Exposed Terminals B sends RTS to A C gets this RTS as well C cannot hear A’s CTS C can also transmit!! RTS A A B B C C D D RTS Transmission can be done Can’t hear CTS CTS A B C D 12
Problem 3Cheating Can C improve it’s performance by “cheating” and ignoring the CTS messages exchanged between A and B? B D A C A B C D
Problem 3Cheating Can D improve it’s performance by “cheating” and ignoring the CTS messages exchanged between A and B? B D A C A B C D
Problem 4: (a) Reversing communication direction in the exposed terminal example: Not solved by RTS / CTS RTS (1) A B C D CTS (2) for A RTS (3) CTS (2) Transmission Not done A B C D
Problem 4: (b) Collision even after a successful RTS/CTS exchange C doesn’t get to know that A and B are communicating RTS (3) A B C D E A B C D CTS (4) for A RTS (1) RTS (1) for E C can’t hear this CTS (4) CTS (2) A B C D E
Problem 4: (c) Fairness? Starvation? A->B C->D: C->D communication may never take place: 1. A keeps on sending. 2. C keeps backing off. RTS (1) A B C D RTS (3) CTS (2) for A CTS (2) Transmission Not done A B C D
Problem 5: Frame Sizing Too small frames Comparable to size of RTS / CTS messages Large overhead! 18