New designs for the internet
This presentation is the property of its rightful owner.
Sponsored Links
1 / 23

New Designs for the Internet PowerPoint PPT Presentation


  • 71 Views
  • Uploaded on
  • Presentation posted in: General

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

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

Presentation Transcript


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

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


New designs for the internet

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]


How tcp shares capacity

How TCP shares capacity

individualflowbandwidths

availablebandwidth

sum of flowbandwidths

time


Random walks electrical networks

Random Walks, Electrical Networks

  • Kakutani (1945)

  • Consider a particle performing a random walk on a network


Random walks electrical networks1

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


Random walks electrical networks2

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 networks3

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 networks4

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 networks5

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 networks6

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 networks7

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


Random walks electrical networks8

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


Three levels of description

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 dissipationminimize ½åi,jIij2rij over Iij


Macroscopic description

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


Teleological description

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


Teleological description1

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


Teleological description2

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


Teleological description3

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


Teleological description4

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


Stability of tcp

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

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 work1

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


  • Login