Transport Protocols over Circuits/VCs

Slides:



Advertisements
Similar presentations
Introduction 1 Lecture 13 Transport Layer (Transmission Control Protocol) slides are modified from J. Kurose & K. Ross University of Nevada – Reno Computer.
Advertisements

August 10, Circuit TCP (CTCP) Helali Bhuiyan
TRANSPORT LAYER  Session multiplexing  Segmentation  Flow control (TCP)  Connection-oriented (TCP)  Reliability (TCP)
Introduction 1 Lecture 14 Transport Layer (Transmission Control Protocol) slides are modified from J. Kurose & K. Ross University of Nevada – Reno Computer.
School of Information Technologies TCP Congestion Control NETS3303/3603 Week 9.
Transport Layer 3-1 outline r TCP m segment structure m reliable data transfer m flow control m congestion control.
Transport Layer 3-1 Fast Retransmit r time-out period often relatively long: m long delay before resending lost packet r detect lost segments via duplicate.
TDC365 Spring 2001John Kristoff - DePaul University1 Internetworking Technologies Transmission Control Protocol (TCP)
Congestion Control Tanenbaum 5.3, /12/2015Congestion Control (A Loss Based Technique: TCP)2 What? Why? Congestion occurs when –there is no reservation.
Transport Layer 3-1 Outline r TCP m Congestion control m Flow control.
1 689 Lecture 2 Review of Last Lecture Networking basics TCP/UDP review.
1 TCP Transport Control Protocol Reliable In-order delivery Flow control Responds to congestion “Nice” Protocol.
1 Chapter 3 Transport Layer. 2 Chapter 3 outline 3.1 Transport-layer services 3.2 Multiplexing and demultiplexing 3.3 Connectionless transport: UDP 3.4.
Department of Electronic Engineering City University of Hong Kong EE3900 Computer Networks Transport Protocols Slide 1 Transport Protocols.
TCP Congestion Control
Copyright © 2005 Department of Computer Science CPSC 641 Winter Tutorial: TCP 101 The Transmission Control Protocol (TCP) is the protocol that sends.
Lect3..ppt - 09/12/04 CIS 4100 Systems Performance and Evaluation Lecture 3 by Zornitza Genova Prodanoff.
TCP Throughput Collapse in Cluster-based Storage Systems
Optimizing UDP-based Protocol Implementations Yunhong Gu and Robert L. Grossman Presenter: Michal Sabala National Center for Data Mining.
UDT: UDP based Data Transfer Protocol, Results, and Implementation Experiences Yunhong Gu & Robert Grossman Laboratory for Advanced Computing / Univ. of.
CS332, Ch. 26: TCP Victor Norman Calvin College 1.
Transport Layer Natawut Nupairoj, Ph.D. Department of Computer Engineering Chulalongkorn University.
TCP1 Transmission Control Protocol (TCP). TCP2 Outline Transmission Control Protocol.
Networked & Distributed Systems TCP/IP Transport Layer Protocols UDP and TCP University of Glamorgan.
CSE679: Computer Network Review r Review of the uncounted quiz r Computer network review.
HighSpeed TCP for High Bandwidth-Delay Product Networks Raj Kettimuthu.
Paper Review: Latency Evaluation of Networking Mechanisms for Game Traffic Jin, Da-Jhong.
Transport Layer 3-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March
TCP: Transmission Control Protocol Part II : Protocol Mechanisms Computer Network System Sirak Kaewjamnong Semester 1st, 2004.
1 CS 4396 Computer Networks Lab TCP – Part II. 2 Flow Control Congestion Control Retransmission Timeout TCP:
Transport Layer3-1 Chapter 3 outline r 3.1 Transport-layer services r 3.2 Multiplexing and demultiplexing r 3.3 Connectionless transport: UDP r 3.4 Principles.
1 Computer Networks Congestion Avoidance. 2 Recall TCP Sliding Window Operation.
Chapter 11.4 END-TO-END ISSUES. Optical Internet Optical technology Protocol translates availability of gigabit bandwidth in user-perceived QoS.
Enabling Supernova Computations on Dedicated Channels Malathi Veeraraghavan University of Virginia
TCP transfers over high latency/bandwidth networks & Grid DT Measurements session PFLDnet February 3- 4, 2003 CERN, Geneva, Switzerland Sylvain Ravot
CPSC TCP Plots r Slides originally from Williamson at Calgary r Minor modifications are made.
Transport Layer3-1 Chapter 3 outline r 3.1 Transport-layer services r 3.2 Multiplexing and demultiplexing r 3.3 Connectionless transport: UDP r 3.4 Principles.
Transmission Control Protocol (TCP) TCP Flow Control and Congestion Control CS 60008: Internet Architecture and Protocols Department of CSE, IIT Kharagpur.
@Yuan Xue A special acknowledge goes to J.F Kurose and K.W. Ross Some of the slides used in this lecture are adapted from their.
CSEN 404 Transport Layer II Amr El Mougy Lamia AlBadrawy.
Application – Transport – Network
DMET 602: Networks and Media Lab
TCP - Part II Relates to Lab 5. This is an extended module that covers TCP flow control, congestion control, and error control in TCP.
Transport Layer CS 381 3/7/2017.
Chapter 3 outline 3.1 transport-layer services
CUBIC Marcos Vieira.
Satellite TCP Lecture 19 04/10/02.
Introduction to Networks
COMP 431 Internet Services & Protocols
Introduction to Congestion Control
Process-to-Process Delivery, TCP and UDP protocols
Chapter 3 outline 3.1 Transport-layer services
Transport Layer Unit 5.
Understanding Throughput & TCP Windows
TCP - Part II Relates to Lab 5. This is an extended module that covers TCP flow control, congestion control, and error control in TCP.
TCP Sequence Number Plots
Lecture 19 – TCP Performance
So far, On the networking side, we looked at mechanisms to links hosts using direct linked networks and then forming a network of these networks. We introduced.
CS4470 Computer Networking Protocols
Advanced Computer Networks
Transport Layer: Congestion Control
Chapter 3 outline 3.1 Transport-layer services
TCP flow and congestion control
Anant Mudambi, U. Virginia
Computer Networks Protocols
TCP: Transmission Control Protocol Part II : Protocol Mechanisms
Review of Internet Protocols Transport Layer
Designing a Relative Delay Estimator for Multipath Transport
Impact of transmission errors on TCP performance
Presentation transcript:

