Application Layer Network Window Management in the SSH Protocol Chris Rapier Michael A. Stevens
|
|
- Prudence Rodgers
- 5 years ago
- Views:
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 Chris Rapier Benjamin Bennett TIP 08 Moving Data Still crazy after all these years Multiple solutions exist Protocols UDT, SABUL, etc Implementations
More informationHigh 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 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 informationHigh 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 informationWhy 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 informationSSH 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 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 informationDocuments. Configuration. Important Dependent Parameters (Approximate) Version 2.3 (Wed, Dec 1, 2010, 1225 hours)
1 of 7 12/2/2010 11:31 AM Version 2.3 (Wed, Dec 1, 2010, 1225 hours) Notation And Abbreviations preliminaries TCP Experiment 2 TCP Experiment 1 Remarks How To Design A TCP Experiment KB (KiloBytes = 1,000
More informationFermilab 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 informationMeasuring 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 informationOn 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 informationMeasuring 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 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 informationMASV 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 informationBuffer 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 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 informationHomework 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 informationEvaluation 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 informationNetwork 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 informationSharkFest'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 informationTCPDelay: 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 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 informationTCP 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 informationCommunication Networks
Communication Networks Spring 2018 Laurent Vanbever nsg.ee.ethz.ch ETH Zürich (D-ITET) April 30 2018 Materials inspired from Scott Shenker & Jennifer Rexford Last week on Communication Networks We started
More informationCS4700/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 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 informationECE 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 informationCongestion 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 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 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 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 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 informationExperimental 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 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 informationHyperIP : 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 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 informationReasons 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 informationASPERA 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 informationAdvanced 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 informationUser 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 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 informationEECS 122, Lecture 19. Reliable Delivery. An Example. Improving over Stop & Wait. Picture of Go-back-n/Sliding Window. Send Window Maintenance
EECS 122, Lecture 19 Today s Topics: More on Reliable Delivery Round-Trip Timing Flow Control Intro to Congestion Control Kevin Fall, kfall@cs cs.berkeley.eduedu Reliable Delivery Stop and Wait simple
More informationSIMULATION 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 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 informationCS 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 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 informationCS519: 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 information10 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 informationAdvanced Computer Networks
Advanced Computer Networks Congestion control in TCP Contents Principles TCP congestion control states Congestion Fast Recovery TCP friendly applications Prof. Andrzej Duda duda@imag.fr http://duda.imag.fr
More informationMininet 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 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 informationMPA (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 informationNetwork 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 informationA Survey on Quality of Service and Congestion Control
A Survey on Quality of Service and Congestion Control Ashima Amity University Noida, U.P, India batra_ashima@yahoo.co.in Sanjeev Thakur Amity University Noida, U.P, India sthakur.ascs@amity.edu Abhishek
More 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 informationTCP 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 informationTCP 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 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 informationTCP-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 informationAn 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 informationData 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 informationBenchmarking 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 informationEng 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 informationRED behavior with different packet sizes
RED behavior with different packet sizes Stefaan De Cnodder, Omar Elloumi *, Kenny Pauwels Traffic and Routing Technologies project Alcatel Corporate Research Center, Francis Wellesplein, 1-18 Antwerp,
More informationPerformance 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 informationDepartment 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 informationResource 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 informationPresentation_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 informationTowards 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 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: 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 informationIBM 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 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 information14-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 informationCongestion 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 informationCongestion 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 informationBicTCP 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 informationAdvanced 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 informationThe 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 informationWireshark 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 informationCS419: 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 informationFUJITSU 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 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 informationBefore 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 informationCS 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 informationCS321: Computer Networks Congestion Control in TCP
CS321: Computer Networks Congestion Control in TCP Dr. Manas Khatua Assistant Professor Dept. of CSE IIT Jodhpur E-mail: manaskhatua@iitj.ac.in Causes and Cost of Congestion Scenario-1: Two Senders, a
More 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 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 informationDebugging 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 informationChapter 6. What happens at the Transport Layer? Services provided Transport protocols UDP TCP Flow control Congestion control
Chapter 6 What happens at the Transport Layer? Services provided Transport protocols UDP TCP Flow control Congestion control OSI Model Hybrid Model Software outside the operating system Software inside
More informationBefore 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 informationPage 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 informationCTCP (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 informationCongestion Control End Hosts. CSE 561 Lecture 7, Spring David Wetherall. How fast should the sender transmit data?
Congestion Control End Hosts CSE 51 Lecture 7, Spring. David Wetherall Today s question How fast should the sender transmit data? Not tooslow Not toofast Just right Should not be faster than the receiver
More informationInternet 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 informationApplied 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 informationMemory 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 informationResponse-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 information1.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 informationA 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