[Finding the time to announce this...] For the purpose of implementing a finer grained mirror selection (than based on country and region as GeoIP database lookup), mod_asn was created. mod_asn is an Apache module that uses BGP routing data to look up the autonomous system (AS)[1], and the network prefix (subnet), which contains a given (clients) IP address. It is written with scalability in mind. To do lookups in high-speed, it uses the PostgreSQL ip4r datatype that is indexable with a Patricia Trie algorithm to store network prefixes. This is /the/ algorithm that can search through the ~250.000 existing prefixes in a breeze. It comes with script to create such a database (and keep it up to date) with snapshots from global routing data - from a router's "view of the world", so to speak. Apache-internally, the module sets the looked up data as env table variables, for perusal by other Apache modules. In addition, it can send it as response headers to the client. MirrorBrain actually uses this already. Announcement to follow. :-) The source code is available under the terms of the Apache License, Version 2.0. It is available under the link [3], which requires an openSUSE buildservice account, or [4] in source RPM form. (I'm currently considering a new source code hosting facility; not sure where to put it best.) [1] http://en.wikipedia.org/wiki/Autonomous_system_(Internet) [2] http://pgfoundry.org/projects/ip4r/ [3] https://build.opensuse.org/package/show?project=Apache:Modules&package=apache2-mod_asn [4] http://download.opensuse.org/repositories/Apache:/Modules/ _______________________________________________ mirrorbrain mailing list Note: To remove yourself from this mailing list, send a mail with the content unsubscribe to the address mirrorbrain-request_at_mirrorbrain.orgReceived on Thu Feb 19 2009 - 00:08:51 GMT
This archive was generated by hypermail 2.3.0 : Thu Mar 25 2010 - 19:30:55 GMT