Home
DRMSim - Sophia Antipolis
Contents
1. where priority is on performance for the sake of simulation on large networks this efficient but less flexible approach was opted for As explained before the main goal of DRMSIM is to quantitatively evaluate some of the main performance metrics of the routing models and especially those related to scalability and stability The following performance metrics have been in DRMSIM other can easily complement this set e Stretch the stretch of a routing scheme is defined as the ratio over all source destination pairs between the routing scheme path length and the minimum path length actual distance for the same source destination 10 pair Intuitively the stretch is a quality measure of the paths length in crease as produced by a routing scheme compared to shortest path lengths Shortest path routing either AS path length based path vector routing or cost metric based link state routing are stretch 1 This metric is inter esting to measure since compact routing schemes usually since producing reduced routing tables are not always able to choose the minimum path for a given destination but on the other hand the routing scheme should favour selection computation of routes whose stretch remains closer to 1 e Routing table size it is calculated using the size of a single entry and the number of entries in the routing tables RT RT size is directly related to routing system scalability because the less memory a router needs to s
2. 4 6 GT ITM Aone of the most popular generators available is 1 The following text is taken from 8 The main characteristic of GT ITM is that it provides the Transit Stub TS model which focuses on reproducing the hierarchical struc ture of the topology of the Internet In the TS model a connected random graph is first generated e g using the Waxman method or a variant of it Each node in that graph represents an entire Transit domain Each transit domain node is expanded to form another connected random graph representing the backbone topology of that transit domain Next for each node in each transit domain a number of random graphs are generated representing Stub domains that are attached to that node Finally some extra connectivity is added in the form of back door links between pairs of nodes where a pair of nodes consists of a node from a transit domain and another from a stub domain or one node from each of two different stub domains GT ITM also includes about five flavors of flat random graphs We sent a mail to the authors to get a version that works on Linux The source code was designed for SunOS and cannot get compiled on Linux Ubuntu 22 6 4 7 CAIDA Ar he Cooperative Association for Internet Data Analysis CAIDA provides data about the structure of Internet The router level topology map is par ticularly relevant to us It can be downloaded at the following URL http wiw caida org tools measurement ski
3. area network for RMI Mascsim cooperative hosts 4 Software architecture In this section we describe the software architecture of DRMSIM and explain the choices that were made so as to be able to simulate large scale networks and maintain modularity of the code 4 1 Module dependencies Routing simulator DRMSim MET GEN Discrete event Simulator Mascsim Graph model Dipergrafs N Java Unix bridge java4unix Graphical view Graphstream ict Pd Java Runtime Environment v1 5 or later Figure 1 The dependencies of modules Figure 4 1 represents the DRMSIM modules and their dependencies DRM SIM relies through the Javadunix framework on UNIX facilities DRMSIM relies also on DIPERGRAFS for the network and topology models and on MASOSIM for the discrete event simulation engine The Graphstream mod ule can be used to obtain a view of the routing scheme In practice each of these modules comes as a JAR file that must be included in the JVM classpath The installation procedure of DRMSIM automates the process of downloading the modules and installing them in the UNIX user account More details concerning these modules are given in the following 4 1 1 Mascsim MASCSIM operates at the level of the simulation it models and implements a distrbuted discrete event simulation infrastructure It defines the following entities the simulation the system t
4. overhead The computational complexity is defined as the number of cycles needed to recompute a RT entry for a given destina tion and insert it as part of the RT or replace remove an existing entry in the RT To validate and test DRMSIM we have implemented many different routing schemes from simple ones such as source routing to more complex ones such as BGP We describe these algorithms in the next Section 11 4 4 Graphical monitoring of the routing process DRMSIM comes with a set of command line tools which allow the execution of simulation campaigns and the extraction of results Also for the purpose of monitoring which is of paramount importance when prototyping distributed applications an aircraft view of the network is also provided 5 Introduction to routing The Internet is organized in a number of AS Autonomous System An Au tonomous System AS is an administative entity which consists in a collection of connected IP routing prefixes under the contro of one or more network op erators that presents a common clearly defined routing policy to the Internet AS inner and outter routing obey to different rules Two classes of protocols are then defined IGP Interior Gateway Protocol and AGP Exterior Gateway Protocol 5 1 Routing in the current Internet Routing over the current Internet is achieved by the the coupling of hierarchical addressing and a set of routing protocols Most commonly found include BGP Bor
5. BGP Morever the simulation model is too rich the mem ory and CPU consumption required makes it hardly usable on large topologies Unlike the former simulator C BGP 10 was designed to work on topologies of several thousands of ASes This simulator built as an efficient decision process simulator allow experimentations on BGP protocol and attributes However it lacks temporal dimension as the simulator does not implement BGP timers nor messages delays link crossing delay router CPU waiting Another large scale BGP simulator was proposed in 5 Its aim was to run BGP simulations on several thousands nodes topologies by keeping the temporal delays introduced by the BGP timers But like all the previous simulators this one uses Log ical AS topologies ignoring IBGP interactions and the effects of AS internal event on the convergence Same goes for the RouteSim BGP simulator 9 Althought the model was abstracted enought to allow large topologies simula tion it lacked realistic temporal delay model not allowing the observation of user traffic variation consequences on BGP signalisation Another way in BGP simulator conception was explored by the creators of BGP By integrating a real BGP implentation into a simulator the simulations gained a realness never obtained before but the low level of abstraction made memory and CPU consumption too large to allow large topologies simulation 6 2 3 RIP The Routing Information Protocol or RI
6. DRMSIM a network simulator for the investigation of routing schemes User manual Luc Hogie Issam Tahiri Dimiti Papadimitriou Fr d ric Majorczyk Mascotte project INRIA Sophia Antipolis FR LaBRi University of Bordeaux FR 3 Alcatel Lucent Bell Antwerpen BE February 1 2010 Contents 1 Package overview 4 2 Installation 4 2 1 Prerequisite mia e do eh ee a ee ye idee 4 2D Procedure ie Wu tau aa A SEG ES atin 5 2 9 Pileseirist lled poa e 4 49 66 fe a e tai RUP bes 5 3 DRMSim s commands 6 4 Software architecture 8 4 1 Module dependencies 00000000 8 ATL MASESIM n e ci le a OR Baad uu 8 4 1 2 Dipergr tsc 2 epo A ee m 9 45143 JAVA AU uk aac Ge ee i AI Adi a AE ES RU EUR S 9 4 L4 Graphstream ee lt 6 4 2062 004444 RR PS 9 4 2 Object oriented model llle 9 4 3 Measurement model 00000000 9 4 4 Graphical monitoring of the routing process 12 5 Introduction to routing 12 5 1 Routing in the current Internet o o 12 5 2 Classification of routing protocols 0 13 5 2 1 Distance vector and link state protocols 13 5 2 2 AS level or router level routing les 13 6 Simulation models 13 6 1 Network model aa ae eee et 24 4 4 44 EX 33443434494 14 6 1 1 On memory consumption and computational performance 14 6 2 Routing protocols oe usd a a Renee Pages ond 14 6 2 1 Standard set aam 6464 645084 04 aaas ee eas 14 0 2 2 BG
7. In this scenario a source and a destination are defined at random Then routing are scheduled in a sequence until one succeeds Then the simulation stops 7 8 2 All to all 7 8 3 DoNothing Instantiate the system and immediatly stop 7 9 monitor a simulation process In order to enable the monitoring of the simulation all along the simulation DRMSIM provides a bridge with the GraphStream graph rendering framework In order to enable the graphical rendering the line system listeners inria alu views BasicRoutingView must be uncommented 25 8 Implementation notes DRMSIM is developed and tested under the Java Development Kit version 1 6 0_12 b04 on a 64 bits Linux box It is not guaranteed that it will work on different platforms Also Graphstream have shown to fail on v1 7 virtual machines which makes views based on it unusable with this virtual machine 8 1 Code reuse A development strategy followed in the DRMSIM project is to maximize the use of existing code software hereby to minimize the number of lines of code written from scratch 8 1 1 Madhoc Madhoc 6 is Mobile ad hoc NETwork MANET simulator developed at the Universities of Luxembourg CSC lab and Le Havre LITIS lab Its pri mary objective is to enable researchers to investigate broadcasting protocols over MANETs The code of Madhoc is modular and allowed us to extract a number of reusable components In particular we will use its time slicing simulation e
8. P as it is more commonly called is one of the most enduring of all routing protocols RIP is also one of the more easily confused protocols because a variety of RIP like routing protocols proliferated some of which even used he same name RIP and the myriad RIP like protocols were based on the same set of algorithms that use distance vectors to math ematically compare routes to identify the best path to any given destination address These algorithms emerged from academic research that dates back to 1957 6 3 Metrics Definition implementation the metrics for the evaluation of routing protocols e the stretch of a routing path is the ratio between the length of this routing path and the length of the shortest path It takes its values in 1 inf The closer to 1 the better e size in bit of the routing tables The lower the better e size in bit of the message headers The lower the better e the amount of traffic that is generated for inter changing topology infor mations e number of entries in the routing tables The lower the better 19 e observed duration to go back to a steady state after a sudden change of the topology The lower the better Ano the algorithmic complexity of the routing function is an important met ric When the number of entries in the forwarding table is large the routing routine may fail to provide routing information efficiently Also the algorithmic comprehensiveness is to be looked at In or
9. P wara Bogle Arata MEME Nhe a aus 15 0 2 9 REBA 6 2 E Rbk See AA he lo ee vo Ae d 19 09 Met ris aid ut PORN atur ce ese Mee dno Soy A Ata eat eae 19 6 4 Topology generators 0 000052 eee 20 6 4 1 Standardiset si EE GE MASS 21 6 4 2 Randomized set es 21 6 43 Tier 1 Tier 2 Tier T3 o 21 0AA net uode a AE bee am ba 22 6 42 59 Brite ii A huoc 8 A eo le es a 22 0 16 9GTAIT Me Aiit Be A wu 22 64 7 GAIDAS cor ft Be o ee ud Meo ve aed 23 6 5 Dynamics 25s a a a ee eee A AA Cete ge ad at dd 23 6 6 Traffic model ex ica Ree ee Ek et 23 6 7 Time model ya ee a a A a 23 63 Granularity a aa x xov RU UE RA ee aa 23 7 Frequently Asked Questions FAQs 23 7 1 What is the input of the simulator 0 23 7 2 Is it possible to define my own topology 24 7 3 deal with the output e 24 7 4 How can I add a new metric ss 24 7 5 How can I generate a GLP graph o o 24 7 6 How to implement a new routing protocol 25 7 7 Is there a way to import a new topology CAIDA Inet 25 7 8 How to run DRMSIM 0048 25 T8 D One tOONeE 4 rada e A 25 TE AMO A A as AA a 25 8 3 DoNothing sc ed A DE LE Le eee ee as 25 7 9 monitor a simulation process 04 25 8 Implementation notes 26 8 1 Codede se oi tin Ae ek de ce BE A a th tina a a 26 81 Madhoc a eee o Shh Oh hd eye
10. a et d 26 841 2 Dipergrals i dew es AREA AE a a ci Rie tng 26 8 1 3 GraphStream 02002 00004 26 84 GCOBIDA 5 esas di m ture pU nena a a 26 8 1 5 Ploticus av E EE Oa i a ta A 27 8 2 dnvoc tioti s 2 ios Ru rRNA ee de deg 27 8 2 1 Drawing a network alu network printer 27 8 2 2 Running a simulation mascsim_compute_simulation 27 8 2 3 Running a simulation alu scan available topology generators 27 8 3 Results 8 4 Simulation campains 000000004 This working paper describes DRMS mm a software simulator that aims at the evaluation of routing protocols at a large scale Indeed most simulator do not allow the simulations of more than a few hundred nodes DRMSIM is an attempt to simulate up to ten thousand nodes on typical workstations Its development happens in the context of a study focusing on dynamic compact routing A key target is to provide a software that is able to handle simulated networks consisting of a mininum of ten thousands nodes This requirement imposes a careful analysis of the data structures that will be used in the network model as well as on the granularity and time management of the simulation model This joint research project is conducted by Alcatel Lucent Bell Universit de Bordeaux LaBri and INRIA labs at Sophia Antipolis Mascotte project It is funded by Alcatel Lucent Bell The design development philosophy of DRMSIM is make to compromise on the quality of the cod
11. ant time complexity Taking measure often requires additional possibly time consuming computations Another approach consists thus in taking only the metrics that might have be affected after an event executes This approach reduces the computational overload presented herein before but does not solve it the event defines a set of metrics which are potentially affected by its execu tion but there may still exist metrics which were actually not affected but for which new measures would still be computed For this purpose DRMSIM uses a different approach which consists in taking a measure as soon as the corresponding metric has actually been affected This approach effectively reduces additional computations to the minimum The simulation code becomes targeted to a specific simulation objective what has to be observed is hard coded in the events themselves In practice when an event performs an action of interest that affects the state of the system it can subsequently compute a new value for the corresponding metric and store this value in the measure history A drawback of this approach is that it introduces a dependency between the simulation and the measurement code if one decides to carry on the same simulation but look at different metrics the original code will have to be duplicated and modified Also specifying a new metric and its associate measure imposes a modification of the simulation code Nevertheless in the context of DRMSIM
12. brite 2010 01 04 16 38 41 jar lib mascsim 2010 01 20 11 58 52 jar lib up 2010 01 04 16 38 41 jar lib inria drmsim 2010 01 20 11 58 52 jar HOME bin contains the executable programs coming with DRMSIM bin mascsim cache clear bin mascsim result plotter bin drmsim bench protocol bin mascsim campaign bin mascsim develop config bin mascsim cache publish bin drmsim scan available topology generators bin mascsim result config extractor bin drmsim cleaner bin mascsim result info bin mascsim compute simulation bin mascsim cache info bin mascsim rmi lan scanner bin mascsim determine input filename bin mascsim result values extractor bin mascsim cache query bin mascsim result merger Those files are simple bash scripts that invoke tha java virtual machine 3 DRMSim s commands Just like any UNIX application DRMSIM appears to the user as a set of com mands The following commands are available drmsim bench protocol bench drmsim cleaner ALU file cleaner drmsim_network_printer ALU compact routing simulator performs simula tion of routing protocols on internet like dynamic networks drmsim scan available metrics scans for available class inria mascsim metrics Metric drmsim scan available topology generators scans for available class in ria dipergrafs topology Topology Generator mascsim cache clear Clears the result cache This operation is applied to the local cache stored on the local disk mascsim cac
13. communication session is set up between bordering autonomous systems using TCP listening port number 179 This communication session is required to stay connected which is used by both sides to periodically exchange and update information When this TCP connection breaks for some reason each side is required to stop using information it has learned from the other side 15 In other words the TCP session serves as a virtual link between two neighbor ing autonomous systems and the lack of communication means that this virtual link is down Now imagine that each autonomous system is a virtual supern ode then the entire Internet can be thought of as a graph connecting virtual supernodes by virtual links The first model The closest to reality implemented in the simulator corre sponds to the latter since every node is considered as an AS This means that it can simulate the external BGP communication EBGP in a an optimal way but not the internal one IBGP In a router where BGP is running many types of Routing Information Bases are stored First there is the Loc RIB which contains all the paths known by the router and that are actually used in the forwarding process in addition to this a BGP router has an Adj RIB IN and an ADJ RIB OUT for every adjacent node which is linked to by a virtual TCP connection The aim of these RIBs is to provide a neighbor based filtering for both incoming and outgoing advertised routes Since the security p
14. der Gateway Protocol is a EGP OSPF Open Shortest Past First is complex and resource demanding OSPF is a IGP IS IS Interior System to Interior System is the only OSI IGP IGRP Interior Gateway Routing Protocol is proprietary of Cisco Systems The large deployment of Cisco routers make it a largely used protocol IGRP is IGP RIP Routing Information Protocol RIP is a IGP RIP2 add VLSM and authentification functionalities to RIP EIGRP Enhanced IGRP is a Cisco proprietary routing protocol loosely based on their original IGRP EIGRP is an advanced distance vector routing pro tocol with optimizations to minimize both the routing instability incurred after topology changes as well as the use of bandwidth and processing power in the router Routers that support EIGRP will automatically re distribute route information to IGRP neighbors by converting the 32 bit EIGRP metric to the 24 bit IGRP metric Most of the routing optimiza tions are based on the Diffusing Update Algorithm DUAL work from SRI which guarantees loop free operation and provides a mechanism for fast convergence 12 5 2 Classification of routing protocols 5 2 1 Distance vector and link state protocols There are two major types of routing protocols some with variants link state routing protocols and path vector protocols distance vector routing protocols A distance vector routing protocol requires that a router informs its neigh bors of topology cha
15. der to have more details about the behavior of a protocol we are investi gating other metrics that we would like to add without decreasing the simulator performance and those are mainly e the Number of stable and transient updates generated during convergence In fact during convergence some candidate routes may become transient Upon occurence of an event E that necessitates reconvergence from the current state at each router we say that a candidate route r to a prefix p is transient if E causes the AS Path of r to be no longer valid A route with AS Path P AgA1A3 A for a destination d at node A444 with Ag being the origin AS is said to be transient if there exists some A 0 lt lt n 1 such that the AS Path of the route at A is not the same as AgA1A2 A Therefore during convergence candidate routes may be either stable or transient Note that in standard BGP procedures for instance it is not possible for a node to figure out if any of its candidate paths is transient e data plane convergence time A node or a set of nodes has reached data plane convergence when the node or set of nodes has a stable forwarding path to the destination implied by the unvarying next hop at the node and at each of the downstream nodes Data plane convergence is equivalent to forwarding convergence Note that an AS path at a node can change without causing a change of next hop at a node but next hop will not change unless there is a rou
16. des As a consequence Inet output cannot be visualized The dipergrafs project provides a front end to Inet through the class inria dipergrafs topology InetTopologyGenerator In order for the topology generation to work the Inet application must be in stalled on the computer and the inet command should be accessible through the PATH environment variable The path to the inet command can also be specified in the configuration file by filling the path to inet entry 6 4 5 Brite BRITE 8 is the precursor to the universal generation tool It implements a single generation model that has several degrees of freedom with respect to how the nodes are placed in the plane and the properties of the interconnection method to be used Under certain configuration of the parameters BRITE 1 0 generation model is equivalent to Waxman Under other configuration of parameters BRITE 1 0 implements the Barabsi Albert model proposed in 2 in which a network grows incrementally and the nodes interconnect with preference towards higher degree nodes The dipergrafs project provides a bridge to Inet through the class inria dipergrafs topology BriteTopologyGenerator To achieve this result Dipergrafs exploits a modified copy of the source code of Brite Indeed Brite was designed in such a way that it exploit the text based I O streams Modification of the source code consists in bypassing this interface in order to directly interact with the Brite s framework 6
17. e 1997 M Doar A better model for generating test networks In Proceedings of Globecom 796 Nov 1996 Antoine Dutot Fr d ric Guinand Damien Olivier and Yoann Pign Graphstream A tool for bridging the gap between complex systems and dynamic graphs In EPNACS Emergent Properties in Natural and Artifi cial Complex Systems 2007 Giorgio Gallo Giustino Longo Stefano Pallottino and Sang Nguyen Di rected hypergraphs and applications Discrete Appl Math 42 2 3 177 201 1993 Fang Hao and Pramod Koppol An internet scale simulation setup for bgp SIGCOMM Comput Commun Rev 33 3 43 57 2003 Luc Hogie The Madhoc Simulator Technical report Le Havre University http agamemnon uni 1lu lhogie madhoc 2005 Cheng Jin Qian Chen and Sugih Jamin Inet Internet topology generator Technical Report CSE TR 433 00 University of Michigan at Ann Arbor 2000 Alberto Medina Ibrahim Matta and John Byers On the origin of power laws in internet topologies Technical report Computer Science Depart ment at Boston University Boston MA USA 2000 J Nykvist and L Carr Motykova Simulating convergence properties of bgp pages 124 129 Oct 2002 Bruno Quoitin C BGP Users Guide 2005 Bernard M Waxman Routing of multipoint connections pages 347 352 1991 28
18. e written so that extensibility and reusability are maximized 1 Package overview The official webpage for the DRMSIM project is http www sop inria fr mascotte projets DCR The software is the union of several projects including MASCSIM a discrete event simulation platform http www sop inria fr members Luc Hogie mascsim A graph library http www sop inria fr members Luc Hogie dipergrafs A bridge between Java and UNIX http www sop inria fr members Luc Hogie java4unix And a graph render library http graphstream sourceforge net 2 Installation 2 1 Prerequisite In order to use DRMSIM you must have an UNIX operating system Of course Linux is fine The choice for the Java Virtual Machine is more tricky More UNIX computers around actually are Linux boxes Linux comes with a Java Virtual Machine GCJ According to its official website GCJ is a portable optimizing ahead of time compiler for the Java Programming Language It can compile Java source code to Java bytecode class files or directly to native machine code and Java bytecode to native machine code According to most users it does not work DRMSIM proved unoperational when running atop GCJ If DRMSIM or its installation program does not work on your machine checking the JVM is the first thing to do DRMSIM turns out to work fine with both Sun s official JVM and OpenJDK 2 DRMSIM was successfully tested on the following platforms u
19. he events the metrics the measures etc At this level the network is not considered MASCSIM also provides a set of tools for dealing with user simulations with simulation campaigns result processing and graph plotting 4 1 2 Dipergrafs DIPERGRAFS defines the concept and efficient implementations of network that is used in DRMSIM It also provide a set of algorithms and input output mechanisms for dealing with the corresponding data structure a directed hy pergraph 4 1 3 Java4unix Java4unix provides the glue between the Java implementation of DRMSIM and the UNIX operating system Specific issues related to the execution of Java applications are solved by Java4unix by bridging specific executable classes by bash scripts copied in the SHOME bin directory of the local user Java4unix also provides the capabilities required for the installation and updates of DRMSIM 4 1 4 Graphstream Graphstream is a graph rendering toolkit developed by Dutot and al at the Le Havre University Graphstream is used in DRMSIM as a routing monitor It allows the user to observe the behaviour of the simulated routing scheme at each step of its execution 4 2 Object oriented model DRMSIM is an object oriented application designed as a set of independent soft ware components In particular it uses the DRMSIM discrete event simulation engine itself derived from Madhoc a mobile wireless network simulator and the DIPERGRAFS l
20. he info Prints info on the local cache e g number of results stored mascsim cache publish Publish the given result file to a cache This can be applied either to the local cache or to the web cache mascsim_cache_query Query a cache and indicate whether the given result number identifies a result that is stored in the cache This can be applied to both local and web cache mascsim campaign Performs a simulation campaign In practise it generates a set of independant simulation jobs and execute them according to a given execution strategy mascsim_compute_simulation Compute the simulation job described in the given file mascsim determine input filename Determines the file name that the given input should have This name should match the name of the file mascsim develop config Develops the input configuration This configura tion must defined a set of parameters than will be deployed mascsim result config extractor Restore the mascsim file s taht were used to compute the given result file s mascsim result info Prints information on the content of given result files mascsim result merger Compute the average of a set of given result files The result is stored in a special result file mascsim result plotter Plots the content of result files The output is a PDF file mascsim result values extractor Restore the mascsim file s that were used to compute the given result file s mascsim rmi lan scanner Scans the local
21. ibrary Many components take part in the workflow of the MASCSIM simulation engine a simulation campaign is a set of execution for individual simulation computations Once all individual simulation have been completed the simulation campaign computes statistically confident results out of all results collected The way individual simulation are executed is called an execution strategy We have developed three different strategies First the sequential execution takes the set of individual simulation jobs in a sequence and process them all in a row Second the multi thread strategy instantiates a predefined number of threads and uses them to execute the jobs in parallel This technique allows to take advantage of multi core workstations Last the distributed strategy which is still under tests use the RMI technology to dis tribute the individual simulation jobs across a set of cooperating workstations 4 3 Measurement model Taking measures along a discrete event simulation see Figure 4 3 can be per formed in a number of ways The most simple way consists in considering that t1 t2 tN vl v2 vN Figure 2 Measurement Approach all events will change the state of the system so as it is worthwhile to take new measures for all the defined metrics Nevertheless this approach fails to consider that a measure on the state of a system is not always obtainable in const
22. le will be provided These files contain the description of the starting simulation 8 2 1 Drawing a network alu network printer The command alu network printer reads the configuration files build the model but do not start the simulation Instead it produces a files containing the graphical rendering of the network before the simulation starts The network is rendered by the GraphViz graph drawing application 8 2 2 Running a simulation mascsim_compute_simulation The command alu simulator runs the simulation whose the model is described in the configuration files The simulation runs until its termination condition is satisfied 8 2 3 Running a simulation alu scan available topology generators The command alu scan available topology generators performs a full scan of the available classes according to the entries listed in the classpath a prints a list of the classes that can be used as topology generators 8 3 Results Once the simulation finished DRMSIM writes a number of alu metric files in the current directory Each of these files correspond to a given metric whose the value changed along the simulation A alu metric file contains a sequence of datevalue entries which describe the timestamped evolution of the related metric 8 4 Simulation campains cA 27 References 1 ES 10 11 K Calvert M Doar A Nexion and E Zegura Modeling internet topology IEEE Communications Magazin
23. nges periodically and in some cases when a change is detected in the topology of a network Compared to link state protocols which require a router to inform all the nodes in a network of topology changes distance vector routing protocols have less computational complexity and mes sage overhead The link state protocol is performed by every switching node in the network i e nodes that are prepared to forward packets in the Internet these are called routers The basic concept of link state routing is that every node constructs a map of the connectivity of the network in the form of a graph showing which nodes are connected to which other nodes Each node then independently cal culates the best next hop from it to every possible destination in the network The collection of best next hops forms the node s routing table 5 2 2 AS level or router level routing In the specific context of the Internet routing protocols can be classified ac cording to their usage domain wether they are use to route packets within AS Autonomous System or between AS 6 Simulation models Before making a large scale simulation model there are many issues that should be addressed and the most important are e How to generate a realistic Internet topology e How to simulate policy configuration e What kind of metrics to gather to facilitate reasoning about both control plane and data plane behavior e How to simulate protocol procedures for a ve
24. ngine as well as its measurement system 8 1 2 Dipergrafs The simulation network implementation relies on the Dipergrafs 4 framework Dipergrafs is a graph manipulation toolkit which support directed hypergraphs and a large set of algorithms dedicated to the navigations query etc Although it can be presented as a general purpose graph library Dipergrafs was developed with the objective to be adequate to network simulation 8 1 3 GraphStream GraphStream 3 is a java library developped at the University of Le Havre that handles and display dynamic directed graphs in a very simple way We use it to see what happens in the simulated routing protocol all along the simulation Because of computational cost inherent to graph drawing Graphstream can be used only when the number of vertices is small two hundred nodes constitute a practical limit 8 1 4 CoLibA CoLibA is a framework for the integration of Java based applications into the UNIX command line environment In particular it provides command line pars ing input output facilities deployment enhanced access to functionalities of the operating system etc 26 8 1 5 Ploticus cA 8 2 Invocation DRMSIM is meant to be invoked from the command line using the command alu simulator The simulator expects to find in the current directory a set of files whose the name extension is alu Each configuration file contains a set of key valuel value2 valueN entries Examp
25. ogy generator takes care of generating GLP topologies inria dipergrafs topology GLPTopol The name of this class must be given to the topology generator parameter key for the simulator In addition the following configuration must be provided as it is used for initializing the topology generator glp numberOflInitialNodes glp numberOfEdgesPerStep glp beta glp stepProbability 24 7 6 How to implement a new routing protocol The definition of a new routing protocol can be achieved by deriving the class inria alu routing AbstractRoutingAlgorithm Basically doing this con sists in defining e the set of outgoing links that will be used to forward an incoming message e the type of header messages need to embed e the reactive behavior of the protocol when a network link breaks The new routing protocol class finally need to be specified for simulation using the configuration key routing protocol 7 7 Is there a way to import a new topology CAIDA Inet DRMSIM defines a number of special topology generator whose the aim is to enable the import of topologies generated using external tools like Inet or available as description files such as the CAIDA maps In the specific cas 7 8 How to run DRMSim The most obvious way to run DRMSIM is to use the mascsim compute simulation command It takes as the only parameter it accepts the name of the configura tion file which describes the simulation 7 8 1 One to one
26. olicies are not part of the simulation targets only the loc RIB was implemented It is an aggregation of many routes taking into consideration the most important attributes the path and its destination network while leaving the flexibility for adding new ones according to simulation needs However the implemented BGP routing model contains all the steps needed to establish maintain retrieve or to close a BGP session Thus the majority of the events that may occur in the latter are handled Then we tried to simplify this model by reducing the number of events and assuming that a BGP session has only two possible states It is either IDLE or ESTABLISHED this only has an impact on the establishment of the sessions But after there is exactly no difference between the two models In term of performance the initial phase in every simulation will end faster if we consider similar scenarios Eventhough this simplification seemed to be a better solution it was still not enough to perform a simulation on a Internet like graph The idea then was to find another way to simplify more the model without creating a lack in the information provided by the simulation Noticing that there was a redondacy between the information stored in the RIB and the one stored in the forwarding table we decided to forward the packets using the RIB and then remove the forwarding table this made our model simpler and decreased the time and the amount of memory needed by a sim
27. r starts yes yes yes BGP connection Local administrator stops yes yes yes BGP connection Indication that Connec yes no no tRetryTimer has just ex pired Indication that HoldTimer yes yes yes has just expired Indication that KeepAlive yes yes yes Timer has just expired Indication that the connec yes no no tion is successfully set up Confirmation of the initia yes no no tion of a connection Receiving a connection fail yes no no ure indication Receiving a valid OPEN yes no no messsage Receiving a BGP message yes no no with invalide header Detecting an error in the re yes no no ceived OPEN message Receiving an invalide NOTI yes no no FICATION message Indication that a yes no no KEEPALIVE message is received Indication that a valide UP yes yes yes DATE message is received Indication that a invalide yes yes yes UPDATE message is re ceived Other BGP simulators and their limits BGP simulators are not rare Several projects have developed some abstract model of the protocol to check its properties For instance SSF OS BGP4 implementation of the BGP proto col on SSFNet simulator was developped to study BGP stability behavior in different network topologies when confronted to various events The simula tor contains a lot of features from the protocol specification and even includes implementation specific aspects However the model did not incorporate user 18 traffics effects on
28. ry large routing topology while making efficient use of ressources such as memory e How to identify meaningful and realistic failure update scenarios that re flects reality 13 6 1 Network model The network model of DRMSIM relies on the concept of directed hypergrah 4 which adequately matches the structure of actual interconnection networks More precisely directed hyper graphs are able to represent the whole set of peculiarities of practical networks including bus topologies asymetric links redundant connections In simple terms a directed hypergraph can be seen as a digraph on P E it is a directed graph that connect sets of nodes Since they define no constraints on the content of the set of nodes all connection configurations are possible 6 1 1 On memory consumption and computational performance DRMSIM graph model makes use coupled incidence lists Every graph object resp node and edge is assigned an integer ID which is used to access the set of incident objects resp edges and nodes Four incidence lists allow to get for a given node the sets of incoming and outgoing edges and for a given edge the sets of source and destination nodes This technic allows fast graph navigation since jumping from node to node consists in two array indexing Also it is efficient in memory consumption if the sets of IDs are dense 6 2 Routing protocols DRMSIM routing model allows unicast and multicast routing It defines a ro
29. s routing forwards messages to nodes whose the ID is the clos est to messages destination ID This routing strategy requires a structured addressing of nodes It is used in Distributed HashTables DHTs random routing upon receiving a message that is not target to itself the router forwards the message using a randomly selected outgoing link or to a randomly selected relay It is a localized protocol round robin routing links are used in a sequential order Although this form routing cannot be used for multi hop routing it can be used for load balancing purposes These protocols can be used to simulate denial of service no routing do not forward any message Previous hop router is not informed of the denial of service back to previous hop router routing messages are not altered and sent back to router at the previous hop which will have to select another next hop relay to achieve relay This is the same as no routing except that the previous hop router gets informed of the denial of service by receiving the message it just forwarded 6 2 2 BGP Ar he BGP protocol is used to communicate information about networks defined by IP address blocks between entities known as autonomous systems AS so that one part of the Internet knows how to reach another part The exchange of network information is done by setting up a communication session between bordering autonomous systems For reliable delivery of information a TCP based
30. sing Sun s JDK version 1 6 or OpenJDK e Ubuntu 9 04 e Fedora 10 e CentOS 5 4 We still have not tested it under Mac OS X 2 2 Procedure In order to install DRMSIM on your computer you need to run the following command wget http www sop inria fr mascotte projets DCR releases install drmsim sh bash install drmsim sh This will query the official website for the last version of the code and down load it Next it will copy the corresponding files into you home directory as follows 2 3 Files installed The installer creates 3 directories in your HOME if they do not yet exist HOME drmsim contains the jar files of the last version drmsim drmsim jars drmsim jars java4unix 2010 01 20 11 58 52 jar drmsim jars dipergrafs 2010 01 20 11 58 52 jar drmsim jars toools 2010 01 04 16 38 41 jar drmsim jars graphstream jar lhttp gcc gnu org java 2OpenJDK is the effort by Sun Microsystems to release a fully buildable Java Development Kit based completely on free and open source code drmsim jars alusim brite 2010 01 04 16 38 41 jar drmsim jars mascsim 2010 01 20 11 58 52 jar drmsim jars up 2010 01 04 16 38 41 jar drmsim jars inria drmsim 2010 01 20 11 58 52 jar drmsim current version txt HOME lib contains a set of symbolic links to the jar in HOME drmsim lib java4unix 2010 01 20 11 58 52 jar lib dipergrafs 2010 01 20 11 58 52 jar lib toools 2010 01 04 16 38 41 jar lib graphstream jar lib alusim
31. t generate any new link asymmetric create a new link in the opposite direction asymetric link This doubles the number of links in the network 6 4 2 Randomized set DRMSIM implements the following randomized topology generators tree creates a random tree 6 4 3 Tier 1 Tier 2 Tier T3 Adon the Internet nodes can be classified according to their structural role in the network Three categories have been identified e Tl nodes which belong to the international operators of the internet like AT amp T Sprint etc These nodes form Wide Area networks e T2 nodes which usually belong to national organizations like university networks or public access provider PCCW Global France Tlcom Tiscali etc These nodes form the Metropolitan Area networks e T3 nodes corresponds to nodes in Local Area networks end users The topology of the network depends on the type of nodes it connect The network of Tl1s is the heart of the internet It is very dense T nodes are connected to T1 ones throught very fast links Generally a T2 is connected to two T1 nodes for redundancy purposes In the vast majority of the cases a T3 node is connected to one single T2 one Another generator that implements models trying to imitate the structure of the Internet is Tiers 2 21 6 4 4 Inet Inet 7 currently at version 3 0 is an Autonomous System AS level Internet topology generator Inet cannot generate network consisting of less than 3037 no
32. te AS path change This leads to the following observation Protocol convergence implies data plane convergence but the converse is not true Hence for a prefix m 0 lt DP lt PCm where DP and PC are data plane and protocol where convergence times for the prefix m respectively e average downtime is also proposed as ametric to capture the notion of potential disruption of reachability to a destination 6 4 Topology generators Most generators produce random networks 11 The problem of creating a topology can be expressed as creating or deleting a number of edges so as the resulting graphs will have the required properties This is how DRMSIM model topology generators they are a function f g C where g is a graph that may already feature some edges and C is a set of contrainsts DRMSIM implements the topologies described in the following 20 assuming that all of these generators are composeable in the sense that they can be invoked in a sequence on the same graph 6 4 1 Standard set DRMSIM implements a number of basic topology generator which allow to create networks whose the nodes are connected by directed chain iterate on the set of nodes and connect every node towards its predecessor directed grid create a sequence of directed chains and connect every node in a given directed chain with the node at the same index in the predecessor directed chain symmetric makes all links to be symetric This does no
33. tore its entries the more scalable the routing system would be Shortest path routing schemes are incompressible i e for all nodes in for all graphs their lower bound equal their upper bound i e O n log n bits are required to store their RT entries Note when designing a routing scheme there is a fundamental trade off between the stretch of a routing scheme and the size of the RT it produces e Communication cost the dynamic nature of the routing protocol such as those currently deployed over the Internet allows each router to be kept up to date wrt to non local topological changes resulting from topological failures addition withdraw of routes and ASs The latter information is exchanged between routers by means of routing information updates each router timely distributes to its own peers following specific selection cri teria the routing information received from other peers Communication cost is defined as the number of routing updated messages that needs to be exchanged between routers to converge after a topology change Re cently showed that the communication cost lower bound for scale free graphs is at best linear up to logarithmic factors The number of routing updates may change according to the advertisement technique time or event driven e Computational complexity routing updates processing results in recalcu lation of the RT entries and can lead to convergence delay and instabilities but also processing
34. try this one has two values The name of this file is given to the command mascsim compute simulation 7 2 Is it possible to define my own topology 7 3 deal with the output The output of a simulation job is a binary file whose the extension if result The content of such file can be displayed using the command mascsim result info Since a result file contains a number of metric each of them defining a list of measure that have been taken along the simulation it is possible to get plots out of it The command mascsim result plotter takes a result file as input and generate a plot in the form of a PostScript file for every metric found 7 4 How can I add a new metric The addition of a new metric can be done by deriving the class inria mascsim metrics Metric Basically doing this implies to define the domain of the metric define if a given value is an acceptable value for the metric and to implement the way a new value for the metric can be obtained on the simulated system In most of the cases the user will want to define a metric that is numeric In this case there is the need for defing the unit for this metric A list of of pre defined units are available as static fields of the inria mascsim metrics Unit class If none of these units suit then new metric then the user must sub class inria mascsim metrics Unit and implement a new unit that meets its particular needs 7 5 How can I generate a GLP graph A specific topol
35. tter router_topology 6 5 Dynamics Dynamics consider maintenance operations on the network infrastructure as well as router failures End user mobility is not looked at A 6 6 Traffic model A 6 7 Time model ADRMSm is built atop a general purpose discrete event simulation engine In discrete event simulation the operation of a system is represented as a chronological sequence of events Each event occurs at an instant in time and marks a change of state in the system Stewart Robinson 2004 Simulation The practice of model development and use Wiley The simulation must keep track of the current simulation time Time hops because events are instantaneous the clock skips to the next event start time as the simulation proceeds An event is described by the time at which it occurs and the code that will be used to simulate that event This code may schedule new event that will occur in the future or cancel existing events 6 8 Granularity DRMSIM performs packet level simulations The basic event that are modelled within DRMSIM are e emission of a packet from one node to another node e reception of a packet from one node Routing protocols may individually define other events for their own needs 7 Frequently Asked Questions FAQs 7 1 What is the input of the simulator The input of DRMSIM is an ASCII configuration file The syntax of this This file is the following 23 an entry one value another en
36. ulation 16 Connect fails start connectretry timer connection Active close connection intiate a connection at Connection succeeds Y connectretry 1 TCP connexion error receive Notification timer expires stop connectretry timer start connectretry timer send open message Opensent Y E TCP connection closed wait receive open check remote AS fail send notification process capabilities succeed Y send keepalive close connection Openconfirm wait TCP connexion closed TCP connexion error receive Notification TCP connection closed receive Keepalive keepalive timer expires start hold timer send keepalive reset keepalive timer Established examine table version no updates required BGP table changes wait receive Keepalive reset hold timer receive Update Sa succeed hold timer expires send Update process Update fail send Notification keepalive timer expires send Keepalive reset keepalive timer 17 The BGP events implemented in every package BGP Events bgp full bgp simple bgp simpler Local administrato
37. uting protocol as a function L R route r l m where m is the incoming message r is the router the message m came from l is the link the router r used to forward the message m L is a set of outgoing links where the message will be sent R isa set of relay nodes to which the message will be sent In practise all nodes that are destination nodes of links in L will receive the message but only those in R are allowed to relay it 6 2 1 Standard set AADRMSM features a set of routing protocol that were developed in the context of the modeling testing of the simulation engine source routing the source locally computes the path the message will follow and embeds this path into the message header Every fowarding node will hence know where to route the message This is a centralized protocol 14 QoS based routing is a polymorph routing protocol that choose the actual routing strategy according to QoS information stored in the header of the message blind broadcasting routing upon receiving a message that is not target to itself the router forwards the message on all outgoing links It is a local ized protocol shortest path routing upon receiving a message that is not target to itself the router forwards the message on the links that belong to the shortest paths to the destinations This routing protocol should be used as a reference for the evaluation of other protocols It relies on global network information closest addres
Download Pdf Manuals
Related Search
Related Contents
要求水準書(2)運営・維持管理編 (PDF形式 : 342KB) VocoPro RECODE-1 User's Manual ControlPoint Protocol Manual MuB Drummer Dragon CONJUNTO DE COMUNICACIÓN DE OSCILLATING BELT GRINDING MACHINE SB Samsung GT-E1230 Priručnik za korisnike 1 Gigaset SX761 dsl, SX763 WLAN dsl 2 Indicações de segurança 4 Cateye CC-ST200 User's Information Guide CV / Ensemble de la production scientifique - Leat Copyright © All rights reserved.
Failed to retrieve file