Transport Protocols over Circuits/VCs Master of Engineering Presentation by Helali Bhuiyan Computer Engineering University of Virginia August 7, 07

Outline Motivation and Problem Statement Related Work Background Types of Circuits/VCs TCP over Circuits/VCs Solutions Conclusions August 7, 07

Motivation and Problem Statement High-bandwidth circuit-switched or virtual-circuit (VC) networks are being used to support eScience projects Problem Statement Design transport protocols for different types of circuits/VCs August 7, 07

Related Work Several UDP-based transport protocols have been developed specifically for circuits Reliable Blast UDP (RBUDP) Rate-Adaptive Protocol for Information Delivery (RAPID) RBUDP+ and RAPID+ To keep the circuit fully utilized, these solutions try to match their sending rates with the reserved badnwidth No congestion in circuits, hence no packet loss Multitasking at the receiving host may cause receive-buffer overflow Adjust sending rate dynamically based on the feedback received from the receiver August 7, 07

Related Work TCP (i.e., Reno) is not suitable for high-bandwidth connectionless paths Packets can be lost due to congestion within the network It takes a long time to recover from a packet-loss event Several high-speed variants of TCP have been developed Higher growth rate of the congestion window leades to lower recovery time Example: BIC TCP, FAST TCP High-speed variants of TCP aim to solve the congestion problem on connectionless-network paths Are they suitable for circuits? August 7, 07

Related Work: User-Space vs. Kernel-Space UDP-based user-space implementations Receive-buffer overflows can occur due to multitasking Receiving host needs to send loss reports A window-based kernel-level implementation, as in TCP, is a simpler solution Receiving host sends receive-buffer size within each ACK packet, which reflects the exact state of the host’s loading (multitasking) condition August 7, 07

Outline Motivation and Problem Statement Related Work Background Types of Circuits/VCs TCP over Circuits/VCs Solutions Conclusions August 7, 07

Types of Circuits/VCs Switch Switch GbE GbE SONET Interface SONET Interface Different types of circuits/VCs are possible in the data network Layer-1 circuit: a GbE (Gigabit Ethernet) port is mapped to an equivalent or lower-rate SONET circuit Layer-2 circuit: VLAN on a GbE port is mapped to a single SONET circuit Multiplexed Layer-2 circuit: multiple VLANs are mapped to the same SONET circuit August 7, 07

TCP over Circuits/VCs As TCP was originally designed for connectionless networks, several features of TCP require special attention if we want to use TCP on circuits Congestion control algorithm Slow start Congestion window is increased for each ACK received Number of outstanding packets increases, if not constrained by TCP buffers TCP send and receive buffers TCP buffers smaller than the BDP (bandwidth-delay product) of the path will result in lower throughput Congestion-window reset Congestion window is reset if connection is idle for more than one retransmission-timeout Receive-side autotuning Size of the receive-side TCP buffer increases gradually Congestion-window reduced (CWR) state Overflowing IP-transmission queue causes TCP to enter CWR state August 7, 07

TCP over Circuits: Example Switch A Switch B 155 Mbps GbE RTT = 8 ms GbE Sender Receiver SONET Interface SONET Interface Bandwidth-delay product (BDP) is 100 packets Time to emit a standard 1500 byte packet by a GbE port is 12 us At OC3 rate, it takes 80 us to forward each packet Assuming at T = 0, congestion window (cwnd) is 100, and TCP is in congestion avoidance state August 7, 07

TCP over Circuits: Example cwnd = 100 Sender Receiver Switch A Buffer T = 0 = Data = ACK August 7, 07

