SIP over SCTP performance analysis

Download Report

Transcript SIP over SCTP performance analysis

SIP over SCTP performance analysis
[email protected]
[email protected]
[email protected]
Camarillo / Schulzrinne / Kantola
November 26th, 2001
Outline
Problem statement: signalling transport
Introduction to SCTP
SCTP performance analysis
SCTP vs UDP
SCTP vs TCP
Camarillo / Schulzrinne / Kantola
November 26th, 2001
Signalling Transport (SIGTRAN)
Providers want to transport telephony signalling over IP
IP trunking
PSTN
IP
SG
PSTN
SG
SG: Signalling Gateway
Let us try to use existing transport protocols
Camarillo / Schulzrinne / Kantola
November 26th, 2001
Traditional 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
Camarillo / Schulzrinne / Kantola
November 26th, 2001
TCP limitations
Carry every SS7 call on top of a TCP session
Every SS7 call is affected by the TCP three-way handshake
Sender
Receiver
SYN
SYN
ack
Established
Multiple SS7 calls on top of a single TCP session
TCP provides a stream service: Head of the line blocking problem
Sender
Receiver
1:513
513:1025
ack 1
1:513
Camarillo / Schulzrinne / Kantola
November 26th, 2001
TCP delivers
1:1025
UDP 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
Sender
Receiver
0,5 secs
INVITE
INVITE
Camarillo / Schulzrinne / Kantola
November 26th, 2001
Stream 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)
Sender
Receiver
Sender
Receiver
INIT
SYN
INIT ACK
SYN
COOKIE ECHOE
ack
COOKIE ACK
SCTP
Camarillo / Schulzrinne / Kantola
November 26th, 2001
TCP
Established
Stream 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
Camarillo / Schulzrinne / Kantola
November 26th, 2001
Stream 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)
Sender
Receiver
TSN=1
Stream id=0
Stream seq=0
STREAM 0
Chunk delivered
for stream id=0
TSN=2
Stream id=1
Stream seq=0
TSN=3
Stream id=0
Stream seq=1
Chunk delivered
for stream id=0
SACK
TSN=1
TSN=2
Stream id=1
Stream seq=0
TSN:Transmission Sequence Number
Camarillo / Schulzrinne / Kantola
November 26th, 2001
Stream 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
Camarillo / Schulzrinne / Kantola
November 26th, 2001
SIP 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
Camarillo / Schulzrinne / Kantola
November 26th, 2001
Simulations: SCTP performance analysis
We implemented SCTP in the network simulator (ns)
15 ms
15 ms
15 ms
We only analyzed the SIP hop-by-hop handshake (INVITE-100
Trying)
Camarillo / Schulzrinne / Kantola
November 26th, 2001
SCTP vs. UDP
Fast retransmit detects losses much faster than UDP-based
timeouts
UDP lacks congestion control
600
500
400
Delay
(ms)
300
200
100
0
12100
12200
12300
12400
SCTP
Camarillo / Schulzrinne / Kantola
November 26th, 2001
12500
12600
UDP
12700
12800
Time a packet is
generated (ms)
SCTP transport layer fragmentation
Every fragment a different TSN
Begin and End bits are used for reassembling
SCTP DATA chunk
TSN = 1
TSN = 2
TSN = 3
10
00
01
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
Camarillo / Schulzrinne / Kantola
November 26th, 2001
SCTP 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
Camarillo / Schulzrinne / Kantola
November 26th, 2001
Head Of the Line (HOL) blocking
Comparison between ordered SCTP (which behaves like TCP
SACK) and unordered SCTP
61340
61290
61240
Time a packet is 61190
received (ms)
61140
61090
61040
60850
60900
60950
No HOL
Camarillo / Schulzrinne / Kantola
November 26th, 2001
61000
HOL
61050
61100
Time a packet is
generated (ms)
Measuring HOL: buffer limited router
15 ms
15 ms
15 ms
Losses due to a buffer-limited router
Mean
Variance
Minimum
Maximum
Diff. of means
Camarillo / Schulzrinne / Kantola
November 26th, 2001
No HOL
HOL
397.4 ms
400.8 ms
72735.5
72416.9
48.6
48.6 ms
1016.5 ms
1016.5 ms
(-6.95 , 0.15)
Measuring HOL: induced packet loss
15 ms
15 ms
15 ms
Induced packet loss
Mean
Variance
Max.
Min.
Diff.
Camarillo / Schulzrinne / Kantola
November 26th, 2001
0.2 % packet loss
No HOL HOL
455.9 ms 459.3 ms
382063
382171
48.6 ms
48.6 ms
3198 ms 3198 ms
(-11.58 , 4.71)
0.3 % packet loss
No HOL HOL
840.8 ms 844.8 ms
862894
862563
48.6 ms
48.6 ms
4213 ms 4213 ms
(-16.18 , 8.30)
Measuring HOL: competing traffic
15 ms
15 ms
15 ms
Competing traffic
Mean
Variance
Max.
Min.
Diff.
Camarillo / Schulzrinne / Kantola
November 26th, 2001
1 competing
TCP flow
No HOL HOL
757.2 ms 771.2 ms
361544
361980
48.6 ms
48.6 ms
2135 ms 2135 ms
(-21.92 , -6.06)
2 competing
TCP flows
No HOL HOL
589.1 ms 606.9 ms
582583
598105
48.6 ms
48.6 ms
3284 ms 3284 ms
(-27.89 , -7.63)
Conclusions
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
Camarillo / Schulzrinne / Kantola
November 26th, 2001