MULTIPLE TCP CONNECTIONS Presented by Josh Kaltman and Bob Otting.

Slides:



Advertisements
Similar presentations
Congestion Control and Fairness Models Nick Feamster CS 4251 Computer Networking II Spring 2008.
Advertisements

Introduction 1-1 Chapter 3 Transport Layer Intro and Multiplexing Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley.
Ensuring the Reliability of Data Delivery © 2004 Cisco Systems, Inc. All rights reserved. Establishing a TCP Connection INTRO v2.0—6-1.
Confused, Timid, and Unstable: Picking a Video Streaming Rate is Hard Published in 2012 ACM’s Internet Measurement Conference (IMC) Five students from.
Doc.: IEEE /0604r1 Submission May 2014 Slide 1 Modeling and Evaluating Variable Bit rate Video Steaming for ax Date: Authors:
11 TROUBLESHOOTING Chapter 12. Chapter 12: TROUBLESHOOTING2 OVERVIEW  Determine whether a network communications problem is related to TCP/IP.  Understand.
Jay Aikat and Kevin Jeffay Department of Computer Science, UNC-Chapel Hill October 27, 2013 GENI in the Classroom: Course Modules for Teaching Networking.
Confused, Timid and Unstable: Picking a Video Rate is Hard Te-Yuan (TY) Huang Stanford University Nov 15 th, 2012 Joint work with Nikhil Handigol, Brandon.
Measurements of Congestion Responsiveness of Windows Streaming Media (WSM) Presented By:- Ashish Gupta.
The Tension Between High Video Rate and No Rebuffering Te-Yuan (TY) Huang Stanford University IRTF Open 87 July 30th, 2013 Joint work Prof.
Offense: Chang Seok Bae Yi Yang. Offense Outline Challenge the contributions Challenge the methodology Challenge the conclusions Challenge the details.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 OSI Transport Layer Network Fundamentals – Chapter 4.
Methodology easy but important 1. ToC 1.What is performance evaluation about ? 2.Metrics, Load and Goals 3.Hidden Factors 4.The Scientific Method 5.Patterns.
The Impact of False Sharing on Shared Congestion Management Aditya Akella and Srinivasan Seshan (Computer Science Department, Carnegie Mellon University)
High-performance bulk data transfers with TCP Matei Ripeanu University of Chicago.
1 TCP Transport Control Protocol Reliable In-order delivery Flow control Responds to congestion “Nice” Protocol.
1 Manpreet Singh, Prashant Pradhan* and Paul Francis * MPAT: Aggregate TCP Congestion Management as a Building Block for Internet QoS.
1 K. Salah Module 6.1: TCP Flow and Congestion Control Connection establishment & Termination Flow Control Congestion Control QoS.
TCP. Learning objectives Reliable Transport in TCP TCP flow and Congestion Control.
Performance Comparison of Congested HTTP/2 Links Brian Card, CS /7/
WXES2106 Network Technology Semester /2005 Chapter 8 Intermediate TCP CCNA2: Module 10.
Datagram Congestion Control Protocol Timothy Sohn Eiman Zolfaghari CS268 Project May 15, 2002.
All rights reserved © 2006, Alcatel Accelerating TCP Traffic on Broadband Access Networks  Ing-Jyh Tsang 
1 Chapter Overview Introduction to Windows XP Professional Printing Setting Up Network Printers Connecting to Network Printers Configuring Network Printers.
The Effects of Systemic Packets Loss on Aggregate TCP Flows Thomas J. Hacker May 8, 2002 Internet 2 Member Meeting.
A measurement study of vehicular internet access using in situ Wi-Fi networks Vladimir Bychkovsky, Bret Hull, Allen Miu, Hari Balakrishnan, and Samuel.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public ITE PC v4.0 Chapter 1 1 Troubleshooting Your Network Networking for Home and Small Businesses.
Modeling TCP Throughput: A Simple Model and its Empirical Validation Ross Rosemark Penn State University.
1 Modeling the Effect of a Rate Smoother on TCP Congestion Control Behavior Kang Li, Jonathan Walpole, David C. Steere {kangli, walpole,
Database-Driven Web Sites, Second Edition1 Chapter 5 WEB SERVERS.
Sharing Information across Congestion Windows CSE222A Project Presentation March 15, 2005 Apurva Sharma.
CS332, Ch. 26: TCP Victor Norman Calvin College 1.
1 The Internet and Networked Multimedia. 2 Layering  Internet protocols are designed to work in layers, with each layer building on the facilities provided.
The Transmission Control Protocol (TCP) Application Services (Telnet, FTP, , WWW) Reliable Stream Transport (TCP) Connectionless Packet Delivery.
Congestion control for Multipath TCP (MPTCP) Damon Wischik Costin Raiciu Adam Greenhalgh Mark Handley THE ROYAL SOCIETY.
2000 년 11 월 20 일 전북대학교 분산처리실험실 TCP Flow Control (nagle’s algorithm) 오 남 호 분산 처리 실험실
HighSpeed TCP for High Bandwidth-Delay Product Networks Raj Kettimuthu.
Rate Control Rate control tunes the packet sending rate. No more than one packet can be sent during each packet sending period. Additive Increase: Every.
BNL’s Network diagnostic tool IPERF was used and combined with different strategies to analyze network bandwidth performance such as: -Test with iperf.
Copyright 2008 Kenneth M. Chipps Ph.D. Controlling Flow Last Update
Networking Fundamentals. Basics Network – collection of nodes and links that cooperate for communication Nodes – computer systems –Internal (routers,
TCP with Variance Control for Multihop IEEE Wireless Networks Jiwei Chen, Mario Gerla, Yeng-zhong Lee.
Transport Layer3-1 TCP throughput r What’s the average throughout of TCP as a function of window size and RTT? m Ignore slow start r Let W be the window.
Chapter 11.4 END-TO-END ISSUES. Optical Internet Optical technology Protocol translates availability of gigabit bandwidth in user-perceived QoS.
Murari Sridharan Windows TCP/IP Networking, Microsoft Corp. (Collaborators: Kun Tan, Jingmin Song, MSRA & Qian Zhang, HKUST)
COMP2322 Lab 1 Introduction to Wireshark Weichao Li Jan. 22, 2016.
4343 X2 – The Transport Layer Tanenbaum Ch.6.
Spring Computer Networks1 Congestion Control Sections 6.1 – 6.4 Outline Preliminaries Queuing Discipline Reacting to Congestion Avoiding Congestion.
TCP as a Reliable Transport. How things can go wrong… Lost packets Corrupted packets Reordered packets …Malicious packets…
Increasing TCP's CWND based on Throughput draft-you-iccrg-throughput-based-cwnd-increasing-00 Jianjie You IETF92 Dallas.
-1- Georgia State UniversitySensorweb Research Laboratory CSC4220/6220 Computer Networks Dr. WenZhan Song Professor, Computer Science.
TCP/IP1 Address Resolution Protocol Internet uses IP address to recognize a computer. But IP address needs to be translated to physical address (NIC).
Studies of LHCb Trigger Readout Network Design Karol Hennessy University College Dublin Karol Hennessy University College Dublin.
UDP: User Datagram Protocol. What Can IP Do? Deliver datagrams to hosts – The IP address in a datagram header identify a host – treats a computer as an.
iperf a gnu tool for IP networks
Analysis and Comparison of TCP Reno and TCP Vegas Review
Chapter 9: Transport Layer
Quick UDP Internet Connections
Transport Protocols over Circuits/VCs
Working at a Small-to-Medium Business or ISP – Chapter 7
TCP-LP Distributed Algorithm for Low-Priority Data Transfer
PRESENTATION ON Sky X TECH. SUBMETTED TO:- SUBMETTED BY:-
Working at a Small-to-Medium Business or ISP – Chapter 7
Working at a Small-to-Medium Business or ISP – Chapter 7
Automatic TCP Buffer Tuning
IS 4506 Server Configuration (HTTP Server)
Title of your experimental design
Computer Networks Protocols
Review of Internet Protocols Transport Layer
Presentation transcript:

MULTIPLE TCP CONNECTIONS Presented by Josh Kaltman and Bob Otting

The Question If multiple TCP connections are opened in parallel, will the total throughput improve? > ?

Relevance Aggressiveness of TCP connections Would be unfair if opening more connections resulted in greater throughput TCP is a dominant transport protocol in the Internet Bandwidth restrictions on a single connection Download accelerators

Background “Fair share” in TCP congestion avoidance From the slides we have discussed TCP friendliness[1]: Competition with other TCP flows Competition with other non-TCP flows [1]: Chapter 16 Slides

Background Shorter RTTs obtain a larger share of bandwidth than those having larger RTTs[1] Combats aggressiveness with additive increase and multiplicative decrease[1] [1]: Chapter 16 Slides

Hypothesis 1. Increasing the number of TCP connections between two machines will not increase the total throughput. Assumptions: No limit on throughput per connection Sufficient memory to sustain the connections and their buffers 2. If the window size is set to an unreasonable value, the resulting negative impact on throughput will remain the same as the number of connections increases.

Requirements for Evaluation We need a way to accomplish each of the following: 1. Open multiple TCP connections in parallel 2. Adjust TCP window sizes 3. Measure the rate of speed for each connection 4. Ideally plot graphs for each of the experiments

Potential Tools Program our own diagnostic tool Use some other existing network diagnostic tool Use Wireshark to measure and graph connections Use a different visualization tool for graphs

Selected Tools iPerf Network performance testing tool Simultaneous TCP connections Can vary window sizes Basic throughput measurement Documentation:

Setup CSE Machine  CSE Machine Download and compile iperf on the CSE network Start one machine as a client and the other as a server Run the experiment with varying number of connections, window sizes, and buffer sizes CSE Machine  External Endpoint Download and compile iperf on laptop Address reservation Port forwarding Start CSE machine as client and laptop as server

Setup Shell scripting Learned some basic shell scripting and created a script that would test the CSE machines while logged out of SSH

Results CSE Machines: Gamma  Beta Window Size: 20kb (default) Date: March 12, 2015

Results CSE Machines: Gamma  Beta Window Size: 20kb (default) Date: March 24, 2015

Results CSE Machines: Gamma  Beta Date: March 25, Kb5kb10kb20kb50kb100kb200kb 1 Conn Conn Conn Conn A test with each pair of settings was performed 4 times and the mean was taken. All results in Mbits/sec TCP Window Size # Connections

Results Machines: Gamma  Laptop (home) Date: March 25, Kb5kb10kb20kb50kb100kb200kb 1 Conn Conn Conn A test with each pair of settings was performed 4 times and the mean was taken. All results in Mbits/sec Could not test more than 5 connections at once, presumably because of security restrictions somewhere between CSE machine and laptop # Connections TCP Window Size

The Question So if multiple TCP connections are opened in parallel, does the total throughput improve? > ? Apparently It Does

Analysis After examining the data, we surprisingly found our hypotheses to be experimentally incorrect. Why might this behavior occur? Some ideas: Limit on the rate an individual socket or connection can transmit TCP streams being split up as they travel through the Internet Don’t necessarily take up a combined “fair share” of bandwidth Stdlinux may be running on a virtual machine iPerf itself could be faulty (unlikely, but possible)

Analysis Per iPerf’s documentation, “If the total aggregate bandwidth is more than what an individual stream gets, something is wrong. Either the TCP window size is too small, or the OS's TCP implementation has bugs, or the network itself has deficiencies.“ We varied the TCP window size a lot, so we don’t believe that this is the issue. There is most likely something interesting happening with the network itself or the OS’s TCP implementation

Future Extensions Set up multiple clients and servers on different ports Try running tests on an isolated network If the unexpected observed behavior is correct, design applications using multiple connections to improve throughput

Concluding Remarks Based on TCP’s congestion control algorithm, we assumed that increasing the number of TCP connections would not improve throughput We used iPerf as a tool for network analysis Throughput was very different for single vs multiple connections Theoretically, we believe our hypotheses are correct Experimentally, we were proven wrong

Thank you. Questions?