Ns2 Simulare una LAN Ethernet utilizzando n nodi e impostare più finestre di congestione del grafico del traffico per diverse destinazioni di origine?
// script ns-2 per simulare una LAN Ethernet con n nodi.
// La finestra di congestione del grafico del traffico verrà impostata in modo diverso
// coppie sorgente-destinazione.
// Importa i pacchetti necessari.
importa ns_lib;
importa tcl_lib;
// Crea una rete.
imposta sim_time a 100; // Tempo di simulazione in secondi
imposta num_nodi 10; // Numero di nodi nella rete
impostare ifq 1000; // Dimensione della coda dell'interfaccia in pacchetti
for {set i 0} {$i <$num_nodi} {incr i} {
# Crea un nodo.
set node($i) [nuovo agente/origine TCP];
# Collega il nodo alla rete.
$ns attach-agente $nodo($i)
# Imposta l'indirizzo MAC del nodo.
$nodo($i) imposta MAC
# Imposta l'indirizzo IP del nodo.
$nodo($i) imposta indirizzo_
# Imposta la dimensione della finestra di congestione del nodo.
$nodo($i) imposta cwnd_ 20
}
for {set i 0} {$i <$num_nodi} {incr i} {
# Imposta il traffico di origine per ciascun nodo.
$node($i) imposta traffic_type CBR
$node($i) imposta start_time_ 0s
$node($i) imposta cbr_rate_ 100Kbps
$nodo($i) imposta rtt_ 50ms
# Imposta l'indirizzo IP di destinazione per ciascuna sorgente.
$nodo($i) imposta Destpacchetto_ 10.$i.2.1
# Imposta il traffico sink per ciascun nodo.
set sink($i) [nuovo agente/Null]
$sink($i) imposta indirizzo_ 10.$i.2.1
$ns attach-agente $sink($i)
}
imposta l'interruttore [nuovo CMUcsma]
for {set i 0} {$i <$num_nodi} {incr i} {
$ns collega $nodo($i) $cambia
}
$ns a 0.1 "$node(0) inizia a inviare"
$ns a 1.1 "$node(1) inizia a inviare"
$ns a 2.1 "$node(2) inizia a inviare"
$ns a 3.1 "$node(3) inizia a inviare"
$ns a 4.1 "$node(4) inizia a inviare"
$ns a 5.1 "$node(5) inizia a inviare"
$ns a 6.1 "$node(6) inizia a inviare"
$ns a 7.1 "$node(7) inizia a inviare"
$ns a 8.1 "$node(8) inizia a inviare"
$ns a 9.1 "$node(9) inizia a inviare"
$ns corri
imposta trama [nuovo Plot/Xgraph -larghezza 640 -altezza 480]
$plot imposta le barre di stile
$plot set xlabel "Tempo (s)"
$plot set ylabel "Dimensione finestra di congestione"
for {set i 0} {$i <$num_nodi} {incr i} {
$plot aggiungi $nodo($i) cwnd_
}
for {set i 0} {$i <$num_nodi} {incr i} {
$plot aggiungi legenda $node($i)
}
$plot imposta la scalabilità automatica su
$traccia salva graph.png
```
Configura sorgenti e sink di traffico.
Crea lo switch Ethernet.
Collega l'interruttore ai nodi.
Esegui la simulazione.
Traccia risultati
Seleziona lo stile di trama.
Imposta le etichette degli assi X e Y.
Aggiungi tracce per diversi nodi per tracciare la finestra di congestione.
Imposta la legenda per la trama.
Imposta la scala automatica per la trama.
Salva la trama come immagine PNG.