sctp stream control transmission protocol · m3ua sctp ip ulp ip m3ua sctp ip mtp-l3 mtp-l2 mtp-l1...

9
Topics in Computer Networking Anna Brunstrom 1 Anna Brunstrom Karlstad University Department of Computer Science Topics in Computer Networking 2009-0326 SCTP Stream Control Transmission Protocol Topics in Computer Networking Anna Brunstrom Karlstad University Department of Computer Science Topics in Computer Networking 2010-04-07 Outline NGN and SIGTRAN Motivation for SCTP Protocol Overview Packet format Protection against SYN Flooding – Multistreaming – Multihoming Research Activities at Kau • Summary Seminar Details Anna Brunstrom Karlstad University Department of Computer Science Topics in Computer Networking 2010-04-07 Network Convergence Traditionally, telecommunication and data communication networks have been separate entities Trend for voice, video, and data to converge into single IP-based infrastructure (i.e. NGN) VoIP step in this direction Drivers of VoIP: Less costly equipment, less regulated, better efficiency, ease of deployment, enhanced services Inhibitors of VoIP: immature technology, lack of standards, QoS (reliability/availability) Need for seamless interoperation of VoIP with traditional PSTN Anna Brunstrom Karlstad University Department of Computer Science Topics in Computer Networking 2010-04-07 H.323/S IP SG Mobile N etworks/ IMS Media Gateway Network Manager IB AAA SS7 Switch STP PSTN/ISDN SS7 Switch STP PSTN/ISDN Media Gateway Core IP Network Gatekeeper/ Proxy Server API (PARLAY/LDAP) Application Server MGCP/Megaco/H.248 SIGTRAN SIGTRAN Н.323/ IP Network SS7 ISUP/MTP SIP/SIP-T H.323/BICC RADIUS ISUP SIP Softswitch SG Softswitch MGC SNMP NGN

Upload: others

Post on 15-Apr-2020

41 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SCTP Stream Control Transmission Protocol · M3UA SCTP IP ULP IP M3UA SCTP IP MTP-L3 MTP-L2 MTP-L1 NIF MTP-L3 MTP-L2 MTP-L1 ULP SS7 IPSEP Signaling Gateway SS7SEP ... • Flow and

Topics in Computer Networking

Anna Brunstrom 1

Anna BrunstromKarlstad UniversityDepartment of Computer Science

Topics in Computer Networking2009-0326

SCTPStream Control Transmission

Protocol

Topics in Computer Networking

Anna BrunstromKarlstad UniversityDepartment of Computer Science

Topics in Computer Networking2010-04-07

Outline

• NGN and SIGTRAN• Motivation for SCTP • Protocol Overview

– Packet format– Protection against SYN Flooding– Multistreaming– Multihoming

• Research Activities at Kau• Summary• Seminar Details

Anna BrunstromKarlstad UniversityDepartment of Computer Science

Topics in Computer Networking2010-04-07

Network Convergence• Traditionally, telecommunication and data

communication networks have been separate entities

• Trend for voice, video, and data to converge into single IP-based infrastructure (i.e. NGN)

• VoIP step in this direction• Drivers of VoIP: Less costly equipment, less

regulated, better efficiency, ease of deployment, enhanced services

• Inhibitors of VoIP: immature technology, lack of standards, QoS (reliability/availability)

• Need for seamless interoperation of VoIP with traditional PSTN

Anna BrunstromKarlstad UniversityDepartment of Computer Science

Topics in Computer Networking2010-04-07

H.323/SIP

SG

Mobile Networks/IMS

Media Gateway

Network Manager

IB AAA

SS7Switch STP

PSTN/ISDN

SS7Switch STP

PSTN/ISDN

Media Gateway

Core IP Network

Gatekeeper/Proxy Server

API (PARLAY/LDAP)

Application Server

MGCP/Megaco/H.248

SIGTRANSIGTRAN

Н.323/ IP Network

SS7ISUP/MTP

SIP/SIP-TH.323/BICC

RADIUS

ISUP

SIPSoftswitch

SG

Softswitch

MGC

SNMP

NGN

