new designs for the internet why can’t i get higher throughput? why is my online video jerky? how...
TRANSCRIPT
New Designs for the Internet
• Why can’t I get higher throughput?
• Why is my online video jerky?
• How is capacity shared in the Internet?
Some Internet History
• 1974: First draft of TCP/IP“A protocol for packet network interconnection”, Vint Cerf and Robert Kahn
• 1983: ARPANET switches on TCP/IP
• 1986: Congestion collapse• 1988: Congestion control for TCP
“Congestion avoidance and control”, Van Jacobson
“A Brief History of the Internet”, the Internet Society
TCPif (seqno > _last_acked) {
if (!_in_fast_recovery) {
_last_acked = seqno;
_dupacks = 0;
inflate_window();
send_packets(now);
_last_sent_time = now;
return;
}
if (seqno < _recover) {
uint32_t new_data = seqno - _last_acked;
_last_acked = seqno;
if (new_data < _cwnd) _cwnd -= new_data; else _cwnd=0;
_cwnd += _mss;
retransmit_packet(now);
send_packets(now);
return;
}
uint32_t flightsize = _highest_sent - seqno;
_cwnd = min(_ssthresh, flightsize + _mss);
_last_acked = seqno;
_dupacks = 0;
_in_fast_recovery = false;
send_packets(now);
return;
}
if (_in_fast_recovery) {
_cwnd += _mss;
send_packets(now);
return;
}
_dupacks++;
if (_dupacks!=3) {
send_packets(now);
return;
}
_ssthresh = max(_cwnd/2, (uint32_t)(2 * _mss));
retransmit_packet(now);
_cwnd = _ssthresh + 3 * _mss;
_in_fast_recovery = true;
_recover = _highest_sent;
}
time [0-8 sec]
band
wid
th [
0-10
0 kB
/sec
]
Random Walks, Electrical Networks
• Kakutani (1945) • Consider a particle
performing a random walk on a network
Random Walks, Electrical Networks
• Kakutani (1945) • Consider a particle
performing a random walk on a network
• From node i it jumps to neighbouring node j at rate 1/rij
i
j
rij
Random Walks, Electrical Networks
• Kakutani (1945) • Consider a particle
performing a random walk on a network
• From node i it jumps to neighbouring node j at rate 1/rij
Random Walks, Electrical Networks
• Kakutani (1945) • Consider a particle
performing a random walk on a network
• From node i it jumps to neighbouring node j at rate 1/rij
Random Walks, Electrical Networks
• Kakutani (1945) • Consider a particle
performing a random walk on a network
• From node i it jumps to neighbouring node j at rate 1/rij
Random Walks, Electrical Networks
• Kakutani (1945) • Consider a particle
performing a random walk on a network
• From node i it jumps to neighbouring node j at rate 1/rij
Random Walks, Electrical Networks
• Kakutani (1945) • Consider a particle
performing a random walk on a network
• From node i it jumps to neighbouring node j at rate 1/rij
Random Walks, Electrical Networks
• Let Vi be the probability that, starting at i, the particle hits node 1 before it hits node 0
• Let Iij=(Vj-Vi)/rij
node 1
node 0
Vi
Random Walks, Electrical Networks
• Let Vi be the probability that, starting at i, the particle hits node 1 before it hits node 0
• Let Iij=(Vj-Vi)/rij
• Then Vi are the potentials and Iij the currents in this electrical circuit
node 1
node 0
resistance rij
Three Levels of Description
• Microscopic:particle-level rules of motion
• Macroscopic:Ohm’s law and Kirchhoff’s laws
• Teleological:Iij are such as to minimize heat dissipation
minimize ½ i,j Iij2 rij over Iij
Macroscopic description
• Consider several TCP flows sharing a single link
• Let RTT be the round-trip time [sec]Let x be the mean bandwidth of a flow [pkts/sec]Let y be the total bandwidth of all flows [pkts/sec]Let C be the total available capacity [pkts/sec]
• The total fraction of packets that are lost isp = (y-C)+/y
• The TCP algorithm achievesaverage increase in rate = average decrease in rate
1/RTT2 = (p x) x/2
Teleological description
• Consider several TCP flows sharing a single link• Let RTT be the round-trip time [sec]
Let xr be the mean bandwidth of flow r [pkts/sec]
Let y be the total bandwidth of all flows [pkts/sec]
Let C be the total available capacity [pkts/sec]
• TCP and the network act so as to solvemaximise r U(xr) - (y - C log y/C-1)+ over xr where y=
r xr
x
U(x
)
Teleological description
• Consider several TCP flows sharing a single link• Let RTT be the round-trip time [sec]
Let xr be the mean bandwidth of flow r [pkts/sec]
Let y be the total bandwidth of all flows [pkts/sec]
Let C be the total available capacity [pkts/sec]
• TCP and the network act so as to solvemaximise r U(xr) - (y - C log y/C-1)+ over xr where y=
r xr
x
U(x
)
little extra valued attached to high-bandwidth flowssevere penalty for
allocating too little bandwidth
Teleological description
• Consider several TCP flows sharing a single link• Let RTT be the round-trip time [sec]
Let xr be the mean bandwidth of flow r [pkts/sec]
Let y be the total bandwidth of all flows [pkts/sec]
Let C be the total available capacity [pkts/sec]
• TCP and the network act so as to solvemaximise r U(xr) - (y - C log y/C-1)+
over xr where y=r xr
x
U(x
)
small RTT
large RTT
Teleological description
• Consider several TCP flows sharing a single link• Let RTT be the round-trip time [sec]
Let xr be the mean bandwidth of flow r [pkts/sec]
Let y be the total bandwidth of all flows [pkts/sec]
Let C be the total available capacity [pkts/sec]
• TCP and the network act so as to solvemaximise r U(xr) - (y - C log y/C-1)+
over xr where y=r xr
x
U(x
)
no penalty until y>Ci.e. the link is overloaded
Teleological description
• Is this what we want the Internet to optimize?• Does it make good use of the network?• Can it deliver high bandwidth?• Is it a fair allocation?• Can we design a better allocation?
x
U(x
)
Stability of TCP
• TCP was designed to prevent congestion collapse. How well does it work?
• A more detailed macroscopic model for TCP is
• Is this dynamical system stable?How fast does it converge?
Ongoing work
• Kelly (Cambridge statslab)• Vinnicombe (Cambridge engineering)
proposed+analysed a good macro model
• Tom Kelly (CERN)implemented it in Linux: ScalableTCP
• Raina (Cambridge management science)analysed stability & instability
• Wischik (UCL computer science)micro/macro models for the link:how big should buffers be?
Ongoing work
• Low, Doyle (Caltech electrical engineering)Proposed further micro/macro models, FAST TCP
• Cottrell (SLAC)Testbed for TCP variants
• Srikant (UIUC electrical/computer engineering)Towsley (UMass computer science)Fluid model analysis
• Baccelli (ENS mathematics)Marsan (Turin electrical engineering)Mean field limit theory for TCP