1 Congestion Control. Transport Layer3-2 Principles of Congestion Control Congestion: r informally:...

16
1 Congestion Control
  • date post

    20-Dec-2015
  • Category

    Documents

  • view

    225
  • download

    1

Transcript of 1 Congestion Control. Transport Layer3-2 Principles of Congestion Control Congestion: r informally:...

1

Congestion Control

Transport Layer 3-2

Principles of Congestion Control

Congestion: informally: “too many sources sending too

much data too fast for network to handle” different from flow control! manifestations:

lost packets (buffer overflow at routers) long delays (queueing in router buffers)

a top-10 problem!

Transport Layer 3-3

Causes/costs of congestion: scenario 1

two senders, two receivers

one router, infinite buffers

no retransmission

large delays when congested

maximum achievable throughput

unlimited shared output link buffers

Host Alin : original data

Host B

lout

Transport Layer 3-4

Causes/costs of congestion: scenario 2

one router, finite buffers sender retransmission of lost packet

finite shared output link buffers

Host A lin : original data

Host B

lout

l'in : original data, plus retransmitted data

Transport Layer 3-5

Causes/costs of congestion: scenario 2 always: (goodput)

“perfect” retransmission only when loss:

retransmission of delayed (not lost) packet makes

larger (than perfect case) for same

lin

lout

=

lin

lout

>l

inl

out

“costs” of congestion: more work (retrans) for given “goodput” unneeded retransmissions: link carries multiple copies of

pkt

R/2

R/2lin

l ou

t

b.

R/2

R/2lin

l ou

t

a.

R/2

R/2lin

l ou

t

c.

R/4

R/3

Transport Layer 3-6

Causes/costs of congestion: scenario 3 four senders multihop paths timeout/retransmit

lin

Q: what happens as and increase ?

lin

finite shared output link buffers

Host Alin : original data

Host B

lout

l'in : original data, plus retransmitted data

Transport Layer 3-7

Causes/costs of congestion: scenario 3

another “cost” of congestion: when packet dropped, any “upstream

transmission capacity used for that packet was wasted!

Host A

Host B

lo

u

t

Transport Layer 3-8

Approaches towards congestion control

end-end congestion control:

no explicit feedback from network

congestion inferred from end-system observed loss, delay

approach taken by TCP

network-assisted congestion control:

routers provide feedback to end systems single bit indicating

congestion (SNA, DECbit, TCP/IP ECN, ATM)

explicit rate sender should send at

two broad approaches towards congestion control:

Network assisted congestion control Active Queue Management

monitor queue, do not just drop upon overflow more intelligent decisions

maintain low average queue length, alleviate phase effects, enforce fairness

Explicit Congestion Notification (ECN) Instead of dropping, set a bit; reduced loss - major benefit!

Explicit Congestion Control (ECN)

Receiver informs sender about bit; sender behaves as if a packet was dropped actual communication between end nodes and the network

Typical incentives: sender = server; efficiently use connection, fairly distribute

bandwidth use ECN as it was designed receiver = client; goal = high throughput, does not care about others ignore ECN flag, do not inform sender about it

Need to make it impossible for receiver to lie about ECN flag when it was set Solution: nonce = random number from sender, deleted by router

when setting ECN Sender believes “no congestion” if correct nonce is sent back

Source: http://www.cis.udel.edu/~yackoski/856_ecn.ppt

2 bits => 4 ECN Codepoints

ECT(0) (ECN Capable Transport (0) )

10

CE (Congestion Experienced)11

ECT(1) (ECN Capable Transport(1) )

01

Not-ECT (Not ECN Capable Transport)

00

NameValue

ECN Bits in IP Header

CWR flag - Congestion Window Reduced flag

ECE flag - ECN-Echo flag

ECN Bits in TCP Header

Source: http://www.cis.udel.edu/~yackoski/856_ecn.ppt

Data packets

ACKs

Send packet w ithECT = 1, CE = 0,nonce = random

ECT = 1, so don’t dropupdate: CE = 1nonce = 0

Set ECE = 1 insubsequent ACKseven if CE = 0

Reduce cw nd,set CW R = 1

Only set ECE = 1in ACKs againwhen CE = 1

Sender Receiver

1 2 3

4 5

Congestion

ECN in action

Nonce provided by bit combination: ECT(0): ECT=1, CE=0 ECT(1): ECT=0, CE=1

Nonce usage specification still experimental

Transport Layer 3-14

Case study: ATM ABR congestion control

ABR: available bit rate:

“elastic service” if sender’s path

“underloaded”: sender should use

available bandwidth if sender’s path

congested: sender throttled to

minimum guaranteed rate

RM (resource management) cells:

sent by sender, interspersed with data cells

bits in RM cell set by switches (“network-assisted”) NI bit: no increase in rate

(mild congestion) CI bit: congestion

indication RM cells returned to sender

by receiver, with bits intact

Transport Layer 3-15

Case study: ATM ABR congestion control

two-byte ER (explicit rate) field in RM cell congested switch may lower ER value in cell sender’ send rate thus maximum supportable rate on

path EFCI bit in data cells: set to 1 in congested

switch if data cell preceding RM cell has EFCI set, sender sets

CI bit in returned RM cell

Questions?