Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.
Squiz 15f54df477 remise en forme du readme pirms 3 gadiem
.gitignore Retrait des vieux exécutables du gitignore pirms 6 gadiem
Makefile Suppression de anneau.c, suppression des warnings de compilation et ajout d'un fichier readme mal rédigé pirms 6 gadiem
README.md remise en forme du readme pirms 3 gadiem
interface.c Correction: suppression du timeout. pirms 6 gadiem
interface.h ID des nœuds en hexa (please !). pirms 6 gadiem
node.c Suppression de anneau.c, suppression des warnings de compilation et ajout d'un fichier readme mal rédigé pirms 6 gadiem
readme test.bash renommé dans le readme, pas vu… corrigé pirms 6 gadiem
test.bash Correction d'une faute dans le readme. pirms 6 gadiem

README.md

Conception de protocole

1. Compilation

La cible par défaut crée un exécutable peu verbeux. Commande : make

La cible « debug » permet d’activer l’affichage de l’état du protocole lors du déroulement du programme. Commande : make debug

2. Exécution

Le programme implémentant le protocole est l’exécutable nommé «node».

Pour son exécution, les arguments à utiliser sont :

: adresse IP de la machine à laquelle on va envoyer la trame (la machine suivante dans l’anneau). : le port UDP de la machine à laquelle on va envoyer la trame. : notre port UDP sur lequel on va se mettre en écoute pour recevoir la trame de la machine précédente dans l’anneau. : notre adresse dans le protocole (en hexadécimal ; au maximum 8 caractères) : port local sur lequel on va se connecter (en local) pour envoyer les commandes. Ces commandes permettent notamment d’indiquer un port (local lui aussi) de la machine, afin de l’associer à une machine de l’anneau.

3. Utilisation

3.1. Exemple d’utilisation

On exécute le programme avec par exemple la commande : ./node 89.234.129.131 4242 4243 c0de 1300

Ici, on enverra la trame à la machine testlns.vm.gixe.net(89.234.129.131) sur le port 4242. On recevra la trame de la machine précédente sur le port 4243. Notre adresse dans l’anneau est «c0de». Enfin le port local de commande est le port 1300.

Une fois l’anneau formé, on peut associer un port local à une machine de l’anneau. Par exemple pour associer la machine « cafe » au port 1200, on doit utilisera la commande : « echo ‘subscribe cafe 1200’ | nc localhost 1300 ».

À partir de là, tout ce qu’on envoie dans le port local 1200 sera transmis via l’anneau à la machine « cafe » ; et tout ce qui sera reçu de cette machine y sera envoyé.

Le fichier test.bash fourni permet d’initialiser un anneau de 3 pairs automatiquement et de le tester (nécessite xterm).

3.2. Liste des commandes

Les commandes que l’on peut envoyer sur le port de commande suivent.

« subscribe » Cette commande associe l’hote d’adresse sur le port .

« unsubscribe » Cette commande défait l’association.

3.3. Insertion et départ de pair dans l’anneau

Actuellement, pour insérer un pair dans l’anneau, il faudra relancer l’exécutable «node» sur la machine qui sera sa précédente dans l’anneau. On lui fournira comme pair suivant la machine insérée, laquelle prendra comme pair suivant celui qu’avait la machine relancée.

Pour le départ, la méthode est la même : on relance la machine qui précède celle qui sort de l’anneau. Ceci en changeant son pair suivant en celui qui était le pair suivant de la machine sortante.

Ceci pourrait être implémenté de manière dynamique, également.