tcpwestwood(+) protocol implementation in ns-3 · ittc gangadhar, et al. tcp westwood(+) protocol...

27
et al. 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

Upload: others

Post on 14-Sep-2019

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: TCPWestwood(+) Protocol Implementation in ns-3 · ITTC Gangadhar, et al. TCP Westwood(+) Protocol Implementation in ns-3 11 April 2013 Siddharth Gangadhar, Trúc Anh Ngọc Nguyễn,

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

Page 2: TCPWestwood(+) Protocol Implementation in ns-3 · ITTC Gangadhar, et al. TCP Westwood(+) Protocol Implementation in ns-3 11 April 2013 Siddharth Gangadhar, Trúc Anh Ngọc Nguyễn,

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.

Page 3: TCPWestwood(+) Protocol Implementation in ns-3 · ITTC Gangadhar, et al. TCP Westwood(+) Protocol Implementation in ns-3 11 April 2013 Siddharth Gangadhar, Trúc Anh Ngọc Nguyễn,

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

Page 4: TCPWestwood(+) Protocol Implementation in ns-3 · ITTC Gangadhar, et al. TCP Westwood(+) Protocol Implementation in ns-3 11 April 2013 Siddharth Gangadhar, Trúc Anh Ngọc Nguyễn,

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

Page 5: TCPWestwood(+) Protocol Implementation in ns-3 · ITTC Gangadhar, et al. TCP Westwood(+) Protocol Implementation in ns-3 11 April 2013 Siddharth Gangadhar, Trúc Anh Ngọc Nguyễn,

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(+)

Page 6: TCPWestwood(+) Protocol Implementation in ns-3 · ITTC Gangadhar, et al. TCP Westwood(+) Protocol Implementation in ns-3 11 April 2013 Siddharth Gangadhar, Trúc Anh Ngọc Nguyễn,

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

Page 7: TCPWestwood(+) Protocol Implementation in ns-3 · ITTC Gangadhar, et al. TCP Westwood(+) Protocol Implementation in ns-3 11 April 2013 Siddharth Gangadhar, Trúc Anh Ngọc Nguyễn,

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

Page 8: TCPWestwood(+) Protocol Implementation in ns-3 · ITTC Gangadhar, et al. TCP Westwood(+) Protocol Implementation in ns-3 11 April 2013 Siddharth Gangadhar, Trúc Anh Ngọc Nguyễn,

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

Page 9: TCPWestwood(+) Protocol Implementation in ns-3 · ITTC Gangadhar, et al. TCP Westwood(+) Protocol Implementation in ns-3 11 April 2013 Siddharth Gangadhar, Trúc Anh Ngọc Nguyễn,

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

Page 10: TCPWestwood(+) Protocol Implementation in ns-3 · ITTC Gangadhar, et al. TCP Westwood(+) Protocol Implementation in ns-3 11 April 2013 Siddharth Gangadhar, Trúc Anh Ngọc Nguyễn,

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

Page 11: TCPWestwood(+) Protocol Implementation in ns-3 · ITTC Gangadhar, et al. TCP Westwood(+) Protocol Implementation in ns-3 11 April 2013 Siddharth Gangadhar, Trúc Anh Ngọc Nguyễn,

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

Page 12: TCPWestwood(+) Protocol Implementation in ns-3 · ITTC Gangadhar, et al. TCP Westwood(+) Protocol Implementation in ns-3 11 April 2013 Siddharth Gangadhar, Trúc Anh Ngọc Nguyễn,

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 ?

Page 13: TCPWestwood(+) Protocol Implementation in ns-3 · ITTC Gangadhar, et al. TCP Westwood(+) Protocol Implementation in ns-3 11 April 2013 Siddharth Gangadhar, Trúc Anh Ngọc Nguyễn,

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

Page 14: TCPWestwood(+) Protocol Implementation in ns-3 · ITTC Gangadhar, et al. TCP Westwood(+) Protocol Implementation in ns-3 11 April 2013 Siddharth Gangadhar, Trúc Anh Ngọc Nguyễn,

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

Page 15: TCPWestwood(+) Protocol Implementation in ns-3 · ITTC Gangadhar, et al. TCP Westwood(+) Protocol Implementation in ns-3 11 April 2013 Siddharth Gangadhar, Trúc Anh Ngọc Nguyễn,

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

Page 16: TCPWestwood(+) Protocol Implementation in ns-3 · ITTC Gangadhar, et al. TCP Westwood(+) Protocol Implementation in ns-3 11 April 2013 Siddharth Gangadhar, Trúc Anh Ngọc Nguyễn,

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

Page 17: TCPWestwood(+) Protocol Implementation in ns-3 · ITTC Gangadhar, et al. TCP Westwood(+) Protocol Implementation in ns-3 11 April 2013 Siddharth Gangadhar, Trúc Anh Ngọc Nguyễn,

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

Page 18: TCPWestwood(+) Protocol Implementation in ns-3 · ITTC Gangadhar, et al. TCP Westwood(+) Protocol Implementation in ns-3 11 April 2013 Siddharth Gangadhar, Trúc Anh Ngọc Nguyễn,

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

Page 19: TCPWestwood(+) Protocol Implementation in ns-3 · ITTC Gangadhar, et al. TCP Westwood(+) Protocol Implementation in ns-3 11 April 2013 Siddharth Gangadhar, Trúc Anh Ngọc Nguyễn,

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

Page 20: TCPWestwood(+) Protocol Implementation in ns-3 · ITTC Gangadhar, et al. TCP Westwood(+) Protocol Implementation in ns-3 11 April 2013 Siddharth Gangadhar, Trúc Anh Ngọc Nguyễn,

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

Page 21: TCPWestwood(+) Protocol Implementation in ns-3 · ITTC Gangadhar, et al. TCP Westwood(+) Protocol Implementation in ns-3 11 April 2013 Siddharth Gangadhar, Trúc Anh Ngọc Nguyễn,

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

Page 22: TCPWestwood(+) Protocol Implementation in ns-3 · ITTC Gangadhar, et al. TCP Westwood(+) Protocol Implementation in ns-3 11 April 2013 Siddharth Gangadhar, Trúc Anh Ngọc Nguyễn,

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

Page 23: TCPWestwood(+) Protocol Implementation in ns-3 · ITTC Gangadhar, et al. TCP Westwood(+) Protocol Implementation in ns-3 11 April 2013 Siddharth Gangadhar, Trúc Anh Ngọc Nguyễn,

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+

Page 24: TCPWestwood(+) Protocol Implementation in ns-3 · ITTC Gangadhar, et al. TCP Westwood(+) Protocol Implementation in ns-3 11 April 2013 Siddharth Gangadhar, Trúc Anh Ngọc Nguyễn,

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

Page 25: TCPWestwood(+) Protocol Implementation in ns-3 · ITTC Gangadhar, et al. TCP Westwood(+) Protocol Implementation in ns-3 11 April 2013 Siddharth Gangadhar, Trúc Anh Ngọc Nguyễn,

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

Page 26: TCPWestwood(+) Protocol Implementation in ns-3 · ITTC Gangadhar, et al. TCP Westwood(+) Protocol Implementation in ns-3 11 April 2013 Siddharth Gangadhar, Trúc Anh Ngọc Nguyễn,

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

Page 27: TCPWestwood(+) Protocol Implementation in ns-3 · ITTC Gangadhar, et al. TCP Westwood(+) Protocol Implementation in ns-3 11 April 2013 Siddharth Gangadhar, Trúc Anh Ngọc Nguyễn,

Gangadhar, et al. ITTC

5 March 2013 27

Questions?

Westwood(+) Implementation in ns-3