tcp: Make CUBIC the default congestion control algorithm

This commit is contained in:
Tom Henderson
2021-01-26 14:07:44 -08:00
parent ef7ea11aec
commit b85a8bd782
4 changed files with 8 additions and 4 deletions

View File

@@ -66,7 +66,7 @@ us a note on ns-developers mailing list.</p>
</ul>
<h2>Changed behavior:</h2>
<ul>
<li></li>
<li>The default <b>TCP congestion control</b> has been changed from NewReno to CUBIC.</li>
</ul>
<hr>

View File

@@ -148,7 +148,7 @@ main (int argc, char *argv[])
bool tracing = false;
uint32_t maxBytes = 0; // value of zero corresponds to unlimited send
std::string transportProtocol = "ns3::TcpNewReno";
std::string transportProtocol = "ns3::TcpCubic";
Time simulationEndTime = Seconds (5);
DataRate bottleneckBandwidth ("10Mbps"); // value of x as shown in the above network topology

View File

@@ -48,7 +48,7 @@ ns-3 TCP
In brief, the native |ns3| TCP model supports a full bidirectional TCP with
connection setup and close logic. Several congestion control algorithms
are supported, with NewReno the default, and CUBIC, Westwood, Hybla, HighSpeed,
are supported, with CUBIC the default, and NewReno, Westwood, Hybla, HighSpeed,
Vegas, Scalable, Veno, Binary Increase Congestion Control (BIC), Yet Another
HighSpeed TCP (YeAH), Illinois, H-TCP, Low Extra Delay Background Transport
(LEDBAT), TCP Low Priority (TCP-LP) and and Data Center TCP (DCTCP) also supported. The model also supports
@@ -89,6 +89,9 @@ In the ns-3.32 release, the default recovery algorithm was set to
Proportional Rate Reduction (PRR) from the classic ack-clocked Fast
Recovery algorithm.
In the ns-3.34 release, the default congestion control algorithm was set
to CUBIC from NewReno.
Acknowledgments
+++++++++++++++

View File

@@ -42,6 +42,7 @@
#include "tcp-socket-factory-impl.h"
#include "tcp-socket-base.h"
#include "tcp-congestion-ops.h"
#include "tcp-cubic.h"
#include "tcp-recovery-ops.h"
#include "tcp-prr-recovery.h"
#include "rtt-estimator.h"
@@ -79,7 +80,7 @@ TcpL4Protocol::GetTypeId (void)
MakeTypeIdChecker ())
.AddAttribute ("SocketType",
"Socket type of TCP objects.",
TypeIdValue (TcpNewReno::GetTypeId ()),
TypeIdValue (TcpCubic::GetTypeId ()),
MakeTypeIdAccessor (&TcpL4Protocol::m_congestionTypeId),
MakeTypeIdChecker ())
.AddAttribute ("RecoveryType",