Chapter 3
Transport Layer
Computer Networking: A
Top Down Approach
4th edition.
Jim Kurose, Keith Ross
Addison-Wesley, Jul...
TCP Congestion Control: Details
 Congestion Window
 Imposes a constraint on the rate at which a TCP sender can send
traf...
TCP Congestion Control Algorithm:
Additive Increase Multiplicative Decrease (AIMD)
 Additive Increase
 Increase CongWin ...
TCP Slow Start
 AIMD can take a long time

Host A

Host B

RTT

to ramp up to full capacity
from scratch
 When connectio...
Refinement: Inferring Loss
3 Duplicate ACKs
Indicates

network capable of
delivering some segments.

 Timeout
Indicate...
Refinement: Inferring Loss
 After timeout event

CongWin instead set to 1 MSS
 Window then grows exponentially (enters s...
Refinement: Inferring Loss
 TCP Tahoe


For either events
Cuts congestion window size to 1 MSS and
enters slow start

...
TCP Congestion Control
Congestion Window
(in segments)

TCP Congestion Control
TCP Flow Control
 Eliminate the possibility of sender overflowing
receiver’s buffer by transmitting too much, too
fast.
...
TCP Flow Control
 RcvWindow is set to the amount of spare room in the buffer
 RcvWindow= RcvBuffer - [LastByteRcvd - Las...
TCP Flow Control
 LastByteSent – LastByteAcked
– It is the amount of unacknowledged data that A has sent
into the connect...
Upcoming SlideShare
Loading in …5
×

Week8 lec2-bscs1

357 views

Published on

Computer Networks

Published in: Education, Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
357
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Week8 lec2-bscs1

  1. 1. Chapter 3 Transport Layer Computer Networking: A Top Down Approach 4th edition. Jim Kurose, Keith Ross Addison-Wesley, July 2007.
  2. 2. TCP Congestion Control: Details  Congestion Window  Imposes a constraint on the rate at which a TCP sender can send traffic into the network  The amount of unacknowledged data at a sender may not exceed the minimum of CongWin and RcvWindow LastByteSent-LastByteAcked min{CongWin, RcvWindow}  CongWin is dynamic, function of perceived network congestion  TCP takes arrival of ACKs as successful delivery  Increases Congestion Window  Self Clocking  TCP uses ACKs to trigger its increase in congestion window size
  3. 3. TCP Congestion Control Algorithm: Additive Increase Multiplicative Decrease (AIMD)  Additive Increase  Increase CongWin by 1 MSS until loss detected  Multiplicative Decrease  Cut CongWin in half after loss  CongWin is 20 Kbytes, cut it to half after loss  Continue to drop but not allowed to drop below 1 MSS congestion window 24 Kbytes 16 Kbytes 8 Kbytes time
  4. 4. TCP Slow Start  AIMD can take a long time Host A Host B RTT to ramp up to full capacity from scratch  When connection begins, CongWin = 1 MSS  Increase rate exponentially until first loss event:  Double CongWin every RTT  Done by incrementing CongWin for every ACK received  Summary: Initial rate is slow but ramps up exponentially fast time
  5. 5. Refinement: Inferring Loss 3 Duplicate ACKs Indicates network capable of delivering some segments.  Timeout Indicates a “more alarming” congestion scenario.
  6. 6. Refinement: Inferring Loss  After timeout event CongWin instead set to 1 MSS  Window then grows exponentially (enters slow start)  Till it reaches one half of the value it had before the timeout  Window then grows linearly (congestion avoidance)  Threshold Value  Determines the window size at which slow start will end  After three duplicate ACKs: CongWin is cut in half  Window then grows linearly  Fast Retransmit and Fast Recovery 
  7. 7. Refinement: Inferring Loss  TCP Tahoe  For either events Cuts congestion window size to 1 MSS and enters slow start  TCP Reno Uses Fast Retransmit and Fast Recovery for three Dupicate ACKs.  Same as Tahoe for Timeout events. 
  8. 8. TCP Congestion Control
  9. 9. Congestion Window (in segments) TCP Congestion Control
  10. 10. TCP Flow Control  Eliminate the possibility of sender overflowing receiver’s buffer by transmitting too much, too fast.  Sender maintains a variable receive window – Gives the sender an idea of how much free space is available at receiver  Example  Host A is sending a large file to host B  Host B allocates a receive buffer and denotes size by RcvBuffer  LastByteRead The number of the last byte read from buffer by process in Host B  LastByteRcvd: The number of last byte that has been placed in buffer at B
  11. 11. TCP Flow Control  RcvWindow is set to the amount of spare room in the buffer  RcvWindow= RcvBuffer - [LastByteRcvd - LastByteRead]  Host B informs Host A about how much spare room it has in the connection buffer.  Places RcvWindow in the receive window field of every segment  Host A keeps track of two variables  LastByteSent and LastByteAcked
  12. 12. TCP Flow Control  LastByteSent – LastByteAcked – It is the amount of unacknowledged data that A has sent into the connection  LastByteSent – LastByteAcked RcvWindow – Keeping the unacknowledged data less than the value of RcvWindow  Suppose RcvWindow=0 – Host B advertises RcvWindow=0 to Host A – Suppose Host B has nothing to send to host A – TCP specification require Host A to send one byte of data Persistence Timer? Home Assignment

×