SCTP Packet Format, Selective ACKs, And Congestion Control
Stream Control Transmission Protocol (SCTP) carries signalling and other message-oriented traffic across IP networks. Unlike TCP, it preserves message boundaries, supports multistreaming, and can use several network paths. Those features make it valuable for SIGTRAN deployments that transport SS7 traffic over modern telecommunications infrastructure.
Understanding the SCTP packet format means looking at the common header, chunk types, verification tags, and checksum. Data chunks carry user messages, while control chunks manage association setup, delivery confirmation, path monitoring, and flow control.
For Australian engineers working across Sydney, Melbourne, Perth, or regional networks, SCTP is especially relevant where legacy PSTN signalling meets IP backhaul. A solid grasp of selective acknowledgements and the congestion window helps explain why a signalling association behaves well—or becomes unstable—during packet loss and route changes.
The SCTP Packet Format
Every SCTP packet begins with a common header containing a source port, destination port, verification tag, and Adler-32 checksum. The verification tag confirms that the packet belongs to the correct association, while the checksum detects corruption in transit.
The common header is followed by one or more chunks. Each chunk has a type field, flags, length, and type-specific value. Chunks are aligned to four-byte boundaries, so padding may appear even when the logical data is shorter.
This design allows SCTP to combine control information and payload in a single IP packet. For example, a DATA chunk may appear alongside a SACK chunk, although implementations commonly bundle chunks according to timing, path conditions, and application behaviour.
Data Chunks And Message Delivery
A DATA chunk carries an SCTP user message. Its flags identify whether the chunk is the beginning, middle, or end of a fragmented message. The Transmission Sequence Number, Stream Identifier, Stream Sequence Number, and Payload Protocol Identifier help SCTP deliver content reliably and in the correct stream context.
The stream sequence number prevents head-of-line blocking between independent streams. If one message stream experiences delay, traffic in another stream can continue. This is useful for signalling applications where separate transaction flows should not unnecessarily wait for one another.
Large messages can be fragmented across multiple DATA chunks. The receiver reassembles them before passing the complete message to the application. In an SS7-over-IP environment, careful message sizing and MTU awareness reduce fragmentation and avoid needless retransmissions across links that may traverse NBN or mobile backhaul segments.
Selective Acknowledgements Explained
SCTP uses Selective Acknowledgement, or SACK, chunks to report received DATA chunks. A SACK includes a cumulative TSN acknowledging everything received in sequence, followed by gap acknowledgement blocks for chunks received beyond a missing TSN.
This approach tells the sender precisely which data arrived and which sequence range is absent. The sender can retransmit only the missing chunk rather than repeating an entire block of traffic. Duplicate TSNs and duplicate acknowledgements also provide clues about packet loss and path conditions.
The receiver may delay a SACK briefly to improve efficiency, but excessive delay can trigger retransmission timers. In a busy carrier network—such as a link between Melbourne and Sydney signalling sites—implementation settings must balance reduced overhead against timely loss recovery.
Congestion Window And Flow Control
The congestion window, commonly written as cwnd, limits how much outstanding data an SCTP sender may place on a path before receiving acknowledgements. It is distinct from the receiver’s advertised window, which reflects available receive buffer space. Effective sending is constrained by the smaller of the two.
SCTP typically increases cwnd during congestion avoidance when acknowledgements arrive, then reduces it after loss signals. A slow-start phase allows the sender to discover available capacity, while retransmission and timeout events indicate that the path needs a more cautious sending rate.
Each destination path has its own congestion state. This matters when multihoming is enabled: a failed primary route can move traffic to an alternate address with a different cwnd and round-trip time. Path Maximum Transmission Unit discovery and heartbeat procedures further influence reliable operation.
Association Setup And Control Chunks
An SCTP association begins with INIT and INIT ACK chunks, followed by COOKIE ECHO and COOKIE ACK. The cookie exchange helps protect the server from resource-exhaustion attacks because the responder can avoid allocating full association state before validating the returned cookie.
Heartbeat and Heartbeat ACK chunks test whether a destination path remains reachable. ABORT terminates an association immediately, while SHUTDOWN and related chunks provide an orderly close. ERROR reports protocol problems without necessarily ending the association.
In Australian carrier operations, these controls are important when traffic crosses firewalls, carrier-grade NAT, or managed WAN services. A path that appears electrically available may still block SCTP traffic or mishandle long-lived associations, so packet captures should be checked alongside routing and security policies.
Practical Inspection Points
A packet capture becomes much easier to interpret when engineers separate association state, delivery state, and congestion symptoms. The following checks are useful during fault analysis:
- Confirm the verification tag and checksum handling.
- Match DATA TSNs with SACK cumulative and gap reports.
- Check stream identifiers and message fragmentation flags.
- Compare retransmission timing with observed round-trip delay.
For operational reviews, record the following measurements over time:
- Congestion window changes after loss or timeout.
- Receiver window limitations and advertised credit.
- Heartbeat results for every configured destination.
- Path migration, failover, and recovery events.
Teams seeking structured material on SS7, SIGTRAN, and related signalling protocols can use the SS7 Training resource as a reference point when connecting SCTP behaviour to wider telecom architecture.
SCTP Compared With TCP
SCTP and TCP both provide reliable transport, but their packet structures and delivery models differ in ways that affect signalling design.
| Feature | SCTP | TCP |
|---|---|---|
| Data model | Message-oriented | Byte-stream |
| Streams | Multiple independent streams | Single ordered stream |
| Multihoming | Native support | Not standard |
| Acknowledgement | SACK with gap blocks | Cumulative ACK with optional SACK |
| Connection term | Association | Connection |
| Common telecom use | SIGTRAN and signalling transport | General applications and APIs |
SCTP is not automatically better for every workload. Its advantages appear when message boundaries, multistreaming, multihoming, and controlled failover matter. TCP may remain simpler for applications designed around a continuous byte stream and a single network path.
Applying The Model To Troubleshooting
When DATA chunks are retransmitted, first determine whether the issue is genuine loss, reordering, a delayed SACK, or a receiver-window limit. A gap report indicates that later TSNs arrived, while a timeout suggests that acknowledgements did not arrive within the expected period.
A rising retransmission count combined with a shrinking cwnd usually points to congestion or an impaired path. If only one destination shows the problem, compare its RTT, MTU, firewall treatment, and heartbeat history with the healthy path. This distinction prevents operators from treating an application fault as a generic network outage.
Australian providers often operate mixed environments involving national fibre, international links, cloud interconnection, and regional access networks. Documenting SCTP parameters, packet captures, and failover events gives NOC teams a dependable baseline. For protocol training enquiries or tailored learning resources, the contact page provides the appropriate channel.
Use one controlled packet capture on a test association, identify the DATA and SACK sequence, and record the congestion-window response during a simulated packet loss event.