Application Layer Network Window Management in the SSH Protocol Chris Rapier Michael A. Stevens

Size: px
Start display at page:

Download "Application Layer Network Window Management in the SSH Protocol Chris Rapier Michael A. Stevens"

Transcription

1 Application Layer Network Window Management in the SSH Protocol Chris Rapier Michael A. Stevens Abstract Multiplexed network applications, such as SSH, require the use of an internal flow control mechanism, usually implemented similar to TCP receive windows. The result of this is that the effect TCP receive window for that application is the minimum of the application buffer and the TCP receive window. In one of the most common SSH implementations this buffer is statically defined to 64KB and acts a significant throttle on bulk data transfers. In our work we dynamically define the size of this buffer and have yielded more than an order of magnitude improvement in throughput performance. Problem statement It s not uncommon for a user on a high performance network to see dramatic throughput rates with measurement tools such as iperf but dismal results with applications like SCP. The conventional wisdom regarding this discrepancy is that the ciphering process consumes so much CPU time that transfers are necessarily throttled. However, a quick experiment will show that, within reasonable limits, the throughput is independent of CPU power. Nor does it explain why short paths have better throughput than long paths. Obviously, the performance bottleneck must lie elsewhere. If we look closely at the SSH code we find that it, like a number of other network Bandwidth Delay Pr oduct = Bandwidth m RTT applications, make use of multiplexed channels inside of a single TCP connection to handle data transfer and/or control information. Because these channels cannot use TCP windows they must perform flow control at the application layer. Often the result is a second window imposed over an existing TCP window that forces the effective receive window size to the minimum of the two[1]. This means that even if the system TCP window is correctly tuned a user may still encounter dismal throughput under SSH. For example, a user transferring a file set from Host A to Host B might reach 30MB/s throughput using FTP but only 1.5MB/s using SCP. Not because of processor load but because of drastically undersized receive windows. This has proven to be a constant source of problems for researchers using high performance network connections. The security environment obviously demands encrypted authentication but the easiest application that does this is unacceptably slow. A researcher trying to transfer a 400GB dataset over a GigE connection is simply not going to be satisfied with a 1.2 MB/sec transfer rate (more than a 3 day wait). Alternatives that meet increased security requirements do exist: Kerberized FTP, Grid Services, and even VPNs. While protocols are much faster the infrastructure investment associated with them often limits their use to larger institutions. Smaller groups and individuals often don t have the time, expertise, or money to make use of these

2 alternatives and are often forced to accept poor performance. The community needs fast, cheap, and secure communications but we ve accepted that we can only choose two of those. Fixing the windowing problem in SSH will allow us to have all three. Removing that infrastructure barrier will help speed adoption, spur demand, and inspire new applications to make use of high speed encrypted data transfers. Approach The fundamental problem, as stated, is that the maximum effective receive window for any SSH connection will be limited to the smaller of the two buffers (internal or TCP). In the most common implementation of SSH, the receive flow control buffer is defined to a maximum of 128KB[2]. However, because of the way in which it is updated the maximum effective buffer is half that, or 64 kilobytes. If we take the Bandwidth Delay Product formula[3]; Bandwidth Delay Product = Bandwidth and solve for bandwidth using the buffer size of 64KB; 64KB Bandwidth m = RTT we see that throughput will always be no more than 64k/RTT. For example, on a path with a 80ms RTT the maximum throughput is 0.8MB/s. In comparison, a path with a 15ms RTT the throughput would be 4.3MB/s. A number of individuals have attempted to resolve this problem by statically increasing the buffer size in the source code. However, this is often a piecemeal solution that might work well for an individual along some paths but not on a more widespread basis. A home user simply doesn't need an 8MB buffer while a network researcher would be stifled by anything significantly smaller. Our approach has been to change the buffer from a statically defined value to one dynamically assigned during execution. By performing a getsockopt() function when the SSH window goes through an adjustment the application window can be set to match the TCP receive window size. By doing this at each window adjustment and not just when the connection is created, it is possible to make full use of kernels that incorporate an autotuning TCP stack[4]. Results to Date Proof of concept tests undertaken between well-connected hosts on high BDP paths have shown throughput rates of over 24.4MB/s using the ARCFOUR cipher. An unmodified SSH implementation only achieved 1.9MB/s using the same (or any other) cipher. All tests indicate that the 24.4MB/s value is strictly CPU limited. Throughput results from this initial test can be seen in Figure 1. Tests undertaken more recently using a more powerful processor have shown peak speeds of 42.6MB/s. These results have consistently ranked in the top 10 non-measurement m RTT

