Simula Research Laboratory / Center for Resilient Networks and Applications / NorNet
Homepage of Thomas Dreibholz / Thomas Dreibholz's SCTP Project Page


Welcome to Thomas Dreibholz's
SCTP Project Page
The SCTP Project



📰 News


💡 What is the Stream Control Transmission Protocol?

Introduction

SCTP is a general-purpose, unicast, bidirectional, connection-oriented and datagram-oriented Transport Layer protocol. It has initially been defined by the IETF SIGTRAN WG, for the purpose of transporting telephone signalling traffic over the Internet. In October 2001, it has been published in RFC 2960. Later, the IETF TSVWG WG has continued the SCTP development; a revised version – based on experiences with implementation and deployment in productive environments – has been published in September 2007 as RFC 4960. So, SCTP itself is not a very new protocol any more. However, research on extensions for SCTP is still very actively ongoing. Currently, there are multiple extensions in the discussion within the IETF. At some time in the future, the finished extensions should also be published as RFCs.

SCTP Features

The features provided by SCTP include:

Multi-Homing and Multi-Path Transfer

A Multi-Homing Scenario
Click here for full size!

Probably one of the most interesting features of SCTP is its ability to support multi-homing. That is, instead of just connecting an endpoint to one network – corresponding to a single Internet Service Provider (ISP) – it is possible to have connectivity to multiple networks (usually: multiple ISPs) simultaneously. Then, in case of a failure within some of the networks, an SCTP connection can still keep active unless all networks stop working. This so-called multi-homing feature is particularly necessary for redundancy; it has there been a requirement of the original telephone signalling use case. The example figure above shows a setup with Endpoint A being connected to three networks and Endpoint B being connected to three networks.

SCTP as defined in RFC 4960 supports multi-homing, but not multi-path transfer. That is, SCTP selects one of the available paths for data transmission (the so-called primary path). The other paths remains as backups and are only used for retransmissions or in case of a failure on the primary path. However, multi-path transfer becomes very tempting to improve payload throughput when there are actually links to multiple ISPs available (and paid, of course!). Therefore, there is ongoing research on multi-path transfer for SCTP, with the so-called Concurrent Multipath Transfer for SCTP (CMT-SCTP) extension. The research presented on this website, as part of a DFG-funded project, is mainly focussed on the optimisation of CMT-SCTP. The main challenges of efficient multi-path transfer are to work with heterogeneous paths (e.g. satellite and other wireless links together with fibre links or DSL) and the possible existence of shared bottlenecks (i.e. resources shared by multiple paths; like the right upper router in the example figure). Of course, the research results for CMT-SCTP can be easily transferred to other multi-path transfer protocols – like e.g. Multi-Path TCP (MPTCP) – as well.

Further Reading

An introduction to SCTP, its extensions and particularly multi-path transfer with SCTP can be found in: Dreibholz, Thomas: ``Evaluation and Optimisation of Multi-Path Transport using the Stream Control Transmission Protocol´´ (PDF, 36779 KiB, 🇬🇧), Habilitation Treatise, University of Duisburg-Essen, Faculty of Economics, Institute for Computer Science and Business Information Systems, URN urn:nbn:de:hbz:464-20120315-103208-1, March 13, 2012, [BibTeX, XML]. For specific details on the protocol and its extensions, have a look at the RFCs and various Internet Drafts in the Standardisation section.


🖋️ Publications

The complete BibTeX references in a single file can be found here!

2024

2022

2021

2020

2019

2018

2017

2016

2015

2014

2013

2012

2011

2010


📖 Standardisation

The complete BibTeX references in a single file can be found here!

2024

2023

2021

2020

2019

2017

2016

2015

2014

2013

2012

2011

2010

2007

2006

2005

2004

2003

2002

2000