Goals
The goal of this project is to learn about a specific change to TCP that reduces transfer latency. In
the past lessons, I learned about persistent TCP connections which enable a web browser to reuse
a connection for multiple data requests. However, many HTTP requests occur over new TCP
connections. For example, an image embedded in a web page may be located on a separate
content server, or an ad is being loaded from a third-party server, requiring a new TCP connection to be opened to obtain that image to properly display the webpage.
This insight led researchers at Google to investigate reducing the setup costs for a TCP connection.
They developed TCP Fast Open (TFO) which permits sending data during the TCP handshake, ultimately reducing the load latency of a web resource by one round trip time (RTT). In this and the
next two projects, you will dive into recent research in Computer Networks by replicating and extending the experimental results from a research paper in Mininet. In this project specifically, I observed how TCP Fast Open improves HTTP transaction times for real websites.
Analysis
- Our main goal for this project was to replicate and compare the results of the TCP Fast Open paper that was assigned in the course. This test compares several web pages with and without TFO against different RTT values, which are 20, 100, and 200 ms respectively. Furthermore, another test was made but this time providing the pages of our own websites to come with our own conclusions if TFO is actually beneficial or not. Additionally, here are the raw results of the web pages (www.tamu.edu, www.thewirecutter.com, www.gatech.edu) that were fetched and tested the effects of TFO with different RTT values with the scripts provided.
Pages
RTT(ms)
PLT: no TFO (ms)
PLT: TFO (ms)
Improv.
Table 1. Average page load time in milliseconds for www.gatech.edu, www.thewirecutter.com, and www.tamu.edu
- Consecutively, here is an analysis of each of the URLs that were tested within the URLs.pages:
- httpwww.gatech.edu
- The effects of TFO against www.gatech.edu are clearly beneficial in terms of the page load time, as the RTT gets bigger, the improvement of the PLT is more noticeable.
- As mentioned before, as the RTT gets bigger, the improvement of the PLT is more noticeable
- Yes, as most of the content available at this URL is provided by the same domain and it does not get its content through multiple sites.
- No, as expected, TFO improves the PLT when the RTT is high, and when RTT is small, the gains from TFO are small
- Figure 1. TFO Timing Breakdown: www.gatech.edu at 200 ms RTT
- httpwww.thewirecutter.com
- The effects of TFO against www.thewirecutter.com are clearly beneficial in terms of the page load time, as the RTT gets bigger, the improvement of the PLT is more noticeable.
- As mentioned before, as the RTT gets bigger, the improvement of the PLT is more noticeable
- Yes, as most of the content available at this URL is provided by cdn.wirecutter.com and it does not get its content through multiple sites.
- Yes, compared to the paper, the site actually got a big improvement from the smallest RTT (20 ms), obtaining an impressive 21.78% instead of the 4-5% as shown in the paper
- Figure 2. TFO Timing Breakdown: www.wirecutter.com at 100 ms RTT
- httpwww.tamu.edu
- The effects of TFO against www.tamu.edu are clearly beneficial in terms of the page load time, as the RTT gets bigger, the improvement of the PLT is more noticeable.
- As mentioned before, as the RTT gets bigger, the improvement of the PLT is more noticeable.
- Yes, as most of the content available at this URL is provided by the same domain and it does not get its content through multiple sites.
- No, as expected, TFO improves the PLT when the RTT is high, and when RTT is small, the gains from TFO are small. However, it is interesting that the improvement at 20 ms RTT is not as high compared to the paper. Additionally, we can see that even though the segments for the TFO enabled are much smaller, in some cases the request to complete, takes longer than the TFO disabled. This can be seen in the figure below between the 17th - 29th requests. This is because the browser spends most of its time waiting for the network transfers instead of processing the retrieved content.
- Figure 3. TFO Timing Breakdown: www.tamu.edu at 20 ms RTT
- Based on the results from the scripts, the findings were astonishingly good. We can clearly see that TFO benefits all the sites as the RTT gets higher values. Noteworthy, in some instances, while the RTT and network delay is small, the TFO benefit will not be significant. This applies to the requests that are heavy on content, hence most of the time, it is waiting on the server to fetch such content.
- From the data gathered from the scripts, www.gatech.edu had the most performance gain over TCP and www.tamu.edu had the worst performance gain over TCP. While setting the RTT to 20 ms, www.tamu.edu, only had an improvement of 2.9%, even smaller compared to the paper, which had at least an improvement of 4% at 20 ms of RTT. However, all the sites had a significant improvement from the TFO, even greater compared to the results from the paper which was at a maximum of 16% and 41% with 100 ms and 200 ms RTTs respectively compared to the findings at a maximum of 28% and 80.91% respectively.