3 throughput speeds on the Internet 2 Weekly NetFlow Reports[5]. Excerpts from these reports can be found in Tables 3, 4, and 5. Continuing work While it might seem that the work has been completed, what has been done to date is only a partial solution. The RTT typically used to determine window size (either in an autotuning kernel or by manual calculation) is the host-to-host time but the internal window should be based on the application to application RTT. Research needs to be performed on where to define the endpoints of the RTT in order to fully maximize network usage. Additionally, enabling out of band communication between the client and server will allow queue length information to be exchanged allowing for even finer tuning of the transfer rate. We are also continuing to develop SSH and SCP to further increase throughput while maintaining protocol compliance and compatibility with the existing installed sshd and ssh client base. For example, currently SCP pipes data to the SSH process on both the sending and receiving side. Eliminating this pipe would dramatically decrease the number of memory copies used. SCP and SSH also have mismatched buffers for STDIN and STDOUT resulting in 4 reads for every write performed. Just matching these buffers can give a 20% to 40% decrease in the amount of time spent in the kernel and user space, respectively. We also plan to introduce mid stream cipher switching so that a user can use encrypted authentication and clear text data transfer which dramatically reduces the processor requirements. Additional enhancements possibly include parallel file transfers using multiplexed connections, streaming data transfers, and transferring multiple files without rekeying. References [1] S. Ubik, P. Cimbal, Achieving Reliable High Performance in LFNs, TNC Zagreb, Croatia, May 19-23, [2] OpenSSH 3.8p1 Source Code (channels.c) [3] W. R. Stevens, TCP/IP Illustrated Volume 1: The Protocols, Reading, MA, Addison Weseley Longman Inc. 1994, pp [4] J. Semke, J. Mahdavi, M. Mathis. Automatic TCP Buffer Tuning. Proceedings of SIGCOMM 98 Conference, Vol 28, No. 4, pp , August 1998 [5] Internet2 Flow Reports [online], Internet 2 Corporation, ref. Oct 20,

4 XPLOT GRAPH TEXT Text for both ssh-norm and ssh-hpn tsg images Time sequence graphs produces by tcptrace and xplot are excellent tools diagnostic tools that provide deep insight into the behaviour of any given tcp connection. In these images we find: The green line, representing the current ACK values received, the yellow line, representing the current advertised receive window (RWIN) size, and the black Xs representing the data segments. The vertical distance between the ACK and RWIN lines is equal to the current available window and the horizontal distance is the round trip time. The position of the segments between the ACK and RWIN line are an indication of how much of the window is being used and hence how efficiently the connection is using the network. Text for ssh-norm.tsg.png In this image we see a typical tcptrace from an scp transfer using a stock version of OpenSSH 3.9p1 with a throughput of 1.9MB/s. Note that the ACK and RWIN lines indicate a fairly large available window. However the segments, which are riding right on top of the ACK line, clearly show that a very small portion of the available window is being used. This is the result of an internal application window that is much too small for this path. Text for ssh-hpn.tsg.hpn In this image we see a tcptrace from an scp transfer using the high performance networking patch for OpenSSH 3.9 with a throughput of more than 30MB/s. Again, we see that the ACK and RWIN lines are again indicating a reasonably large window. In this case though, the position of the segments continuously approach the RWIN line indicating that the receive windows is being increasingly consumed. In short, the internal application window is consistently growing to make more efficient use of the network. It is also worth noting that the lack of congestion scallops in the RWIN line indicates that this connection is processor bound. Text for both ssh-norm and ssh-hpn owin images The outstanding data graphs produce by tcptrace and xplot are helpful in determining the current local congestion window and is a rough guide to the dynamics of the windows. The yellow line is the advertised receive window. The red line is the amount of outstanding data at arbitrary points during the connection. The blue and green line represent average and weighted averages of the outstanding data. Text for ssh-norm.owin.png Here we see that the amount of outstanding data is extremely low in comparison to the available window. In fact the amount of data in transit never exceeds 80KB which is less than 3% of the carrying capacity of this path (PSC <-> NCSA via I2). Text for ssh-hpn.owin.png

5 Here we see two things first that the advertised receive window is adjusting to match the conditions of the application at this point the SSH application is processor bound. However, at more than 30MB/s this should be considered acceptable. Second we see that the application is using almost all of the available window indicating that the application is making extremely efficient use of the network. In fact, its using more than 58% of the available carrying capacity of a moderately trafficked path (PSC <-> NCSA via I2).

6 SIDEBAR TEXT Why are windows important? TCP is a reliable data transmission protocol and, as such, relies on acknowledgements of received data (ACKS) to make sure that each sent packet of data is received. However, its inefficient to force the sender to wait for an ACK for each packet of data it sends. Therefore when an ACK is sent the receiver tells the sender how much data it can send before it must wait for an ACK. This value is the Receive Window (RWIN) and is equal to the remaining space in a receive buffer that holds data until it can be processed by the CPU. This is illustrated in Figure 2. The optimal size of this buffer is equal to the amount of data that can be in transit between the sender and receiver at any given time which is equal to the round trip time between the two hosts multiplied by the slowest link in the path. This is known as the Bandwidth Delay Product (BDP) and is different for each path and network conditions at the time of the transfer. If the RWIN is less than the BDP then the full carrying capacity of the network is not being used and the receiver spends time waiting for the sender to transmit more data. This ends up slowing the transfer rate sometimes considerably. Examples of this can be found in Table 1 and Table 2. The problem is that many systems and many applications were written for a much slower environment than high performance users currently exist in. Since most RWIN sizes are set to a single static system value the size is often compromise and results in many connections being inefficient. Likewise, if an application uses a statically sized flow control buffer (essentially an application RWIN) it may act as a significant drag on performance in many instances. Table 1 This table provides a list of Bandwidth Delay Products (BDP) where BDP = Path sl RTT and Path sl is the slowest link on that path in MB/s. The optimum receive window size for that path is equal to the BDP Path sl (MB/s) RTT (s) Bandwidth Delay Product KB KB KB MB MB