Page 2: SCTP Stream Control Transmission Protocol · M3UA SCTP IP ULP IP M3UA SCTP IP MTP-L3 MTP-L2 MTP-L1 NIF MTP-L3 MTP-L2 MTP-L1 ULP SS7 IPSEP Signaling Gateway SS7SEP ... • Flow and

Topics in Computer Networking

Anna Brunstrom 2

Anna BrunstromKarlstad UniversityDepartment of Computer Science

Topics in Computer Networking2010-04-07

The Telephone Network

Circuit Switched Network

Transport Layer

Control Layer

Signaling System no. 7 (SS7)

Anna BrunstromKarlstad UniversityDepartment of Computer Science

Topics in Computer Networking2010-04-07

SS7 Performance Requirements

• A given route set should not be out of service for more than 10 minutes per year (99.9998% uptime)

• No more than 1x10-7 messages should be lost• No more than 1x10-10 messages should be delivered out of

sequence• Numerous timing requirements must be met• How to make sure that IP networks can support the

performance requirements of SS7?

Anna BrunstromKarlstad UniversityDepartment of Computer Science

Topics in Computer Networking2010-04-07

H.323/SIP

SG

Mobile Networks/IMS

Media Gateway

Network Manager

IB AAA

SS7Switch STP

PSTN/ISDN

SS7Switch STP

PSTN/ISDN

Media Gateway

Core IP Network

Gatekeeper/Proxy Server

API (PARLAY/LDAP)

Application Server

MGCP/Megaco/H.248

SIGTRANSIGTRAN

Н.323/ IP Network

SS7ISUP/MTP

SIP/SIP-TH.323/BICC

RADIUS

ISUP

SIPSoftswitch

SG

Softswitch

MGC

SNMP

How do we solve the problem?

Anna BrunstromKarlstad UniversityDepartment of Computer Science

Topics in Computer Networking2010-04-07

SIGTRAN

SignalingGateway

MediaGateway

Controller

TDM

MGCP/MEGACO

PSTN

SS7SCPSCP

Local Exchange

STPSTP

IP NetworkSIGTRAN

RTP/IP RTP/IP

MediaGateway

MediaGateway

MediaGateway

Controller

Page 3: SCTP Stream Control Transmission Protocol · M3UA SCTP IP ULP IP M3UA SCTP IP MTP-L3 MTP-L2 MTP-L1 NIF MTP-L3 MTP-L2 MTP-L1 ULP SS7 IPSEP Signaling Gateway SS7SEP ... • Flow and

Topics in Computer Networking

Anna Brunstrom 3

Anna BrunstromKarlstad UniversityDepartment of Computer Science

Topics in Computer Networking2010-04-07

SIGTRAN

M3UA

SCTP

IP

ULP

IP

M3UA

SCTP

IP

MTP-L3

MTP-L2

MTP-L1

NIF

MTP-L3

MTP-L2

MTP-L1

ULP

SS7

Signaling GatewayIPSEP SS7SEP

Anna BrunstromKarlstad UniversityDepartment of Computer Science

Topics in Computer Networking2010-04-07

SCTP?

Applications (e.g Webbrowsers, mail clients, …)

TCP UDP SCTP

IP

Physical

Anna BrunstromKarlstad UniversityDepartment of Computer Science

Topics in Computer Networking2010-04-07

SCTP: Motivation• TCP and UDP unsuitable for SS7 signaling

– Can not be used, considering the previously mentioned SS7 requirements

• SCTP:– Like TCP, it provides reliable, full-duplex connections– Solves the following TCP issues:

• Head-of-line blocking can occur

• Application layer framing is required for messages• Singlehomed hosts only• Vulnerability to SYN flooding attacks

• SCTP ≈ TCP + A number of features

Anna BrunstromKarlstad UniversityDepartment of Computer Science

Topics in Computer Networking2010-04-07

SCTP Standardization

• Stream Control Transmission Protocol (RFC 2960), October 2000

• SCTP Partial Reliability Extension (RFC 3758), May2004

• SCTP Padding Chunk Extension (4820), March 2007• SCTP AUTH Extension (RFC 4895), August 2007• SCTP DAR Extension (RFC 5061), September 2007• Stream Control Transmission Protocol (RFC 4960),

