TP bus de terrain : comparaison de protocoles d'arbitrage.

Frank Singhoff





L'objectif du TP est de comparer les temps d'accès induits par deux protocoles d'arbitrage d'un bus : le protocole du réseau industriel FIP qui offre des garanties temporelles sur la transmission des informations et le protocole utilisé par Ethernet (IEEE 802.3) qui n'offre pas de garantie temporelle.


I. Présentation



Station
Message émis
0 Périodique (période = 3 ms)
1 Périodique (période = 9 ms)
2 Apériodique

Pour se faire, on se propose de construire un petit simulateur en C. Le simulateur étudie le comportement temporel d'une application répartie sur un bus constitué de 3 stations maîtres (cad 3 émetteurs). Les deux premières stations émettent des messages périodiques et la dernière, des messages apériodiques (cf. table ci-dessus). Le délai entre la demande d'émission de deux messages apériodiques est généré de façon aléatoire (pour simplifier, la distribution est uniforme). Le délai moyen entre deux messages apériodiques est passé en paramètre du simulateur.

On vous demande de compléter deux programmes C qui simulent l'arbitrage sur le bus de la transmission de ces messages. Vous pouvez utiliser ce Makefile pour les compiler. On considère que les temps de transmission, de propagation et de traversée des couches prennent en tout une milli-seconde.


II. Le protocole du réseau FIP

L'objectif de ce premier exercice consiste à simuler le protocole d'arbitrage du réseau FIP. Pour ce faire, vous disposez du fichier suivant . On rappelle que pour ce réseau, le protocole d'arbitrage est caractérisé par les élements suivants :

Questions :

  1. Déterminez le macrocycle, le microcyle et la table d'arbitrage pour l'ensemble des messages du précédent tableau. Calculer le temps d'accès maximum de chacun des messages.
  2. Etudiez le fonctionnement du fichier fip.c et complétez les zones indiquées par le mot ACOMPLETER.
  3. Exécutez le simulateur avec plusieurs délais moyens différents (ex : 1, 2, 10, 100). Que constatez vous pour les temps d'accès de la station 0, 1 et 2. Les contraintes temporelles des messages sont elles respectées ? Vérifiez que ces résultats correspondent bien à ceux déterminés dans la question 1.



III. Le protocole CSMA/CD





Nous regardons maintenant le cas du protocole CSMA/CD. Ce protocole n'est pas déterministe mais probabiliste. Son fonctionnement est le suivant (cf figure ci-dessus) :

Vous trouverez ici. un fichier contenant la simulation du protocole décrit ci-dessus. Dans le simulateur le délai aléatoire d'attente avant réémission est un tirage aléatoire (distribution uniforme) entre 1 et délais_max (cf figure ci-dessus).

Questions :

  1. Complétez le fichier csma.c en ajoutant le code nécessaire à la simulation du protocole CSMA/CD. La zone à compléter est signalée par le mot ACOMPLETER.
  2. Nous allons utiliser gnuplot pour visualiser les temps d'accès de la station 0. Pour ce faire :

    ATTENTION : deux courbes sont affichées successivement : gnuplot affiche la première et attend que vous frappiez une touche pour présenter la seconde.

  3. Refaite les étapes précédentes avec des valeurs différentes pour le temps moyen entre deux messages apériodiques (ex : 1000, 100, 10).
  4. Que constatez vous concernant le temps d'accès des messages de la station 0, le nombre de messages émis par la station 0 et le respect des contraintes temporelles de la station 0 ? Pourquoi ? Concluez sur l'intérêt d'un tel protocole pour une application temps réel.















Page maintenue par Frank Singhoff (singhoff@univ-brest.fr)
Dernière mise à jour le 12 décembre 2000