NIIT logo TULIP logo

TULIP
(Trilateration Utility for Locating IP hosts)

Alternate TULIP site
TULIP wins First Prize in All Asia Softec 2007
SLAC logo PingER logo poster
Download TULIP What is TULIP Lateration Uses of geo-locating hosts Ways to locate hosts TULIP Requirements Landmarks Security Problems

What is TULIP

TULIP is a Java application being developed by the MAGGIE-NS team from the National University of Sciences and Technology (NUST) Institute of Information Technology (NIIT) and the Stanford Linear Accelerator Center (SLAC) Internet End-to-end Performance Monitoring (IEPM) project. TULIP's purpose is to geolocate a specified target host (identified by IP name or address) using ping RTT delay measurements to the target from reference landmark hosts whose positions are well known. Knowing the speed of light in fibre or copper (roughly 0.6*c, we use 1ms. is equivalent to 100km), the minimum ping RTT measurement of 5 pings (see Ref 1 for the error distance versus the number of probes) from each landmark site gives a rough estimate of the fibre + copper cable distance of the landmark from the target host. Lateration is applied on these distance estimates to estimate the position of the specified host on the globe. We are focusing on a platform agnostic, open non-proprietary tool (c.f. Traceware from Digital island or Edgescape from Akamai) that can be used to evaluate the effectiveness of this technique for hosts outside the U.S. and Europe specifically in less well developed countries. There is a map of TULIP landmarks.

Lateration

Lateration is the calculation of position information based on distance measurements. Multi-lateration computes the position of an object by measuring its distance from multiple reference positions. Calculating an object's position in two dimensions requires distance measurements from 3 non-collinear points (hence Trilateration). See here for information on calculating the position.

Some Uses of Geolocation and TULIP

Geolocation: TULIP

Ways to locate a host

There is no geographical tie between Internet architecture and geogrpahy. For example. unlike the phone system where phone numbers provide countries, areas and exchanges in areas, the Internet IP address is not designed to provide any location information. In fact, it needs to be understood that methods to derive location of Internet hosts were not originally designed for this. As mentioned previously, however, it can be important to know the location of a host. It is also very useful to have multiple ways to find the location of a host both since all methods ahve their problems, and also to look for agreements or discrepancies. The paper Distributed Traceroute Approach to Geographically Locating IP Devices investigates and evaluates existing (2003) methods and solutions. Basically there are three major ways of locating a host: Databases may give the location of a router as being the location of the owner's location rather than the location of the router itself. For example, GeoIP Tools locates address 4.68.116.16. in Kansas, whereas it has < 5ms minimum RTT from Liverpool and < 1ms (< 100km) from Rutherford Lab near Oxford in the UK. The router is in ASN 3356 which is Level 3 Communications, based in the U.S. It also locates mia2-fiu-1-us.mia.seabone.net as being in Europe (presumably since it is owned by a European ISP (Seabone) however it is in located in the US. When trying to map the topology of a traceroute onto a map of the world, such errors cause problems. For example a traceroute from Brazil to Costa Rica apparently (according to GeoIP Tools) goes to Florida then to Italy, back to Florida and then to Costa Rica. Actually it goes to Florida and then to Costa Rica. Hostip.info gets it right. Another example is a traceroute from Brazil to a Venezuelan (according to Geo IP Tools) node. Again the route according to Geo IP Tools goes via Italy and again HostIP.com gets it right. Geo IP Tools also shows the end host www.unerg.edu.ve in Venezuela while Hostip.info says its in the US. Other tests (RTT, Octant) make us believe it is in the US possibly Dallas (Octant) or Florida (TULIP). We are starting to compare Hostip with locations from the PingER database of known host, and see how well TULIP does for various regions (see for example TULIP estimates from Europe to PingER hosts).

Examples include:

If you want to find the great circle distance and know the latitude and longitude coordinates of the two ends then you can use the Movable Type Scripts web page. World Gazeteer provides access to data with lat/longs, cities, countries & populations ( download data). If you want to calculate it for yourself then see Deriving the Haversine Formula. You can also make a name server lookup for a host, or if you don't know the exact name try DomainSurfer. There is also an Atlas of Cyberspace that provides maps and graphic representations of the geographies of the new electronic territories of the Internet, the World-Wide Web and other emerging Cyberspaces and the Corpex sponsored Cyber Geography Research.

