Browse Source

remise en forme du readme

master
Squiz 3 years ago
parent
commit
15f54df477
1 changed files with 60 additions and 0 deletions
  1. +60
    -0
      README.md

+ 60
- 0
README.md View File

@@ -0,0 +1,60 @@
# 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 :
<next node IP> <next node port> <our node port> <our ID> <subscribe port>

<next node IP> : adresse IP de la machine à laquelle on va envoyer la trame (la machine suivante dans l'anneau).
<next node port> : le port UDP de la machine à laquelle on va envoyer la trame.
<our node port> : notre port UDP sur lequel on va se mettre en écoute pour recevoir la trame de la machine précédente dans l'anneau.
<our ID> : notre adresse dans le protocole (en hexadécimal ; au maximum 8 caractères)
<subscribe port> : 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 <ID> <local port> »
Cette commande associe l'hote d'adresse <ID> sur le port <local port>.

« unsubscribe <ID> »
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.


Loading…
Cancel
Save