RivuS

download RivuS

of 23

Transcript of RivuS

  • 7/29/2019 RivuS

    1/23

    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.

  • 7/29/2019 RivuS

    2/23

    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.

  • 7/29/2019 RivuS

    3/23

    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.

    UDPIP

    PhysicalTCP SCTPApplications

  • 7/29/2019 RivuS

    4/23

    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.

  • 7/29/2019 RivuS

    5/23

    RivuS Applications

    SCTP is general purpose Transport layer

    protocol, so it is used in all applications

    which run on normal TCP giving moreremarkable advantages like Availability,

    Security, Performance gains.

    RivuSLoad Sharing, is useful for all theData intensive applications, Real Time

    Video Audio server applications.

  • 7/29/2019 RivuS

    6/23

    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

  • 7/29/2019 RivuS

    7/23

    Head of line blocking

  • 7/29/2019 RivuS

    8/23

    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

  • 7/29/2019 RivuS

    9/23

    Multi-Streaming

    different streams within one SCTP

    association.

    sequence of messages maintained per

    stream, which reduces unnecessary head-of-

    line blocking.

  • 7/29/2019 RivuS

    10/23

    Multi-Homing

    Multihomed nodes are the nodes which can

    be reached under several IP addresses.

    Network level fault tolerance

  • 7/29/2019 RivuS

    11/23

    Association Initialization

    Endpoint A Endpoint Z

    Create TCB

    Generate INIT

    Start T1-init timer Create temp. TCB

    Create cookie

    Send INIT ACK

    Delete temp. TCB

    Stop T1-init timer

    Send COOKIE ECHO

    Start T1-cookie timer accept valid cookiesend COOKIE ACK

    Create TCB

    Stop T1-cookie timer

  • 7/29/2019 RivuS

    12/23

    Chunk Bundling

    SCTP Packet Format

  • 7/29/2019 RivuS

    13/23

    Shutdown Procedure

    Endpoint A Endpoint Z

    Send SHUTDOWN

    Start shutdown timer

    Send SHUTDOWN ACK

    Start shutdown timer

    Stop shutdown timer

    Send SHUTDOWN COMPLETEDelete TCB

    Stop shutdown timer

    Delete TCB

  • 7/29/2019 RivuS

    14/23

    Streaming Context

    Web Server

    over SCTPWeb Client

    Request for HTTP

    Streaming Objects

    Loss/Latency Feedback

  • 7/29/2019 RivuS

    15/23

    RivuSLoad Sharing

  • 7/29/2019 RivuS

    16/23

    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 todifferent paths.

  • 7/29/2019 RivuS

    17/23

    Load Sharing Concept

  • 7/29/2019 RivuS

    18/23

    Load Sharing Design

  • 7/29/2019 RivuS

    19/23

    Gain in performance using

    RivuS Since our current

    implementation is in

    user space, we aregetting 32% gain in

    data transfer, after we

    put it in the kernel

    space, we claim,performance gains of

    70% to 80%.

  • 7/29/2019 RivuS

    20/23

    Other approaches

    Ciscos Channel Bonding

    Channel bonding is implemented by binding

    several Network Interface Cards (NICs) with thesame MAC address. The higher layers of thenetwork stack could be oblivious to the fact thatthe lower level packets were going out (andcoming in) on different NICs.

    Sun Microsystems IP Multipathing

  • 7/29/2019 RivuS

    21/23

    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.

  • 7/29/2019 RivuS

    22/23

    Future work on RivuS

    Gaining extreme data integrity from data

    redundancy between the paths.

    RivuS, implementation of SCTP protocol stack onBSD 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 wehave to get our implementation approved by IETF

    group.

  • 7/29/2019 RivuS

    23/23

    RivuS

    Thank You !!!

    Jayesh RaneNitin Kumbhar

    Kedar Sovani

    Visit us:

    http://rivus.sourceforge.net/