Title: ISUP / SIP mapping
1SIP over SCTP performance analysis
Gonzalo.Camarillo_at_ericsson.com Schulzrinne_at_cs.colu
mbia.edu Raimo.Kantola_at_hut.fi
2Outline
- Problem statement signalling transport
- Introduction to SCTP
- SCTP performance analysis
- SCTP vs UDP
- SCTP vs TCP
3Signalling Transport (SIGTRAN)
- Providers want to transport telephony signalling
over IP - IP trunking
- Let us try to use existing transport protocols
PSTN
IP
PSTN
SG
SG
SG Signalling Gateway
4Traditional transports UDP and TCP
- UDP (User Datagram Protocol)
- Unreliable transfer of datagrams
- Demultiplexing based on port numbers
- Checksum
- Example RTP
- TCP (Transmission Control Protocol)
- Reliable transfer of streams of bytes
- Congestion control network friendly
- Example HTTP, FTP, Telnet
5TCP limitations
- Carry every SS7 call on top of a TCP session
- Every SS7 call is affected by the TCP three-way
handshake - Multiple SS7 calls on top of a single TCP session
- TCP provides a stream service Head of the line
blocking problem
6UDP limitations
- Use UDP and application level retransmissions
- No flow control Congestion
- Large amount of state information in the
application - In a slightly different context, this solution
was adopted by SIP
7Stream Control Transmission Protocol (SCTP)
- SIGTRAN is chartered to develop a transport
protocol that fulfils signalling transport
requirements - October 2000 RFC 2960 Stream Control
Transmission Protocol - A connection in SCTP terminology is an
association - Four-way handshake (avoids DoS attacks)
SCTP
TCP
8Stream Control Transmission Protocol (SCTP)
- SCTP allows multihoming
- A receiver can be reachable at multiple IP
addresses - Robustness rather than load balancing
- SCTP is a message-based protocol
- Easier parsing
- No need of application specific boundaries
9Stream Control Transmission Protocol (SCTP)
- SCTP allows multiple streams within an
association - Flow control performed on association basis (TSN)
- Delivery performed on stream basis (no head of
the line blocking)
STREAM 0
TSNTransmission Sequence Number
10Stream Control Transmission Protocol (SCTP)
- SCTP uses TCP SACK congestion and flow control
mechanisms (per association) - Slow start, congestion avoidance, fast
retransmit, fast recovery - SCTP provides two services (per stream)
- Ordered message delivery
- Unordered message delivery
- It also provides unordered messages within an
ordered stream
11SIP over SCTP
- Two ways of transporting SIP over SCTP
- Send all SIP requests and responses over a single
unordered SCTP stream. - Send requests and responses belonging to the same
SIP transaction over the same SCTP stream. - Stream ID can be used as a lightweight
transaction identifier instead of the Call-ID,
From, To, Via and Cseq header fields - Server side Incoming ACKs (non-2xx) and CANCELs
- Client side Incoming responses
12Simulations SCTP performance analysis
We implemented SCTP in the network simulator
(ns) We only analyzed the SIP hop-by-hop
handshake (INVITE-100 Trying)
15 ms
15 ms
15 ms
13SCTP vs. UDP
Fast retransmit detects losses much faster than
UDP-based timeouts UDP lacks congestion control
Delay (ms)
Time a packet is generated (ms)
14SCTP transport layer fragmentation
- Every fragment a different TSN
- Begin and End bits are used for reassembling
- Once an SCTP packet is sent it cannot be
re-fragmented again - Sudden changes in the path MTU trigger IP
fragmentation - Problems with NATs and firewalls
SCTP DATA chunk
TSN 1 10
TSN 2 00
TSN 3 01
15SCTP and TCP window-based congestion control
- Congestion window (cwnd) limits the data rate at
the sender - Slow start exponential growth of cwnd
- Congestion avoidance linear growth of cwnd
- When the data rate at the sender is limited by
the application rather than by cwnd, the
congestion window grows dramatically - Bursts of traffic produce heavy congestion
16Head Of the Line (HOL) blocking
Comparison between ordered SCTP (which behaves
like TCP SACK) and unordered SCTP
Time a packet is received (ms)
Time a packet is generated (ms)
17Measuring HOL buffer limited router
18Measuring HOL induced packet loss
19Measuring HOL competing traffic
20Conclusions
- UDP is not a suitable protocol for proxy to proxy
communications - SCTP offers some advantages over TCP
- Protection against DoS attacks
- Multihoming
- Message based
- Lightweight transaction identifiers
- HOL avoidance
- Supposedly the biggest advantage of SCTP
- Only significant gain when anyway the delay is
unacceptable - SCTP has some limitations
- Transport layer fragmentation
- Window-based congestion control