Questions: SCTP: Stream Control Transmission Protocol
5 questions to test your understanding
Score: 0 / 5
Question 1 Multiple Choice
A telecom application uses TCP to carry three independent message types — call setup, heartbeat, and billing — over a single connection. A single lost heartbeat packet causes all three message types to stall. Which SCTP feature directly addresses this problem?
ASCTP's faster retransmission timers, which would resolve the stall more quickly
BSCTP multi-streaming: the three message types can be carried on separate independent streams within one association, so loss on the heartbeat stream doesn't block call setup or billing streams
CSCTP's SACK mechanism, which eliminates packet loss entirely through selective acknowledgment
DSCTP multi-homing, which automatically reroutes lost packets through an alternate IP address
The scenario describes head-of-line blocking — TCP's fundamental limitation for multiplexed traffic. Because TCP is a single ordered byte stream, one lost packet blocks everything behind it, regardless of logical message type. SCTP solves this by allowing multiple independent streams within one association, each with their own sequence numbers. A loss on stream 3 only stalls stream 3; streams 1 and 2 continue delivering unaffected. Multi-homing helps with path failures, not head-of-line blocking within a path.
Question 2 Multiple Choice
What does SCTP multi-homing provide that standard TCP cannot natively offer?
AThe ability to carry multiple independent data streams in one connection
BAutomatic failover when the primary network path fails, by binding the association to multiple IP addresses on each endpoint
CSimultaneous use of multiple paths to achieve higher aggregate bandwidth
DPer-message QoS tagging so different message types can have different priority levels
Multi-homing allows an SCTP association to be bound to multiple IP addresses on both endpoints. If the primary path fails, SCTP detects this via heartbeat messages to alternate addresses and automatically switches to a working alternate path — built-in redundancy that TCP cannot provide without external tooling (e.g., load balancers, bonding drivers). Note that multi-homing provides failover, not bandwidth aggregation; SCTP uses one path at a time (the primary) with alternates as standby.
Question 3 True / False
SCTP preserves message boundaries, meaning a message sent as a single unit always arrives as a single unit, unlike TCP where it may be fragmented across multiple reads.
TTrue
FFalse
Answer: True
TCP is a byte-stream protocol with no notion of message boundaries — a single send() of 500 bytes may arrive as one recv() of 500 bytes, or two recv() calls of 250 bytes each, or any other fragmentation. Applications must implement their own framing. SCTP is a message-oriented protocol that preserves boundaries: each SCTP message (chunk) is delivered intact and as a discrete unit to the receiving application, similar to UDP but with TCP-like reliability guarantees.
Question 4 True / False
Head-of-line blocking is a problem in SCTP associations because a lost packet on one stream delays delivery on most streams within that association.
TTrue
FFalse
Answer: False
Head-of-line blocking is TCP's problem, not SCTP's. SCTP's multi-streaming architecture specifically solves this: each stream maintains independent sequencing, so a loss on stream 3 only blocks ordered delivery within stream 3. Streams 1, 2, and 4 continue delivering their messages without interruption. This independence is SCTP's primary design advantage over TCP for multiplexed applications.
Question 5 Short Answer
Explain what head-of-line blocking is in TCP, and how SCTP's multi-streaming architecture solves it.
Think about your answer, then reveal below.
Model answer: Head-of-line blocking occurs in TCP because the protocol delivers a single ordered byte stream: if a packet is lost, TCP cannot deliver any subsequent data to the application until the lost packet is retransmitted and received, even if that subsequent data is logically unrelated. Everything behind the gap must wait. SCTP solves this by dividing an association into multiple independent streams. Each stream has its own sequence numbers and its own ordered delivery queue. A lost packet on stream 3 only stalls stream 3's delivery queue; the receiver reports the gap and requests retransmission, but streams 1, 2, and 4 continue delivering their own messages without any delay. The streams are independent — their delivery is not coupled.
This property made SCTP attractive for telecom signaling, where call setup messages, heartbeats, and billing records are logically independent and it is unacceptable for one type to block another. The same principle motivates HTTP/2's and HTTP/3's multiplexing designs, though HTTP/3 over QUIC solves it at the QUIC layer rather than using SCTP.