SIP over SCTP performance analysis Gonzalo Camarilloericsson com

  • Slides: 20
Download presentation
SIP over SCTP performance analysis Gonzalo. Camarillo@ericsson. com Schulzrinne@cs. columbia. edu Raimo. Kantola@hut. fi

SIP over SCTP performance analysis Gonzalo. Camarillo@ericsson. com Schulzrinne@cs. columbia. edu Raimo. Kantola@hut. fi Camarillo / Schulzrinne / Kantola November 26 th, 2001

Outline l Problem statement: signalling transport l Introduction to SCTP l SCTP performance analysis

Outline l Problem statement: signalling transport l Introduction to SCTP l SCTP performance analysis – SCTP vs UDP – SCTP vs TCP Camarillo / Schulzrinne / Kantola November 26 th, 2001

Signalling Transport (SIGTRAN) l Providers want to transport telephony signalling over IP – IP

Signalling Transport (SIGTRAN) l Providers want to transport telephony signalling over IP – IP trunking PSTN IP SG PSTN SG SG: Signalling Gateway l Let us try to use existing transport protocols Camarillo / Schulzrinne / Kantola November 26 th, 2001

Traditional transports: UDP and TCP l UDP (User Datagram Protocol) – Unreliable transfer of

Traditional transports: UDP and TCP l UDP (User Datagram Protocol) – Unreliable transfer of datagrams – Demultiplexing based on port numbers – Checksum – Example: RTP l TCP (Transmission Control Protocol) – Reliable transfer of streams of bytes – Congestion control: network friendly – Example: HTTP, FTP, Telnet Camarillo / Schulzrinne / Kantola November 26 th, 2001

TCP limitations l Carry every SS 7 call on top of a TCP session

TCP limitations l Carry every SS 7 call on top of a TCP session – Every SS 7 call is affected by the TCP three-way handshake l Multiple SS 7 calls on top of a single TCP session – TCP provides a stream service: Head of the line blocking problem Camarillo / Schulzrinne / Kantola November 26 th, 2001

UDP limitations l Use UDP and application level retransmissions – No flow control: Congestion

UDP limitations l Use UDP and application level retransmissions – No flow control: Congestion – Large amount of state information in the application l In a slightly different context, this solution was adopted by SIP Camarillo / Schulzrinne / Kantola November 26 th, 2001

Stream Control Transmission Protocol (SCTP) l SIGTRAN is chartered to develop a transport protocol

Stream Control Transmission Protocol (SCTP) l 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” l Four-way handshake (avoids Do. S attacks) SCTP Camarillo / Schulzrinne / Kantola November 26 th, 2001 TCP

Stream Control Transmission Protocol (SCTP) l SCTP allows multihoming – A receiver can be

Stream Control Transmission Protocol (SCTP) l SCTP allows multihoming – A receiver can be reachable at multiple IP addresses – Robustness rather than load balancing l SCTP is a message-based protocol – Easier parsing – No need of application specific boundaries Camarillo / Schulzrinne / Kantola November 26 th, 2001

Stream Control Transmission Protocol (SCTP) l SCTP allows multiple streams within an association –

Stream Control Transmission Protocol (SCTP) l 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 TSN: Transmission Sequence Number Camarillo / Schulzrinne / Kantola November 26 th, 2001

Stream Control Transmission Protocol (SCTP) l SCTP uses TCP SACK congestion and flow control

Stream Control Transmission Protocol (SCTP) l SCTP uses TCP SACK congestion and flow control mechanisms (per association) – Slow start, congestion avoidance, fast retransmit, fast recovery l 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 26 th, 2001

SIP over SCTP l Two ways of transporting SIP over SCTP – Send all

SIP over SCTP l 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. l 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-2 xx) and CANCELs – Client side: Incoming responses Camarillo / Schulzrinne / Kantola November 26 th, 2001

Simulations: SCTP performance analysis l We implemented SCTP in the network simulator (ns) 15

Simulations: SCTP performance analysis l We implemented SCTP in the network simulator (ns) 15 ms l We only analyzed the SIP hop-by-hop handshake (INVITE-100 Trying) Camarillo / Schulzrinne / Kantola November 26 th, 2001

SCTP vs. UDP l Fast retransmit detects losses much faster than UDP-based timeouts l

SCTP vs. UDP l Fast retransmit detects losses much faster than UDP-based timeouts l UDP lacks congestion control Delay (ms) Time a packet is generated (ms) Camarillo / Schulzrinne / Kantola November 26 th, 2001

SCTP transport layer fragmentation l Every fragment a different TSN l Begin and End

SCTP transport layer fragmentation l Every fragment a different TSN l Begin and End bits are used for reassembling SCTP DATA chunk TSN = 1 TSN = 2 TSN = 3 10 00 01 l Once an SCTP packet is sent it cannot be re-fragmented again – Sudden changes in the path MTU trigger IP fragmentation l Problems with NATs and firewalls Camarillo / Schulzrinne / Kantola November 26 th, 2001

SCTP and TCP window-based congestion control l Congestion window (cwnd) limits the data rate

SCTP and TCP window-based congestion control l Congestion window (cwnd) limits the data rate at the sender – Slow start: exponential growth of cwnd – Congestion avoidance: linear growth of cwnd l 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 26 th, 2001

Head Of the Line (HOL) blocking l Comparison between ordered SCTP (which behaves like

Head Of the Line (HOL) blocking l Comparison between ordered SCTP (which behaves like TCP SACK) and unordered SCTP Time a packet is received (ms) Time a packet is generated (ms) Camarillo / Schulzrinne / Kantola November 26 th, 2001

Measuring HOL: buffer limited router 15 ms Camarillo / Schulzrinne / Kantola November 26

Measuring HOL: buffer limited router 15 ms Camarillo / Schulzrinne / Kantola November 26 th, 2001 15 ms

Measuring HOL: induced packet loss 15 ms Camarillo / Schulzrinne / Kantola November 26

Measuring HOL: induced packet loss 15 ms Camarillo / Schulzrinne / Kantola November 26 th, 2001 15 ms

Measuring HOL: competing traffic 15 ms Camarillo / Schulzrinne / Kantola November 26 th,

Measuring HOL: competing traffic 15 ms Camarillo / Schulzrinne / Kantola November 26 th, 2001 15 ms

Conclusions l UDP is not a suitable protocol for proxy to proxy communications l

Conclusions l UDP is not a suitable protocol for proxy to proxy communications l SCTP offers some advantages over TCP – – – Protection against Do. S attacks Multihoming Message based Lightweight transaction identifiers HOL avoidance l Supposedly the biggest advantage of SCTP l Only significant gain when anyway the delay is unacceptable l SCTP has some limitations – Transport layer fragmentation – Window-based congestion control Camarillo / Schulzrinne / Kantola November 26 th, 2001