1 SCTP Tutorial, Ottawa 7/2004 © 2004 Randall Stewart (Cisco Systems), Phill Conrad (University of Delaware). All rights reserved. Bits, Bytes, and Chunks.

Slides:



Advertisements
Similar presentations
IPv4 - The Internet Protocol Version 4
Advertisements

Umut Girit  One of the core members of the Internet Protocol Suite, the set of network protocols used for the Internet. With UDP, computer.
1 SCTP Tutorial, Ottawa 7/2004 © 2004 Randall Stewart (Cisco Systems), Phill Conrad (University of Delaware). All rights reserved. DATA Chunk Flag Bits.
1 SCTP Tutorial, Ottawa 7/2004 © 2004 Randall Stewart (Cisco Systems), Phill Conrad (University of Delaware). All rights reserved. SCTP is connection-oriented.
UDP & TCP Where would we be without them!. UDP User Datagram Protocol.
1 TCP - Part I Relates to Lab 5. First module on TCP which covers packet format, data transfer, and connection management.
1 Chapter 3 TCP and IP. Chapter 3 TCP and IP 2 Introduction Transmission Control Protocol (TCP) Transmission Control Protocol (TCP) User Datagram Protocol.
Transport Layer – TCP (Part1) Dr. Sanjay P. Ahuja, Ph.D. Fidelity National Financial Distinguished Professor of CIS School of Computing, UNF.
1 Transport Control Protocol. 2 Header Identifies the port number of a source application program. Used by the receiver to reply. (16-bit). Identifies.
Stream Control Transmission Protocol (SCTP)
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.
1 IPv6 Packet Format. 2 Objectives IPv6 vs IPv4 IPv6 Packet Format IPv6 fields IPv6 and data-link technologies.
1 SCTP Tutorial, Ottawa 7/2004 © 2004 Randall Stewart (Cisco Systems), Phill Conrad (University of Delaware). All rights reserved. IP Multi-homing The.
Internet Control Message Protocol (ICMP). Introduction The Internet Protocol (IP) is used for host-to-host datagram service in a system of interconnected.
1 SCTP Tutorial, Ottawa 7/2004 © 2004 Randall Stewart (Cisco Systems), Phill Conrad (University of Delaware). All rights reserved. IP Multi-homing The.
1 SCTP Tutorial, Ottawa 7/2004 © 2004 Randall Stewart (Cisco Systems), Phill Conrad (University of Delaware). All rights reserved. SCTP Streams We will.
1 SCTP Tutorial, Ottawa 7/2004 © 2004 Randall Stewart (Cisco Systems), Phill Conrad (University of Delaware). All rights reserved. Other Extensions Several.
1 © 2003 Cisco Systems, Inc. All rights reserved. Session Number Presentation_ID SCTP A detailed overview of the protocol and a examination of the socket.
Stream Control Transmission Protocol 網路前瞻技術實驗室 陳旻槿.
1 SCTP Tutorial, Ottawa 7/2004 © 2004 Randall Stewart (Cisco Systems), Phill Conrad (University of Delaware). All rights reserved. Heartbeat Chunk Data.
Source Port # (16)Destination Port # (16) Sequence Number (32 bits) Acknowledgement Number (32 bits) Hdr Len (4) Flags (6)Window Size (16) Options (if.
1 Spring Semester 2007, Dept. of Computer Science, Technion Internet Networking recitation #8 Explicit Congestion Notification (RFC 3168) Limited Transmit.
1 SCTP Tutorial, Ottawa 7/2004 © 2004 Randall Stewart (Cisco Systems), Phill Conrad (University of Delaware). All rights reserved. Special Considerations.
Toward Formal Modelling and Analysis of SCTP Connection Managment Somsak Vanit-Anunchai School of Telecommunication Engineering Institute of Engineering.
1 SCTP Tutorial, Ottawa 7/2004 © 2004 Randall Stewart (Cisco Systems), Phill Conrad (University of Delaware). All rights reserved. SCTP Streams We will.
1 © 2004 Randall Stewart (Cisco Systems), Phill Conrad (University of Delaware). All rights reserved. SCTP: An Overview Randall Stewart, Cisco Systems.
Gursharan Singh Tatla Transport Layer 16-May
Chapter 16 Stream Control Transmission Protocol (SCTP)
Internet Control Message Protocol ICMP. ICMP has two major purposes: –To report erroneous conditions –To diagnose network problems ICMP has two major.
Packet Analysis with Wireshark
© Janice Regan, CMPT 128, CMPT 371 Data Communications and Networking Network Layer ICMP and fragmentation.
University of Calgary – CPSC 441.  UDP stands for User Datagram Protocol.  A protocol for the Transport Layer in the protocol Stack.  Alternative to.
SCTP: Stream Control Transfer Protocol Naveen Kumar Department of Computer and Information Sciences *Some slides have been taken from Prof. Amer.
31. Mar INF-3190: Transport Layer Transport Layer Foreleser: Carsten Griwodz
CS 4396 Computer Networks Lab
Chapter 9 Hardware Addressing and Frame Type Identification 1.Delivering and sending packets 2.Hardware addressing: specifying a destination 3. Broadcasting.
Internet Protocol Formats. IP (V4) Packet byte 0 byte1 byte 2 byte 3 data... – up to 65 K including heading info Version IHL Serv. Type Total Length Identifcation.
Decoding an IP Header (1)
Datagram Congestion Control Protocol (DCCP) CISC TCP/IP and Upper Layer Protocols Presentation by Xiaofeng Han Thanks for Kireeti.
Computer Networks23-1 PART 5 Transport Layer. Computer Networks23-2 Position of Transport Layer Responsible for the delivery of a message from one process.
STREAM CONTROL TRANSMISSION PROTOCOL (SCTP)
ICMPv6 Error Message Types Informational Message Types.
1 Computer Communication & Networks Lecture 19 Network Layer: IP and Address Mapping Waleed Ejaz.
THE CLASSIC INTERNET PROTOCOL (RFC 791) Dr. Rocky K. C. Chang 20 September
Teacher:Quincy Wu Presented by: Ying-Neng Hseih
Stream Control Transmission Protocol
TCP/IP Protocol Suite 1 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 16 Stream Control Transmission.
Chapter 3 TCP and IP 1 Chapter 3 TCP and IP. Chapter 3 TCP and IP 2 Introduction Transmission Control Protocol (TCP) User Datagram Protocol (UDP) Internet.
SCTP (Stream Control Transmission Protocol) Chanmin Park ( 박 찬 민 ) CARES lab.
Ch23 Ameera Almasoud 1 Based on Data Communications and Networking, 4th Edition. by Behrouz A. Forouzan, McGraw-Hill Companies, Inc., 2007.
Chapter 3 TCP and IP Chapter 3 TCP and IP.
Multiplexing.
Internet Networking recitation #9
IP - The Internet Protocol
Chapter 16 Stream Control Transmission Protocol (SCTP)
PART 5 Transport Layer Computer Networks.
Standards Basics.
IP - The Internet Protocol
Internet Control Message Protocol (ICMP)
SCTP Team 2: Alexia Allaway Johnson Nguyen Nnamdi Nwajagu Scott Seo
TCP - Part I Relates to Lab 5. First module on TCP which covers packet format, data transfer, and connection management.
IP - The Internet Protocol
Guide to TCP/IP Fourth Edition
Internet Networking recitation #10
IP - The Internet Protocol
Course: CISC 856: TCP/IP and Upper Layer Protocols
Network Architecture Models: Layered Communications
IP - The Internet Protocol
Fred Kuhns Applied Research Laboratory
Presentation transcript:

