Re: [sip-overload] draft-ietf-soc-overload-control-01 submitted

"Vijay K. Gurbani" <vkg@bell-labs.com> Mon, 07 February 2011 19:28 UTC

Return-Path: <vkg@bell-labs.com>
X-Original-To: sip-overload@core3.amsl.com
Delivered-To: sip-overload@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id B93CD3A6E81 for <sip-overload@core3.amsl.com>; Mon, 7 Feb 2011 11:28:07 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -106.599
X-Spam-Level:
X-Spam-Status: No, score=-106.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id frfDBD0dBJ3k for <sip-overload@core3.amsl.com>; Mon, 7 Feb 2011 11:28:06 -0800 (PST)
Received: from ihemail3.lucent.com (ihemail3.lucent.com [135.245.0.37]) by core3.amsl.com (Postfix) with ESMTP id 4A9E43A6E5E for <sip-overload@ietf.org>; Mon, 7 Feb 2011 11:28:06 -0800 (PST)
Received: from umail.lucent.com (h135-3-40-63.lucent.com [135.3.40.63]) by ihemail3.lucent.com (8.13.8/IER-o) with ESMTP id p17JSA68021911 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Mon, 7 Feb 2011 13:28:10 -0600 (CST)
Received: from shoonya.ih.lucent.com (Knoppix-135185238233.ih.lucent.com [135.185.238.233]) by umail.lucent.com (8.13.8/TPES) with ESMTP id p17JSARx016180; Mon, 7 Feb 2011 13:28:10 -0600 (CST)
Message-ID: <4D503A57.6070206@bell-labs.com>
Date: Mon, 07 Feb 2011 12:30:47 -0600
From: "Vijay K. Gurbani" <vkg@bell-labs.com>
Organization: Bell Laboratories, Alcatel-Lucent
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.13) Gecko/20101209 Fedora/3.1.7-0.35.b3pre.fc14 Thunderbird/3.1.7
MIME-Version: 1.0
To: bruno.chatras@orange-ftgroup.com
References: <4D3876BF.9050009@bell-labs.com> <9ECCF01B52E7AB408A7EB85352642141027CFAFE@ftrdmel0.rd.francetelecom.fr>
In-Reply-To: <9ECCF01B52E7AB408A7EB85352642141027CFAFE@ftrdmel0.rd.francetelecom.fr>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
X-Scanned-By: MIMEDefang 2.57 on 135.245.2.37
Cc: sip-overload@ietf.org
Subject: Re: [sip-overload] draft-ietf-soc-overload-control-01 submitted
X-BeenThere: sip-overload@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: SIP Overload <sip-overload.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/sip-overload>, <mailto:sip-overload-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/sip-overload>
List-Post: <mailto:sip-overload@ietf.org>
List-Help: <mailto:sip-overload-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/sip-overload>, <mailto:sip-overload-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 07 Feb 2011 19:28:07 -0000

On 02/07/2011 09:55 AM, bruno.chatras@orange-ftgroup.com wrote:
> Two comments:

Bruno: Thank you for a close read.  More inline.

> 1) I think we need to say something about the interactions between
> this mechanism and B2BUAs. The configuration I have in mind is the
> following: INVITE requests from multiple end user devices are
> received by a proxy server which forwards them to a first Application
> Server (AS-A) acting as a B2BUA which in turn forwards it to another
> Application Server (AS-B). In case AS-B is overloaded, it makes sense
> to expect the proxy server to drop a percentage of new incoming
> requests based on the oc value rather than to rely on AS-A to do
> that. However, this requires AS-A to copy this parameter from one
> B2BUA side to the other.

This is an interesting case, but I remain unsure on the need to
specify the behaviour of a B2BUA in the draft with respect to
overload control.  Clearly, if AS-B is overloaded, then its
direct upstream neighbour (AS-A) should perform overload control
for request destined to AS-B.

With the suggested model of AS-A copying the overload control
parameters from AS-B, the proxy is performing overload control
for AS-B by reducing all messages going to AS-A, even those
messages that AS-A will not send to AS-B!  For this reason, I think
it is best that AS-A assume the role of dampening messages towards
AS-B.

> 2) On new appendix B: I think Req23 should be changed from Yes to
> Partially. My understanding of the discussion we had on the list is
> that there are configurations where the requirement is hard to meet
> if the load balancer is not SIP-aware.

I am happy to change REQ-23 from "Yes" to "Partial", but I'd like to
have some discussion on this.

Those load balancers that are not SIP-aware will do load
balancing based on (say) destination IP address and destination
port number.  They may also remember the source IP address and
source port number and create a tuple
{src-ip, src-port, dest-ip, dest-port} when the first message from
src-ip:src-port goes to dest-ip:dest-port and use the tuple for
subsequent messages from src-ip:src-port.

Now, such a SIP-unaware load balancer may operate on feedback from
its downstream server or it may operate without any feedback.  If such
a SIP-unaware load balancer receives some feedback from its downstream
server, it may load a policy that reduces traffic going to that down-
stream server.  So it seems that a SIP-unaware load balancer that
receives feedback from its downstream server may work as per REQ-23.
However, if the SIP server downstream from the load balancer supports
overload control, then it may get two treatments of reduced traffic:
one from the load balancer and one from the upstream SIP server (up-
stream of the load balancer as well).

A SIP-unware load balancer that does not receive any feedback at all
from its downstream SIP server will not reduce traffic and it will
continue to send traffic to the downstream server that matches the
tuple (and it will create a new tuple when a new src-ip:src-port
presents itself).  However, the SIP server upstream of the load
balancer will still dampen requests going downstream, so maybe all
is well.

Furthermore, to quote from [1], "...If the load balancer is not a
SIP entity, servers D, E, and F can report the overall load of the
server farm (i.e., the load of the virtual server) in their messages.
As an alternative, one of the servers (e.g., server E) can report
overload on behalf of the server farm.  In this case, not all messages
contain overload control information and it needs to be ensured that
all upstream neighbors are periodically served by server E to received
updated information."

To be frank, there is so much latitude in how a SIP server can
operate when the load balancer is not a SIP-aware entity that I
confess in being unable to articulate a coherent architecture on how
to meet this requirement.  It seems to me that under certain
assumptions REQ-23 can be met even when the load balancer is not SIP-
aware.

Thank you much for continuing to explore the issues around load
balancing.

Thoughts?

- vijay
-- 
Vijay K. Gurbani, Bell Laboratories, Alcatel-Lucent
1960 Lucent Lane, Rm. 9C-533, Naperville, Illinois 60566 (USA)
Email: vkg@{bell-labs.com,acm.org} / vijay.gurbani@alcatel-lucent.com
Web:   http://ect.bell-labs.com/who/vkg/