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
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
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
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
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
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
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
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
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