Requirements for TULIP:

Java Web Start must be installed on your system. It requires a configuration file that provides the name and location of each landmark, the URLs for the ping and traceroutes. At SLAC this is kept at /afs/slac/www/comp/net/wan-mon/tulip/Sites.txt.

Landmarks

For hosts in the world at large it is important to have landmarks that enable the host to sit within a triangle of landmarks 4,5. Thus we are very interested in getting more landmarks that cover the world. We also need to find latitude and longitude (lat/long) of the landmark. Further given the number of countries in the developing world that do not have direct access to other nearby countries (see for example the Case Studies on S. Asia, Africa and Palestine) but go via Europe or the US, the route is very indirect and extended so distances estimated by RTT will be too long. Thus we also need landmarks in such developing countries in particular those with a large Internet presence, e.g. countries with > 1 million connected Internet users (see Internet World Statistics). We have three main sources of landmarks: Currently (May 2007) we have landmarks in about 30 countries (see map, so we have a way to go.

PlanetLab

To take advantage of PlanetLab landmarks we use a Reflector at http://www-wanmon.slac.stanford.edu/cgi-wrap/reflector.cgi. The is enables us to provide a PlanetLab cookie which works for a single IP address only (that of the web server www-wanmon.slac.stanford.edu). In this way all the requests are issued from the Central reflector and the responses are sent back to the TULIP JNLP Client.

Security

The SLAC traceroute/landmark server that is frequently used by landmarks servers: rejects attempts to traceroute to a broadcast address; does not allow a remote host name to be greater than 255 characters to prevent buffer overflow attempts; does not allow a remote host in a different domain to do a traceroute to a host within the same domain as the web server; limits the maximum number of traceroute processes running in the server to reduce the chance of a denial of service request; starts the traceroute after 3 hops if the client/browser and server are in different domains in order to hide internal routing information from outsiders.\; has a blacklist of sites that are blocked.

The use of a central reflector to manage all the requests enables us to provide a single IP address that landmarks can enable access from, while disabling requests from other hosts.

A major concern is that the target is pinged simultaneously from multiple landmarks. This can look like a scan of multiple hosts when the target host responds to the ping requests. It can also look like a denial of service attack, especially for hosts with limited available bandwdth, such as are found in developing countries. We thus limit the number of pings from a landmark to a target to 5. We are also looking at tiering the landmarks. The top tier will enable us to locate the region of the world and then the second tier can be used to find the location in that region. This reduces the number of landmarks used and divides them in time into two or more sets. We are thus studying using tiering to tier the N. American and European hosts.

TULIP only allows one copy of the client to be running on a client host. TULIP also hides the URLs used for the landmarks to reduce the possibility of people gleaning the URLs for a denial of service attack. Editing the landmark URL's requires a password known only to the developers.

There is a centralized log with time stamped records of all requests, the requesting host, and the target. This is analyzed for abusers.

We have also considered whether the knowledge that a machine and possibly the usual owner can be accurately located may violate some privacy issue. This may require us to add some fuzz to results. So far this has not been done.

Problems with TULIP

Development and More Information

Development is at NIIT and SLAC by Faran Javed (NIIT), Les Cottrell (SLAC) and Shahryar Khan (SLAC and NIIT). More information may be found at:

Acknowledgements

We gratefully acknowledge the cooperation of the landmark sites, in particular PlanetLab, and those installing the SLAC reverse traceroute/ping server in developing regions (not Australia, N. America, Europe, Japan) of the world where there are fewer landmarks. These include:

References

1 "An Investigation of Geographic Mapping Techniques for Internet Hosts", N. N. Padmanabhan and L. Subramanian,
2 "Constraint-Based Gellocation of Internet Hosts", B. Gueye, M. Crovella, A. Ziviani, S. Fdida.
4 "An Empirical Evaluation of Landmark Placement. on Internet Coordinate Schemes." Sridhar Srinivasan. Ellen Zegura.
5 "Geometric Exploration of the Landmark Selection. Problem." Liying Tang and Mark Crovella
Contacts: Faran Javed Chawla (NIIT) <faran.javed at gmail.com> and Les Cottrell (SLAC) <cottrell at slac.stanford.edu> as part of the MAGGIE-NS team
NUST Institute of IT 2006