7 Table 2 This table shows the maximum potential throughput for the sample paths in Table 2 if an undersized Receive Window (RWIN) is used where Throughput = RWIN. Efficiency is RTT the potential throughput on each path for that RWIN in comparison to the available bandwidth. Path sl (MB/s) RTT (s) RWIN Throughput (MB/s)_ Efficiency KB % KB % KB % KB 17 14% KB 68 5%

8 BRAGGING TABLES FOLLOW The following tables are the results from recent Internet 2 Weekly Flow Reports. These reports list the fastest flows observed in the Internet 2 core in various categories. The following reports encompass a 3 week period from September 20, 2004 to October 11, The hpn-ssh process ran on TCP port between a Quad Itanium 1.3Ghz host using Linux 2.6 at NCSA and an Intel Pentium 4 2.4Ghz Host using Linux 2.6 Web100 kernel at PSC. Week of 2004/09/20 from Table 3. Fastest Bulk TCP Non-measurement Flows with Unique AS Source and Destination Throughput (b/s) Packet size (bytes) Duration (s) Src AS Dest AS Application type 883.7M PUNET Technology Ltd.,Taiwan [9270] CERN [513] > M NCSA [1224] SDSC-TEST1 [1227] > M PSC-NCNE [5050] NCSA [1224] > M NASA-HPCC-ESS [7847] USAN [194] Hotline 245.0M CSUNET-NE [2153] CERN [513] NFS 237.4M NCSA [1224] PSC-NCNE [5050] > M NASA-ESDIS-NET [22767] USAN [194] Hotline 214.8M CERN [513] SLAC [3671] > M APAN-JP [7660] CARIN-AS-BLOCK [7082] > M SDSC-TEST1 [1227] NCSA [1224] > 5150 Week of 2004/09/27 from Table 4. Fastest Bulk TCP Non-measurement Flows with Unique AS Source and Destination Throughput (b/s) Packet size (bytes) Duration (s) Src AS Dest AS Application type 739.6M ORNL [50] SDSC-TEST1 [1227] > M ORNL [50] NCSA [1224] > M Unknown [32093] ORNL [50] > M APAN-JP [7660] CARIN-AS-BLOCK [7082] > M CARIN-AS-BLOCK [7082] APAN-JP [7660] > M ORNL [50] Unknown [32093] > M PSC-NCNE [5050] NCSA [1224] > M NCSA [1224] PSC-NCNE [5050] > M NASA-ESDIS-NET [22767] USAN [194] Hotline 219.6M NASA-HPCC-ESS [7847] USAN [194] Hotline

9 Week of 2004/10/04 from Table 5. Fastest Bulk TCP Non-measurement Flows with Unique AS Source and Destination Throughput (b/s) Packet size (bytes) Duration (s) Src AS Dest AS Application type 5.322G CERN [513] ABILENE [11537] > M BWI-GIGA-POP [10886] CARIN-AS-BLOCK [7082] Hotline 801.2M ORNL [50] SDSC-TEST1 [1227] > M ORNL [50] NCSA [1224] > M APAN-JP [7660] CARIN-AS-BLOCK [7082] AFS 384.9M ORNL [50] Unknown [32093] > M Purdue [17] ORNL [50] > M PSC-NCNE [5050] NCSA [1224] > M NCSA [1224] PSC-NCNE [5050] > M NCSA [1224] CIXP (Geneva) and TIX (Zurich) [559] > 8086

10 Figure 1: This graph compares the average throughput rate of a standard distribution of SSH (OpenSSH 3.8p1) against SSH with the adjustable window patch. Various ciphers are used. The hosts were a Dual PIII 1Ghz and Quad Itanium 1.3Ghz using linux 2.6. Transfers were from a memory file system to /dev/null.

Enabling High Performance Bulk Data Transfers With SSH

Enabling High Performance Bulk Data Transfers With SSH Enabling High Performance Bulk Data Transfers With SSH Chris Rapier Benjamin Bennett TIP 08 Moving Data Still crazy after all these years Multiple solutions exist Protocols UDT, SABUL, etc Implementations

More information

High Speed Bulk Data Transfer Using the SSH Protocol

High Speed Bulk Data Transfer Using the SSH Protocol High Speed Bulk Data Transfer Using the SSH Protocol ABSTRACT SSH is a highly successful multipurpose protocol used for both interactive shells and transport layer mechanisms. However, a design choice

More information

Topics. 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 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 information

High bandwidth, Long distance. Where is my throughput? Robin Tasker CCLRC, Daresbury Laboratory, UK

High bandwidth, Long distance. Where is my throughput? Robin Tasker CCLRC, Daresbury Laboratory, UK High bandwidth, Long distance. Where is my throughput? Robin Tasker CCLRC, Daresbury Laboratory, UK [r.tasker@dl.ac.uk] DataTAG is a project sponsored by the European Commission - EU Grant IST-2001-32459

More information

Why Your Application only Uses 10Mbps Even the Link is 1Gbps?