September 2007• Sockets API Extensions for SCTP, (internet-draft), latest

version from March 2010

Page 4: SCTP Stream Control Transmission Protocol · M3UA SCTP IP ULP IP M3UA SCTP IP MTP-L3 MTP-L2 MTP-L1 NIF MTP-L3 MTP-L2 MTP-L1 ULP SS7 IPSEP Signaling Gateway SS7SEP ... • Flow and

Topics in Computer Networking

Anna Brunstrom 4

Anna BrunstromKarlstad UniversityDepartment of Computer Science

Topics in Computer Networking2010-04-07

SCTP: Services and Features

• Services/Features SCTP TCP UDP• Full-duplex data transmission yes yes yes• Connection-oriented yes yes no• Reliable data transfer yes yes no• Partially reliable data transfer yes no no• Ordered data delivery yes yes no• Flow and Congestion Control yes yes no• Selective acks yes yes no• PMTUD yes yes no• Application data fragmentation yes yes no• Preservation of message boundaries yes no yes• Protection agains SYN flooding attacks yes no n/a• Unordered data delivery yes no yes• Multistreaming yes no no• Multihoming yes no no

Anna BrunstromKarlstad UniversityDepartment of Computer Science

Topics in Computer Networking2010-04-07

Why Messages?• TCP applications often transmit large byte

streams (bulk transfers)• SCTP signaling applications transmit small

independent units of data

Anna BrunstromKarlstad UniversityDepartment of Computer Science

Topics in Computer Networking2010-04-07

Packet Formats

Chunk Data

Chunk Data

TCP

SCTPAnna BrunstromKarlstad UniversityDepartment of Computer Science

Topics in Computer Networking2010-04-07

Chu

nk

Type

Length

Value

Flags

N

2

1

1

SCTP Chunks

• Type– Used to distinguish data chunks

and different types of control chunks

• Flags– Usage depends on Chunk type

• Length – Required because chunks have

a variable length

• Value – Payload field

Page 5: SCTP Stream Control Transmission Protocol · M3UA SCTP IP ULP IP M3UA SCTP IP MTP-L3 MTP-L2 MTP-L1 NIF MTP-L3 MTP-L2 MTP-L1 ULP SS7 IPSEP Signaling Gateway SS7SEP ... • Flow and

Topics in Computer Networking

Anna Brunstrom 5

Anna BrunstromKarlstad UniversityDepartment of Computer Science

Topics in Computer Networking2010-04-07

0 Payload Data1 Initiation2 Initiation Acknowledgement3 Selective Acknowledgement4 Heartbeat Request5 Heartbeat Acknowledgement6 Abort7 Shutdown8 Shutdown Acknowledgement9 Operation Error10 State Cookie11 Cookie Acknowledgement12 Reserved for Explicit Congestion Notification Echo13 Reserved for Congestion Window Reduced14 Shutdown Complete

15 Authentication chunk128 Address Configuration Change Acknowledgement132 SCTP packet padding192 Forward Cumulative TSN193 Address Configuration Change

Chunk Types

Chu

nk

Type

Length

Value

Flags

N

2

1

1

Anna BrunstromKarlstad UniversityDepartment of Computer Science

Topics in Computer Networking2010-04-07

SCTP Data Chunk

Type = 0 Reserv.

Stream Sequence Number N

Length

Transmission Sequence Number (TSN)

User Data (seq. n of Stream S)

Payload Protocol Identifier

Stream Identifier S

U B E

Anna BrunstromKarlstad UniversityDepartment of Computer Science

Topics in Computer Networking2010-04-07

SCTP: Services and Features

• Services/Features SCTP TCP UDP• Full-duplex data transmission yes yes yes• Connection-oriented yes yes no• Reliable data transfer yes yes no• Partially reliable data transfer yes no no• Ordered data delivery yes yes no• Flow and Congestion Control yes yes no• Selective acks yes yes no• PMTUD yes yes no• Application data fragmentation yes yes no• Preservation of message boundaries yes no yes• Protection against SYN flooding attack yes no n/a• Unordered data delivery yes no yes• Multistreaming yes no no• Multihoming yes no no

