tcp data

32
Abstract Transmission control protocol Westwood has major improvement compared to other TCP variants. TCP Westwood is a method where sender side modification is needed to reduce congestion and thus performance is increase. Various TCP variants are TCP Reno, TCP Vegas, Tahoe, Westwood etc. Various congestion control algorithms are proposed to improve performance of the network. Westwood uses bandwidth estimation techniques to improve performance of the network. Transmission control protocol suffers from various types of congestion. So various TCP variants were proposed to remove these drawbacks. TCP Westwood assumes that packet loss is due to congestion and reduce congestion window size by half. Using our proposed technique, sender can easily identify whether packet loss is due to congestion or bit error and improve the performance. In this thesis we have surveyed various TCP variants and suggest an improvement over TCP Westwood. 1

Upload: mit-thakore

Post on 13-Dec-2015

213 views

Category:

Documents


0 download

DESCRIPTION

TCP vegas project

TRANSCRIPT

Abstract

Transmission control protocol Westwood has major improvement compared to other TCP

variants. TCP Westwood is a method where sender side modification is needed to reduce

congestion and thus performance is increase. Various TCP variants are TCP Reno, TCP Vegas,

Tahoe, Westwood etc. Various congestion control algorithms are proposed to improve

performance of the network. Westwood uses bandwidth estimation techniques to improve

performance of the network. Transmission control protocol suffers from various types of

congestion. So various TCP variants were proposed to remove these drawbacks. TCP Westwood

assumes that packet loss is due to congestion and reduce congestion window size by half. Using

our proposed technique, sender can easily identify whether packet loss is due to congestion or bit

error and improve the performance. In this thesis we have surveyed various TCP variants and

suggest an improvement over TCP Westwood.

1

Chapter 1

Introduction

Transmission control protocol is a connection oriented protocol which is reliable. All packets are

divided into segments. Before the actual delivery of the message starts, it establishes connection

with the receiver. This connection is known as virtual circuit. This process is known as initial

handshake. Transmission control protocol was developed for wired network. It uses the service

of IP protocol at network layer. Transmission control protocol has to show the difference

between whether the congestion is due to wireless loss or due to network congestion. TCP

recommends enhanced TCP Westwood to increase performance.

TCP is a reliable data transfer protocol [3] that is used for various applications. The TCP

implementation contains two phases: (1) slow-start method and (2) congestion-avoidance

algorithm.

(1) Slow Start Method :

In this method, a source increases the congestion window size exponentially. It increases the

window size until it reaches the slow-start threshold. Then transmission control protocol enters

into the congestion avoidance part. In the congestion avoidance part, the window size increases

linearly. It increases until a packet loss is detected by three duplicated acknowledgments.

If duplicated acknowledgements are received then the packets are retransmitted. If no

acknowledgement arrives then TCP time oyt occur and again starts slow start.

(2) Congestion Avoidance:

Congestion control methods assumes that a packet loss is because of congestion. So they reduce

their window size blindly. So the performance degrades. It sets the initial slow start threshold to

an arbitrary value. TCP performance may suffer with two problems. 1) If slow start threshold is

set too high, the increase of window size generates many packets fast. Due to this multiple

losses occur.

2

1.1 Basic Functions of TCP

TCP is an important protocol works at transport layer. It provides different window size scheme

to provide the flow control. TCP Westwood uses the available bandwidth estimation technique

for the purpose of getting better TCP performance. Various TCP variants are TCP Reno, TCP

Vegas, Tahoe, Westwood etc. Various congestion control algorithms are proposed to improve

performance of the network. Westwood algorithm uses bandwidth estimation techniques to

improve performance of the network. Transmission control protocol suffers from various types

of congestion.

The time required for a packet to go in source to end and from destination reverse to source is

call the rtt. The rtt is measured in tcp. It is used to calculate a value for once again transmit timer.

The retransmission timer is set in a situation where a packet is transmitted and suppose a timeout

occur at the other side before the positive acknowledgement for the packet is received otherwise

