Il s'agit du nom de commande qui peut être exécuté dans le fournisseur d'hébergement gratuit OnWorks à l'aide de l'un de nos multiples postes de travail en ligne gratuits tels que Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS.
PROGRAMME:
Nom
nam - Animateur Réseau VINT/LBL
SYNOPSIS
nam [ -g géométrie ] [ -t entrée graphique ][ -i intervalle ] [ -P nom_homologue ] [ -N nom de l'application ] [ -c
taille du cache ] [ -f fichier de configuration ] [ -S ] fichier de trace
DESCRIPTION
Nam est un outil d'animation basé sur Tcl/TK pour visualiser les traces de simulation de réseau et le monde réel
données de trace de paquet.
La première étape pour utiliser nam consiste à produire le fichier de trace. Le fichier de trace doit contenir
des informations de topologie, par exemple, des nœuds, des liens, ainsi que des traces de paquets. Le format détaillé est
décrit dans la section FICHIER DE TRACE. Généralement, le fichier de trace est généré par ns(1). Pendant
une simulation ns, l'utilisateur peut produire des configurations de topologie, des informations de mise en page et des paquets
traces à l'aide d'événements de traçage dans ns. Faire référence à ns(1) pour des informations détaillées.
Lorsque le fichier de trace est généré, il est prêt à être animé par nam. Au démarrage, nam
va lire le fichier de trace, créer une topologie, ouvrir une fenêtre, faire la mise en page si nécessaire, puis
pause au moment du premier paquet dans le fichier de trace. Grâce à son interface utilisateur, nam
permet de contrôler de nombreux aspects de l'animation. Ces fonctionnalités seront décrites
en détail dans la section INTERFACE UTILISATEUR.
Cette version de nam est hautement expérimentale - il y aura des bugs !. Veuillez envoyer un e-mail ns-
[email protected] si vous rencontrez des bugs, ou avec des suggestions pour
Fonctionnalité.
OPTIONS
-g Spécifiez la géométrie de la fenêtre au démarrage. Le format est décrit dans X(1)
-t [Information incomplète] Indiquez à nam d'utiliser tkgraph et spécifiez le nom du fichier d'entrée
pour tkgraph.
-i [Les informations de cette option peuvent ne pas être exactes] Spécifiez taux (réelles) millisecondes
comme taux de mise à jour de l'écran. Le taux par défaut est de 50 ms (c'est-à-dire 20 images par seconde).
Notez que le serveur X peut ne pas être en mesure de suivre ce taux, auquel cas le
l'animation s'exécutera aussi vite que le serveur X le permet (à 100 % d'utilisation du processeur).
-N Spécifiez le nom d'application de cette instance de nom. Ce nom d'application peut plus tard
être utilisé dans la synchronisation entre pairs.
-P Spécifiez le nom d'application de l'instance de nom d'homologue dont l'exécution sera
synchronisé avec l'exécution de cette instance de nom. Référez-vous à l'option ci-dessus
(-N) pour spécifier les noms d'application.
L'usage général est : (1) démarrer la première instance de nom (esclave) par :
nam -N <nom #1> <trace filet prénom #1>
Démarrez ensuite la deuxième instance de nam (qui sera le maître) :
nam -N <nom #2> <trace filet prénom #2>
Ensuite, chaque contrôle d'animation (lecture, arrêt, retour, mais exclure autre contrôle
et les opérations interactives telles que la surveillance) seront synchronisés entre les deux
les instances.
Veuillez noter que parce que ce mécanisme utilise la commande send de Tcl, il nécessite que
votre serveur X a utilisé xauth comme authentification. Plus précisément, vous devez ajouter l'option
`-auth ' lorsque vous démarrez votre serveur X. Sans cela
option, X utilisera xhost comme authentification, ce qui est trop faible et considéré
peu sûr. Reportez-vous à la page de manuel de Xsecurity, xauth et Xserver pour plus de détails, et le
protocoles d'authentification disponibles.
-c [Information incomplète] La taille maximale du cache utilisé pour stocker 'actif'
objets lors de l'animation en arrière.
-f Nom des fichiers d'initialisation à charger au démarrage. Dans ce fichier, l'utilisateur
peut définir des fonctions qui seront appelées dans le fichier de trace. Un exemple pour ceci est
les événements 'link-up' et 'link-down' des liens dynamiques dans ns. (Faire référence à $ns rtmodèle
pour plus de détails, et tcl/ex/simple-dyn.tcl dans votre répertoire ns par exemple). Exemple
les fichiers d'initialisation peuvent être trouvés dans ex/sample.nam.tcl et ex/dynamic-nam.conf.
-S Activez le comportement X synchrone pour faciliter le débogage graphique. Pour UNIX
système exécutant X uniquement.
fichier de trace est le nom du fichier contenant les données de trace à animer (format
décrit dans la section FICHIER DE TRACE ci-dessous). Si fichier de trace ne peut pas être lu, nam va essayer d'ouvrir
fichier de trace.nom.
OBJETS IN NAM
nam fait l'animation en utilisant les blocs de construction suivants : nœud, lien, file d'attente, paquet, agent,
surveiller. Ils sont définis ci-dessous :
nœud Les nœuds sont créés à partir de l'événement de trace « n » dans le fichier de trace. Il représente un
source/hôte/routeur, etc. nam se terminera s'il y a une définition en double pour
le même nœud. Le nœud peut avoir plusieurs formes (cercle, carré et hexagone), mais une fois
créé, il ne peut pas changer de forme. Le nœud peut également avoir plusieurs couleurs, il peut changer
sa couleur pendant l'animation. Faire référence à ns(1) pour les événements de traçage connexes.
lien Des liens sont créés entre les nœuds pour former une topologie de réseau. les liens nam sont
en interne simplex, mais il est invisible pour les utilisateurs. L'événement de trace 'l' crée
deux liens simplex et d'autres configurations nécessaires, il semble donc aux utilisateurs identiques à
une liaison duplex. Le lien peut avoir plusieurs couleurs, il peut changer de couleur pendant l'animation.
Reportez-vous à ns(1) pour les événements de traçage connexes.
file La file d'attente doit être construite en nom entre deux nœuds. Contrairement au lien, la file d'attente nam est
associé à un simplex relier. L'événement de trace 'q' ne crée une file d'attente que pour un
lien simplex. Dans nam, les files d'attente sont visualisées sous forme de paquets empilés. Les paquets sont
empilés le long d'une ligne, l'angle entre la ligne et la ligne horizontale peut être
spécifié dans l'événement de trace 'q'.
paquet Le paquet est visualisé sous la forme d'un bloc avec une flèche. Le sens de la flèche indique le
sens de circulation du paquet. Les paquets en file d'attente sont affichés sous forme de petits carrés. Un paquet
peut être supprimé d'une file d'attente ou d'un lien. Les paquets abandonnés sont affichés en rotation
carrés, et disparaissent à la fin de l'écran. Les paquets abandonnés ne sont pas visibles
pendant l'animation en arrière.
agent Les agents sont utilisés pour séparer les états de protocole des nœuds. Ils sont toujours associés
avec des nœuds. Un agent a un nom, qui est un au design identifiant de l'agent. Il est
représenté par un carré avec son nom à l'intérieur, et une ligne relie le carré à son
nœud associé.
AUTOMATIQUE LAYOUT
Dans nam, une topologie est spécifiée en alternant des objets de nœud avec des objets de bord. Mais à
afficher la topologie de manière compréhensible, un mécanisme de mise en page est nécessaire. Nom actuel
propose deux méthodes de mise en page.
Tout d'abord, l'utilisateur peut spécifier les orientations des bords. Une orientation de bord est l'angle entre le
bord et la ligne horizontale, dans l'intervalle [0, 2*pi). Pendant la mise en page, nam honorera le
des orientations de bord données. Généralement, il choisira d'abord un nœud de référence, puis placera
d'autres nœuds utilisant l'orientation et la longueur des bords, qui sont déterminées par le délai de liaison.
Cela fonctionne bien pour les petites topologies générées manuellement.
Deuxièmement, lorsque nous avons affaire à des topologies générées aléatoirement, qu'elles soient petites ou grandes, nous
peut vouloir faire la mise en page automatiquement. Un algorithme de mise en page de graphe automatique ([1] [2]) est
adapté et mis en œuvre. L'idée de base de l'algorithme est de modéliser le graphique sous forme de boules
(nœuds) reliés par des ressorts (bords). Les balles se repousseront, tandis que les ressorts tireront
eux autres ensemble. Ce système convergera (espérons-le) après quelques itérations. En pratique,
après un petit nombre d'itérations (des dizaines ou des centaines), la plupart des graphes convergeront vers un
structure visuellement compréhensible.
Il y a 3 paramètres pour régler le processus de mise en page automatique :
Ca Constante de force attractive, qui contrôle la force des ressorts entre les billes. Défaut
la valeur est 0.15
Cr Constante de force répulsive, qui contrôle la force répulsive entre les balles.
La valeur par défaut est 0.15
Nombre d'itérations
Auto expliqué. La valeur par défaut est 10.
Pour les petites topologies avec des dizaines de nœuds, en utilisant les paramètres par défaut (peut-être avec
20 à 30 itérations supplémentaires) suffiront pour produire une belle mise en page. Mais pour les plus grands
topologie, un réglage minutieux des paramètres est nécessaire. Voici une méthode empirique pour
mettre en place une topologie de tronçon de transit aléatoire à 100 nœuds générée par l'ITM de Georgia Tech
modeleur de topologie internet. Tout d'abord, définissez Ca_ et Cr_ sur 0.2, effectuez environ 30 itérations,
puis définissez Cr_ sur 1.0, Ca_ sur environ 0.01, puis effectuez environ 10 itérations, puis définissez Ca_
à 0.5, Cr_ à 1.0, faites environ 6 itérations.
L' UTILISATEUR INTERFACE
Le haut de la nam nam la fenêtre est une menu bar. Deux menus déroulants se trouvent à gauche du
barre de menu. Le menu 'Fichier' ne contient actuellement qu'un bouton 'Quitter'. Il a un 'Open...'
également, mais ce n'est pas encore implémenté. Le menu 'Affichage' comporte 4 boutons :
- Bouton Nouvelle vue : crée une nouvelle vue de la même animation. L'utilisateur peut faire défiler et zoomer
sur la nouvelle vue. Toutes les vues seront animées de manière synchrone.
- Case à cocher Afficher les moniteurs : si cochée, affichera un volet dans la moitié inférieure de la fenêtre,
où les moniteurs seront affichés.
- Case à cocher Afficher la mise en page automatique : si cochée, un volet s'affichera dans la moitié inférieure de la fenêtre,
qui contient des zones de saisie et un bouton pour les ajustements automatiques de la mise en page. Cette boîte peut
pas toujours être activé. Lorsqu'un fichier de trace a ses propres spécifications de mise en page, cette
la boîte sera désactivée. Si et seulement si le fichier de trace n'a pas une mise en page complète
spécification (c'est-à-dire que chaque lien a une orientation spécifiée dans les traces), est-ce que
case être activé.
- Afficher la case à cocher d'annotation : si cette case est cochée, une zone de liste s'affichera dans la moitié inférieure de
fenêtre, qui sera utilisée pour lister les annotations dans l'ordre croissant du temps.
Le menu « Aide » se trouve sur le côté droit de la barre de menu. Il a deux boutons. En cliquant
le bouton « Aide » affichera une nouvelle fenêtre affichant des informations sur l'utilisation du nom.
En cliquant sur le bouton 'À propos', une nouvelle fenêtre s'ouvrira affichant l'historique et l'état de
nom.
Touches d'accélération
ALT+'f' déroulera le menu 'Fichier'. ALT+'v' déroulera le menu 'Ouvrir...'.
ESC annulera une sélection de menu en cours.
Sous la barre de menu, il y a un des bactéries Bar contenant 6 boutons, une étiquette et un
petite barre de défilement (échelle). Ils peuvent être cliqués dans n'importe quel ordre. nous allons les expliquer
de gauche à droite.
Bouton 1 (<<)
Rembobiner. Lorsque vous cliquez dessus, le temps d'animation reculera au rythme de 25 fois le
taux de mise à jour de l'écran actuel.
Bouton 2 (<)
Jouer à l'envers. Lorsque vous cliquez dessus, l'animation sera lue en arrière dans le temps.
Bouton 3 (carré)
Arrêter. Lorsque vous cliquez dessus, l'animation se met en pause.
Bouton 4 (>)
Jeu en avant. Lorsque vous cliquez dessus, l'animation sera jouée dans l'ordre croissant du temps.
Bouton 5 (>>)
Avance rapide. Lorsque vous cliquez dessus, le temps d'animation avancera au rythme de 25 fois
le taux de mise à jour de l'écran actuel.
Bouton 6 (logo chevron)
Quittez.
Étiquette de temps
Affiche l'heure actuelle de l'animation (c'est-à-dire l'heure de la simulation comme dans le fichier de trace).
Curseur de taux
Contrôle le taux de mise à jour de l'écran (granularité de l'animation). Le taux actuel est
affiché dans l'étiquette au-dessus du curseur.
Sous la première barre de contrôle, il y a Entrée Présentoir, qui contient une barre d'outils et un
volet d'affichage avec deux barres de défilement panoramiques. Toutes les nouvelles vues créées par le bouton de menu 'Fichier/nouveau
view' aura ces trois composants.
La barre d'outils contient deux boutons de zoom. Le bouton avec une flèche vers le haut effectue un zoom avant, le bouton
avec une flèche vers le bas effectue un zoom arrière. Les deux barres de défilement sont utilisées pour déplacer la vue principale de l'animation.
Cliquer sur le bouton gauche sur l'un des objets dans le volet d'affichage principal fera apparaître un
fenêtre d'information au point de clic. Pour les objets paquet et agent, il existe un
bouton « moniteur » dans la fenêtre contextuelle. Cliquer sur ce bouton fera apparaître le volet du moniteur
(s'il n'y est pas) et ajoutez un moniteur à l'objet. Pour l'objet lien, il y aura un
bouton « Graphique ». Cliquez sur ce bouton pour faire apparaître une autre fenêtre contextuelle, où l'utilisateur peut
sélectionnez le graphique d'utilisation de la bande passante du dessin ou le graphique de perte de liaison de l'un des deux simplex
liens du lien duplex cliqué. Ces fonctionnalités sont également disponibles dans les vues
créé par 'Fichier/nouvelle vue'. REMARQUE: Ces fonctionnalités sont HAUTEMENT EXPERIMENTAL ET
INSTABLE dans cette version (v1.0a2).
Sous les gadgets dont nous avons parlé jusqu'à présent, il peut y avoir ou non un Surveiller des pain,
selon que la case à cocher « Afficher/afficher les moniteurs » est cochée. (La valeur par défaut est non définie). Tous
moniteurs seront affichés dans ce volet. Un moniteur ressemble à un gros bouton dans le volet.
Actuellement, seuls le paquet et l'agent peuvent avoir un moniteur.
Un moniteur de paquets affiche la taille, l'identifiant et l'heure d'envoi. Lorsque le paquet atteint son
destination, le moniteur sera toujours là, mais en disant que le paquet est invisible.
Un moniteur d'agent affiche le nom de l'agent et s'il existe des traces variables
associés à cet agent, ils y seront également affichés.
Sous le volet du moniteur (ou à sa place si le volet du moniteur n'est pas là), il y a un Heure
Slider. Cela ressemble à une règle à l'échelle, avec une balise 'TIME' qui peut être glissée le long de la
régner. Il est utilisé pour définir l'heure actuelle de l'animation. Lorsque vous faites glisser la balise 'TIME',
le temps d'animation sera affiché dans l'étiquette de temps dans la barre de contrôle ci-dessus. Le bord gauche
du curseur représente l'heure de l'événement le plus tôt dans le fichier de trace et le bord droit
représente l'heure du dernier événement.
Cliquer sur le bouton gauche de la règle (pas la balise) a le même effet que Rembobiner ou Rapide
En avant, en fonction de la position du clic.
Votre Automatique Mise En Page Pains Typiques peut être visible ou masqué. S'il est visible, il est inférieur à l'heure
glissière. Il a trois boîtes d'entrée et un bouton de relais. Les zones de saisie étiquetées laissent
l'utilisateur ajuste deux constantes de mise en page automatiques et le nombre d'itérations au cours de la prochaine
disposition. Lorsque l'utilisateur appuie sur ENTRÉE dans l'une des zones de saisie ou clique sur le bouton « relais »,
ce nombre d'itérations sera effectué. Référez-vous à la section DISPOSITION AUTOMATIQUE pour
détails d'utilisation.
Le composant inférieur de la fenêtre de nom est un Annotation Zone de liste, où les annotations sont
affiché. Une annotation est une paire (heure, chaîne), qui décrit un événement se produisant à
cet instant. Faire référence à ns(1) pour que les fonctions génèrent des annotations. Double-cliquez sur un
l'annotation dans la listbox amènera nam au moment où cette annotation est enregistrée.
Lorsque le pointeur se trouve dans la liste, cliquer sur le bouton droit arrêtera l'animation et affichera
un menu contextuel avec 3 options : Ajouter, Supprimer, Info. « Ajouter » fera apparaître une boîte de dialogue avec un
saisie de texte et ajoutez une nouvelle entrée d'annotation qui a l'heure actuelle de l'animation. L'utilisateur peut
tapez la chaîne d'annotation dans la boîte de dialogue. « Supprimer » supprimera l'entrée d'annotation
pointé par le pointeur. « Info » fera apparaître un volet qui affiche à la fois l'heure d'annotation
et la chaîne d'annotation.
CLAVIER COMMANDES
[Incomplet, mais précis] La plupart des boutons ont des équivalents clavier. Notez qu'ils ne
fonction lorsque le curseur de la souris est à l'intérieur de la fenêtre de nom.
La saisie d'un espace ou d'un retour mettra en pause le nom s'il ne l'est pas déjà. Si nam est en pause,
space ou return fera avancer l'animation d'un tick d'horloge simulé. (Si votre clavier
répétitions automatiques, maintenir la touche espace est un bon moyen de ralentir une partie de la
animation.)
« p » ou « P »
Pause mais pas pas si en pause.
« c » ou « C »
Continuez après une pause.
« b » ou « B »
Diminuez le temps d'animation pour un intervalle de mise à jour de l'écran.
« r » ou « R »
Rembobiner.
'f' ou 'F'
Fast Forward.
'n' ou 'N'
Passer à l'événement suivant.
« x » ou « X »
Annuler le dernier changement de taux
« u » ou « U »
Annulez le dernier glissement du curseur temporel.
`>' ou `.'
Augmente la granularité (accélération) de 5%.
`<' ou `,'
Diminuer la granularité (ralentir) de 5%.
ESPACE Basculer l'état de pause de nam.
'q', 'Q' ou Contrôle-c
quitter
ENREGISTREMENT ANIMATIONS
Pour enregistrer des animations de nom, sélectionnez l'option « Enregistrer une animation » dans le menu Fichier. UNE
une série de fichiers namXXX.xwd sera produite (où XXX est le numéro de trame), un par fois-
étape. Ces fichiers peuvent ensuite être assemblés en GIF ou MPEG animés avec les
outils de post-traitement.
TRACE DOSSIER Format
Les événements du fichier de trace peuvent être divisés en 6 types, en fonction de l'objet auquel l'événement
est associé. Ci-dessous, nous les discutons en détail.
Les événements de paquet Packet Basic sont un caractère de type, suivi de quelques balises :
-t -e -s -ré -c -je
fait partie de:
"h" - Hop. Le paquet a commencé à être transmis sur le lien de src_addr à
dst_addr
`r' - Recevoir. Le paquet a terminé sa transmission et a commencé à être reçu au
destination.
"d" - Laisse tomber. Le paquet a été supprimé de la file d'attente ou du lien de src_addr vers dst_addr.
`+' - Entrer dans la file d'attente. Le paquet est entré dans la file d'attente de src_addr à dst_addr.
`-' - Quitter la file d'attente. Le paquet a quitté la file d'attente de src_addr à dst_addr.
Drop here ne fait pas la distinction entre l'abandon de la file d'attente ou du lien. C'est décidé
par le temps de chute.
Les drapeaux ont les significations suivantes :
-t est l'heure à laquelle l'événement s'est produit.
-e est la taille (en octets) du paquet.
-s est le nœud d'origine.
-ré est le nœud de destination.
-c est l'identifiant de la conversation.
-je est l'identifiant du paquet dans la conversation.
-une est l'attribut de paquet, qui est actuellement utilisé comme identifiant de couleur.
Des indicateurs supplémentaires peuvent être ajoutés pour certains protocoles. Cette liste peut être étendue au fur et à mesure
Champs obligatoires:
-P donne une chaîne ASCII spécifiant une liste de paquets séparés par des virgules
les types. Certaines valeurs sont : TCP - un paquet de données TCP. ACK - accusé de réception générique.
NACK - accusé de réception négatif générique. SRM - Paquet de données SRM.
-n donne le numéro de séquence du paquet.
État du lien/de la file d'attente
l -t -s -ré -S [-c ] [-r -RÉ ]
q -t -s -ré -une
donne la transition d'état du lien. Il a 3 valeurs possibles : UP et DOWN
marque l'échec et la récupération du lien, COLOR marque le changement de couleur du lien. Si COULEUR est donné,
un -c suivant est attendu qui donne la nouvelle valeur de couleur. En cas de lien,
[-r -RÉ ] donne respectivement la bande passante et le délai de liaison. Il n'est utilisé que
lorsque nam crée le lien, c'est-à-dire qu'il charge le fichier de trace.
spécifie la position de la file d'attente, c'est-à-dire l'angle entre le lien le long duquel
les paquets mis en file d'attente sont affichés et la ligne horizontale.
État du nœud
NT -s -S [-c ] [-o ] [-UNE ]
Les drapeaux '-t', '-S' et '-c' ont la même signification que ceux de Link. Le drapeau '-A' est utilisé
pour ajouter une chaîne arbitraire à l'étiquette du nœud. Il peut être utilisé pour afficher
explications de l'état d'un nœud. L'indicateur '-o' est utilisé dans le backtracing pour restaurer l'ancien
couleurs d'un nœud.
Marque de nœud
Les marques de nœuds sont des cercles colorés autour des nœuds. Ils sont créés par :
m -t -n -s -c -h [-o ]
et peut être supprimé par :
m -t -n -s -X
Notez qu'une fois créée, une marque de nœud ne peut pas changer de forme. Les choix possibles
pour les formes sont, cercle, carré et hexagone. Ils sont définis comme des chaînes en minuscules
exactement comme ci-dessus.
État du protocole
Les agents peuvent être construits par :
à -n -s -ré
Ils peuvent être détruits par :
à -n -s -ré -X
Pour visualiser les variables d'état du protocole associées à un agent, on utilise le nom
« caractéristique ». Actuellement, nous autorisons trois types de fonctionnalités : minuteries, listes et simple
les variables. Mais seul le dernier est mis en œuvre dans ns(1) API de traçage.
Les fonctionnalités peuvent être ajoutées ou modifiées à tout moment après la création de l'agent en utilisant :
f -t -une -T -n -v -o
est « l » pour une liste, « v » pour une variable simple, « s » pour un minuteur arrêté, « u »
pour un compte à rebours, 'd' pour un compte à rebours.
-v donne la nouvelle valeur de la variable. Variable les valeurs sont en ASCII simple
chaînes obéissant aux conventions de citation de chaînes TCL. Liste les valeurs obéissent à la liste TCL
conventions. Minuteur les valeurs sont des valeurs numériques ASCII.
-o donne la valeur précédente de la variable. C'est pour permettre en arrière
jeu d'animation.
Les fonctionnalités peuvent être supprimées en utilisant :
f -t -une -n -o -X
Divers v -t TCL scénario un magnifique
est utilisé pour l'annotation, il peut inclure un script tcl arbitraire à exécuter à un
temps donné, tant que le script est sur une seule ligne (pas plus de 256 caractères). Les
l'ordre du drapeau et la chaîne sont importants.
c -t -je -n
définit une couleur. Le nom de la couleur doit être l'un des noms répertoriés dans la base de données des couleurs
dans X11 (/usr/X11/lib/rgb.txt). Après cette définition, la couleur peut être référencée
en utilisant son identifiant.
EXEMPLES
Utiliser nam en ligne à l'aide des services onworks.net