Why Your Application only Uses 10Mbps Even the Link is 1Gbps? Why Your Application only Uses 10Mbps Even the Link is 1Gbps? Contents Introduction Background Information Overview of the Issue Bandwidth-Delay Product Verify Solution How to Tell Round Trip Time (RTT)

More information

SSH Bulk Transfer Performance. Allan Jude --

SSH Bulk Transfer Performance. Allan Jude -- SSH Bulk Transfer Performance Allan Jude -- allanjude@freebsd.org Introduction 15 Years as FreeBSD Server Admin FreeBSD src/doc committer (ZFS, bhyve, ucl, xo) FreeBSD Core Team (July 2016-2018) Co-Author

More information

Lecture 21: Congestion Control" CSE 123: Computer Networks Alex C. Snoeren

Lecture 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 information

Documents. Configuration. Important Dependent Parameters (Approximate) Version 2.3 (Wed, Dec 1, 2010, 1225 hours)

Documents. 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 information

Fermilab WAN Performance Analysis Methodology. Wenji Wu, Phil DeMar, Matt Crawford ESCC/Internet2 Joint Techs July 23, 2008

Fermilab WAN Performance Analysis Methodology. Wenji Wu, Phil DeMar, Matt Crawford ESCC/Internet2 Joint Techs July 23, 2008 Fermilab WAN Performance Analysis Methodology Wenji Wu, Phil DeMar, Matt Crawford ESCC/Internet2 Joint Techs July 23, 2008 1 The Wizard s Gap 10 years and counting The Wizard Gap (Mathis 1999) is still

More information

Measuring end-to-end bandwidth with Iperf using Web100

Measuring end-to-end bandwidth with Iperf using Web100 Measuring end-to-end bandwidth with Iperf using Web Ajay Tirumala Les Cottrell Tom Dunigan CS Dept. SLAC CSMD University of Illinois Stanford University ORNL Urbana, IL 6181 Menlo Park, CA 9425 Oak Ridge,

More information

On the Transition to a Low Latency TCP/IP Internet

On the Transition to a Low Latency TCP/IP Internet On the Transition to a Low Latency TCP/IP Internet Bartek Wydrowski and Moshe Zukerman ARC Special Research Centre for Ultra-Broadband Information Networks, EEE Department, The University of Melbourne,

More information

Measuring end-to-end bandwidth with Iperf using Web100

Measuring end-to-end bandwidth with Iperf using Web100 Presented at Passive and Active Monitoring Workshop (PAM 23), 4/6/23-4/8/23, San Diego, CA, USA SLAC-PUB-9733 April 23 Measuring end-to-end bandwidth with Iperf using Web1 Ajay Tirumala Les Cottrell Tom

More information

CSE 123A Computer Networks

CSE 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 information

MASV Accelerator Technology Overview

MASV Accelerator Technology Overview MASV Accelerator Technology Overview Introduction Most internet applications, FTP and HTTP to name a few, achieve network transport via the ubiquitous TCP protocol. But TCP suffers from latency, packet

More information

Buffer Requirements for Zero Loss Flow Control with Explicit Congestion Notification. Chunlei Liu Raj Jain

Buffer Requirements for Zero Loss Flow Control with Explicit Congestion Notification. Chunlei Liu Raj Jain Buffer Requirements for Zero Loss Flow Control with Explicit Congestion Notification Chunlei Liu Raj Jain Department of Computer and Information Science The Ohio State University, Columbus, OH 432-277

More information

Lecture 14: Congestion Control"

Lecture 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 information

Homework 1. Question 1 - Layering. CSCI 1680 Computer Networks Fonseca

Homework 1. Question 1 - Layering. CSCI 1680 Computer Networks Fonseca CSCI 1680 Computer Networks Fonseca Homework 1 Due: 27 September 2012, 4pm Question 1 - Layering a. Why are networked systems layered? What are the advantages of layering? Are there any disadvantages?

More information

Evaluation of Dynamic TCP Congestion Control Scheme in the ENABLE service

Evaluation of Dynamic TCP Congestion Control Scheme in the ENABLE service Evaluation of Dynamic TCP Congestion Control Scheme in the ENABLE service by Mahesh Akarapu B.E. (Computer Science and Engineering) University College of Engineering, Osmania University Hyderabad, India,

More information

Network Design Considerations for Grid Computing

Network Design Considerations for Grid Computing Network Design Considerations for Grid Computing Engineering Systems How Bandwidth, Latency, and Packet Size Impact Grid Job Performance by Erik Burrows, Engineering Systems Analyst, Principal, Broadcom

More information

SharkFest'17 US. Understanding Throughput & TCP Windows. A Walk-Through of the Factors that can limit TCP Throughput Performance

SharkFest'17 US. Understanding Throughput & TCP Windows. A Walk-Through of the Factors that can limit TCP Throughput Performance SharkFest'17 US Understanding Throughput & TCP Windows A Walk-Through of the Factors that can limit TCP Throughput Performance Kary Rogers Director, Staff Engineering Riverbed Technology Agenda TCP ownership

More information

TCPDelay: Constant bit-rate data transfer over TCP