the packet is sent again. Every TCP connection method start slow start phase .It provides

reliability. For network congestion control,

Various methods were proposed they are as follow:

1.2 Congestion Control

The basic idea is to adjust the window size. For this purpose transmission control protocol uses

congestion window. Routers are not participating in the TCP layer. Congestion window size is

adjusted as per sender’s sending capacity.

It assumes network congestion occur when a retransmission time out occur. It responds the

network congestion with adjusting congestion window. This is done by using these algorithms,

slow-start method, congestion avoidance algorithm and multiplicative-decrease algorithm.

1.3 Slow Start and Congestion Avoidance

3

The slow-start algorithm is small window size is increases. This is the rule for the slow-start

mechanism.The starting value of congestion window is set connecting one to four packets.

Receiver stores an advertise window that specify the maximum number of byte it can accept. The

value of the receiver window is sent back to the sender. Packets are sent if allowed by both

congestion window and receiver window, as below

window =min(receiver window, congestion window)

For slow start method, when acknowledgement is received the congestion window is increases

by 1. (congestion window = congestion window + 1). It assumes in network congestion for

decreasing load on network.

Slow start increases congestion window by adding one packet each time it receives an

acknowledgement from sender. It control the window size until congestion window achieves a

threshold that is known as slow start threshold value. When congestion window researches slow

start threshold, the congestion avoidance phase starts. When non copy of acknowledgement

received then congestion window is increased as follows:

Congestion window=congestion window +(1/congestion window)

Until 3 times duplicate.

ssthresh = min (receiver window, congestion window) / 2

4

Fig. 1.1 TCP Slow start and congestion avoidance phase

Figure 1 shows changes in blocking window throughout for the slow start and the congestion

avoidance method.

1.4 Fast Retransmit and Fast Recovery

Fig. 1.2 shows the fast retransmit and fast recovery method for transmission control protocol.

When out of use packets arrives the receiver transmits copy acknowledgements. If three or more

duplicate acknowledgement are received then sender concludes that packets were losts.

Three duplicate acknowledgement is good indication for lost segment.

5

Fig. 1.2 TCP Slow start and congestion avoidance phase

1.5 Motivation

Various congestion control algorithms are proposed to improve performance of the network.

Westwood uses bandwidth estimation techniques to improve performance of the network.

Transmission control protocol suffers from various types of congestion. So various TCP variants

were proposed to remove these drawbacks. TCP Westwood assumes that packet loss is due to

congestion and reduce congestion window size by half. Thus performance decreases sharply. Our

goal is to propose a new bandwidth share estimation technique that provides to changing network

congestion level, round trip times, and other network conditions.

6

7

8

9

10

Chapter 2

Literature Survey

11

The main transport protocol is the Transmission Control Protocol. In this chapter, we discuss the

performance of various TCP like regarding Tahoe, Reno, New Reno, SACK, FACK and Vegas.

2.1 TCP Tahoe

In [3] the author has described TCP Tahoe [3]. It adds some new TCP implementation methods

containing slow start, congestion avoidance and fast retransmission. TCP implementation in

come due to the loss detection are merely the retransmission timer. During slow start increases

window size it send two packet. This improvement consists of changes in round-trip-time

values. TCP Tahoe suggests that packets are lost due to congestion. Retransmission algorithm

outperforms when such situation arises. Sender node waits for retransmission timer to expire.

2.2 TCP Reno

Author has proposed TCP Reno in [5]. The Reno is similar to the TCP Tahoe. It is same as slow

start and re-transmit timer. It records improvement over Tahoe. It adds fasr recovery algorithm.

It stops the communication path from being empty. In this way it avoids slow start to fill again

after a packet loss. The requirements for Reno is that that it receive immediate acknowledgement

. The good side is that the effect on long delay-bandwidth connections. Suppose that a only one

packet is gone from the data, TCP Reno’s fast recovery method is used. Suppose multiple

packets are lost from the same window, Transmission control protocol directly decrease its

