Advertisement
Guest User

Untitled

a guest
Jan 6th, 2019
137
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
TCL 1.37 KB | None | 0 0
  1. set ns [new Simulator]
  2.  
  3. # Ouvir le fichier de trace global
  4. set outputfile [open out.tr w]
  5. $ns trace-all $outputfile
  6.  
  7. # Ouvrir le fichier de trace Nam
  8. set nf [open out.nam w]
  9. $ns namtrace-all $nf
  10.  
  11. # Definition de la procédure 'finish'
  12. proc finish {} {
  13.  global ns nf outputfile
  14.  $ns flush-trace
  15.  # fermeture des fichiers de trace
  16.  close $nf
  17.  close $outputfile
  18.  
  19.  # Executer Nam en fonction de la trace
  20.  puts "nam se lance..."
  21.  exec nam -a out.nam &
  22.  exit 0
  23. }
  24.  
  25. # Création de la topologie
  26. set topo [open topo.top r]
  27. set traff [open traff.traf r]
  28. set data [read $traff]
  29. set data [split $data "\n"]
  30. set node_prec 0
  31.  
  32. foreach line $data {
  33.   # Création des noeuds
  34.   set node1 [lindex $line 0]
  35.   if {![info exists n($node1)]} {
  36.   puts "$node1"
  37.  
  38.     set n($node1) [$ns node]
  39.   }
  40.  
  41. }
  42.  
  43. set data [read $topo]
  44. set data [split $data "\n"]
  45.  
  46. foreach line $data {
  47.    # Récupération des noeuds
  48.     set node1 [lindex $line 0]
  49.   set node2 [lindex $line 1]
  50.   # Récupération du debit
  51.   set debit [lindex $line 2]
  52.   # Récupération de la latence
  53.   set latence [lindex $line 3]
  54.  
  55.   puts "$node1 $node2"
  56.   # Création des liens
  57.   $ns duplex-link $n([lindex $line 0]) $n([lindex $line 1]) [lindex $line 2]Gb [lindex $line 3]ms DropTail
  58.   $ns queue-limit $n($node1) $n($node2) 10
  59.   $ns queue-limit $n($node2) $n($node1) 10
  60. }
  61.  
  62. $ns at 300.0 "finish"
  63. close $topo
  64. $ns run
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement