Site menu Master Dissertation

Master Dissertation

Applications and performance of the SCTP transport protocol

Santa Catarina Federal University (Brazil)

Advisor: Prof. Luis Fernando Friedrich

(Click here to see this page in Brazilian Portuguese language)

Documents

Raw performance

Performance with real application protocols and implementations

All softwares and patches created for the test are under the GPL license.

Partial list of softwares adapted to SCTP, whose patches are packaged above: thttpd, httperf, Samba, Mozilla (limited adaptation),trafshow versions 4.0 and 5.2, poc, telnet. Also, there is a Linux kernel patch to disable CRC-32c checksum in SCTP (this breaks the protocol, not to be used in real world!).

A comprehensive list of bibliographic references about SCTP can be found at the end of the PDF dissertation.

The dissertation is about SCTP, the third official transport protocol of the TCP/IP stack. SCTP is a result of the SIGTRAN (SIGnaling TRANsport committee), whose objective was to create a transport protocol for telephony signaling messages.

SCTP is a confirmed, end-to-end protocol much like TCP. But it possesses some additional features like atomic message transport, multiple "channels" or streams of messages, partial reliability, and transparent use of multiple network interfaces for redundancy.

The SIGTRAN commitee did not create SCTP from scratch: it worked on an application protocol named MDTP, that was refined until reaching the present SCTP transport protocol. The RFC 2960 (published at 2000) is still the authoritative SCTP definition, although there are some newer RFCs that modify things, resolve doubts, extend and adapt SCTP to IPSC, SSL etc.

The dissertation has a comprehensive bibliographic revision about SCTP, as well as the BSD/Sockets API extentions for SCTP support. Also, there is a preliminary study of existing application protocols that use TCP or UDP today and could benefit from an adaptation to SCTP.

Finally, the work does a series of performance tests using a free implementation of SCTP (LK-SCTP, Linux Kernel SCTP). The tests are divided in two main groups: raw performance, and performance with real application protocols like HTTP.

The raw performance was tested using a simple software created by the author specifically for this dissertation. The real-protocol tests made use of real-world third-party implementations of clients and servers, adapted to SCTP by the author.