On Sep 25, 2007, at 2:35 PM, Janet P Gunn wrote:

Dean Willis <[EMAIL PROTECTED]> wrote on 09/25/2007 03:05:47 PM:

>
> It seems like there's more motivating draft-polk-sip-rph-in-
> responses-00 than just the need to prioritize access to scarce
> gateway resources. A lot of the people I've talked to are thinking
> that it is also useful for prioritizing message processing in
> congested proxies or other SIP nodes (like B2BUAs, call center
> queues, whatever).
>
> It has even been suggested that the RPH value might be used by a
> congested node for selective discard of responses, which has some
> interesting impacts on the overload queueing model.
>
>
Req 13 in  draft-ietf-sipping-overload-reqs already provides for this

   REQ 13: The mechanism must not dictate a specific algorithm for
prioritizing the processing of work within a proxy during times of overload. It must permit a proxy to prioritize requests based on
      any local policy, so that certain ones (such as a call for
      emergency services or a call with a specific value of of the
Resource-Priority header field [3]) are processed ahead of others.


I'm far more concerned with what it does to the mathematics of the overload model than what it does to the protocol specification.

SIP, in my experience, is sensitive to what I call "cascade failures". One element suffers a delay (overload, garbage collection, whatever) thereby causing a message (request or response) to get delayed. This delayed message adds enough latency to pop a retransmit timer, causing a request to get retransmitted (even though the first message may still be "in-flight"). This additional message adds to the workload on the already delayed node (possibly incurring also additional responses), causing further delays and further retransmissions. At certain thresholds, this can suddenly load the network with messages, such that a "melt-down" occurs wherein all requests time out and are retransmitted the maximum number of times before failing. If the request arrival rate (new users who haven't yet noted the congestion, or old ones who are just "trying again") exceeds the clearing rate of the network, the whole thing can basically stay locked up indefinitely. Remember, you have to parse a message to see its RPH, and if you're overloaded trying to parse a message flood you're not going to meet your delivery requirements on high-priority messages.

Most modeling work I know of has proceeded under the pattern that requests can be delayed (or "pushed back" on like a retry-after), but that responses move with all available speed and are never deliberately discarded. This is consistent with SIP's authentication model that allows challenging a request but not a response.

When we start discarding the responses, the queueing model gets a lot more complicated. Not only do we have the same retransmission cascade, but we add a possible confounding of the states at the end points. While SIP UAs should of course handle repeated requests, it's certainly more complex for them to see a request again to which they have already responded than it is for them to see a request they've never seen before. More state stacks up, more strange things can happen, and I don't know what it will do to the resultant system.

Notice that this thinking is evident even in the section from overload-reqs you quote, which talks only about prioritization of requests, not prioritization of responses.

Consequently, adding text that seems to facilitate and encourage discarding or deferral (or, I suppose, prioritization in general) of responses makes me queasy. It might turn out ok, but it certainly sets my spider-senses to tingling, and makes me want to understand the risks better before I suggest it to anybody.

For you students out there looking for a modeling project, quantifying the impact of this would make a great thesis effort.

--
Dean


_______________________________________________
Sip mailing list  https://www1.ietf.org/mailman/listinfo/sip
This list is for NEW development of the core SIP Protocol
Use [EMAIL PROTECTED] for questions on current sip
Use [EMAIL PROTECTED] for new developments on the application of sip

Reply via email to