TCPWestwood(+) Protocol Implementation in ns-3 · ITTC Gangadhar, et al. TCP Westwood(+) Protocol...

Post on 14-Sep-2019

1 views 0 download

Transcript of TCPWestwood(+) Protocol Implementation in ns-3 · ITTC Gangadhar, et al. TCP Westwood(+) Protocol...

Gangadhar, et al. ITTC

TCP Westwood(+) Protocol Implementation in ns-3

11 April 2013

Siddharth Gangadhar, Trúc Anh Ngọc Nguyễn, Greeshma Umapathi

and James P.G. Sterbenz

Department of Electrical Engineering & Computer Science

Information Technology & Telecommunications Research Center

The University of Kansas

http://wiki.ittc.ku.edu/resilinets

© 2013 Sterbenz

Gangadhar, et al. ITTC

11 April 2013 Westwood(+) Implementation in ns-3 2

TCP Westwood(+) in ns-3 Abstract

The poor performance of conventional TCP protocols in error prone channels is a well studied issue. Numerous optimizations to TCP to address this problem have been proposed. TCP Westwood is one such protocol engineered for use in wireless networks and employs a novel bandwidth estimation algorithm to determine the amount of data sent into the network in the presence of packet drops. In this paper, we present the implementation of the TCP Westwood and Westwood+ protocols in ns-3 and compare them against other existing ns-3 TCP implementations, TCP Tahoe, Reno, and NewReno. We validate our implementation by comparing performance of our implementation to the original work that introduced the Westwood protocols. In addition to validation, this paper also contributes as a performance evaluation of all existing ns-3 TCP protocols over selected network conditions.

Gangadhar, et al. ITTC

11 April 2013 Westwood(+) Implementation in ns-3 3

TCP Westwood(+) in ns-3 Outline

• Introduction

• Related work

• Westwood(+) implementation details

• Westwood evaluation

• Conclusions and future work

Gangadhar, et al. ITTC

11 April 2013 Westwood(+) Implementation in ns-3 4

TCP Westwood(+) in ns-3 Introduction

• Introduction

• Related work

• Westwood(+) implementation details

• Westwood evaluation

• Conclusions and future work

Gangadhar, et al. ITTC

11 April 2013 Westwood(+) Implementation in ns-3 5

Introduction TCP in Wireless Domain

• TCP dominant protocol for the Internet

• TCP challenges in wireless domain

– frequent disconnects

– inability to distinguish congestion and corruption

– result in decrease in end-to-end goodput and throughput

• Modifications to suit wireless networks

– employ intelligent mechanisms such as bandwidth estimation

– TCP Jersey, Illinois, Peach, Veno, Westwood(+)

Gangadhar, et al. ITTC

11 April 2013 Westwood(+) Implementation in ns-3 6

Introduction Westwood(+) Overview

• TCP Westwood

– sender side modification to TCP Reno

– ACK based estimation of bandwidth

– used to set cwnd and ssthresh in case of packet losses

• TCP Westwood+

– modification of Westwood

– handle overestimation of bandwidth

• in presence of ACK compression

Gangadhar, et al. ITTC

11 April 2013 Westwood(+) Implementation in ns-3 7

Introduction Contribution

• Implementation and validation against original work

• Comparison with TCP Tahoe, Reno, and NewReno

Gangadhar, et al. ITTC

11 April 2013 Westwood(+) Implementation in ns-3 8

TCP Westwood(+) in ns-3 Related Work

• Introduction

• Related work

– TCP Tahoe

– TCP Reno

– TCP NewReno

– TCP Westwood

– TCP Westwood+

• Westwood(+) implementation details

• Westwood evaluation

• Conclusions and future work

Gangadhar, et al. ITTC

11 April 2013 Westwood(+) Implementation in ns-3 9

TCP Westwood(+) in ns-3 Related Work (I)

• TCP Tahoe

– earliest TCP congestion control version

– introduces by Van Jacobson in 1988

• TCP Reno

– includes fast recovery mechanism

– receipt of any DUPACK signifies available bandwidth

• TCP NewReno

– modifies Reno’s fast recovery

– recovery of multiple segments in same send window

– defacto standard of the Internet

Gangadhar, et al. ITTC

11 April 2013 Westwood(+) Implementation in ns-3 10

TCP Westwood(+) in ns-3 Related Work (II)

• TCP Westwood

– sender side modification to TCP Reno

– bandwidth estimation based on ACK reception rate

• calculates amount of ACKed data between ACK intervals

• TCP Westwood+

– reduces overestimation of bandwidth

• in presence of congestion

– samples bandwidth every RTT instead of every ACK

– results in enhanced fairness in presence of multiple flows

Gangadhar, et al. ITTC

11 April 2013 Westwood(+) Implementation in ns-3 11

TCP Westwood(+) in ns-3 Westwood(+) Implementation Details

• Introduction

• Related work

• Westwood(+) implementation details

– Flowchart

– Main methods

• Westwood evaluation

• Conclusions and future work

Gangadhar, et al. ITTC

11 April 2013 Westwood(+) Implementation in ns-3 12

Westwood(+) Implementation Flowchart

ReceivedAck()

CountAck()

DupAck()

NewAck()

EstimateBW()

dupack

?

no

yes

Filtering()

RTT

expired ?

UpdateAckedSegments()

W

W+

yes

no

W

variant ?

Gangadhar, et al. ITTC

11 April 2013 Westwood(+) Implementation in ns-3 13

Westwood(+) Implementation Main Methods (I)

• ReceivedAck()

– called upon an ACK reception

– responsible for calling CountAck()

– processes ACKs based on type (DUPACK or new ACK)

