CSE 573S Protocols for Computer Networks (Spring 2005 Final Project)
|
|
- Lora Malone
- 5 years ago
- Views:
Transcription
1 CSE 573S Protocols for Computer Networks (Spring 2005 Final Project) To Investigate the degree of congestion control synchronization of window-based connections bottlenecked at the same link Kumar, Vikram So-In Chakchai May 10 th, 2005 (1)
2 Abstract : Our project basically investigates the degree of congestion control synchronization of window-based connections bottlenecked at the same link and for this we conducted experiment s in ns2 and in cec labs which is located in Washington University in St. louis. The questions which we expected to answer where What is the fraction of connections that do not notice congestion before it is resolved by the other connections? & to identify the conditions for the buffer to always remain full. Some of the considered parameters where number of connections, buffer size, delay of their paths and the bottleneck link capacity. 1. Introduction 1.1 Queuing Drop Model Figure 1.1: Drop Tail Queue [1] First model is Drop Tail Queue. In this model, FIFO queuing mechanism is implemented in order to drop packets when the queue overflows. This technique is simple use and less complexity which widely uses in the Internet; however, it would introduces global synchronization when packets are dropped from several connections. Figure 1.2: Random Drop Queue [1] Second model is Random Drop Queue. When a packet arrives and the queue is full, randomly choose a packet from the queue to drop. Figure 1.3: Random Early Drop Queue [1] (2)
3 Third model is Random Early Drop Queue. If the queue length exceeds a drop level, then the router drops each arriving packet with a fixed drop probability. The big advantage for this technique is that it can reduce the global synchronization. 1.2 TCP Synchronization TCP sends as many packets as possible until it detects a loss in packet at which point it reduces the sending rate. Like many congestion control protocols, TCP uses packet loss as an indication of congestion. (Figure 1.4) Ideally, if losses are synchronized, TCP flows sharing bottleneck receive loss indications at around the same time decrease rates at around the same time periods due to which the link bandwidth is significantly underutilized. (Figure 1.5) As a result, if rate synchronization can be prevented, then bandwidth will be used more efficiently. (Figure 1.6) Figure 1.4: TCP behavior [2] Figure 1.5: Synchronization of TCP behavior (3)
4 Figure 1.6: De-synchronization of TCP behavior 2. Explanation of the implementation and experimental setup 2.1 Design Choice We use four congestion control algorithms for TCP connections and they are Slow start, Congestion Avoidance, Fast retransmit & Fast recovery for fast recovery & retransmit we use New Reno algorithm and Drop tail queue model for the buffer in the router. 2.2 How does the algorithm work? The four congestion control algorithms work in the following way Slow start: The slow start and congestion avoidance algorithms MUST be used by a TCP sender to control the amount of outstanding data being injected into the network.to implement these algorithms, two variables are added to the TCP per-connection state. The congestion window (cwnd) is a sender-side limit on the amount of data the sender can transmit into the network before receiving an acknowledgment (ACK), while the receiver's advertised window (rwnd) is a receiver-side limit on the amount of outstanding data. The minimum of cwnd and rwnd governs data transmission. Another state variable, the slow start threshold (ssthresh), is used to determine whether the slow start or congestion avoidance algorithm is used to control data transmission. The initial congestion window size is MUST be less than or equal to 2*SMSS bytes and MUST NOT be more than 2 segments. The initial value of ssthresh MAY be arbitrarily high (for example, some implementations use the size of the advertised window), but it may be reduced in response to congestion. The slow start algorithm is used when cwnd < ssthresh. During slow start, a TCP increments cwnd by at most SMSS bytes for each ACK received that acknowledges new data. Slow start ends when cwnd exceeds ssthresh (or, optionally, when it reaches it, as noted above) or when congestion is observed. (4)
5 Fast Retransmit: A TCP receiver SHOULD send an immediate duplicate ACK when an out-of-order segment arrives. The purpose of this ACK is to inform the sender that a segment was received out-of-order and which sequence number is expected. From the sender's perspective, duplicate ACKs can be caused by a number of network problems. First, they can be caused by dropped segments. In this case, all segments after the dropped segment will trigger duplicate ACKs. Second, duplicate ACKs can be caused by the re-ordering of data segments by the network (not a rare event along some network paths [Pax97]). Finally, duplicate ACKs can be caused by replication of ACK or data segments by the network. In addition, a TCP receiver SHOULD send an immediate ACK when the incoming segment fills in all or part of a gap in the sequence space. The TCP sender SHOULD use the "fast retransmit" algorithm to detect and repair loss, based on incoming duplicate ACKs. The fast retransmit algorithm uses the arrival of 3 duplicate ACKs. After receiving 3 duplicate ACKs, TCP performs a retransmission of what appears to be the missing segment, without waiting for the retransmission timer to expire. After the fast retransmit algorithm sends what appears to be the missing segment, the "fast recovery" algorithm governs the transmission of new data until a non-duplicate ACK arrives. New Reno Fast Recovery: In New-Rent, partial ACKs do not take TCP out of Fast Recovery. Instead, partial ACKs received during Fast Recovery are treated as an indication that the packet immediately following the acknowledged packet in the sequence space has been lost, and should be retransmitted. Thus, when multiple packets are lost from a single window of data, New- Rent can recover without a retransmission timeout, retransmitting one lost packet per round-trip time until all of the lost packets from that window have been retransmitted. New-Rent remains in Fast Recovery until all of the data outstanding when Fast Recovery was initiated has been acknowledged. The fast retransmit and fast recovery algorithms are usually implemented together as follows. 1. When the third duplicate ACK is received, set ssthresh to no more than the value given in equation Retransmit the lost segment and set cwnd to ssthresh plus *SMSS.This artificially "inflates" the congestion window by the number of segments (three) that have left the network and which the receiver has buffered. 3. For each additional duplicate ACK received, increment cwnd by SMSS. This artificially inflates the congestion window in order to reflect the additional segment that has left the network. (5)
6 4. Transmit a segment, if allowed by the new value of cwnd and the receiver's advertised window. 5. When the next ACK arrives that acknowledges new data, set cwnd to ssthresh (the value set in step 1). This is termed "deflating" the window. Congestion Avoidance: The congestion avoidance algorithm is used when cwnd > ssthresh. During congestion avoidance, cwnd is incremented by 1 full-sized segment per round-trip time (RTT). Congestion avoidance continues until congestion is detected. One formula commonly used to update cwnd during congestion avoidance is given in equation 2: cwnd += SMSS*SMSS/cwnd (2) This adjustment is executed on every incoming non-duplicate ACK. Equation (2) provides an acceptable approximation to the underlying principle of increasing cwnd by 1 full-sized segment per RTT. Drop tail Queue Buffer : Firstinfirstout, drop tail when full was the original queue management scheme used in Internet routers. With this scheme packets are enqueued at the tail of a queue as they arrive and dequeued from the head of queue when there is capacity on the link. Problems arise when queues overflow due to bursty of packets. At this moment more packets can not be admitted and they have to be dropped where they are entering, this means, at the tail of the queue. That's the reason why all queuing discipline based on the FIFO queue are known as DropTail queues. (6)
7 3. Description of the used of hosts and network path for ns2 simulation Figure 3.1: Network Design and Path setup for ns2 simulation In ns2 simulation, we did an experiment by varying four standard parameters, namely, the number of connections, delays of their paths, bottleneck link capacity and buffer size in order to investigate the impact of these parameters had on the degree of TCP synchronization & on the Router buffer behavior. Basically, FTP connections using TCP are sent continuously for 200 sec from each node passed through simulated router and then it forwards each packet to the receiver through bottleneck link. 536 bytes TCP packet is sent each in order to comply the minimum standard packet for Internet (plus extra 40 bytes for IP and TCP headers). set ns [new Simulator] set nf [open out.nam w] $ns namtrace-all $nf set tf [open out.tr w] set windowvstime [open win w] set param [open parameters w] $ns trace-all $tf #Define a 'finish' procedure proc finish { { global ns nf tf $ns flush-trace close $nf close $tf exec nam out.nam & exit 0 #Create bottleneck and dest nodes set n2 [$ns node] set n3 [$ns node] (7)
8 #Create links between these nodes $ns duplex-link $n2 $n3 1Mb 20ms DropTail set NumbSrc 4 set Duration 200 #Source nodes for {set j 1 {$j<=$numbsrc { incr j { set S($j) [$ns node] # Create a random generator for starting the ftp and for bottleneck link delays set rng [new RNG] $rng seed 2 # parameters for random variables for begenning of ftp connections set RVstart [new RandomVariable/Uniform] $RVstart set min_ 0 $RVstart set max_ 7 $RVstart use-rng $rng #We define random starting times for each connection for {set i 1 {$i<=$numbsrc { incr i { #set startt($i) [expr [$RVstart value]] set startt($i) 0 set dly($i) 1 puts $param "startt($i) $startt($i) sec" #Links between source and bottleneck for {set j 1 {$j<=$numbsrc { incr j { $ns duplex-link $S($j) $n2 10Mb $dly($j)ms DropTail $ns queue-limit $S($j) $n2 20 #Set Queue Size of link (n2-n3) to 100 $ns queue-limit $n2 $n3 64 #TCP Sources for {set j 1 {$j<=$numbsrc { incr j { set tcp_src($j) [new Agent/TCP/Reno] $tcp_src($j) set window_ 8000 #TCP Destinations for {set j 1 {$j<=$numbsrc { incr j { set tcp_snk($j) [new Agent/TCPSink] #Connections for {set j 1 {$j<=$numbsrc { incr j { $ns attach-agent $S($j) $tcp_src($j) $ns attach-agent $n3 $tcp_snk($j) $ns connect $tcp_src($j) $tcp_snk($j) #FTP sources for {set j 1 {$j<=$numbsrc { incr j { set ftp($j) [$tcp_src($j) attach-source FTP] #Parametrisation of TCP sources (8)
9 for {set j 1 {$j<=$numbsrc { incr j { $tcp_src($j) set packetsize_ 536 #Schedule events for the FTP agents: for {set i 1 {$i<=$numbsrc { incr i { $ns at $startt($i) "$ftp($i) start" $ns at $Duration "$ftp($i) stop" proc plotwindow {tcpsource file k { global ns NumbSrc set time 0.01 set now [$ns now] set cwnd [$tcpsource set cwnd_] if {$k == 1 { puts -nonewline $file "$now \t $cwnd \t" else { if {$k < $NumbSrc { puts -nonewline $file "$cwnd \t" if { $k == $NumbSrc { puts -nonewline $file "$cwnd \n" $ns at [expr $now+$time] "plotwindow $tcpsource $file $k" # The procedure will now be called for all tcp sources for {set j 1 {$j<=$numbsrc { incr j { $ns at 0.1 "plotwindow $tcp_src($j) $windowvstime $j" set qfile [$ns monitor-queue $n2 $n3 [open queue.tr w] 0.01] [$ns link $n2 $n3] queue-sample-timeout; $ns at [expr $Duration] "finish" $ns run Table 3.1: Simulated Drop tail TCL script for ns2 simulator [3] Note: The bold line indicates the modification we made for all the concerned parameters Considering the parameters, that we anticipated to be most effect on the degree of TCP synchronization, we ran four experiments in order to analyze their impact. First scenario, we fixed the number of connections and varied the buffer size from 256 KB, 512 KB to 1024 KB, and found out the relationship between the CWND for each connection with the relative buffer size. (Figure 3.1) In this case, each input delay path was set to 1 ms and input link capacity was 10 Mbps. Also, output link capacity is limited at 1 Mbps with 20 ms delay. After that, we increased the number of connection from 4, 8, 16 to 32 nodes. (Figure 3.2, 3.3, 3.4, and 3.5) (9)
10 Figure 3.2: CWND and Buffer graph consisting of 4 nodes with 256, 512, and 1024 buffer size (10)
11 Figure 3.3: CWND and Buffer graph consisting of 8 nodes with 256, 512, and 1024 buffer size. (11)
12 Figure 3.3: CWND and Buffer of 16 nodes with 256, 512, and 1024 buffer (12)
13 Figure 3.4: CWND and Buffer of 32 nodes with 256, 512, and 1024 buffer OBSERVATIONS: According to the above graphs, we can see that by increasing the number of connections or nodes; the connections still remain synchronized which is a result of all connections looking at congestion at the same time. As the buffer size is increased keeping the number of connections constant, the connections still remain synchronized. With increase in buffer size we don t see the queuing delay of the connections vary and also all connections look at the congestion at the same time. In order to verify that having varied initial delay (de-synchronization) does not impact the TCP behavior compared with having the same initial delay for each connection. Another experiment was setup by randomly varying the starting times which uniformly distributed between 0 and 7 sec. (Figure 3.5.1) It showed that when we ran the experiment for some period of time, TCP would behave like the way the same start up did (Figure 3.2) (13)
14 However, all later experiment setup would be based of the synchronization for start up delay. Figure 3.5: CWND and Buffer of 8 nodes with 256, 512, and 1024 buffer (initial desynchronization) Apart from the first scenario, in order to confirm that increasing the number of connections does not affect the degree of TCP synchronization. Another experiment was also set up by fixed buffer, 64 KB, and varied the number of connections from 4, 8, 16, and 32 nodes. (Figure 3.6) (14)
15 Figure 3.6: CWND and Buffer of 64 with 4, 8, 16, and 32 nodes Third scenario, we did experiment to find out the impact of link delay to TCP synchronization and Router buffer. (Figure 3.7) Input link delay is varied from 0.01, 0.1, 1, to 10 ms with fixing the number of connections to 8 nodes. Output link capacity is still limited at 1 Mbps with 20 ms delay. (15)
16 Figure 3.7: CWND and Buffer of 8 nodes with 0.01, 0.1, 1, and 1ms input link delay OBSERVATIONS: According to the above graphs, we can see that by varying the input link delay ; the connections still remain synchronized which is a result of all connections looking at congestion at the same time. This remains true as we increase the number of connections for the same scenario. (16)
17 Fourth scenario, in order to find the relationship of the effect between output link capacity and the degree of TCP synchronization, another experiment was also setup. (Figure 3.8) Output link capacity was varied from 0.01, 0.1, 1, to 10 Mbps with also fixed the number of connections to 8 nodes and 10 Mbps for each input link capacity and 1 ms link delay. Figure 3.8: CWND and Buffer of 8 nodes with 0.01, 0.1, 1, and 1Mbps output link capacity (17)
18 OBSERVATIONS: According to the above graphs,,we can see that by varying the output link capacity ; the connections still remain synchronized which is a result of all connections looking at congestion at the same time. This remains true as we increase the number of connections for the same scenario. 4. Description of the used of hosts and network path for software based router simulation In this simulation, Router based on Drop Tail Queue simulation was implemented with UDP simulated TCP behavior. In order to support MTU along the path, 548 bytes packet size was chosen to be 1 SMSS including 48 bytes header (sequence and acknowledge number and timestamp in both sending and acknowledge packet) from the client side. A text file, "INSTALL.B", was used to transfer among two hosts with file size 15,777,611 bytes. Figure 4.9: Network Design and Path setup for simulated Router simulation Because of the time and space constrains, we did experiment only to see the effect of buffer size and the number of connections with TCP synchronization and Router buffer behavior. We ran experiment on CEC lab (Washington University in St.Louis) with maximum 15 computers, one simulated router and one receiver. First scenario, we fixed the number of connection and varied the buffer size from 256 KB and 512 KB and find out the relationship between the CWND for each connection with the relative buffer size. (Figure 4.10, 4.11, and 4.12) Due to the real network, we could not control input delay; however, physical input link capacity was 100 Mbps, which all dedicated link connected to Cisco 6506 Switch; however, it was not the private network so it was possible to have a lot of cross traffic. Also, output link capacity was also 100 Mbps Ethernet shared with unknown delay. After that, we increased the number of (18)
19 connection from 4, 8, to 16 nodes. (x axis represents delivery time in second and y axis represents CWND size and Buffer size) Figure 4.10: CWND and Buffer of 4 nodes with 256 KB and 512 KB buffer Figure 4.11: CWND and Buffer of 8 nodes with 256 KB and 512 KB buffer (19)
20 Figure 4.12: CWND and Buffer of 16 nodes with 256 KB and 512 KB buffer OBSERVATIONS: According to the above graphs, the connections are completely desynchronized as we increase the number of connections and also when we increase the buffer size but even though the connections are completely desynchronized the buffer doesn t remain full all the time. There have also been losses when the buffer is not full. In fig 4.11 with 256 buffer size the effect of connections being completely desynchronized can be observed where one of the connections congestion window increases rapiadly and finishes the file transfer way ahead of time. 5. The experimental Observations 5.1 Ns2 simulation: The conclusion we can draw from the graphs which were generated from Ns2 simulation, is that by increasing number of connections, buffer size and varying output link capacity or input link delay; de-synchronization of tcp connections couldn t be achieved. The synchronization effect causes the oscillation in the buffer and hence doesn t keep the buffer always full. (20)
21 5.2 Simulated router simulation: When we ran the experiment in CEC network with cross traffic, we found that the result showed both the same and different TCP characteristics. First, connection s CWND size keeps increasing hence other connections loose a lot more packets when connections are in congestion avoidance mode. It may be because of de- synchronization effect. Second, percentage of buffer being full increases with number of connections. When buffer size is to be varied parameter, on decrease, many connections see the congestion and probability of the buffer being full is still high and on increase, fewer connections notice the congestion hence the buffer tends to be full. One interesting result we observed is not only the number of connections looking at congestion matter but also the CWND size of each connection which looks at the congestion matter when the connections are desynchronized. One more interesting result to be observed is that even with desynchronization of connections the buffer wasn t always full but this could be attributed to the nature of the router implementation. In this experiment we implemented the router in software and in software implementation the router faces problems of scheduling etc. 6. Conclusion The current belief is that because of tcp connections being completely synchronized the buffer is not always full or the link is not always full thus leading to under utilization of the resources. From our ns2 simulation we confirmed that the above statement is true for synchronized tcp connections. But, from our 2 nd experiment we learnt that de synchronization of tcp connections is not sufficient in keeping the buffer full or completely utilizing the resources( Reasons being- CWND size of each connection which looks at the congestion matter when the connections are de-synchronized ). We have also seen that the parameters like number of connections & buffer size effect for desynchronized connection but not for synchronized connections. The effects being more utilization of the buffer or the output link. 7.Future Work One of our observation has been the oscillation in the buffer graph (ns2 simulation) which results in underutilization of the resources. To solve this problem our hypotheses is, when connections are synchronized, if they can remember the first point of congestion then during the congestion avoidance mode before they hit the previous point of congestion they can query the router before they increase the congestion window size. By dong this we might be able to utilize the resources completely. (21)
22 8. Reference [1] Dan Rubenstein, Active Queue Mgmt Fairness Inference, Online available: [2] Bob Kinicki, Random Early Detection Gateways for Congestion Avoidance, Online available: [3] Eitan Altman and Tania Jimenez, NS Simulator for beginners, Univ. de Los Andes, Merida, Sophia-Antipolis, France, December [4] Srinivasan Seshan, More TCP & Congestion Control, Online available: www-2.cs.cmu.edu/~srini/ /S05/lectures/18-tcpdetails.ppt. [5] RFC 793, "Transmission Control Protocol". [6] RFC 2581, "TCP Congestion Control". [7] Kevin Fall and Sally Floyd, "Simulation-based Comparisons of Tahoe, Reno, and SACK TCP". (22)
The Transport Control Protocol (TCP)
TNK092: Network Simulation - Nätverkssimulering Lecture 3: TCP, and random/short sessions Vangelis Angelakis Ph.D. The Transport Control Protocol (TCP) Objectives of TCP and flow control Create a reliable
More informationTCP Congestion Control in Wired and Wireless networks
TCP Congestion Control in Wired and Wireless networks Mohamadreza Najiminaini (mna28@cs.sfu.ca) Term Project ENSC 835 Spring 2008 Supervised by Dr. Ljiljana Trajkovic School of Engineering and Science
More informationimage 3.8 KB Figure 1.6: Example Web Page
image. KB image 1 KB Figure 1.: Example Web Page and is buffered at a router, it must wait for all previously queued packets to be transmitted first. The longer the queue (i.e., the more packets in the
More informationPERFORMANCE COMPARISON OF THE DIFFERENT STREAMS IN A TCP BOTTLENECK LINK IN THE PRESENCE OF BACKGROUND TRAFFIC IN A DATA CENTER
PERFORMANCE COMPARISON OF THE DIFFERENT STREAMS IN A TCP BOTTLENECK LINK IN THE PRESENCE OF BACKGROUND TRAFFIC IN A DATA CENTER Vilma Tomço, 1 Aleksandër Xhuvani 2 Abstract: The purpose of this work is
More informationOverview. TCP & router queuing Computer Networking. TCP details. Workloads. TCP Performance. TCP Performance. Lecture 10 TCP & Routers
Overview 15-441 Computer Networking TCP & router queuing Lecture 10 TCP & Routers TCP details Workloads Lecture 10: 09-30-2002 2 TCP Performance TCP Performance Can TCP saturate a link? Congestion control
More informationInternet Networking recitation #10 TCP New Reno Vs. Reno
recitation #0 TCP New Reno Vs. Reno Spring Semester 200, Dept. of Computer Science, Technion 2 Introduction Packet Loss Management TCP Reno (RFC 258) can manage a loss of at most one packet from a single
More informationTransmission Control Protocol. ITS 413 Internet Technologies and Applications
Transmission Control Protocol ITS 413 Internet Technologies and Applications Contents Overview of TCP (Review) TCP and Congestion Control The Causes of Congestion Approaches to Congestion Control TCP Congestion
More informationTCP Congestion Control
TCP Congestion Control What is Congestion The number of packets transmitted on the network is greater than the capacity of the network Causes router buffers (finite size) to fill up packets start getting
More informationTCP Congestion Control
What is Congestion TCP Congestion Control The number of packets transmitted on the network is greater than the capacity of the network Causes router buffers (finite size) to fill up packets start getting
More informationFast Retransmit. Problem: coarsegrain. timeouts lead to idle periods Fast retransmit: use duplicate ACKs to trigger retransmission
Fast Retransmit Problem: coarsegrain TCP timeouts lead to idle periods Fast retransmit: use duplicate ACKs to trigger retransmission Packet 1 Packet 2 Packet 3 Packet 4 Packet 5 Packet 6 Sender Receiver
More informationCongestion Control In The Internet Part 2: How it is implemented in TCP. JY Le Boudec 2014
1 Congestion Control In The Internet Part 2: How it is implemented in TCP JY Le Boudec 2014 Contents 1. Congestion control in TCP 2. The fairness of TCP 3. The loss throughput formula 4. Explicit Congestion
More informationCS321: Computer Networks Congestion Control in TCP
CS321: Computer Networks Congestion Control in TCP Dr. Manas Khatua Assistant Professor Dept. of CSE IIT Jodhpur E-mail: manaskhatua@iitj.ac.in Causes and Cost of Congestion Scenario-1: Two Senders, a
More information8. TCP Congestion Control
8. TCP Congestion Control 1 TCP Congestion Control Slow-start increase Multiplicative decrease Congestion avoidance Measurement of variation Exponential timer backoff 2002 Yanghee Choi 2 Congestion Control
More informationCongestion Control In The Internet Part 2: How it is implemented in TCP. JY Le Boudec 2014
1 Congestion Control In The Internet Part 2: How it is implemented in TCP JY Le Boudec 2014 Contents 1. Congestion control in TCP 2. The fairness of TCP 3. The loss throughput formula 4. Explicit Congestion
More informationCongestion Control In The Internet Part 2: How it is implemented in TCP. JY Le Boudec 2015
1 Congestion Control In The Internet Part 2: How it is implemented in TCP JY Le Boudec 2015 Contents 1. Congestion control in TCP 2. The fairness of TCP 3. The loss throughput formula 4. Explicit Congestion
More informationPerformance Analysis of TCP Variants
102 Performance Analysis of TCP Variants Abhishek Sawarkar Northeastern University, MA 02115 Himanshu Saraswat PES MCOE,Pune-411005 Abstract The widely used TCP protocol was developed to provide reliable
More informationPage 1. Review: Internet Protocol Stack. Transport Layer Services. Design Issue EEC173B/ECS152C. Review: TCP
EEC7B/ECS5C Review: Internet Protocol Stack Review: TCP Application Telnet FTP HTTP Transport Network Link Physical bits on wire TCP LAN IP UDP Packet radio Transport Layer Services Design Issue Underlying
More informationCongestion Control End Hosts. CSE 561 Lecture 7, Spring David Wetherall. How fast should the sender transmit data?
Congestion Control End Hosts CSE 51 Lecture 7, Spring. David Wetherall Today s question How fast should the sender transmit data? Not tooslow Not toofast Just right Should not be faster than the receiver
More informationTransport Layer PREPARED BY AHMED ABDEL-RAOUF
Transport Layer PREPARED BY AHMED ABDEL-RAOUF TCP Flow Control TCP Flow Control 32 bits source port # dest port # head len sequence number acknowledgement number not used U A P R S F checksum Receive window
More informationENRICHMENT OF SACK TCP PERFORMANCE BY DELAYING FAST RECOVERY Mr. R. D. Mehta 1, Dr. C. H. Vithalani 2, Dr. N. N. Jani 3
Research Article ENRICHMENT OF SACK TCP PERFORMANCE BY DELAYING FAST RECOVERY Mr. R. D. Mehta 1, Dr. C. H. Vithalani 2, Dr. N. N. Jani 3 Address for Correspondence 1 Asst. Professor, Department of Electronics
More informationBandwidth Allocation & TCP
Bandwidth Allocation & TCP The Transport Layer Focus Application Presentation How do we share bandwidth? Session Topics Transport Network Congestion control & fairness Data Link TCP Additive Increase/Multiplicative
More informationPage 1. Review: Internet Protocol Stack. Transport Layer Services EEC173B/ECS152C. Review: TCP. Transport Layer: Connectionless Service
EEC7B/ECS5C Review: Internet Protocol Stack Review: TCP Application Telnet FTP HTTP Transport Network Link Physical bits on wire TCP LAN IP UDP Packet radio Do you remember the various mechanisms we have
More informationChapter 6. What happens at the Transport Layer? Services provided Transport protocols UDP TCP Flow control Congestion control
Chapter 6 What happens at the Transport Layer? Services provided Transport protocols UDP TCP Flow control Congestion control OSI Model Hybrid Model Software outside the operating system Software inside
More informationAdvanced Computer Networks
Advanced Computer Networks Congestion control in TCP Contents Principles TCP congestion control states Congestion Fast Recovery TCP friendly applications Prof. Andrzej Duda duda@imag.fr http://duda.imag.fr
More informationCS519: Computer Networks. Lecture 5, Part 4: Mar 29, 2004 Transport: TCP congestion control
: Computer Networks Lecture 5, Part 4: Mar 29, 2004 Transport: TCP congestion control TCP performance We ve seen how TCP the protocol works Sequencing, receive window, connection setup and teardown And
More informationOutline Computer Networking. TCP slow start. TCP modeling. TCP details AIMD. Congestion Avoidance. Lecture 18 TCP Performance Peter Steenkiste
Outline 15-441 Computer Networking Lecture 18 TCP Performance Peter Steenkiste Fall 2010 www.cs.cmu.edu/~prs/15-441-f10 TCP congestion avoidance TCP slow start TCP modeling TCP details 2 AIMD Distributed,
More informationRecap. TCP connection setup/teardown Sliding window, flow control Retransmission timeouts Fairness, max-min fairness AIMD achieves max-min fairness
Recap TCP connection setup/teardown Sliding window, flow control Retransmission timeouts Fairness, max-min fairness AIMD achieves max-min fairness 81 Feedback Signals Several possible signals, with different
More informationAdvanced Computer Networks
Advanced Computer Networks Congestion control in TCP Prof. Andrzej Duda duda@imag.fr http://duda.imag.fr 1 Contents Principles TCP congestion control states Slow Start Congestion Avoidance Fast Recovery
More informationAn Issue in NewReno After Fast Recovery. Yoshifumi Nishida
An Issue in NewReno After Fast Recovery Yoshifumi Nishida nishida@dyyno.com RFC3782 Definition Definition of Fast Retransmit and Fast Recovery Algorithm (Step 5 of fast retransmit fast recovery) When a
More informationcs/ee 143 Communication Networks
cs/ee 143 Communication Networks Chapter 4 Transport Text: Walrand & Parakh, 2010 Steven Low CMS, EE, Caltech Recap: Internet overview Some basic mechanisms n Packet switching n Addressing n Routing o
More informationCommunication Networks
Communication Networks Spring 2018 Laurent Vanbever nsg.ee.ethz.ch ETH Zürich (D-ITET) April 30 2018 Materials inspired from Scott Shenker & Jennifer Rexford Last week on Communication Networks We started
More informationEE122 MIDTERM EXAM: Scott Shenker, Ion Stoica
EE MITERM EXM: 00-0- Scott Shenker, Ion Stoica Last name Student I First name Login: ee- Please circle the last two letters of your login. a b c d e f g h i j k l m n o p q r s t u v w x y z a b c d e
More informationADVANCED COMPUTER NETWORKS
ADVANCED COMPUTER NETWORKS Congestion Control and Avoidance 1 Lecture-6 Instructor : Mazhar Hussain CONGESTION CONTROL When one part of the subnet (e.g. one or more routers in an area) becomes overloaded,
More informationNetworked Systems and Services, Fall 2018 Chapter 3
Networked Systems and Services, Fall 2018 Chapter 3 Jussi Kangasharju Markku Kojo Lea Kutvonen 4. Transport Layer Reliability with TCP Transmission Control Protocol (TCP) RFC 793 + more than hundred other
More informationNetworked Systems and Services, Fall 2017 Reliability with TCP
Networked Systems and Services, Fall 2017 Reliability with TCP Jussi Kangasharju Markku Kojo Lea Kutvonen 4. Transmission Control Protocol (TCP) RFC 793 + more than hundred other RFCs TCP Loss Recovery
More informationRED behavior with different packet sizes
RED behavior with different packet sizes Stefaan De Cnodder, Omar Elloumi *, Kenny Pauwels Traffic and Routing Technologies project Alcatel Corporate Research Center, Francis Wellesplein, 1-18 Antwerp,
More informationTCP Congestion Control
6.033, Spring 2014 TCP Congestion Control Dina Katabi & Sam Madden nms.csail.mit.edu/~dina Sharing the Internet How do you manage resources in a huge system like the Internet, where users with different
More informationEECS 122, Lecture 19. Reliable Delivery. An Example. Improving over Stop & Wait. Picture of Go-back-n/Sliding Window. Send Window Maintenance
EECS 122, Lecture 19 Today s Topics: More on Reliable Delivery Round-Trip Timing Flow Control Intro to Congestion Control Kevin Fall, kfall@cs cs.berkeley.eduedu Reliable Delivery Stop and Wait simple
More informationChapter III. congestion situation in Highspeed Networks
Chapter III Proposed model for improving the congestion situation in Highspeed Networks TCP has been the most used transport protocol for the Internet for over two decades. The scale of the Internet and
More informationInvestigating the Use of Synchronized Clocks in TCP Congestion Control
Investigating the Use of Synchronized Clocks in TCP Congestion Control Michele Weigle Dissertation Defense May 14, 2003 Advisor: Kevin Jeffay Research Question Can the use of exact timing information improve
More informationCongestion Control In The Internet Part 2: How it is implemented in TCP. JY Le Boudec 2015
Congestion Control In The Internet Part 2: How it is implemented in TCP JY Le Boudec 2015 1 Contents 1. Congestion control in TCP 2. The fairness of TCP 3. The loss throughput formula 4. Explicit Congestion
More informationTCP Performance. EE 122: Intro to Communication Networks. Fall 2006 (MW 4-5:30 in Donner 155) Vern Paxson TAs: Dilip Antony Joseph and Sukun Kim
TCP Performance EE 122: Intro to Communication Networks Fall 2006 (MW 4-5:30 in Donner 155) Vern Paxson TAs: Dilip Antony Joseph and Sukun Kim http://inst.eecs.berkeley.edu/~ee122/ Materials with thanks
More informationInvestigating the Use of Synchronized Clocks in TCP Congestion Control
Investigating the Use of Synchronized Clocks in TCP Congestion Control Michele Weigle (UNC-CH) November 16-17, 2001 Univ. of Maryland Symposium The Problem TCP Reno congestion control reacts only to packet
More informationStudying Fairness of TCP Variants and UDP Traffic
Studying Fairness of TCP Variants and UDP Traffic Election Reddy B.Krishna Chaitanya Problem Definition: To study the fairness of TCP variants and UDP, when sharing a common link. To do so we conduct various
More informationCongestion Collapse in the 1980s
Congestion Collapse Congestion Collapse in the 1980s Early TCP used fixed size window (e.g., 8 packets) Initially fine for reliability But something happened as the ARPANET grew Links stayed busy but transfer
More informationFlow and Congestion Control Marcos Vieira
Flow and Congestion Control 2014 Marcos Vieira Flow Control Part of TCP specification (even before 1988) Goal: not send more data than the receiver can handle Sliding window protocol Receiver uses window
More informationSimple Data Link Protocols
Simple Data Link Protocols Goals 1) Become familiar with Network Simulator 2 2) Simulate Stop & wait and Sliding Window 3) Investigate the effect of channel with loss on link utilization Introduction Data
More informationFall 2012: FCM 708 Bridge Foundation I
Fall 2012: FCM 708 Bridge Foundation I Prof. Shamik Sengupta Instructor s Website: http://jjcweb.jjay.cuny.edu/ssengupta/ Blackboard Website: https://bbhosted.cuny.edu/ Intro to Computer Networking Transport
More informationHybrid Control and Switched Systems. Lecture #17 Hybrid Systems Modeling of Communication Networks
Hybrid Control and Switched Systems Lecture #17 Hybrid Systems Modeling of Communication Networks João P. Hespanha University of California at Santa Barbara Motivation Why model network traffic? to validate
More informationCS 349/449 Internet Protocols Final Exam Winter /15/2003. Name: Course:
CS 349/449 Internet Protocols Final Exam Winter 2003 12/15/2003 Name: Course: Instructions: 1. You have 2 hours to finish 2. Question 9 is only for 449 students 3. Closed books, closed notes. Write all
More informationLecture 14: Congestion Control"
Lecture 14: Congestion Control" CSE 222A: Computer Communication Networks George Porter Thanks: Amin Vahdat, Dina Katabi and Alex C. Snoeren Lecture 14 Overview" TCP congestion control review Dukkipati
More informationTCP Congestion Control in Wired and Wireless Networks
TCP Congestion Control in Wired and Wireless Networks ENCS 835 Course Project Spring 2008 April 7, 2008 Presented by: Mohamadreza Najiminaini Professor: Ljiljana Trajkovic 4/16/2008 1 Roadmap Introduction
More informationTCP congestion control:
TCP congestion control: Probing for usable bandwidth: Ideally: transmit as fast as possible (cwnd as large as possible) without loss Increase cwnd until loss (congestion) Loss: decrease cwnd, then begin
More informationTCP Congestion Control : Computer Networking. Introduction to TCP. Key Things You Should Know Already. Congestion Control RED
TCP Congestion Control 15-744: Computer Networking L-4 TCP Congestion Control RED Assigned Reading [FJ93] Random Early Detection Gateways for Congestion Avoidance [TFRC] Equation-Based Congestion Control
More informationCS 5520/ECE 5590NA: Network Architecture I Spring Lecture 13: UDP and TCP
CS 5520/ECE 5590NA: Network Architecture I Spring 2008 Lecture 13: UDP and TCP Most recent lectures discussed mechanisms to make better use of the IP address space, Internet control messages, and layering
More informationCongestion / Flow Control in TCP
Congestion and Flow Control in 1 Flow Control and Congestion Control Flow control Sender avoids overflow of receiver buffer Congestion control All senders avoid overflow of intermediate network buffers
More informationComputer Networking Introduction
Computer Networking Introduction Halgurd S. Maghdid Software Engineering Department Koya University-Koya, Kurdistan-Iraq Lecture No.11 Chapter 3 outline 3.1 transport-layer services 3.2 multiplexing and
More informationUNIT IV -- TRANSPORT LAYER
UNIT IV -- TRANSPORT LAYER TABLE OF CONTENTS 4.1. Transport layer. 02 4.2. Reliable delivery service. 03 4.3. Congestion control. 05 4.4. Connection establishment.. 07 4.5. Flow control 09 4.6. Transmission
More information1 What is network simulation and how can it be useful?
CESNET Technical Report 26/2003 Experience with using simulations for congestion control research Sven Ubik, ubik@cesnet.cz Jan Klaban, xklaban@quick.cz December 5, 2003 Abstract As part of the CESNET
More informationTransport layer. UDP: User Datagram Protocol [RFC 768] Review principles: Instantiation in the Internet UDP TCP
Transport layer Review principles: Reliable data transfer Flow control Congestion control Instantiation in the Internet UDP TCP 1 UDP: User Datagram Protocol [RFC 768] No frills, bare bones Internet transport
More informationTCP based Receiver Assistant Congestion Control
International Conference on Multidisciplinary Research & Practice P a g e 219 TCP based Receiver Assistant Congestion Control Hardik K. Molia Master of Computer Engineering, Department of Computer Engineering
More informationTransport layer. Review principles: Instantiation in the Internet UDP TCP. Reliable data transfer Flow control Congestion control
Transport layer Review principles: Reliable data transfer Flow control Congestion control Instantiation in the Internet UDP TCP 1 UDP: User Datagram Protocol [RFC 768] No frills, bare bones Internet transport
More informationCongestion. Can t sustain input rate > output rate Issues: - Avoid congestion - Control congestion - Prioritize who gets limited resources
Congestion Source 1 Source 2 10-Mbps Ethernet 100-Mbps FDDI Router 1.5-Mbps T1 link Destination Can t sustain input rate > output rate Issues: - Avoid congestion - Control congestion - Prioritize who gets
More informationPerformance Consequences of Partial RED Deployment
Performance Consequences of Partial RED Deployment Brian Bowers and Nathan C. Burnett CS740 - Advanced Networks University of Wisconsin - Madison ABSTRACT The Internet is slowly adopting routers utilizing
More informationTransport Layer (Congestion Control)
Transport Layer (Congestion Control) Where we are in the Course Moving on up to the Transport Layer! Application Transport Network Link Physical CSE 461 University of Washington 2 Congestion Collapse Congestion
More informationOutline. CS5984 Mobile Computing
CS5984 Mobile Computing Dr. Ayman Abdel-Hamid Computer Science Department Virginia Tech Outline Review Transmission Control Protocol (TCP) Based on Behrouz Forouzan, Data Communications and Networking,
More informationReport on Transport Protocols over Mismatched-rate Layer-1 Circuits with 802.3x Flow Control
Report on Transport Protocols over Mismatched-rate Layer-1 Circuits with 82.3x Flow Control Helali Bhuiyan, Mark McGinley, Tao Li, Malathi Veeraraghavan University of Virginia Email: {helali, mem5qf, taoli,
More informationCSE 123A Computer Networks
CSE 123A Computer Networks Winter 2005 Lecture 14 Congestion Control Some images courtesy David Wetherall Animations by Nick McKeown and Guido Appenzeller The bad news and the good news The bad news: new
More informationCongestion Control 3/16/09
Congestion Control Outline Resource Allocation Queuing TCP Congestion Control Spring 009 CSE3064 Issues Two sides of the same coin pre-allocate resources so at to avoid congestion control congestion if
More informationCSE/EE 461 Lecture 16 TCP Congestion Control. TCP Congestion Control
CSE/EE Lecture TCP Congestion Control Tom Anderson tom@cs.washington.edu Peterson, Chapter TCP Congestion Control Goal: efficiently and fairly allocate network bandwidth Robust RTT estimation Additive
More informationPerformance Evaluation of TCP Westwood. Summary
Summary This project looks at a fairly new Transmission Control Protocol flavour, TCP Westwood and aims to investigate how this flavour of TCP differs from other flavours of the protocol, especially TCP
More informationTCP. CSU CS557, Spring 2018 Instructor: Lorenzo De Carli (Slides by Christos Papadopoulos, remixed by Lorenzo De Carli)
TCP CSU CS557, Spring 2018 Instructor: Lorenzo De Carli (Slides by Christos Papadopoulos, remixed by Lorenzo De Carli) 1 Sources Fall and Stevens, TCP/IP Illustrated Vol. 1, 2nd edition Congestion Avoidance
More informationUNIVERSITY OF NAIROBI STABILITY OF TCP/IP PROTOCOLS
UNIVERSITY OF NAIROBI STABILITY OF TCP/IP PROTOCOLS PROJECT INDEX: PRJ 148 BY NAME: NJERU PATRICK MAGOCHI REG. NO: F17/1360/2010 SUPERVISOR: DR. G.S. ODHIAMBO EXAMINER: PROF. V.K. ODUOL Project report
More informationSimulation-based Comparisons of Tahoe, Reno, and SACK TCP
Simulation-based Comparisons of Tahoe, Reno, and SACK TCP Kevin Fall and Sally Floyd Lawrence Berkeley National Laboratory One Cyclotron Road, Berkeley, CA 94720 kfall@eelblgov, floyd@eelblgov Abstract
More informationCMSC 417. Computer Networks Prof. Ashok K Agrawala Ashok Agrawala. October 30, 2018
CMSC 417 Computer Networks Prof. Ashok K Agrawala 2018 Ashok Agrawala October 30, 2018 Message, Segment, Packet, and Frame host host HTTP HTTP message HTTP TCP TCP segment TCP router router IP IP packet
More informationTCP Review. Carey Williamson Department of Computer Science University of Calgary Winter 2018
TCP Review Carey Williamson Department of Computer Science University of Calgary Winter 2018 Credit: Much of this content came courtesy of Erich Nahum (IBM Research) The TCP Protocol Connection-oriented,
More informationEnhancing TCP Throughput over Lossy Links Using ECN-Capable Capable RED Gateways
Enhancing TCP Throughput over Lossy Links Using ECN-Capable Capable RED Gateways Haowei Bai Honeywell Aerospace Mohammed Atiquzzaman School of Computer Science University of Oklahoma 1 Outline Introduction
More informationBrief Overview and Background
Brief Overview and Background In this assignment you will be studying the performance behavior of TCP, using ns 2. At the end of this exercise, you should be able to write simple scripts in ns 2 as well
More informationA Survey on Quality of Service and Congestion Control
A Survey on Quality of Service and Congestion Control Ashima Amity University Noida, U.P, India batra_ashima@yahoo.co.in Sanjeev Thakur Amity University Noida, U.P, India sthakur.ascs@amity.edu Abhishek
More informationTransport Protocols and TCP: Review
Transport Protocols and TCP: Review CSE 6590 Fall 2010 Department of Computer Science & Engineering York University 1 19 September 2010 1 Connection Establishment and Termination 2 2 1 Connection Establishment
More informationCSE 473 Introduction to Computer Networks. Midterm Exam Review
CSE 473 Introduction to Computer Networks Midterm Exam Review John DeHart 10/12/2015 1. (10 points). A user in Chicago, connected to the internet via a 100 Mb/s (b=bits) connection retrieves a 250 KB (B=bytes)
More informationSimulations: ns2 simulator part I a
Simulations: ns2 simulator part I a Lecturer: Dmitri A. Moltchanov E-mail: moltchan@cs.tut.fi http://www.cs.tut.fi/ moltchan/modsim/ a Based on: Eitan Altman and Tania Jimenez NS Simulator for Beginners,...
More informationTransport Layer. -UDP (User Datagram Protocol) -TCP (Transport Control Protocol)
Transport Layer -UDP (User Datagram Protocol) -TCP (Transport Control Protocol) 1 Transport Services The transport layer has the duty to set up logical connections between two applications running on remote
More informationOverview. TCP congestion control Computer Networking. TCP modern loss recovery. TCP modeling. TCP Congestion Control AIMD
Overview 15-441 Computer Networking Lecture 9 More TCP & Congestion Control TCP congestion control TCP modern loss recovery TCP modeling Lecture 9: 09-25-2002 2 TCP Congestion Control Changes to TCP motivated
More informationCongestion control in TCP
Congestion control in TCP If the transport entities on many machines send too many packets into the network too quickly, the network will become congested, with performance degraded as packets are delayed
More informationTransport Protocols & TCP TCP
Transport Protocols & TCP CSE 3213 Fall 2007 13 November 2007 1 TCP Services Flow control Connection establishment and termination Congestion control 2 1 TCP Services Transmission Control Protocol (RFC
More informationCSCI-1680 Transport Layer II Data over TCP Rodrigo Fonseca
CSCI-1680 Transport Layer II Data over TCP Rodrigo Fonseca Based partly on lecture notes by David Mazières, Phil Levis, John Janno< Last Class CLOSED Passive open Close Close LISTEN Introduction to TCP
More informationMEASURING PERFORMANCE OF VARIANTS OF TCP CONGESTION CONTROL PROTOCOLS
MEASURING PERFORMANCE OF VARIANTS OF TCP CONGESTION CONTROL PROTOCOLS Harjinder Kaur CSE, GZSCCET, Dabwali Road, Bathinda, Punjab, India, sidhuharryab@gmail.com Gurpreet Singh Abstract CSE, GZSCCET, Dabwali
More informationWireless TCP Performance Issues
Wireless TCP Performance Issues Issues, transport layer protocols Set up and maintain end-to-end connections Reliable end-to-end delivery of data Flow control Congestion control Udp? Assume TCP for the
More informationIJSRD - International Journal for Scientific Research & Development Vol. 2, Issue 03, 2014 ISSN (online):
IJSRD - International Journal for Scientific Research & Development Vol. 2, Issue 03, 2014 ISSN (online): 2321-0613 Performance Evaluation of TCP in the Presence of in Heterogeneous Networks by using Network
More informationTransmission Control Protocol (TCP)
TETCOS Transmission Control Protocol (TCP) Comparison of TCP Congestion Control Algorithms using NetSim @2017 Tetcos. This document is protected by copyright, all rights reserved Table of Contents 1. Abstract....
More informationDocuments. Configuration. Important Dependent Parameters (Approximate) Version 2.3 (Wed, Dec 1, 2010, 1225 hours)
1 of 7 12/2/2010 11:31 AM Version 2.3 (Wed, Dec 1, 2010, 1225 hours) Notation And Abbreviations preliminaries TCP Experiment 2 TCP Experiment 1 Remarks How To Design A TCP Experiment KB (KiloBytes = 1,000
More informationAppendix B. Standards-Track TCP Evaluation
215 Appendix B Standards-Track TCP Evaluation In this appendix, I present the results of a study of standards-track TCP error recovery and queue management mechanisms. I consider standards-track TCP error
More information15-441: Computer Networks Homework 3
15-441: Computer Networks Homework 3 Assigned: Oct 29, 2013 Due: Nov 12, 2013 1:30 PM in class Name: Andrew ID: 1 TCP 1. Suppose an established TCP connection exists between sockets A and B. A third party,
More informationTCP Congestion Control
1 TCP Congestion Control Onwutalobi, Anthony Claret Department of Computer Science University of Helsinki, Helsinki Finland onwutalo@cs.helsinki.fi Abstract This paper is aimed to discuss congestion control
More informationComputer Communication Networks Midterm Review
Computer Communication Networks Midterm Review ICEN/ICSI 416 Fall 2018 Prof. Aveek Dutta 1 Instructions The exam is closed book, notes, computers, phones. You can use calculator, but not one from your
More informationCS CS COMPUTER NETWORKS CS CS CHAPTER 6. CHAPTER 6 Congestion Control
COMPUTER NETWORKS CS 45201 CS 55201 CHAPTER 6 Congestion Control COMPUTER NETWORKS CS 45201 CS 55201 CHAPTER 6 Congestion Control P. Farrell and H. Peyravi Department of Computer Science Kent State University
More informationCSE 473 Introduction to Computer Networks. Exam 2. Your name here: 11/7/2012
CSE 473 Introduction to Computer Networks Jon Turner Exam 2 Your name here: 11/7/2012 1. (10 points). The diagram at right shows a DHT with 16 nodes. Each node is labeled with the first value in its range
More informationLecture 15: Transport Layer Congestion Control
Lecture 15: Transport Layer Congestion Control COMP 332, Spring 2018 Victoria Manfredi Acknowledgements: materials adapted from Computer Networking: A Top Down Approach 7 th edition: 1996-2016, J.F Kurose
More informationTCP/IP-2. Transmission control protocol:
TCP/IP-2 Transmission control protocol: TCP and IP are the workhorses in the Internet. In this section we first discuss how TCP provides reliable, connectionoriented stream service over IP. To do so, TCP
More information