throughput to half without requirement for a slow start period to re-establishment.

2.4 TCP SACK

It is the better version of TCP Reno and New Reno with Selective Acknowledgement. The two

major harms are (1) to find of different packets loss and (2) the once again transmit of extra than

one lost packet per rtt, can be solved through TCP SACK. In this protocol, the packets are

acknowledged sequentially rather than cumulatively. A new template is included at the sender to

keep track of SACK data

2.5 TCP FACK

12

TCP FACK introduce a well again way for window when congestion is detect. Round trip time

is to avoid congestion when window size decreased. It uses SACK to improve estimate the

amount of data in transmission [3]. The sender identifies congestion at least one round trip time

after it happened, then the current congestion window size will be almost double than congestion

window size when congestion occurred. So congestion window size s first halved to estimate the

correct congestion window size that should be further decreased. The enhancementin TCP

SACK with Forward Acknowledgement is called as TCP FACK.

2.6 TCP Vegas

Vegas estimate bandwidth is good for TCP variant. It shows different between expected flow

and actual flow. so, it is able to know the correct round trip time for each sent packet. TCP Vegas

established the following latest developments. It predict the start of congestion by observe the

difference between the probable rate and real rate [11]. TCP reno changes congestion avoidance.

(i) New Retransmission Mechanism:

In this algorithm duplicate acknowledgement is received by the sender. It checks if (current time

– segment transmission time) > round trip time.

(ii) New congestion avoidance:

When receiving an acknowledgement, the sender calculates the difference of the expected and

the actual throughputs as follows:

different = (expected – actual) * baseRTT,

probable = Congestion window size/baseRTT,

actual = Congestion window size / average measured RTT

13

Vegas defines 2 thresholds (α, β) that allows the basis to control the variation between likely and

actual throughput in a particular round trip time.

That is

Congestion window size = Congestion window size + 1, if diff < α

Congestion window size = Congestion window size – 1, if diff > β

Congestion window size = Congestion window size, otherwise

2.7 TCP Westwood

Transmission control protocol reduces blindly its congestion window by haft when a packet drop

is detected. To overcome this problem, author has proposed TCP Westwood [1,2]. In TCPW

scheme, the sender monitors acknowledgement inter-arrival time. The purpose is to estimate the

bottleneck bandwidth available. Instead of reducing congestion window by haft, the protocol

updates both congestion window and slow-start threshold to the estimated bandwidth. Westwood

performance has been proven significant improvement in wireless networks.

. The pseudo code of the Westwood algorithm is reported below:

Algorithm after n duplicate Acknowledgement

if (n duplicate acknowledgement are received)

slow start threshold = (BWE * RTTmin)/seg_size;

if (congestion window size > slow start threshold) /* congestion avoid. */

congestion window size = slow start threshold;

endif

endif

Here, seg_size identifies the length of the payload of a TCP segment in bits.

After the reception of n duplicate acknowledgement , Westwood sets both slow start threshold

and congestion window equal to the ideal window BWE ∗RTTmin. The value RTTmin is set to

the smallest RTT period observed over the duration of the connection. After slow start threshold

14

has been set, the congestion window is set equal to the slow start threshold only if cwin > slow

start threshold

Algorithm after coarse timeout expiration

if (coarse timeout expires)

slow start threshold = (BWE * RTTmin)/seg_size;

if (slow start threshold < 2)

slow start threshold = 2;

endif;

congestion window size = 1;

endif

After a timeout, congestion window size and slow start threshold are set equal to 1 and BWE, in

that order, so that the basic Reno behavior is still captured, while a fast recovery is granted by the

slow start threshold being set to the bandwidth estimation at the time of timeout expiration.

TCPW estimates bandwidth available based on inter-arrival time of acknowledgement packets at

the sender. Whenever the sender receives an acknowledgement, it computes a bandwidth sample

as

bk=dk/(tk−tk−1),

where, dk denotes the amount of data acknowledged by the kth acknowledgement. Tk and tk−1