TCP over Circuits: Example cwnd = 100 1 Sender Receiver Switch A Buffer T = 80 us = Data = ACK August 7, 07

TCP over Circuits: Example cwnd = 100 2 1 Sender Receiver Switch A Buffer T = 160 us = Data = ACK August 7, 07

TCP over Circuits: Example cwnd = 100 … 50 49 2 1 Sender Receiver Switch A Buffer T = 4 ms = Data = ACK August 7, 07

TCP over Circuits: Example cwnd = 100 … 51 50 3 2 1 Sender Receiver Switch A Buffer T = 4 ms + 80 us = Data = ACK August 7, 07

TCP over Circuits: Example cwnd = 100 … 52 51 4 3 1 2 Sender Receiver Switch A Buffer T = 4 ms + 160 us = Data = ACK August 7, 07

TCP over Circuits: Example cwnd = 100 … 100 99 52 51 … 1 2 49 50 Sender Receiver Switch A Buffer T = 8 ms = Data = ACK August 7, 07

TCP over Circuits: Example cwnd = 100.01 … 101 100 53 52 … 2 3 50 51 Sender Receiver Switch A Buffer T = 8 ms + 80 us = Data = ACK August 7, 07

TCP over Circuits: Example cwnd = 100.99 … 199 198 151 150 … 100 101 148 149 Sender Receiver Switch A Buffer T = 16 ms = Data = ACK August 7, 07

TCP over Circuits: Example cwnd = 101 … 201 200 199 152 151 … 101 102 149 150 Sender Receiver Switch A Buffer T = 16 ms + 80 us = Data = ACK August 7, 07

TCP over Circuits: Example cwnd = 101.01 … 202 201 200 153 152 … 102 103 150 151 Sender Receiver Switch A Buffer T = 16 ms + 160 us = Data = ACK August 7, 07

TCP over Circuits: Example cwnd = 102 302 … 301 300 299 252 251 … 201 202 249 250 Sender Receiver Switch A Buffer T = 24 ms = Data = ACK August 7, 07

Experimental Results SN16000 SN16000 155 Mbps GbE RTT = 8.85 ms GbE Zelda1 Wuneng SONET Interface SONET Interface Zelda1 is in Atlanta, GA, and Wuneng is in Raleigh, NC GbE interfaces of two hosts are connected to circuit-switched gateways (SN16000) An OC3 (155 Mbps) Layer-2 circuit is set up between the two switches No PAUSE frame Bandwidth-delay product is 114 packets Per-port buffer size at each of these switches is 1MB 700 packets TCP send and receive buffer sizes in both hosts are set to 4MB August 7, 07

Experimental Results Loss Congestion window growth and instantaneous throughput plot for Reno TCP 1GB transfer August 7, 07

Experimental Results Loss Congestion window growth and instantaneous throughput plot for BIC TCP 1GB transfer August 7, 07

Outline Motivation and Problem Statement Related Work Background Types of Circuits/VCs TCP over Circuits/VCs Solutions Conclusions August 7, 07

Solutions: Tune TCP Tune TCP buffers to avoid losses Tune TCP buffers to limit the growth of the number of outstanding packets User applications are not expected to do the tuning Solution: use the application-tracing tool ptrace Ptrace traps system calls made from a user application Slow start, congestion-window reset, and receive-window autotuning are still unavoidable August 7, 07

Solutions: Circuit TCP (CTCP) CTCP is a modification of TCP, in which the congestion-control software is disabled The sender maintains a constant congestion window size, matched with the bandwidth-delay product The receiver also advertises a fixed receive window Constant window size avoids slow-start, receive-side autotuning and congestion-window reset CTCP uses TCP’s window-based flow control Packets cannot be lost due to buffer overflow August 7, 07

CTCP Results Congestion window growth and instantaneous throughput plot for CTCP August 7, 07

Conclusions Selected transport protocols to match the characteristics of different types of circuit-switched/VC networks TCP is a good base transport-protocol choice for circuit-switched/VC networks Window-based flow control solution Untuned TCP may lead to packet loss over some types of circuits Unmodified user applications can tune TCP buffers to avoid loss with the help of a process-tracing tool Circuit TCP (CTCP) is a better choice, where a fixed number of packets is kept outstanding at all times Selecting the CTCP socket requires modification to the user application Process tracing tools can also be used here to select CTCP socket August 7, 07

Thank You Questions? August 7, 07

CTCP Results Throughput values over different burst sizes Various time gaps between bursts (0s, 100ms, 1s, 2s) Retransmission-timeout (RTO) is 209ms August 7, 07

Backup Contributions CTCP code Iperf Documented CTCP v1.0 code Developed API for CTCP v1.0 Iperf Modified Iperf code to use CTCP API Amanda (Advanced Maryland Network Disk Archiver) Installed and documented a user-friendly installation guide Ptrace (Process Trace) Developed software that uses ptrace to trap system calls, and modify system call behavior CTCP experiments August 7, 07