Datagram Congestion Control Protocol (DCCP) CISC 856 - TCP/IP and Upper Layer Protocols Presentation by Xiaofeng Han Thanks for Kireeti.

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

TCP - Part I Relates to Lab 5. First module on TCP which covers packet format, data transfer, and connection management.
CSCI 4550/8556 Computer Networks
Transmission Control Protocol (TCP)
1 TCP - Part I Relates to Lab 5. First module on TCP which covers packet format, data transfer, and connection management.
1 CS 4396 Computer Networks Lab Transmission Control Protocol (TCP) Part I.
Transport Layer – TCP (Part1) Dr. Sanjay P. Ahuja, Ph.D. Fidelity National Financial Distinguished Professor of CIS School of Computing, UNF.
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.
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.
Explicit Congestion Notification (ECN) RFC 3168 Justin Yackoski DEGAS Networking Group CISC856 – TCP/IP Thanks to Namratha Hundigopal.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 OSI Transport Layer Network Fundamentals – Chapter 4.
UNIT 07 Process – to – Process Delivery: UDP,TCP and SCTP
TDC365 Spring 2001John Kristoff - DePaul University1 Internetworking Technologies Transmission Control Protocol (TCP)
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)
Stream Control Transmission Protocol 網路前瞻技術實驗室 陳旻槿.
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.
WXES2106 Network Technology Semester /2005 Chapter 8 Intermediate TCP CCNA2: Module 10.
Transport Layer TCP and UDP IS250 Spring 2010
Process-to-Process Delivery:
Gursharan Singh Tatla Transport Layer 16-May
Chapter 16 Stream Control Transmission Protocol (SCTP)
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 Chapter Internetworking Part 4 (Transport Protocols, UDP and TCP, Protocol Port Numbers)
1 Transport Layer Computer Networks. 2 Where are we?
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,
University of the Western Cape Chapter 12: The Transport Layer.
TCP1 Transmission Control Protocol (TCP). TCP2 Outline Transmission Control Protocol.
Datagram Congestion Control Protocol
Transport Layer Moving Segments. Transport Layer Protocols Provide a logical communication link between processes running on different hosts as if directly.
23.1 Chapter 23 Process-to-Process Delivery: UDP, TCP, and SCTP Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
1 M. Atiquzzaman, SCTP over satellite networks IEEE Computer Communications Workshop, Oct 20, SCTP over Satellite Networks Mohammed Atiquzzaman School.
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.
ECE 4110 – Internetwork Programming
Stream Control Transmission Protocol
IP1 The Underlying Technologies. What is inside the Internet? Or What are the key underlying technologies that make it work so successfully? –Packet Switching.
1 Computer Communication & Networks Lecture 23 & 24 Transport Layer: UDP and TCP Waleed Ejaz
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.
Data Communications and Networks Chapter 6 – IP, UDP and TCP ICT-BVF8.1- Data Communications and Network Trainer: Dr. Abbes Sebihi.
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).
Computer Networks 1000-Transport layer, TCP Gergely Windisch v spring.
1 TCP ProtocolsLayer name DNSApplication TCP, UDPTransport IPInternet (Network ) WiFi, Ethernet Link (Physical)
Process-to-Process Delivery:
3. END-TO-END PROTOCOLS (PART 1) Rocky K. C. Chang Department of Computing The Hong Kong Polytechnic University 22 March
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
Introduction to Networks
5. End-to-end protocols (part 1)
Transport Layer.
Process-to-Process Delivery, TCP and UDP protocols
Long-haul Transport Protocols
TCP.
PART 5 Transport Layer Computer Networks.
TCP Transport layer Er. Vikram Dhiman LPU.
Magda El Zarki Professor, ICS UC, Irvine
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
Process-to-process delivery UDP TCP SCTP
TCP - Part I Relates to Lab 5. First module on TCP which covers packet format, data transfer, and connection management.
Process-to-Process Delivery: UDP, TCP
Transport Layer 9/22/2019.
Presentation transcript:

Datagram Congestion Control Protocol (DCCP) CISC TCP/IP and Upper Layer Protocols Presentation by Xiaofeng Han Thanks for Kireeti Valicherla’s slides

2 Overview Motivation Connection process Unreliable packets flow with acknowledgement Features negotiation Choice of congestion control Miscellaneous features

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

4 Streaming Media Source: What streaming media needs? Timeliness of data What streaming media doesn’t need? Retransmissions of lost and expired packets

5 D12 D13 A12 D14 - D16 D13 Data is not useful ServerClient Streaming Media Over TCP

6 Streaming Media Over UDP No congestion control in UDP flows Harmful to Internet health ServerClient

7 Streaming Media with SCTP Multi-streams over a single association Uses TCP-like congestion control Retransmission IP network IP A2 IP B2IP B1 IP B3 IP A1

8 Solution: DCCP Reliable connection establishment and termination Unreliable packet flow On-demand congestion control Optional features Security concerns

9 DCCP Response DCCP Request DCCP Ack ClientServer DCCP Connection Setup DCCP ADCCP B Similar to TCP connection setup

10 DCCP Data Transfer Phase ClientServer DCCP DATA DCCP ACK DCCP DATA ACK DCCP DATA

11 DCCP Connection Termination DCCP Close DCCP Reset ClientServer DCCP CloseReq Wait 2 MSL DCCP Close DCCP Reset ClientServer Wait 2 MSL DCCP Reset

