Internet DRAFT - draft-partha-dispatch-siploadbalancing-survey
draft-partha-dispatch-siploadbalancing-survey
Dispatch Parthasarathi. Ravindran
Internet-Draft Sonus Networks, Inc.
Intended status: Informational Vijay . Gurbani
Expires: July 26, 2012 Bell Labs, Alcatel-Lucent
Paul. Erkkila
Globalcrossing
January 23, 2012
Session Initiation Protocol (SIP) Load balancing survey
draft-partha-dispatch-siploadbalancing-survey-00
Abstract
SIP Load balancing across a farm of SIP servers can be done today,
but without generally agreed upon principles on how to best do
accomplish this. Confounding the problem is that a SIP farm may
consist of hosts with varying capabilities, example, a SIP proxy, a
back-to-back user agent (B2BUA), a public-switched telephone system
(PSTN) gateway, SIP Media servers etc. The capabilities and
processing capacity on hosts in the farm may be different, sometimes
vastly, from each other. This document present the survey of
existing literature and common practice on SIP load balancing.
Status of this Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
This Internet-Draft will expire on July 26, 2012.
Copyright Notice
Copyright (c) 2012 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
Ravindran, et al. Expires July 26, 2012 [Page 1]
Internet-Draft SIP Load balancing survey January 2012
(http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3. Survey of existing mechanism & literature . . . . . . . . . . . 3
3.1. Round robin . . . . . . . . . . . . . . . . . . . . . . . . 3
3.2. Round robin with 503 or 302 or other overload mechanism . . 3
3.3. Round robin with option ping . . . . . . . . . . . . . . . 3
3.4. DNS based . . . . . . . . . . . . . . . . . . . . . . . . . 4
3.5. Resource availabilty based mechanism . . . . . . . . . . . 4
4. Standard open issues . . . . . . . . . . . . . . . . . . . . . 5
5. Security Considerations . . . . . . . . . . . . . . . . . . . . 5
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 5
7. Acknowledgement . . . . . . . . . . . . . . . . . . . . . . . . 5
8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 5
8.1. Normative References . . . . . . . . . . . . . . . . . . . 5
8.2. Informative References . . . . . . . . . . . . . . . . . . 6
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 6
Ravindran, et al. Expires July 26, 2012 [Page 2]
Internet-Draft SIP Load balancing survey January 2012
1. Introduction
Session Initiation protocol [RFC3261] Load balancing across a farm of
SIP servers can be done today, but without generally agreed upon
principles on how to best do accomplish this. Confounding the
problem is that a SIP farm may consist of hosts with varying
capabilities, example, a SIP proxy, a back-to-back user agent
(B2BUA), a public-switched telephone system (PSTN) gateway, SIP Media
servers etc. The capabilities and processing capacity on hosts in
the farm may be different, sometimes vastly, from each other.
Furthermore, the duration of time that a SIP host requires to process
a SIP request may vary. SIP proxies, operating at the transaction
layer, may be more efficient at processing transactions than a B2BUA
would be, which may need to maintain a long-lived dialogue state in
addition to the transaction state. PSTN gateways may have other
limitations such as media resources that may be depleted even though
the gateway may have enough processing power (i.e., CPU) to handle
incoming requests.
The goal of this draft is to summarize the contemporary SIP load
balancing algorithm as input to the SIP load balancing protocol
designers.
2. Terminology
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in [RFC2119]. This
document only uses these key words when referencing normative
statements in existing RFCs."
3. Survey of existing mechanism & literature
3.1. Round robin
Round robin based on DNS is illustrated in [RFC1794]. The focus of
this mechanism is load distribution than load balancing.
3.2. Round robin with 503 or 302 or other overload mechanism
TBD
3.3. Round robin with option ping
The load balancing device sends OPTIONS ping message to each of its
downstream servers to determine if they are available.The return
Ravindran, et al. Expires July 26, 2012 [Page 3]
Internet-Draft SIP Load balancing survey January 2012
value in the OPTIONS response and in some cases the delay between the
sending of the request and the response is tracked by the
loadbalancer. If the downstream server does not respond within a
certain time window it is marked as down and not used in the round
robin selection for the next request. If the OPTIONS ping does
respond the result code is often checked for a particular response.
For instance a 200 value response will not change the current state
of the downstream server while a response in the 5xx/6xx range or
specific 4xx values will remove the downstream device from service.
An alternate case of OPTIONS pings is to just use them to verify that
a SIP UAS of some kind exists at the destination, any SIP response is
considered a good response and marks the downstream device as valid.
OPTIONS pings are sent to downstream entities even if they are
currently marked as down or out of service on the loadbalancer. When
the device starts responding to the OPTIONS messages again it can
then be placed back into the round robin selection.
If the response to an OPTIONS request from a downstream host is
successfully returned but is outside of an acceptable range, the
loadbalancer can use this to indicate a problem with the downstream
device and either remove it from the round robin, or change its
portion of round robin traffic.
3.4. DNS based
Load Balancing based on Load Detection Function section in 3GPP TS 23
.812(http://www.3gpp.org/ftp/Specs/archive/23_series/23.812/
23812-115.zip) illustrates DNS based SIP load balancing
3.5. Resource availabilty based mechanism
The media server load balancing depends upon the resources apart from
CPU and Memory of the system. Resource availability mechanism in (ht
tp://tools.ietf.org/html/
draft-partha-soc-overload-resource-availability-00) illustrate the
way to achieve SIP based load balancing for media servers like PSTN-
SIP GW, SBC. Resource availabilty draft provides the mechanism
wherein SIP server indicates its resource capability to the prior SIP
server by which prior SIP server will be able to perform load
balancing.
Explicit polling: some protocol (SNMP/SOAP+XML/SIP) is used to
actively probe the downstream server for their current resource
availability. The response to these polls are used to fill in the
availability and resource allocation percentage of the downstream
servers. continuous/streaming polling: a resource utilization report
Ravindran, et al. Expires July 26, 2012 [Page 4]
Internet-Draft SIP Load balancing survey January 2012
is included in each response (or every Nth response) from the
downstream server through the load balancing device. In this way no
additional polling or protocol is needed to update resource
availability, it is kept up to date by constant use. This can easily
be combined with OPTIONS pings. note: -multiple resources can be
polled/used to figure out constraints. For 1 downstream server might
be out of a particular resource (such as transcoding resources), but
have ample capacity to provide other services ( for example relaying
MESSAGE requests).
4. Standard open issues
TBD
5. Security Considerations
This document is a survey of existing literature on SIP load
balancing. As such, it does not introduce any new security
considerations to be taken into account beyond what is already
discussed in each paper surveyed.
6. IANA Considerations
This is no IANA consideration applicable for this draft.
7. Acknowledgement
TBD
8. References
8.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC3261] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston,
A., Peterson, J., Sparks, R., Handley, M., and E.
Schooler, "SIP: Session Initiation Protocol", RFC 3261,
June 2002.
Ravindran, et al. Expires July 26, 2012 [Page 5]
Internet-Draft SIP Load balancing survey January 2012
8.2. Informative References
[RFC2648] Moats, R., "A URN Namespace for IETF Documents", RFC 2648,
August 1999.
[RFC1794] Brisco, T., "DNS Support for Load Balancing", RFC 1794,
April 1995.
Authors' Addresses
Parthasarathi Ravindran
Sonus Networks, Inc.
Prestige Shantiniketan - Business Precinct
Whitefield Road
Bangalore, Karnataka 560066
India
Email: pravindran@sonusnet.com
Vijay .K Gurbani
Bell Labs, Alcatel-Lucent
Chicago
USA
Email: vkg@bell-labs.com
Paul Erkkila
Globalcrossing
Newyork
USA
Email: Paul.Erkkila@Globalcrossing.com
Ravindran, et al. Expires July 26, 2012 [Page 6]