an implementation of tcp-illinois in ns-3congestion control algorithm called tcp illinois and...
TRANSCRIPT
II. TOPOLOGY GENERATION
•Introduction
The TCP congestion control algorithm has beencontributing to the stability of the Internet.Given its crucial role, it is one of the popularresearch topics in networking, resulting innumerous TCP variants proposed over the years.Unfortunately, the current ns-3 standard releasesupports a very small subset of them. As part ofour ongoing effort to extend ns-3 TCPfunctionalities, we implement an additionalcongestion control algorithm called TCP Illinoisand validate the model by simulating theprotocol under multiple network scenarios andcomparing it with other TCP variants.
•TCP Illinois Algorithm
TCP Illinois proposed to achieve high throughputin high-speed networks is a hybrid congestioncontrol algorithm that uses both packet loss anddelay information as congestion signals. Thepacket loss information is used to decide onwhether to increase or decrease the congestionwindow, but the amount of change that is madeto the congestion window depends on the delaymeasurements. Illinois makes the choice of theinflation factor, α, and deflation factor, β, based
on the network’s congestion status. When thenetwork is far from congestion (i.e. when theaverage queueing delay is small), Illinois sets αlarge and β small. As the network approaches
congestion (i.e. when the average queueingdelay is large), the value of α is decreased whilethe value of β is increased. Thus, in Illinois, αand β are functions of the queueing delay as
calculated in Equation 1 and Equation 2,respectively. These values of α and β are then
used to update the congestion window duringthe congestion avoidance and fast recoveryphases similar to the standard AIMD (additiveincrease multiplicative decrease) algorithm asshown in Equation 3 and Equation 4.
𝛼 = 𝑓1(𝑑a) =𝛼max if 𝑑a ≤ 𝑑1
𝜅1
𝜅2+𝑑aotherwise (1)
𝛽 = 𝑓2(𝑑a) = ൞
𝛽min, if 𝑑a ≤ 𝑑2𝜅3 + 𝜅4𝑑a, if d2< 𝑑a < 𝑑3
𝛽max, otherwise
(2)
cwnd = cwnd + 𝛼cwnd (3)
cwnd = cwnd − (𝛽cwnd) (4)
I. Introduction
•Class Interaction
•Main Functions in TcpIllinois Class
CalculateAvgDelay()
Compute average queueing delay every RTT
CalculateMaxDelay()
Compute maximum (average) queuing delay every RTT
CalculateAlpha()
Calculate additive increase factor every RTT
CalculateBeta()
Calculate multiplicative decrease factor every RTT
PktsAcked()
Filter RTT measurements for baseRtt and maxRtt
IncreaseWindow()
Adjust cWnd following Illinois congestion avoidance algorithm
GetSsThresh()
Compute ssThresh after congestion event
III. IMPLEMENTATION V. SIMULATION RESULTS
An Implementation of TCP-Illinois in ns-3Keerthi Ganta*, Isha Khadka*, Md Moshfequr Rahman *, Truc Anh N. Nguyen* and James P.G. Sterbenz*†‡
*EECS and ITTC, The University of Kansas – http://www.ittc.ku.edu/resilinets
†SCC and InfoLab21, Lancaster University; ‡Department of Computing, The Hong Kong Polytechnic University
June 2016
IV. SIMULATION STUDY
•We measure the robustness of Illinois to random loss in comparisonwith the standard NewReno and HSTCP.
•Illinois performs better than both HSTCP and NewReno.
VI. CONCLUSION
VII. REFERENCES
•S. Liu, T. Basar, and R. Srikant. TCP-Illinois: A loss- and delay-basedcongestion control algorithm for high-speed networks. PerformanceEvaluation, 65:417-440, 2008.
•S. Floyd. HighSpeed TCP for Large Congestion Windows. RFC 3649(Experimental), Dec. 2003.
•The ns-3 Network Simulator. http://www.nsnam.org, Feb 2016.
•An Implementation of TCP-Illinois in ns-3 (tech report).https://wiki.ittc.ku.edu/resilinets/reports/Ganta-Khadka-Rahman-Nguyen-Sterbenz-2016.pdf
•In this poster, we present our implementation of TCP Illinois congestioncontrol algorithm in ns-3 as part of our effort to extend ns-3’sfunctionalities. We then show some results obtained from ourverification and validation of the model. Illinois, with its ability todynamically adapt its additive increase and multiplicative decreasefactors to the network condition, performs better than HSTCP and thestandard NewReno in the presence of random loss. However, Illinoisfails to achieve TCP-friendliness and intra-fairness in our simulationscenario. For future work, we plan to extend the study of Illinois in ahigher BDP network environments.•We use dumbbell topology to evaluate the performance of the algorithm.
•The Table shows the shared parameters among all the simulation experiments.
Simulation Parameters Values
Access link bandwidth 10 Mb/s
Bottleneck link bandwidth 6-10 Mb/s
Access link propagation delay 0.1 ms
B. link propagation delay 100 ms
Packet MTU size 1500 B
Error model Uniform error model
Application type Bulk send application
Simulation time 200 s-400 s
Queue size BDP
•We study the TCP-friendliness (left plot) and intra-fairness of Illinois(right plot).
cwnd = cwnd ( cwnd) −
TcpL4Protocol
TcpOption
TcpOptionRFC793 TcpNewReno
TcpCongestionOps
TcpOptionTS
TcpHeader TcpTxBufferTcpRxBuffer
TcpSocketFactoryImpl
TcpSocket TcpSocketFactory
TcpOptionWinScale
TcpHybla TcpWestwoodTcpHighSpeedTcpIllinois
TcpSocketBase
*
m_sockets
m_cWnd
m_alpha
m_beta
IncreaseWindow()
GetSsThresh()CalculateAlpha()CalculateBeta()
NewAck()DupAck()Retransmit()
m_retxThresh
m_inFastRec
m_limitedTx
m_source
m_sequenceNumber
m_protocol
Serialize()
Deserialize()
GetSerializedSize()
SetSndBufSize() = 0
SetSSThresh() = 0
SetInitialSSThresh() = 0
m_size
m_nextRxSeq
m_size
m_firstByteSeq
Add()
Available()
Add()
Available()
m_rWnd
m_state
m_nextTxSequence
ForwardUp()
SendPendingData()
SendEmptyPacket()
m_node
m_endPoints
m_sockets
Allocate()
SendPacket()
Receive()
m_currentBW
m_lastBW
m_minRtt
CountAck()
CalculateBW()
EstimateRtt()
m_cWndCnt
m_minRtt
m_rho
GetName()
GetTypeId()
RecalcParam()
m_ackCnt
GetName()GetSsThresh()TableLookupA()TableLookupB()
CreateOption()
Deserialize()
GetInstanceTypeID()
m_kind
m_size
m_content
GetKind()
SetTimestamp()
NowToTsValue()
m_echo
m_timestampm_scale
SetScale()
GetSerializedSize()
GetInstanceTypeId()
m_mss
Seriialize()
Deserialize()
SetMSS()
Fork()GetName()GetSsThresh()IncreaseWindow()
GetTypeID()
m_tcp
SetTcp()
DoDispose()
CreateSocket()