1 / 23

New Designs for the Internet

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

bernie
Download Presentation

New Designs for the Internet

An Image/Link below is provided (as is) to download presentation 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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. 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

  3. TCP 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]

  4. How TCP shares capacity individualflowbandwidths availablebandwidth sum of flowbandwidths time

  5. Random Walks, Electrical Networks • Kakutani (1945) • Consider a particle performing a random walk on a network

  6. 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 j rij i

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

  8. 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

  9. 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

  10. 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

  11. 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

  12. 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 Vi node 0

  13. 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 resistance rij node 0

  14. 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,jIij2rij over Iij

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

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

  17. 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 å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

  18. 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 årU(xr) - (y - C log y/C-1)+ over xr where y=år xr U(x) small RTT large RTT x

  19. 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 å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

  20. 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? U(x) x

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

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

  23. 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

More Related