>> Électroniques Technologie >  >> téléphones >> Stations de conférence

Ns2 Simuler un réseau local Ethernet à l'aide de n nœuds et définir plusieurs fenêtres de congestion de tracé de trafic pour différentes destinations sources ?

```

// Script ns-2 pour simuler un LAN Ethernet avec n nœuds.

// La fenêtre de congestion du tracé de trafic sera définie pour différents

// paires source-destination.

// Importez les packages nécessaires.

importer ns_lib ;

importer tcl_lib ;

// Créer un réseau.

définissez sim_time sur 100 s ; // Temps de simulation en secondes

définir num_nodes 10 ; // Nombre de nœuds dans le réseau

définir ifq 1000 ; // Taille de la file d'attente de l'interface en paquets

pour {set i 0} {$i <$num_nodes} {incr i} {

# Créez un nœud.

set node($i) [nouvelle source Agent/TCP] ;

# Attachez le nœud au réseau.

$ns attach-agent $node($i)

# Définir l'adresse MAC du nœud.

$node($i) définit MAC

# Définir l'adresse IP du nœud.

$node($i) set addr_

# Définir la taille de la fenêtre de congestion du nœud.

$node($i) défini cwnd_ 20

}

Configurer les sources et les récepteurs de trafic.

pour {set i 0} {$i <$num_nodes} {incr i} {

# Définir le trafic source pour chaque nœud.

$node($i) définit traffic_type CBR

$node($i) définit start_time_ 0s

$node($i) définit cbr_rate_ 100 Kbps

$node($i) définit rtt_ 50 ms

# Définissez l'adresse IP de destination pour chaque source.

$node($i) set packetDest_ 10.$i.2.1

# Définir le trafic récepteur pour chaque nœud.

définir le récepteur ($ i) [nouvel agent/Null]

$évier($i) définir l'adresse_ 10.$i.2.1

$ns attach-agent $sink($i)

}

Créez le commutateur Ethernet.

régler le commutateur [nouveau CMUcsma]

Attachez le commutateur aux nœuds.

pour {set i 0} {$i <$num_nodes} {incr i} {

$ns connecter $node($i) $switch

}

Exécutez la simulation.

$ns à 0,1 "$node(0) commence à envoyer"

$ns à la version 1.1 "$node(1) commence à envoyer"

$ns à la version 2.1 "$node(2) commence à envoyer"

$ns à la version 3.1 "$node(3) commence à envoyer"

$ns à la version 4.1 "$node(4) commence à envoyer"

$ns à 5.1 "$node(5) commence à envoyer"

$ns à 6.1 "$node(6) commence à envoyer"

$ns à la version 7.1 "$node(7) commence à envoyer"

$ns à la version 8.1 "$node(8) commence à envoyer"

$ns à la version 9.1 "$node(9) commence à envoyer"

$ns courir

Tracer les résultats

définir le tracé [nouveau Plot/Xgraph -largeur 640 -hauteur 480]

Sélectionnez le style de tracé.

$plot définit les barres de style

Définissez les étiquettes des axes X et Y.

$plot set xlabel "Heure(s)"

$plot set ylabel "Taille de la fenêtre de congestion"

Ajoutez des traces pour différents nœuds pour tracer la fenêtre de congestion.

pour {set i 0} {$i <$num_nodes} {incr i} {

$plot ajouter $node($i) cwnd_

}

Définissez la légende du tracé.

pour {set i 0} {$i <$num_nodes} {incr i} {

$plot ajouter une légende $node($i)

}

Définissez l'échelle automatique pour le tracé.

$plot définir la mise à l'échelle automatique

Enregistrez le tracé sous forme d'image PNG.

$plot enregistrer le graphique.png

```

Stations de conférence