Presentation on theme: "RivuS Stream Control Transmission Protocol (SCTP) on BSD By- Jayesh Rane Nitin Kumbhar Kedar Sovani PICT. Guides: Prof. Rajesh B. Ingle, PICT. Mr. Adityashankar."— Presentation transcript:
RivuS Stream Control Transmission Protocol (SCTP) on BSD By- Jayesh 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. UDP IP Physical TCPSCTP Applications
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-of- line blocking.
Multi-Homing Multihomed nodes are the nodes which can be reached under several IP addresses. Network level fault tolerance
Chunk Bundling SCTP Packet Format
Streaming Context Web Server over SCTP Web Client Request for HTTP Streaming Objects Loss/Latency Feedback
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 Cisco’s ‘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 Microsystem’s ‘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 doesn’t 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/