https://hpbn.co/

Ch 1

  • Propagation delay = Time sender -> receiver,
    • function of distance over ~speed of light resisted by fibre/medium (refractive index value of fibre is 1.4-1.6, so add approx 50% to time in ref to vacuum)
  • Transmission delay - Time to push packet’s bits into the link,
    • function of the packet’s length and data rate of the link.
  • Processing delay - Time to process:
    • the packet header,
    • check for bit-level errors,
    • determine destination.
  • Queuing delay

  • i.e. New York -> Sydney
    • ~16000km,
    • 80ms in fibre vs 53ms in vac
    • 160ms for round trip.
    • Total is 300ms approx with other delays
    • NOTE: 100-200ms is human perceptible “lag” Content delivery network (CDN) is addressing this

Bufferbloat in Your Local Router - routers ome with large buffers, but it breaks TCP’s congestion avoidance mechanisms. CoDel active queue management algorithm is solving this (see more)

Last-Mile Latency

Fiber-to-the-home, on average, has the best performance in terms of latency, with 18 ms average during the peak period, with cable having 26 ms latency and DSL 44 ms latency.

traceroute google.com
traceroute to google.com (142.250.76.110), 64 hops max, 40 byte packets
 1  192.168.41.168 (192.168.41.168)  6.242 ms  7.192 ms  5.198 ms
 2  * * *
 3  * * *
 4  * * *
 5  255.0.0.4 (255.0.0.4)  73.592 ms  22.153 ms  21.414 ms
 6  255.0.0.4 (255.0.0.4)  20.029 ms  21.712 ms  22.307 ms
 7  * * *
 8  bundle-ether26.exi-core30.melbourne.telstra.net (203.50.61.160)  61.505 ms  18.472 ms *
 9  bundle-ether1.lon-edge903.melbourne.telstra.net (203.50.11.199)  85.512 ms  31.766 ms  27.146 ms
10  142.250.162.46 (142.250.162.46)  25.318 ms  22.595 ms  26.489 ms
11  * * *
12  142.250.230.160 (142.250.230.160)  26.950 ms
    216.239.59.108 (216.239.59.108)  32.450 ms
    142.250.230.156 (142.250.230.156)  19.845 ms
13  192.178.98.132 (192.178.98.132)  24.315 ms
    192.178.98.214 (192.178.98.214)  23.034 ms
    192.178.98.62 (192.178.98.62)  26.535 ms
14  192.178.244.29 (192.178.244.29)  37.345 ms
    192.178.245.1 (192.178.245.1)  41.555 ms
    192.178.243.225 (192.178.243.225)  36.744 ms
15  216.239.51.72 (216.239.51.72)  47.287 ms
    142.251.240.248 (142.251.240.248)  39.488 ms  37.153 ms
16  192.178.97.163 (192.178.97.163)  35.953 ms
    192.178.97.167 (192.178.97.167)  35.766 ms
    192.178.97.235 (192.178.97.235)  35.521 ms
17  142.250.212.137 (142.250.212.137)  45.843 ms  49.993 ms  35.098 ms
18  syd09s24-in-f14.1e100.net (142.250.76.110)  37.290 ms  37.704 ms  42.905 ms
traceroute rmit.edu.au
traceroute to rmit.edu.au (131.170.0.105), 64 hops max, 40 byte packets
 1  192.168.41.168 (192.168.41.168)  5.491 ms  5.034 ms  7.123 ms
 2  * * *
 3  255.0.0.1 (255.0.0.1)  28.771 ms * *
 4  * * *
 5  255.0.0.4 (255.0.0.4)  77.356 ms  24.782 ms  22.336 ms
 6  255.0.0.4 (255.0.0.4)  24.182 ms  35.384 ms  26.657 ms
 7  * * *
 8  ae20-20.cla-ice302.melbourne.telstra.net (203.50.61.163)  95.129 ms  26.061 ms  26.782 ms
 9  bundle-ether25.cla-core30.melbourne.telstra.net (203.50.61.176)  29.641 ms  35.206 ms  20.190 ms
10  bundle-ether3.hay-core30.sydney.telstra.net (203.50.13.132)  36.528 ms  33.684 ms  43.443 ms
11  * * *
12  bundle-ether1.sydo-core04.telstraglobal.net (203.50.13.94)  148.803 ms  35.028 ms  34.955 ms
13  bundle-ether1.sydo-core04.telstraglobal.net (203.50.13.94)  202.046 ms  261.575 ms  177.922 ms
14  i-10604.1wlt-core02.telstraglobal.net (202.84.141.225)  174.757 ms  169.941 ms  182.748 ms
15  i-10604.1wlt-core02.telstraglobal.net (202.84.141.225)  176.272 ms  242.165 ms  184.791 ms
16  i-93.tlot02.bi.telstraglobal.net (202.84.253.86)  173.080 ms  174.665 ms  171.359 ms
17  l3-peer.eqnx03.pr.telstraglobal.net (134.159.61.106)  176.523 ms  173.110 ms  174.848 ms
18  * * *
19  aarnet-pty.ear4.london1.level3.net (217.163.113.74)  377.656 ms  301.677 ms  324.889 ms
20  et-5-1-0.pe1.crlt.vic.aarnet.net.au (113.197.15.20)  295.749 ms  284.176 ms  295.449 ms
21  138.44.64.77 (138.44.64.77)  355.950 ms  430.433 ms  336.025 ms
22  * * *
----
64  * * *

Latency, not bandwidth, is the performance bottleneck for most websites!

Optical fibers have a distinct advantage when it comes to bandwidth because each fiber can carry many different wavelengths (channels) of light through a process known as wavelength-division multiplexing (WDM) as of 2010: multiplex was possible with over 400 wavelengths with the peak capacity of 171 Gbit/s per channel, which translates to over 70 Tbit/s of total bandwidth for a single fiber link!

half of all Internet traffic is video streaming

  • Delivering Higher Bandwidth is not really limited, as we can put more cables, improve WDM, etc
  • Delivering Lower Latencies is limited to speed of light / material science. (~30% max improvements possible) Hence:
  • we need to reduce round trips,
  • move the data closer to the client, and
  • build applications that can hide the latency through
    • caching,
    • pre-fetching, and a variety of similar techniques

CH 2 - Transmission Control Protocol

IPv{1,2,3,5}

IPv4 - v4 is homage / heritage of a TCP/IP 1984 v4 draft, which resulted in

  • RFC 791—Internet Protocol
  • RFC 793—Transmission Control Protocol Internet Stream Protocol (ST), which never took off, meant to take v5

Three-Way Handshake

  • SYN Client picks a random sequence number x and sends a SYN packet, which may also include additional TCP flags and options.

  • SYN ACK Server increments x by one, picks own random sequence number y, appends its own set of flags and options, and dispatches the response.

  • ACK Client increments both x and y by one and completes the handshake by dispatching the last ACK packet in the handshake. later adding receive window (rwnd)

TCP Fast Open

Leave a comment