Anna BrunstromKarlstad UniversityDepartment of Computer Science

Topics in Computer Networking2010-04-07

SYN Flooding?

client server

SYN

SYN, ACK

ACK

Resource Allocation

Page 6: SCTP Stream Control Transmission Protocol · M3UA SCTP IP ULP IP M3UA SCTP IP MTP-L3 MTP-L2 MTP-L1 NIF MTP-L3 MTP-L2 MTP-L1 ULP SS7 IPSEP Signaling Gateway SS7SEP ... • Flow and

Topics in Computer Networking

Anna Brunstrom 6

Anna BrunstromKarlstad UniversityDepartment of Computer Science

Topics in Computer Networking2010-04-07

SCTP Association Establishment

client server

INIT

COOKIE-ACK

COOKIE-ECHO

INIT-ACK

Resource Allocation

Anna BrunstromKarlstad UniversityDepartment of Computer Science

Topics in Computer Networking2010-04-07

SCTP: Services and Features

• Services/Features SCTP TCP UDP• Full-duplex data transmission yes yes yes• Connection-oriented yes yes no• Reliable data transfer yes yes no• Partially reliable data transfer yes no no• Ordered data delivery yes yes no• Flow and Congestion Control yes yes no• Selective acks yes yes no• PMTUD yes yes no• Application data fragmentation yes yes no• Preservation of message boundaries yes no yes• Protection agains SYN flooding attack yes no n/a• Multistreaming yes no no• Unordered data delivery yes no yes• Multihoming yes no no

Anna BrunstromKarlstad UniversityDepartment of Computer Science

Topics in Computer Networking2010-04-07

Why Streams and Unordered Delivery?

Anna BrunstromKarlstad UniversityDepartment of Computer Science

Topics in Computer Networking2010-04-07

Multistreaming• Stream: unidirectional data flow within an

SCTP association– Within streams: Stream Sequence Number (SSN)– Between streams no data order preserved

Multistreaming

Page 7: SCTP Stream Control Transmission Protocol · M3UA SCTP IP ULP IP M3UA SCTP IP MTP-L3 MTP-L2 MTP-L1 NIF MTP-L3 MTP-L2 MTP-L1 ULP SS7 IPSEP Signaling Gateway SS7SEP ... • Flow and

Topics in Computer Networking

Anna Brunstrom 7

Anna BrunstromKarlstad UniversityDepartment of Computer Science

Topics in Computer Networking2010-04-07

Unordered Delivery

Anna BrunstromKarlstad UniversityDepartment of Computer Science

Topics in Computer Networking2010-04-07

SCTP: Services and Features

• Services/Features SCTP TCP UDP• Full-duplex data transmission yes yes yes• Connection-oriented yes yes no• Reliable data transfer yes yes no• Partially reliable data transfer yes no no• Ordered data delivery yes yes no• Flow and Congestion Control yes yes no• Selective acks yes yes no• PMTUD yes yes no• Application data fragmentation yes yes no• Preservation of message boundaries yes no yes• Protection agains SYN flooding attack yes no n/a• Unordered data delivery yes no yes• Multistreaming yes no no• Multihoming yes no no

Anna BrunstromKarlstad UniversityDepartment of Computer Science

Topics in Computer Networking2010-04-07

Why Multihoming?

• Allows use of multiple IP addresses at each endpoint for a single association

• Originally for redundancy purposes only

ReceiverSender

Internet

ISPISP

ISPISP

If 1If 1

If 2

If 2

Primary path

Alternate/backup pathAnna BrunstromKarlstad UniversityDepartment of Computer Science

Topics in Computer Networking2010-04-07

Redundancy through Multihoming

• Primary destination address– Normally used for the transmission of new packets

• Secondary destination address– considered as a “backup” destination– periodically monitored with the transmission of probe

packets (heartbeats)

• Secondary destination address used to– retransmit lost packets– transmit new packets if the primary interface fails

• number of consecutive timeouts exceeds an established threshold

Page 8: SCTP Stream Control Transmission Protocol · M3UA SCTP IP ULP IP M3UA SCTP IP MTP-L3 MTP-L2 MTP-L1 NIF MTP-L3 MTP-L2 MTP-L1 ULP SS7 IPSEP Signaling Gateway SS7SEP ... • Flow and

