Skip to content

evelinad/CS244_Bufferbloat

Repository files navigation

Ryan Wilson
CS 244
Assignment 1

Instructions:
To reproduce the graphs and their corresponding results, run 'sudo ./run.sh'
The results for a router buffer of 20 packets are in bb-q20/
The results for a router buffer of 100 packets are in bb-q100/

The time measured for h2 to fetch the /http/index.html file from h1 via curl is
as follows.
Note that the times were measured three times during the 200 second test,
approximately at 50 s, 100 s and 150 s:

With a router buffer of 20 packets:

Average fetch time: 2.506333
Standard deviation of fetch times: 0.054738

With a router buffer of 100 packets:

Average fetch time: 8.394333
Standard deviation of fetch times: 0.338964

Questions
1. The packets when the buffer is 100 packets long will wait in the queue 
instead of being dropped. Thus, TCP will continue sending packets with a larger
window, further bloating the buffer instead of reducing its window.

When the buffer is 20 packets, packets will be dropped and TCP will reduce its
window. Thus, one (or a few) packets must be resent, which is less overhead
than a large number of packets waiting in the buffer.

2. The EC2 instance has a maximum transmit queue length of 1000 packets with a
MTU of 1500 bytes.

The maximum time the packet could wait in the queue is
(1000 packets * 1500 bytes / packet * 8 bits / byte) / (100 Mb / s) = 12 ms

3. RTT = RTT_min + current_buffer_size / bottleneck_link_rate
In this situation, RTT = 20 ms + current_buffer_size / (1.5 Mb / s)

4.
- Reducing the TCP timeout value would prevent bufferbloat as packets stuck in
long router queues would be considered dropped and the TCP cwnd value would be
reduced.
- Setting custom buffer length values in routers and switches based on the
speed of the local network. Many IT administrators leave the router buffers as
the default value.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published