[OpenIPMap] Geolocating remote peerings at IXPs

Baptiste Jonglez bjonglez at illyse.org
Mon Apr 13 18:58:34 CEST 2015


On Mon, Apr 13, 2015 at 03:45:55PM +0200, Emile Aben wrote:
> answering multiple emails inline:
> 
> On 13/04/15 15:12, Sebastian Pesman wrote:
> > As far as I know;
> > 
> > IP's are individually registerd / saved. It could be that is
> > incorrect but then it can be corrected.
> 
> Geoloc info is saved based either on hostname or on IP range.
> The UI only exposes the hostname-based saving, that's why you can't
> geoloc an IP via the UI currently.
> It should be relatively simple to add functionality to the UI to save
> IP->location info directly. I created a github issue for this, hope to
> get to it soon:
> https://github.com/emileaben/django-openipmap/issues/10

Ah, right, I thought there was a rule disallowing edition specifically for IXPs.

Being able to edit IP->location records would be super-useful for IPv6:
it seems that a number of networks don't configure reverse DNS for their
routers.

> Indeed. In the Lyon case, Ideally we'd store 2 locations for this IP
> (Lyons and Amsterdam) because we know if we see this IP we know that
> the circuit the packet travelled contained both these locations.
> 
> I think there are 3 general cases:
> a) 1 IP -> 1 location
> b) 1 IP -> 2 locations (for when an IP corresponds to a circuit
> between 2 locations).
> c) 1 IP -> multiple locations. Anycast.
> 
> The b) case could actually be a sequence of locations, if you know the
> physical path that the circuit takes.

This sounds like a nice solution to the original issue, thanks!  There is
a special case when an address is the target of a traceroute, though: it
might be reached without going through the circuit.

Consider the following topology, with a remote peering to explicitate the
point:

  R1  ---  IXP  --(remote peering)--  R3  ---  R4

When R3's IXP address appears in the middle of a traceroute, it means that
the packet has travelled the (IXP → R3) circuit.  However, if R3's IXP
address is the *target* of a traceroute, the packet might or might not
have travelled the circuit:

  (R1 → IXP → R3) has travelled the circuit

  (R4 → R3) has not travelled the circuit

I don't see a way to distinguish between the two cases, though (except
using latency, but this is hard to automate).

Thanks,
Baptiste
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <https://www.ripe.net/ripe/mail/archives/openipmap/attachments/20150413/7239a915/attachment.sig>