1 SCTP Tutorial, Ottawa 7/2004 © 2004 Randall Stewart (Cisco Systems), Phill Conrad (University of Delaware). All rights reserved. Bits, Bytes, and Chunks We will now turn our attention to the on-the-wire bits and bytes of SCTP An SCTP packet has a common header that appears in each packet, followed by one or more chunks SCTP chunks use a self-describing Tag-Length- Value (TLV) format Note: all figures used are always 32-bits wide

2 SCTP Tutorial, Ottawa 7/2004 © 2004 Randall Stewart (Cisco Systems), Phill Conrad (University of Delaware). All rights reserved. Whole SCTP packet "on the wire" SCTP Common Header Chunk 1 Chunk N... IP Header one or more "chunks" Datalink Header (e.g. Ethernet, , PPP) Datalink Trailer (e.g. Ethernet, , PPP) The SCTP "packet"

3 SCTP Tutorial, Ottawa 7/2004 © 2004 Randall Stewart (Cisco Systems), Phill Conrad (University of Delaware). All rights reserved. SCTP Common Header Source PortDestination Port Verification Tag CRC-32c Checksum

4 SCTP Tutorial, Ottawa 7/2004 © 2004 Randall Stewart (Cisco Systems), Phill Conrad (University of Delaware). All rights reserved. SCTP Common Header Fields Source and Destination Port: 16-bit port values Verification Tag: 32-bit random value selected by each endpoint in an association during setup Discriminates between two successive associations Protection mechanism against blind attackers CRC32c Checksum: 32-bit CRC covering the entire SCTP packet (SCTP common header and all chunks) Note that RFC 3309 (CRC32c) supercedes the Adler-32 checksum defined in RFC 2960 (SCTP)

