[mirrorbrain-announce] mod_asn: A new Apache module to look up routing data

From: Peter Poeml <poeml_at_cmdline.net>
Date: Thu, 19 Feb 2009 01:08:50 +0100
[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-announce mailing list

Note: To remove yourself from this mailing list, send a mail with the content
 	unsubscribe
to the address mirrorbrain-announce-request_at_mirrorbrain.org
Received on Thu Feb 19 2009 - 00:08:51 GMT

This archive was generated by hypermail 2.2.0 : Tue Oct 20 2009 - 15:33:25 GMT