Deliverable D4.3: Experimental tools

This page provides short description of tools developed in the course of the EULER project, plus links to source codes and documentation, as well as tools used or improved within the project.


1 Simulation tools

1.1 DRMSim, a network simulator for the investigation of routing schemes

DescriptionThe objective of DRMSim is to provide a routing model simulator to the scientific networking community. DRMSim does not aim at performing accurate simulations at the forwarding level. Instead it focuses on the underlying routing layer itself, by exposing a clear and dedicated Application Programming Interface (API) to its users. In other words, it is devoted to the construction of routing tables and so to the evaluation of the behavior and performances of various distributed routing schemes (performance metrics are: stretch, size of routing tables, number of messages, adaptivity to topological modifications, etc.). Simulations are modeled according to the discrete-event paradigm.
Licenceopen-source (GPLv3)
Webpagehttp://drmsim.gforge.inria.fr
ReleaseRelease 1.1 available at http://drmsim.gforge.inria.fr (05/01/2012)
ScenarioAny non-valued, oriented/non-oriented simple graph (no multi-edges allowed) network, with topology dynamic (addition/removal of nodes/links). Topology size is only limited by the routing scheme memory requirement.

Projects that can take benefits of this tool

1.2 CMR, ad-hoc network simulator for the investigation of dynamic compact multicast routing schemes

DescriptionThe objective of CMR tool is to execute and evaluate dynamic compact multicast routing schemes. It is an ad-hoc Java simulator that currently implements four schemes only, namely the Shortest Path, Steiner Tree, AMR and PPC algorithms. It Simulations are modeled according to the discrete-event paradigm.
Licencesimulator not ready to be public
Webpagesimulator not ready to be public
Releasesimulator not ready to be public
ScenarioAny scenario where nodes can join and leave multicast session. Topology up to 35000 nodes. A sessions can have up to 4000 members.

1.3 FIGHT, Future Internet Graph Hyperbolic Tool

DescriptionThe FIGHT-software is a generic platform for hyperbolic routing. We built on the one hand a routing-algorithm-interface, that allows calculations for the routing-table information, and on the other hand a forwarder-interface, that allows forwarding-strategies on the basis of the routing-table information. Now, we made a few implementations of these interfaces: for example a random forwarder, and an oracle-forwarder, which automagically takes the good decisions and always forwards to the neighbour that is actually on the shortest path to the destination. Any protocol can be added as desired. The system allows to attach coordinates to nodes, whatever coordinates may be. So this is also an interface that allows the most diverse implementations of actual coordinates, eg. vector-coordinates in a multidimensional hyperbolic space. An algorithm called "the assigner" then assigns coordinates to nodes. On the basis of these coordinates, several strategies to build routing-tables and forwarding algorithms are possible. Thirdly, the system allows to inspect the state of the network, and allow monitoring the performance, whatever that means (e.g. the stretch). We implemented a few coordinate-assignment-strategies and routing-protocols, which we tested under different circumstances (e.g. failing links or nodes). The tool allows to experiment with alternatives in order to derive interesting conclusions about these protocols.
LicenceContact Pieter for more information
WebpageContact Pieter for more information
ReleaseContact Pieter for more information
ScenarioTest hyperbolic routing-protocols, and associated convergence, stability, reliability, etc...

2 Emulation tools

2.1 Click Modular Router, w software architecture for building extendible and con gurable routers and switches

