TCP-Friendly Congestion Control 童曉儒 教授 國立屏東科技大學 資管系.

Slides:



Advertisements
Similar presentations
1 School of Computing Science Simon Fraser University CMPT 771/471: Internet Architecture & Protocols TCP-Friendly Transport Protocols.
Advertisements

Prentice HallHigh Performance TCP/IP Networking, Hassan-Jain Chapter 2 TCP/IP Fundamentals.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public ITE PC v4.0 Chapter 1 1 OSI Transport Layer Network Fundamentals – Chapter 4.
Transmission Control Protocol (TCP)
Winter 2008CS244a Handout #61 CS244a: An Introduction to Computer Networks Handout 6: The Transport Layer, Transmission Control Protocol (TCP), and User.
BZUPAGES.COM 1 User Datagram Protocol - UDP RFC 768, Protocol 17 Provides unreliable, connectionless on top of IP Minimal overhead, high performance –No.
Transport Layer – TCP (Part1) Dr. Sanjay P. Ahuja, Ph.D. Fidelity National Financial Distinguished Professor of CIS School of Computing, UNF.
TELE202 Lecture 14 TCP/UDP (2) 1 Lecturer Dr Z. Huang Overview ¥Last Lecture »TCP/UDP (1) »Source: chapter 17 ¥This Lecture »TCP/UDP (2) »Source: chapter.
Copyright 1999, S.D. Personick. All Rights Reserved. Telecommunications Networking II Lecture 32 Transmission Control Protocol (TCP) Ref: Tanenbaum pp:
Congestion Control An Overview -Jyothi Guntaka. Congestion  What is congestion ?  The aggregate demand for network resources exceeds the available capacity.
Network Congestion Gabriel Nell UC Berkeley. Outline Background: what is congestion? Congestion control – End-to-end – Router-based Economic insights.
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.
RAP: An End-to-End Rate-Based Congestion Control Mechanism for Realtime Streams in the Internet Reza Rejai, Mark Handley, Deborah Estrin U of Southern.
1 689 Lecture 2 Review of Last Lecture Networking basics TCP/UDP review.
TCP Friendliness CMPT771 Spring 2008 Michael Jia.
Department of Electronic Engineering City University of Hong Kong EE3900 Computer Networks Transport Protocols Slide 1 Transport Protocols.
TCP. Learning objectives Reliable Transport in TCP TCP flow and Congestion Control.
UDP© Dr. Ayman Abdel-Hamid, CS4254 Spring CS4254 Computer Network Architecture and Programming Dr. Ayman A. Abdel-Hamid Computer Science Department.
Gursharan Singh Tatla Transport Layer 16-May
What Can IP Do? Deliver datagrams to hosts – The IP address in a datagram header identify a host IP treats a computer as an endpoint of communication Best.
Process-to-Process Delivery:
CS 218 F 2003 Nov 3 lecture:  Streaming video/audio  Adaptive encoding (eg, layered encoding)  TCP friendliness References: r J. Padhye, V.Firoiu, D.
TRANSPORT LAYER T.Najah Al-Subaie Kingdom of Saudi Arabia Prince Norah bint Abdul Rahman University College of Computer Since and Information System NET331.
Lect3..ppt - 09/12/04 CIS 4100 Systems Performance and Evaluation Lecture 3 by Zornitza Genova Prodanoff.
1 Transport Layer Computer Networks. 2 Where are we?
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.
Congestion control for multimedia Henning Schulzrinne Dept. of Computer Science Columbia University Fall 2003.
TCOM 509 – Internet Protocols (TCP/IP) Lecture 04_b Transport Protocols - TCP Instructor: Dr. Li-Chuan Chen Date: 09/22/2003 Based in part upon slides.
TCP : Transmission Control Protocol Computer Network System Sirak Kaewjamnong.
TCP/IP Transport and Application (Topic 6)
Copyright 2002, S.D. Personick. All Rights Reserved.1 Telecommunications Networking II Topic 20 Transmission Control Protocol (TCP) Ref: Tanenbaum pp:
TCP1 Transmission Control Protocol (TCP). TCP2 Outline Transmission Control Protocol.
The Transmission Control Protocol (TCP) Application Services (Telnet, FTP, , WWW) Reliable Stream Transport (TCP) Connectionless Packet Delivery.
Fall 2005 By: H. Veisi Computer networks course Olum-fonoon Babol Chapter 6 The Transport Layer.
1 Introduction to Computer Networks University of ilam Dr. Mozafar Bag-Mohammadi Transport Layer.
CSE679: Computer Network Review r Review of the uncounted quiz r Computer network review.
Rate Adaptation Protocol for Real-time Streams Goal: develop an end-to-end TCP-friendly RAP for semi-reliable rate-based applications (e.g. playback of.
A Survey on TCP-Friendly Congestion Control 童曉儒 教授 國立屏東科技大學 資管系.
Transport Layer 3-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March
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.
Transport Protocols.
1 Advanced Transport Protocol Design Nguyen Multimedia Communications Laboratory March 23, 2005.
79 Sidevõrgud IRT 4060/ IRT 0020 vooruloeng 8 / 3. nov 2004 Vooülekanne Avo Ots telekommunikatsiooni õppetool, TTÜ raadio- ja sidetehnika inst.
Peer-to-Peer Networks 13 Internet – The Underlay Network
McGraw-Hill Chapter 23 Process-to-Process Delivery: UDP, TCP Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
1 End-to-End Protocols UDP TCP –Connection Establishment/Termination –Sliding Window Revisited –Flow Control –Congestion Control –Adaptive Timeout.
CIS679: TCP and Multimedia r Review of last lecture r TCP and Multimedia.
TCP/IP1 Address Resolution Protocol Internet uses IP address to recognize a computer. But IP address needs to be translated to physical address (NIC).
11 CS716 Advanced Computer Networks By Dr. Amir Qayyum.
CIS679: UDP and Multimedia r Review of last lecture r UDP and multimedia.
The Transport Layer Implementation Services Functions Protocols
Transport Protocols Relates to Lab 5. An overview of the transport protocols of the TCP/IP protocol suite. Also, a short discussion of UDP.
Chapter 3 outline 3.1 transport-layer services
Introduction to Networks
Transport Control Protocol
TCP.
Understand the OSI Model Part 2
TCP.
Magda El Zarki Professor, ICS UC, Irvine
Internet and Intranet Protocols and Applications
Process-to-Process Delivery:
Transport Control Protocol
Introduction to Computer Networks
Transport Layer: Congestion Control
Process-to-Process Delivery: UDP, TCP
TCP flow and congestion control
Computer Networks Protocols
Transport Protocols Relates to Lab 5. An overview of the transport protocols of the TCP/IP protocol suite. Also, a short discussion of UDP.
Presentation transcript:

TCP-Friendly Congestion Control 童曉儒 教授 國立屏東科技大學 資管系

Outline Introduction Congestion User datagram protocol (UDP) Transmission Control Protocol (TCP) TCP Friendliness Rate Adaptation Protocol (RAP) Conclusions

Introduction(1/4) Not all Internet applications use TCP and therefore do not follow the same concept of fairly sharing the available bandwidth. TCP-based protocols applications  Hypertext Transfer Protocol (HTTP)  Simple Mail Transfer Protocol (SMTP)  File Transfer Protocol (FTP)

Introduction(2/4) Non-TCP traffic applications is constantly growing.  Internet audio players  IP telephony  Videoconferencing  real-time applications Upon encountering congestion  All contending TCP flows reduce their data rates in an attempt to dissolve the congestion.  The non-TCP flows continue to send at their original rate.

Introduction(3/4) TCP congestion control  end-to-end mechanism  assumes that end systems correctly follow the protocol Coexistence of TCP flow and non-TCP flow (or faked TCP flow)  If one is greedy  unfairness  If one is malicious  congestion, DoS

Introduction(4/4) Since these applications commonly do not integrate TCP- compatible congestion control mechanisms. To define appropriate rate adaptation rules and mechanisms for non-TCP traffic that are compatible with the rate adaptation mechanism of TCP. These rate adaptation rules should make non-TCP applications TCP-friendly, and lead to a fair distribution of bandwidth.

What is congestion (1/2) What is congestion ?  The aggregate demand for bandwidth exceeds the available capacity of a link. What will be occur ?  Performance Degradation Multiple packet losses Low link utilization (low Throughput) High queueing delay Congestion collapse

What is congestion (2/2) Different sources compete for resources inside network Why is it a problem?  Sources are not aware of current state of resources  Sources are not aware of each other  In many situations will result in < 1.5 Mbps throughput (congestion collapse) 10 Mb/s 100 Mb/s 1.5 Mb/s

User datagram protocol (UDP) UDP is another transport protocol in the TCP/IP suite UDP provides an unreliable datagram service  Packets may be lost or delivered out of order  Users exchange datagrams (not streams)  Connection-less  Not buffered -- UDP accepts data and transmits immediately (no buffering before transmission)  Full duplex -- concurrent transfers can take place in both directions

User datagram protocol (UDP) source port destination port message lengthchecksum data

User datagram protocol (UDP) UDP Destination Port: identifies destination process UDP Source Port: optional – identifies source process for replies, or zero Message Length: length of datagram in bytes, including header and data Checksum: optional bit checksum over header and data, or zero

UDP Versus TCP (1) Choice of UDP versus TCP is based on:  Functionality  Performance Performance  TCP’s window-based flow control scheme leads to bursty bulk transfers (not rate based)  TCP’s “slow start” algorithm can reduce throughput  TCP has extra overhead per segment  UDP can send small, inefficient datagrams

UDP Versus TCP (2) Reliability  TCP provides reliable, in-order transfers  UDP provides unreliable service – application must accept or deal with Packet loss due to overflows and errors Out-of-order datagrams Multicast and broadcast  Supported only by UDP  TCP’s error control scheme does not lend itself to reliable multicast Data size  UDP datagrams limited to IP MTU (64KB)

UDP Versus TCP (3) Application complexity  Application-level framing can be difficult using TCP because of the Nagle algorithm  Nagle algorithm controls when TCP segments are sent to use IP datagrams efficiently  But, data may be received and read by applications in different units than how it was sent

UDP versus TCP (4)  HyperText Transfer Protocol (HTTP)  File Transfer Protocol (FTP)  Telnet  Post Office Protocol (POP)  MBONE audio/video  Real Player  Network File System (NFS)

Transmission Control Protocol (TCP) End-to-end transport protocol Responsible for reliability, congestion control, flow control, and sequenced delivery Applications that use TCP: http (web), telnet, ftp (file transfer), smtp ( ), chat Applications that don’t: multimedia (typically) – use UDP instead

Transmission Control Protocol (TCP)

Source port Destination port Sequence number Acknowlegement number Data offsetReservedFlagsWindow ChecksumUrgent pointer Options(+padding) Date (variable)

Transmission Control Protocol (TCP) Each connection identified with 4-tuple:  (SrcPort, SrcIPAddr, DsrPort, DstIPAddr) Sliding window + flow control  acknowledgment, SequenceNum, AdvertisedWinow Flags  SYN, FIN, RESET, PUSH, URG, ACK Checksum is the same as UDP  pseudo header + TCP header + data Sender Data(SequenceNum) Acknowledgment + AdvertisedWindow Receiver

Transmission Control Protocol (TCP)

TCP Congestion control  Slow-Start  Congestion Avoidance (AIMD)  Retransmission

Transmission Control Protocol (TCP)

TCP slow-start 1 One RTT One pkt time 0R 2 1R 3 4 2R R

TCP Saw Tooth Behavior Time Congestion Window Initial Slowstart Fast Retransmit and Recovery Slowstart to pace packets Timeouts may still occur

TCP Fairness Fairness goal  If K TCP sessions share same bottleneck link of bandwidth R, each should have average rate of R/K TCP connection 1 bottleneck router capacity R TCP connection 2

TCP Friendliness  「 their long-term throughput does not exceed the throughput of a conformant TCP connection under the same conditions 」  TCP friendliness ensures that coexisting TCP flows are not treated unfairly by non-TCP flows. Throughput  The effect of a non-TCP flow on competing TCP flows rather than on the throughput of the non-TCP flow.

TCP friendly congestion control(1/3) TCP friendly: a protocol that behaves like TCP  Backs off if congestion and uses a fair share of resources.  Protocol that obeys TCP long term throughput relation. Internet requirement: new transport protocols must be TCP friendly  Backs off if congestion and uses a fair share of resources.  Applies also to application layer protocols transmitting over UDP, e.g., real time telephony or streaming applications.

TCP friendly congestion control(2/3) Non-TCP friendly  A protocol that takes more than its fair share of bandwidth (greedy).  May cause fluctuations in network load and result in congestion collapse. How to protect your protocol against non-TCP friendly greedy protocols?  RED is designed to solve this problem to some extent.

TCP friendly congestion control(3/3) Average rate same as TCP travelling along same data-path (rate computed via equation), but CM protocol has less rate variance. TCP Avg Rate TCP-friendly CM protocol

TCP-friendly protocol

End-to-End, Rate-based, unicast protocol Rate Adaptation Protocol (RAP)

Goal: develop an end-to-end TCP-friendly RAP for semi- reliable rate-based applications (e.g. playback of real-time streams) RAP employs an additive-increase, multiplicative- decrease (AIMD) algorithm with implicit loss feedback to control congestion RAP separates congestion control from error control RAP is fair as long as TCP operates in a predictable AIMD mode RED enhances fairness between TCP and RAP traffic

Rate Adaptation Protocol (RAP) RAP is implemented at source host Each ACK packet contains sequence number of corresponding delivered data packet From ACKs, RAP source can detect losses and sample RTT Decision Function: if no congestion detected, periodically increase rate if congestion detected, immediately decrease rate

RAP Architecture RAP in a typical end-to-end architecture for realtime playback applications in the Internet

Rate Adaptation Protocol (RAP) Decision Function Increase/decrease Algorithm Decision Frequency

Decision Function  If no congestion is detected, periodically increase the transmission rate  If congestion is detected, immediately decrease the transmission rate.  Congestion detected through timeouts, and gaps in sequence space  Timeout calculated based on Jacobson/Karel algorithm using RTT estimate (called SRTT)

Increase/decrease Algorithm RAP uses an AIMD increase/decrease algorithm. The transmission rate is controlled by adjusting the inter-packet-gap (IPG). To increase the rate additively, IPG must be iteratively updated based on equation (1) Si → transmission rate α → step height C → is a constant with the dimension of time

Inter-Packet-Gap (IPG). Interval represents the time between the arrival of the previous packet and arrival of the current packet. The arrival time corresponds to the reception of the last bit of a packet. For example, if PcktSize = 100 and Interval = 250, then the inter- packet gap is = 150 bytes. inter-packet gap

Increase/decrease Algorithm Upon detecting congestion, the transmission rate is decreased multiplicatively, by doubling the value of IPG:

Decision Frequency Decision frequency specifies how often to change the rate. The optimal adjustment frequency depends on the feedback delay. It is suggested that rate-based schemes adjust their rates not more than once per RIT Changing the rate too often results in oscillation whereas infrequent change leads to unresponsive behavior.

Decision Frequency RAP adjusts the IPG once every SRTT using (1). The time between two subsequent adjustment points is called a step. If no loss is detected, IPG is decreased and a new step is started.

Decision Frequency rate (SRTT)

References [1]S. Floyd and K. Fall, “Promoting the Use of End-to-end Congestion Control in the Internet,” IEEE/ACM Trans. Net., vol. 7, no. 4, Aug. 1999, pp. 458–72. [2] J. Padhye et al., “Modeling TCP Reno Performance: A Simple Model and Its Empirical Validation,” IEEE/ACM Trans. Net., vol. 8, no. 2, Apr. 2000, pp. 133–45. [3] H. A. Wang and M. Schwartz, “Achieving Bounded Fairness for Multicast and TCP Traffic in the Internet,” Proc. ACM SIGCOMM, [4] M. Vojnovic, J. Y. Le Boudec, and C. Boutremans, “Global Fairness of Additive- Increase and Multiplicative-Decrease with Heterogeneous Round-Trip Times,” Proc. IEEEa INFOCOM 2000, Tel Aviv, Israel, Mar [5] S. Bhattacharyya, D. Towsley, and J. Kurose, “The Loss Path Multiplicity Problem in Multicast Congestion Control,” Proc. IEEE INFOCOM, New York, NY, Mar. 1999, vol. 2, pp. 856–63. [6] S. J. Golestani and K. K. Sabnani, “Fundamental Observations on Multicast Congestion Control in the Internet,” Proc. INFOCOM ’99, Mar. 1999, vol. 2, pp. 990–1000. [7] B. Cain, T. Speakman, and D. Towsley, “Generic Router Assist GRA Building Block Motivation and Architecture,” Internet draft draft-ietf-rmt-gra-arch- 01.txt, Mar. 2000, work in progress. [8] J. Widmer, R. Denda, and M. Mauve, “A Survey on TCP-Friendly Congestion Control (Extended Version),” Tech. rep. TR , Dept. of Math. andComp. Sci., Univ. of Mannheim, Feb

References [9] S. Jacobs and A. Eleftheriadis, “Providing Video Services over Networks Without Quality of Service Guarantees,” W3C Wksp. Real-Time Multimedia and the Web, Oct [10] R. Rejaie, M. Handley, and D. Estrin, “Rap: An End-to-End Rate-Based Congestion Control Mechanism for Realtime Streams in the Internet,” Proc. IEEE INFOCOM, Mar [11] D. Sisalem and A. Wolisz, “LDA+ TCP-friendly adaptation: A Measurement and Comparison Study,” Proc. Int’l. Wkshp. Network and Op. Sys. Support for Digital Audio and Video, June [12] H. Schulzrinne et al., “Rtp: A Transport Protocol for Real-time Applications,” RFC 1889, Jan [13] S. Floyd et al., “Equation-based Congestion Control for Unicast Applications,” Proc. ACM SIGCOMM, Stockholm, Sweden, Aug. 2000, pp. 43–56. [14] J. Padhye, D. Kurose, and R. Towsley, “A model based TCP-friendly rate control protocol,” Proc. Int’l. Wksp. Network and Op. Sys. Support for Digital Audio and Video, June [15] I. Rhee, V. Ozdemir, and Y. Yi, “TEAR: TCP Emulation at Receivers – Flow Control for Multimedia Streaming,” Tech. rep., Dept. of Comp. Sci., NCSU, Apr [16] S. Bhattacharyya, D. Towsley, and J. Kurose, “A Novel Loss Indication Filtering Approach for Multicast Congestion Control,” J. Comp. Commun., Special Issue on Multicast, [17] I. Rhee, N. Balaguru, and G. Rouskas, “MTCP: Scalable TCP-Like Congestion Control for Reliable Multicast,” Proc. IEEE INFOCOM, Mar. 1999, vol. 3, pp. 1265–73. [18] S. Kasera et al., “Scalable Fair Reliable Mulitcast Using Active Services,” IEEE Net. (Special Issue on Multicast), vol. 14, no. 1, Jan./Feb. 2000, pp. 48–57.

References [19] L. Rizzo, “Pgmcc: A TCP-friendly single-rate Multicast Congestion Control Scheme,” Proc. ACM SIGCOMM, Stockholm, Sweden, Aug. 2000, pp. 17–28. [20] S. McCanne, V. Jacobson, and M. Vetterli, “Receiver-driven Layered Multicast,” Proc. ACM SIGCOMM, Palo Alto, CA, Aug. 1996, pp. 117–30. [21] L. Vicisano, J. Crowcroft, and L. Rizzo, “TCP-like Congestion Control for Layered Multicast Data Transfer,” Proc. IEEE INFOCOM, Mar. 1998, vol. 3, pp. 996–1003. [22] J. Byers et al., “FLID-DL: Congestion Control for Layered Multicast,” Proc. 2nd Int’l Wkshp. Networked Group Commun., Palo Alto, CA, Nov [23] J. Byers et al., “A Digital Fountain Approach to Reliable Distribution of Bulk Data,” Proc. ACM SIGCOMM ‘98, Sept [24] T. Turletti, S. Parisis, and J. Bolot, “Experiments with a Layered Transmission Scheme over the Internet,” Tech. rep. RR-3296, INRIA, France, Nov [25] W. Tan and A. Zakhor, “Error Control for Video Multicast Using Hierarchical FEC,” Proc. Int’l. Conf. Image Processing, Oct [26] D. Sisalem and A. Wolisz, “MLDA: A TCP-friendly Congestion Control Framework for Heterogenous Multicast Environments,” 8th Int’l. Wksp. QoS, June [27] K. Yano and S. McCanne, “A Window-based Congestion Control for Reliable Multicast Based on TCP Dynamics,” Proc. ACM Multimedia, Oct [28] D. Estrin et al., “Protocol Independent Multicast Sparse-mode (pimsm): Protocol Specification,” IETF, RFC 2362, June [29] S. Savage et al., “TCP Congestion Control with a Misbehaving Receiver,” ACM Comp. Commun. Rev., vol. 29, no. 5, Oct. 1999, pp. 71–78.

END