TCPDelay: Constant bit-rate data transfer over TCP The University of Manchester E-mail: Stephen.Kershaw@manchester.ac.uk Richard Hughes-Jones The University of Manchester E-mail: R.Hughes-Jones@manchester.ac.uk Transmission Control Protocol (TCP) is a

More information

Report 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 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 information

TCP Tuning Guide for Distributed Application on Wide Area Networks

TCP Tuning Guide for Distributed Application on Wide Area Networks TCP Tuning Guide for Distributed Application on Wide Area Networks Brian L. Tierney Data Intensive Distributed Computing Group 1.0 Introduction Obtaining good TCP throughput across a wide area network

More information

Communication Networks

Communication 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 information

CS4700/CS5700 Fundamentals of Computer Networks

CS4700/CS5700 Fundamentals of Computer Networks CS4700/CS5700 Fundamentals of Computer Networks Lecture 14: TCP Slides used with permissions from Edward W. Knightly, T. S. Eugene Ng, Ion Stoica, Hui Zhang Alan Mislove amislove at ccs.neu.edu Northeastern

More information

Chapter 4. Routers with Tiny Buffers: Experiments. 4.1 Testbed experiments Setup

Chapter 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 information

ECE 610: Homework 4 Problems are taken from Kurose and Ross.

ECE 610: Homework 4 Problems are taken from Kurose and Ross. ECE 610: Homework 4 Problems are taken from Kurose and Ross. Problem 1: Host A and B are communicating over a TCP connection, and Host B has already received from A all bytes up through byte 248. Suppose

More information

Congestion Avoidance Overview

Congestion Avoidance Overview Congestion avoidance techniques monitor network traffic loads in an effort to anticipate and avoid congestion at common network bottlenecks. Congestion avoidance is achieved through packet dropping. Among

More information

TCP and BBR. Geoff Huston APNIC

TCP 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 information

Transmission Control Protocol. ITS 413 Internet Technologies and Applications

Transmission 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 information

Exercises TCP/IP Networking With Solutions

Exercises 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 information

TCP and BBR. Geoff Huston APNIC

TCP 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 information

Experimental Study of TCP Congestion Control Algorithms

Experimental Study of TCP Congestion Control Algorithms www..org 161 Experimental Study of TCP Congestion Control Algorithms Kulvinder Singh Asst. Professor, Department of Computer Science & Engineering, Vaish College of Engineering, Rohtak, Haryana, India

More information

Advanced Computer Networks

Advanced 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 information

HyperIP : SRDF Application Note

HyperIP : SRDF Application Note HyperIP : SRDF Application Note Introduction HyperIP is a Linux software application that quantifiably and measurably enhances large data movement over big bandwidth and long-haul IP networks. HyperIP

More information

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

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 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 information

Reasons not to Parallelize TCP Connections for Fast Long-Distance Networks

Reasons not to Parallelize TCP Connections for Fast Long-Distance Networks Reasons not to Parallelize TCP Connections for Fast Long-Distance Networks Zongsheng Zhang Go Hasegawa Masayuki Murata Osaka University Contents Introduction Analysis of parallel TCP mechanism Numerical

More information

ASPERA HIGH-SPEED TRANSFER. Moving the world s data at maximum speed

ASPERA HIGH-SPEED TRANSFER. Moving the world s data at maximum speed ASPERA HIGH-SPEED TRANSFER Moving the world s data at maximum speed ASPERA HIGH-SPEED FILE TRANSFER 80 GBIT/S OVER IP USING DPDK Performance, Code, and Architecture Charles Shiflett Developer of next-generation

More information

Advanced Computer Networks. Wireless TCP

Advanced Computer Networks. Wireless TCP Advanced Computer Networks 263 3501 00 Wireless TCP Patrick Stuedi Spring Semester 2014 1 Oriana Riva, Department of Computer Science ETH Zürich Outline Last week: Today: Cellular Networks Mobile IP Wireless

More information

User Datagram Protocol

User Datagram Protocol Topics Transport Layer TCP s three-way handshake TCP s connection termination sequence TCP s TIME_WAIT state TCP and UDP buffering by the socket layer 2 Introduction UDP is a simple, unreliable datagram

More information

TCP. 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) 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 information

EECS 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. 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 information

SIMULATION BASED ANALYSIS OF THE INTERACTION OF END-TO-END AND HOP-BY-HOP FLOW CONTROL SCHEMES IN PACKET SWITCHING LANS

SIMULATION BASED ANALYSIS OF THE INTERACTION OF END-TO-END AND HOP-BY-HOP FLOW CONTROL SCHEMES IN PACKET SWITCHING LANS SIMULATION BASED ANALYSIS OF THE INTERACTION OF END-TO-END AND HOP-BY-HOP FLOW CONTROL SCHEMES IN PACKET SWITCHING LANS J Wechta, A Eberlein, F Halsall and M Spratt Abstract To meet the networking requirements

More information

Appendix B. Standards-Track TCP Evaluation

Appendix 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 information

CS 344/444 Computer Network Fundamentals Final Exam Solutions Spring 2007

CS 344/444 Computer Network Fundamentals Final Exam Solutions Spring 2007 CS 344/444 Computer Network Fundamentals Final Exam Solutions Spring 2007 Question 344 Points 444 Points Score 1 10 10 2 10 10 3 20 20 4 20 10 5 20 20 6 20 10 7-20 Total: 100 100 Instructions: 1. Question

