(a) Pourquoi est-il utile de mettre un fanion au début et à

publicité
Génie électrique
Session S6
APP 3
Semaines 4 et 5
Introduction aux réseaux, aux
protocoles et au multiplexage
Guide du formateur
Solutionnaire du procédural 2
Département de génie électrique
et de génie informatique
Faculté de génie
Université de Sherbrooke
Note : En vue d’alléger le texte, le masculin est utilisé pour désigner les femmes et les hommes.
Document « S6e_APP3_Guide_du Formateur_Procedural_2.doc »
Version 1, avril 2009
Rédigé par Noël Boutin, Wajdi Elleuch et Samuel Richard
Tous droits réservés  2009
Département de génie électrique et de génie informatique,
Université de Sherbrooke.
No.1
(a) Pourquoi est-il utile de mettre un fanion au début et à la fin pour délimiter une
trame plutôt que de mettre un seul fanion à la fin, par exemple?
Réponse :
Lorsque le flux de trames n’est pas régulier, c’est-à-dire lorsque la trame
suivante ne se présente pas immédiatement, il faut bien signaler le début de la
trame suivante par un fanion, afin que le récepteur puisse se synchroniser et
déclencher sa réception. Il est beaucoup plus simple pour implémenter le
protocole, d’insérer systématiquement dans chaque trame un fanion de début
et un fanion de fin
(b) Comment se présente le fanion d’une longueur d’un octet fréquemment utilisé
pour des systèmes dans lesquels les trames sont de longueur quelconque?
Réponse :
01111110
(c) Lorsque le champ de données utiles à transmettre d’une trame de longueur
quelconque comporte une suite de bits similaires à celle des fanions utilisés,
qu’est-il convenu de faire pour que le récepteur n’interprète pas cette suite
comme étant un fanion?
Réponse :
On fait du remplissage de bits, c’est-à-dire que lorsque la couche liaison de
données source détecte cinq 1 consécutifs dans les données à transmettre, elle
ajoute à leur suite un bit 0 avant d’envoyer le flux de bits sur la ligne. Quand le
récepteur reçoit cinq bits 1 consécutifs suivis d’un bit 0, il enlève ce dernier.
No. 2
L’IEEE a normalisé un certain nombre de réseaux locaux (LAN) et métropolitains (MAN) sous la
désignation globale IEEE 802. Comme l’illustre la figure suivante, ces normes divisent la couche
de liaison de données en deux sous couches, la couche MAC (medium Access Control) et la sous
couche LLC (Logical Link Control).
Les trames de la sous couche MAC se présentent sous la forme suivante :
(a) À quoi sert le préambule (PRE) de 7 octets et de quoi est-il formé?
Réponse :
Ce préambule permet à l’horloge du récepteur de se synchroniser. Le préambule
comporte une suite de 8 octets, chacun formé de la suite de bits 10101010, en bande
de base, codée en Manchester, produisant ainsi une onde carrée de 10 MHz pendant
6,4 µsec.
(b) À quoi sert le délimiteur de début de trame (SFD) et de quoi est-il composé?
Réponse :
Le délimiteur de trame comporte 1 octet formé de la suite de bits 10101011. Les deux
derniers bits consécutifs à 1 servent à indiquer au récepteur que le prochain bit est le
début de l’adresse de destination.
(c) La norme 802.3 permet-elle l’envoi d’un même message à plusieurs destinataires?
Réponse :
Oui, le bit de plus fort poids de l’adresse de destination est à 0 pour une adresse à 1
destinataire, et à 1 pour une adresse de groupe (pré établi d’avance). Si tous les bits
de l’adresse sont à 1, toutes les stations du réseau la reçoivent.
(d) Expliquer en quoi consiste le protocole de gestion d’accès CSMA/CD utilisé sur un réseau
Ethernet.
Réponse :
La norme 802.3 utilise un protocole de gestion d’accès de type CSMA/CD, c’est-à-dire
Carrier Sense Multiple Access with Collision Detection. Un transceiver désirant
transmettre une trame écoute sur le canal pour voir s’il est libre de toute
transmission. Si oui, il débute son envoi tout en continuant d’écouter. Lorsque son
envoi de trame est terminé, il prend pour acquis que tout c’est bien passé. Par contre,
lorsqu’il détecte une collision, il cesse de transmettre sa trame, attend un temps
aléatoire et recommence le processus à nouveau.
(e) Expliquer pourquoi la norme IEEE 802.3 impose une longueur minimale de champ de
données (Data) de 46 octets, incluant le champ de remplissage (Pad) utilisé pour
compléter la longueur minimale lorsque les données à transmettre ne suffisent pas.
Réponse :
Historiquement, pour le 10Base5, la longueur maximale du réseau fut fixée, comme
compromis, à 2,5 Km (500 mètres par segment reliés à chaque 500 mètres par un
répéteur) et le débit à 10 Mbits/sec, transmis sur un gros câble coaxial jaune RG11
dont la vitesse de propagation est de l’ordre de 200 m / µsec.
La pire situation de détection de collision survient lorsque 2 transceivers localisés
chacun à une des extrémités opposées du réseau tentent de transmettre
simultanément. En même temps qu’ils débutent leur transmission, les transceivers
sont aussi à l’écoute de se qui se passent sur le réseau. Lorsqu’une trame part à
l’instant zéro d’un bout du réseau, ça prend environ 12,5 µsec avant que le premier bit
atteigne l’autre extrémité. Si juste avant qu’elle arrive à l’autre bout, l’autre
transceiver se met transmettre, il détecte alors l’arrivée de la trame, interrompt son
entreprise et transmet un signal de brouillage de 48 bits. Avant que ce signal soit
perçu par le premier transceiver, ça prend environ 12,5 µsec. Donc, il faut que la trame
dure au moins 50 µsec pour ne pas que le premier transceiver ait eu le temps de
terminer la transmission de sa trame avant qu’il détecte la collision. Avec un débit de
10 Mbits/sec, chaque bit dure 0,1 µsec. Il faut donc une trame de longueur minimale
de 500 bits, soit 62,5 octets. Par sécurité, la longueur minimale retenue fut de 64
octets.
(f) On mentionne dans la littérature que la longueur maximale d’un segment de réseau
Ethernet 10Base-T est de 100 mètres alors que la longueur maximale du réseau est de
2 500 mètres. D’où vient cette limitation ? Comment peut-on augmenter la longueur
d’un segment?
Réponse :
Cette limitation vient principalement de l’atténuation du signal encourue
dans le canal. À l’origine, pour le 10Base-T, on utilisait une paire torsadée de
fils (twisted-pair) de catégorie 3 similaire à celle utilisée sur la portion
résidentielle du réseau téléphonique.
Si on utilise une paire torsadée de meilleure qualité, par exemple de catégorie
5, on peut atteindre une longueur de l’ordre de 150 mètres. La principale
limitation étant le niveau minimal de signal pouvant être reçu sans trop
d’erreurs à la réception. Typiquement, ce niveau se situe à 300 mv; le signal
injecté étant de 5 V pp.
Une autre façon d’augmenter la longueur d’un segment consiste à insérer un
« repeater hub », souvent nommé (à tort!) simplement « hub », qui sert
essentiellement à amplifier le signal. Il faut toutefois tenir compte du délai
pouvant être encouru dans le hub de sorte à ce que le délai maximum dans le
réseau mentionné en (e) soit respecté pour permettre de détecter les
collisions.
(g) On retrouve sur le marché des équipements de réseaux connus sous les noms de
répéteur, hub, pont, commutateur, routeur et passerelle. À quoi servent-ils?
Réponse :
Tout d’abord, ces équipements n’opèrent pas tous au même niveau des diverses
couches de protocole comme l’illustre la figure suivante
Un répéteur agit au niveau de la couche physique. Il amplifie le signal apparaissant sur
un segment du réseau et le transmet sur l’autre segment.
Un hub agit aussi au niveau de la couche physique comme un répéteur mais n’amplifie
généralement pas le signal. Il dispose de nombreuses lignes en entrée. Les trames qui
arrivent sur ses entrées sont envoyées sur toutes les autres lignes. Lorsque deux
trames arrivent en même temps, elles entrent en collision, comme sur un câble. Un
hub représente donc un domaine de collision à lui tout seul.
Les ponts et les commutateurs opèrent au niveau de la couche de liaison de données.
Un pont interconnecte deux ou plusieurs LAN alors qu’un commutateur sert plutôt à
connecter des ordinateurs individuels. Les termes « pont » et « commutateur » sont
souvent employés l’un pour l’autre.
Les routeurs opèrent au niveau de la couche réseau et interprète les paquets situés
dans le champ des données des trames. Le logiciel de routage s’appuie sur l’en-tête du
paquet pour choisir la ligne de sortie.
Les passerelles de transport connectent deux ordinateurs qui emploient des
protocoles de transport avec connexion différents.
(h) À quoi sert la couche LLC (Logical Link Control)?
Réponse :
Tout ce que ce l’Ethernet et les protocoles 802 offrent, c’est un service de transport de
datagramme au mieux (best-effort datagram service). Certains systèmes ont
néanmoins besoin d’un protocole de liaison de données assurant le contrôle de flux et
le contrôle d’erreurs. C’est le rôle du protocole de contrôle de liaison logique (LLC)
défini par l’IEEE sous le sigle 802.2
La sous-couche LLC offre 3 types de services de livraison : non fiable, avec
acquittement de trame et fiable en mode connecté.
La couche réseau sur la machine émettrice transmet à la sous-couche LLC un paquet
en utilisant les primitives d’accès LLC prévues. La souche-couche LLC ajoute un en-tête
contenant des numéros de séquence et d’acquittement. La structure obtenue est
ensuite insérée dans le champ de données d’une trame 802, puis transmise, comme
illustré à la figure suivante.
L’en-tête LLC se compose de trois champs : un point d’accès de destination, un point
d’accès source et un champ de contrôle. Les points d’accès indiquent le processus à
l’origine de la trame et celui à qui elle doit être remise. Le champ de contrôle contient
des numéros de séquence et d’acquittement.
No. 3
Une des fonctions de la couche liaison de données est de traiter les erreurs de transmission. Sur
les câbles en cuivre et la fibre optique, le taux d’erreurs est beaucoup plus faible que pour une
communication sans fil. C’est pourquoi, on se contente généralement uniquement d’une
technique de détection d’erreurs (avec demande de retransmission) plutôt que d’une technique
de correction d’erreurs.
Une méthode de détection d’erreurs est le contrôle de redondance cyclique (CRC). Supposons
que nous ayons l’octet 10011101 à transmettre et que le polynôme générateur soit x3 +1.
(a) Quel est le signal transmis?
Réponse :
Comme le polynôme générateur est de degré 3, on ajoute 3 zéros à la fin de l’octet à
transmettre pour obtenir le polynôme 10011101000.
On divise ensuite ce polynôme par le polynôme générateur 1001; ce qui donne :
10011101000 | 1001
1001
10001100
0001
0000
0011
0000
0110
0000
1101
1001
1000
1001
0010
0000
0100
0000
100
Le reste, soit 100, est soustrait du polynôme 10011101000 pour donner le polynôme
transmis 10011101100
(b) Si une erreur de transmission survient sur le troisième bit reçu, à partir de la gauche,
quelle est la valeur du reste obtenue, à la réception, après décodage?
Réponse :
Le polynôme erroné reçu est 10111101100. Ce polynôme est divisé par le polynôme
générateur 1001; ce qui donne :
10111101100 | 1001
1001
101010
0101
0000
1011
1001
0100
0000
1001
1001
0001
0000
0010
0000
0100
0000
100
Le reste n’étant pas nul, le récepteur détecte une erreur de transmission et demande une
retransmission.
No. 4
La figure suivante illustre une vue partielle de la pile des protocoles IEEE 802.11 utilisée pour les
réseaux sans fil.
(a) La norme 802.11 accepte deux modes de fonctionnement : la fonction de coordination
distribuée DCF (Distributed Coordinated Function) et la fonction de coordination par
point d’accès PCF (Point Coordination Function). En quoi consiste chacun de ces deux
modes de fonctionnement et quel protocole d’accès chacun utilise-t-il?
Réponse :
Les LAN sans fil peuvent opérer avec ou sans stations de base.
Mode DCF, aussi nommé « ad hoc ». Il ne fait appel à aucune entité de contrôle
centralisée. En cela, il ressemble à l’Ethernet. Il utilise le protocole CSMA avec
évitement de collision CSMA/CA (CSMA with Collision Avoidance).
Mode PCF, aussi nommé « point d’accès ». Il met en œuvre une station de base,
nommée point d’accès, qui invite les stations à émettre en leur demandant, dans un
ordre donnée, si elles ont des trames à expédier. Aucune collision n’est possible. La
station de base diffuse à intervalles réguliers une trame de signalisation (beacon
frame) contenant divers paramètres telles les séquences des fréquences à adopter, les
temps de maintien par fréquence (pour le FHSS), la synchronisation d’horloge, etc.
(b) Les canaux sans fil sont beaucoup plus bruités que les canaux filaires. Le taux d’erreurs
est donc beaucoup plus grand. Comment, avec la norme 802.11, arrive-t-on à obtenir un
taux d’erreurs acceptable?
Réponse :
Le protocole 802.11 autorise les trames à être fragmentées en petites portions,
chacune avec son propre total de contrôle. Les fragments obtenus sont numérotés
individuellement et acquittés au moyen d’un protocole de type « arrêt et attente »
(stop-and-wait); l’émetteur ne doit pas transmettre le fragment k+1 tant qu’il n’a pas
reçu l’acquittement correspondant à la réception correcte du fragment k. La taille de
fragment n’est pas fixée par la norme mais dépend des conditions du moment.
(c) On retrouve dans la littérature des points de vue différents sur la distance couverte par
un WLAN de la norme 802.11b. Certains mentionnent que théoriquement on peut
atteindre 300 mètres dans un environnement dégagé, d’autres mentionnent 100 mètres
alors que certains affirment que typiquement, on peut espérer 30 à 35 mètres, à
l’intérieur. Comment peut-on expliquer cette non précision et que faire pour augmenter
la portée pour des installations situées, par exemple, dans des bâtiments différents?
Réponse :
Comme il s’agit de communications RF, la portée dépend beaucoup des conditions
environnementales, telles les obstacles situées entre les diverses parties du réseau, les
interférences électromagnétiques présentes, la qualité des équipements RF utilisés,
etc.
Une façon d’augmenter la portée, à puissance transmise constante, consiste à utiliser
des antennes directionnelles plutôt qu’omnidirectionnelles. Ainsi, une plus grande
densité de puissance (watts/m2) est présente à la réception.
No. 5
La figure suivante illustre une partie du réseau Internet composée de nombreux réseaux
hétérogènes interconnectés. On peut y observer, entre autres, que des réseaux locaux (LAN)
peuvent accéder au réseau Internet.
(a) Dans quelle couche de protocoles se situe le protocole IP (Internet Protocol)?
Réponse :
Dans la couche Réseau
(b) Du point du vue protocole, comment un LAN utilisant le protocole IEEE 802.3 peut-il
accéder au réseau internet?
Réponse :
Un paquet IP, provenant de la couche réseau, est simplement inséré dans le champ de
données d’une trame MAC 802.3, sans utiliser le protocole de contrôle de liaison
logique LLC car, dans Internet, pour transporter des paquets IP, aucune garantie de
livraison n’est requise ni attendue.
(c) Un datagramme IP est constitué de deux parties : un en-tête et des données. La figure
suivante illustre le format de l’en-tête de la version IPv4.
On mentionne dans la littérature que les adresses source et destination sont écrites en
notation décimale pointée. Qu’est-ce qu’on entend par cela?
Réponse :
Dans ce format, chacun des quatre octets constituant les 32 bits, est représenté par un
nombre décimal entre 0 et 255, un point séparant deux groupes de chiffres décimaux.
Par exemple, l’adresse hexadécimale C0290614 équivaut à 192.41.6.20 en notation
décimale pointée. L’adresse IP la plus basse est 0.0.0.0 et la plus haute est
255.255.255.255
(d) Comment un ordinateur branché sur un LAN (donc possédant une adresse et un masque
de sous-réseau) fait pour savoir si un ordinateur avec lequel il veut communiquer, et
dont il connait l’adresse IP, est branché sur le même réseau que lui ou sur un autre
réseau?
Réponse :
L’ordinateur détermine d’abord l’adresse du réseau auquel il appartient en effectuant
un ET logique entre son adresse IP et son masque de sous-réseau. Puis, il fait la même
opération avec l’adresse de l’autre ordinateur et le même masque et obtient une
adresse réseau. Si les deux adresses réseaux sont les mêmes, alors l’autre ordinateur
est sur le même réseau.
No. 6
La figure suivante illustre les relations logiques existant entre les couches réseau, transport et
application.
(a) La couche transport offre les mêmes types de service que la couche réseau, soit avec ou
sans connexion. Pourquoi alors utiliser deux couches distinctes?
Réponse :
Le code de transport s’exécute entièrement sur les ordinateurs des utilisateurs, alors
que la couche réseau s’exécute principalement sur les routeurs. Ceci permet de
garantir un service transport plus fiable que le service réseau sous-jacent. Les paquets
perdus et les données altérées peuvent être détectés et compensés par la couche
transport. De plus, les primitives du service transport peuvent être implémentées sous
forme d’appels à des procédures pour les rendre indépendantes des primitives du
service réseau.
(b) La couche de transport de l’internet dispose de deux protocoles principaux : UDP User
Datagram Protocol) et TCP (Transmission Control Protocol). Sur quels points se
distinguent ces deux protocoles?
Réponse :
UDP est un protocole sans connexion alors que TCP est un protocole avec connexion.
UDP n’est pas en mesure de garantir une remise séquentielle et fiable alors que TCP
l’est.
UDP ne fait pas de contrôle de flux ni de contrôle d’erreur ou de retransmission après
réception d’un segment erroné. UDP est particulièrement adapté aux applications
client-serveur.
La couche IP ne donnant aucune garantie de bonnes remises des datagrammes, TCP
doit gérer un timer et retransmettre, si nécessaire, les données perdues. De plus, les
datagrammes peuvent très bien arriver dans le désordre; TCP doit être capable de les
rassembler en messages correctement ordonnés.
(c) Quelle procédure suit-on pour établir une connexion TCP?
Réponse :
On utilise la méthode en trois étapes proposée par Tomlinson :
Une extrémité, par exemple le serveur, attend de manière passive l’arrivée d’une
communication en exécutant les primitives « listen » et « accept » qui permettent de
désigner une source précise ou d’accepter un appel d’où qu’il vienne.
L’autre extrémité, le client, exécute une primitive « connect » qui indique l’adresse IP
et le port auxquels il souhaite se connecter, la taille maximale des segments TCP qu’il
admet et accessoirement quelques données utilisateur (comme un mot de passe). La
primitive « connect » envoie un segment TCP avec le bit SYN à 1 et le bit ACK à 0, et
attend une réponse.
Quand ce segment arrive à destination, l’entité TCP réceptrice cherche à savoir s’il
existe une application à l’écoute (« listen ») du port indiqué dans le champ « Port de
destination ». Si elle n’en trouve pas, elle renvoie une réponse avec le bit RST à 1 pour
rejeter la demande de connexion. Si un processus quelconque est à l’écoute du port,
on lui fournit le segment TCP entrant. Il peut soit accepter, soit rejeter la connexion.
S’il l’accepte, il renvoie un segment d’accusé de réception.
Téléchargement