denote the inter-arrival time of the kth ACK and the (k−1)th acknowledgement, respectively.

. In contrast with TCP Reno, which "blindly" halves the congestion window after three duplicate

acknowledgement, TCP Westwood attempts to select a slow start threshold and a congestion

window which are consistent with the effective bandwidth used at the time congestion is

experienced. It is called faster recovery

Analyses of TCP Westwood[15]

15

From this analysis of TCPWestwood congestion control mechanism we conclude that Westwood

performs well over wireless network and give better throughput compare to other congestion

control mechanisms. Improved TCPWestwood perform wells and give better throughput than

current TCP Westwood by modifying congestion avoidance algorithm. Performance of TCP

Westwood can also improve by modifying slow start method, congestion avoidance algorithm,

bandwidth estimation technique.

A Survey on TCP Westwood[16]

This paper gives an introduction of TCP WESTWOOD and its types.TCP Westwood controls the

window using end-to-end connection bandwidth share estimation. And attempts to make a more

“informed decision”. In this way TCPW ensures both faster recovery and more effective

congestion avoidance. This paper also tries to survey the performance of TCP Westwood with

other algorithms in various wireless networks It limits to theoretical review of the existing

papers. TCP Westwood like fairness friendliness and so on. Also how error rate, round trip time,

buffer size and other parameters effect on performance measures like throughput, congestion

window utilization and slow start threshold. The study reveal the benefits of the TCP Westwood:

TCP Westwood exhibits significant improvement in various environments compared to other

TCP variants.

Comparison Table of TCP Variants

Algorithms/TCPVariants

TCP Tahoe

TCP Reno

TCP New Reno

TCP Westwood

TCP SACK

TCPFACK

TCPVegas

Slow Start

yes Yes Yes Yes Yes EV EV

CongestionAvoidance

Yes Yes Yes Yes Yes Yes EV

FastRetransmit

Yes Yes Yes Yes Yes Yes Yes

16

FastRecovery

No Yes EV EV EV EV Yes

RetransmissiOnMechanism

N N N N N N NM

CongestionControlMechanism

N N N N N NM NM

SelectiveACKMechanism

No No No Yes Yes Yes No

(Table 1)

(N = Normal, E V = Enhanced Version, N M = New Mechanism)

Chapter 3

Proposed Method

17

The Transmission Control Protocol is reliable protocol. It provides end to end and congestion

control network connections. For wireless network packet loss is high compared to wired

scenario. Most of the packet loss due to noise and external interference. Existing congestion

control mechanism found that packet loss is due to congestion. To avoid the Congestion, it

reduces the cwnd size by half. But actually the congestion is due to noise and other interferences.

In the TCP Westwood, when the sender receives three duplicate acknowledgement, it

immediately reduces congestion window size by half. TCP Westwood does not know whether

the loss is because of error or congestion. So the action taken is to reduce the congestion window

size. So the performance is degraded in the communication. When receiver does not receive

packets in order, it will start to observe timing of next following segments. The goal is to identify

whether the segment loss is due to the congestion or due to the bit error.

Suppose the next following segments are suffered from delay, then receiver found that

Congestion occurs and Segment loss is due to congestion. So set Flag bit F to zero in the 3rd

Duplicate ACK. Suppose the next following segment does not suffer from delay the receiver

assumes that congestion does not occur in the medium. So set flag bit F to one in the 3rd duplicate

acknowledgment.

Suppose flag bit F is set to 1 in 3rd duplicate acknowledgement, then sender assumes that packet

loss due to bit error. So sender does not reduce congestion window size. It immediately enter

into congestion avoidance phase.

Suppose flag bit F is set to 0 in 3rd duplicate acknowledgement, then sender assumes that packet

loss due to congestion. So sender sets congestion window to half. It immediately enter into fast

retransmit phase.

18

For simulation we have used NS2. We have simulated TCP Westwood. The simulation parameters are as shown below:

Simulation Parameter Value

