RivuS

SCTP on BSD

Load Sharing Extenstion

                   The basic idea in our design is to multiplex the data that is sent from the sender to the receiver over the multiple paths that exist between the two hosts. The mechanism will be especially beneficial for hosts between which multiple paths exist i.e. multi-homed hosts. . 

                    Before moving to the actual design we define a ‘load sharing’ association. In the context of SCTP, an association is termed as a connection between two endpoints and the protocol state information for that particular connection. By a load sharing association, we mean that, this association will use multiplexing for data transfer. If there are no multiple paths then, the multiplexing will have no effect and hence could be discarded. . 

                    Any sender of a load sharing association will take a ‘multiplexing decision’ for each packet that it receives from the upper layer. This ‘multiplexing decision’ will involve choosing the perfect path to the destination. The decision will be crucial as far as performance is considered. The factors that will affect this decision are path Maximum Transmission Unit (PMTU), congestion window (cwnd), Round Trip Time (RTT), errors among others. Thus, multiplexing is done at the data sender. . 

                    At the data receiver of a load sharing association, the packets received on all the interfaces will be re-assembled together into buffers for that particular association and delivered to upper layers in strict sequence. Hence, the range of sequence numbers would be shared among the multiple paths that exist between the hosts. Thus, though there exists a single association, the paths that the data packets take are different. Suppose that bandwidth ‘x’ is available on each of the path, but for the sender and receiver a total of ‘2x’ is available for the data transfer. . 

                        If you have any queries or suggestions, send them to us. Send Queries.