User Tools

Site Tools


products:ict:communications:internet:protocols:sctp

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
products:ict:communications:internet:protocols:sctp [2024/03/13 14:05] – created wikiadminproducts:ict:communications:internet:protocols:sctp [2024/03/13 14:08] (current) wikiadmin
Line 1: Line 1:
 +====== SCTP (Stream Control Transmission Protocol) ======
 +
 +
 +SCTP (Stream Control Transmission Protocol) is a transport layer protocol, like TCP (Transmission Control Protocol) and UDP (User Datagram Protocol), but it provides additional features and functionalities. Here's a detailed overview of SCTP:
 +
 +1. Overview:
 +
 +SCTP is designed to transport public switched telephone network (PSTN) signaling messages over IP networks, but it can transport other types of data as well.
 +
 +It provides reliable, connection-oriented communication between two endpoints, but unlike TCP, it supports multi-streaming and multi-homing.
 +
 +SCTP is defined in RFC 4960.
 +
 +2. Features:
 +
 +Multi-streaming: SCTP allows multiple streams of messages to be sent in parallel between two endpoints. Each stream operates independently, enabling better control over message delivery and prioritization.
 +
 +Multi-homing: SCTP allows an endpoint to have multiple IP addresses. This provides fault tolerance and redundancy; if one address fails, the communication can continue using another.
 +
 +Ordered and Unordered Delivery: SCTP can deliver messages in the order they were sent (ordered delivery) or independently of their order (unordered delivery), based on stream settings.
 +
 +Message-oriented: Unlike TCP, which operates on a byte-stream basis, SCTP preserves message boundaries, making it suitable for applications where message integrity is crucial.
 +
 +Checksum: SCTP uses a 32-bit CRC (Cyclic Redundancy Check) checksum to ensure data integrity.
 +
 +3. Connection Establishment and Termination:
 +
 +SCTP uses a four-way handshake to establish a connection between two endpoints.
 +
 +Initiating endpoint sends a INIT chunk, receiving endpoint responds with INIT-ACK, initiating endpoint acknowledges this with an COOKIE-ECHO chunk, and finally, the receiving endpoint acknowledges with COOKIE-ACK.
 +
 +SCTP supports graceful shutdown by exchanging SHUTDOWN chunks to close the association.
 +
 +4. Data Transmission:
 +
 +Data in SCTP is transmitted in messages, which are wrapped in DATA chunks.
 +
 +Each message is assigned to a specific stream, allowing for independent delivery control and prioritization.
 +
 +SCTP provides flow control mechanisms to prevent overwhelming the receiver with data. It uses the receive window mechanism similar to TCP.
 +
 +5. Error Handling:
 +
 +SCTP provides extensive error detection and reporting mechanisms, including checksum verification and error chunks for reporting various types of errors.
 +
 +Error reporting includes the notification of unreachable destinations, network congestion, and protocol violations.
 +
 +6. Applications:
 +
 +SCTP is commonly used in telecommunications applications such as Voice over IP (VoIP), Signaling System 7 (SS7) over IP, and SIP (Session Initiation Protocol).
 +It's also gaining popularity in other domains requiring reliable, message-oriented communication with additional features like multi-streaming and multi-homing.
 +
 +7. Security:
 +
 +SCTP itself doesn't include encryption or authentication mechanisms. However, it can be used in conjunction with security protocols such as IPsec or TLS for secure communication.
 +
 +SCTP's unique features make it suitable for various applications where traditional transport protocols like TCP or UDP might not suffice. Its support for multi-streaming and multi-homing, coupled with message-oriented communication, provides flexibility and reliability in diverse networking environments.
 +
 [[https://www.kernel.org/doc/html/latest/networking/sctp.html|Linux Kernel SCTP]] [[https://www.kernel.org/doc/html/latest/networking/sctp.html|Linux Kernel SCTP]]
  
products/ict/communications/internet/protocols/sctp.1710320715.txt.gz · Last modified: 2024/03/13 14:05 by wikiadmin