RE: I-D ACTION:draft-koivusalo-sip-outbound-discovery-00.txt
<Erkki.Koivusalo <at> nokia.com>
2006-05-02 10:26:58 GMT
Hi,
I am happy to see some discussion raised by my I-D, since
one aim for publishing the I-D was to get more focused
comments on the autodiscovery topic.
>why did you choose to use the SRV priority in that way?
>You said "choose one of each priority level".
The reason for my choice was how draft-ietf-sip-outbound-03
is currently written (and the focus of my thoughts when writing
the I-D).
The chapter 3.3 Multiple Connections from a User Agent starts
the discussion with introducing the primary and backup proxies
using the following statements:
The UA is configured with a primary and backup registration URI.
The deployment here requires
that DNS is configured with one entry that resolves to all the
primary hosts and another entry that resolves to all the backup
hosts.
I was focusing my thinking about how to avoid the requirements
of having different primary and backup URIs i.e:
a) To configure the UA with two URIs (instead of a single one
that could be got from DHCP or derived from the AOR of the user)
b) To configure the DNS for primary and backup proxies so that
two "domains" would have to be used for each
Actually RFC 2782 (SRV RR) also discusses primary and backup services:
The SRV RR allows administrators to use several servers for a single
domain, to move services from host to host with little fuss, and to
designate some hosts as primary servers for a service and others as
backups.
I just found it convenient to make a mapping between the concepts
used in these two specs in the way I did. So instead of the need to
separately configure "backup registration URI" to the UA, the SRV
records with higher numbers could be used as backup servers for
SIP Outbound.
On the other hand my I-D is not explicit what comes to the scalability
and load balancing. My intention was to leave it as the responsibility
of usual SRV RR processing as discussed within
draft-ietf-sip-outbound-03.
Note that each URI
in the outbound-proxy-set could resolve to several different physical
hosts. The administrative domain that created these URIs should
ensure that the two URIs resolve to separate hosts. These URIs are
handled according to normal SIP processing rules, so things like SRV
can be used to do load balancing across a proxy farm.
Scalability
is achieved by using DNS SRV to load balance the primary connection
across a set of machines that can service the primary connection and
also using DNS SRV to load balance across a separate set of machines
that can service the backup connection.
The approach for load balancing specified in RFC 2782 (SRV RR) is as
follows:
Priority
The priority of this target host. A client MUST attempt to
contact the target host with the lowest-numbered priority it can
reach; target hosts with the same priority SHOULD be tried in an
order defined by the weight field.
Weight
A server selection mechanism. The weight field specifies a
relative weight for entries with the same priority. Larger
weights SHOULD be given a proportionately higher probability of
being selected.
In other words load balancing is achieved between multiple UAs, each
of them randomly selecting one proxy amongst the ones defined within
the highest priority SRV RR. One UA would ever use only one single
primary
proxy but if there are N primary proxies, then any of those would only
serve 1/N of the whole UA population. My I-D was not supposed to change
any of that, so it was not explicitely specified either. No load
balancing
between the primary and backup connection was planned for the UA,
instead
the load balancing is only done when selecting which primary and backup
proxy to use:
While there are still elements left at this priority
level
Select an element as specified above, in the
description of Weight in "The format of the SRV
RR" Section, and move it to the tail of the new
list
And now the real problem (which is actually an issue within
draft-ietf-sip-outbound-03) is: if a single UA still needs
a backup proxy (and a backup connection), shall those backup
proxies be one of those the other UAs are using as their
primaries or should those backup proxies be totally separate
from the primary proxy farm ? Currently draft-ietf-sip-outbound-03
seems to suggest having separate set of primary proxies and another
set of backup proxies:
The deployment here requires
that DNS is configured with one entry that resolves to all the
primary hosts and another entry that resolves to all the backup
hosts. Designs having only one set were also considered, but in this
case there would have to be some way to ensure that the two
connection did not accidentally resolve to the same host.
If the agreement will be that no dedicated backup proxies should be
used for SIP Outbound but instead one common set of proxies should be
used both for load balancing and backup purposes then I would
suggest:
- Rewriting draft-ietf-sip-outbound-03 accordingly
- Revising draft-koivusalo-sip-outbound-discovery-00 so that:
* UA would use two proxies within the same SRV RR Priority
level as primary and backup
* Load balancing would still be done between the UAs (each
of them selecting their primary proxy with SRV RR Weight
and using the primary proxy whenever it responds) instead
of requiring a single UA to distribute its traffic
proportionately to weight (which would complicate the UA
implementation quite a lot).
Comments ?
Regards,
Erkki
>-----Original Message-----
>From: ext Hadriel Kaplan [mailto:HKaplan <at> acmepacket.com]
>Sent: 28.April.2006 19:38
>To: Koivusalo Erkki (Nokia-TP-MSW/Helsinki); sip <at> ietf.org
>Subject: RE: [Sip] I-D
>ACTION:draft-koivusalo-sip-outbound-discovery-00.txt
>
>Hi Erkki,
>I am confused by one thing (well, for this topic): why did you
>choose to use
>the SRV priority in that way? You said "choose one of each
>priority level".
>If I understand the outbound draft correctly, there is no real
>distinction
>between primary and backups - any one of them can get new
>requests at any
>time, and the UA registers to all. So they're really all
>primaries once the
>UA chooses to create a flow to them. Thus I would think it
>more logical to
>have a UA which supports outbound connect to all servers of
>the same and
>lowest SRV priority if the server supported outbound, and only
>connect to
>higher ones upon failure of lower ones.
>
>That way a higher priority really means "connect if lower one
>fails", as it
>did for SRV before outbound. No?
>
>-hadriel
>
>
>> -----Original Message-----
>> From: Erkki.Koivusalo <at> nokia.com [mailto:Erkki.Koivusalo <at> nokia.com]
>> Sent: Friday, April 21, 2006 7:34 AM
>> To: sip <at> ietf.org
>> Subject: RE: [Sip] I-D ACTION:draft-koivusalo-sip-outbound-discovery-
>> 00.txt
>>
>> Hi,
>>
>> >I made up two proposals based on DNS for the UA to find
>> >out proxies supporting outbound within the domain of SIP
>> >AOR of the user or the domain got from DHCP ...
>> >
>> >I am now planning to put together an I-D for those proposals
>> >as an update to RFC 3263. It may take some time, but hopefully
>> >not too long.
>>
>> The promised I-D is now available:
>>
>> A New Internet-Draft is available from the on-line Internet-Drafts
>> directories.
>>
>>
>> Title : Discovering Proxies Supporting SIP Outbound
>> Author(s) : E. Koivusalo
>> Filename : draft-koivusalo-sip-outbound-discovery-00.txt
>> Pages : 17
>> Date : 2006-4-20
>>
>> This document describes modifications to DNS procedures used to
>> resolve a SIP Uniform Resource Identifier (URI) into the
>IP address,
>> port, and transport protocol of the next hop to contact. These
>> modifications enable the SIP User Agent to discover those proxies,
>> within the domain of the SIP URI, that support SIP extensions
>> described in draft-ietf-sip-outbound document. The introduced
>> mechanisms update behavior defined in RFC 3263.
>>
>>
>> A URL for this Internet-Draft is:
>>
>http://www.ietf.org/internet-drafts/draft-koivusalo-sip-outboun
>d-discove
>> ry-00.txt
>>
>> I would appreciate for anyone interested to review this spec
>> and provide me with comments.
>>
>> Regards,
>>
>> Erkki
>>
>> _______________________________________________
>> Sip mailing list https://www1.ietf.org/mailman/listinfo/sip
>> This list is for NEW development of the core SIP Protocol
>> Use sip-implementors <at> cs.columbia.edu for questions on current sip
>> Use sipping <at> ietf.org for new developments on the application of sip
>
>
_______________________________________________
Sip mailing list https://www1.ietf.org/mailman/listinfo/sip
This list is for NEW development of the core SIP Protocol
Use sip-implementors <at> cs.columbia.edu for questions on current sip
Use sipping <at> ietf.org for new developments on the application of sip