1、MobiWan NS-2 Simulation Platform to study mobility support in IPv6 Wide-Area Networks,Thierry Ernst MOTOROLA Labs and INRIA Rhne-Alpeshttp:/www.inrialpes.fr/planete/mobiwan,Table of contents,Objective Existing NS-2 Presentation Missing Pieces in NS-2 New NS-2 Features for wide-area mobility and IPv6
2、 Topology Translation and Manipulation Inter-site Mobility Mobile IPv6 Scenario Configuration Conclusion,Objective,Developing a simulation platform to study mobility support in Wide-Area IPv6 Networks Necessary features: Playing with large topologies: Easy configuration and manipulation Local-area m
3、obility (local mobility) mobility between adjacent cells of the same site geographical movement Access Routers are topologically close from one another Wide-area mobility (global mobility) mobility between sites and domains topological movement Access Routers are topologically distant from one anoth
4、er IPv6 capabilities Mobile IPv6 and Hierarchical Mobile IPv6 Multicast capabilities at both wired and wireless nodes,Objective: Mobility in a WAN,Local Mobiliy (within a site),Global Mobility (between sites or domains,Existing NS-2 Presentation,NS-2 (Network Simulator) from University of California
5、 at Berkeley Discrete time event simulator Object Oriented Developed under the VINT project Sponsored by Xerox Park, LBNL, USC/LSL http:/www.isi.edu/nsnam/ns/index.html Last release: NS-2.1b7 fall 2000 NS-2.1b8 currently under development Code developed in C+ and OTcl (object TCL),Existing NS-2 Pres
6、entation: Features,Code: C+ and Otcl Otcl - Object Tcl interpreted language does not require compilation Each Class is mirrored both in C+ and OTCL Object variables may alternatively be accessed from C+ or OTCL Procedure calls between C+ and OTcl OTCLmainly used: to aggregate objects to form various
7、 types of nodes to access objects from the interpreter to configure simulations C+ mainly used to create base classes when more processing is required (routing table computation, mobility movement, ),Existing NS-2 Presentation: Features,Applications: CBR, HTML, TELNET, FTP, . Transport Protocols UDP
8、, TCP, Routing Protocols Unicast (static / dynamic) Multicast (DVMRP, CBT) Queue Models Mobility Local Mobility within a geographical area Ad-Hoc routing protocols IEEE MAC 802.11 Satellite constellations Mobile IPv4 (without routing optimization),Existing NS-2 Presentation: Using NS,Simulation conf
9、iguration via a TCL script Create the network topology Simulation configuration Add protocols Create traffic Postpone events Run NS: Populate the neighborhood information for each node Static routing table is computed for each cluster Populate routing table for each node Schedule events Trace output
10、 Results exploitation AWK - Perl - Gnuplot scripts,Existing NS-2 Presentation: Nodes,Network topology = a collection of nodes and links Wired nodes (class Node) are connected by means of Links Wireless nodes (class MobileNode) are connected by means of ChannelsWired topologies: Class Node wired node
11、s only composed by a set of objects: Classifiers (static routing, port demux, etc) Agents ( i.e. objects simulating protocols TCP, UDP, ) Class Link: composed by a set of objects: Queue Model TTL Trace,Existing NS-2 Presentation: Mobile Nodes,Wireless topologies: Class MobileNode: wireless Nodes: Mo
12、bile Nodes Base Stations link Mobile Nodes to wired the wired topology = Mobile Nodes with speed=0 composed by a set of objects inherited from Class Node + Ad-Hoc routing protocol + Link Layer + Queue + MAC + ARP Class Channel wireless broadcast medium (i.e. the air interface) propagation model dela
13、y = f(distance between sender/receiver + alpha),Existing NS-2 Presentation: Class MobileNode,Existing NS-2 Presentation: Mobile IPv4,Existing NS-2 Presentation: Local Mobility,Code contributed by CMU Mobility within a limited geographical area Geographical area represented by a Grid Channel = wirele
14、ss broadcast medium (i.e. the air interface) in the Grid Channel has a propagation model delay = f(distance between sender/receiver + alpha)Mobility Model: Mobile Node is moving within the grid Mobile Node has a speed on moves towards a specified co-ordinate Explicit Movement: Specifies starting pos
15、ition and future destination Random Movement: chose randomly new position and speed,Existing NS-2 Presentation: Local Mobility,Mobility within a geographical grid,Existing NS-2 Presentation: Addressing,Hierarchical addresses: 3 layers: Domain Cluster Node Hierarchy decreases routing table size Each
16、node has one entry per domain one entry per cluster in the same domain one entry per node in the same cluster,Existing NS-2 Presentation: GT-ITM,Topologies may be generated using GT-ITM designed to model realistic Internet topologies produces graphs the reflect locality and hierarchy presents in the
17、 Internet uses the Transit-Stub model output is a graph in SGB format Topics: arbitrary sizes ( from tens to thousands ) 2 kind of nodes: Transit Nodes backbone nodes Stub Node site routers,Existing NS-2 Presentation: GT-ITM,Existing NS-2 Presenation: from GT-ITM to NS,Translators sgb2ns - sgb2hiern
18、s Input Graph in SGB format Output: For each node, a NS OTCL call to create the node, and its address Addresses with 1 level of hierarchy for sgb2ns Addresses with 3 levels of hierarchy for sgbhierns Links between node numbers,Existing NS-2 Presentation: GT-ITM,Parameters are: Type of model Number o
19、f transit domains Number of transit nodes / transit domain Number of stub domains / transit nodes Number of stub nodes per stub domain Probability for Transit nodes in same domain to be neighbors Probability for Stub nodes in same stub to be connected Stub domains may be connected (default is not),M
20、issing Pieces in NS-2,Easy way to configure large topologies Wide-area mobility Grid = limited geographical area how to expand a geographical area to the size of a WAN ? how to determine coordinates in a WAN ? Mobile Node cannot moves from one grid to another. IPv6 Mobile IPv6 HMIPv6 Using MobileNod
21、e class and hierarchical addressing Using Multicast and Wireless simultaneously,Missing Pieces : Large Topologies Manipulation,Existing translator from GT-ITM to NS is not suitable to manipulate large topologies The function of the node in the topology is lost by the existing sgb2ns translatorWe nee
22、d to differentiate nodes according to their function in the topology: Transit Nodes are backbone routers Stub Nodes are routers within a site Nodes connecting stubs to a transit nodes are Border Routers Nodes connecting a wireless nodes to the wired network are Base Stations,Missing Pieces: Large To
23、pologies Manipulation,New Features: Overview,Our enhancements are implemented in NS-2.1b6 2 main enhancements: 1. Simulation Configuration for Large Topologies: TOPOGEN - topology generation TOPOMAN - topology manipulation SCEN TOOLS - simulation and topology configuration NS Addressing: 4 levels of
24、 hierarchy 2. NS-2 Extensions for WAN mobility: Global Mobility: Mobility between sites Mobility management protocols: Mobile IPv6 / HMIPv6 IPv6 Features Multicast Extensions for wireless nodes,New Features: Overview,New Features - 1: Simulation Configuration,Topology creation: TOPOGEN New translato
25、r from GT-ITM to NS format Output = TOPOMAN calls Topology manipulation: TOPOMAN OTcl library to create, query and manipulate topologies of any size Simulation scenario configuration: SCEN TOOLS Procedures to configure simulation scenario by querying TOPOMAN Misc: IP addressing: NS hierarchical addr
26、essing ported from 3 levels to 4 levels Various TCL and shell scripts to configure simulations: HA, BS, CN selection mobility scenario,New Features - 1: TOPOGEN Translator,Translator from GT-ITM to TOPOMAN calls Input Graph in SGB format Output: For each node, its id, site number, type Transit Route
27、r / Border Router / Site Router / Base Station We can also specify how many BSs we want in each site Translator computes their position within a grid according to grid size and # ( BS / site ) Links between node numbers,New Features - 1: TOPOMAN Library,A library of OTcl procedures to create, query,
28、 manipulate topologies of any size Before or after effective NS node creation Computation of routing table takes a while for large topologies we may want to display details about the topology before effectively running NS Node capabilities need to be specified before node creation Once effective NS
29、node creation started, not possible to add new nodes,New Features - 1: TOPOMAN Library,Input = TOPOMAN procedure calls (generated by TOPOGEN or by hand) that create: Administrative domains Sites nodes of specified type Output: Array recording information for each node: Type of node (TN, BR, SR, BS,
30、MN, more if needed) Node id Node IP address (according to its position in the topology) Misc Arrays to retrieve domain, site, etc, the node belongs to,New Features - 1: NS Addressing,Current NS addressing = 3 levels maximum Addressing need to be configured in a very precise way to avoid loops hard c
31、onstraints no precise documentation available :-( 3 levels: is not enough for large topologies still consume too much memory We have ported NS addressing from 3 levels to 4 levels: A few HACKs in the OTCL scripts (mainly in ns-address.tcl) existing: domain_num_ + cluster_num + node_num we add: last_
32、num_ XXX: would be better to have something like level_i Modification in route.cc and route.h,New Features - 1: NS Addressing,New Features - 1: TOPOMAN Library,TOPOMAN alternatively produces NS addresses with: 3 levels of hierarchy (NS binary compiled with the existing route.cc) 4 levels of hierarch
33、y (NS binary compiled with the enhanced route.cc)With 4 levels of hierarchy: was technically impossible to give the same NS prefix to TNs in same domain: First level identifies the sub-domain within the topology A Domain comprise several sub-domain A Sub-domain always corresponds to a Transit Node F
34、irst level = sub-domain = sub-domain prefix Second level = site within the sub-domain = site prefix Third level = subnet within site = subnet prefix Forth level = host within subnet Transit Nodes: .0 e.g. 10.0.0.0 BR / SR / BS: .: eg 10.1.0.0 Mobile Nodes: . eg:10.1.1.23,New Features - 1: SCEN TOOLS
35、 Library,Library of procedures new features may be added at will Uses TOPOMAN Library Scenario specifies where do we want to attach Base Stations time at which site / base station is visited by the mobile node; which are the correspondent nodes; where are the Base Stations attached to; time at which
36、 correspondent nodes starts / stops; Scenarios may be specified alternatively: in a file loaded in NS; by a procedure call in the simulation configuration script (preferred form),New Features - 1: SCEN TOOLS Library,Scenario procedures (e.g.): Visited Sites: select X sites in the topology every seco
37、nds, set Mobile Node to site Xi Correspondent Nodes: select X Site Routes in site 1 enable Mobile IPv6 at each Xi and start traffic at time t Base Stations: select 3 Site Routers from each site attach 1 BS to each selected Site Router Mobile Node: select 1BS station in site 10 and uses it as the Hom
38、e Agent Multicast select BR(s) for each site choose one of the BRs as the Rendez-Vous Point,New Features - 1: Topology Manipulation,How to use TOPOMAN: Define your topology: global TOPOM if you want 3 levels of hierarchy (default) and you are using mobile node(s): set TOPOM new Topoman ALL if you ar
39、e using topologies with wired nodes only : set TOPOM new Topoman WIREDONLY if you want to run very large topologies with mobile node(s) : set TOPOM new Topoman ENHANCED 4 levels instead of 3 saves a lot of memory ( in order to use the ENHANCED mode, you also need to compile NS with an updated file r
40、oute.cc - you can not use 4 levels and 3 levels with the same NS binary) load the topology with TOPOMAN calls (from file produced by TOPOGEN or by hand),New Features - 1: Topology Manipulation,Configure your simulation: no need to effectively create nodes no need to call $ns_ run display the topolog
41、y and various information Number of domains / sites / etc retrieve information about the topology queried by node_id / prefix / type of node / site id . to retrieve all BRs, all Routers in site 10, . Configure your simulation scenario: add 3 BSs in each site add a CN to each BR Launch simulation: Ca
42、ll $TOPOM tm_create_topo which: configures NS addressing automatically (AddrParams) creates NS node objects add necessary capabilities depending on type of node e.g.: BS, CN and MN are running Mobile IPv6 creates links $ns run,New Features - 2: Extensions for WAN mobility,NS-2 Extensions for WAN mob
43、ility in IPv6: IPv6 Extensions Mobility management protocols: Mobile IPv6 (Hierarchical Mobile IPv6 - coming soon) OTcl procedures to configure Class Node and Class Mobile Node Inter-site mobility (global mobility): Each site is associated with one channel Ability to move from site to site (i.e. fro
44、m channel to channel) Misc extensions: multicast support for wirless nodes,New Features - 2: IPv6,Just added necessary features in order for MIPv6 to work IPv6 Extensions headers (simplified) Routing Header Neighbour discovery (simplified) only between BSs and MNs Router Advertisements Router Solici
45、tations Routing Header processing at all nodes Encapsulation / Decapsulation code contributed by SUN we just added:the Encapsulation object at all nodes Decapsulation at the mobile node (one line to change to add it at all nodes Much more to add: any volunteer ?,New Features - 2: Mobile IPv6,Impleme
46、nted as a set of C+ / OTCL Agents Base Class = MIPv6 Derived Classes: BS / HA / CN / MN Easy to add new derived classes (e.g.: HMIP MAP) OTCL configuration procedures Features: Binding Updates and Binding Acknowledgements Route Optimization Automatic detection of CNs Routing Header from the CN Encap
47、sulation from the HA Forwarding from the previous CoA to the new one Missing Pieces Binding Requests management BU Piggybacking,New Features - 2: MIPv6 for BS / HA and MN,New Features - 2: MIPv6 for wired nodes (CN),New Features - 2: Inter-Site Mobility,Each site is associated with a “channel object
48、” All sites have the same geographical size BSs in the same site listen and speak on the same channel BSs have (x,y) co-ordinates within the site boundaries MN may continue to move within the site using NS-2 existing Mobility Model developed by CMU Moving from one site to another: MN changes the cha
49、nnel it is listening to netif_ points to the current channel does not require the MN to change its geographical coordinates The MN enters in a new site with the same coordinates it has in the previous site This does not interact with NS-2 existing mobility model: if a geographical movement is schedu
50、led, it still will Scenario determines time at which the Mobile Node may move from one site to another.,New Features - 2: Inter-site mobility,Conclusion,NS-2: Widely used Constantly evolving Our NS-2 Enhancements: developed in the spirit of re-usability for other projects involving mobility support
51、at time of start-up of this project, NS-2.1b3 we did our best to follow NS-2 evolution our enhancements are working on NS-2.1b6 NS team currently developing NS-2.1b8 Hope that our code will be incorporated in the NS-2.1b8 distribution My wish is that developed features are going to be used by others Took a lot of time ; still much more to do many bugs and XXX in the code,