Datagram Congestion Control Protocol

Slides:



Advertisements
Similar presentations
Umut Girit  One of the core members of the Internet Protocol Suite, the set of network protocols used for the Internet. With UDP, computer.
Advertisements

Prentice HallHigh Performance TCP/IP Networking, Hassan-Jain Chapter 2 TCP/IP Fundamentals.
Guide to TCP/IP, Second Edition1 Guide To TCP/IP, Second Edition Chapter 5 Transport Layer TCP/IP Protocols.
CCNA – Network Fundamentals
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public ITE PC v4.0 Chapter 1 1 OSI Transport Layer Network Fundamentals – Chapter 4.
CSCI 4550/8556 Computer Networks
Transmission Control Protocol (TCP)
CSE551: Computer Network Review r Network Layers r TCP/UDP r IP.
1 Chapter 3 TCP and IP. Chapter 3 TCP and IP 2 Introduction Transmission Control Protocol (TCP) Transmission Control Protocol (TCP) User Datagram Protocol.
BZUPAGES.COM 1 User Datagram Protocol - UDP RFC 768, Protocol 17 Provides unreliable, connectionless on top of IP Minimal overhead, high performance –No.
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.
TCP/IP Protocol Suite 1 Chapter 13 Upon completion you will be able to: Stream Control Transmission Protocol Be able to name and understand the services.
Designing DCCP: Congestion Control Without Reliability
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 OSI Transport Layer Network Fundamentals – Chapter 4.
1 Equation-Based Congestion Control for Unicast Applications Sally Floyd, Mark Handley, Jitendra Padhye & Jorg Widmer August 2000, ACM SIGCOMM Computer.
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.
A Pragmatic Approach towards the Improvement of Performance of Ad Hoc Routing Protocols Designing DCCP: Congestion Control Without Reliability CS595F (Fall.
1 Internet Networking Spring 2003 Tutorial 11 Explicit Congestion Notification (RFC 3168) Limited Transmit (RFC 3042)
1 Internet Networking Spring 2003 Tutorial 11 Explicit Congestion Notification (RFC 3168)
1 Spring Semester 2007, Dept. of Computer Science, Technion Internet Networking recitation #8 Explicit Congestion Notification (RFC 3168) Limited Transmit.
Medium Start in TCP-Friendly Rate Control Protocol CS 217 Class Project Spring 04 Peter Leong & Michael Welch.
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.
Transport Layer TCP and UDP IS250 Spring 2010
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.
TRANSPORT LAYER T.Najah Al-Subaie Kingdom of Saudi Arabia Prince Norah bint Abdul Rahman University College of Computer Since and Information System NET331.
1 Chapter Internetworking Part 4 (Transport Protocols, UDP and TCP, Protocol Port Numbers)
1 Transport Layer Computer Networks. 2 Where are we?
Transport Layer 4 2: Transport Layer 4.
3: Transport Layer3b-1 TCP: Overview RFCs: 793, 1122, 1323, 2018, 2581 r full duplex data: m bi-directional data flow in same connection m MSS: maximum.
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 Transport Control Protocol Information management 2 Groep T Leuven – Information department 2/35 Introduction UDP provides the connection.
111 Advance Computer Networking Vinh Do Datagram Congestion Control Protocol (DCCP) Vinh Do CS529– Advance Computer Network California State University,
CS332, Ch. 26: TCP Victor Norman Calvin College 1.
University of the Western Cape Chapter 12: The Transport Layer.
ECE453 – Introduction to Computer Networks Lecture 14 – Transport Layer (I)
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 2.5 Internetworking Chapter 25 (Transport Protocols, UDP and TCP, Protocol Port Numbers)
Transport Layer: UDP, TCP
Transport Layer Moving Segments. Transport Layer Protocols Provide a logical communication link between processes running on different hosts as if directly.
CCNA 1 v3.0 Module 11 TCP/IP Transport and Application Layers.
1 TCP: Reliable Transport Service. 2 Transmission Control Protocol (TCP) Major transport protocol used in Internet Heavily used Completely reliable transfer.
CSE679: Computer Network Review r Review of the uncounted quiz r Computer network review.
Datagram Congestion Control Protocol (DCCP) CISC TCP/IP and Upper Layer Protocols Presentation by Xiaofeng Han Thanks for Kireeti.
Chapter 24 Transport Control Protocol (TCP) Layer 4 protocol Responsible for reliable end-to-end transmission Provides illusion of reliable network to.
Computer Networks23-1 PART 5 Transport Layer. Computer Networks23-2 Position of Transport Layer Responsible for the delivery of a message from one process.
NET 221D:COMPUTER NETWORKS FUNDAMENTALS Lecture : Transport Layer: Behrouz A. Forouzan” Data communications and Networking 1.
Rate/Congestion Control for Multimedia Streaming
IP1 The Underlying Technologies. What is inside the Internet? Or What are the key underlying technologies that make it work so successfully? –Packet Switching.
IT 424 Networks2 IT 424 Networks2 Ack.: Slides are adapted from the slides of the book: “Computer Networking” – J. Kurose, K. Ross Chapter 3: Transport.
McGraw-Hill Chapter 23 Process-to-Process Delivery: UDP, TCP Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
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.
1 TCP ProtocolsLayer name DNSApplication TCP, UDPTransport IPInternet (Network ) WiFi, Ethernet Link (Physical)
Profile for DCCP Congestion Control ID 4: the Small-Packet Variant of TFRC Congestion Control draft-floyd-ccid4-00.txt Sally Floyd and Eddie Kohler July.
3. END-TO-END PROTOCOLS (PART 1) Rocky K. C. Chang Department of Computing The Hong Kong Polytechnic University 22 March
1 Chapter 24 Internetworking Part 4 (Transport Protocols, UDP and TCP, Protocol Port Numbers)
Ch23 Ameera Almasoud 1 Based on Data Communications and Networking, 4th Edition. by Behrouz A. Forouzan, McGraw-Hill Companies, Inc., 2007.
Master’s Project Presentation
Internet Networking recitation #9
COMP2322 Lab 6 TCP Steven Lee Mar 29, 2017.
5. End-to-end protocols (part 1)
Long-haul Transport Protocols
PART 5 Transport Layer Computer Networks.
TCP Transport layer Er. Vikram Dhiman LPU.
Internet and Intranet Protocols and Applications
TCP - Part I Relates to Lab 5. First module on TCP which covers packet format, data transfer, and connection management.
Stream Control Transmission Protocol (SCTP)
Internet Networking recitation #10
TCP Overview.
Transport Layer 9/22/2019.
Presentation transcript:

Datagram Congestion Control Protocol CISC 856 TCP/IP and Upper Layer Protocols Presentation by: Kireeti Valicherla 11/30/2004

DCCP: Which Layer? DCCP SCTP Figure 2-11 TCP/IP Protocol Suite, Behrouz A. Forouzan

Streaming Media What streaming media needs? Source: http://streaming.wisconsin.edu/Accessible_Tutorials/Tutorial1/p1-3.htm What streaming media needs? Timeliness of data. What streaming media doesn’t need? Retransmissions of lost packets.

Streaming media with TCP Arbitrary Delay D9-D12 A12 D12-D16 A16 D17-D19 D20-D22 Data is not useful A16 D17

Streaming Media with UDP No Congestion Control in UDP flows. Harmful to internet health

Problems with UDP From Network’s point of view: Congestion Unfairness From the application’s point of view: Firewalls and NAT’s do not always pass UDP traffic

Solution: UDP with congestion control Handshaking during connection setup and teardown

Questions?

DCCP : Overview Connection setup & teardown: Reliable handshaking Unreliable packet flow Bi-directional Unicast connections Reliable feedback from receiver to sender Choice of congestion control Minimal overhead

Similar to TCP connection setup DCCP connection setup Client Server DCCP A DCCP B Similar to TCP connection setup DCCP Request DCCP Response DCCP ACK

DCCP Data transfer phase Client Server DCCP DATA DCCP ACK DCCP DATA DCCP DATA ACK

DCCP connection termination Client Server DCCP A DCCP B DCCP CloseReq DCCP Close DCCP Reset

Connection dynamics echo those of TCP Server Client Connection dynamics echo those of TCP Initiation DCCP Request DCCP Response DCCP ACK Data Transfer DCCP Data DCCP ACK DCCP DATA ACK Termination DCCP CloseReq DCCP Close DCCP Reset

Additional Fields (depending on type) DCCP Packet Formats Generic Header Additional Fields (depending on type) Options (optional ) Application Data Area DCCP header can be from 12 to 1020 bytes long Generic Header -> 12 bytes Additional Fields -> Fixed length field Options -> Variable length field

DCCP Generic Header Source Port Destination Port Data Offset CCVal CsCov Checksum Res Type X = Sequence Number

Sequence Number (low bits) DCCP Generic Header Source Port Destination Port Data Offset CCVal CsCov Checksum Res Type X = 1 Reserved Sequence Number (high bits) Sequence Number (low bits)

Acknowledgement Sub-Header Reserved Acknowledgement Number (high bits) Acknowledgement Number (low bits) X =1 X =0 Acknowledgement Number(low bits)

DCCP data transfer Example B A Each packet carries a seq # Seq # incremented per packet Pure Acks also increment seq # DCCP-DATA(seq # 1) DCCP-DATA(seq # 2) DCCP-ACK(seq # 10, ACK # 2) DCCP-DATA ACK(seq # 3, ACK # 10) DCCP-ACK(seq # 11, ACK # 3)

DCCP data tranfer example B No Retransmissions Ack # = Greatest Seq # received DCCP-DATA(seq # 1) DCCP-DATA(seq # 2) DCCP-ACK(seq # 10, ACK # 2)

Questions ?

Features Connection attribute on whose value two endpoints agree Examples CCID ECN incapable Data checksum DCCP features are identified by a feature number and an endpoint Notation “F/X” is used

F/X Notation Feature location for all F/B Feature location for all F/A Feature Remote for all F/B Feature Remote for all F/A

Feature Negotiation At the connection setup, and whenever either endpoint wants Carried in a reliable way Endpoints send packets containing Change options, until agreement is reached( and signalled by Confirm Option)

Feature Negotiation Example CCID/Server agreed as 2 Change R(CCID, 2) Confirm L(CCID, 2) CCID/Server agreed as 4 Change R(CCID, 3 4) Confirm L(CCID, 4, 4 2)

Feature Negotiation Example Change R(CCID, 2) CCID/Server agreed as 3 Prefer L(CCID, 3) Confirm R(CCID, 3)

Feature Negotiation Example Change R(CCID, 2) CCID/Server agreed as 2 Change R(CCID, 2) Confirm L(CCID, 2)

Questions?

Congestion Control Mechanisms in DCCP TCP Like Congestion Control – CCID 2 TFRC Congestion Control – CCID 3

CCID2: TCP Like Congestion Control AIMD behavior exhibited as in TCP/IP: Slow start Timeouts Congestion event -> Halve congestion window Abrupt rate changes

CCID 2: TCP-like Congestion Control Applications using this: Respond quickly to changes in available bandwidth. Must tolerate abrupt changes Online Interactive Games prefer this kind of congestion control

CCID 3 TFRC, [RFC 3448] Equation-based congestion control Minimizes abrupt changes in sending rate Maintains longer-term fairness with TCP Streaming Media doesn’t need responsiveness but prefer steadier less bursty traffic as provided by TFRC

TCP-Friendly Rate Control The receiver measures the loss event rate and feeds this information back to the sender. The sender also uses these feedback messages to measure the round-trip time (RTT). The loss event rate and RTT are then fed into TFRC's throughput equation, giving the acceptable transmit rate. The sender then adjusts its transmit rate to match the calculated rate.

The throughput equation s X = ------------------------------------------------------------------------------------- {R*sqrt(2*b*p/3) + (t_RTO * (3*sqrt(3*b*p/8) * p * (1+32*p^2)))} Where: X is the transmit rate in bytes/second. s is the packet size in bytes. R is the round trip time in seconds. p is the loss event rate, between 0 and 1.0, of the number of loss events as a fraction of the number of packets transmitted. t_RTO is the TCP retransmission timeout value in seconds. b is the number of packets acknowledged by a single TCP acknowledgement.

Congestion related options Slow receiver option Receiver sends this option to its sender to indicate it is having trouble keeping up with the sender’s data Data dropped option Option indicates that some packets reported as received actually had their data dropped before it reached the application.

Explicit Congestion Notification A network assisted congestion control method Uses two bits of IP header plus two bits in transport level header: Sender sets an ECT bit in outgoing packets If a router is congested, it may set a CE bit in ECT marked packets Receiver reports CE flagged packets as congestion events The sender then reduces its sending rate

DCCP: Miscellaneous Features Prevents DDoS attacks Multihoming and Mobility Path MTU discovery

DCCP and RTP DCCP Figure 28-8 TCP/IP Protocol Suite, Behrouz A. Forouzan

DCCP: Summary Transport layer protocol Unreliable datagrams Bi-directional Congestion-controlled unicast

References Datagram Congestion Control Protocol (DCCP) Eddie Kohler, Mark Handley, and Sally Floyd[Nov 2004] http://www.icir.org/kohler/dcp/draft-ietf-dccp-spec-09.txt DCCP Overview Eddie Kohler and Sally Floyd http://www.icir.org/kohler/dcp/summary.pdf DCCP Eddie Kohler, Mark Handley, Sally Floyd, Jitendra Padhye http://www.icir.org/kohler/dcp/