Mobiwan ns 2 simulation platform to study mobility support in ipv6 wide area networks
Download
1 / 44

MobiWan NS-2 Simulation Platform to study mobility support in IPv6 Wide-Area Networks - PowerPoint PPT Presentation


  • 231 Views
  • Uploaded on

MobiWan NS-2 Simulation Platform to study mobility support in IPv6 Wide-Area Networks. Thierry Ernst MOTOROLA Labs and INRIA Rhône-Alpes http://www.inrialpes.fr/planete/mobiwan. Table of contents. Objective Existing NS-2 Presentation Missing Pieces in NS-2

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'MobiWan NS-2 Simulation Platform to study mobility support in IPv6 Wide-Area Networks' - wray


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Mobiwan ns 2 simulation platform to study mobility support in ipv6 wide area networks l.jpg

MobiWanNS-2 Simulation Platform to study mobility support in IPv6Wide-Area Networks

Thierry Ernst

MOTOROLA Labs

and INRIA Rhône-Alpes

http://www.inrialpes.fr/planete/mobiwan


Table of contents l.jpg
Table of contents

  • Objective

  • Existing NS-2 Presentation

  • Missing Pieces in NS-2

  • New NS-2 Features for wide-area mobility and IPv6

    • Topology Translation and Manipulation

    • Inter-site Mobility

    • Mobile IPv6

    • Scenario Configuration

  • Conclusion


Objective l.jpg
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 mobility (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 another

    • IPv6 capabilities

    • Mobile IPv6 and Hierarchical Mobile IPv6

    • Multicast capabilities at both wired and wireless nodes


Objective mobility in a wan l.jpg
Objective: Mobility in a WAN

Global Mobility

(between sites or domains

Local Mobiliy

(within a site)


Existing ns 2 presentation l.jpg
Existing NS-2 Presentation

  • NS-2 (Network Simulator) from University of California 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 presentation features l.jpg
Existing NS-2 Presentation: 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 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 features7 l.jpg
    Existing NS-2 Presentation: Features

    • Applications:

      • CBR, HTML, TELNET, FTP, ...

    • Transport Protocols

      • UDP, 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 l.jpg
    Existing NS-2 Presentation: Using NS

    • Simulation configuration 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

    • Results exploitation

      • AWK - Perl - Gnuplot scripts


    Existing ns 2 presentation nodes l.jpg
    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 Channels

    • Wired topologies:

      • Class Node

        • wired nodes 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 l.jpg
    Existing NS-2 Presentation: Mobile Nodes

    • Wireless topologies:

      • Class MobileNode:

        • wireless Nodes:

          • Mobile 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

        • delay = f(distance between sender/receiver + alpha)




    Existing ns 2 presentation local mobility l.jpg
    Existing NS-2 Presentation: Local Mobility

    • Code contributed by CMU

    • Mobility within a limited geographical area

      • Geographical area represented by a Grid

      • Channel = wireless 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 position and future destination

      • Random Movement:

        • chose randomly new position and speed


    Existing ns 2 presentation local mobility14 l.jpg
    Existing NS-2 Presentation: Local Mobility

    • Mobility within a geographical grid


    Existing ns 2 presentation addressing l.jpg
    Existing NS-2 Presentation: Addressing

    • Hierarchical addresses:

    • 3 layers:

      • Domain

      • Cluster

      • Node

    • Hierarchy decreases routing table size

    • Each 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 l.jpg
    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 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 presenation from gt itm to ns l.jpg
    Existing NS-2 Presenation: from GT-ITM to NS

    • Translators sgb2ns - sgb2hierns

    • 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 itm19 l.jpg
    Existing NS-2 Presentation: GT-ITM

    • Parameters are:

      • Type of model

      • Number of 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)


    Missing pieces in ns 2 l.jpg
    Missing 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 MobileNode class and hierarchical addressing

    • Using Multicast and Wireless simultaneously


    Missing pieces large topologies manipulation l.jpg
    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 translator

    • We need 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



    New features overview l.jpg
    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 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 1 simulation configuration l.jpg
    New Features - 1: Simulation Configuration

    • Topology creation: TOPOGEN

      • New translator 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 addressing 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 l.jpg
    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 Router / 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 l.jpg
    New Features - 1: TOPOMAN Library

    • A library of OTcl procedures to create, query, 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 node creation started, not possible to add new nodes


    New features 1 topoman library28 l.jpg
    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, 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 l.jpg
    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 constraints

        • 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_num_

        • XXX: would be better to have something like level_[i]

      • Modification in route.cc and route.h



    New features 1 topoman library31 l.jpg
    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 hierarchy (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

      • First 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: <Sub-Domain prefix> .<Site id = 0>.<Subnet = 0>.0 e.g. 10.0.0.0

        • BR / SR / BS: <Sub-Domain prefix>.<Site id # 0>.<Subnet id>.<0>: eg 10.1.0.0

        • Mobile Nodes: <Sub-Domain prefix>.<Site id # 0>.<Subnet id>.<id # 0> eg:10.1.1.23


  • New features 1 scen tools library l.jpg
    New Features - 1: SCEN TOOLS 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 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 library33 l.jpg
    New Features - 1: SCEN TOOLS Library

    • Scenario procedures (e.g.):

      • Visited Sites:

        • select X sites in the topology

        • every <interval> seconds, 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 Home Agent

      • Multicast

        • select BR(s) for each site

        • choose one of the BRs as the Rendez-Vous Point


    New features 1 topology manipulation l.jpg
    New Features - 1: Topology Manipulation

    • How to use TOPOMAN:

      • Define your topology:

        • global TOPOM

        • if you want3 levels of hierarchy (default) and you are using mobile node(s):

          set TOPOM [new Topoman ALL]

        • if you are 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 route.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 manipulation35 l.jpg
    New Features - 1: Topology Manipulation

    • Configure your simulation:

      • no need to effectively create nodes

      • no need to call $ns_ run

    • display the topology 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:

    • Call $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 l.jpg
    New Features - 2: Extensions for WAN mobility

    • NS-2 Extensions for WAN mobility 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. from channel to channel)

      • Misc extensions:

        • multicast support for wirless nodes


    New features 2 ipv6 l.jpg
    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 Solicitations

    • 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 l.jpg
    New Features - 2: Mobile IPv6

    • Implemented 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

      • Encapsulation from the HA

      • Forwarding from the previous CoA to the new one

    • Missing Pieces

      • Binding Requests management

      • BU Piggybacking




    New features 2 inter site mobility l.jpg
    New Features - 2: Inter-Site Mobility

    • Each site is associated with a “channel object”

      • 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 channel 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 scheduled, it still will

    • Scenario determines time at which the Mobile Node may move from one site to another.



    Conclusion l.jpg
    Conclusion

    • NS-2:

      • Widely used

      • Constantly evolving

    • Our NS-2 Enhancements:

      • developed in the spirit of re-usability for other projects involving mobility support

      • 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


    Thank you l.jpg
    Thank you

    • Fore more information:

      • Thierry Ernst

      • http://www.inrialpes.fr/planete/mobiwan