©Copyright 2004, NIIT and SLAC.
projects home maggie tools meetings presentations team docs



Understanding about the discussion on 29th March,2004


Fast Trace route Implementation


Linux trace router man page

            Traceroute utilizes the IP header TTL field and attempts to capture the ICMP TIME_EXCEEDED response from each router along the path to the destination host. The Traceroute process ends when it receives ICMP "port unreachable" messages.

The Traceroute process send UDP probe packets with some TTL value and then listens to ICMP "time exceeded" reply from a gateway or ICMP "port unreachable" from end host. The UDP probes start with TTL one and increase by one until we get an ICMP "port unreachable".

IEPM-LITE trace route requirement

1.      Parallel Traceroute using ICMP or UDP probes. This probably means that we have to send parallel UDP or ICMP messages with different TTL values. Like we can send 5 messages in parallel to www.xyz.com

a.       1st  message with   TTL 1           reply = ICMP TIME_EXCEEDED

b.      2nd message with   TTL 2           reply = ICMP TIME_EXCEEDED

c.       3rd messages with  TTL 3           reply = ICMP TIME_EXCEEDED

d.      4th messages with  TTL 4           reply = ICMP  Port Unreachable

e.       5th messages with  TTL 5           reply = ICMP  Port Unreachable

So as soon as we get the first messages with Port Unreachable we will conclude end of trace route.

2.      Should not require root.

a.       Trace route process can be initiated by a user.

Comments/Challenges/Discussion on above given two requirements

1.      When we talk about the parallel traceroute approach I can see two challenges

a.       Packet Loss

If some packet is lost in transit then we can not track which node information did not receive. This problem can be solved by using sequence numbers I guess.

b.      Packet sequence

Due to congession in the route packets can lose their seqence. And five packets send with seq numbers 1 2 3 4 5 their reply can come like this 3 5 2 4 1 or what ever. So if 5th packet with TTL  5 gets reply as port unreachable we will conclude end of trace route.


2.      Should not require root.

a.       Raw sockets require root privilages so we can not send ICMP echo request message we will have to send some UDP messages.

b.      But the reply will again be in the form of ICMP like time excedded or port unreachable.

c.       So the problem with the point B is, that we not overcome firewalls if there is some firewall that is blocking ICMP messages then we can perform traceroute.


Displying of pinger nodes on world map with the help of Latitude and Logitude values


1.      NetGeo - The Internet Geographic Database

This tool is developed by CAIDA. The url of the tool is mentioned below http://www.caida.org/tools/utilities/netgeo/

We have tried using this tool to get the information about the Latitude and Longitude of any IP address specified to this tool.

Example : http://www.slac.stanford.edu/ as ip address : .

The output of this NetGeo was:

C:\>java -classpath . NetGeoClient

Testing getCountry( "" )

Result = US

Longitude = 37.42

Latitude = -122.16

So by getting the information about Log and Lat from this tool we will display the node on the world map with its URL.


About this project our task was to install at NIIT and make the installation procedure easy and user friendly. So please can you give us the link to this software package and installation procedure so that we can install it here at NIIT and see how we can make the installation procedure more easy.


Mailing List

The name of the maling list which we propose is maggie-ns@niit.edu.pk or


Please give your suggestion. And please send us the email address of all the team members at SLAC.



The maggie-ns site is the progress and its first prototype will be ready by tommorow.