top button
Flag Notify
    Connect to us
      Site Registration

Site Registration

SCTP Messages and Its Message Structure

+2 votes
740 views

SCTP is a reliable transport protocol operating on top of a connection-less packet network i.e. IP and offers the following services to its users:
- acknowledged error-free non-duplicated transfer of user data,
- data fragmentation to conform to discovered path MTU size,
- sequenced delivery of user messages within multiple streams, with an option for order-of-arrival delivery of individual user messages,
- optional bundling of multiple user messages into a single SCTP packet, and
- network-level fault tolerance through supporting of multi-homing at either or both ends of an association.

Packet Structure
SCTP has a simpler basic packet structure which consists of two basic sections:
- common header, which occupies the first 12 bytes.
- Data chunks, which form the remaining portion of the packet.

SCTP Message Format

Common Header
Source Port Number: This is the SCTP sender's port number. It can be used by the receiver in combination with the source IP address, the SCTP destination port and possibly the destination IP address to identify the association to which this packet belongs.

Destination Port Number: This is the SCTP port number to which this packet is destined. The receiving host will use this port number to de-multiplex the SCTP packet to the correct receiving endpoint/application.

Verification Tag: The receiver of this packet uses the Verification Tag to validate the sender of this SCTP packet.

Checksum: This field contains the checksum of this SCTP packet. SCTP uses the Adler-32 algorithm for calculating the checksum

Chunk Description
Each chunk is formatted with a ChunkType field, a chunk-specific Flag field, a Chunk Length field, and a Value field as shown in the above figure.

Chunk Type: This field identifies the type of information contained in the Chunk Value field.

SCTP Chunk Lists
Following is the list of SCTP chunks along with their identifier value.
SCTP Chunk List

Chunk Flags: The usage of these bits depends on the chunk type as given by the Chunk Type. Generally they are set to zero on transmit and are ignored on receipt.

Chunk Length: This value represents the size of the chunk in bytes including the Chunk Type, Chunk Flags, Chunk Length, and Chunk Value fields. Therefore, if the Chunk Value field is zero-length, the Length field will be set to 4. The Chunk Length field does not count any padding.

Chunk Value: The Chunk Value field contains the actual information to be transferred in the chunk. The usage and format of this field is dependent on the Chunk Type. The total length of a chunk (including Type, Length and Value fields) is a multiple of 4 bytes.

posted May 12, 2014 by anonymous

  Promote This Article
Facebook Share Button Twitter Share Button LinkedIn Share Button


Related Articles

An SCTP packet has following two section -
1. Common Header
2. Data Chunk

SCTP Header

1. Common Header

Source Port: Identifies the sending port.
Destination Port: Identifies the receiving port. Receiving host uses this port number to route the packet to the correct application.
Verification Tag: This is a 32-bit random value created during association establishment and distinguishes stale packets from a previous connection.
Checksum: Uses CRC32 algorithm to detect Transmission errors.

2. Data Chunk

Chunk Type: It is a 1 byte long field and Identifies type of chunk.
Chunk Flags: Consists of 8 flag-bits whose definition varies with the chunk type. The default value is zero. This indicates that no application identifier is specified by the upper layer for the data.
Chunk Length: Specifies the total length of the chunk in bytes. In SCTP If the chunk does not form a multiple of 4 bytes then padding with zeros is added to make it multiple of 4.
Chunk Value: General purpose data.

READ MORE
...