- 90 Views
- Uploaded on
- Presentation posted in: General

New Designs for the Internet

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

- Why can’t I get higher throughput?
- Why is my online video jerky?
- How is capacity shared in the Internet?

- 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

if (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;

}

bandwidth [0-100 kB/sec]

time [0-8 sec]

individualflowbandwidths

availablebandwidth

sum of flowbandwidths

time

- Kakutani (1945)
- Consider a particle performing a random walk on a network

- 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

j

rij

i

- 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

- 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

- 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

- 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

- 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

- 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

Vi

node 0

- 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

resistance rij

node 0

- Microscopic:particle-level rules of motion
- Macroscopic:Ohm’s law and Kirchhoff’s laws
- Teleological:Iij are such as to minimize heat dissipationminimize ½åi,jIij2rij over Iij

- 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 rate1/RTT2 = (p x) x/2

- 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 årU(xr) - (y - C log y/C-1)+over xr where y=år xr

U(x)

x

- 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 årU(xr) - (y - C log y/C-1)+over xr where y=år xr

U(x)

little extra valued attached to high-bandwidth flows

severe penalty for allocating too little bandwidth

x

- 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 årU(xr) - (y - C log y/C-1)+over xr where y=år xr

U(x)

small RTT

large RTT

x

- Consider several TCP flows sharing a single link
- TCP and the network act so as to solvemaximise årU(xr) - (y - C log y/C-1)+over xr where y=år xr

no penalty until y>Ci.e. the link is overloaded

U(x)

x

- 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?

U(x)

x

- 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?

- 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?

- 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