Huge thanks to our Platinum Members Endace and LiveAction,
and our Silver Member Veeam, for supporting the Wireshark Foundation and project.

Wireshark-users: Re: [Wireshark-users] question about SCTP multi-homing

From: Jeff Morriss <jeff.morriss.ws@xxxxxxxxx>
Date: Thu, 10 Mar 2011 14:24:41 -0500
WangWeiguo wrote:
> Hi all,
> Anyone can help with this SCTP multi-homing question?  I've read the 
> spec. (RFC 4960) and googled, but still it's quite hard to really 
> understand the essentials of the multi-homing.
>  
> The question is based on the diagram as following, which is a SCTP 
> association beteen End Point A and B, on each End Point has two IP 
> addresses serving this SCTP association:
>  
> Node A          Node B
> IP A1   ------- IP B1
>             \     /
>               \ /
>               /\
>             /    \
> IP A2   ------ IP B2
>  
> In this way, there are actually 4 physical links in this single 
> association: A1 -> B1,  A2 -> B2, A1 -> B2, and A2 -> B1.
>  
> The question is: among these 4 links, how many can be defined as Prime?
>  From the spec., it looks like *_only one_* pair of IP addresses (ig. 
> A1->B1) can be defined as prime so all traffic actually just goes on 
> this link only, however in this way it means that among the 4 available 
> links, only one is bearing traffic in normal cases and all other 3 are 
> standby in case of prime failure, it doesn't look like make sense if 
> compare to the possibility of having 2 out of 4 as prime and other 2 as 
> standby. Furthermore, in case of prime (say A1-> B1) failure, which of 
> the other three will take over and how are they prioritized?

When asking a new question or starting a new topic of discussion, please
do not reply to an email on another topic.  Doing so messes up the
threading (grouping of messages with the same topic together) in many
email clients.

The IETF tsvwg mailing list might be a good place to discuss this too.

Anyway, yes, only one pair of IP addresses would be considered the
primary.  The idea (in 4960) is that all packets should (excepting
retransmissions) travel on the same path until path failover.  (There is
a draft for loadsharing on all paths.)

In the case of primary path failure, the same 4960 clause applies:

>    When retransmitting data that timed out, if the endpoint is multi-
>    homed, it should consider each source-destination address pair in its
>    retransmission selection policy.  When retransmitting timed-out data,
>    the endpoint should attempt to pick the most divergent source-
>    destination pair from the original source-destination pair to which
>    the packet was transmitted.
> 
>    Note: Rules for picking the most divergent source-destination pair
>    are an implementation decision and are not specified within this
>    document.

As it says, "most divergent" is more complicated when you're dealing
with both source and destination IP addresses.  To me, this means
"change both the source and destination addresses."  Of course if you
have more than 2 source and/or destination IP addresses, then you have
more than 1 equally divergent choices.