Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

NOTE: Please consider the following notes as more of a brain dump instead of a well thought out document.

Table of Contents

...

Update 06/07/2018

  • Looked into Traffic Differentiation - Rate Limiting vs. Traffic Prioritization (QoS)
  • Conclusions: 
    • Min RTT essentially reflects fixed delay, while average RTT subsumes variations and path load
    • TCP Segment drops manifest as large increases in delay
    • QoS can be implemented in at least two ways: 
      • When priorities are implemented, ICMP packets will only be dropped if ICMP quota is full and link is congested, otherwise ICMP traffic is allowed to go beyond quota
      • When rate-limits are implemented, ICMP packets will be dropped when ICMP quota is met, even if links are not congested
    • Path loads dictate latency estimates: With weighted QoS implementations, loaded links depress ICMP
  • Found relevant papers and technical reports. The intent here is to understand the components of latency to help with the evaluation.
  • Setup NeuBot and experimented with tests but wasn't able to find useful examples of traffic differentiation (see https://www.measurementlab.net/tests/)
  • Skimmed Glasnost to understand traffic shaping (see http://broadband.mpi-sws.org/transparency/glasnost.php and https://github.com/marcelscode/glasnost)
  • [Not Relevant] Miscellaneous notes on ICMP Traceroutes, MPLS tunneling & ICMP (see http://cluepon.net/ras/traceroute.pdf), Measuring Performance
  • IPv6 results gathered using ping-vs-tcp.pl script. They are yet to be analyzed

    • Tests complete in less than a day; not many IPv6 addresses

    • About 56 nodes with IPv6 addresses, 14 of which responded with Npings

    • We essentially have a 14-point data set
  • IPv4 results gathered from SLAC. (Repeating Virginia Tech experiments.)
    • Complete batch may be downloaded here (approx. 24 MB)
    • Skimmed results; findings are pretty much the same as before
    • Identified relevant events in the network stack that highlight timing (_RECVFROM, _RECVMSG, _IP_RECV, _NETIF_RX etc.). Looking for instrumentation that enables us to measure timestamps. We also need to figure out how to determine whether ICMP & TCP traffic are treated differently? and then how to measure the difference?
      • perf-tools allows us to measure transport events
      • If we could assume that the path for ICMP & TCP through the network is the same, then the only difference between two (controlled) tests would be the time spent in the transport layers. This can be measured using perftools. 
      • However, such measurements must be made in a controlled environment where ICMP and TCP are treated the same. (I say so because some results — e.g., in East Asia and South Asia — clearly show that ICMP performs much worse than TCP.)
    • We would also need to cater for cross traffic and queuing delays. Given how small the differences are, one may argue that the variations in measurements are due to cross traffic. Perhaps we should start with controlled tests and then see if real world measurements reflect similar behavior.
  • We need to setup a test environment. We can either setup a bare-metal box or use a VM. I will see if I can arrange for a bare-metal box.

What are we investigating?

...