tcp data
DESCRIPTION
TCP vegas projectTRANSCRIPT
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
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
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