100% Free Forever
AI-Powered Learning
Industry Expert Content
Certificates & Badges
Learn At Your Own Pace

TCP vs SCTP: What Is the Difference?

Compare TCP and SCTP — multi-streaming, message orientation, multihoming, and real-world use cases — with networking interview Q&A.

hardQ60 of 224 in Computer Networks Est. time: 6 minsLast updated:
Open Code Lab

Expected Interview Answer

TCP is a single-stream, byte-oriented, reliable transport protocol, while SCTP (Stream Control Transmission Protocol) is a message-oriented transport that supports multiple independent streams and multihoming within one connection, avoiding TCP head-of-line blocking across unrelated streams.

TCP delivers one ordered byte stream per connection, so if a single segment is lost every byte behind it must wait — this is head-of-line blocking. SCTP instead establishes an “association” that can carry many logically independent streams; a lost message on stream 3 does not stall delivery of messages already ready on stream 1. SCTP is also message-oriented, preserving application-level message boundaries instead of requiring the app to frame a byte stream itself, and it natively supports multihoming, letting an association survive a path failure by failing over to a secondary IP address. SCTP still gives reliable, congestion-controlled delivery like TCP, and its four-way handshake (INIT/INIT-ACK/COOKIE-ECHO/COOKIE-ACK) mitigates SYN-flood-style attacks better than TCP three-way handshake. In practice TCP is nearly universal due to middlebox and NAT support, while SCTP is used mainly in telecom signalling (SS7/Diameter over SCTP) and as the substrate under WebRTC data channels.

  • Multi-streaming avoids cross-stream head-of-line blocking
  • Message-oriented delivery preserves application message boundaries
  • Native multihoming improves resilience to path failure
  • Cookie-based handshake resists SYN-flood-style attacks

AI Mentor Explanation

TCP is like a single bowler delivering one over of exactly six balls in strict order — if the third ball is called a no-ball and must be re-bowled, every following ball in that over waits behind it. SCTP is like running six separate bowling lanes at once, each with its own over in progress, so a re-bowl on lane three never delays a ball already ready on lane one. SCTP also keeps each delivery as a distinct scored event rather than blending them into one long innings tally, which mirrors how it preserves message boundaries instead of one continuous byte stream.

Step-by-Step Explanation

  1. Step 1

    Association setup

    SCTP establishes an association via a four-way INIT/INIT-ACK/COOKIE-ECHO/COOKIE-ACK handshake, resisting SYN-flood style attacks better than TCP.

  2. Step 2

    Multi-streaming

    Multiple independent streams share one association; a lost message on one stream does not block delivery on other streams.

  3. Step 3

    Message framing

    SCTP preserves application message boundaries natively, unlike TCP which requires the application to frame its own byte stream.

  4. Step 4

    Multihoming failover

    An SCTP endpoint can advertise multiple IP addresses; the association survives a path failure by switching to a secondary address.

What Interviewer Expects

  • Explains TCP is single-stream, byte-oriented; SCTP is multi-stream, message-oriented
  • Names head-of-line blocking as the core problem SCTP multi-streaming solves
  • Mentions SCTP multihoming and its cookie-based handshake
  • Gives a realistic use case (telecom signalling, WebRTC data channels)

Common Mistakes

  • Claiming SCTP is unreliable or unordered like UDP
  • Not knowing SCTP is message-oriented rather than a raw byte stream
  • Forgetting that most networks/NATs have poor SCTP support, limiting adoption
  • Confusing multi-streaming with simple multiplexing of separate TCP connections

Best Answer (HR Friendly)

TCP sends one strict, ordered stream of bytes, so a single lost packet can stall everything behind it. SCTP is a newer transport protocol that can run several independent streams over one connection and even switch between network paths if one fails, which is why it shows up in telecom systems and under technologies like WebRTC, even though TCP remains the default almost everywhere else because it is universally supported.

Code Example

Comparing TCP and SCTP sockets on Linux
# Check if the SCTP kernel module is loaded
lsmod | grep sctp

# List active SCTP associations (requires sctp-tools)
sctp_status

# Compare: a plain TCP connection to a host
ss -t -a | grep ESTAB

# SCTP typically listens on the same port range but uses protocol 132
ss -S -a

Follow-up Questions

  • What causes head-of-line blocking in TCP and how does QUIC also solve it?
  • How does the SCTP four-way handshake resist SYN-flood attacks?
  • Why has SCTP not seen wide adoption on the public internet?
  • How does SCTP multihoming differ from simply using multiple TCP connections?

MCQ Practice

1. What is the primary advantage of SCTP multi-streaming over TCP?

SCTP can carry multiple independent streams in one association, so a loss on one stream does not stall delivery on the others.

2. How does SCTP frame application data compared to TCP?

Unlike TCP raw byte stream, SCTP preserves application-level message boundaries natively.

3. What SCTP feature lets an association survive a network path failure?

SCTP multihoming lets an endpoint advertise multiple IP addresses and fail over to a secondary path.

Flash Cards

TCP vs SCTP framing?TCP is byte-oriented (one stream); SCTP is message-oriented with multiple independent streams.

What problem does SCTP multi-streaming solve?Head-of-line blocking — a loss on one stream no longer stalls unrelated streams.

What is SCTP multihoming?The ability for an association to use multiple IP addresses and fail over if one path breaks.

Where is SCTP actually used?Telecom signalling (SS7/Diameter) and as the substrate under WebRTC data channels.

1 / 4

Continue Learning