Documents. Configuration. Important Dependent Parameters (Approximate) Version 2.3 (Wed, Dec 1, 2010, 1225 hours)
|
|
- Mavis Craig
- 6 years ago
- Views:
Transcription
1 1 of 7 12/2/ :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 bytes)... Note: this is non-standard since normally K means 1,024 when referring to size Kb (Kilobits = 1,000 bits) Kbps (Kilobits per second = 1,000 bits per second) Kpps (Kilopackets per second = 1,000 packets per second MB, Mb, Mbps where M stands for Mega (1,000,000) msec (millisecond = sec) pkts (packets) cwnd (TCP's congestion window size) ~= (approximately equal to) Documents Lab 3 Lab 3 Experiment File Raphael's Lab 3 Notes Configuration Mbps n1p2 ----> > > n2p2 q q64 thresh = 10 MB Important Dependent Parameters (Approximate) Some of these parameters are used in doing a back-of-the-envelope prediction of how the TCP flow will
2 2 of 7 12/2/ :31 AM behave. Assume Packet length ~= 1500 bytes = 1.5 KB TCP New Reno with SACK Auto send buffer tuning is turned off because iperf -w calls setsocketopt(sndbuf) which turns off auto send buffer tuning Bottleneck Rate = 1 Kpps = 12 Mbps = 12 Mbps / (12 Kb/pkt) = 1 Kpps since each pkt is 1.5 KB or 12,000 bits. Bottleneck Transmission Delay = 1 msec = length/(transmission rate) = 1 pkt / (1 Kpps) = 1 msec Propagation Delay ~= 0 msec Since there is no delay plugin along the pkt path, there is negligible propagation delay. Maximum Queue Length = 20/3 Kpkts = 10 MB = 10 MB / (1.5 KB/pkt) = 20/3 Kpkts Maximum Queueing Delay = 20/3 sec = max queue length / transmission rate = ( 20/3 Kpts ) / 1 Kpps = 20/3 sec This is also the time it would take to completely drain a full queue at the end of the flow. 20-sec Transmission Volume = 30 MB The iperf transmission period is 20 sec. If the bottleneck is continuously backlogged for 20 sec and the sender transmits 1 packet for each ACK, it will transmit: = 1 Kpps x 20 sec = 20 K pkts = 20 K pkts x (1.5 KB/pkt) = 30 MB During the 20-sec iperf transmission period, it may transmit at a higher rate than the bottleck until it detects a packet drop. Back-Of-The-Envelope Calculations Assume normal TCP behavior which means it goes through the following phases: slow-start with cwnd doubling every RTT ending in pkt drops cwnd' = cwnd/2 (congestion window halved)
3 3 of 7 12/2/ :31 AM congestion avoidance with fast-retransmit-fast-recovery Round X Slow-Start Duration = 2^X msec Slow-start goes through N rounds sending 2^X pkts in round X where X starts at 0. The last pkt in round X must wait for the 2^X pkts in front of it at the bottleneck queue and then spend 1 msec in transmission. Since the bottleneck transmission delay is 1 msec, the last pkt in round X spends 2^X msec at the bottleneck. The 2-way propagation delay is 0 msec. Note that the sender is sending packets in round X while the bottleneck is transmitting packets from round X-1. Round X Sender Transmission Rate = 2 Kpps = (Number of pkts transmitted) / (Round X-1 duration) = 2^X / (2^(X-1) msec) = 2 Kpps This is expected during slow-start since cwnd is incremented for each ACK allowing the sender to send out 2 packets for each ACK it receives; i.e., ACKs arrive to the sender at a rate of 1 Kpps, the transmission rate of the bottleneck. Since the sender sends out 2 packets for each ACK it receives during slow-start, its sending rate will be 2 Kpps. Queueing Rate = 1 Kpps = (Input Rate) - (Bottleneck Rate) = 2 Kpps - 1 Kpps = 1 Kpps Maximum Slow-Start Duration For 10 MB Queue ~= 6.7 sec The sender is continuously sending during slow-start because there is no propagation delay. So, the duration of the slow-start period is: = Kpkts / (1 Kpps) = 6.7 sec Backlogged Packet Drop Rate = 0.5 As soon as the queue is full, every other arriving packet will be dropped since the sender is sending at 2 Kpps and the bottleneck is draining at only 1 Kpps. ACK Rate = 0.38, 0.45, or 0.51 Mbps The ACK packet rate during slow-start is the same as the bottleneck packet rate; i.e., 1 Kpps. The minimum ACK packet has a timestamp in the TCP options portion. If there are SACK blocks then add 8 bytes for each SACK block. Since typically there is a timestamp and n SACK blocks, the ACK packet length is (48+8n) bytes where n is 0, 1 or 2: 20 bytes of IP header, 20 bytes of TCP header, and 8+8n bytes of TCP options. So, the ACK rate in Mbps will be:
4 4 of 7 12/2/ :31 AM = ( (SACK pkt len)/(data pkt len) ) (Bottleneck transmission rate) = ((48+8n)/1500) 12 Mbps, n = 0, 1, 2 = 0.64 Mbps = 0.38 Mbps, 0.45 Mbps, or 0.51 Mbps for n = 0, 1, 2 respectively. We cover Experiment 2 first since the size of the sender's send buffer (10 MB = 20/3 Kpkts) allows slow-start to continue to double cwnd until the first packet drop. The figures show most of the expected behavior: Bandwidth RXBYTE 1.2 has 3 regions (2 sec): Part 1 of slow-start in which the sender sends at 24 Mbps (= 2 Kpps) as expected (4 sec): Part 2 of slow-start ending with packet drops in which the sender sends at 18 Mbps (= 1.5 Kpps). The sender slows down during this period since the ACKs come back at half the rate that it initially did. Warning: It's not clear why the ACK rate decreases during this period (19 sec): Congestion avoidance (4 sec): Bottleneck queue drains with no arrivals RXBYTE 2.1 is a constant 12 Mbps (the bottleneck rate), and lasts 4 sec longer than the transmission rate curve. The 4 sec is expected since the queue length is 6.5 MB (see Queue Length below) or about 4.3 Kpkts; since the drain rate is 1 Kpps, it should take about 4.3 sec to drain the last part of the queue. The RXBYTE 2.1 chart shows 12 Mbps and lasts for 4 sec longer than the RXBYTE 1.2 chart. The bottleneck queue is draining with no arrivals during this period. A 6.5 MB (= 13/3 Kpkts) queue should drain in 13/3 sec since the drain rate is 1 Kpps. ACK Rate The rate is about 0.4 Mbps for the first two seconds. It appears that there is one SACK block in the TCP options field. The rate is about 0.2 Mbps for the remainder of the flow. I'm not sure what is causing this throttling. This may be due to the receiver sending 1 ACK for every other packet received. But this wouldn't explain why the sending rate backs off from 24 Mbps to 18 Mbps for 4 sec. So, there might be some resource depletion at the receiver or sender. For example, if the receiver process gets interrupted (even momentarily), its receive buffers will fill up and it will signal to the sender that it has no room to accept new packets. Warning: The only way to tell if this is the case is to run tcpdump to get a packet trace. Queue Length There are 4 regions (approximate durations): (2 sec): Part 1 of slow-start (4 sec): Part 2 of slow-start
5 5 of 7 12/2/ :31 AM The decrease in slope is due to the decreased input rate of 18 Mbps (= 1.5 Kpps) from 24 Mbps (= 2 Kpps) (19 sec):??? Congestion avoidance??? This region is probably not congestion avoidance since it is unlikely that there were packet drops at the router... the input rate drops to 18 Mbps (from 24 Mbps) and then to 12 Mbps (the bottleneck rate) about 6 sec from the start of the flow -- too soon. Since the monitoring period is 0.25 sec and the bottleneck drain rate is 12 Mbps (= 1 Kpps), there is enough accuracy in the queue length chart to detect a 10 MB queue (4 sec): Bottleneck queue drains at 1 Kpps (= 12 Mbps = 1.5 MBps) with no arrivals. Maximum queue length = 6.5 MB ~= 4.3 Kpkts The queue length never reaches its maximum of 10 MB (= Kpkts). This appears to be strange but note that if there are 4.3 Kpkts in the bottleneck queue and one-half of the packets have been dropped, the sender thinks that there are 8.6 Kpkts or 12.9 MB in-flight. Since the user requested a send buffer of 10 MB (= Kpkts) but Linux gave him/her 20 MB (= Kpkts), the send buffer usage has crossed past the 10 MB boundary. The only difference between this experiment and Experiment 2 is that the sender's buffer is limited to about 3 MB (= 2 Kpkts) and therefore cwnd will be limited to 2 Kpkts. This means that you can't have more than 2 Kpkts in flight that are new packets. (Actually, the sender is given 6 MB when you use "-w 3m" but some of those buffers are used for things other than unacknowledged data packets. So, the sender will be able to have cwnd between 2 Kpkts and 4 Kpkts.) We do see that the "Queue Length" chart shows a queue length of between 3 MB and 4.5 MB. The "ACK Rate" chart is the same as in Experiment 2. The perplexing chart is the "Bandwidth" chart. The first two seconds of the flow shows 24 Mbps which is expected. But the 24 Mbps only lasts for 2 sec, not the 6.7 sec we computed earlier for the "-w 10m" case. But then, the rate appears to oscillate with periodic spikes that peak around 51 Mbps, 44 Mbps, 38 Mbps, 31 Mbps, 20 Mbps, and 7 Mbps. Let's see what should happen 2 sec after the flow has started. 2 sec after the flow begins, the number of packets queued should be: = 2 sec (1 Kpps) = 2 Kpkts = 2 Kpkts (1.5 KB/pkt) = 3 MB If the send buffer is 3 MB, it will be exhausted 2 sec after the start of the flow. When this occurs, cwnd can not be incremented for each incoming ACK. Instead, it will remain constant, and only 1 packet will be transmitted for each ACK received, not 2 packets per ACK as in Experiment 2. We would expect that the "RXBYTE 1.2" chart should now be 12 Mbps. But instead it shows packet bursts alternating with small idle periods.
6 6 of 7 12/2/ :31 AM I suspect that when the send buffer space is depleted, the send() call will be blocked and a context switch to the scheduler will occur, causing some idle period. When the sender gets the CPU again, ACKs have freed some buffer space and the sender bursts out packets until the buffer space is depeleted again. This is not good behavior. The only way to see that this is really happening is to run tcpdump and observe time gaps in the packet trace. The poor configuration from a TCP standpoint of the two TCP exercises hides the most important features of TCP: slow-start and congestion avoidance. In both cases, either: 1) the -w value is too small or equivalently, 2) the bottleneck queue capacity (threshold) is too big. Personally, I think the bottleneck queue capacity (threshold) is too big. Most people (even networking instructors) who don't deal with TCP at a detailed level don't really have a good understanding of basic TCP behavior. Textbooks really cover (at a cursory level) the case of many, well-behaved, well-configured TCP flows converging onto a bottleneck link. But more often than not, packet drops will occur in bursts and/or there will be resource constraints; i.e., the exception cases. A TCP flow does not behave well in the face of a large packet drop fraction when the RTT is large because it normally depends on the fast retransmit, fast recovery algorithm which retransmits one packet per RTT. (Note: The drop rate is 1/2 because of slow-start and no propagation delay.) SACK improves the recovery, but the limited size of the TCP options field Where the SACK info is stored prevents fast recovery! But even though your two TCP experiments probably don't experience packet drops for the reasons stated above, the configurations cause other problems that hide the core, standard TCP behavior. The 10 MB bottleneck queue at port 1.4 aggravates TCP because the queueing delay is 6.7 sec for a full queue that drains at 12 Mbps. This leads to an RTT of 6.7 sec which is really excessive. Using such a large queue for a single TCP flow is really crazy and will lead to bizarre TCP behavior which can only be explained by looking at a detailed packet trace. It would help to monitor the number of packet drops at the bottleneck to get a better understanding of what is happening. See the TCP Example in the NPR Tutorial for how to do that. Tcpdump is a nice tool, but not necessary if the experiment is properly configured. If you really want to understand the minute details, running tcptrace on a tcpdump file in conjunction with the visualization tool xplot will give you a rich description of what is going on at the packet level. But they're more suitable for a graduate course in networking. However, a lecture that uses the output of these tools would be instructive. The lab assignment doesn't use the delay plugin to emulate propagation delay. This is acceptable for a first simple lab in TCP, but introducing a delay would make it more realistic. Also to be realistic, you would want to use a few TCP flows. But if the configuration is properly chosen, many TCP features can still be shown using only one flow. But a goal of realistic flows is not really necessary to have an experiment in which students can gain some understanding of important TCP features. Your use of the phrase "TCP window size" when refering to the -w iperf flag is incorrect and misleading (Yes, iperf uses the terminology.). What window are you referring to? It can't be cwnd, the congestion window size, because that depends on various algorithms (slow-start, congestion avoidance, fast recovery). Although iperf calls the -w flag the window size, it really controls the size of the send buffer which really puts a limit on the number of packets in-flight and also limits the maximum value of cwnd.
7 7 of 7 12/2/ :31 AM In designing any assignment, you should work backwards: Write down the important concepts you want the students to understand. Find a configuration(s) that can be used to illustrate these concepts. Determine the student activity that will exercise these ideas. Do back-of-the-envelope calculations of key parameters to verify that your experiment will perform as expected. Do the assignment to see how well it meets the desired goals. Repeat the above steps until you have a good assignment. I consider the following concepts to be the most important TCP comcepts: Slow-start algorithm Congestion detection Congestion avoidance algorithm Fast retransmit, fast recovery algorithm Self-clocking nature of TCP Bandwidth-delay product and high-performance Fair-sharing among multiple flows That's a lot of concepts. So, a first lab needs to focus on a few of the most important ones. The other issue that needs to be considered is that ONL monitoring tools have a coarse granularity of 0.25 sec or 1 sec. So, parameters must be chosen so that you can see a non-zero queue length over a few seconds. For example, you could set the bottleneck queue to 30 KB (= 20 pkts) to get quick congestion detection (via packet drops), but ONL will not show the build up of a queue unless the bottleneck rate is quite low. Suppose that we want a bottleneck rate of 12 Mbps (= 1 Kpps). If you are monitoring with a period of 0.25 sec, you want to see a non-zero queue length for atleast 0.5 sec. So, you will want the bottleneck queue to be sized such that: Queue Size >= 0.5 sec (1.5 Kpps) = 750 pkts >= 750 pkts (1.5 KB/pkt) = MB The queueing delay for this queue is 0.5 sec = 500 msec. The sender's buffer should be large enough to accommodate the maximum bandwidth-delay product (BDP) of 375 pkts = MB. To be safe, choose a send buffer of atleast 2.25 MB to allow for packets during fast recovery. This will allow the fast recovery algorithm to inflate cwnd so that new packets can be injected into the network even though the sender thinks there are already a BDP worth of packets in-flight.
Outline 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 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 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 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 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 informationTopics. TCP sliding window protocol TCP PUSH flag TCP slow start Bulk data throughput
Topics TCP sliding window protocol TCP PUSH flag TCP slow start Bulk data throughput 2 Introduction In this chapter we will discuss TCP s form of flow control called a sliding window protocol It allows
More informationAnswers to Sample Questions on Transport Layer
Answers to Sample Questions on Transport Layer 1) Which protocol Go-Back-N or Selective-Repeat - makes more efficient use of network bandwidth? Why? Answer: Selective repeat makes more efficient use of
More informationLecture 15: TCP over wireless networks. Mythili Vutukuru CS 653 Spring 2014 March 13, Thursday
Lecture 15: TCP over wireless networks Mythili Vutukuru CS 653 Spring 2014 March 13, Thursday TCP - recap Transport layer TCP is the dominant protocol TCP provides in-order reliable byte stream abstraction
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 informationChapter 3 Review Questions
Chapter 3 Review Questions. 2. 3. Source port number 6 and destination port number 37. 4. TCP s congestion control can throttle an application s sending rate at times of congestion. Designers of applications
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 informationAssignment 7: TCP and Congestion Control Due the week of October 29/30, 2015
Assignment 7: TCP and Congestion Control Due the week of October 29/30, 2015 I d like to complete our exploration of TCP by taking a close look at the topic of congestion control in TCP. To prepare for
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 informationTCP Enhancements in Linux. Pasi Sarolahti. Berkeley Summer School Outline
TCP Enhancements in Linux Pasi Sarolahti Berkeley Summer School 6.6.2002 Outline TCP details per IETF RFC s Pitfalls in the specifications Linux TCP congestion control engine Features Discussion on performance
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 informationTCP so far Computer Networking Outline. How Was TCP Able to Evolve
TCP so far 15-441 15-441 Computer Networking 15-641 Lecture 14: TCP Performance & Future Peter Steenkiste Fall 2016 www.cs.cmu.edu/~prs/15-441-f16 Reliable byte stream protocol Connection establishments
More informationECEN Final Exam Fall Instructor: Srinivas Shakkottai
ECEN 424 - Final Exam Fall 2013 Instructor: Srinivas Shakkottai NAME: Problem maximum points your points Problem 1 10 Problem 2 10 Problem 3 20 Problem 4 20 Problem 5 20 Problem 6 20 total 100 1 2 Midterm
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 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 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 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. 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 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 informationLinux Plumbers Conference TCP-NV Congestion Avoidance for Data Centers
Linux Plumbers Conference 2010 TCP-NV Congestion Avoidance for Data Centers Lawrence Brakmo Google TCP Congestion Control Algorithm for utilizing available bandwidth without too many losses No attempt
More informationc) With the selective repeat protocol, it is possible for the sender to receive an ACK for a packet that falls outside of its current window.
Part 1 Question 1 [0.5 Marks] Suppose an application generates chunks of 40 bytes of data every 20 msec, and each chunk gets encapsulated by a TCP segment and then an IP datagram. What percentage of each
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 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 information6.033 Computer System Engineering
MIT OpenCourseWare http://ocw.mit.edu 6.033 Computer System Engineering Spring 2009 For information about citing these materials or our Terms of Use, visit: http://ocw.mit.edu/terms. 6.033 Lecture 13 Sam
More information6.033 Spring 2015 Lecture #11: Transport Layer Congestion Control Hari Balakrishnan Scribed by Qian Long
6.033 Spring 2015 Lecture #11: Transport Layer Congestion Control Hari Balakrishnan Scribed by Qian Long Please read Chapter 19 of the 6.02 book for background, especially on acknowledgments (ACKs), timers,
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 informationTCP and BBR. Geoff Huston APNIC
TCP and BBR Geoff Huston APNIC Computer Networking is all about moving data The way in which data movement is controlled is a key characteristic of the network architecture The Internet protocol passed
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 informationExercises TCP/IP Networking With Solutions
Exercises TCP/IP Networking With Solutions Jean-Yves Le Boudec Fall 2009 3 Module 3: Congestion Control Exercise 3.2 1. Assume that a TCP sender, called S, does not implement fast retransmit, but does
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 informationCSE 573S Protocols for Computer Networks (Spring 2005 Final Project)
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
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 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 informationMitigating Egregious ACK Delays in Cellular Data Networks by Eliminating TCP ACK Clocking
Mitigating Egregious ACK Delays in Cellular Data Networks by Eliminating TCP ACK Clocking Wai Kay Leong, Yin Xu, Ben Leong, Zixiao Wang National University of Singapore Asymmetry in Cellular Networks Congestion
More informationImpact of TCP Window Size on a File Transfer
Impact of TCP Window Size on a File Transfer Introduction This example shows how ACE diagnoses and visualizes application and network problems; it is not a step-by-step tutorial. If you have experience
More informationTCP and BBR. Geoff Huston APNIC
TCP and BBR Geoff Huston APNIC Computer Networking is all about moving data The way in which data movement is controlled is a key characteristic of the network architecture The Internet protocol passed
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 informationCongestion Control in TCP
Congestion Control in TCP Outline Overview of RENO TCP Reacting to Congestion SS/AIMD example CS 640 1 TCP Congestion Control The idea of TCP congestion control is for each source to determine how much
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 information2.993: Principles of Internet Computing Quiz 1. Network
2.993: Principles of Internet Computing Quiz 1 2 3:30 pm, March 18 Spring 1999 Host A Host B Network 1. TCP Flow Control Hosts A, at MIT, and B, at Stanford are communicating to each other via links connected
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 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 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 informationLink Characteristics Information conveyance
Link Characteristics Information conveyance MOBOPTS IETF #65 J. Zhang, S. Park, J. Korhonen, P. Sarolahti Introduction Prelimenary results from two different sets of simulations utilizing explicit LCI
More informationTCP Congestion Control
TCP Congestion Control Lecture material taken from Computer Networks A Systems Approach, Third Ed.,Peterson and Davie, Morgan Kaufmann, 2003. Computer Networks: TCP Congestion Control 1 TCP Congestion
More informationF-RTO: An Enhanced Recovery Algorithm for TCP Retransmission Timeouts
F-RTO: An Enhanced Recovery Algorithm for TCP Retransmission Timeouts Pasi Sarolahti Nokia Research Center pasi.sarolahti@nokia.com Markku Kojo, Kimmo Raatikainen University of Helsinki Department of Computer
More information15-744: Computer Networking TCP
15-744: Computer Networking TCP Congestion Control Congestion Control Assigned Reading [Jacobson and Karels] Congestion Avoidance and Control [TFRC] Equation-Based Congestion Control for Unicast Applications
More informationCSE 461. TCP and network congestion
CSE 461 TCP and network congestion This Lecture Focus How should senders pace themselves to avoid stressing the network? Topics Application Presentation Session Transport Network congestion collapse Data
More informationFlow and Congestion Control
CE443 Computer Networks Flow and Congestion Control Behnam Momeni Computer Engineering Department Sharif University of Technology Acknowledgments: Lecture slides are from Computer networks course thought
More informationTCP and BBR. Geoff Huston APNIC. #apricot
TCP and BBR Geoff Huston APNIC The IP Architecture At its heart IP is a datagram network architecture Individual IP packets may be lost, re-ordered, re-timed and even fragmented The IP Architecture At
More informationCS 557 Congestion and Complexity
CS 557 Congestion and Complexity Observations on the Dynamics of a Congestion Control Algorithm: The Effects of Two-Way Traffic Zhang, Shenker, and Clark, 1991 Spring 2013 The Story So Far. Transport layer:
More informationLecture 21: Congestion Control" CSE 123: Computer Networks Alex C. Snoeren
Lecture 21: Congestion Control" CSE 123: Computer Networks Alex C. Snoeren Lecture 21 Overview" How fast should a sending host transmit data? Not to fast, not to slow, just right Should not be faster than
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 informationAssignment 10: TCP and Congestion Control Due the week of November 14/15, 2012
Assignment 10: TCP and Congestion Control Due the week of November 14/15, 2012 I d like to complete our exploration of TCP by taking a close look at the topic of congestion control in TCP. To prepare for
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 informationChapter III: Transport Layer
Chapter III: Transport Layer UG3 Computer Communications & Networks (COMN) Mahesh Marina mahesh@ed.ac.uk Slides thanks to Myungjin Lee and copyright of Kurose and Ross Principles of congestion control
More informationProblem 7. Problem 8. Problem 9
Problem 7 To best answer this question, consider why we needed sequence numbers in the first place. We saw that the sender needs sequence numbers so that the receiver can tell if a data packet is a duplicate
More information20: Networking (2) TCP Socket Buffers. Mark Handley. TCP Acks. TCP Data. Application. Application. Kernel. Kernel. Socket buffer.
20: Networking (2) Mark Handley TCP Socket Buffers Application Application Kernel write Kernel read Socket buffer Socket buffer DMA DMA NIC TCP Acks NIC TCP Data 1 TCP Socket Buffers Send-side Socket Buffer
More informationCMPE 257: Wireless and Mobile Networking
CMPE 257: Wireless and Mobile Networking Katia Obraczka Computer Engineering UCSC Baskin Engineering Lecture 10 CMPE 257 Spring'15 1 Student Presentations Schedule May 21: Sam and Anuj May 26: Larissa
More informationCongestion Control Without a Startup Phase
Congestion Control Without a Startup Phase Dan Liu 1, Mark Allman 2, Shudong Jin 1, Limin Wang 3 1. Case Western Reserve University, 2. International Computer Science Institute, 3. Bell Labs PFLDnet 2007
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 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 informationChapter 3 outline. 3.5 Connection-oriented transport: TCP. 3.6 Principles of congestion control 3.7 TCP congestion control
Chapter 3 outline 3.1 Transport-layer services 3.2 Multiplexing and demultiplexing 3.3 Connectionless transport: UDP 3.4 Principles of reliable data transfer 3.5 Connection-oriented transport: TCP segment
More informationCS268: Beyond TCP Congestion Control
TCP Problems CS68: Beyond TCP Congestion Control Ion Stoica February 9, 004 When TCP congestion control was originally designed in 1988: - Key applications: FTP, E-mail - Maximum link bandwidth: 10Mb/s
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 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 informationComputer Networking
15-441 Computer Networking Lecture 17 TCP Performance & Future Eric Anderson Fall 2013 www.cs.cmu.edu/~prs/15-441-f13 Outline TCP modeling TCP details 2 TCP Performance Can TCP saturate a link? Congestion
More informationThere are 10 questions in total. Please write your SID on each page.
Name: SID: Department of EECS - University of California at Berkeley EECS122 - Introduction to Communication Networks - Spring 2005 to the Final: 5/20/2005 There are 10 questions in total. Please write
More informationDepartment of EECS - University of California at Berkeley EECS122 - Introduction to Communication Networks - Spring 2005 Final: 5/20/2005
Name: SID: Department of EECS - University of California at Berkeley EECS122 - Introduction to Communication Networks - Spring 2005 Final: 5/20/2005 There are 10 questions in total. Please write your SID
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 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 informationFlow and Congestion Control (Hosts)
Flow and Congestion Control (Hosts) 14-740: Fundamentals of Computer Networks Bill Nace Material from Computer Networking: A Top Down Approach, 6 th edition. J.F. Kurose and K.W. Ross traceroute Flow Control
More informationPRACTICE QUESTIONS ON RESOURCE ALLOCATION
PRACTICE QUESTIONS ON RESOURCE ALLOCATION QUESTION : Internet Versus Station Wagon A famous maxim, sometimes attributed to Dennis Ritchie, says Never underestimate the bandwidth of a station wagon full
More informationCongestion Control in TCP
Congestion Control in TCP Antonio Carzaniga Faculty of Informatics University of Lugano May 6, 2005 Outline Intro to congestion control Input rate vs. output throughput Congestion window Congestion avoidance
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 informationGoals of Today s Lecture! Congestion Control! Course So Far.! Congestion Control Overview! It s Not Just The Sender & Receiver! Congestion is Natural!
Goals of Today s Lecture! Congestion Control! EE 22: Intro to Communication Networks Fall 200 (MW 4-5:30 in 0 Barker) Scott Shenker TAs: Sameer Agarwal, Sara Alspaugh, Igor Ganichev, Prayag Narula http://inst.eecs.berkeley.edu/~ee22/
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 and BBR. Geoff Huston APNIC
TCP and BBR Geoff Huston APNIC The IP Architecture At its heart IP is a datagram network architecture Individual IP packets may be lost, re-ordered, re-timed and even fragmented The IP Architecture At
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 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 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 informationCS 638 Lab 6: Transport Control Protocol (TCP)
CS 638 Lab 6: Transport Control Protocol (TCP) Joe Chabarek and Paul Barford University of Wisconsin Madison jpchaba,pb@cs.wisc.edu The transport layer of the network protocol stack (layer 4) sits between
More informationA Hybrid Systems Modeling Framework for Fast and Accurate Simulation of Data Communication Networks. Motivation
A Hybrid Systems Modeling Framework for Fast and Accurate Simulation of Data Communication Networks Stephan Bohacek João P. Hespanha Junsoo Lee Katia Obraczka University of Delaware University of Calif.
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 informationReliable Transport II: TCP and Congestion Control
Reliable Transport II: TCP and Congestion Control Brad Karp UCL Computer Science CS 3035/GZ01 31 st October 2013 Outline Slow Start AIMD Congestion control Throughput, loss, and RTT equation Connection
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 informationThe 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 informationAnalysis of Captured Data on a Typical Tcp Connection
IOSR Journal Of Environmental Science, Toxicology And Food Technology (IOSR-JESTFT) e-issn: 2319-2402,p- ISSN: 2319-2399. Volume 4, Issue 4 (May. - Jun. 2013), PP 75-80 www.iosrjournals.org Analysis of
More informationCongestion Control in TCP
Congestion Control in TCP Antonio Carzaniga Faculty of Informatics University of Lugano November 11, 2014 Outline Intro to congestion control Input rate vs. output throughput Congestion window Congestion
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 informationADVANCED TOPICS FOR CONGESTION CONTROL
ADVANCED TOPICS FOR CONGESTION CONTROL Congestion Control The Internet only functions because TCP s congestion control does an effective job of matching traffic demand to available capacity. TCP s Window
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 informationChapter 4. Routers with Tiny Buffers: Experiments. 4.1 Testbed experiments Setup
Chapter 4 Routers with Tiny Buffers: Experiments This chapter describes two sets of experiments with tiny buffers in networks: one in a testbed and the other in a real network over the Internet2 1 backbone.
More informationReliable Transport II: TCP and Congestion Control
Reliable Transport II: TCP and Congestion Control Stefano Vissicchio UCL Computer Science COMP0023 Recap: Last Lecture Transport Concepts Layering context Transport goals Transport mechanisms and design
More information