Customer Service and Booking Hotline: +44 (0) 845 672 0175

Search

Signalling Transport (SIGTRAN) Using SCTP

SS7s stringent requirements on message delivery and timely responses places challenging requirements on transport of SS7 messages over IP. While traditional UDP and TCP lack necessary features, the SCTP transport protocol can fill the gap...


For transport of SS7 messages over IP, UDP is not an option, as it does not have any reliability mechanisms. TCP was considered, but a flaw in the way it handles retransmission of lost messages creates a problem called head-of-line blocking, where all subsequent messages are held until the lost one has been reliably delivered. The timers in TCP means it can be several minutes before TCP will notify the layer above that a connection has failed to deliver the data. Also TCP is a byte oriented, which means it does not preserve message boundaries in the data it transports. A new protocol was created Stream Control Transmission Protocol (SCTP), based on earlier work on a protocol called Multi-network Datagram Transmission Protocol (MDTP); through the IETF SIGTRAN working group this was transformed and re-worked to create SCTP.

SCTP has a number of key similarities and differences when compared to how TCP connections operate:

  • Connection Oriented, but with a cookie mechanism to prevent SYN attacks.
  • Connections are referred to as Associations, and can be across multiple interfaces (IP addresses) - multi-homed, providing path redundancy and management of change over to a backup path seamless to the application using heartbeat messages.
  • Fragmentation and Re-assembly is performed to provide the SCTP User (application) the exact message boundaries that were presented at the other end of the connection. These fragments are called chunks. Chunks can be combined into a single SCTP data unit (PDU), to improve header overhead.
  • Head-of-line blocking is avoided by using multiple (parallel) messaging channels called streams. Individual messages lost on a specific stream do not affect other messages on other streams.
  • Preserves the concept of port numbers for applications to bind to.
  • Ensures error-free, sequenced delivery of user data.

Key elements of SCTP connections include the following:

  • Transport Address: This is the combination of an IP address and SCTP port number.
  • Endpoint: this is the logical sender or receiver of SCTP Packet Data Units (PDU). It is the combination of the IP addresses (if multi homed) and the port number, written as [IP1, IP2: port]
  • Association: The protocol association between two endpoints. Defined in the protocol exchanged as the Transfer Control Block (TCB), which lists such things as: the number of streams, verification tags, transmission sequence numbers. Only one association can exist between a pair of end-points. The transmission Sequence number counts chunks and is independent of the stream sequence number.
  • Stream: This is the uni-directional logical channel between two endpoints at creation time the number of inbound and outbound streams are defined, identified by a stream identifier (SI). In theory around 65,000 streams can be defined in an association (16-bit field in the PDU for the SI). Each stream has individual sequence numbers to be able to detect pack loss and sequence order. The streams can be used for example to transport data from individual MTP2 links. It is likely that the number of streams used for transport of SS7 messages will be no more than 16 per associations as this matches the maximum number of links in a link-set.
  • Payload Protocol identifiers: Allows SCTP to pass the information up to the application on the contents of the payload contained in a PDU.Typical values of the Payload Protocol Identifiers are:

1 IUA

2 M2UA

3 M3UA

4 SUA

5 M2PA

6 V5UA

10 DUA

  • The Payload: this can be up to 65,000 bytes (payload length field is 16-bits).

The payload may be fragmented across several chunks based on the Ethernet MTU of 1500 bytes and may well not get to 65,000 bytes without lower layer fragmentation, or SCTP fragmentation using Path MTU discovery techniques. Fragmentation is managed at the chunk level using Beginning and End header flags. Depending the Chunk Type ID, the payload may be

  • user data described by the payload protocol identifier
  • control messages such as heartbeats on backup paths
  • control messages as part of the association establishment and tear-down

.

Bookmark this article

Share this article using the following sites:

Courses by category...

Glossary Search

Newsletter Sign-up

Our RSS Feeds...