TCP Congestion Control - Advanced Computer Networks - Lecture Slides, Slides of Computer Networks

The key points are: TCP Congestion Control, Essential Strategy, Fifo Queuing, Transmission of Packets, Multiplicative Decrease, Packet Drop, Internal Congestion, Additive Increase, Coarse-Grained Clock, Sawtooth Pattern

Typology: Slides

2012/2013

Uploaded on 04/17/2013

pameela
pameela 🇮🇳

4.8

(5)

94 documents

1 / 30

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
TCP
Congestion Control
Docsity.com
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e

Partial preview of the text

Download TCP Congestion Control - Advanced Computer Networks - Lecture Slides and more Slides Computer Networks in PDF only on Docsity!

TCP

Congestion Control

TCP Congestion Control

  • Essential strategy :: The TCP host sends packets into the network without a reservation and then the host reacts to observable events.
  • Originally TCP assumed FIFO queuing.
  • Basic idea :: each source determines how much capacity is available to a given flow in the network.
  • ACKs are used to ‘pace’ the transmission of packets such that TCP is “self-clocking”.

Additive Increase

  • Additive Increase is a reaction to perceived available

capacity.

  • Linear Increase basic idea:: For each “cwnd’s worth”

of packets sent, increase cwnd by 1 packet.

  • In practice, cwnd is incremented fractionally for each

arriving ACK.

increment = MSS x (MSS /cwnd) cwnd = cwnd + increment

Figure 6.8 Additive Increase

Source Destination

Add one packet each RTT

AIMD

(Additive Increase / Multiplicative Decrease)

  • It has been shown that AIMD is a necessary condition

for TCP congestion control to be stable.

  • Because the simple CC mechanism involves timeouts

that cause retransmissions, it is important that hosts have an accurate timeout mechanism.

  • Timeouts set as a function of average RTT and standard

deviation of RTT.

  • However, TCP hosts only sample round-trip time once

per RTT using coarse-grained clock.

Figure 6.9 Typical TCP Sawtooth Pattern

60

20

1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 9. Time (seconds)

70

30

40

50

10

Slow Start

  • The source starts with cwnd = 1.
  • Every time an ACK arrives, cwnd is incremented.

cwnd is effectively doubled per RTT “epoch”.

  • Two slow start situations:

 At the very beginning of a connection {cold start }.  When the connection goes dead waiting for a timeout to occur (i.e, the advertized window goes to zero!)

Figure 6.10 Slow Start

Source Destination

Slow Start Add one packet per ACK

Figure 6.11 Behavior of TCP

Congestion Control

60

20

1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 9. Time (seconds)

70

30

40

50

10

Fast Retransmit

  • Coarse timeouts remained a problem, and Fast retransmit was added with TCP Tahoe.
  • Since the receiver responds every time a packet arrives, this implies the sender will see duplicate ACKs. Basic Idea:: use duplicate ACKs to signal lost packet.

Fast Retransmit Upon receipt of three duplicate ACKs, the TCP Sender retransmits the lost packet.

Figure 6.12 Fast Retransmit

Packet 1 Packet 2 Packet 3 Packet 4 Packet 5 Packet 6

Retransmit packet 3

ACK 1 ACK 2

ACK 2 ACK 2

ACK 6

ACK 2

Sender Receiver

Fast Retransmit

Based on three duplicate ACKs

Figure 6.13 TCP Fast Retransmit Trace

60

20

1.0 2.0 3.0 4.0 5.0 6.0 7. Time (seconds)

70

30

40

50

10

Fast Recovery

  • Fast recovery was added with TCP Reno.
  • Basic idea:: When fast retransmit detects three duplicate ACKs, start the recovery process from congestion avoidance region and use ACKs in the pipe to pace the sending of packets.

Fast Recovery After Fast Retransmit, half cwnd and commence

recovery from this point using linear additive increase

‘primed’ by left over ACKs in pipe.

Modified Slow Start

  • With fast recovery, slow start only

occurs:

  • At cold start
  • After a coarse-grain timeout
  • This is the difference between TCP

Tahoe and TCP Reno!!