Vor einiger Zeit habe ich mal einen Scenariogenerator für VNUML geschrieben um schnell und einfach Scenariodateien für verschiedene Topologien erstellen zu können.
Dafür habe ich mir überlegt, was die wesentlichen Informationen sind um eine Netzwerktopologie zu beschreiben. Dies sind die existierenden Netze, die existierenden Router und welche Router an welche Netze angeschlossen sind.
Dem Generatorscript wird eine Datei mit diesen Informationen übergeben und erstellt daraus die VNUML-Scenariodatei. Über Variablen im Script kann gesteuert werden, welcher Kernel und welches Dateisystem verwendet werden soll und wie die einzelnen Router/Rechner-Definitionen aussehen sollen.
Syntax
Die Syntax der übergebenen Dateien, die die Endung .zvf tragen müssen ist folgendermaßen:
Leerzeilen sowie Zeilen, die mit # beginnen werden ignoriert.
In der ersten Zeile stehen die Netze mit Komma getrennt (Leerzeichen sind nicht erlaubt)
In den darauf folgenden Zeilen werden die Router definiert und angegeben, mit welchen Netzen sie verbunden sind. Am Anfang einer solchen Zeile steht jeweils zuerst der Name des Routers gefolgt von einem Leerzeichen. Danach werden alle angeschlossenen Netze mit Komma getrennt aufgelistet (Leerzeichen sind darin nicht erlaubt).
Beispiel
Das folgende Beispiel definiert ein Scenario mit 3 Routern (r1, r2 und r3), die über 3 Netze (net1,net2 und net3) zu einem Dreieck verbunden sind:
# beispiel.zvf net1,net2,net3 r1 net1,net2 r2 net2,net3 r3 net3,net1
Die Namenskonvention (/net[0-9]+/ für Netze und /r[0-9]+/ für Router) muss eingehalten werden, damit das Script funktioniert.
Da keine Fehlerbehandlung implementiert ist, muss die Syntax exakt eingehalten werden.
Wenn man das Script mit chmod a+x createscenario.pl ausführbar gemacht hat, kann man die Scenariodatei beispiel.xml durch folgenden Aufruf erstellen:
./createscenario.pl beispiel.zvfDownload
Hier das Perlscript zum downloaden:
Irgendwie gibt es Probleme, wenn ich eine .pl Datei direkt verlinke. Daher habe ich sie in createscenario.txt umbenannt. Nach dem Download sollte die Datei also mit dem Befehl
mv createscenatio.txt createscenatio.plumbenannt werden.
Es können Maximal 254 Netze und 254 Router erstellt werden. Die IP-Adressen werden nach folgendem Schema vergeben:
10.0.NETZNUMMER.ROUTERNUMMER wobei ROUTERNUMMER pro Netz hoch gezählt wird und nicht der Nummer des Routernamens entspricht (die Netznummer hingegen ist auch die Nummer aus dem Namen des Netzes).
Folgende Beiträge könnten Dich auch interessieren:
Schlagworte: Generator, Netzwerk, Script, VNUML








Glückwunsch zu Deinem Artikel in freiesMagazin 08/2009!