Hi folks, In the last few months, I spent a couple nights playing with geographic DNS resolution for the pool.ntp.org project.
Some of you may remember that I made a prototype that used BGP tables to resolve the closest servers to each client. It didn't work so well, because BGP doesn't take latency into consideration. I decided to try something else this time and go with IP to lat/lon conversion and return the closest servers geographically. At first, this doesn't seem like a good idea since nothing guarantees that two servers in the same city will be at a short network distance from each other. In practice, however, it seems that most cities have route exchange centers so this works pretty well -- at least in my limited testings. You can try it out, the addresses are: 0.ntp-pool-test.logidac.com 1.ntp-pool-test.logidac.com 2.ntp-pool-test.logidac.com 3.ntp-pool-test.logidac.com 4.ntp-pool-test.logidac.com and ntp-pool-test.logidac.com will return the closest servers in random order. Of course, please post your comments, suggestions and ideas to the list. If you're getting inaccurate results, please post the output from the following command to the list or directly to me: dig debug.ntp-pool-test.logidac.com txt Please refrain from using ntp-pool-test.logidac.com in an actual NTP server, since I'm playing a lot with that server and you could get bad data or no data at all. Right now the prototype is using the HTTP Geo City Service from MaxMind (http://www.maxmind.com/app/web_services_city_usage), so every DNS query generates a HTTP query to MaxMind. I've implemented a caching mechanism to reduce the number of HTTP queries, but in production this would need to be improved. Because it uses geographic instead of network coordinates, this system will inherently never be perfect, but if a client tries to reach three or four servers, there's a good chance that there will be a least one or two good ones. I don't see a better way of doing it that is viable for this project. The OASIS project (http://oasis.coralcdn.org/) has a script running on each one of their servers that does a traceroute toward the client to figure out on what part of what network the client is on. I don't think that this is something that we can do. Well, I think that's about it. Let me know how it works for you. Regards, GFK's -- Guillaume Filion, ing. jr Logidac Tech., Beaumont, Québec, Canada - http://logidac.com/ PGP Key and more: http://guillaume.filion.org/
signature.asc
Description: OpenPGP digital signature
_______________________________________________ timekeepers mailing list [email protected] https://fortytwo.ch/mailman/cgi-bin/listinfo/timekeepers
