Skip to content

Latest commit

 

History

History
64 lines (47 loc) · 2.22 KB

README.md

File metadata and controls

64 lines (47 loc) · 2.22 KB

A Python implementation of RocketFuel topology engine. Copyright (C) 2016 Sahil Shekhawat [email protected]

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.

Before Running Traceroutes

  1. Getting Prefixes in AS: Run "prefix.py" to get all prefixes of ASes.
  2. Getting IPs from Prefixes: Run "ip_from_prefix.py" to get all IPs from advertised prefixes.

Running

  1. Run "run.sh" to run Traceroute.java to get traceroutes from planet lab nodes.

After Running

  1. Combine all traceroute results into one file named "_ALL" Code:
cd traceroutes
for file in AS{2914,3257,13030,1239,1273,32787,16735,10026,6830,3491,18881}; do
    a="_ALL";
    touch $file$a
 	for node in $file/*; do
        cat $node >> $file$a;
    done
done
  1. Run "Find_TraceRoute_Paths.java" to get only IP addresses from Traceroute results. A file will be created named "_path"
  2. Run "Find_ip_address_from_traceroute_path.py" to get all unique ip addresses in traceroute path calculated in previous step. A file will be created named "_unique_IPs"
  3. Run "ip_to_AS.sh" to get ASN for all IP addresses. File named "_ip_to_AS_results" Code:
for AS in AS{2914,3257,13030,1239,1273,32787,16735,10026,6830,3491,18881}; do
	./ip_to_AS.sh $AS;
done
  1. Run "Find_IP_address_in_particularAS.java" to get all ips in that particular as. File name: "IP_in_"

  2. Run "Finding_Edge_Routers.java" to get all Edge routers. File name: "_Edge_routers"

  3. Run "Find_Core_routers.py" to get all Core routers. File name: "_Core_routers"

  4. Run "Find_frequency.py" to get the final results.

  5. To get results. Run "results.py".

    OR 7-8-9. Run "process.py"

result is in "output" file