Subject: Re: A query

From: "Brian F. G. Bidulock" <[email-masked]>
Date: Thu, 30 Aug 2001 00:50:02 -0500

Vaibhav,

If the SCTP association between SG and ASP1 can be shutdown normally,
then message missequencing, loss and duplication can be avoided by
completing an orderly shutdown of  the SG to ASP1 association before
starting traffic on the association SG to ASP2.

If, however, the SG to ASP1 association aborts, there is the possibility
of message duplication, loss and missequencing.  Either the IP network
between SG and ASPs is engineered so that this is very rare, or some
procedures can be used in conjunction with SCTP to reduce the
probability of loss or missequencing.

In your specific example, it would be strange that the SG to ASP1
association would fail without the SG to ASP2 association close behind.
But given that ASP1 and ASP2 could be on different hosts, there are
several thing which an implementation could do at its option to limit
message loss, missequencing and duplication.

Duplication is particuarly bad in MTP so it would likely need to be
avoided even at the cost of message loss.  The SG and ASP1 should not
attempt to retransmit any messages which were transmitted but not
acknowledged.  Messages which were not yet transmitted by SG or ASP1
could be transmitted on the other association.

To avoid message missequencing, the SG and ASP2 could wait for a period
before starting traffic on the new association (similar to MTP's
time-controlled changeover).  This could consist of buffering traffic to
be transmitted on the new association for a short period (around 1
second) before restarting traffic on the new association.

For IP networks which experience more often failures of this sort,
additional procedures might be required to obtain the necessary message
delay requirements and still meet message loss, duplication and
missequencing requirements.  For a broadcast mode AS, messages are sent
to both ASPs and synchronized with a common correlation Id.  When such a
failover occurs in a broadcast AS, when ASP2 starts processing traffic,
it processes traffic starting immediately after the last correlation id
processed by ASP1.  ASP2 knows the correlation id that ASP1 last
processed using ASP to ASP communication.

Correlation Id could be used in a similar approach with override and
loadshare AS so that even messages which were transmitted but not
acknowledged on the SG to ASP1 association could be transmitted to ASP2
but tagged with a correlation id which would permit ASP2 to know which
messages to ignore to avoid duplication (it would again only start with
the message immediately following the last correlation id processed by
ASP1).  But, unfortunately, the drafts do not require the SG or ASP in
AS override or loadshare modes to send correlation id when changing over
traffic between associations.  Permitting SG and ASP to send Correlation
Id parameter when initiating or changing over traffic to any of their
peers would permit faster and more accurate changeover performance in
these cases.

The same is true when the ASP changes traffic between SGPs due to
failure.

When an ASP changes traffic between SGs due to failures of SCTP
associations, only the time-controlled procedure will work (multiple SGs
do not coordinate Correlation Id.)

If associations have not failed, and the SGP or ASP wishes to reroute
traffic from one association to another without shutting down an
association, a procedure can be used whereby the SGP or ASP can ensure
that missequencing does not occur: the SGP or ASP withholds traffic and
sends a BEAT message in each ordered stream of the association that
traffic is being removed from.  Once a corresponding BEAT Ack is
received, the traffic withheld for that stream can be started on the new
association with the assurance that the new traffic will not overtake
the old.

These procedures are usable in M2UA, M3UA and SUA (except the
Correlation Id procedures in M3UA and SUA for non-broadcast mode
ASs).  The Correlation Id procedures have been proposed also for M3UA
and SUA.  Please see the thread "M3UA: Changeover between ASPs" for
the proposal and some lengthly dicussion on the issue.

Unfortunately for M3UA, there were some people on that thread who do
not want to allow high performance changeover in M3UA using Correlation
Id.  Without it you may be faced with over-engineering an intervening
IP network over which you have no control.

--brian

[email-masked] wrote: (Thu, 30 Aug 2001 10:34:28)
>
> Hi
> 
>     I have two SCTP Associations(ASP1 and ASP2) between a SG host and an AS
> host and both are serving the same Application Server. One(ASP1) is in the
> Active state and the other(ASP2) is in the back-up mode. ASP1 now goes down
> and ASP2 is made active. We have to maintain the sequence numbers for the
> M3UA-users but the Transmission Sequence numbers in SCTP are maintained per
> Association basis and not across Associations. Is there a probability that
> the sequencing might be lost in this case( personally i feel so)? What are
> the workarounds for it?
> 
> Regards
> Vaibhav
> 

-- 
Brian F. G. Bidulock
[email-masked]
http://www.openss7.org/

---
You are currently subscribed to sigtran as: [email-masked]
To unsubscribe send a blank email to [email-masked]