Radio Propagation Model Two Ray ground

Queue Type Droptail

19

Buffer Size (Max. Packets) 50

Network interface Wirelessphy

MAC Protocol 802.11

Routing Protocol AODV

Simulation Time 100s

Data Rate 1 Mbps

Transmission Radius 100m

Packet Size 1000 bytes

Area 1000 * 1000 m2

We have created a chain network with five hops and six nodes. Each node placed 100m from one another. FTP traffic is transferred between the first and last node of the chain. During the simulation different TCP variant attached as agent at the transport layer for the same scenario. The results are as follows:

Variant Throughput Delay Drop Packet

Tahoe 254.05 334.677 171

Reno 254.05 334.677 241

New Reno 254.05 334.677 241

Westwood 254.05 334.677 241

Proposed Approach 263 329.433 239

20

21

22

Chapter 4

Conclusion

We have presented several variants of TCP. Existing congestion control mechanisms in TCP

found that a packet loss is due to congestion. So it reduces congestion - window size by one-half.

For this reason the performance goes down. We have proposed modification in TCP Westwood

so that the performance increases. Our proposed method can effectively identify the reason for

loss through the congestion or bit-error. So performance can be improved.

23

References

[1] Claudio Casetti, Mario Gerla, Ren Wang, “TCP Westwood: End-to-End Congestion Control

for Wired/Wireless Networks” Journal of Wireless Networks 8, 467–479, 2002.

[2] Saverio Mascolo, Claudio Casetti, “TCP Westwood: Bandwidth Estimation for Enhanced

Transport over Wireless Links” In Proceedings of IEEE INFOCOM'2001.

[3] Wafa Elmannai, Khaled Elleithy, Abdul Razaque, “A High Performance and Efficient TCP

Variant”, ASEE Northeast Section Conference 2012.

[4] Macura A; Missoni E & Kordic Z, “Comparison of Westwood, New Reno and Vegas TCP

Congestion Control” In Proceedings of the 23rd International DAAAM Symposium, Volume

23, No.1, ISSN 23041382, 2012

[5] Kazumi KANEKO and Jiro KATTO, “Reno Friendly TCP Westwood based on Router

Buffer Estimation” Proceedings of the Joint IEEE International Conference on Autonomic and

Autonomous Systems and International Conference on Networking and Service, 2005

[6] Ren Wang, Massimo Vidla, M.Y. Sanadidi, and Mario Gerla ; “Adaptive Bandwidth Share

Estimation in TCP Westwood ” IEEE 2002

[7] Teng Yanping, Wang Haizhen, Jin Mei, Li Dahui ,; “Improvement Scheme of End-to-end

TCP Congestion Control in Ad Hoc Network ” 2nd IEEE International Conference on Computer

Science and Network Technology, 2012

[8] Dhiman Barman Ibrahim Matta; “Effectiveness of Loss Labeling in Improving TCP

Performance in Wired/Wireless Networks” Proceedings of the 10th IEEE International

Conference on Network Protocols (ICNP’02), 2002.

24

[9] TuanAnhLe,ChoongSeonHong,andEui-NamHuh; “Coordinated TCP Westwood Congestion

Control for Multiple Paths over Wireless Networks” ICOIN IEEE 2012.

[10] Ren Wang, Kenshin Yamada, M. Yahya Sanadidi; “TCP With Sender-Side Intelligence to

Handle Dynamic, Large, Leaky Pipes” IEEE Journal on Selected areas in Communications, Vol.

23, No. 2, February 2005

[11] Mohamed Tekala; “TCP Westwood with Limited Congestion Window” IEEE International

Conference on Advanced Computer Control 2008

[12] B. Qureshi, M. Othman, N. A. W. Hamid; “Progress in Various TCP Variants” IEEE

October 2008

[13] Inwhee Joe, Jaehyung Lee; “An Enhanced TCP Protocol for Wired/Wireless Networks”

Fifth IEEE International Joint Conference on INC, IMS and IDC, 2014

25