More information

CSE 461. TCP and network congestion

CSE 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 information

CS519: Computer Networks. Lecture 5, Part 1: Mar 3, 2004 Transport: UDP/TCP demux and flow control / sequencing

CS519: Computer Networks. Lecture 5, Part 1: Mar 3, 2004 Transport: UDP/TCP demux and flow control / sequencing : Computer Networks Lecture 5, Part 1: Mar 3, 2004 Transport: UDP/TCP demux and flow control / sequencing Recall our protocol layers... ... and our protocol graph IP gets the packet to the host Really

More information

10 Reasons your WAN is Broken

10 Reasons your WAN is Broken Lack of Visibility Most WAN performance problems are driven by underperforming connections or applications. It isn t uncommon to be paying for a 20 Mbps WAN link that performs at 10 Mbps. The root cause

More information

Advanced Computer Networks

Advanced 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 information

Mininet Performance Fidelity Benchmarks

Mininet Performance Fidelity Benchmarks Mininet Performance Fidelity Benchmarks Nikhil Handigol, Brandon Heller, Vimalkumar Jeyakumar, Bob Lantz, Nick McKeown October 21, 2012 1 Introduction This initial Mininet technical report evaluates the

More information

Transport Layer PREPARED BY AHMED ABDEL-RAOUF

Transport 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 information

MPA (Marker PDU Aligned Framing for TCP)

MPA (Marker PDU Aligned Framing for TCP) MPA (Marker PDU Aligned Framing for TCP) draft-culley-iwarp-mpa-01 Paul R. Culley HP 11-18-2002 Marker (Protocol Data Unit) Aligned Framing, or MPA. 1 Motivation for MPA/DDP Enable Direct Data Placement

More information

Network Working Group Request for Comments: 1046 ISI February A Queuing Algorithm to Provide Type-of-Service for IP Links

Network Working Group Request for Comments: 1046 ISI February A Queuing Algorithm to Provide Type-of-Service for IP Links Network Working Group Request for Comments: 1046 W. Prue J. Postel ISI February 1988 A Queuing Algorithm to Provide Type-of-Service for IP Links Status of this Memo This memo is intended to explore how

More information

A Survey on Quality of Service and Congestion Control

A 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 information

Lecture 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 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 information

TCP Over SoNIC. Xuke Fang Cornell University. XingXiang Lao Cornell University

TCP Over SoNIC. Xuke Fang Cornell University. XingXiang Lao Cornell University TCP Over SoNIC Xuke Fang Cornell University XingXiang Lao Cornell University ABSTRACT SoNIC [1], a Software-defined Network Interface Card, which provides the access to the physical layer and data link

More information

TCP Performance Analysis Based on Packet Capture

TCP Performance Analysis Based on Packet Capture TCP Performance Analysis Based on Packet Capture Stanislav Shalunov shalunov@internet2.edu 2003-02-05, E2E Performance Measurement Workshop, Miami Packet Capture TCP connection runs; some performance is

More information

Reliable Transport II: TCP and Congestion Control

Reliable 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 information

TCP-Peach and FACK/SACK Options: Putting The Pieces Together

TCP-Peach and FACK/SACK Options: Putting The Pieces Together TCP-Peach and FACK/SACK Options: Putting The Pieces Together Giacomo Morabito, Renato Narcisi, Sergio Palazzo, Antonio Pantò Dipartimento di Ingegneria Informatica e delle Telecomunicazioni University

More information

An Improvement of TCP Downstream Between Heterogeneous Terminals in an Infrastructure Network

An Improvement of TCP Downstream Between Heterogeneous Terminals in an Infrastructure Network An Improvement of TCP Downstream Between Heterogeneous Terminals in an Infrastructure Network Yong-Hyun Kim, Ji-Hong Kim, Youn-Sik Hong, and Ki-Young Lee University of Incheon, 177 Dowha-dong Nam-gu, 402-749,

More information

Data Staging: Moving large amounts of data around, and moving it close to compute resources

Data Staging: Moving large amounts of data around, and moving it close to compute resources Data Staging: Moving large amounts of data around, and moving it close to compute resources PRACE advanced training course on Data Staging and Data Movement Helsinki, September 10 th 2013 Claudio Cacciari

More information

Benchmarking results of SMIP project software components

Benchmarking results of SMIP project software components Benchmarking results of SMIP project software components NAILabs September 15, 23 1 Introduction As packets are processed by high-speed security gateways and firewall devices, it is critical that system

More information

Eng 3553 Lab #5 TCP Throughput

Eng 3553 Lab #5 TCP Throughput Eng 3553 Lab #5 TCP Throughput Overview TCP (Transmission Control Protocol) is a means for building a reliable communications stream, enabling two hosts to establish a connection and exchange streams of

More information

RED behavior with different packet sizes

RED 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 information

Performance of Host Identity Protocol on Lightweight Hardware

Performance of Host Identity Protocol on Lightweight Hardware Performance of Host Identity Protocol on Lightweight Hardware Andrey Khurri, Ekaterina Vorobyeva, Andrei Gurtov Helsinki Institute for Information Technology MobiArch'07 Kyoto,

