ahmed el-hassany cisc856: cisc 856 tcp/ip and upper layer protocols slides adopted from: injong...
TRANSCRIPT
BIC & CUBICAhmed El-Hassany
CISC856: CISC 856 TCP/IP and Upper Layer Protocols
Slides adopted from: Injong Rhee, Lisong Xu
4
AIMD (Additive Increase Multiplicative Decrease)
AIMD increases cwnd by a larger number, say 32, instead of 1 per RTT.
After a packet loss, AIMD decreases cwnd by 1/8, instead of 1/2
Packet loss
Time (RTT)Slow start Congestion avoidance
Packet loss Packet loss
cwnd
Packet loss
cwnd = cwnd + 1
cwnd = cwnd + 32
cwnd = cwnd * (1-1/2)
cwnd = cwnd * (1-1/8) TCP
WhatHow much time is needed increase cwnd of a
10Gbps from half utilization to full utilization?1500-byte PDU100 ms RTT
Full utilization cwnd = 10Gbps/1500byte ~=83333Half utilization cwnd = 83333/2 = 41666.5Remember cwnd is increased by 1 for each RTTÞ41667 RTT is needed to fully utilized the linkÞ41667 RTT * 100ms(RTT time) = 69.44minutes
SLOW
DefinitionsBandwidth-Delay Product: Maximum
amount of data on the network circuit at any given timeLinks capacity (bytes/sec)* end-to-end delay
(sec)TCP Fairness: a new protocol receive no
larger share of the network than a comparable TCP flow.
TCP-friendliness: defines whether a protocol is being fair to TCP.
WhatTCP slowly increases its congestion window
(cwnd) for every RTT.TCP reduces cwnd by half at a lost event.
9
Response Function of TCP
Response function of TCP is the average throughput of a TCP connection in terms of the packet loss probability, the packet size, and the round-trip time.
pRTT
MSSR
2.1
R : Average Throughput MSS: Packet Size RTT: Round-Trip Time P : Packet Loss Probability
Response Function of TCP is :
J. Padhye, V. Firoio, D. Towsley, J. Kurose, "Modeling TCP Throughput: a Simple Model and its Empirical Validation", Proceedings of SIGCOMM 98
10
Why (Response Function of TCP)
1.0E+01
1.0E+02
1.0E+03
1.0E+04
1.0E+05
1.0E+06
1.0E-10 1.0E-09 1.0E-08 1.0E-07 1.0E-06 1.0E-05 1.0E-04 1.0E-03 1.0E-02
Packet Loss Probability
Th
rou
gh
pu
t (M
bp
s)
TCP
10Gbps requires a packet loss rate of 10-
10, or correspondingly a link bit error rate of at most 10-14, which is an unrealistic (or at least hard) requirement for current networks
Using Log-Log scale, Assuming 1250-Byte packet size, and 100ms RTT
11
A Search Problem
A Search ProblemBIC consider the increase part of congestion avoidance
as a search problem, in which a connection looks for the available bandwidth by comparing its current throughput with the available bandwidth, and adjusting cwnd accordingly.
How does TCP find the available bandwidth?
Linear searchwhile (no packet loss){
cwnd++;}
Q: How to compare R with A?
R = current throughput = cwnd/RTTA = available bandwidth
A: Check for packet losses No packet loss: R <= A Packet losses : R > A
12
Linear Search
0
32
64
96
128
160
192
224
256
0 50 100 150 200 250
Time (RTT)
cw
nd
Linear Search
Available Bandwidth
13
BIC: Binary Search with Smax and Smin
BIC - Binary searchwhile (Wmin <= Wmax){ inc = (Wmin+Wmax)/2 -
cwnd;if (inc > Smax) inc = Smax;else if (inc < Smin) inc = Smin;cwnd = cwnd + inc;if (no packet losses) Wmin = cwnd;else break;
}
Wmax: Max Window Wmin: Min Window Smax: Max Increment Smin: Min Increment
14
Binary Search with Smax and Smin
0
32
64
96
128
160
192
224
256
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Time (RTT)
cw
nd
Linear Search
Binary Search with Smax and Smin
Smin
Smax
Wmax
Wmin
Available Bandwidth
15
Setting Smax
1.0E+01
1.0E+02
1.0E+03
1.0E+04
1.0E+05
1.0E+06
1.0E-07 1.0E-06 1.0E-05 1.0E-04 1.0E-03 1.0E-02
Packet Loss Probability
Th
rou
gh
pu
t (M
bp
s)
TCP
Smax=16
Smax=32
Smax=64
Response Function of BIC on high-speed networks
p
S
RTT
MSSR max7.2
Bandwidth scalability of BIC depends only on Smax
RTT Fairness of BIC on high-speed networks is the same as that of AIMD
Bandwidth scalability
16
Setting Smin
1.0E+01
1.0E+02
1.0E+03
1.0E+04
1.0E+05
1.0E+06
1.0E-07 1.0E-06 1.0E-05 1.0E-04 1.0E-03 1.0E-02
Packet Loss Probability
Th
rou
gh
pu
t (M
bp
s)
TCP
Smin=0.1
Smin=0.01
Smin=0.001
Response Function of BIC on low-speed networks
min, SpfRTT
MSSR
TCP-friendliness of BIC depends only on Smin TCP friendliness
17
Response Functions
1.E+01
1.E+02
1.E+03
1.E+04
1.E+05
1.E+06
1.E-07 1.E-06 1.E-05 1.E-04 1.E-03 1.E-02
Packet Loss Probability
Pa
ck
ets
/RT
T
TCP
AIMD
HSTCP
STCP
BIC
Bandwidth scalability
RTT Fairness
TCP-Friendliness
18
In Summary BIC function
• BIC overall performs very well in evaluation of advanced TCP stacks on fast long-distance production.
• BIC (also HSTCP & STCP) growth function can be still aggressive for TCP especially under short RTTs or low speed networks.
Thinking Out of The BoxMake window size growth function
independent from RTT.Use the elapsed real-time since the last loss
event.Goals
TCP friendlyRTT fairCo-existing flows with different RTTs are
treated fairlyEfficient use of available bandwidth
20
The CUBIC function
where C is a scaling factor, t is the elapsed time from the last window reduction, and β is a constant multiplication decrease factor
accelerate
accelerate
slow down
CUBIC AlgorithmIf (received ACK && state == cong avoid)
Compute Wcubic(t+RTT).If cwnd < WTCP
CUBIC in TCP mode
If cwnd < Wmax CUBIC in concave region
If cwnd > Wmax CUBIC in convex region
TCP Mode
Detailed derivation of this equation is in Section 3.3 in CUBIC paper
RTT
tWW ttcp
2
3)1(max)(
Concave Region
Detailed derivation of this equation is in Section 3.4 in CUBIC paper
cwnd
cwndRTTtWcwndcwnd cubic
new
)(
Convex Regioncwnd > WmaxNew bandwidth might be availableUse the same window growth function.
Detailed derivation of this equation is in Section 3.5 in CUBIC paper
cwnd
cwndRTTtWcwndcwnd cubic
new
)(
Packet Loss EventIf cwnd < Wmax and fast_convergence
Wmax = cwnd * ((2-β)/2)Else:
Wmax = cwnd
ssthread = cwnd = cwnd*(1-β)
26
Testbed (Dummynet) Setup
Router 1
Sender 1
Sender 2
Background TrafficGenerator 1
Router 2
Receiver
Background TrafficGenerator 2
FreeBSDLinux
Bottleneck Point : 800 Mbps
Setting RTT for each path between Senders and Receiver
RTT for Background Traffic : Exponential Distribution (Next Slide)
1 Gbps link
Background Traffic Generation (Next Slide)
Background Traffic Generation (Next Slide)
High-Speed TCP Variants :e.g. CUBIC, BIC, FAST, HSTCP, STCP
High-Speed TCPor TCP SACK
27
0%
20%
40%
60%
80%
100%C
UB
IC
BIC
FAS
T
HS
TCP
STC
P
CU
BIC
BIC
FAS
T
HS
TCP
STC
P
UnusedBackgroundTCPHigh- Speed
TCP Friendliness on short RTT - 5ms
80 Mbps 200 MbpsBackground traffic
Lin
k U
tili
zati
on
(%
)• Dummynet Testbed : RTT 5ms & 800 Mbps, 100% router buffer of the BDP with 80 ~ 200 Mbps background traffic
TCP Friendliness (cont.)
28
TCP Friendliness (cont.)
0%
20%
40%
60%
80%
100%C
UB
IC
BIC
FA
ST
HS
TC
P
STC
P
CU
BIC
BIC
FA
ST
HS
TC
P
STC
P
UnusedBackgroundTCPHigh- Speed
TCP Friendliness on short RTT - 10ms
80 Mbps 200 MbpsBackground traffic
Lin
k U
tili
zati
on
(%
)• Dummynet Testbed : RTT 10ms & 800 Mbps, 100% router buffer of the BDP with 80 ~ 200 Mbps background traffic
29
TCP Friendliness (cont.)
0%
20%
40%
60%
80%
100%C
UB
IC
BIC
FAS
T
HS
TCP
STC
P
CU
BIC
BIC
FAS
T
HS
TCP
STC
P
UnusedBackgroundTCPHigh- Speed
TCP Friendliness on long RTT - 100ms
80 Mbps 200 MbpsBackground traffic
Lin
k U
tili
zati
on
(%
)• Dummynet Testbed : RTT 100ms & 800 Mbps, 100% router buffer of the BDP with 80 ~ 200 Mbps background traffic
30
TCP Friendliness (cont.)
0%
20%
40%
60%
80%
100%C
UB
IC
BIC
FAS
T
HS
TCP
STC
P
CU
BIC
BIC
FAS
T
HS
TCP
STC
P
UnusedBackgroundTCPHigh- Speed
TCP Friendliness on long RTT - 200ms
80 Mbps 200 MbpsBackground traffic
Lin
k U
tili
zati
on
(%
)• Dummynet Testbed : RTT 200ms & 800 Mbps, 100% router buffer of the BDP with 80 ~ 200 Mbps background traffic
31
RTT Fairness Dummynet testbed : RTT 40, 120, 240 ms & 800 Mbps, Router buffer: 50% of the BDP with 200 Mbps background traffic