[reSIProcate] building high reliability proxies with anycast

Rohan Mahy rohan at ekabal.com
Tue Mar 29 14:34:44 CST 2005


Hi,

I am trying to capture some design discussions with Bill Woodcock about 
how to build high reliability proxies and registrars using anycast + a 
lazy registration state synchronization scheme based on the principles 
of NNTP (netnews) distribution.

I would like our proxy design to work with this scheme and possibly 
even implement it as one mechanism that we support.  Clearly, we will 
need to support other models, since not everyone will be able or 
willing to configure anycast (even though it is not hard to do, it is 
"new" to most SIP folks).

First a little background on anycast.  Please skim this, noting 
especially slides 17, 38, and 39

-------------- next part --------------
A non-text attachment was scrubbed...
Name: Anycast-v10.pdf
Type: application/pdf
Size: 706635 bytes
Desc: not available
URL: <http://list.resiprocate.org/pipermail/resiprocate-devel/attachments/20050329/05f3e6d3/attachment.pdf>
-------------- next part --------------


How does a UA connect to the closest proxy - it sends traffic to the 
anycast of the all the proxies in an anycast cloud.
How does a UA connect to multiple (diverse) proxies - use two different 
anycast clouds configured so that the closest server in anycast-cloud1 
is never the same as in anycast-cloud2.

NAPTR for transport selection
SRV to select the port and the host name
A records point to anycast address

for example:

example.com.	IN SOA etc...

	IN NAPTR 50 50 "s" "SIPS+D2T" "" _sips._tcp.example.com.
	IN NAPTR 80 50 "s" "SIP+D2T"  ""  _sip._tcp.example.com.
	IN NAPTR 90 50 "s" "SIP+D2U"  ""  _sip._udp.example.com.

_sips._tcp	IN SRV 0 0 5061 anycast1
_sips._tcp	IN SRV 1 0 5061 anycast2
_sip._tcp	IN SRV 0 0 5060 anycast1
_sip._tcp	IN SRV 1 0 5060 anycast2
_sip._udp	IN SRV 0 0 5060 anycast1
_sip._udp	IN SRV 1 0 5060 anycast2

anycast1	IN A	123.45.67.1
anycast2	IN A	123.45.68.1

both 123.45.67.1 and 123.45.68.1 are anycast IPv4 addresses in 
different anycast clouds

Then for registration contact state distribution, Bill suggests using a 
loosely-coupled model like NNTP, where "articles" are delivered over a 
distribution topology for propagation to all the registrars.  Articles 
expire, they can be cancelled, and they are replaced by newer articles. 
This works today among major news relays at very high speed for 
millions of articles every hour.

I'll take a look today at how NNTP works, and how modular the code is 
from INN (a BSD licensed news server from ISC).

thx,
-r



More information about the resiprocate-devel mailing list