RE: RE: Message loss in SIGTRAN networks

"Tolga Asveren" <[email protected]>
Newsgroups gmane.ietf.sigtran
Message-ID <[email protected]>
Thomas,
  -----Original Message-----
  From: Thomas Steffen [mailto:[email protected]]
  Sent: Thursday, October 06, 2005 11:43 AM
  To: Tolga Asveren
  Cc: [email protected]
  Subject: Re: [Sigtran] RE: Message loss in SIGTRAN networks


  On 10/4/05, Tolga Asveren <[email protected]> wrote:
    a) would contradict with 4). We don't want to send messages to a host,
which
    already has crashed, because all such messages would be lost.

  Just one question: if the host fails, the messages would not be
acknowledge, and they should still sit in the outgoing window buffer. So
once the host failure has been detected, you can read the buffer and
reschedule the messages.
  [TOLGA]For sent but not unacknowledged messages, we can't do anything if
the peer crashes, they will be dropped. We don't know which ones have been
received by peer and we prefer to loose messages rather than to replicate
them. This is also that way in SS7. OTOH, if we limit the number of sent but
unacknowledged messages to a failed host, we may limit number of messages
dropped.

  In practice, I have not seen an SCTP implementation yet that supports
this. The classical UNIX socket API does not seem to provide a way to
retrieve messages, and in other drivers the functionality was just not
implemented.
  [TOLGA]I have seen such implementations -actually RFC2960 Section10
defines such kind of functioanlity for the interface between SCTP and SCTP
user. As far as I know, also sockets API draft supports retrieving messages
when an association fails.

  And even if you can recover the messages, what do you want to do with
them? If the host failed, it is impossible to determine whether they were
processed before the failure, so you risk sending duplicates. If only the
association failed, and the host is still up, it would be possible to
retrieve the sequence number and find out. However, neither SCTP nor M3UA
support this (unlike MTP3). Is this what you ask for: a way to determine the
last received message, and a way to resend later messages?
  [TOLGA] Yes, there is nothing to be done for them, that is the reason why
I try to limit their number whenver a peer host crashes, because unless we
detect/are informed peer falure, we will continue to send messages to them.
And no, I personally am not asking for a way to retrieve sequence numbers
because -at least for now- I am on the "SCTP provides network/NIC
reliability" camp.
  OTOH -although I need to recheck SCTP socket API- , I believe SCTP gives
certain sequencing information related with retrieved and received messages
both for sender and receiver.



    ii. Now a little bit more dirty part of the problem. What to do about
failed
    SGPs? Use something like SGPId+ASPDN-ACK, SGPId+BEAT, IP Address/SCTP
    port+BEAT?

  That is a good question. With E1/T1 you get a carrier lost, but an IP
network cannot provide this information.  All the solution that I know for
IP only work in the local network, so maybe having a "status monitor" per
network segment would be an idea. Any idea how rstatd works?
  [TOLGA] Well, actually when  peer fails, SCTP association wil fail, but
the issue I was trying to address was, what to do for cases where SCTP is
not fast enough for that reason -the obvious answer is to adjust parmaeters
of SCTP but this solution is not applicable for the scenario I mentioned-. I
believe any solution -if necessary- shouldn't rely on OS/platform dependent
tools but on M3UA procedures themselves.

  Thomas

_______________________________________________
Sigtran mailing list
[email protected]
https://www1.ietf.org/mailman/listinfo/sigtran
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.