SCTP (Stream Control Transmission Protocol) Chanmin Park ( 박 찬 민 ) CARES lab.
Contents Introduction SCTP Architecture Packet Association/Shutdown States Data Transmission API SCTP Characteristics Conclusion References
Introduction SCTP (Stream Control Transmission Protocol) Reliable message-based & connection-oriented transport protocol Standardization RFC 2960 by SIGTRAN WG PSTN (Public Switched Telephone Network) IP Network Support real-time multimedia applications Characteristics Transport layer protocol above IP : TCP + UDP Overcoming the drawbacks of TCP, UDP Reliability, Flexibility, Security Multi-streaming, multi-homing
SCTP concept
SCTP – Packet Common Header (12 bytes) Source/destination port : same as TCP Verification Tag : 32 bit session ID Checksum : 32 bit (TCP : 16bit) Chunks Type : distinguish control and data chunks Flag : ordered/unordered bit Length : length is variable TSN (Transport Sequence Number), Stream ID, SSN (Stream Sequence Number) Protocol ID : 132 (TCP – 17, UDP – 6)
Chunks – Type (13) Payload Data (0) Selective Acknowledgement (SACK) (3) Initiation (INIT) (1) Initiation Acknowledgement (INIT ACK) (2) Cookie Echo (COOKIE ECHO) (10) Cookie Acknowledgement (COOKIE ACK) (11) Heartbeat Request (HEARTBEAT) (4) Heartbeat Acknowledgement (HEARTBEAT ACK) (5) Shutdown Association (SHUTDOWN) (7) Shutdown Acknowledgement (SHUTDOWN ACK) (8) Shutdown Complete (SHUTDOWN COMPLETE) (14) Abort Association (ABORT) (6) Operation Error (ERROR) (9) Data Association Check Available IP Shutdown Error
SCTP Association/Shutdown TCP SCTP
SCTP Data Transmission Flow Control Congestion Control / Slow-start Selective Acknowledgement Ordered and Unordered Delivery Fragmentation and Reassembly Bundling Path MTU Discovery
SCTP API ULP to SCTP Initialize, Associate, Shutdown, Abort, Send, Set Primary, Receive, Status, Change Heartbeat, Request Heartbeat, SCTP to ULP (Asynchronous notifications) DATA ARRIVE, SEND FAILURE, NETWORK STATUS CHANGE, COMMUNICATION UP, COMMUNICATION LOST, COMMUNICATION ERROR, RESTART
SCTP Characteristics Multi-Streaming Multi-stream per association Avoid HOL (Head of Line) Blocking of TCP Ordered/Unordered transport U flag of Data Chunk Reliable data transmission Each stream has Stream Sequence Number (SSN) Multi-Homing Multiple (Ethernet) IPs per association If primary path fail occurs, reconnect secondary path Reliable data transmission
Multi-Streaming
Multi-Homing
Features comparison
Conclusion Applications Reliable transmission (authentication, authorization system, etc.) Mobile IP Real-time internet multimedia (http, etc.) Security (SCTP based TLS) Other Issues PR-SCTP (Partial Reliable SCTP) for real-time apps. ADD-IP for MSCTP (Mobile SCTP) Congestion control for each stream Adaptive fail-over mechanism Future & Vision Substitute ? Coexist ? Killer application ?
References Signaling Transport over IP (SIGTRAN) SCTP for Beginners An introduction to the SCTP (RFC 3286) Standards Track (RFC 2960) Linux Kernel SCTP SCTP 표준기술 분석 및 전망, 전자통신동향분석 제 18 권 제 3 호 2003 년 6 월. 고석주 외. Naver 지식인
Q & A