Simulation d'un reseau mesh 802.11 sur ns2

Résolu
ck12 -  
fagno Messages postés 1 Statut Membre -
Bonjour,
est ce quelqu'un peut me donner le TCL script pour creer un reseau mesh 802.11 .
je veux tester les performances des protocoles de routage sur ce reseu mais j'en est besoin de taper le code
TCL j'en arrive pas.Si quelqu'un peut m'aider.Merci
Configuration: Windows XP
Internet Explorer 6.0

8 réponses

  1. UNLV
     
    Salut,
    as tu trouvé le code pour simuler un WMN? Je dois également bosser sur un WMN pour étudier les attaques DoS...
    0
  2. salut
     
    salut ! j'ai besoin d'utiliser le code , j'ai le meme projet que vous .
    vous pouver m'aider par envoyer le code sur mon addresse
    merci beaucoup
    0
  3. salut
     
    salut ! j'ai besoin d'utiliser le code , j'ai le meme projet que vous .
    vous pouver m'aider par envoyer le code sur mon addresse
    merci beaucoup
    0
    1. UNLV
       
      Content de voir que je ne suis pas tout seul! En fait je n'ai pas fini de faire le code. Mais je suis d'accord pour partager... Mais je n'ai pas votre mail !
      0
      1. mhmd ! > UNLV
         
        je sais pas comment je dois vous donner mon email ! mais tu peut me donner le code ici ! je le recu par mail !
        je peut ainsi vous donner mon code aussi ! c'est un reseau de 50 node ! qui traivail comme < client mesh > et j'ai fait la comparaison de 3 protocoles de routage ( AODV , le DSR , DSDV ) aisni que j'ai fait un awk script pour calculer l'efficasite ou bien le nombre de message recu / le nombre tranmit )

        je vous remercie de donner le code ici , ainsi que d'autre code pou tracer les graphes !!
        c'est urgent !
        et si tu veut je peut me donner mon code aussi !!
        bonne chance
        (exusez moi do mon francais , je parle l'anglais plus bon , ainsi que mon projet et en anglais )
        merci beaucoup !
        good luck :):)
        0
      2. nadadouaa > mhmd !
         
        slt mhmd moi aussi je travaille sur les wsns en ns2
        svp pouvez vous me donnez votre code de ns2 (pour le modifier et comprendre comment implémenter une protocole) pour débuter car je suis débutante en ns2 et sur le net je trouve que des exempes simples
        merci d'avance....
        0
      3. mohamadtawba > nadadouaa
         
        voila c est un partie du code que j'ai utilisé , avec un AODV + routing et un patch pour le voie sur IP..........ce code est uniquement pour l'adhoc , vous pouver l'utiliser pour grid topology ou multihop qvec passrelle avec fil vers un serveur

        pour plus d'info TAWBA @ Telecom-paristech . FR


        2. TCL SCRIPTS USED TO SIMULATE THE ARROW TOPOLOGY
        "The following Tcl script is used for one single simulation. Number of flows and number of hops should be varied in order to make other simulations using the arrow topology."
        "Also a lot of modifications should be done in order to simulate the Grid Topology."
        =============================================================
        # Define options
        =============================================================
        set opt(namfile) out.nam
        set opt(tracefile) out.tr
        set opt(x) 500; #x dimension of the topography
        set opt(y) 500; #y dimension of the topography
        set opt(wirelessNodes) 4; #mobile nodes
        set opt(wiredNodes) 2; #hosts and routers
        set opt(gatewayNodes) 1; #gateways

        set val(stop) 80.0; #simulation time
        set opt(aggregate) 8
        set opt(codec) "G.729" ;# G.711, G.723.1, G.729A, GSM.EFR, GSM.AMR,
        set opt(initialDelay) 0.060

        #============================================================
        MAC and PHYSICAL LAYER PARAMETERS
        #============================================================

        Mac/802_11 set dataRate_ 11Mb
        Mac/802_11 set dataRate_ 1Mb
        Mac/802_11 set SlotTime_ 0.000020
        Mac/802_11 set SIFS_ 0.000010
        Mac/802_11 set CWMax_ 1023
        Mac/802_11 set RTSThreshold_ 0

        Phy/WirelessPhy set Pt_ 0.03
        Phy/WirelessPhy set CPThresh_ 10.0
        Phy/WirelessPhy set CSThresh_ 8.29214e-13
        Phy/WirelessPhy set RXThresh_ 4.496e-12

        Phy/WirelessPhy set freq_ 2.472e+9
        Phy/WirelessPhy set L_ 1.0
        Phy/WirelessPhy set bandwidth_ 11Mb


        #---------------------------
        #Initialize Global Variables
        #---------------------------
        #create a simulator object
        set ns [new Simulator]
        $ns use-newtrace


        #----------------------------------------
        #Define The Hierachial Topology Structure
        #----------------------------------------
        $ns node-config -addressType hierarchical
        #Nbr of domains
        AddrParams set domain_num_ 2
        #Nbr of clusters (=subdomains) in each domain
        lappend clusterNbr 2 1
        AddrParams set cluster_num_ $clusterNbr
        #Nbr of nodes in each cluster
        lappend eilastlevel 1 1 6
        AddrParams set nodes_num_ $eilastlevel


        #create trace objects for ns and nam
        set nstrace [open $opt(tracefile) w]
        $ns trace-all $nstrace

        set namtrace [open $opt(namfile) w]
        $ns namtrace-all-wireless $namtrace $opt(x) $opt(y)


        #create a topology object and define topology (500mx500m)
        set topo [new Topography]
        $topo load_flatgrid $opt(x) $opt(y)


        #create God (General Operations Director)
        create-god [expr $opt(wirelessNodes)+$opt(gatewayNodes)]]

        #create wired nodes
        set temp {0.0.0 0.1.0}
        for {set i 0} {$i < $opt(wiredNodes)} {incr i} {
        set host($i) [$ns node [lindex $temp $i]]
        }

        #--------------------------------------
        #Configure for Gateway and Mobile Nodes
        #--------------------------------------
        #Use hierarchical addresses for GWs and MNs

        #configure for mobile nodes and gateways
        $ns node-config -adhocRouting AODV
        $ns node-config -llType LL
        $ns node-config -macType Mac/802_11
        $ns node-config -ifqType Queue/DropTail/PriQueue
        $ns node-config -ifqLen 50
        $ns node-config -antType Antenna/OmniAntenna
        $ns node-config -propType Propagation/TwoRayGround
        $ns node-config -phyType Phy/WirelessPhy
        $ns node-config -topoInstance $topo
        $ns node-config -channel [new Channel/WirelessChannel]
        $ns node-config -agentTrace ON
        $ns node-config -routerTrace ON
        $ns node-config -macTrace ON
        $ns node-config -movementTrace OFF

        #configure for gateways
        $ns node-config -wiredRouting ON
        #create gateway
        set gw(0) [$ns node 1.0.0]
        #set initial coordinates
        $gw(0) set X_ 300.0
        $gw(0) set Y_ 100.0
        $gw(0) set Z_ 0.0


        #configure for mobile nodes
        $ns node-config -wiredRouting OFF
        #create mobile nodes in the same domain as gw(0)
        set temp {1.0.1 1.0.2 1.0.3 1.0.4 1.0.5}
        for {set i 3} {$i < $opt(wirelessNodes)+3} {incr i} {
        set mobile($i) [$ns node [lindex $temp [expr $i-3]
        $mobile($i) base-station [AddrParams addr2id [$gw(0) node-addr]]
        }

        $mobile(3) set X_ 50
        $mobile(3) set Y_ 100
        $mobile(3) set Z_ 0.0

        $mobile(6) set X_ 125
        $mobile(6) set Y_ 100
        $mobile(6) set Z_ 0.0

        $mobile(5) set X_ 50
        $mobile(5) set Y_ 75
        $mobile(5) set Z_ 0.0

        $mobile(4) set X_ 50
        $mobile(4) set Y_ 175
        $mobile(4) set Z_ 0.0

        #create links between wired nodes and basestation node
        $ns duplex-link $host(0) $host(1) 5Mb 2ms DropTail
        $ns duplex-link $host(1) $gw(0) 5Mb 2ms DropTail

        $ns duplex-link-op $host(0) $host(1) orient left
        $ns duplex-link-op $host(1) $gw(0) orient left
        #---------------------
        #Setup Traffic
        #---------------------
        for { set j 3 } { $j < 6 } { incr j } {
        for { set i 0 } { $i < 9 } { incr i } {
        set source($i) [new VoipSource]
        $source($i) model one-to-one
        $ns at 0.0 "$source($i) start"


        set encoder($i) [new Application/VoipEncoder]
        $encoder($i) codec $opt(codec)
        $source($i) encoder $encoder($i)

        set decoder($i) [new Application/VoipDecoder]
        set decoder($i) [new Application/VoipDecoderStatic]
        set decoder($i) [new Application/VoipDecoderOptimal]
        $decoder($i) id $i
        $decoder($i) cell-id 0
        $decoder($i) emodel $opt(codec)


        #Only for static decoder
        #$decoder($i) buffer-size 20
        #$decoder($i) initial-delay $opt(initialDelay);

        set agtsrc($i) [new Agent/UDP]
        set agtdst($i) [new Agent/UDP]
        $agtsrc($i) set fid_ 1
        $ns attach-agent $mobile($j) $agtsrc($i)
        $ns attach-agent $host(0) $agtdst($i)
        $ns connect $agtsrc($i) $agtdst($i)
        $encoder($i) attach-agent $agtsrc($i)
        $decoder($i) attach-agent $agtdst($i)

        set aggregate($i) [new Application/VoipAggregate]
        $aggregate($i) nframes $opt(aggregate)
        $aggregate($i) attach-agent $agtsrc($i)
        $encoder($i) aggregate $aggregate($i)

        set header($i) [new Application/VoipHeader]
        $header($i) compression
        $header($i) attach-agent $agtsrc($i)
        $encoder($i) header $header($i)
        $aggregate($i) header $header($i)
        }
        }


        #-----------------------------------
        #Define Node Initial Position In Nam
        #-----------------------------------
        #20 defines the node size in nam, must adjust it according to your scenario
        #The function must be called after mobility model is defined
        for {set i 3} {$i < $opt(wirelessNodes)+3} {incr i} {
        $ns initial_node_pos $mobile($i) 20
        }

        #-----------------------------------
        #Tell Nodes When The Simulation Ends
        #-----------------------------------
        for {set i 3} {$i < $opt(wirelessNodes)+3} {incr i} {
        $ns at $val(stop).0 "$mobile($i) reset";
        }
        $ns at $val(stop).0 "$gw(0) reset";
        $ns at $val(stop).0001 "stop"
        $ns at $val(stop).0002 "puts \"NS EXITING...\" ; $ns halt"

        proc stop {} {
        global ns nstrace namtrace opt
        $ns flush-trace
        close $nstrace
        close $namtrace
        exec nam $opt(namfile) &
        exit 0
        }

        puts "Starting simulation..."
        $ns at 0.0 "$ns set-animation-rate 5ms"

        $ns run
        #============================================================
        0
      4. nadadouaa Messages postés 52 Statut Membre 7 > mohamadtawba
         
        merci mr mohamad tawba je vais essayer avec ce code
        merci boucoup......
        0
  4. malik
     
    Bonjour,

    Je travaile sur même sujet, si vous pouvez partagez le code avec moi aussi ?

    merci bcp mon addresse email est malik.mubashir_at_gmail(point)com

    cordialement,
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. UNLV
     
    voici le mien ça sera plus facile !
    xple65 at hotmail com
    0
  7. zizou
     
    bonjour
    je travaille sur les WMNs et j utilise NS-2
    j ai pas réussi a ecrire le code TCL de la topologie exacte des WMNs
    y a t il qq1 qui a réussi à le faire et qui est prêt à le partager avec moi
    mon mail zizou_inf at hotmail dot com
    merci d avance
    0
  8. mohamadtawba
     
    voila c est un partie du code que j'ai utilisé , avec un AODV + routing et un patch pour le voie sur IP..........ce code est uniquement pour l'adhoc , vous pouver l'utiliser pour grid topology ou multihop qvec passrelle avec fil vers un serveur

    2. TCL SCRIPTS USED TO SIMULATE THE ARROW TOPOLOGY
    "The following Tcl script is used for one single simulation. Number of flows and number of hops should be varied in order to make other simulations using the arrow topology."
    "Also a lot of modifications should be done in order to simulate the Grid Topology."
    =============================================================
    # Define options
    =============================================================
    set opt(namfile) out.nam
    set opt(tracefile) out.tr
    set opt(x) 500; #x dimension of the topography
    set opt(y) 500; #y dimension of the topography
    set opt(wirelessNodes) 4; #mobile nodes
    set opt(wiredNodes) 2; #hosts and routers
    set opt(gatewayNodes) 1; #gateways

    set val(stop) 80.0; #simulation time
    set opt(aggregate) 8
    set opt(codec) "G.729" ;# G.711, G.723.1, G.729A, GSM.EFR, GSM.AMR,
    set opt(initialDelay) 0.060

    #============================================================
    MAC and PHYSICAL LAYER PARAMETERS
    #============================================================

    Mac/802_11 set dataRate_ 11Mb
    Mac/802_11 set dataRate_ 1Mb
    Mac/802_11 set SlotTime_ 0.000020
    Mac/802_11 set SIFS_ 0.000010
    Mac/802_11 set CWMax_ 1023
    Mac/802_11 set RTSThreshold_ 0

    Phy/WirelessPhy set Pt_ 0.03
    Phy/WirelessPhy set CPThresh_ 10.0
    Phy/WirelessPhy set CSThresh_ 8.29214e-13
    Phy/WirelessPhy set RXThresh_ 4.496e-12

    Phy/WirelessPhy set freq_ 2.472e+9
    Phy/WirelessPhy set L_ 1.0
    Phy/WirelessPhy set bandwidth_ 11Mb

    #---------------------------
    #Initialize Global Variables
    #---------------------------
    #create a simulator object
    set ns [new Simulator]
    $ns use-newtrace

    #----------------------------------------
    #Define The Hierachial Topology Structure
    #----------------------------------------
    $ns node-config -addressType hierarchical
    #Nbr of domains
    AddrParams set domain_num_ 2
    #Nbr of clusters (=subdomains) in each domain
    lappend clusterNbr 2 1
    AddrParams set cluster_num_ $clusterNbr
    #Nbr of nodes in each cluster
    lappend eilastlevel 1 1 6
    AddrParams set nodes_num_ $eilastlevel

    #create trace objects for ns and nam
    set nstrace [open $opt(tracefile) w]
    $ns trace-all $nstrace

    set namtrace [open $opt(namfile) w]
    $ns namtrace-all-wireless $namtrace $opt(x) $opt(y)

    #create a topology object and define topology (500mx500m)
    set topo [new Topography]
    $topo load_flatgrid $opt(x) $opt(y)

    #create God (General Operations Director)
    create-god [expr $opt(wirelessNodes)+$opt(gatewayNodes)]]

    #create wired nodes
    set temp {0.0.0 0.1.0}
    for {set i 0} {$i < $opt(wiredNodes)} {incr i} {
    set host($i) [$ns node [lindex $temp $i]]
    }

    #--------------------------------------
    #Configure for Gateway and Mobile Nodes
    #--------------------------------------
    #Use hierarchical addresses for GWs and MNs

    #configure for mobile nodes and gateways
    $ns node-config -adhocRouting AODV
    $ns node-config -llType LL
    $ns node-config -macType Mac/802_11
    $ns node-config -ifqType Queue/DropTail/PriQueue
    $ns node-config -ifqLen 50
    $ns node-config -antType Antenna/OmniAntenna
    $ns node-config -propType Propagation/TwoRayGround
    $ns node-config -phyType Phy/WirelessPhy
    $ns node-config -topoInstance $topo
    $ns node-config -channel [new Channel/WirelessChannel]
    $ns node-config -agentTrace ON
    $ns node-config -routerTrace ON
    $ns node-config -macTrace ON
    $ns node-config -movementTrace OFF

    #configure for gateways
    $ns node-config -wiredRouting ON
    #create gateway
    set gw(0) [$ns node 1.0.0]
    #set initial coordinates
    $gw(0) set X_ 300.0
    $gw(0) set Y_ 100.0
    $gw(0) set Z_ 0.0

    #configure for mobile nodes
    $ns node-config -wiredRouting OFF
    #create mobile nodes in the same domain as gw(0)
    set temp {1.0.1 1.0.2 1.0.3 1.0.4 1.0.5}
    for {set i 3} {$i < $opt(wirelessNodes)+3} {incr i} {
    set mobile($i) [$ns node [lindex $temp [expr $i-3]
    $mobile($i) base-station [AddrParams addr2id [$gw(0) node-addr]]
    }

    $mobile(3) set X_ 50
    $mobile(3) set Y_ 100
    $mobile(3) set Z_ 0.0

    $mobile(6) set X_ 125
    $mobile(6) set Y_ 100
    $mobile(6) set Z_ 0.0

    $mobile(5) set X_ 50
    $mobile(5) set Y_ 75
    $mobile(5) set Z_ 0.0

    $mobile(4) set X_ 50
    $mobile(4) set Y_ 175
    $mobile(4) set Z_ 0.0

    #create links between wired nodes and basestation node
    $ns duplex-link $host(0) $host(1) 5Mb 2ms DropTail
    $ns duplex-link $host(1) $gw(0) 5Mb 2ms DropTail

    $ns duplex-link-op $host(0) $host(1) orient left
    $ns duplex-link-op $host(1) $gw(0) orient left
    #---------------------
    #Setup Traffic
    #---------------------
    for { set j 3 } { $j < 6 } { incr j } {
    for { set i 0 } { $i < 9 } { incr i } {
    set source($i) [new VoipSource]
    $source($i) model one-to-one
    $ns at 0.0 "$source($i) start"

    set encoder($i) [new Application/VoipEncoder]
    $encoder($i) codec $opt(codec)
    $source($i) encoder $encoder($i)

    set decoder($i) [new Application/VoipDecoder]
    set decoder($i) [new Application/VoipDecoderStatic]
    set decoder($i) [new Application/VoipDecoderOptimal]
    $decoder($i) id $i
    $decoder($i) cell-id 0
    $decoder($i) emodel $opt(codec)

    #Only for static decoder
    #$decoder($i) buffer-size 20
    #$decoder($i) initial-delay $opt(initialDelay);

    set agtsrc($i) [new Agent/UDP]
    set agtdst($i) [new Agent/UDP]
    $agtsrc($i) set fid_ 1
    $ns attach-agent $mobile($j) $agtsrc($i)
    $ns attach-agent $host(0) $agtdst($i)
    $ns connect $agtsrc($i) $agtdst($i)
    $encoder($i) attach-agent $agtsrc($i)
    $decoder($i) attach-agent $agtdst($i)

    set aggregate($i) [new Application/VoipAggregate]
    $aggregate($i) nframes $opt(aggregate)
    $aggregate($i) attach-agent $agtsrc($i)
    $encoder($i) aggregate $aggregate($i)

    set header($i) [new Application/VoipHeader]
    $header($i) compression
    $header($i) attach-agent $agtsrc($i)
    $encoder($i) header $header($i)
    $aggregate($i) header $header($i)
    }
    }

    #-----------------------------------
    #Define Node Initial Position In Nam
    #-----------------------------------
    #20 defines the node size in nam, must adjust it according to your scenario
    #The function must be called after mobility model is defined
    for {set i 3} {$i < $opt(wirelessNodes)+3} {incr i} {
    $ns initial_node_pos $mobile($i) 20
    }

    #-----------------------------------
    #Tell Nodes When The Simulation Ends
    #-----------------------------------
    for {set i 3} {$i < $opt(wirelessNodes)+3} {incr i} {
    $ns at $val(stop).0 "$mobile($i) reset";
    }
    $ns at $val(stop).0 "$gw(0) reset";
    $ns at $val(stop).0001 "stop"
    $ns at $val(stop).0002 "puts \"NS EXITING...\" ; $ns halt"

    proc stop {} {
    global ns nstrace namtrace opt
    $ns flush-trace
    close $nstrace
    close $namtrace
    exec nam $opt(namfile) &
    exit 0
    }

    puts "Starting simulation..."
    $ns at 0.0 "$ns set-animation-rate 5ms"

    $ns run
    #============================================================
    0
    1. chemstelecom Messages postés 62 Statut Membre 5
       
      salut,
      Est ce que l'un entre vous a un script WMN svp ? c'est urgent !
      merci
      0
  9. fagno Messages postés 1 Statut Membre
     
    Bjr,

    Je dois simuler le protocole AODV et OLSR sous ns2 pour un réseau maillés sans fil avec: 5 Mesh Router et 20 mesh client (paramètre à evaluer: Le délai moyen point -à-point, Délai d'établissement d'une route,
    Taux de paquets livrés avec succès, Trafic de contrôle), aider moi SVP, je dois rendre mon rapport cette semaine.

    Merci d'avance.
    0