5 SCTP Tutorial, Ottawa 7/2004 © 2004 Randall Stewart (Cisco Systems), Phill Conrad (University of Delaware). All rights reserved. SCTP chunk header Chunk Type Chunk Flags Chunk Length Chunk Data Every chunk has a TLV form: Type (with flags), Length, then Value The "generic" format of each chunk: Chunk Type: 8-bit value indicating the type of chunk Chunk Flags: 8-bit flags, defined on per chunk type basis Chunk Length: 16-bit length in bytes, including the chunk type, chunk flags, and chunk length fields. Note that chunks are padded to 32-bit boundaries within an SCTP packet. Any padding bytes (0x00) used are NOT included in the chunk length

6 SCTP Tutorial, Ottawa 7/2004 © 2004 Randall Stewart (Cisco Systems), Phill Conrad (University of Delaware). All rights reserved. Chunk Types There are 20 chunk types currently defined in SCTP (including both extensions in RFCs and those still in Internet Drafts): (1) DATA (0x00) (2) INITIATION [INIT] (0x01) (3) INITIATION-ACKNOWLEDGMENT [INIT-ACK] (0x02) (4) SELECTIVE-ACKNOWLEDGMENT [SACK] (0x03) (5) HEARTBEAT (0x04)... etc... Chunk Type Chunk Flags Chunk Length Chunk Data

7 SCTP Tutorial, Ottawa 7/2004 © 2004 Randall Stewart (Cisco Systems), Phill Conrad (University of Delaware). All rights reserved. Complete List of Chunk Types RFC2960 (1) DATA (0x00) (2) INIT (0x01) (3) INIT-ACK (0x02) (4) SACK [SELECTIVE-ACKNOWLEDGMENT] (0x03) (5) HEARTBEAT (0x04) (6) HEARTBEAT-ACK (0x05) (7) ABORT (0x06) (8) SHUTDOWN (0x07) (9) SHUTDOWN-ACK (0x08) (10 ERROR [OPERATIONAL-ERROR] (0x09) (11) COOKIE-ECHO (0x0A) (12) COOKIE-ACK (0x0B) (13) ECNE [EXPLICIT CONGESTION NOTIFICATION ECHO] (0x0C) (14) CWR [CONGESTION WINDOW REDUCE] (0x0D) (15) SHUTDOWN-COMPLETE (0x0E) PR-SCTP - RFC 3758 (16) FORWARD-TSN (0xC0) ADD-IP draft (17) ASCONF (0xC1) [ADDRESS-CONFIGURATION] (18) ASCONF-ACK (0x80) Packet-Drop draft (19) PKT-DROP (0x81) [SCTP-PACKET-DROP-REPORT] Authentication draft (20) AUTH [AUTHENTICATION] (0x82) – about to undergo drastic changes; may add 2-3 chunks.

8 SCTP Tutorial, Ottawa 7/2004 © 2004 Randall Stewart (Cisco Systems), Phill Conrad (University of Delaware). All rights reserved. General Chunk Processing In any SCTP packet, control chunks always come before DATA chunks Some chunks must be singletons: INIT or INIT-ACK Chunk type number assignments are not linear, because... Chunk type upper two bits have specific meanings used for processing unrecognized chunks 00xxxxxx => silently drop 01xxxxxx => send an ERROR chunk in reply In both cases, remainder of the packet is ignored

9 SCTP Tutorial, Ottawa 7/2004 © 2004 Randall Stewart (Cisco Systems), Phill Conrad (University of Delaware). All rights reserved. Pop Quiz To see if you are paying attention: Assume you have an SCTP implementation that understands NONE of the extensions mentioned earlier. What will the implementation do with: - FORWARD-TSN (0xC0) - ASCONF (0xC1) - ASCONF-ACK (0x80) - PKT-DROP (0x81) - AUTHENTICATION (0x82)

10 SCTP Tutorial, Ottawa 7/2004 © 2004 Randall Stewart (Cisco Systems), Phill Conrad (University of Delaware). All rights reserved. SCTP Chunk Parameters Some chunks have parameters within them Examples: INIT, INIT-ACK, HEARTBEAT A parameter also has a TLV format A parameter has a similar format to a chunk but slightly different Processing rules for unknown parameters are similar to those for the chunk processing with slightly different connotations (next slide) Type = 0x0033Length = 8 4 Octets of Data Note 16 bit Parameter Type Note 16 bit length Including the header The Variable Length Data goes here

11 SCTP Tutorial, Ottawa 7/2004 © 2004 Randall Stewart (Cisco Systems), Phill Conrad (University of Delaware). All rights reserved. Parameter Handling Rules 00xxxxxx-xxxxxxxxdon't report an error discard this chunk 01xxxxxx-xxxxxxxxreport in ERROR or INIT-ACK discard this chunk 10xxxxxx-xxxxxxxxdon't report an error continue processing rest of chunk 11xxxxxx-xxxxxxxxreport in ERROR or INIT-ACK continue processing rest of chunk Note that no matter what results from processing each individual parameter, the rest of the chunks in the packet are always processed