More information

Department of Electrical and Information Technology ETSF10 Internet Protocols Home Laboratory Project II

Department of Electrical and Information Technology ETSF10 Internet Protocols Home Laboratory Project II Department of Electrical and Information Technology ETSF10 Internet Protocols Home Laboratory Project II TCP The aim of this lab is to let you familiarise yourselves with some of the basic TCP concepts

More information

Resource Guide Implementing QoS for WX/WXC Application Acceleration Platforms

Resource Guide Implementing QoS for WX/WXC Application Acceleration Platforms Resource Guide Implementing QoS for WX/WXC Application Acceleration Platforms Juniper Networks, Inc. 1194 North Mathilda Avenue Sunnyvale, CA 94089 USA 408 745 2000 or 888 JUNIPER www.juniper.net Table

More information

Presentation_ID. 2002, Cisco Systems, Inc. All rights reserved.

Presentation_ID. 2002, Cisco Systems, Inc. All rights reserved. 1 Gigabit to the Desktop Session Number 2 Gigabit to the Desktop What we are seeing: Today s driver for Gigabit Ethernet to the Desktop is not a single application but the simultaneous use of multiple

More information

Towards a Robust Protocol Stack for Diverse Wireless Networks Arun Venkataramani

Towards a Robust Protocol Stack for Diverse Wireless Networks Arun Venkataramani Towards a Robust Protocol Stack for Diverse Wireless Networks Arun Venkataramani (in collaboration with Ming Li, Devesh Agrawal, Deepak Ganesan, Aruna Balasubramanian, Brian Levine, Xiaozheng Tie at UMass

More information

Assignment 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 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 information

TCP: Flow and Error Control

TCP: Flow and Error Control 1 TCP: Flow and Error Control Required reading: Kurose 3.5.3, 3.5.4, 3.5.5 CSE 4213, Fall 2006 Instructor: N. Vlajic TCP Stream Delivery 2 TCP Stream Delivery unlike UDP, TCP is a stream-oriented protocol

More information

IBM POWER8 100 GigE Adapter Best Practices

IBM POWER8 100 GigE Adapter Best Practices Introduction IBM POWER8 100 GigE Adapter Best Practices With higher network speeds in new network adapters, achieving peak performance requires careful tuning of the adapters and workloads using them.

More information

TCP and BBR. Geoff Huston APNIC

TCP 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 information

14-740: Fundamentals of Computer and Telecommunication Networks

14-740: Fundamentals of Computer and Telecommunication Networks 14-740: Fundamentals of Computer and Telecommunication Networks Fall 2018 Quiz #2 Duration: 75 minutes ANSWER KEY Name: Andrew ID: Important: Each question is to be answered in the space provided. Material

More information

Congestion Control in Communication Networks

Congestion Control in Communication Networks Congestion Control in Communication Networks Introduction Congestion occurs when number of packets transmitted approaches network capacity Objective of congestion control: keep number of packets below

More information

Congestion Control. Andreas Pitsillides University of Cyprus. Congestion control problem

Congestion Control. Andreas Pitsillides University of Cyprus. Congestion control problem Congestion Control Andreas Pitsillides 1 Congestion control problem growing demand of computer usage requires: efficient ways of managing network traffic to avoid or limit congestion in cases where increases

More information

BicTCP Implemenation in Linux Kernels

BicTCP Implemenation in Linux Kernels BicTCP Implemenation in Linux Kernels Yee-Ting Li and Doug Leith Hamilton Institute, NUI Maynooth 15th February 2004 Abstract This document describes a bug in BicTCP, which has been implemented into the

More information

Advanced Computer Networks. End Host Optimization

Advanced Computer Networks. End Host Optimization Oriana Riva, Department of Computer Science ETH Zürich 263 3501 00 End Host Optimization Patrick Stuedi Spring Semester 2017 1 Today End-host optimizations: NUMA-aware networking Kernel-bypass Remote Direct

More information

The Case for Informed Transport Protocols

The Case for Informed Transport Protocols The Case for Informed Transport Protocols Stefan Savage Neal Cardwell Tom Anderson University of Washington Our position Wide-area network performance: is important is limited by inefficient congestion

More information

Wireshark Lab: TCP v7.0

Wireshark Lab: TCP v7.0 Wireshark Lab: TCP v7.0 Supplement to Computer Networking: A Top-Down Approach, 7th ed., J.F. Kurose and K.W. Ross Tell me and I forget. Show me and I remember. Involve me and I understand. Chinese proverb

More information

CS419: Computer Networks. Lecture 10, Part 3: Apr 13, 2005 Transport: TCP performance

CS419: Computer Networks. Lecture 10, Part 3: Apr 13, 2005 Transport: TCP performance : Computer Networks Lecture 10, Part 3: Apr 13, 2005 Transport: TCP performance TCP performance We ve seen how TCP the protocol works But there are a lot of tricks required to make it work well Indeed,

More information

FUJITSU Software Interstage Information Integrator V11

FUJITSU Software Interstage Information Integrator V11 FUJITSU Software V11 An Innovative WAN optimization solution to bring out maximum network performance October, 2013 Fujitsu Limited Contents Overview Key technologies Supported network characteristics

More information

Investigating the Use of Synchronized Clocks in TCP Congestion Control

Investigating 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 information

Before beginning this lab, you ll probably want to review sections 3.5 and 3.7 in the text. 1

Before beginning this lab, you ll probably want to review sections 3.5 and 3.7 in the text. 1 Wireshark Lab: TCP Version: 2.0 2007 J.F. Kurose, K.W. Ross. All Rights Reserved Computer Networking: A Topdown Approach, 4 th edition. In this lab, we ll investigate the behavior of TCP in detail. We

More information

CS 162 Operating Systems and Systems Programming Professor: Anthony D. Joseph Spring Lecture 21: Network Protocols (and 2 Phase Commit)

CS 162 Operating Systems and Systems Programming Professor: Anthony D. Joseph Spring Lecture 21: Network Protocols (and 2 Phase Commit) CS 162 Operating Systems and Systems Programming Professor: Anthony D. Joseph Spring 2003 Lecture 21: Network Protocols (and 2 Phase Commit) 21.0 Main Point Protocol: agreement between two parties as to

More information

CS321: Computer Networks Congestion Control in TCP

CS321: 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 information

image 3.8 KB Figure 1.6: Example Web Page

image 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 information

TCP and BBR. Geoff Huston APNIC. #apricot

TCP 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 information

Debugging end-to-end performance in commodity operating systems.

Debugging end-to-end performance in commodity operating systems. Debugging end-to-end performance in commodity operating systems. Sven Ubik, and Pavel Cimbal, CESNET, Prague, Czech Republic I. INTRODUCTION The Internet infrastructure

More information

Chapter 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 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 information

Before beginning this lab, you ll probably want to review sections 3.5 and 3.7 in the text.

Before beginning this lab, you ll probably want to review sections 3.5 and 3.7 in the text. Ethereal Lab: TCP In this lab, we ll investigate the behavior of TCP in detail. We ll do so by analyzing a trace of the TCP segments sent and received in transferring a 150KB file (containing the text

More information

Page 1. Goals for Today" Discussion" Example: Reliable File Transfer" CS162 Operating Systems and Systems Programming Lecture 11

Page 1. Goals for Today Discussion Example: Reliable File Transfer CS162 Operating Systems and Systems Programming Lecture 11 Goals for Today" CS162 Operating Systems and Systems Programming Lecture 11 Reliability, Transport Protocols" Finish e2e argument & fate sharing Transport: TCP/UDP Reliability Flow control October 5, 2011

More information

CTCP (Circuit TCP) v1.0

CTCP (Circuit TCP) v1.0 Outline C (Circuit ) v1.0 Helali Bhuiyan and Malathi Veeraraghavan {helali,mv5g}@virginia.edu Purpose of C Requirements to run C code C Components C Operation C details C Usage Usage of C across an Internet

More information

Congestion Control End Hosts. CSE 561 Lecture 7, Spring David Wetherall. How fast should the sender transmit data?

Congestion 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 information

Internet data transfer record between CERN and California. Sylvain Ravot (Caltech) Paolo Moroni (CERN)

Internet data transfer record between CERN and California. Sylvain Ravot (Caltech) Paolo Moroni (CERN) Internet data transfer record between CERN and California Sylvain Ravot (Caltech) Paolo Moroni (CERN) Summary Internet2 Land Speed Record Contest New LSR DataTAG project and network configuration Establishing

More information

Applied Networks & Security

Applied Networks & Security Applied Networks & Security TCP/IP Protocol Suite http://condor.depaul.edu/~jkristof/it263/ John Kristoff jtk@depaul.edu IT 263 Spring 2006/2007 John Kristoff - DePaul University 1 ARP overview datalink

More information

Memory Management Strategies for Data Serving with RDMA

Memory Management Strategies for Data Serving with RDMA Memory Management Strategies for Data Serving with RDMA Dennis Dalessandro and Pete Wyckoff (presenting) Ohio Supercomputer Center {dennis,pw}@osc.edu HotI'07 23 August 2007 Motivation Increasing demands

More information

Response-Time Technology

Response-Time Technology Packeteer Technical White Paper Series Response-Time Technology May 2002 Packeteer, Inc. 10495 N. De Anza Blvd. Cupertino, CA 95014 408.873.4400 info@packeteer.com www.packeteer.com Company and product

More information

1.0 Overview Configuration for TestNav Network User Capacity Testing Volume Calculator... 5

1.0 Overview Configuration for TestNav Network User Capacity Testing Volume Calculator... 5 Copyright 2012, Pearson Education, Inc. Published October 1, 2012 1.0 Overview... 3 1.1 Who Should Use This Guide... 3 2.0 Configuration for TestNav... 3 3.0 Network User Capacity... 4 4.0 Testing Volume

More information

A Generalization of a TCP Model: Multiple Source-Destination Case. with Arbitrary LAN as the Access Network

A Generalization of a TCP Model: Multiple Source-Destination Case. with Arbitrary LAN as the Access Network A Generalization of a TCP Model: Multiple Source-Destination Case with Arbitrary LAN as the Access Network Oleg Gusak and Tu rul Dayar Department of Computer Engineering and Information Science Bilkent

More information