Coder Social home page Coder Social logo

javamrt2graphml's Introduction

javaMrt2Graphml

#1. Overview

This is an extension of the original javaMrt library able parse the binary MRT format to export the information from those in structured xml or directly in Graphml file formats.

For those that have no idea what MRT is - this is a Multi-Threaded Routing Toolkit (MRT) Routing Information Export file format described in RFC(Request for Comments) 6396. To state that simply this is a file format in which routers export their routing tables.

So we have built on top of the initial javaMrt and has converted initially the output of those files into a structured xml and secondly directly into a graphml files. The graphmls is able to analyze BGP routing updates, to extact the AS paths and to build beautiful graphs of the world Internet. In addition we use also the data soure from Geoff's Huston poratoo net IRR server (whois) data export http://bgp.potaroo.net/cidr/autnums.html in order to populate our graphml with some useful data about the BGP autonomus systems.

#2. License javaMrt2Graphml library as the original javaMrt is released under LGPL license. For more details please read LICENSE.txt.

#3. Usage

##3.1 Clone the project

git clone https://github.com/iTransformers/javaMrt2Graphml.git

##3.2 Built it with maven

cd javaMrt2Graphml
mvn package 

Here we assume that you know what is maven. If you don't try that one first http://maven.apache.org/guides/getting-started/maven-in-five-minutes.html

##3.3 Execute run.sh

./run.sh -f rib.20140401.0000 -f2 out-mrt.xml -o network.graphml

-f is the origiranl mrt file that has been exported by your router
-f2 is the output of that file in xml
-o is the network graphml 

If you don't have your own mrt file (obviously not everybody has a router with full Internet BGP routing table) you can get one from the RouteViews project

http://archive2.routeviews.org/route-views.isc/bgpdata/2014.04/RIBS/

Once you download it you have to unzip it and pass the unziped file as an "-f" argument.

##4.4 Visualize the result The final result (network.graphml) could be visualized with gephi or netTransformer or any other Graph Viz tool able to draw graphml file format.

The result of this are Internet wide maps like those bellow:

Small

Big

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.