• CountAck()

– returns of number of ACKed segments

• based on ACK type

– DUPACK, delayed ACK, or cumulative ACK

Gangadhar, et al. ITTC

11 April 2013 Westwood(+) Implementation in ns-3 14

Westwood(+) Implementation Main Methods (II)

• UpdateAckedSegments()

– used in Westwood+

– accumulates number of ACKed segments during an RTT

– upon RTT expiration, value passed to EstimateBW()

• EstimateBW()

– Westwood

– Westwood+

m_currentBW =cumul_ack × m_segmentSize

Simulator: : Now() − m_lastAck

m_currentBW =m_ackedSegments × m_segmentSize

m_lastRtt

Gangadhar, et al. ITTC

11 April 2013 Westwood(+) Implementation in ns-3 15

Westwood(+) Implementation Main Methods (III)

• Filtering()

– applies Tustin filter to the sample bandwidth • returned from the EstimateBW()

• filter out high frequency components to avoid congestion

• DupAck()

– processes received duplicate ACK

– upon 3 DUPACKs

• m_ssThresh = m_currentBW ×m_minRtt

• Retransmit()

– cwnd reset to 1 segment

– m_ssThresh = m_currentBW ×m_minRtt

Gangadhar, et al. ITTC

11 April 2013 Westwood(+) Implementation in ns-3 16

TCP Westwood(+) in ns-3 Westwood Evaluation

• Introduction

• Related work

• Westwood(+) implementation details

• Westwood evaluation

– Simulation setup

– Results

• Conclusions and future work

Gangadhar, et al. ITTC

11 April 2013 Westwood(+) Implementation in ns-3 17

Simulation Setup Westwood

• Topologies and parameters based on original work

• Compared against Tahoe, Reno and NewReno

• Westwood evaluated in corruption based scenarios

• Errors occur over bottleneck link

• Simulation running time = 600 s

• 2 runs with standard deviation as error bars

source sink

bottleneck link access link router

10 Mb/s 2 Mb/s

45 ms 0.01 ms

Gangadhar, et al. ITTC

11 April 2013 Westwood(+) Implementation in ns-3 18

Simulation Setup Westwood+

• Westwood+ validation under ACK compression

• Topology based on Westwood+ original work

PC 1

server

bottleneck link router

0.5 Mb/s

0.01 ms

PC 2

Gangadhar, et al. ITTC

11 April 2013 Westwood(+) Implementation in ns-3 19

Results Throughput vs. PER

• PER varied from 10-4 to 5 × 10-2

• Westwood performance comparable to original work

• Westwood+ lower as sampling interval higher

Gangadhar, et al. ITTC

11 April 2013 Westwood(+) Implementation in ns-3 20

Results Throughput vs. Delay

• Bottleneck delay varied between 0.01 ms and 250 ms

• Constant PER of 5 × 10-3 over bottleneck link

• Westwood(+) attempt to fill the pipe using est. BW

Gangadhar, et al. ITTC

11 April 2013 Westwood(+) Implementation in ns-3 21

Results Throughput vs. Bottleneck Bandwidth

• Bottleneck BW varied between 1 and 8 Mb/s

• Constant PER of 5 × 10-3 over bottleneck link

• Tahoe, Reno, and NewReno independent of BW

Gangadhar, et al. ITTC

11 April 2013 Westwood(+) Implementation in ns-3 22

Results Congestion Window vs. Time

• cwnd plotted for Westwood(+) and Reno

• Constant PER of 5 × 10-3 over bottleneck link

• Window sampled every 3 s over a single run

Gangadhar, et al. ITTC

11 April 2013 Westwood(+) Implementation in ns-3 23

Results Estimated Bandwidth vs. Time

• ACK compression simulated at bottleneck router

• Overestimation of bandwidth seen for Westwood

• Westwood+ accurately estimates bandwidth

Westwood Westwood+

Gangadhar, et al. ITTC

11 April 2013 Westwood(+) Implementation in ns-3 24

TCP Westwood(+) in ns-3 Conclusions and Future Work

• Introduction

• Related work

• Westwood(+) implementation details

• Westwood evaluation

• Conclusions and future work

Gangadhar, et al. ITTC

11 April 2013 Westwood(+) Implementation in ns-3 25

TCP Westwood(+) in ns-3 Conclusions and Future Work

• Presented implementation of Westwood(+) protocols

• Validation against original work

• Comparison against existing ns-3 TCP variants

• Future work

– extend studies to include additional scenarios

– comparison to SACK and Vegas currently under development

– usage of DCE to include real world transport protocols

Gangadhar, et al. ITTC

5 March 2013 Westwood(+) Implementation in ns-3 26

TCP Westwood(+) in ns-3 References

• Siddharth Gangadhar, Nguyen Ngoc Truc Anh, Greeshma Umapathi, and James P.G. Sterbenz, “TCP Westwood(+) Protocol Implementation in ns-3” in Proceedings of the ICST SimuTools Workshop on ns-3 (WNS3), Cannes, March 2013

• Saverio Mascolo, Claudio Casetti, Mario Gerla, M. Y. Sanadidi, Ren Wang TCP Westwood: Bandwidth Estimation for Enhanced Transport over Wireless Links ACM Mobicom 2001, Rome, Italy, July 16-21 2001

• S. Mascolo, L. A. Grieco, R. Ferorelli, P. Camarda , G. Piscitelli, Performance evaluation of Westwood+ TCP congestion control, Performance Evaluation, Volume 55, Issue 1-2, pp. 93-111, Jan. 2004

Gangadhar, et al. ITTC

5 March 2013 27

Questions?

Westwood(+) Implementation in ns-3