12 DCCP Data Transfer Example - 1 Pure Seq #, not bytes Each packet carries a Seq # Seq # increase per packet Pure Acks also consume Seq # DCCP-DATA (Seq #1) DCCP-DATA(seq # 2) DCCP-ACK(seq # 11, ACK # 2) Client Server DCCP-ACK (Seq # 10, Ack #1)

13 No Retransmissions Acks the largest Seq # received DCCP-DATA (Seq #1) DCCP-DATA(seq # 2) DCCP-ACK(seq # 11, ACK # 3) Client Server DCCP-ACK (Seq # 10, Ack #1) DCCP Data Transfer Example - 2 DCCP-DATA(seq # 3) DCCP-DATA(seq # 4) DCCP-ACK(seq # 12, ACK # 4)

14 GSR – Greatest Sequence Number Received GSS – Greatest Ack Number Received Window Size = 8 DCCP Data Transfer Example GSR + 3 * (W/4) GSR + 1 – (W/4) DATA (Seq #20) DATA(seq # 21) ACK(seq # 61, ACK # 24) Client Server DATA(seq # 22) ACK (Seq #60, Ack #20) DATA(seq # 23) DATA (Seq #24) 24

15 GSR – Greatest Sequence Number Received GSS – Greatest Ack Number Received Window Size = 8 DCCP Data Transfer Example - 4 GSR + 3 * (W/4) GSR + 1 – (W/4) DATA (Seq #20) DATA(Seq # 21) : DATA(Seq # 30) Sync(Seq # 61, ACK # 31) Client Server ACK (Seq #60, Ack #20) DATA (Seq #31) Seq # out of range SyncAck (Seq #32, Ack 61) 2032

16 DCCP Packet Types DCCP-Request DCCP-Response DCCP-Ack DCCP-Data DCCP-DataAck DCCP-CloseReq DCCP-Close DCCP-Reset DCCP-Sync, DCCP-SyncAck

17 DCCP Packet Formats Generic Header Additional Fields (depending on type) Options (optional ) Application Data Area DCCP header can be from 12 to 1020 bytes Generic header: 12 bytes Additional fields: fixed length field Options: variable length field

18 DCCP Generic Header Source PortDestination Port Data OffsetCCValCsCovChecksum ResType X=0X=0 Sequence Number

19 DCCP Generic Header Source PortDestination Port Data OffsetCCValCsCovChecksum ResType X=1X=1 ReservedSequence Number (high bits) Sequence Number (low bits)

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

21 DCCP Checksum Checksum Coverage (CsCov): 4 bits CsCov = 0: covers the DCCP header, DCCP options, network- layer pseudoheader, and all application data in the packet (possibly some padding) CsCov = 1-15: covers the DCCP header, DCCP options, network- layer pseudoheader, and the initial (CsCov-1)*4 bytes of the packet's application data. Option provides CRC checksum for all application data CsCovChecksum

22 Congestion Control in DCCP Each congestion control mechanism supported by DCCP is assigned a congestion control identifier, or CCID: a number from 0 to 255. CCID 0 and CCID 1 are reserved TCP-like congestion control – CCID 2 TCP friendly rate control (TFRC) – CCID 3 CCID are reserved

23 CCID 2: TCP-like Congestion Control Congestion control as in TCP/IP: Slow start Timeouts Congestion event -> Halve congestion window Abrupt rate changes time cwnd Loss, e.g. timeout (initial) ssthresh

24 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

25 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 and less burst traffic as provided by TFRC CCID 3: TCP Friendly Rate Control

26 CCID 3: TCP Friendly Rate Control 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.

27 CCID 3: TCP Friendly Rate Control The receiver measures the loss event rate and feeds this information back to the sender The sender 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

28 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.

29 Explicit Congestion Notification ECT set ECN enabled sender ECN enabled receiver CWR set ECE set ACK

30 Features Negotiation Connection attribute on what value two endpoints agree Examples Congestion control identifier (CCID) ECN capable / incapable Data checksum Sequence Window DCCP features are identified by a feature number and an endpoint Notation “F/X” is used

31 F/X Notation A B Feature location for all F/A Feature location for all F/B Feature Remote for all F/B Feature Remote for all F/A Change L (Local) Change R (Remote) Confirm L (Local) Confirm R (Remote)

32 Feature Negotiation Anytime during the connection process Carried in a reliable way Multiple values, priority order Endpoints keep sending packets containing change options, until agreement is reached ( and signalled by Confirm Option) TypeLengthFeature #Value(s)

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

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

35 DCCP: Miscellaneous Features Security Concerns Prevents DDoS attacks – init cookie Prevents Sequence Number Attack Large Sequence Number Sequence and Acknowledgement Number Windows Data Corruption CRC data Checksum Option

36 DCCP: Miscellaneous Features Path MTU discovery DCCP should NOT fragment data DCCP must maintain maximum packet size (MPS) Applications can usually get better error tolerance by producing packets smaller than the PMTU Methods On IPv4 connections whose applications have requested fragmentation, the sender SHOULD send packets with the DF bit not set On IPv6 connections whose applications have requested fragmentation, the sender SHOULD use fragmentation extension headers to fragment packets larger than PMTU into suitably-sized chunks (Those chunks are, of course, unfragmentable.)

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

38 DCCP: Summary Transport layer protocol Unreliable datagrams Negotiable features Optional congestion control

39 References Datagram Congestion Control Protocol (DCCP) Eddie Kohler, Mark Handley, and Sally Floyd[May 2005] DCCP Overview Eddie Kohler and Sally Floyd DCCP Eddie Kohler, Mark Handley, Sally Floyd, Jitendra Padhye TCP Friendly Rate Control (TFRC) RFC 3448

40 Questions and Comments ?