User Tools

Site Tools


products:ict:communications:internet:protocols:sctp

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.

Linux Kernel SCTP

SCTP LSM Support

How to setup SCTP In Red Hat Enterprise Linux 8

An easier way to go: SCTP over UDP in the Linux kernel

Linux Kernel Stream Control Transmission Protocol Tools

Introduction to Stream Control Transmission Protocol

Linux Kernel SCTP : The Third Transport

Code Examples of SCTP Use

SCTP Overview

Stream Control Transmission Protocol (SCTP) is a transport-layer protocol that ensures reliable, in-sequence transport of data. SCTP provides multihoming support where one or both endpoints of a connection can consist of more than one IP address. This enables transparent failover between redundant network paths. Understanding Stream Control Transmission Protocol

Stream Control Transmission Protocol (SCTP) is an IP Transport Layer protocol. SCTP exists at an equivalent level with User Datagram Protocol (UDP) and Transmission Control Protocol (TCP), which provides transport layer functions to many Internet applications. SCTP is a reliable transport protocol operating on top of a connectionless packet network such as IP and supports data transfer across the network in single IP or multi-IP cases.

SCTP can transport signaling messages to and from Signaling System 7 (SS7) for 3G mobile networks through M3UA, M2UA, or SUA. SCTP is a packet-based transport protocol. SCTP provide reliable and secure transport, minimized end-to-end delay, short failover time in case of network failures and both sequence and no-sequence transport.

SCTP is optimized to:

Avoid the multithread infrastructure problems, when the traffic is high

Improve the SCTP association searching rate (association lookup process speed is increased) by SCTP hash table optimization on the SPU

Improve FSM for retransmission cases

Starting in Junos OS Release 12.3×48-D10 and Junos OS Release 17.3R1, the SCTP module inspects IPv4 and IPv6 traffic and checks all segments of the SCTP packet. (In previous releases the module inspected only IPv4 traffic and checked only the first segment of the SCTP packet.) The packet is then permitted or dropped based on the policy. For IPv6 traffic, the SCTP module inspects every extension header until it finds the SCTP header, and then only the SCTP header is processed and all the other headers are ignored.

SCTP is used for applications where monitoring and detection of loss of session is required. The SCTP path or session failure detection mechanism, for example, the heartbeat, monitors the connectivity of the session.

products/ict/communications/internet/protocols/sctp.txt · Last modified: 2024/03/13 14:08 by wikiadmin