Presentation is loading. Please wait.

Presentation is loading. Please wait.

TCP: Reno vs Cubic Matt Kane, Ryan Chu.

Similar presentations


Presentation on theme: "TCP: Reno vs Cubic Matt Kane, Ryan Chu."— Presentation transcript:

1 TCP: Reno vs Cubic Matt Kane, Ryan Chu

2 Agenda Brief history of congestion control reno cubic
Experiment description Results

3 Reno In the late 80s, the internet suffered major performance issues caused by high volume of packets being sent after a certain amount of packets offered to the network, the amount of goodput (useful packets) dropped dramatically One internet backbone dropped from 32kbits/s to 40 bits/s Van Jacobson is said to have saved the internet from congestion collapse Introduced congestion control principles in TCP Tahoe/Reno ( ) ie congestion window Upon receiving 3 duplicate ACKS, Reno halves the congestion window, sets the slow-start threshold to the new cwnd, perform fast retransmit, entering fast recovery phase.

4 Cubic Derived from BIC BIC was more aggressive BIC was more complex
BIC was not as TCP fair/friendly TCP congestion-control algorithm for high bandwidth networks with high latency The congestion window is a cubic function of time since the last congestion event

5 Reno vs Cubic

6 Experiment Upload a large file (multiple GBs) using both reno and cubic and measure the throughput. Which will have a higher throughput? Initial thought: cubic

7 Linux congestion control
Find out and modify Linux congestion control: /proc/sys/net/ipv4/tcp_available_congestion_control shows all congestion control algorithms that can be used cubic reno /proc/sys/net/ipv4/tcp_congestion_control shows CURRENT congestion control algorithm to change, write “cubic” or “reno” cubic is default from version NOTE: need root permission to change

8 Linux congestion control
Changing TCP congestion control Method 1: setsockopt() Method 2: iperf -Z reno -Z cubic #include <netinet/tcp.h> ... if (setsockopt(msgsock, IPPROTO_TCP, TCP_CONGESTION, optval, optlen) < 0) { perror("setsockopt"); return 1; }

9 Results Using setsockopt() Trouble sending more than 1.4GB
results were inconsistent

10 Results Using iperf

11 Discussion Why was there no difference in throughput? Ideas:
Is iperf actually changing the congestion control algorithm? Network is not fast enough for cubic to make a difference max out ~100 MB/sec

12 Questions


Download ppt "TCP: Reno vs Cubic Matt Kane, Ryan Chu."

Similar presentations


Ads by Google