DescriptionClick is a new software architecture for building extendible and configurable routers. A Click router is assembled from packet processing modules called elements. Individual elements implement simple router functions like packet classification, queueing, scheduling, and interfacing with network devices. A router configuration is a directed graph with elements at the vertices; packets flow along the edges of the graph. Several features make individual elements more powerful and complex configurations easier to write, including pull connections, which model packet flow driven by transmitting hardware devices, and flow-based router context, which helps an element locate other interesting elements.
Licenceopen-source (MIT/BSD-like => This license is an MIT license, plus a clause (taken from the W3C license) requiring prior written permission to use Click author names in publicity. More info at http://www.read.cs.ucla.edu/click/license)
Webpagehttp://www.read.cs.ucla.edu/click/
ReleaseRelease 2.0.1 (Sept 2011)
ScenarioEmulation of any forwarding and/or custom-built routing scheme

Projects that can take benefits of this tool

2.2 Quagga, a routing software suite

DescriptionQuagga is an already developed free software routing suite, providing implementations of OSPFv2, OSPFv3, RIP v1 and v2, RIPng and BGP-4 for Unix platforms. It is developed in C code and the tools provided by the suite will be used for the real development of the protocols and algorithms (such as compact multicast) defined within the framework of the EULER project. Moreover, the resulting implementations will be able to be tested in real scenarios..
Licenceopen-source (GPL)
Webpagehttp://www.quagga.net/
ReleaseRelease 0.99.20 (29/09/2011)
ScenarioEmulation of any IPv4/IPv6 routing system

Projects that can take benefits of this tool

3 Measurement tools

3.1 TraceTree

DescriptionTracetree performs fast ego-centered measurements of the IP topology around a monitor (similar to a routing tree from this node) with low and balanced network load. The tracetree tool discovers a tree by sending probes towards all destinations in parallel in a backward manner and avoids redundancy by stopping probing towards some destinations when paths collapse: given a set of destinations, it first discovers the last link on the path to each of them, then the previous link on each of these paths, and so on; when two (or more) paths reach the same node then it stops probing towards all corresponding destinations except one.
Licenceopen-source (GPLv3)
Webpagehttp://www-rp.lip6.fr/~latapy/Radar
Release1.0
ScenarioMeasurement of ego-centered views from an IPv4 monitor. Monitoring of a network around a node, study of routing trees, test of models.

Projects that can take benefits of this tool

3.2 Radar

DescriptionRadar is a shell script that runs tracetree periodically from a given monitor. The measurement frequency must be high enough to capture interesting dynamics, but low enough to keep the network load reasonable.
Licenceopen-source (GPLv3)
Webpagehttp://www-rp.lip6.fr/~latapy/Radar
Release1.0
ScenarioMeasurement of the dynamics of internet (IPv4) topology around a node. Ego-centered event detection, study of the dynamics of routing trees, test of dynamical models.

Projects that can take benefits of this tool

3.3 (distributed) UDP-ping

DescriptionUDP-ping sends a UDP probe to a given target (IP address) which induces an ICMP message back from this target. In principle, the source address of this answer is the interface used to send it, and so UDP-ping may be used to find a new interface of the target (and for anti-aliasing purpose). In its distributed version, UDP-ping is used to measure the degree of a given router: many monitors distributed in the internet send a probe to a given target and get answers from different interfaces of this target. With many well distributed monitors, one may obtain this way all interfaces of the target (and thus its degree).
Licenceopen-source (GPLv3)
Webpagehttp://www-rp.lip6.fr/~latapy/
Release1.0
ScenarioNetwork monitoring tool. Listing of interfaces of a target. Estimation of degree distribution. Anti-aliasing.

Projects that can take benefits of this tool

4 Models and properties tools

4.1 Grph, a portable graph library tailored to network simulation and graph analysis

DescriptionGrph is a Java library for graph algorithms experimentation and network simulation. It enables to conduct experiments on large graph instances (e.g., millions of nodes). A large collection of algorithms have already been implemented (see list), including; several graph generators (GNP, GNM, GLP, Inet, BRITE, Chordal, etc.); distances computations; traversal methods (BFS, DFS, set of nodes at given distance, etc.); structural tests (connectivity, chordality, etc.); topological property computation (betweenness, clustering coefficient, etc.). In addition, a number of tools for statistics as well as for the computation of distributions, linear regressions, power-law exponents, etc. are also provided.
LicenceFree for non-commercial usage http://www-sop.inria.fr/members/Luc.Hogie/grph/license.txt
Webpagehttp://www-sop.inria.fr/mascotte/software/grph/
ReleaseLast release available at http://www-sop.inria.fr/mascotte/software/grph/ (03/01/2012)
ScenarioEach time graphs are involved, for instance for studying the evolution of graph properties with the evolution of the graph topology.

Projects that can take benefits of this tool


5 External tools used by project partners

5.1 Sage open-source mathematical software system

DescriptionSage consists of a collection of mathematical software and a core library bundling the functionality of these components into a unified interface. Sage can be used to study elementary and advanced, pure and applied mathematics. This includes a huge range of mathematics, including basic algebra, calculus, elementary to very advanced number theory, cryptography, numerical computation, commutative algebra, group theory, combinatorics, graph theory, exact linear algebra and much more. It combines various software packages and seamlessly integrates their functionality into a common experience. The objective of Sage is to create a viable free open source alternative to Magma, Maple, Mathematica and Matlab. It is well-suited for education and research.
Licenceopen-source (GPL)
Webpagehttp://www.sagemath.org
ReleaseLast release available at http://www.sagemath.org
ScenarioAny scenario involving numerical calculus and/or graph algorithms

Projects that can take benefits of this tool