SlideShare una empresa de Scribd logo
1 de 7
A Performance Comparison of TCP Protocols
over Mobile Ad Hoc Wireless Networks
Michelle Berger, Servio Lima, Alexandros Manoussakis, Juan Pulgarin, and Benicio Sanchez
Information Networking Institute
Carnegie Mellon University
Pittsburgh, PA 15213
May 14, 2000
Abstract
The performance of wireless ad hoc networks is impacted significantly by the way TCP reacts to lost
packets. TCP was designed specifically for wired, reliable networks; thus, any packet loss is attributed to
congestion in the network. This assumption does not hold in wireless networks as most packet loss is due
to link failure. In our research we analyzed several implementations of TCP, including TCP Vegas, TCP
Feedback, and SACK TCP, by measuring throughput, retransmissions, and duplicate acknowledgements
through simulation with ns-2. We discovered that TCP throughput is related to the number of hops in the
path, and thus depends on the performance of the underlying routing protocol, which was DSR in our
research.
1 Introduction
The recent growth of mobile computers has led to the increased need for wireless ad hoc networks. A
wireless ad hoc network is a network in which a group of mobile computers communicate without the need
for a fixed infrastructure through the use of infrared or radio communications. TCP suffers poor
performance in wireless networks because of losses and corruption caused by errors inherent to a wireless
medium, as well as its inability to distinguish between link failure and congestion, which causes it to suffer
from low throughput when nodes move.
The focus of our research is to analyze several modifications made to TCP that could improve its
performance in mobile ad hoc networks. The TCP implementations we studied include TCP Vegas, TCP
Feedback, and SACK TCP. TCP Vegas attempts to improve on TCP Reno with increased granularity of
the timers, and thus a more efficient retransmission mechanism. TCP Feedback is able to distinguish
between packets lost from congestion and those lost from link failures by informing the sender when a link
fails. SACK TCP provides the sender with a better picture of the receiver’s buffers through the use of
selective acknowledgements, allowing for fewer retransmissions and duplicate acknowledgements.
We analyzed each of the above protocols in terms of retransmissions, duplicate acknowledgements, and
throughput. The data was collected through simulation, using DSR [Johnson1] as the routing protocol. As
TCP Reno is one of the most common implementations of TCP, we used it as the standard against which to
compare each of the other protocols. Similar research has been performed with TCP Reno and Explicit
Loss Feedback Notification using DSR in [Holland1], but we are not aware of any analysis of TCP Vegas
and SACK TCP using DSR.
2 TCP Protocols Analyzed
2.1 TCP Vegas
TCP Vegas [Brakmo1, Danzig1, Ahn1] is an implementation of TCP based on TCP Reno with
modifications in the sending side that try to achieve a more efficient use of available bandwidth. It was
developed at the University of Arizona, and the authors claim that it achieves 40% to 70% better
throughput with one-fifth to one-half the losses compared to TCP Reno. Vegas features a new
retransmission mechanism, a congestion avoidance mechanism, and a modified Slow Start.
1
Dave says this next paragraph implies that normal retransmissions have to wait for 3 duplicate acks, but
ignores the timer timing out.
The feature of Vegas that wireless ad hoc networks in particular could benefit from is the more efficient
retransmission mechanism. It reads the system clock for each segment and thus calculates a more accurate
RTT time. This mechanism allows it to measure a timeout with higher precision and retransmit without
having to wait for three duplicate ACKS or the less precise, and thus longer, retransmission timer to time
out. The authors of TCP Vegas found the average timeout interval of Reno to be more than three times
higher the correct value that would be calculated with an accurate clock. This inaccuracy in Reno's timers
introduces significant delays to retransmissions, lowering overall throughout. [Brakmo1, Ahn1]
Vegas also adds another improvement; when a non-duplicate ACK is received and it is the first or second
after a retransmission, Vegas checks if the time interval since the segment was sent is larger than the
timeout value. If it is, it retransmits the segment without having to wait for a duplicate ACK to arrive.
2.2 TCP Feedback (TCP-F)
The purpose of TCP-F [Chandran1] is to distinguish between packet loss due to congestion and packet loss
due to route failures. It does so using a feedback mechanism to signal the sender when a route failure
occurs and when a route is re-established. In order to accomplish this, TCP-F changes the way a Mobile
Host reacts to a packet loss.
Assume a TCP connection is established and the source Mobile Host (henceforth referred to as sender) is
sending packets to the destination Mobile Host. As soon as the network layer at any intermediate node
detects the disruption of a route it sends a Route Failure Notification (RFN) to the sender. Each
intermediate node that receives the RFN packet invalidates the route. If the intermediate node knows an
alternate route to the destination, this alternate route can be used and the RFN discarded.
Upon receipt of the RFN, the sender stops sending new packets or retransmissions, freezes its timers, and
saves the window size and the values of all the state variables regarding this connection. It then starts a
Route Failure Timer (RFT), which limits the time a sender waits for the re-establishment of a certain route.
The sender remains in this snooze state until a Route Re-establishment Notification (RRN) is received, or
until the RFT expires.
When an intermediate node learns an alternate route to the destination through a routing update, it sends a
RRN to the source. Any node that receives the RRN forwards it to the source. When the RRN is received
by the source, it first restores the saved state (timers, state variables, and window size). It then stops and
resets the RFT, and resumes transmission of new and retransmitted packets according to the restored
window and timeout values.
2.3 SACK TCP
The objective of SACK TCP [Mathis1] is to alleviate TCP's poor performance when multiple packets are
lost from one window of data. SACK TCP defines TCP's selective acknowledgement option, which allows
the receiver to inform the sender which packets have been received, thereby giving the sender a better
picture of the receiver's buffer. The sender can then retransmit only the missing data segments. Without
SACK, the sender is forced to either wait a roundtrip time to find out about each lost packet, or to
retransmit segments which have already been correctly received, generating needless retransmissions. It is
possible for the receiver to send up to four SACK blocks in each segment, although if the timestamp option
is used for RTTM, this is reduced to three SACK blocks.
The receiver must follow these rules if it chooses to send a SACK option:
1. The first SACK block must specify the block of data containing the segment which triggered this
ACK, unless that segment advanced the Acknowledgement Number field in the header.
2. Include as many distinct SACK blocks as possible in the SACK option.
3. The SACK option should be filled out by repeating the most recently reported SACK blocks. After the
first SACK block, the following SACK blocks may be listed in arbitrary order.
2
The redundancy of blocks in the SACK option increases the robustness in the presence of lost ACKs; if one
ACK is lost, the next ACK will contain overlapping information.
3 Methodology
The results obtained are based on simulations run using the ns-2 simulator with wireless extensions from
the Monarch project in CMU.
Each simulation consisted of an ad hoc network with 50 wireless nodes. Each of the nodes moved in a
1500m x 300m area, so as to create different spacings between the transmitting stations. The movement
was described accordingly through the random waypoint mobility model. The simulations were run for 90
seconds each. Seven different pause times were used to generate the scenarios, ranging from 0 to 90
second pause times, evenly spaced in fifteen second intervals. A total of thirteen scenarios were generated
for each of the pause times. Each of the TCP implementations was simulated with each of these scenarios,
giving a total of 91 runs per TCP implementation, and a grand total of 364 simulations.
For each of the protocols, a one-way TCP connection from one a node to another one was established for
the duration of the simulation. There was no restriction on the number of hops between them. Both nodes
were randomly selected and were used as the two connecting nodes through all of the simulations. DSR
was used as the routing protocol throughout the simulations.
No additional traffic was generated in the simulation in order to isolate the performance of TCP in a
wireless network from other factors that could affect it, such as packet collisions or congestion due to other
connections.
Three metrics were used to evaluate the four protocols, including:
• TCP throughput
• Number of duplicate acknowledgements
• Number of retransmissions
TCP throughput was defined as the average arrival rate of non-duplicate packets at the receiver. We
calculated this by taking the total number of non-duplicate data bits received by the receiver and dividing
by the total simulation time, which was 90 seconds in our case. None of our simulations had a network
partition between the sender and receiver that would affect our calculation of throughput.
4 Results
Tables 1 and 2 show the results of our simulations.
TCP Implementation Average Throughput (Kbps)
Standard Deviation of
Throughput (Kbps)
Feedback 336.9840 277.9139
Reno 361.2201 268.8416
Sack 366.7259 266.6461
Vegas 394.3716 268.6351
Table 1: Throughput results
TCP
Implementation
Average Number
of
Retransmissions
Standard Deviation
of Retransmissions
Average Number of
Duplicate
Acknowledgements
Standard Deviation
of Duplicate
Acknowledgements
Feedback 54.76 54.07 92.98 92.19
Reno 25.44 36.27 67.52 78.27
Sack 25.95 34.46 75.62 88.39
Vegas 12.55 12.95 26.67 25.71
Table 2: Retransmissions and Duplicate Acknowledgements results
3
The previous tables show Vegas as the TCP protocol with the greater throughput and least amount of
retransmissions duplicate acknowledgements.
The graph in Figure 2 shows the sequence number of the packets sent versus time for each version of TCP.
This graph shows only one run of the simulator, but is a good representation of our overall results. TCP
Vegas reaches the highest sequence number in this run, followed by TCP Feedback, SACK TCP, and Reno.
SACK TCP and Reno have almost exactly the same data points. SACK TCP and Reno both enter an
exponential backoff phase around 62 seconds into the simulation, and never recover. This was a common
occurrence in our simulations, and is explained in the next section.
Figure 1: Sequence Number versus Time for one run
4.1 TCP Over DSR
DSR is an on demand routing protocol that initiates route discoveries when there is a request from a higher
layer. The different versions of TCP sent packets at different times due to different timers, therefore,
each version of TCP had different routes. This led to discrepancies such as the above exponential
backoff phases. Each version of TCP was very dependent on the performance of DSR. If a route becomes
invalid, it might happen that TCP would enter exponential backoff and never recover since DSR only
attempted to find routes when TCP attempted to send packets. The fewer packets sent, the less DSR
attempted to find a new route. So once TCP entered exponential backoff, there was little chance for
recovery.
Figure 2: Sequence Number versus Time for one run (luck graph)
Figure 2 shows an anomaly that we noticed while running our simulations. Reno and Vegas seem to take
off, while SACK does not. This happened in several of our simulation runs, but in each one different
implementations of TCP had a very high throughput. It is caused by the fact that each of the TCP
simulations causes DSR to find different routes because they each send at different times. It just so
happens that in the above graph, Vegas and Reno both have a path at 44 and 58 seconds respectively that is
still current, while SACK has a stale route at around 45 seconds, enters exponential backoff, and never
recovers. This “luck” factor has a large impact on our results.?? It is very difficult to compare each
of the TCP implementations when each of them has a different set of routes for the same scenario.
4.2 TCP Vegas
We expected Vegas to have better throughput than Reno because of its more aggressive transmission
mechanism. Duplicate acknowledgements were expected to decrease, and retransmissions to increase
slightly.
Vegas is the clear winner in all areas, throughput, retransmissions, and duplicate acknowledgements.
With an on demand routing protocol, sending more often results in fewer stale routes. This explains
why Vegas has fewer retransmissions and duplicate acknowledgements. If the sender is using a stale route,
it must retransmit the data later on because the original data sent with the stale route will not reach the
receiver. Vegas has more precise (??) timers, which caused it to attempt to send packets more often
than the other protocols, which increased its chances of having DSR find a route. This is the reason
Vegas has such a high throughput compared to the other protocols. We refer the reader to [Holland1]
for a discussion of the proliferation of stale routes in DSR when using cached routes.
4.3 SACK TCP
SACK TCP was expected to perform very well. Duplicate acknowledgements and retransmissions were
expected to decrease as the sender would have a better picture of the receiver’s buffer, which would allow
throughput to increase.
4
SACK TCP performed fairly well in our simulations. Its throughput is a little better than that of Reno’s,
which was expected. SACK’s throughput should increase over that of Reno’s because it should not
retransmit the packets specified in the selective acknowledgement option, while Reno will. The use of
the selective acknowledgement option is the only difference between the two protocols
Need to explain why dup acks goes up so much here.
SACK TCP also introduces a small overhead in the acknowledgement packets with the 40 byte TCP
options header. This did not produce any noticeable differences in the throughput in our simulations, as the
SACK header was not used very often.
4.4 Feedback
As Feedback was designed for wireless networks, we expected it to perform better than Reno. Throughput
was expected to improve because upon reconnection, Feedback doesn’t use the Slow Start algorithm, but
instead sets its timers, state variables, and window sizes to the values saved before the route failure.
Duplicate acknowledgements and retransmissions were also expected to decrease.
Feedback had the lowest average throughputs of the protocols studied.
4.5 Effect of Number of Hops on Throughput
Intuition says that throughput should decrease as pause time increases, but we did not find this to be the
case. Our throughput was very constant across pause times, as shown in figure 3. The more important
factor was the minimum number of hops between the sender and receiver. The higher this number, the
lower TCP’s throughput was. The graph in figure 4 shows that there is an exponential relationship between
throughput and the average minimum number of hops between the sender and receiver. This average
minimum number of hops was determined with the use of the scenario files. This average is a weighted
average determined by the amount of time the minimum number of hops was valid. ?? needs
rewording
Figure 3: Throughput versus Pause Time
Figure 4: Throughput versus Average Minimum Path Length
According to [Gerla1], hidden terminal losses in CSMA, which become very substantial for higher
longer paths, cause the loss of TCP ACKs with consequent timeouts and major throughput
degradation.
4.6 Explanation of High Standard Deviation
We ran thirteen different scenarios with seven pause times in each to try to reduce our standard deviation.
Increasing the number of runs did not seem to have any affect. We believe this is due to the fact that we
did not limit the number of hops between the sender and receiver; this value was also highly varied in the
simulation runs. As we discussed above, throughput is very dependent on this value, and since we did not
limit the number of hops, it caused our throughput to vary greatly within the runs. There were times when
TCP would enter its exponential backoff phase and never recover, making the throughput very low.
5 Related Work
Recently, some researchers have considered the performance of TCP in multi-hop networks. [Gerla1,
Chandran1] In [Gerla1], Gerla et al. investigated the impact of the MAC protocol on performance of TCP
in multi-hop networks. Chandran et al. [Chandran1] proposed the TCP Feedback (TCP-F) protocol, which
uses explicit feedback in the form of route failure and re-establishment control packets. In [Holland1],
Holland and Vaidya investigated the effects of mobility on TCP performance in mobile ad hoc networks
5
using a 30 node network model with TCP Reno as a base protocol for comparison with the Explicit Link
Failure Notification (ELFN) technique.
6 Conclusion and Future Work
We have shown that TCP throughput is highly dependent on the path length in wireless ad hoc networks. It
is also related to how often the TPC sender attempts to send packets. The more often this occurs, the better
chance DSR will have of not having a stale route because the previous attempt to send found a route which
is not yet stale.
Our research did not limit the number of hops between the sender and receiver. If this was limited to three
hops or less, a more accurate comparison of TCP protocols could be obtained because there would be fewer
packet losses due to hidden terminal losses. According to [Gerla1], hidden terminal losses in CSMA,
which become very substantial for higher longer paths, cause the loss of TCP ACKs with consequent
timeouts and major throughput degradation.
We expected SACK TCP to perform better than it did. But our simulations did not include an error model.
SACK TCP should perform better in the case of dropped packets due to errors in the wireless transmission.
Future work should be done in this area.
Another area for future work is in the network congestion that is introduced by the protocols when their
timers are more precise as in the case of TCP Vegas. Even though Vegas had a higher throughput in our
simulations due to its timers, it is still important to determine if there is an increase in the congestion of the
ad hoc network.
6
References
[Ahn1] Jong Suk Ahn, Peter B.Danzig, Zhen Liu, and Limin Yan. Evaluation of TCP Vegas:
Emulation and Experiment. In Proceedings of SIGCOMM '95, 1995.
[Brakmo1] Lawrence S.Brakmo, William S.O’Malley, and L.L.Peterson. TCP vegas: New
techniques for congestion detection and avoidance. In Proceedings of ACM SIGCOMM
'94, pages 24-35, May, 1994.
[Chandran1] K.Chandran, S.Raghunathan, S.Venkatesan, and R.Prakash. A feedback based scheme for
improving TCP performance in ad-hoc wireless networks. In Proceedings of
International Conference on Distributed Computing Systems. 1998.
[Danzig1] Peter B.Danzig, Zehn Liu, and Limin Yan. An Evaluation of TCP Vegas by Live
Emulation. Proceedings of ACM SIGMetrics `95, 1995.
[Gerla1] M.Gerla, K.Tang, and R.Bagrodia. TCP performance in wireless multi-hop networks. In
Proceedings of IEEE WMCSA’99, February 1999.
[Holland1] Gavin Holland and Nitin Vaidya. Analysis of TCP Performance over Mobile Ad Hoc
Networks. Fifth Annual International Conference on Mobile Computing and Networking
(MOBICOM). August 1999
[Johnson1] David B. Johnson and David A. Maltz. Dynamic source routing in ad hoc wireless
networks. In Mobile Computing, edited by Tomasz Imielinski and Hank Korth, chapter
5, pages 153 – 181. Kluwer Academic Publishers, 1996.
[Mathis1] M.Mathis, J.Mahdavi, S.Floyd, and A.Romanow. TCP Selective Acknowledgment
Options. RFC 2018, October, 1996.
7

Más contenido relacionado

La actualidad más candente

TCP protocol flow control
TCP protocol flow control TCP protocol flow control
TCP protocol flow control anuragjagetiya
 
Mobile transportlayer
Mobile transportlayerMobile transportlayer
Mobile transportlayerRahul Hada
 
Mobile transport layer
Mobile transport layerMobile transport layer
Mobile transport layerVikram Nandini
 
IMPACT OF CONTENTION WINDOW ON CONGESTION CONTROL ALGORITHMS FOR WIRELESS ADH...
IMPACT OF CONTENTION WINDOW ON CONGESTION CONTROL ALGORITHMS FOR WIRELESS ADH...IMPACT OF CONTENTION WINDOW ON CONGESTION CONTROL ALGORITHMS FOR WIRELESS ADH...
IMPACT OF CONTENTION WINDOW ON CONGESTION CONTROL ALGORITHMS FOR WIRELESS ADH...cscpconf
 
Mobile computing : Indirect TCP
Mobile computing : Indirect TCPMobile computing : Indirect TCP
Mobile computing : Indirect TCPSushant Kushwaha
 
A preamble-based approach for Providing QOS support in Wireless Sensor Network
A preamble-based approach for Providing QOS support in Wireless Sensor NetworkA preamble-based approach for Providing QOS support in Wireless Sensor Network
A preamble-based approach for Providing QOS support in Wireless Sensor Networkdiala wedyan
 
Comparative Analysis of Different TCP Variants in Mobile Ad-Hoc Network
Comparative Analysis of Different TCP Variants in Mobile Ad-Hoc Network Comparative Analysis of Different TCP Variants in Mobile Ad-Hoc Network
Comparative Analysis of Different TCP Variants in Mobile Ad-Hoc Network partha pratim deb
 
Mobile computing-tcp data flow control
Mobile computing-tcp data flow controlMobile computing-tcp data flow control
Mobile computing-tcp data flow controlSushant Kushwaha
 
Congestion control in tcp
Congestion control in tcpCongestion control in tcp
Congestion control in tcpsamarai_apoc
 
Tcp Congestion Avoidance
Tcp Congestion AvoidanceTcp Congestion Avoidance
Tcp Congestion AvoidanceRam Dutt Shukla
 
LTE RACH Procedure
LTE RACH ProcedureLTE RACH Procedure
LTE RACH ProcedureAalekh Jain
 
Sliding window protocol
Sliding window protocolSliding window protocol
Sliding window protocolRishu Seth
 
Connection Establishment & Flow and Congestion Control
Connection Establishment & Flow and Congestion ControlConnection Establishment & Flow and Congestion Control
Connection Establishment & Flow and Congestion ControlAdeel Rasheed
 
Congestion control
Congestion controlCongestion control
Congestion controlAman Jaiswal
 
Transport Layer
Transport LayerTransport Layer
Transport LayerAmin Omi
 

La actualidad más candente (20)

TCP protocol flow control
TCP protocol flow control TCP protocol flow control
TCP protocol flow control
 
Mobile transportlayer
Mobile transportlayerMobile transportlayer
Mobile transportlayer
 
transport protocols
transport protocolstransport protocols
transport protocols
 
Mobile transport layer
Mobile transport layerMobile transport layer
Mobile transport layer
 
IMPACT OF CONTENTION WINDOW ON CONGESTION CONTROL ALGORITHMS FOR WIRELESS ADH...
IMPACT OF CONTENTION WINDOW ON CONGESTION CONTROL ALGORITHMS FOR WIRELESS ADH...IMPACT OF CONTENTION WINDOW ON CONGESTION CONTROL ALGORITHMS FOR WIRELESS ADH...
IMPACT OF CONTENTION WINDOW ON CONGESTION CONTROL ALGORITHMS FOR WIRELESS ADH...
 
Bg4101335337
Bg4101335337Bg4101335337
Bg4101335337
 
Mobile computing : Indirect TCP
Mobile computing : Indirect TCPMobile computing : Indirect TCP
Mobile computing : Indirect TCP
 
A preamble-based approach for Providing QOS support in Wireless Sensor Network
A preamble-based approach for Providing QOS support in Wireless Sensor NetworkA preamble-based approach for Providing QOS support in Wireless Sensor Network
A preamble-based approach for Providing QOS support in Wireless Sensor Network
 
Comparative Analysis of Different TCP Variants in Mobile Ad-Hoc Network
Comparative Analysis of Different TCP Variants in Mobile Ad-Hoc Network Comparative Analysis of Different TCP Variants in Mobile Ad-Hoc Network
Comparative Analysis of Different TCP Variants in Mobile Ad-Hoc Network
 
Mobile computing-tcp data flow control
Mobile computing-tcp data flow controlMobile computing-tcp data flow control
Mobile computing-tcp data flow control
 
Research paper
Research paperResearch paper
Research paper
 
Congestion control in tcp
Congestion control in tcpCongestion control in tcp
Congestion control in tcp
 
Tcp Congestion Avoidance
Tcp Congestion AvoidanceTcp Congestion Avoidance
Tcp Congestion Avoidance
 
Congestion control in TCP
Congestion control in TCPCongestion control in TCP
Congestion control in TCP
 
LTE RACH Procedure
LTE RACH ProcedureLTE RACH Procedure
LTE RACH Procedure
 
Sliding window protocol
Sliding window protocolSliding window protocol
Sliding window protocol
 
Connection Establishment & Flow and Congestion Control
Connection Establishment & Flow and Congestion ControlConnection Establishment & Flow and Congestion Control
Connection Establishment & Flow and Congestion Control
 
Congestion Control
Congestion ControlCongestion Control
Congestion Control
 
Congestion control
Congestion controlCongestion control
Congestion control
 
Transport Layer
Transport LayerTransport Layer
Transport Layer
 

Similar a A Performance Comparison of TCP Protocols

A THROUGHPUT ANALYSIS OF TCP IN ADHOC NETWORKS
A THROUGHPUT ANALYSIS OF TCP IN ADHOC NETWORKSA THROUGHPUT ANALYSIS OF TCP IN ADHOC NETWORKS
A THROUGHPUT ANALYSIS OF TCP IN ADHOC NETWORKScsandit
 
A throughput analysis of tcp in adhoc networks
A throughput analysis of tcp in adhoc networksA throughput analysis of tcp in adhoc networks
A throughput analysis of tcp in adhoc networkscsandit
 
Chapter03 sg
Chapter03 sgChapter03 sg
Chapter03 sgDang Hop
 
Lecture 19 22. transport protocol for ad-hoc
Lecture 19 22. transport protocol for ad-hoc Lecture 19 22. transport protocol for ad-hoc
Lecture 19 22. transport protocol for ad-hoc Chandra Meena
 
A Survey of Different Approaches for Differentiating Bit Error and Congestion...
A Survey of Different Approaches for Differentiating Bit Error and Congestion...A Survey of Different Approaches for Differentiating Bit Error and Congestion...
A Survey of Different Approaches for Differentiating Bit Error and Congestion...IJERD Editor
 
Improving Performance of TCP in Wireless Environment using TCP-P
Improving Performance of TCP in Wireless Environment using TCP-PImproving Performance of TCP in Wireless Environment using TCP-P
Improving Performance of TCP in Wireless Environment using TCP-PIDES Editor
 
Studying_the_TCP_Flow_and_Congestion_Con.pdf
Studying_the_TCP_Flow_and_Congestion_Con.pdfStudying_the_TCP_Flow_and_Congestion_Con.pdf
Studying_the_TCP_Flow_and_Congestion_Con.pdfIUA
 
Comparison of TCP congestion control mechanisms Tahoe, Newreno and Vegas
Comparison of TCP congestion control mechanisms Tahoe, Newreno and VegasComparison of TCP congestion control mechanisms Tahoe, Newreno and Vegas
Comparison of TCP congestion control mechanisms Tahoe, Newreno and VegasIOSR Journals
 
NetWork Design Question2.) How does TCP prevent Congestion Dicuss.pdf
NetWork Design Question2.) How does TCP prevent Congestion Dicuss.pdfNetWork Design Question2.) How does TCP prevent Congestion Dicuss.pdf
NetWork Design Question2.) How does TCP prevent Congestion Dicuss.pdfoptokunal1
 
Adhoc and Sensor Networks - Chapter 07
Adhoc and Sensor Networks - Chapter 07Adhoc and Sensor Networks - Chapter 07
Adhoc and Sensor Networks - Chapter 07Ali Habeeb
 
Towards Seamless TCP Congestion Avoidance in Multiprotocol Environments
Towards Seamless TCP Congestion Avoidance in Multiprotocol EnvironmentsTowards Seamless TCP Congestion Avoidance in Multiprotocol Environments
Towards Seamless TCP Congestion Avoidance in Multiprotocol EnvironmentsIDES Editor
 
A Comparison of Congestion Control Variants of TCP in Reactive Routing Protoc...
A Comparison of Congestion Control Variants of TCP in Reactive Routing Protoc...A Comparison of Congestion Control Variants of TCP in Reactive Routing Protoc...
A Comparison of Congestion Control Variants of TCP in Reactive Routing Protoc...AIRCC Publishing Corporation
 
A COMPARISON OF CONGESTION CONTROL VARIANTS OF TCP IN REACTIVE ROUTING PROTOC...
A COMPARISON OF CONGESTION CONTROL VARIANTS OF TCP IN REACTIVE ROUTING PROTOC...A COMPARISON OF CONGESTION CONTROL VARIANTS OF TCP IN REACTIVE ROUTING PROTOC...
A COMPARISON OF CONGESTION CONTROL VARIANTS OF TCP IN REACTIVE ROUTING PROTOC...AIRCC Publishing Corporation
 
A COMPARISON OF CONGESTION CONTROL VARIANTS OF TCP IN REACTIVE ROUTING PROTOC...
A COMPARISON OF CONGESTION CONTROL VARIANTS OF TCP IN REACTIVE ROUTING PROTOC...A COMPARISON OF CONGESTION CONTROL VARIANTS OF TCP IN REACTIVE ROUTING PROTOC...
A COMPARISON OF CONGESTION CONTROL VARIANTS OF TCP IN REACTIVE ROUTING PROTOC...ijcsit
 
Transport_Layer (1).pptx
Transport_Layer (1).pptxTransport_Layer (1).pptx
Transport_Layer (1).pptxSAICHARANREDDYN
 

Similar a A Performance Comparison of TCP Protocols (20)

A THROUGHPUT ANALYSIS OF TCP IN ADHOC NETWORKS
A THROUGHPUT ANALYSIS OF TCP IN ADHOC NETWORKSA THROUGHPUT ANALYSIS OF TCP IN ADHOC NETWORKS
A THROUGHPUT ANALYSIS OF TCP IN ADHOC NETWORKS
 
A throughput analysis of tcp in adhoc networks
A throughput analysis of tcp in adhoc networksA throughput analysis of tcp in adhoc networks
A throughput analysis of tcp in adhoc networks
 
Ba25315321
Ba25315321Ba25315321
Ba25315321
 
Chapter03 sg
Chapter03 sgChapter03 sg
Chapter03 sg
 
Lecture 19 22. transport protocol for ad-hoc
Lecture 19 22. transport protocol for ad-hoc Lecture 19 22. transport protocol for ad-hoc
Lecture 19 22. transport protocol for ad-hoc
 
A Survey of Different Approaches for Differentiating Bit Error and Congestion...
A Survey of Different Approaches for Differentiating Bit Error and Congestion...A Survey of Different Approaches for Differentiating Bit Error and Congestion...
A Survey of Different Approaches for Differentiating Bit Error and Congestion...
 
Improving Performance of TCP in Wireless Environment using TCP-P
Improving Performance of TCP in Wireless Environment using TCP-PImproving Performance of TCP in Wireless Environment using TCP-P
Improving Performance of TCP in Wireless Environment using TCP-P
 
Studying_the_TCP_Flow_and_Congestion_Con.pdf
Studying_the_TCP_Flow_and_Congestion_Con.pdfStudying_the_TCP_Flow_and_Congestion_Con.pdf
Studying_the_TCP_Flow_and_Congestion_Con.pdf
 
Comparison of TCP congestion control mechanisms Tahoe, Newreno and Vegas
Comparison of TCP congestion control mechanisms Tahoe, Newreno and VegasComparison of TCP congestion control mechanisms Tahoe, Newreno and Vegas
Comparison of TCP congestion control mechanisms Tahoe, Newreno and Vegas
 
Transport layer
Transport layerTransport layer
Transport layer
 
Sctp
SctpSctp
Sctp
 
NetWork Design Question2.) How does TCP prevent Congestion Dicuss.pdf
NetWork Design Question2.) How does TCP prevent Congestion Dicuss.pdfNetWork Design Question2.) How does TCP prevent Congestion Dicuss.pdf
NetWork Design Question2.) How does TCP prevent Congestion Dicuss.pdf
 
G028033037
G028033037G028033037
G028033037
 
Adhoc and Sensor Networks - Chapter 07
Adhoc and Sensor Networks - Chapter 07Adhoc and Sensor Networks - Chapter 07
Adhoc and Sensor Networks - Chapter 07
 
Towards Seamless TCP Congestion Avoidance in Multiprotocol Environments
Towards Seamless TCP Congestion Avoidance in Multiprotocol EnvironmentsTowards Seamless TCP Congestion Avoidance in Multiprotocol Environments
Towards Seamless TCP Congestion Avoidance in Multiprotocol Environments
 
A Comparison of Congestion Control Variants of TCP in Reactive Routing Protoc...
A Comparison of Congestion Control Variants of TCP in Reactive Routing Protoc...A Comparison of Congestion Control Variants of TCP in Reactive Routing Protoc...
A Comparison of Congestion Control Variants of TCP in Reactive Routing Protoc...
 
A COMPARISON OF CONGESTION CONTROL VARIANTS OF TCP IN REACTIVE ROUTING PROTOC...
A COMPARISON OF CONGESTION CONTROL VARIANTS OF TCP IN REACTIVE ROUTING PROTOC...A COMPARISON OF CONGESTION CONTROL VARIANTS OF TCP IN REACTIVE ROUTING PROTOC...
A COMPARISON OF CONGESTION CONTROL VARIANTS OF TCP IN REACTIVE ROUTING PROTOC...
 
A COMPARISON OF CONGESTION CONTROL VARIANTS OF TCP IN REACTIVE ROUTING PROTOC...
A COMPARISON OF CONGESTION CONTROL VARIANTS OF TCP IN REACTIVE ROUTING PROTOC...A COMPARISON OF CONGESTION CONTROL VARIANTS OF TCP IN REACTIVE ROUTING PROTOC...
A COMPARISON OF CONGESTION CONTROL VARIANTS OF TCP IN REACTIVE ROUTING PROTOC...
 
TCP.docx
TCP.docxTCP.docx
TCP.docx
 
Transport_Layer (1).pptx
Transport_Layer (1).pptxTransport_Layer (1).pptx
Transport_Layer (1).pptx
 

Más de Servio Fernando Lima Reina

Universidad corporativa: El ethos, pathos y logos
Universidad corporativa: El ethos, pathos y logosUniversidad corporativa: El ethos, pathos y logos
Universidad corporativa: El ethos, pathos y logosServio Fernando Lima Reina
 
EUSFLAT 2019: explainable neuro fuzzy recurrent neural network to predict col...
EUSFLAT 2019: explainable neuro fuzzy recurrent neural network to predict col...EUSFLAT 2019: explainable neuro fuzzy recurrent neural network to predict col...
EUSFLAT 2019: explainable neuro fuzzy recurrent neural network to predict col...Servio Fernando Lima Reina
 
Slima explainable deep learning using fuzzy logic human ist u fribourg ver 17...
Slima explainable deep learning using fuzzy logic human ist u fribourg ver 17...Slima explainable deep learning using fuzzy logic human ist u fribourg ver 17...
Slima explainable deep learning using fuzzy logic human ist u fribourg ver 17...Servio Fernando Lima Reina
 
Slima abstract XAI Deep learning for health using fuzzy logic
Slima abstract XAI Deep learning for health using fuzzy logicSlima abstract XAI Deep learning for health using fuzzy logic
Slima abstract XAI Deep learning for health using fuzzy logicServio Fernando Lima Reina
 
Slima xai lstm fuzzy logic project ver 9 feb 2019
Slima xai lstm fuzzy logic project ver 9 feb 2019Slima xai lstm fuzzy logic project ver 9 feb 2019
Slima xai lstm fuzzy logic project ver 9 feb 2019Servio Fernando Lima Reina
 
Slima paper smartcities and ehealth for cmu ver 1 july 2018
Slima paper smartcities and ehealth for  cmu ver 1 july 2018Slima paper smartcities and ehealth for  cmu ver 1 july 2018
Slima paper smartcities and ehealth for cmu ver 1 july 2018Servio Fernando Lima Reina
 
Educastle fintech presentation for internations ver 12 may 2018
Educastle fintech presentation for internations ver 12 may 2018Educastle fintech presentation for internations ver 12 may 2018
Educastle fintech presentation for internations ver 12 may 2018Servio Fernando Lima Reina
 
IMPLEMENTACION CONJUNTA DE LOS PRINCIPIOS DE LEAN THINKING Y TEORIA DE LAS RE...
IMPLEMENTACION CONJUNTA DE LOS PRINCIPIOS DE LEAN THINKING Y TEORIA DE LAS RE...IMPLEMENTACION CONJUNTA DE LOS PRINCIPIOS DE LEAN THINKING Y TEORIA DE LAS RE...
IMPLEMENTACION CONJUNTA DE LOS PRINCIPIOS DE LEAN THINKING Y TEORIA DE LAS RE...Servio Fernando Lima Reina
 
Slima dba investment and taxation paper em vs behavioral finance ver 26 sept ...
Slima dba investment and taxation paper em vs behavioral finance ver 26 sept ...Slima dba investment and taxation paper em vs behavioral finance ver 26 sept ...
Slima dba investment and taxation paper em vs behavioral finance ver 26 sept ...Servio Fernando Lima Reina
 
Slima telstra submarine cable australia japan ver 22 oct 2011
Slima telstra submarine cable australia japan ver 22 oct 2011Slima telstra submarine cable australia japan ver 22 oct 2011
Slima telstra submarine cable australia japan ver 22 oct 2011Servio Fernando Lima Reina
 

Más de Servio Fernando Lima Reina (18)

Universidad corporativa: El ethos, pathos y logos
Universidad corporativa: El ethos, pathos y logosUniversidad corporativa: El ethos, pathos y logos
Universidad corporativa: El ethos, pathos y logos
 
EUSFLAT 2019: explainable neuro fuzzy recurrent neural network to predict col...
EUSFLAT 2019: explainable neuro fuzzy recurrent neural network to predict col...EUSFLAT 2019: explainable neuro fuzzy recurrent neural network to predict col...
EUSFLAT 2019: explainable neuro fuzzy recurrent neural network to predict col...
 
Slima taxonomy dl in cognitive cities
Slima taxonomy dl in cognitive citiesSlima taxonomy dl in cognitive cities
Slima taxonomy dl in cognitive cities
 
Slima explainable deep learning using fuzzy logic human ist u fribourg ver 17...
Slima explainable deep learning using fuzzy logic human ist u fribourg ver 17...Slima explainable deep learning using fuzzy logic human ist u fribourg ver 17...
Slima explainable deep learning using fuzzy logic human ist u fribourg ver 17...
 
Slima abstract XAI Deep learning for health using fuzzy logic
Slima abstract XAI Deep learning for health using fuzzy logicSlima abstract XAI Deep learning for health using fuzzy logic
Slima abstract XAI Deep learning for health using fuzzy logic
 
Slima xai lstm fuzzy logic project ver 9 feb 2019
Slima xai lstm fuzzy logic project ver 9 feb 2019Slima xai lstm fuzzy logic project ver 9 feb 2019
Slima xai lstm fuzzy logic project ver 9 feb 2019
 
Slima paper smartcities and ehealth
Slima paper smartcities and ehealthSlima paper smartcities and ehealth
Slima paper smartcities and ehealth
 
Slima paper smartcities and ehealth for cmu ver 1 july 2018
Slima paper smartcities and ehealth for  cmu ver 1 july 2018Slima paper smartcities and ehealth for  cmu ver 1 july 2018
Slima paper smartcities and ehealth for cmu ver 1 july 2018
 
Educastle fintech presentation for internations ver 12 may 2018
Educastle fintech presentation for internations ver 12 may 2018Educastle fintech presentation for internations ver 12 may 2018
Educastle fintech presentation for internations ver 12 may 2018
 
Educastle for RICOH
Educastle for RICOHEducastle for RICOH
Educastle for RICOH
 
Slima linkedin recommendations ver 4 feb 2017
Slima linkedin recommendations ver 4 feb 2017Slima linkedin recommendations ver 4 feb 2017
Slima linkedin recommendations ver 4 feb 2017
 
Slima overall transcripts ver 27 dic 2016
Slima overall transcripts ver 27 dic 2016Slima overall transcripts ver 27 dic 2016
Slima overall transcripts ver 27 dic 2016
 
A tale of competitive strategy in space
A tale of competitive strategy in spaceA tale of competitive strategy in space
A tale of competitive strategy in space
 
IMPLEMENTACION CONJUNTA DE LOS PRINCIPIOS DE LEAN THINKING Y TEORIA DE LAS RE...
IMPLEMENTACION CONJUNTA DE LOS PRINCIPIOS DE LEAN THINKING Y TEORIA DE LAS RE...IMPLEMENTACION CONJUNTA DE LOS PRINCIPIOS DE LEAN THINKING Y TEORIA DE LAS RE...
IMPLEMENTACION CONJUNTA DE LOS PRINCIPIOS DE LEAN THINKING Y TEORIA DE LAS RE...
 
Slima dba investment and taxation paper em vs behavioral finance ver 26 sept ...
Slima dba investment and taxation paper em vs behavioral finance ver 26 sept ...Slima dba investment and taxation paper em vs behavioral finance ver 26 sept ...
Slima dba investment and taxation paper em vs behavioral finance ver 26 sept ...
 
Slima thesis carnegie mellon ver march 2001
Slima thesis carnegie mellon ver march 2001Slima thesis carnegie mellon ver march 2001
Slima thesis carnegie mellon ver march 2001
 
Slim ph d management paper ver 9 july 2011
Slim ph d management paper ver 9 july 2011Slim ph d management paper ver 9 july 2011
Slim ph d management paper ver 9 july 2011
 
Slima telstra submarine cable australia japan ver 22 oct 2011
Slima telstra submarine cable australia japan ver 22 oct 2011Slima telstra submarine cable australia japan ver 22 oct 2011
Slima telstra submarine cable australia japan ver 22 oct 2011
 

Último

UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkPixlogix Infotech
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observabilityitnewsafrica
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...itnewsafrica
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructureitnewsafrica
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 

Último (20)

UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App Framework
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 

A Performance Comparison of TCP Protocols

  • 1. A Performance Comparison of TCP Protocols over Mobile Ad Hoc Wireless Networks Michelle Berger, Servio Lima, Alexandros Manoussakis, Juan Pulgarin, and Benicio Sanchez Information Networking Institute Carnegie Mellon University Pittsburgh, PA 15213 May 14, 2000 Abstract The performance of wireless ad hoc networks is impacted significantly by the way TCP reacts to lost packets. TCP was designed specifically for wired, reliable networks; thus, any packet loss is attributed to congestion in the network. This assumption does not hold in wireless networks as most packet loss is due to link failure. In our research we analyzed several implementations of TCP, including TCP Vegas, TCP Feedback, and SACK TCP, by measuring throughput, retransmissions, and duplicate acknowledgements through simulation with ns-2. We discovered that TCP throughput is related to the number of hops in the path, and thus depends on the performance of the underlying routing protocol, which was DSR in our research. 1 Introduction The recent growth of mobile computers has led to the increased need for wireless ad hoc networks. A wireless ad hoc network is a network in which a group of mobile computers communicate without the need for a fixed infrastructure through the use of infrared or radio communications. TCP suffers poor performance in wireless networks because of losses and corruption caused by errors inherent to a wireless medium, as well as its inability to distinguish between link failure and congestion, which causes it to suffer from low throughput when nodes move. The focus of our research is to analyze several modifications made to TCP that could improve its performance in mobile ad hoc networks. The TCP implementations we studied include TCP Vegas, TCP Feedback, and SACK TCP. TCP Vegas attempts to improve on TCP Reno with increased granularity of the timers, and thus a more efficient retransmission mechanism. TCP Feedback is able to distinguish between packets lost from congestion and those lost from link failures by informing the sender when a link fails. SACK TCP provides the sender with a better picture of the receiver’s buffers through the use of selective acknowledgements, allowing for fewer retransmissions and duplicate acknowledgements. We analyzed each of the above protocols in terms of retransmissions, duplicate acknowledgements, and throughput. The data was collected through simulation, using DSR [Johnson1] as the routing protocol. As TCP Reno is one of the most common implementations of TCP, we used it as the standard against which to compare each of the other protocols. Similar research has been performed with TCP Reno and Explicit Loss Feedback Notification using DSR in [Holland1], but we are not aware of any analysis of TCP Vegas and SACK TCP using DSR. 2 TCP Protocols Analyzed 2.1 TCP Vegas TCP Vegas [Brakmo1, Danzig1, Ahn1] is an implementation of TCP based on TCP Reno with modifications in the sending side that try to achieve a more efficient use of available bandwidth. It was developed at the University of Arizona, and the authors claim that it achieves 40% to 70% better throughput with one-fifth to one-half the losses compared to TCP Reno. Vegas features a new retransmission mechanism, a congestion avoidance mechanism, and a modified Slow Start. 1
  • 2. Dave says this next paragraph implies that normal retransmissions have to wait for 3 duplicate acks, but ignores the timer timing out. The feature of Vegas that wireless ad hoc networks in particular could benefit from is the more efficient retransmission mechanism. It reads the system clock for each segment and thus calculates a more accurate RTT time. This mechanism allows it to measure a timeout with higher precision and retransmit without having to wait for three duplicate ACKS or the less precise, and thus longer, retransmission timer to time out. The authors of TCP Vegas found the average timeout interval of Reno to be more than three times higher the correct value that would be calculated with an accurate clock. This inaccuracy in Reno's timers introduces significant delays to retransmissions, lowering overall throughout. [Brakmo1, Ahn1] Vegas also adds another improvement; when a non-duplicate ACK is received and it is the first or second after a retransmission, Vegas checks if the time interval since the segment was sent is larger than the timeout value. If it is, it retransmits the segment without having to wait for a duplicate ACK to arrive. 2.2 TCP Feedback (TCP-F) The purpose of TCP-F [Chandran1] is to distinguish between packet loss due to congestion and packet loss due to route failures. It does so using a feedback mechanism to signal the sender when a route failure occurs and when a route is re-established. In order to accomplish this, TCP-F changes the way a Mobile Host reacts to a packet loss. Assume a TCP connection is established and the source Mobile Host (henceforth referred to as sender) is sending packets to the destination Mobile Host. As soon as the network layer at any intermediate node detects the disruption of a route it sends a Route Failure Notification (RFN) to the sender. Each intermediate node that receives the RFN packet invalidates the route. If the intermediate node knows an alternate route to the destination, this alternate route can be used and the RFN discarded. Upon receipt of the RFN, the sender stops sending new packets or retransmissions, freezes its timers, and saves the window size and the values of all the state variables regarding this connection. It then starts a Route Failure Timer (RFT), which limits the time a sender waits for the re-establishment of a certain route. The sender remains in this snooze state until a Route Re-establishment Notification (RRN) is received, or until the RFT expires. When an intermediate node learns an alternate route to the destination through a routing update, it sends a RRN to the source. Any node that receives the RRN forwards it to the source. When the RRN is received by the source, it first restores the saved state (timers, state variables, and window size). It then stops and resets the RFT, and resumes transmission of new and retransmitted packets according to the restored window and timeout values. 2.3 SACK TCP The objective of SACK TCP [Mathis1] is to alleviate TCP's poor performance when multiple packets are lost from one window of data. SACK TCP defines TCP's selective acknowledgement option, which allows the receiver to inform the sender which packets have been received, thereby giving the sender a better picture of the receiver's buffer. The sender can then retransmit only the missing data segments. Without SACK, the sender is forced to either wait a roundtrip time to find out about each lost packet, or to retransmit segments which have already been correctly received, generating needless retransmissions. It is possible for the receiver to send up to four SACK blocks in each segment, although if the timestamp option is used for RTTM, this is reduced to three SACK blocks. The receiver must follow these rules if it chooses to send a SACK option: 1. The first SACK block must specify the block of data containing the segment which triggered this ACK, unless that segment advanced the Acknowledgement Number field in the header. 2. Include as many distinct SACK blocks as possible in the SACK option. 3. The SACK option should be filled out by repeating the most recently reported SACK blocks. After the first SACK block, the following SACK blocks may be listed in arbitrary order. 2
  • 3. The redundancy of blocks in the SACK option increases the robustness in the presence of lost ACKs; if one ACK is lost, the next ACK will contain overlapping information. 3 Methodology The results obtained are based on simulations run using the ns-2 simulator with wireless extensions from the Monarch project in CMU. Each simulation consisted of an ad hoc network with 50 wireless nodes. Each of the nodes moved in a 1500m x 300m area, so as to create different spacings between the transmitting stations. The movement was described accordingly through the random waypoint mobility model. The simulations were run for 90 seconds each. Seven different pause times were used to generate the scenarios, ranging from 0 to 90 second pause times, evenly spaced in fifteen second intervals. A total of thirteen scenarios were generated for each of the pause times. Each of the TCP implementations was simulated with each of these scenarios, giving a total of 91 runs per TCP implementation, and a grand total of 364 simulations. For each of the protocols, a one-way TCP connection from one a node to another one was established for the duration of the simulation. There was no restriction on the number of hops between them. Both nodes were randomly selected and were used as the two connecting nodes through all of the simulations. DSR was used as the routing protocol throughout the simulations. No additional traffic was generated in the simulation in order to isolate the performance of TCP in a wireless network from other factors that could affect it, such as packet collisions or congestion due to other connections. Three metrics were used to evaluate the four protocols, including: • TCP throughput • Number of duplicate acknowledgements • Number of retransmissions TCP throughput was defined as the average arrival rate of non-duplicate packets at the receiver. We calculated this by taking the total number of non-duplicate data bits received by the receiver and dividing by the total simulation time, which was 90 seconds in our case. None of our simulations had a network partition between the sender and receiver that would affect our calculation of throughput. 4 Results Tables 1 and 2 show the results of our simulations. TCP Implementation Average Throughput (Kbps) Standard Deviation of Throughput (Kbps) Feedback 336.9840 277.9139 Reno 361.2201 268.8416 Sack 366.7259 266.6461 Vegas 394.3716 268.6351 Table 1: Throughput results TCP Implementation Average Number of Retransmissions Standard Deviation of Retransmissions Average Number of Duplicate Acknowledgements Standard Deviation of Duplicate Acknowledgements Feedback 54.76 54.07 92.98 92.19 Reno 25.44 36.27 67.52 78.27 Sack 25.95 34.46 75.62 88.39 Vegas 12.55 12.95 26.67 25.71 Table 2: Retransmissions and Duplicate Acknowledgements results 3
  • 4. The previous tables show Vegas as the TCP protocol with the greater throughput and least amount of retransmissions duplicate acknowledgements. The graph in Figure 2 shows the sequence number of the packets sent versus time for each version of TCP. This graph shows only one run of the simulator, but is a good representation of our overall results. TCP Vegas reaches the highest sequence number in this run, followed by TCP Feedback, SACK TCP, and Reno. SACK TCP and Reno have almost exactly the same data points. SACK TCP and Reno both enter an exponential backoff phase around 62 seconds into the simulation, and never recover. This was a common occurrence in our simulations, and is explained in the next section. Figure 1: Sequence Number versus Time for one run 4.1 TCP Over DSR DSR is an on demand routing protocol that initiates route discoveries when there is a request from a higher layer. The different versions of TCP sent packets at different times due to different timers, therefore, each version of TCP had different routes. This led to discrepancies such as the above exponential backoff phases. Each version of TCP was very dependent on the performance of DSR. If a route becomes invalid, it might happen that TCP would enter exponential backoff and never recover since DSR only attempted to find routes when TCP attempted to send packets. The fewer packets sent, the less DSR attempted to find a new route. So once TCP entered exponential backoff, there was little chance for recovery. Figure 2: Sequence Number versus Time for one run (luck graph) Figure 2 shows an anomaly that we noticed while running our simulations. Reno and Vegas seem to take off, while SACK does not. This happened in several of our simulation runs, but in each one different implementations of TCP had a very high throughput. It is caused by the fact that each of the TCP simulations causes DSR to find different routes because they each send at different times. It just so happens that in the above graph, Vegas and Reno both have a path at 44 and 58 seconds respectively that is still current, while SACK has a stale route at around 45 seconds, enters exponential backoff, and never recovers. This “luck” factor has a large impact on our results.?? It is very difficult to compare each of the TCP implementations when each of them has a different set of routes for the same scenario. 4.2 TCP Vegas We expected Vegas to have better throughput than Reno because of its more aggressive transmission mechanism. Duplicate acknowledgements were expected to decrease, and retransmissions to increase slightly. Vegas is the clear winner in all areas, throughput, retransmissions, and duplicate acknowledgements. With an on demand routing protocol, sending more often results in fewer stale routes. This explains why Vegas has fewer retransmissions and duplicate acknowledgements. If the sender is using a stale route, it must retransmit the data later on because the original data sent with the stale route will not reach the receiver. Vegas has more precise (??) timers, which caused it to attempt to send packets more often than the other protocols, which increased its chances of having DSR find a route. This is the reason Vegas has such a high throughput compared to the other protocols. We refer the reader to [Holland1] for a discussion of the proliferation of stale routes in DSR when using cached routes. 4.3 SACK TCP SACK TCP was expected to perform very well. Duplicate acknowledgements and retransmissions were expected to decrease as the sender would have a better picture of the receiver’s buffer, which would allow throughput to increase. 4
  • 5. SACK TCP performed fairly well in our simulations. Its throughput is a little better than that of Reno’s, which was expected. SACK’s throughput should increase over that of Reno’s because it should not retransmit the packets specified in the selective acknowledgement option, while Reno will. The use of the selective acknowledgement option is the only difference between the two protocols Need to explain why dup acks goes up so much here. SACK TCP also introduces a small overhead in the acknowledgement packets with the 40 byte TCP options header. This did not produce any noticeable differences in the throughput in our simulations, as the SACK header was not used very often. 4.4 Feedback As Feedback was designed for wireless networks, we expected it to perform better than Reno. Throughput was expected to improve because upon reconnection, Feedback doesn’t use the Slow Start algorithm, but instead sets its timers, state variables, and window sizes to the values saved before the route failure. Duplicate acknowledgements and retransmissions were also expected to decrease. Feedback had the lowest average throughputs of the protocols studied. 4.5 Effect of Number of Hops on Throughput Intuition says that throughput should decrease as pause time increases, but we did not find this to be the case. Our throughput was very constant across pause times, as shown in figure 3. The more important factor was the minimum number of hops between the sender and receiver. The higher this number, the lower TCP’s throughput was. The graph in figure 4 shows that there is an exponential relationship between throughput and the average minimum number of hops between the sender and receiver. This average minimum number of hops was determined with the use of the scenario files. This average is a weighted average determined by the amount of time the minimum number of hops was valid. ?? needs rewording Figure 3: Throughput versus Pause Time Figure 4: Throughput versus Average Minimum Path Length According to [Gerla1], hidden terminal losses in CSMA, which become very substantial for higher longer paths, cause the loss of TCP ACKs with consequent timeouts and major throughput degradation. 4.6 Explanation of High Standard Deviation We ran thirteen different scenarios with seven pause times in each to try to reduce our standard deviation. Increasing the number of runs did not seem to have any affect. We believe this is due to the fact that we did not limit the number of hops between the sender and receiver; this value was also highly varied in the simulation runs. As we discussed above, throughput is very dependent on this value, and since we did not limit the number of hops, it caused our throughput to vary greatly within the runs. There were times when TCP would enter its exponential backoff phase and never recover, making the throughput very low. 5 Related Work Recently, some researchers have considered the performance of TCP in multi-hop networks. [Gerla1, Chandran1] In [Gerla1], Gerla et al. investigated the impact of the MAC protocol on performance of TCP in multi-hop networks. Chandran et al. [Chandran1] proposed the TCP Feedback (TCP-F) protocol, which uses explicit feedback in the form of route failure and re-establishment control packets. In [Holland1], Holland and Vaidya investigated the effects of mobility on TCP performance in mobile ad hoc networks 5
  • 6. using a 30 node network model with TCP Reno as a base protocol for comparison with the Explicit Link Failure Notification (ELFN) technique. 6 Conclusion and Future Work We have shown that TCP throughput is highly dependent on the path length in wireless ad hoc networks. It is also related to how often the TPC sender attempts to send packets. The more often this occurs, the better chance DSR will have of not having a stale route because the previous attempt to send found a route which is not yet stale. Our research did not limit the number of hops between the sender and receiver. If this was limited to three hops or less, a more accurate comparison of TCP protocols could be obtained because there would be fewer packet losses due to hidden terminal losses. According to [Gerla1], hidden terminal losses in CSMA, which become very substantial for higher longer paths, cause the loss of TCP ACKs with consequent timeouts and major throughput degradation. We expected SACK TCP to perform better than it did. But our simulations did not include an error model. SACK TCP should perform better in the case of dropped packets due to errors in the wireless transmission. Future work should be done in this area. Another area for future work is in the network congestion that is introduced by the protocols when their timers are more precise as in the case of TCP Vegas. Even though Vegas had a higher throughput in our simulations due to its timers, it is still important to determine if there is an increase in the congestion of the ad hoc network. 6
  • 7. References [Ahn1] Jong Suk Ahn, Peter B.Danzig, Zhen Liu, and Limin Yan. Evaluation of TCP Vegas: Emulation and Experiment. In Proceedings of SIGCOMM '95, 1995. [Brakmo1] Lawrence S.Brakmo, William S.O’Malley, and L.L.Peterson. TCP vegas: New techniques for congestion detection and avoidance. In Proceedings of ACM SIGCOMM '94, pages 24-35, May, 1994. [Chandran1] K.Chandran, S.Raghunathan, S.Venkatesan, and R.Prakash. A feedback based scheme for improving TCP performance in ad-hoc wireless networks. In Proceedings of International Conference on Distributed Computing Systems. 1998. [Danzig1] Peter B.Danzig, Zehn Liu, and Limin Yan. An Evaluation of TCP Vegas by Live Emulation. Proceedings of ACM SIGMetrics `95, 1995. [Gerla1] M.Gerla, K.Tang, and R.Bagrodia. TCP performance in wireless multi-hop networks. In Proceedings of IEEE WMCSA’99, February 1999. [Holland1] Gavin Holland and Nitin Vaidya. Analysis of TCP Performance over Mobile Ad Hoc Networks. Fifth Annual International Conference on Mobile Computing and Networking (MOBICOM). August 1999 [Johnson1] David B. Johnson and David A. Maltz. Dynamic source routing in ad hoc wireless networks. In Mobile Computing, edited by Tomasz Imielinski and Hank Korth, chapter 5, pages 153 – 181. Kluwer Academic Publishers, 1996. [Mathis1] M.Mathis, J.Mahdavi, S.Floyd, and A.Romanow. TCP Selective Acknowledgment Options. RFC 2018, October, 1996. 7