Topics in Computer Networking

Anna Brunstrom 8

Anna BrunstromKarlstad UniversityDepartment of Computer Science

Topics in Computer Networking2010-04-07

Multihoming/Failover

Receiver

Sender

Internet

ISPISP

ISPISP

Timeout!!Timeout!!

Anna BrunstromKarlstad UniversityDepartment of Computer Science

Topics in Computer Networking2010-04-07

Dynamic Address Reconfiguration

• Adding or deleting IP addresses from the existing SCTP association

• Changing primary IP address for SCTP association

• Intended for hot pluggable interfaces and renumbering

• Can also be used for transport layer mobility

Correspondent

Node

Internet

Mobile Host

Location

Manager

Packet

sent to

old

path

New /

Retransmitte

d packets

Old

Access

Router

New

Access

Router

Old BS

New BS

Anna BrunstromKarlstad UniversityDepartment of Computer Science

Topics in Computer Networking2010-04-07

SCTP Research at KaU

• SCTP multihoming– Failover performance: protocol tuning, SIGTRAN vs. SS7

– Relaxed timer backoff proposed to improve performance

– Using SCTP for transport layer mobility

– Improved start-up on alternate path

• SCTP performance for single-homed associations– Impact of head-of-line blocking

– Timely loss recovery

– Use of partially reliable service for syslog traffic

• SCTP as a basis for secure applications– Dynamic encryption service

– Data protection based on physical separation

– E2E security in SCTP: S²SCTP

Anna BrunstromKarlstad UniversityDepartment of Computer Science

Topics in Computer Networking2010-04-07

Summary• SCTP is a, relatively new, transport protocol • Motivated by the need for IP-based telephony

signaling transport• It differs from TCP in that it is capable of:

– Avoiding head-of-line blocking– Transfer messages– Multihoming– Surviving SYN flooding attacks

• SCTP is quite flexible, partly due to the packet structure, and can therefore be modified for other purposes– e.g. load-balancing, mobility

Page 9: SCTP Stream Control Transmission Protocol · M3UA SCTP IP ULP IP M3UA SCTP IP MTP-L3 MTP-L2 MTP-L1 NIF MTP-L3 MTP-L2 MTP-L1 ULP SS7 IPSEP Signaling Gateway SS7SEP ... • Flow and

Topics in Computer Networking

Anna Brunstrom 9

Anna BrunstromKarlstad UniversityDepartment of Computer Science

Topics in Computer Networking2010-04-07

Seminar

• Wednesday 100414, 09:15 (21E 309)– Answer a quiz about SCTP– Discussion about SCTP– Related independent study topics

Anna BrunstromKarlstad UniversityDepartment of Computer Science

Topics in Computer Networking2010-04-07

Seminar

• Mandatory reading – SCTP: state of the art in research, products, and technical

challengesShaojian Fu; Atiquzzaman, M.;Communications Magazine, IEEE, Volume: 42, Issue: 4, Apr 2004, Pages: 64-76

– Evaluation of transport protocols for the session initiation protocolCamarillo, G.; Kantola, R.; Schulzrinne, H.;Network, IEEE, Volume: 17, Issue: 5, Sept.-Oct. 2003, Pages:40-46

– On the use of SCTP in failover-scenariosJungmaier, A.; Rathgeb, E. P.; Tüxen, M., In Proc. of the 6th World Multiconference on Systemics, Cybernetics and Informatics, Jul. 14-18, 2002, Orlando, Florida

• Study questions at the course website– http://www.cs.kau.se/cs/education/courses/dvad02/p2/

Anna BrunstromKarlstad UniversityDepartment of Computer Science

Topics in Computer Networking2010-04-07

Further Reading

• SCTP for Beginners (Recommended)– http://tdrwww.exp-math.uni-essen.de/inhalt/forschung/sctp_fb/index.html

• Introduction to SCTP– http://tools.ietf.org/html/rfc3286

• The SCTP RFC (4960)– http://www.ietf.org/rfc/rfc4960.txt

• SCTP Multihoming– Material at the course website