Exercices I. Etude de l implantation des primitives du modèle OSI On considère une couche N. Etudier, selon les mécanismes de communication locale (boite à lettres, file d attente, mémoire commune, etc.) et de synchronisation locale (interruptions, événements, sémaphores ou autre) que vous connaissez l implantation d un service S. On s intéresse aux actions locales de synchronisation et de communication nécessaires à l implantation des primitives requête, indication, réponse et confirmation. Le traitement réellement effectué par le service S (par exemple, lecture dans une base de données, demande de connexion, copie d un fichier, ) ne nécessite pas de développement (en d autres termes, on fait abstraction sur les fonctions propres au service S de manière à avoir un modèle générique d implantation des primitives). Il y a au moins 4 cas à considérer : - N = 1 - N = 2-2 < N < 7 - N = 7 II. Réseau CAN Exercice 1 - Calculer la taille d une trame transportant n octets de données. - Donner la formule de calcul du délai de transfert (transmission et propagation) d une trame transportant n octets de données sur un réseau de longueur L et avec un débit D. Exercice 2 On considère un ensemble de messages périodiques M 1,, M n avec des périodes respectives P 1, P n et des tailles (données utiles) respectives C 1,, C n. Les périodes sont exprimées en ms et les tailles en bits. Le message qui a la période la plus petite a l identificateur le plus petit. En cas d égalité des périodes, c est le message le plus court qui est prioritaire. En cas d égalité des périodes et des tailles, on affecte les identificateurs de manière aléatoire. On suppose que les producteurs fonctionnent de manière parfaitement synchronisée : ils demandent tous la transmission de leur premier message à l instant t=0, ensuite l instant de demande de transmission du k eme message M i se fait à l instant t = (K-1)*P i (pour tout K>1 et 1<i<n). Donner la formule qui permet de calculer le temps maximum d attente d un message avant d être transmis. - Premier cas : toutes les périodes sont égales. - Deuxième cas : les périodes sont des multiples les unes des autres ; P n est multiple de P n-1 qui est elle-même est multiple de P n-2 etc. - Troisième cas : considérer trois messages seulement avec des périodes différentes. - Quatrième cas : les périodes sont quelconques. -1-
III. Réseau FIP Exercice 1 Proposer une table d arbitre de bus pour supporter le trafic suivant : Message Période Taille (en ms) (en octets) M 1 5 20 M 2 10 20 M 3 15 120 M 4 20 100 M 5 20 40 M 6 30 120 On prend : D = 1Mb/s et TR = 20 μs. Q1. Calculer le temps laissé libre dans chaque microcycle. Q2. On augmente la taille des messages M 2 et M 5, qui devient égale à 120 octets. Est-ce que la table d arbitre de bus précédemment construite reste valable? Si elle n est plus valable, proposez une autre table permettant de respecter les périodes des six messages. Exercice 2 - FIP L efficacité (ou rendement utile) d un réseau est égale au temps d émission de l information utile divisé par la durée de la transaction pour transférer cette information. Q1. Donner la formule qui permet d exprimer l efficacité du réseau FIP pour des données utiles de taille égale à n octets, un débit de D b/s et un temps de retournement égal à TR. Application numérique. n = 1, 4 et 100. D = 1Mb/s. TR = 10 et 60 μs. Q2. A partir de quelle valeur de n, l efficacité du réseau est inférieure à 50% si D = 1Mb/s et TR = 20 μs? Q3. Avec un débit de 1 Mb/s, un temps de retournement de 20 μs, combien de variables de deux octets peut-on transmettre avec une période égale à 10 ms? Exercice 3 La gigue de communication d un message M est égale à la différence entre le délai maximum et le délai minimum de transfert de ce message. Donner la formule qui permet de calculer la gigue de communication d un objet périodique. Dans les cas suivants : - toutes les variables ont la même période - les variables ont des périodes différentes. -2-
IV. Réseaux à jeton Exercice 1 Bus à jeton Calculer les délais de transfert d un jeton et d une trame de données de m octets pour un réseau bus à jeton de 1 km avec un débit de 1 Mb/S. Le délai de transfert correspond à la somme des délais de transmission et de propagation sur le support. On suppose que le signal se propage à raison 2/3 de la vitesse de la lumière (vitesse égale à 300 000 Km/s). Remarques - le délai maximum de transmission d une trame de données est de X1 + m*x2 (X1 délai pour la partie fixe de trame, et m*x2 pour les m bits de la trame) - le délai maximum de transmission d une trame de jeton est de Y1. X1, X2 et Y1 dépendent du débit de transmission. Exercice 2 Bus à jeton On considère n stations formant un anneau sur un bus à jeton. Ces stations émettent des données de manière périodique. On veut étudier les temps d allocation du réseau aux stations en fonction de divers paramètres que l on peut faire varier selon les contraintes de l application. Cas 1). On suppose que toutes les stations émettent des données à la même période P. On note L i la longueur maximale, en octets, que le station i peut transmettre. - Quel est le temps affecté à chaque station pour que celle-ci puisse émettre ses données? - Si le réseau à un débit de 1 Mb/s et une longueur de 1 Km, quelle condition (exprimée sur n et les L i ) doit-on respecter? Généraliser la condition pour un débit et une longueur de réseau quelconques. Cas 2). On suppose chaque station émet des données avec sa propre périodes P i. On suppose aussi que P i est un multiple de P i-1 pour tout i (2<= i <= n). - Si le réseau à un débit de 1 Mb/s et une longueur de 1 Km, quelle condition (exprimée sur n, les P i et L i ) doit-on respecter? Généraliser la condition pour un débit et une longueur de réseau quelconque. Exercice 3 Boucle à jeton On se place dans le cadre d un réseau de type boucle à jeton géré avec des huit niveaux de priorités (de 0 à 7, 7 étant le niveau le plus prioritaire). Soit 8 stations S0,, S7 organisées physiquement dans le sens des indices (0-1-2-3-4-5-6-7-0 qui émettent des trames avec des périodes respectives P0,, P7. On suppose que les périodes peuvent être différentes et que les priorités sont associées aux stations de manière inversement proportionnelle à leurs périodes. Ainsi, la station dont la période est la plus élevée dispose de la priorité la plus faible et la station dont la période est la plus petite dispose de la priorité la plus élevée. On suppose qu à l instant t0 =0, le jeton se trouve dans la station S0 et que toutes les stations ont leur première trame prête pour être émise. 1. Montrer comment se fait la gestion de la boucle (passage de jeton de station en station), en supposant que la période la plus petite est supérieure à la somme des temps nécessaires à la transmission des 8 trames de données des 8 stations et des temps nécessaires aux passages des jetons. 2. On suppose que les périodes sont égales. Quelle la relation qui doit lier la période, les longueurs de trames, le débit et la longueur du réseau pour que les stations puissent transmettre leurs trames en respectant leurs périodes. 3. On reprend la question 2, mais on ne fait plus d hypothèse sur les valeurs des périodes. -3-
Exercice 4 Boucle FDDI On considère n stations reliées à une boucle FDDI de 10 Km à 100 Mb/s. Les stations sont reliées à équidistance. Chaque station i émet des données de longueur L i avec une périodique P i. 1. Quel est le temps d allocation affecté à chaque station pour que celle-ci puisse émettre ses données? 2. On suppose que toutes les périodes sont égales et que la boucle peut aussi véhiculer des données asynchrones (c est à dire non périodiques). Quelle valeur faut-il affecter au TTRT pour tenir compte de la période et des longueurs des données. 3. Même question que précédemment, en supposant que les périodes sont différentes. -4-
Projet n 1 I. Se familiariser avec les sockets TCP/IP On considère une application simple où un émetteur prend en compte une donnée (un entier) saisi au clavier et le transmet à un récepteur qui l affiche à l écran. II. La synchronisation d horloges dans un système temps réel et réparti consiste à implanter un algorithme permettant aux différentes machines qui composent un réseau de s échanger des messages contenant des valeurs d horloges afin que chaque machine ajuste son horloge locale en fonction des informations qui lui parviennent à partir des autres machines. Il existe différents algorithmes de synchronisation d horloges. Nous nous intéressons dans ce projet à l algorithme de Lamport décrit comme suit : 1) L algorithme est complètement décentralisé, c est-à-dire que toutes les machines implantent le même programme de synchronisation d horloges. 2) Le programme implanté sur chaque machine i se décrit comme suit : Toutes les V unités de temps faire MonHorloge = HS i /* HS désigne l horloge synchronisée */ /* Lecture des horloges distantes */ Pour k=1 à n et k i répéter HS k = Lire_Horloge(k) si HS k - MonHorloge > Seuil Alors HS k = MonHorloge Fin /* Calcul de la référence */ R = moyenne(hs 1, HS 2,, HS n ) /* Ajustement */ HS i = R Fin On prendra Seuil = 5 minutes. Entre deux opérations de synchronisation, l horloge de chaque machine évolue au même rythme que son horloge physique locale. Le programme de synchronisation de chaque machine affichera à l écran (deux fois par seconde), l horloge synchronisée. Le nombre de machines utilisées devra être égal à 4. Le travail demandé consiste en deux phases. 1. Implantation de la synchronisation d horloges en utilisant les sockets TCP/IP. 2. Analyse de performances : Quelle est la meilleure précision d accord obtenue? -5-
Projet n 2 I. Se familiariser avec CAN 1) Utiliser les scénarii suivants pour vous familiariser avec le réseau CAN : - un producteur et un consommateur d un objet identifié - deux producteurs d objets consommés par un même consommateur - deux producteurs d objets consommés par deux consommateurs. Dans les trois scénarii, le producteur reçoit une valeur à partir du clavier et la transmet ensuite. Le consommateur affiche la valeur reçue. 2) On considère deux producteurs d objets identifiés qui transmettent vers un même consommateur. Développer une application simple dans laquelle on sature le réseau de sorte qu un des deux producteurs n arrive pas transmettre convenablement toutes les valeurs qu il produit. II. Reprendre l application de synchronisation d horloges comme dans le projet n 1 Le travail demandé consiste en deux phases. 1. Implantation de la synchronisation d horloges en utilisant les services de CAN 2. Analyse de performances : Quelle est la meilleure précision d accord obtenue? -6-
Projet n 3 On s intéresse à la simulation d un système multimédia simplifié composé de deux sources de données (une source S_audio qui échantillonne du son à une fréquence F1) et une source S_video (qui échantillonne de l image à une fréquence F2). Les fréquences F1 et F2 peuvent être ajustées en fonction de la qualité audiovisuelle souhaitée. Chaque échantillon de la source S_audio est représenté par un octet et chaque échantillon de la source S_video est représenté par une matrice d octets N*M (N est le nombre de lignes et M le nombre de colonnes de l image). M et N sont paramétrables ; on suppose ici que M=N=100. Les données échantillonnées par les deux sources sont envoyées vers un récepteur S_animation qui les utilise pour animer une scène (ou projeter un film). Les données des échantillons en provenance de la source S_audio sont envoyées (par S_animation) vers un organe périphérique audio et celles en provenance de la source S_video sont envoyées vers un organe vidéo. Il y a une synchronisation entre les deux flux : k1 échantillons de la source S_audio sont présentés simultanément avec k2 échantillons de S_video. Les valeurs de k1 et k2 sont paramétrables. Phase 1 : Elaboration des tâches (programmes de simulation) qui s exécutent sur chaque machine en supposant que les machines utilisées peuvent utiliser des services de communication génériques. Phase 2 : Implantation réelle des programmes de simulation en utilisant : 1) Les sockets TCP/IP (utilisation du réseau Ethernet) 2) Les services de communication du réseau CAN Phase 3 : Analyse des performances Pour chacun des deux réseaux utilisés, faites varier les fréquences F1 et F2 et étudier les performances de l application (en d autres termes, on veut étudier à partir de quelles fréquences F1 et F2 le réseau utilisé devient trop surchargé pour acheminer convenablement les paquets de données). Phase 4 : Reprendre la phase 3, en rajoutant (en plus des machines qui constituent l application de simulation) une machine qui génère du trafic de manière aléatoire (pour surcharger le réseau). -7-