You are on page 1of 23

RivuS

Stream Control Transmission Protocol (SCTP) on BSD ByJayesh Rane Nitin Kumbhar Kedar Sovani PICT. Guides: Prof. Rajesh B. Ingle, PICT. Mr. Adityashankar Kini, Calsoft Pvt. Ltd.

RivuS Goals
Implementation of the entire SCTP protocol in the network stack of 4.3 FreeBSD. Implementation of Load Sharing extension to SCTP for Performance gains.

What is SCTP?
SCTP is Stream Control Transmission Protocol, a Transport layer protocol. SCTP is reliable data transfer protocol which operates over the Network layer protocol like IP.
Applications TCP IP Physical UDP SCTP

Why FreeBSD?
FreeBSD is Open source, freely available Operating System. FreeBSD is the most well documented, structured and secure OS. FreeBSD has maximum number of Licenses available.

RivuS Applications
SCTP is general purpose Transport layer protocol, so it is used in all applications which run on normal TCP giving more remarkable advantages like Availability, Security, Performance gains. RivuS Load Sharing, is useful for all the Data intensive applications, Real Time Video Audio server applications.

Advantages of SCTP over TCP


No Head of line Blocking Resistance to Denial of Service Attacks Support for Multi-Homing Message-Oriented Nature Partial Ordered Data Transfer

Head of line blocking

Features of SCTP
Multi-Streaming Multi-Homing Four-way Handshake Association Initialization Chunk Bundling Partial Order Delivery of data Packet Validation Path & Peer Monitoring Shutdown Feature

Multi-Streaming
different streams within one SCTP association. sequence of messages maintained per stream, which reduces unnecessary head-ofline blocking.

Multi-Homing
Multihomed nodes are the nodes which can be reached under several IP addresses. Network level fault tolerance

Association Initialization
Endpoint A Create TCB Generate INIT Start T1-init timer Endpoint Z

Create temp. TCB Create cookie Send INIT ACK Delete temp. TCB

Stop T1-init timer Send COOKIE ECHO Start T1-cookie timer

accept valid cookie send COOKIE ACK Create TCB

Stop T1-cookie timer

Chunk Bundling SCTP Packet Format

Shutdown Procedure
Endpoint A Endpoint Z Send SHUTDOWN Start shutdown timer Send SHUTDOWN ACK Start shutdown timer

Stop shutdown timer Send SHUTDOWN COMPLETE Delete TCB

Stop shutdown timer Delete TCB

Streaming Context
Request for HTTP

Streaming Objects
Loss/Latency Feedback

Web Server over SCTP

Web Client

RivuS Load Sharing

Load Sharing
Exploiting Multihoming feature of SCTP to gain performance, increase scalability, availability and provide user transparency. Performance figures show that we gain very high performance in data intensive transfers using our concept of multiplexing data on to different paths.

Load Sharing Concept

Load Sharing Design

Gain in performance using RivuS


Since our current implementation is in user space, we are getting 32% gain in data transfer, after we put it in the kernel space, we claim, performance gains of 70% to 80%.

Other approaches
Ciscos Channel Bonding Channel bonding is implemented by binding several Network Interface Cards (NICs) with the same MAC address. The higher layers of the network stack could be oblivious to the fact that the lower level packets were going out (and coming in) on different NICs. Sun Microsystems IP Multipathing

Why RivuS is better than others?


The channel bonding approach is limited to data link layer and some major hardware changes are need to be done at both the ends. The IP Multipathing solution is non-portable, I.e. it works only on Solaris 8.0 RivuS is portable solution with minimal changes to existing installations and more performance is achieved.

Future work on RivuS


Gaining extreme data integrity from data redundancy between the paths. RivuS, implementation of SCTP protocol stack on BSD is the first implementation, other implementation by Cisco Inc. is UDP style, it doesnt support Connection oriented nature which SCTP protocol should support inherently. So we have to get our implementation approved by IETF group.

RivuS
Thank You !!!
Jayesh Rane Nitin Kumbhar Kedar Sovani Visit us: http://rivus.sourceforge.net/

You might also like