Re: M2PA (SIGTRAN) and multi-homing

"Brian F. G. Bidulock" <[email protected]>
Newsgroups gmane.ietf.sigtran
Organization http://www.openss7.org/
Message-ID <[email protected]>
Robby,

Robby Pocornie wrote:                           (Tue, 12 Dec 2006 15:23:14)
> 
>    Brian,
> 
> 
> 
> 
> 
>    Refer  to  the  Sigtran scenario's specification (e.g. ETSI EG 202 360
>    v1.1.1(2004-12)), chapter 4.3...
> 
>    In case there is only a single M2PA link in the link set, the messages
>    formerly  sent out in parallel over different links are now serialized
>    over  one  channel,  as  M2PA  makes  no use of the " streams" concept
>    provided by SCTP...

Yes, I see that (thanks for the reference).  However, I do not think
that ETSI gave due consideration to the impacts of multiple M2PA links
in a link set.  M2PA runs a slightly modified T7 timer to ensure that no
message is delayed beyond limits.  If, as is stated, an IAM becomes
delayed, if the delay is within T7 no message misses a deadline.  If it
is delayed beyond T7, a changeover will occur to another link in the
link-set.  However, in this scenario, MTP3 will changeover to a link that
follows the same network path as the original link and can be expected
to experience the same problems.  This is radically different from
traditional SS7, where the links in a link set are independent and are
normally engineered for diversity to ensure independence.

Let me give you an example of the bad thing we were trying to avoid with
the recommendation to use only one link in a link-set.  Take 16 M2PA
links in one link set (each using the same network path).

On link 1, an IAM gets delayed T7+.  The link fails.  MTP3 starts
changeover (time controlled for argument's sake).  The traffic through
the network path drops by 1/16th allowing intermediate bottleneck
routers to pass messages now without delay.  MTP3 tries to restore link
1, but proving adds additional burst traffic and link 1 fails alignment
and goes into lockout.  After T2, MTP3 adds the buffered traffic to
link 8.  Because buffered traffic is bursted by MTP3 on link 8, link 8
subsequently fails.  The situation is bad already because the original
IAM (and all the message behind it) has been delayed T7 + T2.  Going
around again, after T2, link 8 adds traffic to link 2 and 9, both of
which will fail because the burst traffic again exceeds the handling
capacity of the intermediate bottleneck.  The original IAM and all
messages behind it are now delay T7 + T2 + T2.  Two more iterations and
all 16 links will fail.  The IAM and all messages behind it are now
delayed T7 + 4 * T2.  MTP3 will then changeover to the other link-set
(after another T2).  The IAM and all messages behind it have been
delayed T7 + 5 * T2 and there could now be about 5 times the normal
changeover burst traffic pent up.

The other link-set, even when it uses a different network path, might not
successfully handle the burst traffic which can lead to another another
16 link failures, and then C-links, and then another cascade failure in
the associated STP in the STP pair, and then network isolation.  Large
transmit buffers and M2PA's extremely large window (maximum RTB size)
contribute to such a cascade failure.  SS7 is vulnerable to this
whenever link failure is load related.

At no point does MTP3 understand that these messages have been delayed
long past their useful lifetime.  With a T7 of 1 second and a T2 of 2
seconds, the initial IAM has been delayed 11 seconds and messages behind
it in the buffers have been delayed up to 12 seconds.  Now, although
ISUP T7 (awaiting ACM timeout) is 20-30 seconds, every other timer in
ISUP is less than 12 seconds.  After the second link-set failure, there
will be 24 seconds delay and after C-link failure, 36 seconds delay
(given 16 C-links).

Consider that if there was only one M2PA link in the link-set, the
initial T7 timer expiry would have resulted in a changeover to the
alternate link set restoring traffic within T7 + T2 and only buffering 3
seconds worth of traffic.

These types of failure scenarios are only possible because MTP3 assumes
that the failure of one link in a link-set is completely independent of
the failure of another link in the link-set and that the failure of a
link is not load related.  That is, that the probability that link 8
will fail given than link 1 has failed is the same as the probability
that link 8 will fail given that link 1 has not failed.  Also, that the
probability that link 8 will fail is independent of the load offered to
link 8.  With multiple M2PA links in a link-set, the first condition no
longer holds true.  Unfortunately, for M2PA the second condition (load
related failure) never holds true.  Therefore, the recommendation as
laid out in the RFC is that there only be one M2PA link in a link-set.

There are two problems with the ETSI passage that you reference.  First,
placing multiple M2PA links in a link-set does not decrease inter-link
changeovers as is stated.  As show above, it increases inter-link
changeovers which is bad, and, worse, can lead to catastrophic cascade
failures.  Second, the messages behind the initial IAM do not get
delayed as implied by the passage.  The messages behind the initial IAM
will be immediately available in the buffers at the receiving SCTP once
the IAM is filled in by Fast Retransmission and will not suffer another
network queueing delay (that is, it is not the same as a Q.703 NACK).
Providing redundant network paths and using SCTP's multi-homing feature,
or CMT (concurrent multi-path transfer) can further reduce delay.

>    Advise  is: To avoid that messages are not delivered (message loss) in
>    case  of  retransmission, more than one link using M2PA should be used
>    to form a linkset.

Bad advise.  You are better to use multi-homing over separate network
paths and CMT to reduce delay in a single M2PA link in a link-set.

>    That  is  why  I  design  more than 1 M2PA link between two STP's (for
>    telecommunication SG, not internet host)

It is your network, but I would not in mine.

BTW, the cascade failure above is not conjecture on my part.  In a
previous life I diagnosed just such a cascade failure that resulted
simply from introducing delay into SS7 B/D links between STPs and also
introducing the characteristic of a load-related link failure.  The
cascade failure (that occurred during the Jan 1998 east coast ice storm)
resulted in 2 hours of network isolation and forty-million dollars in
damages (at least that is what the resulting lawsuit claimed).

--brian

-- 
Brian F. G. Bidulock
[email protected]
http://www.openss7.org/
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.