< Previous by Date Date Index Next by Date >
  Thread Index  

[reSIProcate] building high reliability proxies with anycast


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

Attachment: Anycast-v10.pdf
Description: Adobe PDF document



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