Cahier Exercices Reseau
Cahier Exercices Reseau
Cahier Exercices Reseau
1- Réseaux
2004-2005
Ce polycopié a été élaboré par les enseignants de l'équipe "Systèmes et Réseaux B" à partir
d'exercices rédigés par MM. Berthelin, Cubaud , Farinone, Florin, Gressier-Soudan et Natkin.
1
2
1• Les couches de protocoles
Exercice 1 : Le modèle OSI
Applications Applications
Présentation Présentation
Session Session
Transport Transport
Réseau Réseau
Liaison Liaison
Physique Physique
support
de
transmission
3
Exercice 3 : La couche Liaison
Question 1. La trame Ethernet
Le format de l'information qui passe sur le médium de communication est le suivant, ce qui est en gras
matérialise la trame Ethernet :
Préambule Délimiteur Adresse Adresse Type Informations FCS
de début destination source
7 octets 1 octet 6 octets 6 octets 2 octets 46 à 1500 octets 4 octets
Voici la trace hexadécimale d’une communication point à point prélevée par un espion de
ligne (SNOOP):
00: 0800 2018 ba40 aa00 0400 1fc8 0800 4500 .. ..@........E.
16: 0028 e903 4000 3f06 6a5c a3ad 2041 a3ad .(..@.?.j\.. A..
32: 80d4 0558 0017 088d dee0 ba77 8925 5010 ...X.......w.%P.
48: 7d78 1972 0000 0000 0000 0000 0000 0000 }x.r............
Quel champ, par sa valeur permet de différencier les deux types de traces pour
les communications à un seul destinataire ou à plusieurs destinataires?
4
Comment un seul message peut-il parvenir à plusieurs destinataires
simultanément ?
5
Exercice 4 : La couche Réseau
Question 1. Adressage IPv4
Une adresse IPv4 est définie sur 4 octets. L’adressage IPv4 (Internet) est hiérarchique. Un réseau IPv4
est identifié par son numéro de réseau. Une machine est identifiée par son numéro dans le réseau.
L’adresse IPv4 d’une machine est donc composée d’un numéro de réseau et d’un numéro de machine.
Exemple pour le CNAM (autrefois), la machine ‘asimov’ avait l’adresse IPv4 192.33.159.6 avec
192.33.159 (3 octets : réseau) et .6 (1 octet : la machine ‘asimov’ dans le réseau
192.33.159).
Sur l’internet, deux machines à deux endroits différents peuvent elles posséder la
même adresse IPv4 ?, si oui, à quelle condition ?
Dans le même réseau IPv4, deux machines différentes peuvent elles posséder la
même adresse IPv4 à deux moments différents ? Chercher un contexte
d’utilisation.
Voici l’affichage de la commande UNIX ‘ifconfig’ sur une machine :
le0: flags=863<UP,BROADCAST,NOTRAILERS,RUNNING,MULTICAST> mtu 1500
inet 192.33.159.212 netmask ffffff00 broadcast 192.33.159.255
ether 8:0:20:18:ba:40
6
Trace d’une communication point à point prélevée par SNOOP :
ETHER: ----- Ether Header -----
ETHER: Packet 3 arrived at 11:42:27.64
ETHER: Packet size = 64 bytes
ETHER: Destination = 8:0:20:18:ba:40, Sun
ETHER: Source = aa:0:4:0:1f:c8, DEC (DECNET)
ETHER: Ethertype = 0800 (IP)
IP: ----- IP Header -----
IP: Version = 4
IP: Header length = 20 bytes
IP: Type of service = 0x00
IP: x xx. .... = 0 (precedence)
IP: ...0 .... = normal delay
IP: .... 0... = normal throughput
IP: .... .0.. = normal reliability
IP: Total length = 40 bytes
IP: Identification = 41980
IP: Flags = 0x4
IP: .1.. .... = do not fragment
IP: ..0. .... = last fragment
IP: Fragment offset = 0 bytes
IP: Time to live = 63 seconds/hops
IP: Protocol = 6 (TCP)
IP: Header checksum = af63
IP: Source address = 163.173.32.65, papillon.cnam.fr
IP: Destination address = 163.173.128.212, jordan
IP: No options
TCP: ----- TCP Header -----
TCP: Source port = 1368
TCP: Destination port = 23 (TELNET)
TCP: Sequence number = 143515262
TCP: Acknowledgement number = 3128387273
TCP: Data offset = 20 bytes
TCP: Flags = 0x10
TCP: ..0. .... = No urgent pointer
TCP: ...1 .... = Acknowledgement
TCP: .... 0... = No push
TCP: .... .0.. = No reset
TCP: .... ..0. = No Syn
TCP: .... ...0 = No Fin
TCP: Window = 32120
TCP: Checksum = 0x3c30
TCP: Urgent pointer = 0
TCP: No options
TELNET: ----- TELNET: -----
TELNET: ""
A votre avis, à quoi correspondent les étiquettes TCP et TELNET ?
Combien y a-t-il d’encapsulations successives ?
Trace hexadécimale d’une communication point à point :
3 0.00000 papillon.cnam.fr -> jordan TELNET C port=1368
00: 0800 2018 ba40 aa00 0400 1fc8 0800 4500 .. ..@........E.
16: 0028 a3fc 4000 3f06 af63 a3ad 2041 a3ad .(.ü@.?..c.. A..
32: 80d4 0558 0017 088d de7e ba77 66c9 5010 ...X.....~.wf.P.
48: 7d78 3c30 0000 0000 0000 0000 0000 0000 }x<0............
7
Déterminer le début du paquet IPv4.
Déterminer la fin de l’entête du paquet IPv4.
Déterminer la fin de l'entête TCP.
8
2• Couche Physique
Exercice 1 : Shanon et Nyquist
Un support physique de communication a une bande passante de 1 MHz.
Question 1
Quel est le débit maximum théorique d'information pouvant circuler sur ce
support lorsqu’on utilise une modulation de valence 2 (bivalente) ?
Question 2
Le signal généré dans cette voie est tel que le rapport signal à bruit obtenu est de 20 dB.
Quel est le débit maximum théorique d’informations pouvant être acheminées par
cette voie ?
Quelle valence faudrait-il pour approcher ce débit maximum théorique ?
Exercice 2 : Modulation
On rappelle que le modem V29 fonctionne à 9600 bit/s sur liaison 4 fils en full duplex. Le procédé de
modulation est une modulation combinée de phase octovalente et de modulation d'amplitude bivalente
(pour chaque phase utilisée on code en amplitude deux niveaux). On suppose que l'on utilise une voie
physique de largeur de bande 3200 Hz.
Question 1
Quelle est la valence du signal modulé ? Quelle est sa rapidité de modulation ?
Question 2
Quel est le rapport signal à bruit minimum permettant la transmission, si l'on
suppose que la voie est soumise à un bruit blanc gaussien (formule de Shanon) ?
Si le rapport signal à bruit est de 10 dB, la transmission est-elle possible ?
9
On suppose que l'émetteur sait quand un message est mal reçu et qu'il le retransmet.
Calculer en fonction de p le nombre moyen de transmissions. Est-il possible de
respecter (en négligeant le temps écoulé entre 2 retransmissions) la fréquence
d'émission de 12 messages/seconde ?
R3 R2 R1 ou-ex R0 ou-ex
SORTIE
ENTREE
horloge
Le circuit recoit en entrée les bits du mot M (le bit de poid fort d'abord). Les registres R0 … R3 sont
initialisés à zéro. Au 4ème coup d'horloge, ils ont tous reçu une valeur. Au 10ème coup, tous les bits de M
ont été chargés. C'est pendant les 4 coups suivants que se fabriquent les bits de redondance.
Donner le contenu des registres pour chaque coup d'horloge.
10
3• Niveau liaison (1)
Programmation d'une fenêtre glissante
Exercice 1 : Les bienfaits de l'anticipation
Pour transmettre des messages entre deux stations A et B, on utilise un satellite situé à 36000 km de la
terre. Les messages font 1000 bits et le débit de la liaison est de 50 Kb/s. On rappelle que le délai de
propagation d'une onde électromagnétique dans l'espace est voisin de la vitesse de la lumière, soit 300000
km/s.
Quel est le temps de transmission d'un message de A vers B ?
On utilise une procédure dite d'attente réponse : A envoie un message vers B et attend que B acquitte
ce message pour en envoyer un autre. Le message d'aquitement fait 100 bits.
Calculer le débit effectif de la liaison et son taux d'utilisation.
Au vu des résultats précédents, on décide de faire de l'anticipation, c'est à dire que A peut envoyer K
messages au maximum avant de recevoir l'acquitement du premier (il y a un message d'acquit par message
émis).
Calculer la valeur de K qui maximise le taux d'utilisation.
Question 1
A quelles conditions d'erreurs sur la liaison de données les spécifications
précédentes correspondent-elles ?
Question 2
Montrer plusieurs situations d'utilisation de l'acquittement dans un échange
d'information bidirectionnel.
Rappeler le principe du piggybacking.
Question 3
A quoi sert le mécanisme de temporisation ?
Question 4
11
Rappeler le principe du contrôle de flux dans la liaison de données. A quoi sert-
il?
Question 5
Rappeler brièvement pour les protocoles de liaison le principe de la gestion des
fenêtres en émission
On suppose que chaque émetteur peut utiliser au maximum Maxseq+1 numéros de séquence différents
numérotés de 0 à Maxseq (numérotation en modulo Maxseq+1).
Expliquer pourquoi la taille de la fenêtre en émission doit rester inférieure à Max
seq quand la taille de la fenêtre en réception vaut 1.
Mettre en évidence un cas d'ambiguïté.
Question 6
Quelle est la taille de la fenêtre en réception pour le protocole étudié ?
Question 1
Rappeler brièvement pour les protocoles de liaison le principe de la gestion des
fenêtres en réception
Question 2
On suppose toujours que chaque émetteur peut utiliser au maximum Maxseq+1 numéros de séquence
différents numérotés de 0 à Maxseq (numérotation en modulo Maxseq+1).
Expliquer pourquoi la taille maximum de la fenêtre en réception doit rester
inférieure à (Maxseq+1 )/ 2.
Mettre en évidence un cas d'ambiguïté.
Indiquer pourquoi la taille de la fenêtre en réception ne peut être supérieure à la
taille de la fenêtre en émission.
12
4• Niveau liaison (2)
Protocoles de type HDLC
Exercice 1 : Protocole à trames HDLC (cas disymétrique)
Commenter l'échange ci-dessous.
Chaque trame est spécifiée par TYPE - N(s) - N(r) - P/F.
Ê RR-0-P
DM-F
SNRM
silence
SNRM-P
UA-F
RR-0-P
I-0-0
I-0-0
I-1-0
I-1-0
I-2-1-F
I-2-3-P
RR-3-F
I-3-3
I-4-3-P
13
Suite de l'échange :
RR-5-FÊ
SNRM
CMDR-F
RR-3-P
I-?-?
I-?-?
I-?-?
I-?-?
REJ-4
I-?-?
I-?-?
I-?-?
I-?-?-F
RR-?-P
RR-?-F
????
????
14
Exercice 2 :
Automate d'états pour un protocole de type HDLC
Sur le diagramme d'automate suivant on note N(S) le numéro de séquence d'une trame d'information et
V(R) le numéro de la trame attendue en réception. Sur chaque transition sont portées une trame reçue
conditionnant le franchissement (suivi de ?), une trame émise (suivi de !) et une condition booléenne (suivi
de ?).
(I) ?
(N(S)=V(R))?
(RR) !
1
(I)? 1 6
(N(S)°V(R)? (RNR) !
(REJ) ! 3 (RR) !
2 (I)?
(N(S)=V(R))? 5
(RR) ! 7
2 (REJ) ! 3
(RNR) ! 8
(I) ?
4 (N(S)°V(R)?
(REJ) !
Question 1
Que signifient les états 1, 2, 3 (symbolisés par des cercles) ?
Question 2
Que signifient les transitions 1, 2, …8 (symbolisées par des rectangles) ?
Question 3
Le protocole ne se comporte-t-il pas d’une façon surprenante du point de vue de
l'état 3 ?
Proposer une modification de l’automate qui le rende plus cohérent.
Question 4
Est-ce que le protocole utilise toutes les posibilités d'HDLC pour le contrôle de
flux ?
15
5• Ethernet
Exercice 1 :Ingénierie des réseaux Ethernet
Question 1 : réseau Ethernet 10 base T
Comment fonctionne un répéteur Ethernet 10 base T (un « hub ») ?
Comment fonctionne un commutateur Ethernet 10 base T (un «lan switch») ?
Quel est la différence de fonctionnement d'une carte ethernet en mode «Ethernet
half duplex» et en mode «Ethernet full duplex» ?
On rappelle que la trame Ethernet est précédée de 8 octets de synchronisation («préambule»), que la
trame comporte au moins 64 octets d'informations significatives et que l’intervalle de temps qui sépare
deux trames successives est d'au moins 9.6µs. Un commutateur Ethernet annonce dans sa publicité une
performance par porte à 10 Mbit/s de 14 880 pps (paquet par seconde).
Comment un acheteur peut-il interpréter cette annonce de performances ?
Question 2 : réseau "fast ethernet" (Ethernet 100 base T )
Quelles sont les principales similitudes entre le réseau Ethernet 10 base T et le
réseau Ethernet 100 base TX ?
Et les principales différences ?
On rappelle que la taille minimum d'une trame Ethernet est de 64 octets. On suppose pour fixer les
idées que la vitesse de propagation du signal dans le médium de communication ethernet est de 200000
km/s.
Quelle est la distance maximum théorique qui peut séparer deux stations dans un
réseau Ethernet 100 base T partagé (à base de répéteurs) ?
Les distances effectivement recommandées sont de 90 mètres d'une station à un répéteur sur paires
UTP5 avec possibilité de monter en cascade deux répéteurs séparés par 5 mètres de câble.
Qu'est ce qui explique la différence entre la réponse à la question précédente et
les valeurs effectives ?
Certains standards spécifient des distances possibles d'utilisation de 2 kilomètres avec des fibres
optiques.
A quel type d'Ethernet correspondent de tels standards ?
Question 3 : Ethernet gigabit
Supposons qu'une taille minimum de 64 octets soit retenue pour un réseau Ethernet gigabit partagé et
que la vitesse de propagation du signal soit de 200000km/s.
Quelle est la distance maximum possible entre deux stations d'un réseau Ethernet
gigabit ?
La norme a prévu de rallonger la taille minimum de trame en la multipliant par 8 soit 512 octets (4096
16
bits) au lieu de 46 octets.
Quelle est la distance possible entre deux stations du réseau ?
Exercice 2 :
Etude d'un scénario de communication Ethernet
On considère un réseau local dont le partage de la voie est géré selon un algorithme CSMA/CD 1-
persistant. La retransmission en cas de collision est effectuée selon l'algorithme du retard exponentiel
binaire tronqué.
Ce réseau gère les transmissions entre 4 stations A, B, C et D.
Dans ce problème on utilise comme mesure de temps le "slot time". Les délais d'espacement intertrames
ainsi que les durées de détection de voie libre sont négligés. Le temps de détection de collision est égal à 1
slot.
A l'instant t = 0 la station A acquiert la voie et commence à transmettre un message.
A l'instant t = 5 les stations B, C, et D recoivent une demande de transmission de message.
Puis, pendant toute la durée considérée dans l'exercice aucune autre demande de transmission n'est
soumise aux stations.
Tous ces messages sont de taille fixe et la durée de leur transmission est égale à 6 slots.
L'algorithme du retard binaire est implanté de la façon suivante :
Binary_backoff(attempts)
begin
if attemps = 1 then
maxbackoff := 2
else
if attempts = 10 then
maxbackoff := backofflimit
else
maxbackoff := maxbackoff * 2
endif
endif
delay := int (random * maxbackoff)
Wait (delay * slot_time)
end
attempts est le nombre de tentatives pour accéder à la voie y compris celle en cours.
backoff_limit vaut 210
int est une fonction qui rend la valeur entière par défaut
random est un générateur de nombres aléatoires compris entre 0 et 1.
Dans l'exemple on considèrera que la fonction random rend successivement pour chaque station les
valeurs données par le tableau suivant :
Station B C D
17
2e tirage 3/4 1/6 5/8
Question 1
Compléter le diagramme suivant en indiquant pour chaque slot l'état de la voie.
Un slot occupé par la transmission d'un message correctement émis par la station A est représenté par "A"
Un slot occupé par une collision est représenté par "X"
Un slot correspondant à une absence de transmission est représenté par "—"
t=0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
Question 2
Calculer le taux d'utilisation de la voie sur la période allant de t = 0 à la fin de
la transmission du dernier message.
18
6• Installation de réseaux
Ethernet partagés
Lors du déploiement d'un réseau Ethernet partagé on doit se préoccuper de la topologie du réseau afin
de maintenir le diamètre de collision dans certaines limites.
Question 1
En Ethernet partagé qu'est ce qu'un domaine de collision? On caractérise le
diamètre de collision par le temps d'aller-retour ('round trip delay'), pourquoi?
Question 2
Les informations que l'on utilise pour étudier une topologie Ethernet partagée incluent:
- le type des segments Ethernet utilisés (coaxial 10 Base 5, paire torsadée 10 Base T, fibre optique 10
Base FL, …),
- la longueur des segments,
- la topologie d'ensemble des répéteurs et des segments.
Un réseau est correctement construit s’il respecte certaines règles concernant son domaine de collision.
On peut utiliser la règle simple des 5 segments et 4 répéteurs au plus entre deux stations. A cette règle sont
associées des précisions restrictives concernant les types et les tailles des segments mais les coefficients de
sécurité appliqués sont importants. Dans certains cas cette règle s'avère insuffisante. Il est indispensable de
faire un calcul précis, soit parce que le nombre de répéteurs et de segments est élevé (gros réseau), soit
parce que la longueur des segments est importante (extension géographique grande).
La norme de base Ethernet IEEE 802.3 propose une méthode de calcul des délais de propagation très
détaillée mais très complexe. Le groupe de travail sur les réseaux locaux IEEE 802.3 a proposé ensuite
une méthode simplifiée mais néanmoins précise. Cette méthode, que nous allons étudier maintenant, est
définie pour tous les réseaux Ethernet (10 Mb/s, 100 Mb/s, 1000 Mb/s).
On considère ici pour simplifier le cas des réseaux Ethernet à 10 Mb/s. Dans la méthode pour
déterminer si un réseau est correctement construit, les calculs à réaliser expriment les délais en bits. En fait
chaque bit transmis sur un réseau Ethernet étant associé à un certain délai de propagation au débit nominal
considéré (ici 10 Mb/s), on considère qu'il y a équivalence entre mesurer un temps et mesurer un nombre
de bits.
Comment a été définie la tranche canal ('slot time') ? Quelle est sa durée ?
Si l'on se base sur la durée de la tranche canal, quel est le nombre de bits qui
permet de mesurer le diamètre de collision ?
Question 3
En fait la trame Ethernet 10 Mb/s comporte un préambule utilisable également dans la détection des
collisions puisqu'il rallonge la trame. Ce n'est plus vrai dans les normes 100 Mb/s ou 1000 Mb/s qui
utilisent d'autres techniques de codage et de synchronisation.
Dans le cas du réseau à 10 Mb/s si l'on réunit le préambule et la trame pour
19
définir la partie utilisable dans la détection des collisions, quel est le nombre de
bits associé diamètre de collision ?
La norme recommande d'introduire une sécurité supplémentaire de 5 temps bit pour ne pas trop
s'approcher de la limite.
Quel est le résultat final?
Pour faire le calcul on doit tout d'abord déterminer le couple de stations connectées au réseau qui sont
les plus éloignées (le pire des cas). On considère ensuite que ces stations sont interconnectées au moyen
de répéteurs et de segments de trois types: un segment gauche, un ou plusieurs segments au centre et un
segment droit. Pour chaque segment on fait apparaître sur le dessin qui suit, les câbles d'attachement
(câbles 'drop') notés par un trait simple, les MAU (transmetteurs) représentés par une boite avec la lettre
M et le médium noté par un double trait. Les segments sont connectés par des répéteurs représentés par
une boîte avec la lettre R.
M M R M M R M M
Question 4
Rappeler brièvement les définitions des différents organes présents dans la chaîne
de la figure ci-dessus : interface AUI, câble d'attachement (câble 'drop'),
transmetteur MAU, médium, répéteur (‘hub’)
Question 5
Le tableau suivant représente pour les quatre types principaux de segments Ethernet (10 Base 5, 10
Base 2, 10 Base T, 10 Base FL) et pour le câble d'attachement les délais de propagation. En fait on y
trouve :
- la longueur maximum en mètres,
- pour les trois positions possibles de segments (gauche, centre, droit), le nombre de bits pour un
segment de base (segment de longueur minimum que l'on considère nulle),
- le nombre de bits pour un segment de longueur maximum
Pour des longueurs intermédiaires entre valeur de base et valeur maximum, le nombre de bits est linéaire
en fonction de la longueur.
20
Segment gauche Segment centre Segment droit
21
On suppose que les transmetteurs optiques sont dans les stations et que les câbles d'attachement
AUI sont de longueur de base.
Question 6
On considère maintenant le réseau de la figure ci-dessous qui comporte cinq segments et quatre
répéteurs Ethernet.
Répéteur Répéteur
10 Base T M M M
100m 10 Base 2
10 Base 5 10 Base FL 10 Base 5 185 m
500 m 1,6 Km 500 m
M M M
Répéteur Répéteur
Question 7
Un autre problème se pose pour déployer correctement un réseau Ethernet, c'est de respecter le délai
Inter trame de 9,6 microsecondes (‘Interframe Spacing’). Ce délai est indispensable pour permettre aux
appareils Ethernet de séparer correctement les trames. On offre ainsi un délai de relaxation qui permet aux
équipements de terminer le traitement d'une trame avant de passer à la suivante. Or quand les trames
traversent des équipements successifs qui ont des temps de réponse différents ou qui effectuent une
reconstruction du signal (comme les répéteurs) il en résulte un raccourcissement apparent de l'intervalle
inter trame (baptisé en anglais 'Interframe Gap Shrinkage'). Si ce rétrécissement est trop grave, les trames
successives ne sont plus distinguées et on perd des trames car les contrôleurs considèrent que deux trames
successives n’en font qu’une. La norme définit que le délai inter trame peut être raccourci jusqu’à 4,7
microsecondes sans risque. Au delà on estime que le réseau est mal construit.
Pour évaluer le raccourcissement on découpe le réseau selon les mêmes règles que précédemment et on
évalue encore le raccourcissement en nombre de bits. On ne distingue plus que deux types de segments :
segment de coaxial et autre segment. Par ailleurs on comptabilise seulement le segment gauche (celui sur
lequel la trame est émise) et tous les segments milieux. Le segment droit ne participe pas au bilan global. Le
tableau ci-dessous définit les valeurs de raccourcissement du délai inter trame en bits.
Type de segment Segment gauche Segment milieu
Coaxial 16 11
Autre 10,5 8
Figure 5. Raccourcissement du délai inter-trame
22
Est ce que le réseau Ethernet de la figure 3 est correctement construit du point de
vue du raccourcissement du délai inter trame ?
Même question avec le réseau de la figure 4
23
7• Routage dans les
commutateurs de réseaux locaux
Un ingénieur réseau reprend l’administration d’une architecture de réseau local ou tout fonctionne
en Ethernet. L'architecture est constituée de quatre commutateurs (‘lan switches’) numérotés 1 , 2 , 3 , 4 et
de deux concentrateurs (‘hubs’) selon la figure suivante. Les commutateurs sont configurés en
fonctionnement transparent avec l’algorithme de l’arbre couvrant (‘spanning tree’). Pour chaque appareil,
ont été mentionnés les numéros des ports utilisés pour l’interconnexion. L'architecture mentionne aussi trois
tronçons Ethernet servant de liaison entre commutateurs (lien 1, 2, 3) ainsi que quelques stations de travail.
Pour chaque voie de communication Ethernet on a mentionné son débit soit 10Mb/s soit 100 Mb/s soit
1000 Mb/S.
Concentrateur 1
(hub)
1 7 8 10 1
10
100 3
A
10 C
7 Commutateur 2
100 (switch)
8
1
B
100
1000
4
Commutateur 1 Lien 2
(switch)
8 Lien 1
1
100 100
100 E 4
Commutateur 3
1 6 8 100 (switch)
7
D Concentrateur2 8
(hub) 100
Lien 3
1
100
4
F
Commutateur 4
7 (switch)
24
Les ports des commutateurs qui sont utilisés, sont numérotés sur la figure. La consultation des
tables de configuration dans les commutateurs donne les informations suivantes :
Question 1
Pour cette architecture, lorsque l’on fait fonctionner l’algorithme de l’arbre couvrant on élit un
commutateur racine (‘root switch’).
25
1.2) Comment est-il choisi ?
1.3) Quel est le commutateur qui est élu racine de l’arbre couvrant pour
l’architecture donnée en exemple ?
Question 2
Pour chaque commutateur on élit un port racine (‘root port’).
Question 3
Pour chaque tronçon de réseau local ou voie de communication on élit un port désigné.
Question 4
Après cette étude dessinez l’arbre couvrant construit automatiquement par
l’algorithme de routage. Placez les commutateurs par niveaux en commençant par
le commutateur racine, indiquez les ports racines par des cercles gris et les ports
désignés par des carrés noirs, placez les stations ?
Question 5
Comment fonctionne la construction des tables de routage. La table de routage
peut-elle être indépendante de l’arbre couvrant construit ? Pourquoi ?
Question 6
Quelle est la table de routage du commutateur 3 après une durée de fonctionnement
suffisamment longue qui permet une connaissance complète du réseau et de son
arbre couvrant ?
Question 7
Finalement ce réseau vous paraît-il bien construit. Si non que proposez vous pour
en améliorer le fonctionnement ?
26
8• Gestion des adresses et du
routage en IPv4
Exercice 1 : Adressage IPV4 de base (hiérarchisé à deux
niveaux).
L’adressage IPV4 a été créé dans sa version de base en distinguant trois classes d’adresses associées à
trois classes de réseaux notés A, B et C.
1) Comment est notée l’adresse d’un hôte et l’adresse d’un réseau ?
2) Comment un ordinateur hôte ou un routeur reconnaissent-il qu’une adresse de
destination appartient à l’une des classes ?
3) Quelle est la proportion relative du nombre d’adresses IPV4 affectées aux
différentes classes A, B, C ? En déduire une conséquence si l’utilisation des
adresses de classe A (ou B) est inefficace.
4) Quelle est l’opération effectuée sur une adresse de station pour déterminer son
adresse de réseau ?
5) Comment l’adresse d’un hôte destinataire est elle utilisée pour le routage ?
On vient de voir que les conventions d’adressage de base IPV4 permettent implicitement la
détermination de l’appartenance d’une adresse à l’une des classes A, B, C ainsi que celle de l’adresse du
réseau auquel il appartient. Bien que cela ne soit pas nécessaire on souhaite maintenant pour toute adresse
IP rendre explicite l’adresse de son réseau d’appartenance en utilisant systématiquement la notation
‘adresse/n’. On rappelle que dans cette notation n est la longueur du préfixe définissant le réseau
d’appartenance ou le nombre de bits en fort poids du masque.
6) Quelle sont les valeurs de n1 et n2 pour les adresses suivantes :
17.234.16.45/n1, 207.12.231.23/n2.
7) Pourquoi a t’on procédé à un tel découpage et quels en sont les difficultés
actuelles ?
Question 1
27
Quel est le découpage que doit effectuer l’ingénieur système ? En déduire la
valeur du masque de sous réseau. On donnera le résultat dans la notation
décimale pointée et dans la notation /n.
Question 2
On considère le 2ème sous réseau dont l’adresse.
Quelle est son adresse complète de sous réseau ?
Quelle est l’adresse de diffusion à tous les hôtes de ce sous réseau ?
Question 1
Considérons l’adresse CIDR d’un réseau qui serait 193.53.32.0/20.
Quelle serait le nombre d’hôtes que comporterait ce réseau ?
Question 2
Dans le réseau précédent 193.53.32.0/20 quelle est l’adresse la plus petite
utilisable pour un hôte et quelle est la plus grande ?
Question 3
Supposons qu’un utilisateur restitue une ancienne adresse de classe A, B ou C comme 17.0.0.0 ou
134.15.0.0 ou 194.65.32.0 anciennement attribuées.
Ces adresses n’étant plus jamais utilisées par leurs anciens propriétaires,
pourrait-on les attribuer à nouveau selon l’approche CIDR (attribuer par
exemple 17.46.64.0/19, 134.15.0.0/20 et 194.65.32.0/21) ?
Question 4
Une entreprise s’adresse à un Prestataire de Service Internet PSI (ISP ‘Internet Service Provider’)
pour obtenir 800 adresses.
Que devait faire le prestataire dans l’adressage par classes A, B, C pour
28
satisfaire son client et avec quels inconvénients ?
Question 5
Nous supposons que le prestataire d’accès Internet a reçu pour exercer son activité le bloc
d'adresses CIDR 202.0.64.0/18 avec lequel il a constitué son réseau. Chaque prestataire est libre de
découper son espace d’adresse comme il l'entend pour fournir des adresses à ses clients. Les clients
peuvent également à leur tour découper l'espace reçu pour le distribuer en interne selon les principes
CIDR. Ils pourraient même devenir prestataires d’accès Internet.
Pour un client demandant 800 adresses que va faire le prestataire si au
moment de la demande la première adresse réseau qui est libre est
202.0.70.0 ?
Question 6
Comment se passe avec CIDR le routage dans le réseau Internet pour atteindre
l’un des hôtes appartenant au réseau du client ayant obtenu les 800
adresses ?
Vous prendrez si nécessaire une adresse à titre d’exemple dans cet ensemble.
Question 7
En résumé montrez en quoi CIDR constitue une amélioration majeure de
l’adressage IPV4.
Question 1
Quelles sont les adresses IPV4 qui sont définies comme adresses privées (ou
locales) et quelles sont les adresses qui sont définies comme publiques ou
globales ?
Question 2
Comment sont attribués ces deux types d’adresses ?
Question 3
Comment sont utilisés ces deux types d’adresses (quelles sont les règles mises
en oeuvre pour ces adresses dans un routeur d’un réseau IPV4 privé c’est à
29
dire un réseau d’entreprise ou un réseau personnel et dans un routeur du
réseau IPV4 global) ?
Question 4
Dans quels buts a-t-on défini ces deux types d’adresses (avec quels avantages et
quels inconvénients) ?
Question 1
Dans le mode NAT statique l’adresse IPV4 source privée est traduite en une adresse IPV4 source
publique qui est toujours la même. La correspondance dans ce cas est bijective (biunivoque) c'est-à-dire
qu’à une adresse privée est associée de manière statique une adresse publique (selon une table de
correspondance statiquement définie par un administrateur réseau).
Quelle utilisation peut-on faire d’un tel mode de traduction d’adresses IP ? Quels
sont les inconvénients ?
Question 2
Dans le mode NAT dynamique, la traduction d’une adresse source IPV4 privée est effectuée vers une
adresse source IPV4 publique qui est prise dans un bloc d’adresses publiques disponibles. L’adresse
publique utilisée n’est donc pas toujours la même. Par exemple si l’on suppose que l’hôte d’adresse
172.20.40.17 émet un datagramme à un instant donné vers l’Internet global, son adresse est traduite dans
la première adresse disponible d’un bloc. Par exemple, si l’adresse 212.19.50.63 du bloc disponible
212.19.50.0 à 212.19.50.255 est non utilisée au moment de l’émission du datagramme, on l’utilisera et on
traduira 172.20.40.17 en 212.19.50.63. Cette correspondance est enregistrée dans une table. De manière
à éviter de bloquer indéfiniment une adresse attribuée dynamiquement, un temporisateur est utilisé pour
révoquer l’attribution d’une adresse publique. A l’échéance, on récupère une adresse attribuée et l'on
30
procède à une nouvelle attribution d’adresse si un nouvel échange à lieu (éventuellement on peut reprendre
la même adresse pour un autre quantum).
Question 3
Le troisième mode est connu sous différents noms (mode NAT avec surcharge NAT 'overloading'
encore appelé NAT with PAT 'Port Address Translation'). Dans ce cas la traduction d’une adresse
source IPV4 privée vers une adresse source IPV4 publique est complétée par la traduction du
numéro de port. Le plus souvent, dans ce cas on suppose l'utilisation d'une seule adresse publique
(par exemple une adresse publique comme 212.19.50.63 disponible). Si l’on suppose que l’hôte
d’adresse 172.20.40.17 émet un datagramme selon le protocole TCP avec le numéro de port
source 5032, alors son adresse IP est traduite en l’adresse IP publique (212.19.50.63) et le numéro
de port source TCP est également traduit vers un numéro de port non utilisé (par exemple 4097 si
ce port n'est pas déjà attribué à une autre communication). Comme dans le cas du NAT dynamique,
les attributions sont associées à un temporisateur avec récupération à échéance. Ce mode de
fonctionnement est le plus utilisé.
31
9• Fonctionnement d'IP
Exercice 1 : Fragmentation IP
Question 1
Dans un réseau qu'est ce que la fragmentation?
Question 2
Comment fonctionne la fragmentation en IP V4 (expliquez en les principes
généraux) ?
Question 3
Un client de messagerie F transfère un message électronique de 4000 octets de données vers un serveur
distant en utilisant trois voies de communication successives selon la figure ci-après. On considère que
toutes les entêtes ajoutées par les différentes couches de protocoles traversées au dessus de la couche IP
font partie des 4000 octets. Dans les datagrammes IP l'entête est une entête standard de 20 octets (il n'y a
pas d'options rajoutées en extensions dans les entêtes IP).
Serveur Messagerie
Client de messagerie F distant
MTU : 500 octets
MTU : 1500 octets MTU : 1500 octets
LS
Réseau R1 : Ethernet Réseau R2 : Ethernet
(Fournisseur)
Routeur Routeur
F D
Expliquez dans les grandes lignes le fonctionnement de la fragmentation dans ce
cas.
Combien de datagrammes sont échangés, où sont-ils créés?
Question 4
Pour l'exemple précédent décrivez précisément les entêtes des datagrammes IP
échangés. Vous ne décrirez que les champs associés à la fragmentation et la
longueur du datagramme ?
32
Exercice 2 : Principe de base du routage dans le réseau
Internet
Dans un routeur IP la table de routage comporte pour chaque entrée une route. On trouve dans
l'exemple de la table suivante:
- un numéro d'entrée pour se repérer facilement,
- l'adresse de destination,
- le masque de réseau de l'adresse destination (en notation /n),
- l'adresse IP du prochain routeur ou du prochain hôte à visiter sur la route,
- le coût (la métrique).
D'autres informations sont prévues dans les tables de routage IP mais n'apparaissent pas dans l'exemple
comme l'adresse du port à utiliser en sortie ou le type de la route pour définir si le datagramme IP doit
atteindre une destination distante ou s'il est à délivrer à sa destination par le présent routeur.
Question 1
Rappeler le test à appliquer à chacune des entrées de la table pour déterminer
parmi celles-ci quelles sont celles qui correspondent à des routes permettant
d'atteindre une destination donnée. Application à la destination 10.1.8.66.
Quelles sont les routes qui passent positivement le test ?
33
Question 2
Lorsque l'on a opéré ce premier élagage on réalise un second élagage conduisant à choisir les
routes qui sont associées aux masques les plus longs.
Pourquoi les routeurs doivent-ils réaliser une recherche de "correspondance la
plus longue" (‘Longest Match based forwarding algorithm’) ?
Donner le numéro des entrées qui passent ce second filtrage.
Question 3
Les routeurs peuvent ensuite arbitrer entre différentes routes selon un routage de la pomme de terre
chaude. Dans le paquet IP il existe dans l'entête une zone dédiée à la qualité de service du paquet (TOS
'type of service'), qui contient deux informations. Rappelez la signification de ces deux informations de
qualité de service.
Que peut faire un routeur pour utiliser cette zone et filtrer entre les différentes
routes encore jugées équivalentes?
Question 4
Un quatrième filtrage peut utiliser la métrique.
Rappeler la signification de cette valeur.
Comment utiliser cette entrée dans la table de routage pour filtrer entre les
différentes routes qui seraient encore jugées équivalentes ?
Question 5
Un cinquième filtrage peut mettre en avant des techniques propres à chaque fabricant de routeur.
Quelle optimisation plus globale au réseau peut-on encore réaliser si l'on a
encore plusieurs routes jugées équivalentes ?
Question 6
S'il n'existe plus lors de l'une des étapes précédentes de route possible pour
atteindre le destinataire, que se passe t'il?
34
10• Déploiement de réseaux IP
Un ingénieur réseau doit installer un nouveau sous-réseau Internet dans son entreprise. L'organisation
administrative et géographique des ordinateurs à raccorder est telle qu'il apparaît naturel de créer deux
groupes de 5 et 13 hôtes. Chaque groupe de postes est interconnecté au moyen d'un réseau ethernet
partagé. On utilise pour cela un répéteur (par exemple de standard 10 BaseT). On associe aux deux
groupes, deux sous-réseaux IP et on interconnecte les deux sous-réseaux au moyen de routeurs. Un
routeur existant dans l'entreprise baptisé dans la figure suivante routeur 'base' sert à connecter le nouvel
ensemble au reste du réseau d'entreprise. Chaque sous-réseau dispose d'un routeur. Ces routeurs sont
baptisés 'charnière' pour le groupe de 13 hôtes et 'arrivée' pour le groupe de 5 hôtes. Les routeurs sont
connectés au moyen de deux liaisons spécialisées point à point notées Liaison spécialisée 1 et 2.
Routeur 'base'
1
Liaison
Sous réseau 3 Spécialisée 1
Répéteur
2
5
Routeur 'charnière'
Sous réseau 1 13 hôtes
3
Liaison
Sous réseau 4 Spécialisée 2
Répéteur
4
6
Routeur 'arrivée'
Sous réseau 2
5 hôtes
35
L'ingénieur réseau doit attribuer des adresses IP pour le sous-réseau 1, c'est à dire pour chacun des 13
hôtes qui constituent ce sous réseau IP, mais aussi pour le port du routeur 'charnière' qui dessert le sous-
réseau 1. Ce port est indicé par le numéro 5 sur la figure.
De même le sous réseau 2 doit comprendre 5 adresses d'hôtes et une adresse pour le port d'accès à
partir du routeur 'arrivée'. Ce port est indicé par le numéro 6 sur la figure.
Les routeurs utilisés ne gèrent pas les liaisons dénumérotées. On rappelle que de nombreux routeurs en
appliquant la RFC 1812 permettent d'utiliser des liaisons spécialisées (LS) sans adresses IP. Dans ce cas,
moyennant des directives de configuration des routeurs, deux routeurs reliés par une liaison spécialisée
forment en fait du point de vue du routage un seul routeur virtuel. La liaison spécialisée est cachée et gérée
par le logiciel du routeur. Dans l'exemple traité ici, selon les principes de base de l'adressage IP, il faut
attribuer des adresses IP aux deux extrémités d'une liaison spécialisée pour pouvoir l'utiliser dans le cadre
du routage. Ces adresses doivent appartenir au même sous réseau IP. Les deux LS forment donc deux
petits sous réseaux baptisés 3 et 4. Ces deux sous réseaux ont besoin seulement de deux adresses IP.
L'ingénieur réseau a un bloc d'adresses IP non utilisées dans le cadre d'un adressage de type IPV4
CIDR à partir de l'adresse 193.137.1.0.
Question 1
Pour le nouvel ensemble l'ingénieur pense pouvoir utiliser seulement un bloc de 32 adresses libres parmi
celles dont ils dispose.
Pourquoi ?
Quelle adresse de réseau choisit-il pour la totalité des adresses du nouvel
ensemble (donner l'adresse de réseau et son masque en notation /n)?
Question 2
L'ingénieur attribue pour commencer les adresses d'extrémité de la liaison spécialisée 1 (adresses du
sous-réseau 3). Il doit donc créer un sous réseau avec deux adresses IPV4.
Quelle est l'adresse de réseau du sous-réseau 3 (l'adresse et le masque du plus
petit réseau IPV4 possédant au moins deux adresses utilisables à partir de la
première adresse libre) ?
Question 3
L'ingénieur attribue la première adresse IP utilisable du réseau déterminé à la question 2 (la plus petite)
à l'extrémité 1 sur le dessin (port du routeur 'base') et la seconde (la plus grande) à l'extrémité 2 (port du
routeur 'charnière').
Quelles sont les deux adresses attribuées ?
Question 4
L'ingénieur attribue ensuite les adresses IP d'extrémités de la liaison spécialisée 2 (adresses IP du sous
réseau 4).
Quelle est l'adresse de réseau retenue pour ce nouveau bloc de deux adresses si
l'on attribue les adresses immédiatement disponibles après l'attribution du sous
réseau 3 ?
36
Question 5
Si l'on attribue la plus petite adresse utilisable de ce sous réseau à l'extrémité 3
(port du routeur 'charnière') et la plus grande adresse à l'extrémité 4 (port du
routeur 'arrivée'), quelles sont les deux adresses retenues ?
Question 6
L'ingénieur doit ensuite attribuer des adresses de sous réseaux pour les sous réseaux 1 et 2 qui
correspondent à 13+1 soit 14 adresses et 5+1 soient 6 adresses.
Quelle est maintenant la première adresse disponible ?
De manière à optimiser l'utilisation des adresses dans quel ordre doit-il attribuer
les deux demandes ?
Question 7
Quelle est alors l'adresse de sous réseau attribuée pour le sous réseau 1.
Si l'on prend la plus petite adresse disponible dans ce sous réseau, quelle est
l'adresse attribuée au port du routeur 'charnière' indicée 5 sur le dessin ?
Question 8
Quelle est l'adresse de sous réseau attribuée pour le sous réseau 2 ?
Si l'on prend la plus petite adresse disponible dans ce sous réseau, quelle est
l'adresse attribuée au port du routeur 'arrivée' indicée 6 sur le dessin?
Question 1
Dans la table de routage d'un hôte d'un réseau IP on définit en général trois routes.
Définir les trois entrées nécessaires au routage pour l'une des stations du sous
réseau 1.
Pour chaque entrée on définira au moins la destination de la route, le masque de cette destination (en
notation /n) et le prochain saut ('next hop' ou 'gateway' définissant le prochain routeur ou la station visité).
Question 2
Définir les entrées concernant le nouvel ensemble, pour la table de routage du
routeur 'base'.
Pour chaque route on précisera la destination, le masque de la destination, le prochain saut ('next hop' ou
'gateway' définissant le prochain routeur ou la station visité) et le type de la route. Le type est soit local si
37
les paquets sont délivrés à leur destinataire directement, soit distant si les paquets doivent être relayés par
le prochain routeur avant d'être délivré. Pour construire la réponse, on doit définir d’abord la route pour
atteindre tout le nouvel ensemble à partir du routeur 'base'. On définira aussi une route qui dessert
localement la liaison spécialisée numéro 1. Comme on a créé ce sous réseau IP numéro 1, l'accès à ces
adresses doit être possible à toutes fins utiles comme l'envoi de paquets de tests ou de paquets
d'administration de réseau SNMP (IP ne sert pas uniquement pour délivrer des messages TCP ou UDP à
des hôtes). Cet accès est-il à réaliser par le routeur 'base' via le port numéroté 1?
Question 3
Définir les entrées concernant le nouvel ensemble, pour la table de routage du
routeur 'charnière'.
Pour chaque route on précisera comme précédemment la destination, le masque de la destination, le
prochain routeur et le type de la route (ne pas oublier les liaisons spécialisées).
Question 4
Définir les entrées concernant le nouvel ensemble, pour la table de routage du
routeur 'arrivée'.
Question 5
Est ce que le plan d'adressage précédent est satisfaisant ?
On examinera le critère de l'utilisation des adresses IP. On examinera ensuite le critère de l'agrégation des
routes (de la minimisation du nombre de routes à créer).
De combien d'entrées a-t-on besoin dans une table de routage pour accéder au
nouvel ensemble des deux sous réseaux ou à chacun des sous réseaux ?
38
11•Routage OSPF
("Open Shortest Path First")
Le but de ce problème est d'étudier le protocole internet OSPF. C'est un protocole de routage réparti
dans lequel chaque routeur gère une base de données de l'ensemble des liaisons d'un réseau (topologie du
réseau) et calcule à partir de cette base les plus courts chemins par l'algorithme de Dijsktra. Cette base de
donnée est mise à jour par diffusion en inondation par chaque routeur de l'état de ses liaisons aux autres
routeurs. Il entre dans la classe des protocoles baptisés "à état des liaisons" ou "linkstate".
Par exemple soit un réseau de 7 routeurs A, B, C, D, E, F, G dont la topologie est la suivante (les coûts
de transit pour chaque liaison sont supposés égaux dans chaque direction et sont mentionnés sur l'arc
représentant la liaison).
A 6 2
B C
5
2 1 2 G
F 1
D 2 E 4
La base de données (topologie ou carte du réseau) qui doit être connue de chaque routeur donne
principalement les coûts en point à point pour chaque liaison. D'autres informations sont également
stockées dans cette table. Certaines de ces informations seront introduites dans la suite.
La base de données (topologie ou carte du réseau) qui doit être connue de chaque routeur donne
principalement les coûts en point à point pour chaque liaison. D'autres informations sont également
stockées dans cette table. Certaines de ces informations seront introduites dans la suite.
De Vers Coût
A B 6
A D 2
B A 6
B C 2
B E 1
C B 2
C F 2
C G 5
D A 2
D E 2
E B 1
E D 2
E F 4
F C 2
F E 4
F G 1
G C 5
G F 1
39
Cette base de données est construite par échange d'informations entre les routeurs. Pour cela le
protocole suivant est effectué. Son déclenchement peut répondre à différentes stratégies de mise à jour :
- périodiquement
- lorsqu'un routeur nouveau s'initialise
- lorsqu'un routeur s'aperçoit qu'il a un nouveau voisin
- lorsque le coût d'une liaison avec un voisin a changé
• Étape 1 :
Chaque routeur construit un paquet appelé "paquet d'état des liaisons" ou LSP ("Link State Packet")
qui contient des coûts de liaison que le routeur souhaite faire connaître. Un LSP comporte principalement
une liste de noms de routeurs (voisins d'un routeur) et les coûts pour les atteindre. Les LSP émis par un
même routeur sont numérotés au moyen d'un numéro de séquence. Pour simplifier on ne se préoccupe pas
du retour à zéro des compteurs utilisés trop longtemps.
• Étape 2 :
Le paquet LSP est transmis à tous les routeurs voisins et chaque routeur enregistre les informations du
LSP généré le plus récemment. Plus précisément chaque voisin effectue le traitement suivant:
- Recevoir le paquet LSP.
- Consulter la base existante.
- Si l'entrée (la liaison et son coût) n'est pas présente, ajouter cette entrée et diffuser l'information à tous
les voisins sauf l'émetteur du LSP.
- Si l'entrée est présente et si le numéro de séquence du LSP est plus grand que celui correspondant à
l'entrée modifier l'entrée et diffuser l'information à tous les voisins sauf le ré-émetteur du LSP.
- Si l'entrée est présente et si le numéro de séquence du LSP est plus petit ou égal à celui
correspondant à l'entrée: ne rien faire.
Question 1
Les protocoles de routage de type vecteurs de distance dont l'exemple type est le protocole Internet
RIP ("Routing Information Protocol") se distinguent des protocoles de type Internet OSPF (à état de
liaison).
Rappeler en quelques lignes l'algorithme que doit suivre chaque routeur pour le
protocole RIP.
Question 2
A quoi pourrait servir la retransmission du LSP à son émetteur ?
Pourquoi un paquet LSP n'est-il pas renvoyé à son émetteur ?
Question 3
A quoi sert le Numéro de Séquence émetteur du point de vue du réseau internet
qui est à datagramme ?
A quoi sert le Numéro de Séquence émetteur du point de vue du protocole de
diffusion des informations d'état de liaison ?
40
En plus du Numéro de Séquence, chaque information concernant une liaison possède une date de
péremption (variable baptisée dans OSPF "age") qui apparait aussi bien dans les paquets LSP échangés
que dans les bases de données. Toute information dépassant sa date est systématiquement détruite.
Citer plusieurs types de problèmes qu'une telle datation solutionne.
Question 4
On suppose que la liaison de A vers B est coupée. On a alors le réseau :
A B 2 C
5
2 1 2 G
F 1
D 2 E
4
A ayant détecté la coupure, A prépare un LSP de la forme : "de A à B, coût = infini , numéro de
séquence,"
On suppose que ce LSP est le premier généré (au début il est le seul).
Indiquer ce qui se passe alors dans le réseau. Quelle est la base de données
obtenue par les différents noeuds à la fin du processus d'inondation ?
On suppose qu'ensuite B prépare et transmet son LSP concernant A-B.
Quelle est la base de données obtenue ?
Question 5
On suppose que la liaison de D à E tombe en panne (on suppose que les 2 noeuds D et E se sont
aperçus de cette rupture et envoient les LSP correspondants).
Indiquer la (ou les) bases de données obtenues à l'issue de l'algorithme distribué
de transmission de l'état des liaisons par chacun des noeuds.
Question 6
A partir des bases de données trouvées à la question précédente et du réseau suivant on suppose que la
liaison de B à C tombe en panne et amène au réseau :
A B C
5
2 1 2 G
F 1
D E
4
Indiquer les bases de données obtenues par chaque routeur.
41
Question 7
Par la suite la liaison de D à E est rétablie avec un coût de 2 rendant de nouveau le réseau connexe. On
obtient alors le réseau ci-dessous.
On exécute l'algorithme de diffusion en supposant que D et E informent le réseau du rétablissement de
cette connexion.
A B C
5
2 1 2 G
F 1
D 2 E
4
Quelle est la valeur du coût de la liaison de B à C pour les sites A, D et pour les
sites B, C, E, F ?
Quel est le risque encouru dans cette situation ?
Comment détecter efficacement la situation ? Sur quel type de site ? (on suggère
une utilisation du numéro de séquence)
Comment faire pour mettre en oeuvre une solution de "réconciliation" basée sur le
numéro de séquence ?
Question 8
La technique de diffusion par inondation de l'état des liaisons est inconcevable
telle que pour le réseau Internet. Pourquoi ?
Que fait-on pour appliquer quand même OSPF à l'internet ?
42
12• TCP : automate protocolaire
Citez différentes raisons qui justifient l'introduction de la couche transport dans
la pile des protocoles de communication OSI.
Rappelez les principaux choix de conception du protocole de transport
TCP.(quelles sont les fonctions réalisées par TCP?).
Examinez l’automate en suivant les transitions portées en traits gras. Il s’agit
d’une ouverture de connexion suivie d’une fermeture. Analysez les différentes
étapes d'une ouverture de connexion entre un client et un serveur.
Que se passe-t-il lors de la fermeture de connexion?
FERME
"CLOSED"
?LISTEN ?CONNECT
"FIN_WAIT_2" "TIME_WAIT"
?Recevoir FIN
!Envoyer ACK
43
13• TCP : fonctionnement
Exercice 1 : Généralités sur la couche transport
Question 1
Quels sont les problèmes posés par l'utilisation de couches réseaux peu fiables
qui compliquent la réalisation de la couche transport ?
Question 2
Quelles sont les principales analogies entre la couche transport et la couche
liaison ?
Quelles en sont les principales différences ?
44
Navigateur WEB SYN 143256:143256 (0)
Serveur WEB
Segment 1
SYN 250712:250712 (0)
ACK ? Segment 2
FIN ? : ? (0)
Segment 5 ACK ?
ACK ?
Segment 6
FIN ?: ? (0)
ACK ? Segment 7
Segment 8 ACK ?
45
Exercice 2 : TCP, Evolutions et Approches alternatives
Question 1
En quoi TCP n'est pas adapté au transfert de données qui ont des contraintes
temps réel (contrainte de gigue constante, contrainte de latence bornée par
exemple).
Question 2
2.1. Rappelez quels événements sont utilisés par TCP pour décider que le réseau
est en congestion ?
2.2. Rappelez brièvement les principes des mécanismes baptisés "slow-start", et
"congestion avoidance" du protocole TCP. Eventuellement, aidez-vous d'un
dessin et indiquez sur ce dessin la partie correspondant au "slow-start" et la
partie correspondant à "congestion avoidance".
Question 3
TCP a une approche réactive pour estimer la bande passante disponible pour une connexion. En fait, le
débit soumis augmente tant qu'une congestion n'apparaît pas (et tant qu'on ne dépasse pas le crédit alloué
par le récepteur). Différentes études proposent des modifications de TCP.
TCP se voit ajouter des extensions. On examine une extension qui est relative au débit d'émission. Des
statistiques sont faites par connexion.
§ On calcule un débit attendu instantané de la façon suivante :
Attendu(t) = TailleFenêtreCongestion(t)/BaseRTT où
o BaseRTT : délai Aller/Retour associé à un segment quand le réseau n'est pas
congestionné (avant que les routeurs ne saturent à cause du trafic de cette connexion),
on entend par délai Aller/retour (ou encore RTT pour Round Trip Time) le délai qui
s'écoule entre l'émission du segment et l'arrivée de son acquittement. BaseRTT est le
plus petit RTT mesuré. Il est mesuré à chaque fois qu'on émet un segment, si lors du
retour de l'acquittement du segment, le RTT associé à celui-ci est inférieur à BaseRTT,
alors BaseRTT prend cette nouvelle valeur.
o TailleFenêtreCongestion(t) est la valeur courante de la fenêtre de congestion de
l'émetteur.
§ On mesure le débit d'émission réel instantané de la façon suivante :
Mesuré(t) = TailleSegmentEmis(t)/RTTduSegment
Soit Diff(t) = Attendu(t) – Mesuré(t)
3.1. Expliquer pourquoi Diff(t) ne peut être négatif.
Deux seuils sont définis : A < B
Si Diff(t) < A alors la fenêtre de congestion augmente linéairement.
Si A < Diff(t) < B alors rien n'est fait.
46
Si B < Diff(t) alors la fenêtre de congestion diminue linéairement.
3.2. A quoi correspondent les seuils A et B ?
3.3. Expliquer en quoi, cette modification vous semble permettre d'augmenter
l'efficacité de TCP vis-à-vis de l'occurrence des congestions.
Questions 4 : UDP et gestion de la congestion dans Internet.
4.1 Quel type de mécanisme faudrait-il ajouter dans le protocole UDP ou en
dehors du protocole UDP pour qu'il ne contribue pas à la saturation d'Internet
quand un utilisateur tente d'émettre à un fort débit indépendamment de la
charge du réseau.
4.2 Comment devrait alors se comporter une relation ou une "connexion" de cette
nouvelle version d'UDP du point de vue du partage de la bande passante de
l'Internet vis-à-vis des connexions TCP co-existant sur le réseau ? La réponse doit
uniquement considérer le point de vue de la couche transport. Il faut donc
imaginer que le comportement au niveau transport est indépendant d'un
mécanisme de réservation de ressources tel que RSVP, cela doit fonctionner
même sur un réseau de type best effort.
47
Annexe :
Compléments d'exercices
48
Théorie du Signal
Exercice : Densité spectrale de signaux binaires simples
Nous nous intéressons à un signal carré d'amplitude A et de période T.
Signal carré
T
Question 1
Rappeler comment le signal représenté dans la figure ci-dessus se décompose en
une somme de signaux élémentaires (harmoniques).
Pour cela, on rappelera le résultat du développement en série de Fourier de ce signal sachant que la
fonction qui le représente est périodique et qu'on peut la considérer comme une fonction paire.
Question 2
Déterminer la puissance contenue dans les différentes harmoniques.
En déduire la largeur de bande d'un filtre qui laisse passer 90 %, puis 98 % de
la puissance contenue dans le train d'impulsions.
Faire une application numérique pour une transmission à 200 bauds.
A titre indicatif, voici le tracé de la superposition des premières harmoniques du signal carré, calculé
avec le graticiel GNUplot :
gnuplot> f0(x)=0.5
gnuplot> f1(x)=f0(x)+2*sin(pi/2)/pi*cos(pi*x)
gnuplot> f2(x)=f1(x)+2*sin(3*pi/2)/pi/3*cos(3*pi*x)
gnuplot> f3(x)=f2(x)+2*sin(5*pi/2)/pi/5*cos(5*pi*x)
gnuplot> f4(x)=f3(x)+2*sin(7*pi/2)/pi/7*cos(7*pi*x)
gnuplot> plot f0(x),f1(x),f2(x),f3(x),f4(x)
49
1.2
f0(x)
f1(x)
1 f2(x)
f3(x)
f4(x)
0.8
0.6
0.4
0.2
-0.2
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
50
Commutation & Multiplexage
Exercice 1 : Commutation
On rappelle que la modulation MIC est destinée à numériser la transmission de voix téléphoniques.
L’intervalle de temps séparant la prise de deux échantillons d’une même voix est de 125 µs. Le signal
analogique est échantillonné sur 8 bits.
Question 1
Quel est le débit utilisé pour transmettre une voix téléphonique ?
Ces paramètres d’échantillonnage résultent de la bande passante offerte par une ligne téléphonique.
Quelle est la largeur de bande considérée dans le MIC ?
Quelles relations lient la largeur de bande, le débit et les paramètres
d'échantillonnage ?
Question 2
La principale technique de commutation utilisée sur les autocommutateurs téléphoniques numériques
(associée à la modulation MIC) est la commutation temporelle synchrone.
A quoi sert un autocommutateur?
Expliquer en quelques lignes les principes de la commutation temporelle
synchrone.
Question 3
Un commutateur gère N lignes en entrée et N lignes en sortie. On considère pour simplifier que toutes
les lignes ont le même débit et qu’aucun multiplexage temporel n’est réalisé. Le commutateur utilise une
mémoire dont le temps de lecture ou d’écriture est de 50ns (ce temps correspond à une lecture ou à une
écriture entre les interfaces de lignes et la mémoire).
Le pseudo-code suivant décrit le processus de commutation, à l’exception de l’affectation des lignes
d’entrée aux lignes de sortie.
Processus commutateur
type num_ligne: entiers dans [1..N];
51
Quel est l’usage du tableau ligne_sortie ?
Que font les opérations lire et écrire ?
A quoi sert l’instruction attendre_top ?
On suppose que les instructions lire et écrire prennent un accès mémoire et que le temps
d’accés à l’index et que le temps de gestion de la boucle sont négligeables (l’implantation réelle est cablée).
Quelle est la valeur maximale de N (justifier) ?
Soit T le temps séparant l’apparition de deux évènements attendre_top.
Si N=600 quelle valeur doit-on donner à T (justifier) ?
Question 4
On considère que le même problème de commutation (sans multiplexage) doit être résolu en utilisant la
commutation de cellules. Chaque cellule correspond à un échantillon.
Rappeler brièvement les principes de la commutation de cellules.
Comment les structures d’informations définies dans la question 3 doivent-elles
être modifiées pour faire de la commutation de cellules (on ne traitera pas le
problème de la gestion de la table de routage).
Réécrire le pseudo-code du commutateur de paquets.
On souhaite en utilisant les principes de la commutation de paquets en mode datagramme transmettre
des informations de type voix, images télévisées numérisées, données, etc. à très haut débit (1 à 5
gigabit/s).
Quels sont les principaux problèmes techniques que cela pose ?
Exercice 2 : Multiplex T1
Aux États unis et au Japon les réseaux téléphoniques utilisent un multiplexage baptisé T1 de 24 octets
formant une trame de base (trame du multiplex T1). Il existe différentes versions du codage T1. Nous
considérons ici le cas où les 24 octets sont associés à des échantillons de voies téléphoniques.
Question 1
Dans une trame T1, aux échantillons téléphoniques, est ajouté un bit placé en tête qui sert à la
resynchronisation trame en cas de perte de synchronisation (bruit de longue durée).
Quel est le débit binaire global d'un multiplex T1 ?
Question 2
On considère un commutateur temporel synchrone de multiplex T1 à mémoire commune dont le temps
d'accès est de 20 ns — c'est à dire que pour accéder à un échantillon en mémoire, en lecture comme en
écriture, il faut 20 ns.
Combien de multiplex T1 un tel commutateur temporel synchrone peut-il
supporter au maximum ?
Question 3
52
Un échantillon est commuté d'un multiplex d'entrée du commutateur vers un multiplex de sortie du
commutateur en un certain délai.
Que peut-on dire de la valeur maximum, minimum, moyenne du délai nécessaire
à une opération de commutation (retard apporté dans la propagation de
l'échantillon sur un circuit téléphonique par un commutateur) ?
Question 4
On rappelle que le premier bit est rajouté pour la synchronisation trame. La synchronisation est trouvée
lorsque le premier bit de trames successives respecte la séquence 0, 1, 0, 1, 0... Plus précisément la suite
des trames est :
0 1 0 1 •••
193 bits
Pour être synchronisé, il faut donc constater tous les 193 bits l'alternance 0, 1, 0, 1, 0, ... si le premier
bit lu a été un 0 ou bien 1, 0, 1, 0, 1,... si le premier bit lu a été un 1.
On suppose que le multiplexeur cherche à se resynchroniser (par exemple après avoir subi un bruit sur
plusieurs trames successives). Pour cela, il se positionne sur un bit qu'il estime être le début de la trame
courante et vérifie que 193 bits plus loin, il trouve le bit de début de la trame suivante (de valeur contraire à
la valeur précédente). On suppose que les bits 0 et 1 apparaissent avec la même probabilité 1/2 dans les
échantillons en n'importe quelle position d'une trame.
Combien faut-il inspecter de trames pour avoir une probabilité d'erreur de
resynchronisation inférieure à 0.001 ?
Question 5
On veut maintenant calculer le nombre de trames qu'il faut inspecter en moyenne pour être sûr que la
synchronisation n'est pas correcte. On se positionne sur un bit donné en faisant l'hypothèse que ce bit est le
début d'une trame.
Si ce bit n'est pas le bit de début de trame, donnez la probabilité pour apprendre que la
resynchronisation n'est pas trouvée en lisant une seule trame, puis en lisant deux trames, puis en lisant n
trames (on utilise une partie des calculs de la question précédente).
En déduire combien il faut inspecter en moyenne de trames successives pour
apprendre que la synchronisation n'est pas correcte pour une position donnée.
+∞
∑ nx
x
On rappelle la formule : pour x < 1, =
n
n=1 (1− x )2
53
Réseaux locaux sans fils
IEEE 802.11 WIFI
Fonctionnement du protocole d'accès au médium
La norme IEEE 802.11 définit un réseau local sur voie hertzienne (réseau local sans fils ou WLAN
Wireless LAN). La gamme de débits visée est de 1 Mb/s, 2 Mb/s, 11 Mb/s selon les normes et les bandes
de fréquences utilisées. Le protocole d’accès au médium présente des différences significatives avec
Ethernet en particulier il existe deux catégories de mode de partage de la voie commune radio utilisée pour
communiquer.
Question 1
Dans l’une des deux organisations baptisée « ad’hoc », le réseau s’auto-organise en fonction des
stations qui se trouvent suffisamment proches et peuvent communiquer par radio. La méthode de partage
de la voie commune (méthode d’accès au médium ou encore niveau MAC) utilisée est alors baptisée DCF
("Distributed Coordination Fonction"). Elle est conçue pour des communications asynchrones dans
lesquelles chaque station a une chance égale d’accéder au médium. Le partage de la voie commune radio
est de type CSMA.
Que signifie CSMA et quel est le choix technique relativement au protocole
d’accès au médium réalisé en adoptant le CSMA ?
Question 2
Le mode d’ajournement utilisé dans le partage de la voie commune radio 802.11 est un ajournement
non persistant. Lorsqu’une station souhaite émettre elle écoute la voie. Si pendant un délai fixe baptisé
DIFS ("Distributed Inter Frame Spacing") aucune autre station n’émet, la station commence à émettre à
l’issue du délai DIFS. Si une station a déjà commencé à émettre, la station en écoute ajourne sa
transmission pendant toute la durée du message en cours. A l’issue de cette attente, elle attend en plus un
délai initialisé à une valeur calculée selon une méthode analogue à celle du ‘binary backoff’ d’Ethernet.
Rappelez le principe d’un ajournement persistant et non persistant.
Question 3
Pourquoi choisir un ajournement non persistant dans un réseau local sans fil
présentant les caractéristiques de 802.11?
Question 4
Lorsqu’une station doit ajourner à plusieurs reprises sa transmission parce que la voie est occupée par
d’autres stations, elle laisse passer les autres. A chaque fois, quand la voie est redevenue libre, elle
recommence à décrémenter la valeur initialement déterminée par l’algorithme de backoff (sans recalculer
une nouvelle valeur du délai selon le backoff).
Lorsque le délai initialement déterminé est écoulé, elle commence à transmettre,
pourquoi procéder ainsi (pourquoi ne pas repartir sur une valeur plus longue à
chaque ajournement)?
54
Question 5
Lorsque l’on transmet un message en 802.11 on risque néanmoins une collision,
pourquoi ?
Question 6
La détection des collisions réalisée par le réseau Ethernet étant coûteuse et inefficace dans le mode des
communications radio, le mode de traitement des collisions utilisé est un mode par acquittement positif.
Emetteur Destinataire
DIFS Trame Données
SIFS
ACK
Toute trame de donnée est suivie, après une attente courte baptisée SIFS (‘Short Inter Frame
Spacing’), d’une trame d’acquittement positif par le destinataire. Si l’acquittement positif n’est pas
retourné, l’émetteur considère qu’il y a eu collision. Il entre alors dans une phase d’attente aléatoire définie
de manière similaire à celle du réseau Ethernet. Les différences portent sur les constantes de temps et
d’initialisation de l’algorithme du retard binaire (‘binarybackoff’).
Pourquoi une telle attente en cas de collision?
Comment est calculée la valeur du délai d’attente (backoff) en Ethernet?
Question 7
Dans un autre mode de fonctionnement de la méthode d’accès ad’hoc (protocole DCF de la
proposition IEEE 802.11), une station émettrice commence par émettre un message court RTS "Request
To Send" pour réserver l’intervalle de temps nécessaire à la transmission de son prochain message. Le
message RTS contient l’adresse émetteur, l’adresse du destinataire et le temps d’occupation de la bande
radio. Le destinataire répond, après un silence inter trame court SIFS, le message CTS "Clear To Send"
indiquant qu’il a bien reçu la demande de réservation. Il rappelle les paramètres de la communication à
venir dans le message CTS. Toutes les autres stations du réseau entendent également cet échange. Ensuite
la trame de donnée et son acquittement sont échangés comme précédemment. L’ensemble de l’échange
est donc le suivant :
55
DIFS
RTS
SIFS
CTS
SIFS
Trame/Données
SIFS
ACK
Ce protocole d’accès au médium est baptisé par ses auteurs CSMA/CA (CA pour Collision
Avoidance).
Est ce qu’il évite réellement toutes les collisions ? En quoi améliore t’il le
traitement des collisions par rapport à la version de base qui pratique l’échange
direct d’une trame de donnée suivie de son acquittement ?
Question 8
Dans l’autre organisation du réseau baptisée ‘infrastructure’, le réseau est organisé en cellules appelées
BSS ("Basic Service Set"). Chaque cellule réunit plusieurs stations ayant un coupleur IEEE 802.11 et
possède un dispositif spécifique baptisé point d’accès AP ("Access Point") qui connaît toutes les stations
de la cellule. Dans ce mode, le point d’accès AP joue le rôle d’arbitre centralisé dans un protocole de
communication par scrutation (ou ‘polling’).
Rappelez les principes généraux d’un protocole de partage d’une voie commune
par scrutation ?
Question 9
56
Les concepteurs des réseaux 802.11 ont adopté le mode polling en particulier pour la transmission de
données temps réel ou multimédia (comme la voie ou la vidéo) qui demandent un respect de contraintes
temporelles assez strictes (exemple respect de l’isochronisme des échanges).
Rappelez la définition d’une transmission isochrone.
Question 10
Pourquoi le mode par scrutation permet t’il d’assurer le respect du temps de réponse ou
de la gigue ?
Question 1
Si la probabilité d’erreur par bit sur une voie de communication utilisée par
un réseau local est p, que les erreurs sont indépendantes et que le nombre de bits
d’une trame est n, quelle est la probabilité d’erreur pour une trame complète ?
Dans la suite on note q cette probabilité.
Application numérique : Quelle est la probabilité d’erreur par trame pour p=10**-
6 et une trame 802.11 de longueur maximum conforme au standard soit 2346
octets ?
Question 2
Question 3
57
Application numérique : Quel est le débit utile et quel est le débit consacré aux
transmissions en erreur pour la norme 802.11/b avec d=11 megabits/s, p=10**-6
?
Question 4
En dehors des réseaux locaux sans fils 802.11, il existe de très nombreuses variantes de protocoles
de liaison et de protocoles d’accès au médium dans les réseaux locaux.
Quels sont les mécanismes prévus pour la fragmentation dans les protocoles de
liaison (justifiez les choix qui sont faits) ?
Question 5
Les normalisateurs des réseaux sans fils 802.11 ont décidé de prévoir une
fonctionnalité de fragmentation. Supposons que l’on fragmente une trame de n
bits en k fragments et que comme précédemment on ne tient pas compte
d’aucun autre facteur que les erreurs de transmission, que devient le débit utile
et que devient le débit perdu à effectuer des retransmissions ?
Application numérique : Quel est le débit utile et le débit perdu pour une trame
de 2346 fragmentée en 4 fragments, pour la probabilité d’erreur par bit de
10**-6
Question 6
En fait, fragmenter en des fragments de plus en plus petit pour améliorer le débit utile n’est pas
possible.
Question 7
Le fait de déclencher le mécanisme de fragmentation n’est pas défini de façon précise dans la norme
802.11. Il est indiqué qu’une implantation définit un seuil en deçà duquel on ne fait pas de
fragmentation et au delà duquel on fragmente.
Proposez des principes de fixation d’un tel seuil et des principes de choix d’une
taille de fragment dans l’implantation d’un coupleur 802.11?
Question 8
La fragmentation 802.11 est une fragmentation transparente. De plus les fragments en 802.11 sont
soumis à un contrôle d'erreur avec retransmission et ils se suivent sur la voie hertzienne (ils ne
peuvent être déséquencés).
58
Rappelez les informations nécessaires à la fragmentation IPV4. Proposez une
simplification de ces informations qui fonctionne néanmoins dans le cas
particulier du réseau sans fil 802.11 ?
59
Dimensionnement et coûts
Application à un service de dialup IP
Le dialup IP est une technique de connexion à un réseau Internet de manière intermittente via le RTC. Il
repose souvent sur le protocole d'échange de trames PPP (Point to Point Protocol).
VERS
CLIENT WEB INTERNET
TCP
IP IP
PPP PPP MAC
MODEM MODEM
RTC RÉSEAU LOCAL
CNAM
Le Centre de Ressources Informatique du CNAM utilise cette technique pour offrir à ses usagers un
accès distant à l'Internet. Pour ce faire, il a installé un pool de N modems et loué une ligne groupée à
France-Télécom. Il utilise actuellement (mai 98) 10 modems à 14400 bit/s (norme V32) et 15 modems
28800 bit/s (norme V32bis) dont 5 réservés au Centre pour le rétro appel.
On veut étudier dans cet exercice le dimensionnement et le coût (financier) de l'accès vers Internet dans
l'hypothèse d'une montée en puissance du service dialup, qui n'est à l'heure actuelle pas offert à tous.
On ne tiendra pas compte dans l'analyse du trafic causé par les autres machines du CNAM !
∑ρ i
i!
i =1
60
en annexe.
61
Question 3 : Augmentation du nombre d'usager
Actuellement, il y a environ 8000 comptes utilisateurs au Centre de ressources. On voudrait savoir
combien il faudrait de modem si on crée un compte pour chaque inscrit au CNAM (80000 env).
Calculer la charge moyenne pour 80000 comptes.
En déduire la probabilité de rejet si N=20, puis N=40
Que devient cette dernière pendant la
pointe de trafic ?
Question 4 : Débit vers l'extérieur
On suppose que 40 modems à 28800 b/s sont
installés.
Déduire des résultats précédents le
débit moyen vers l'extérieur
Remarque
La formule d'Erlang n'est valide que si les
temps entre appels successifs sont des variables
aléatoire de distribution exponentielle. On le vérifie
à peu près ici sur des mesures faites pendant la
journée du 9 décembre 1997. Il y a eu ce jour 347 connexions PPP. On trouve EΛ=4.14 min. Les
courbes ont en abscisse le temps inter-arrivées (en minutes) et en ordonnée, le nombre d'appels
correspondant. L'histogramme observé est comparé à une distribution exponentielle de même moyenne (en
tirets).
Question 1
A l'aide des annexes ci-dessous, déterminer le coût d'un accès au débit calculé
précédement selon ces 2 techniques, en distinguant les différents paramètres du
coût total.
Pour les calculs, on supposera que la distance de raccordement est de moins de 10 km entre le CNAM
et le fournisseur d'accès.
Question 2
Par souci de bonne gestion, on souhaite reporter ces coûts sur les usagers.
Les frais fixes sont suppoés amortis en 3 ans.
Calculer le prix minimum de l'abonnement d'un usager
62
Comparer ce coût à un abonnement personnel"du marché"
63
Extrait de DOYON "Systèmes et réseaux de télécommunication enrégime stochastique"
64
Extraits du 3614 RLF (haut) et du Web de Transpac (bas)
65
Utilisation de l'API socket
Exercice 1 : Le protocole HTTP et le World-Wide-Web
Le but du WWW est de permettre la consultation à distance de documents multi-média hypertextuels.
Ces documents sont composés dans un langage de balisage de structure appelé HTML (Hyper Text
Markup Language). Il existe de nombreux logiciels clients WWW (Netscape Navigator, Internet Explorer,
Mosaic, Lynx,…) ainsi que de nombreux logiciels serveurs (NCSA, Apache, MacHttp, …)
CLIENT SERVEUR
Logiciel client Logiciel serveur
Protocole d' application Protocole d' application
PROTOCOLE
TCP/IP TCP/IP
MAC
MAC
RESEAU
D'INTERCONNEXION
Question 1 : Utilisation du client Netscape Navigator
Lancer Netscape et naviguer dans les documents.
La commande "View Source" permet de visualiser le source HTML que le serveur a envoyé au client.
Expliquer sur un exemple de document à quoi correspondent les balises HTML
La zone de saisie "Location" permet d'indiquer quel document on souhaite consulter.
Quelle est à votre avis la syntaxe adoptée ? Quel est le rôle des différentes
parties ?
Question 2 : Le protocole HTTP
Le protocole utilisé par le WWW s'appelle Hyper Text Transfer Protocol (HTTP). Dans sa version
actuelle (1.0), il s'agit d'un simple protocole de type "requête-réponse": le client demande au serveur le
document HTML et le serveur le renvoie (voir figure).
On peut se connecter directement sur un serveur WWW en se logeant par TELNET sur le port 80 de
la machine qui héberge le serveur WWW.
Lancer le logiciel TELNET en se connectant sur la machine cedric.cnam.fr
Pourquoi le système ne demande-t'il pas d'identification ?
66
La syntaxe d'une requête GET est GET <chemin fichier> <protocole>
Essayer par exemple GET /index.html http/1.0 suivi de 2 retour-
charriot Que retourne le serveur ?
Essayer ensuite GET /toto.html http/1.0
Que retourne le serveur ? Que se passe-t'il pour les images ?
SERVEUR CLIENT
socket() socket()
Prépare une prise de connexion
bind() gethostbyname()
Assigne un numéro de port à une prise Donne adresse IP serveur à partir de son nom
listen()
Prépare pour des demandes de connexion
accept() connect()
Prend en compte une connexion Êtablissement d’une connexion
read() write()
Demande de service + données
write() read()
Réponse+résultats
close() close()
Fermeture/destruction de la prise
67
Pour utiliser les IPC internet, il faut inclure dans son code C les déclarations suivantes :
#include <stdio.h>
#include <signal.h>
#include <ctype.h>
#include <errno.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <string.h>
#include <netdb.h>
#include <netinet/in.h>
#include <netinet/tcp.h>
#include <arpa/inet.h>
Question 1
En utilisant l’automate présenté précédemment, écrire un petit programme en C
qui va récupérer le contenu d’un fichier disponible sur un serveur ‘httpd’, à
partir de son URL.
68
Ce client ‘http’ va se connecter au serveur ‘httpd’ avec une socket en mode TCP, puis va émettre un
ordre GET chemin HTTP/1.0, puis affichera le flux d’informations retourné par le serveur.
Exemples d’utilisation de ce programme :
%geturl lmi17 /index.html
%geturl cedric.cnam.fr /ABU/BIB/index.html
69
Question 2
Ecrire un script shell getHREF qui utilisera le programme précédent pour
afficher tous les URL contenu dans le fichier.
Exemples d’utilisation de ce programme :
%getHREF lmi17 /index.html
%getHREF cedric.cnam.fr /ABU/BIB/index.html
Question 3
Notre client http geturl est trop rapide.
Ecrire une variante de celui-ci qui lit à la vitesse de 1 caractère par seconde
toutes les informations envoyées par le serveur http.
Exemples d’utilisation de ce programme :
%lentgeturl lmi17 /index.html >tmp &
%lentgeturl lmi17.cnam.fr /Meteo/satt0.gif >tmp &
Visualiser l'état des sockets sur le client et le serveur avec la commande
netstat.
Expliquer l’état des tampons.
NOTE : Consulter C. YOUNG "Programmation de clients Web avec Perl" O'Reilly 1997 pour écrire des
clients HTTP plus sophistiqués.
70
Routage RIP
Le graphe ci-dessous représente un réseau informatique : les sommets : A, B, C, D représentent les
noeuds de commutation et les arcs les liaisons bidirectionnelles. La valeur portée sur les les arcs représente
une distance de communication point à point qui est supposée être identique dans les deux sens. Cette
distance matérialise un coût de communication qui sert dans la suite de l'ED pour déterminer un meilleur
chemin et fabriquer les tables de routage des différents noeuds.
A( n°1)
4 4
1
B( n°2) C(n°3)
10
4 1
D( n°4)
Plus loin dans l'exercice, on utilise des numéros pour désigner les noeuds de commutation : A est le n°
1, B est le n° 2, C est le n° 3, et D est le n° 4.
CONSTANTES
VARIABLES
V: tableau (N,N) de réels ; % A la fin de l'algorithme V(i,j) est égal au coût du chemin
de valeur minimale de i vers j %;
P: tableau (N,N) de Nom_de_noeuds; % A la fin de l'algorithme P(i,j) est le successeur
de i dans le chemin optimal de i vers j%;
Iter: entier; % numéro d'itération%;
cout: réel;
i,j,k,r: Nom_de_noeuds;
71
72
CORPS DE PROCEDURE (Ford)
% Initialisation ;
pour i=1 a N
pour j=1 a N
V(i,j) := C(i,j);
Si C(i,j)?+8 faire
P(i,j):=j;
finsi
finpour
finpour
73
Appliquer la partie A de l'algorithme précédent pour trouver
les nouvelles valeurs de V(i,•) et P(i,•);
Déterminer la nouvelle table de routage de i;
fincycle
La mesure avec Mesurer C(i,k) peut s’effectuer de plusieurs façons différentes. Par exemple on
peut considérer que le coût d’une ligne est infini si sur un hôte, la file de messages en émission vers un
destinataire est pleine, et vide en réception depuis celui-ci.
On suppose qu'à l'instant t=0 tous les noeuds ont calculé les valeurs respectives de V(i,•) et P(i,•) et la
table de routage correspondante. La liaison (3,4) tombe en panne. Chaque noeud commence une étape du
cycle de calcul.
Pour réaliser la phase A de l'algorithme le noeud i calcule, à la n-ème étape du calcul, une matrice Si(n).
Si(n) (k,j) est l'évaluation par i du coût pour aller à j en passant par k.
Quelle relation lie Si(n) (k,j) ,Vk (n-1) (k,j) et C(n) (i,k) (valeur du chemin chemin
optimal vers j calculés par k au cycle précédent et coût mesuré par i au cycle
courant) ?
En déduire la relation liant Si(n) et V(n)(i,.)
Appliquer l'algorithme pour la première itération (numérotée n).
Il est recommandé de retracer le graphe à grande échelle et d'associer au noeud i la matrice Si (voir
pages suivantes).
Question 3
Pendant la première itération, un paquet part d'un calculateur hôte connecté au noeud de commutation 1
pour être transmis a un hôte connecté au noeud 3.
Que se passe t'il ? Compléter les élements ci-dessous
0 4 4 1 0 4 2 1
Cn−1 = 44 0
10
10
0
4 V = 4
∞ n −1 2
0
5
5
0
4 obtenus à la question 1
1
1 4 ∞ 0 1 4 1 0
. . . . .
V(1, •) = ( ) . . . V (2,•) = ( )
S1 = . S2 =
. .
P(1,•) = ( ) . P(2, •) = ( )
. .
. .
V (3,•) = ( ) . V (4,•) = ( )
S3 = . . .. . P(3, •) = ( S4 = . P(4,•) = (
) )
. . . . .
74
Les valeurs de V et P sont stabilisées après plusieurs itérations si on suppose que les coûts ne sont plus
modifiés durant cette phase de calcul. Les itérations n+1, n+2, n+3 sont données ci-dessous.
Vn =
. . . . 4 . 6 5
V(1,•) = ( ) V (2,•) = (4 0 6 4)
S1 = .
. . . . .
P(1,•) = ( S2 = 14 15 P(2,•) = (1 2 1 4)
) . 10
. 5 . 7 4
4 8 . 5 1 5 3 .
S3 = 14 10 . 14 V( 3, •) = (4 8 0 5) 8
S4 = ∞ 4 9 . V (4,•) = (1 4 3 0)
. . . . P(3,•) = (1 1 3 1) ∞ ∞ . P( 4,•) = (1 2 1 4 )
∞ ∞ . ∞ . . . .
0 4 4 1
Vn +1 = 44 0
8
6 4
0 5
1 4 3 0
. . . . 4 . 8 5
. 4 10 8 V (1,•) = (0 4 4 1) . . . . V(2, •) = (4 0 7 4 )
S1 = . 12 4 9 P(1, •) = (1 2 3 4 ) S2 = 14 . 10
15 P( 2,•) = (1 2 4 4)
. 5 4 1 5 . 7 4
4 8 . 5 1 5 5 .
14 10 . 14 V(3,•) = (4 8 0 5) 8 4 10 . V (4,•) = (1 4 5 0)
S3 = . . . . P(3,•) = (1 1 3 1) S4 = ∞ ∞ ∞ . P(4, •) = (1 2 1 4)
∞ ∞ . ∞ . . . .
0 4 4 1
4 0 74
=
0 5
V n +2
4 8
1 4 5 0
. . . . 4 . 8 5
. 4 11 8 V (1,•) = (0 4 4 1) . . . . V (2, •) = (4 0 8 4)
S1 = S2 =
. 12 4 9 P(1,•) = (1 2 3 4 ) 14 . 10 15 P(2,•) = (1 2 1 4 )
. 5 6 1 5 . 9 4
4 8 . 5 1 5 5 .
14 10 . 14 V(3,•) = (4 8 0 5) 8 4 11 . V (4,•) = (1 4 5 0 )
S3 = . . S4 = ∞ . P(4, •) = (1 2 1 4)
. . P(3,•) = (1 1 3 1) ∞ ∞
∞ ∞ . ∞ . . . .
0 4 4 1
4 0 8 4
V n +3 = 4 8 0 5
1 4 5 0
75
Cette solution est optimale, l’itération suivante donnerait le même résultat !!!
Remarque : Il est possible que certaines erreurs se soient glissées dans les calculs, mais elles ne gènent
en rien la réponse à la dernière question.
Fonctionnalités TCP/UDP-IP
Pour chacun des protocoles IPV4 et TCP indiquez s'ils possèdent les fonctionnalités suivantes. Si
oui indiquez au moyen de quels champs et de quel mécanisme, la fonctionnalité considérée est
réalisée sur un datagramme ou sur un segment.
La trame Ethernet suivante a été prélevée par un programme d'écoute d'une voie Ethernet.
Cette trame est éditée par lignes de 16 octets en hexadécimal. C'est une trame au format standard
Ethernet DIX et non au format IEEE 802.3. Le préambule de la trame Ethernet avec le délimiteur de
début de trame n'est pas inclus dans la trace. Le code polynomial de contrôle (CRC Ethernet) est
représentée par xxxx xxxx.
2) Entête Ethernet : Quelles sont les adresses Ethernet source et destination de la trame ?
Ou se trouve le type de protocole réseau encapsulé dans la trame Ethernet ? Quelle est sa valeur (à
quel protocole de réseau doit être délivré la charge utile de la trame) ?
5) Entête IP : Quelle est la valeur du champ TTL ('Time to live', temps restant à séjourner) ?
Comment détermine t'on que le protocole de transport qui utilise ce datagramme IP est TCP ?
6) Entête TCP : Quels sont les numéros de port source et destination de ce segment?
76
7) Entête TCP : Quels sont les indicateurs positionnés par le message ('flags'). Quel est la
valeur et à quoi servent des numéros de séquence, d'acquittement et le pointeur urgent contenus
dans le segment?
8) Entête TCP : Quel est le nombre d’octets pouvant être émis en anticipation (quel est le
crédit) mentionné dans ce segment ?
77
Routage en diffusion sur Internet
Dans ce problème on étudie la diffusion sur groupe (multicast) dans l’Internet. La figure suivante représente
un site émetteur (une source de messages S) et des sites destinataires (D1, D2, D3, D4). On a représenté
le réseau avec des hôtes, des routeurs, des liens qui sont utilisés dans une diffusion sur groupes (traits gras)
et d’autres liens et routeurs inutilisés.
D1
D2
S
D3
D4
1) Le principe fondamental d’un routage en diffusion sur groupe consiste à construire un arbre couvrant à
coût minimum enraciné au site source et dont les feuilles sont les sites destinataires. Sur l’arbre, pour
diffuser aux destinataires, on ne transmet qu’une copie du message par liaison utilisée. On cherche à
comparer la solution en point à point à la solution en diffusion sur une arbre, en utilisant la métrique Internet
du nombre de sauts.
1.1) Pour le réseau de la figure précédente, si l’on réalise quatre communications en point à point
pour aller de S aux quatre destinataires combien de sauts doit-on effectuer ?
1.2) Si l’on utilise l’arbre couvrant en diffusion, combien de saut doit-on effectuer ?
1.3) Supposons qu’un routage en diffusion utilise un arbre binaire pour atteindre 2**N
destinataires, combien de sauts doit-on effectuer en mode point à point ?
1.4) Sur un arbre binaire permettant d’atteindre 2**N destinataires, combien de sauts doit-on
effectuer en mode diffusion sur l’arbre ?
1.5) Que conclure quant aux performances relatives des deux solutions ?
2) Adresses IP de diffusion.
2.1) L’adressage IPV4 utilise dans sa version de base différentes classes d'adresses. Quelle
78
est le nom de la classe qui est prévue pour la diffusion à des groupes de destinataires (le multicast)?
Quelles sont les adresses utilisables pour définir des groupes de diffusion?
2.2) De combien d’adresses différentes peut-on ainsi disposer pour adresser des groupes en Ipv4?
2.3) Les adresses multicast IP peuvent servir à délivrer des messages en diffusion au moyen
de réseaux locaux type Ethernet. Ethernet dispose également d'un adressage multicast.
Pour établir automatiquement une correspondance entre adresse IP multicast et adresses Ethernet
multicast une technique normalisée consiste à copier 23 bits de poids faible de l'adresse IP multicast
pour fabriquer 23 bits de l'adresse multicast Ethernet qui lui correspond. Sur le schéma suivant on
représente une adresse Ethernet multicast avec le préfixe constant caractéristique de la conversion IP
multicast vers Ethernet multicast et un bit à 0 qui ramène à 23 le nombre de bits significatifs dans les
24 bits de la partie droite.
0 23 47
| | |
1000 0000 0000 0000 0111 1010 xxxx xxx0 xxxx xxxx xxxx xxxx
Cette présentation correspond au codage des adresses Ethernet lorsqu’elles circulent sur les fils (le
bit 0 est envoyé en premier en codage grand boutiste). Pourquoi le premier bit est-il obligatoirement
à1?
2.4) La représentation officielle des adresses Ethernet est telle que les 6 octets sont numérotés de la
gauche vers la droite (grand boutiste) mais les bits à l’intérieur des octets sont numérotés de la droite
vers la gauche (petit boutiste). Lorsque l’on édite une adresse Ethernet, dans la représentation
officielle (dite en mémoire), les adresses multicast Ethernet sont donc notées en inversant l’ordre des
bits dans les octets. L’adresse Ethernet multicast avec le préfixe constant caractéristique de la
conversion IP multicast vers Ethernet multicast devient donc :
0 23 47
| | |
0000 0001 0000 0000 0101 1110 0xxx xxxx xxxx xxxx xxxx xxxx
Le domaine d’adressage est donc défini dans les normes par l’intervalle 01:00:5e:00:00:00 à
01:00:5e:7f:ff:ff
Soient les adresses multicast IP 224.144.8.5 et 225.144.8.5 (en hexadécimal e0.90.08.05
et e1.90.08.05). Donner les adresses multicast Ethernet correspondantes sachant que l’on recopie
purement et simplement les 23 bits de la partie droite de l’adresse IP multicast dans l’adresse
Ethernet multicast (pour répondre, en cas de doute on peut éventuellement représenter sous forme
binaire les adresses) ? Comment résoudre le problème posé par l'utilisation simultanée de ces deux
adresses dans le même réseau.
3.1) Quel est le protocole de la suite Internet qui prend en charge la gestion des groupes en IP
V4?
79
3.2) Quelles sont ses principales fonctions?
4) Routage en diffusion.
4.1) Le problème du routage en diffusion consiste à atteindre à partir d'une source un groupe de
destinataires. L'un des protocoles de routage en diffusion sur l'internet s'appelle DVMRP ("Distance
Vector Multicast Routing Protocol"). Le protocole DVMRP est donc un routage à vecteur de distance qui
utilise un principe voisin du protocole RIP ("Routing Information Protocol"). Rappelez les principes des
protocoles à vecteur de distance pour entretenir une table des chemins à coût minimum dans un réseau?
4.2) En DVMRP, pour construire l'arbre de diffusion, périodiquement un routeur source (un routeur de
rattachement d'un hôte source) émet vers ses routeurs voisins un message indiquant qu'il a un flot de
messages en diffusion à transmettre. Les différents routeurs atteints réémettent à leur tour ce message vers
leurs voisins. Comment appelle t'on une telle stratégie de circulation des messages d'indication de flot ?
4.3) En fait chaque routeur du réseau n'accepte un message d'indication de flot de diffusion et ne le
réémet vers ses voisins que s'il provient du routeur voisin qui se trouve sur le chemin à coût minimum vers
la source. Les messages provenant des autres voisins sont ignorés. Pourquoi est-ce que cette stratégie
évite l'explosion combinatoire du nombre des messages?
Pour construire l'arbre couvrant à coût minimum, DVMRP fonctionne en deux phases. Dans la
première phase, DVMRP construit un arbre couvrant à coût minimum du routeur source vers tous les
routeurs ("minimum spanning tree").
Dans la seconde phase DVMRP procède à l'élagage de l'arbre couvrant. Lorsqu'un routeur est une
feuille de l'arbre couvrant (il ne relaie pas de messages vers un autre routeur) et qu'il n'est pas destinataire
(il n'y a pas d'abonné connecté à ce routeur à qui les messages d'un flot de diffusion doivent être délivrés)
alors ce routeur n'a pas à recevoir le flot de diffusion. Il peut être retiré de l'arbre de diffusion. Ce routeur
émet un message à son père dans l'arbre qui est appelé message d'élagage. De proche en proche l'élagage
se poursuit jusqu'à obtenir un arbre utilisable.
4.4) Sur le réseau suivant qui comporte 8 routeurs notés A,B,C,D,E,F,G,H, on a mentionné les
coûts des arêtes. Quelle est la circulation des messages dans la première phase? On présente la réponse
sous la forme d'un ensemble de lignes (X , Y) ou X est l'émetteur et Y le destinataire d'un message. On
ajoute pour chaque message l'indication Y retransmet le message ou Y ne retransmet pas. Par exemple la
première ligne de la réponse est: (A , B) B retransmet le message.
80
Source B
1
A Abonné
4
5 2
5
C D E
3 3
7
F G Abonné
Abonné
1 6
4.5) Quel est l'arbre couvrant obtenu après circulation des messages d'indication de flot ?
4.7) Quel est l'arbre de diffusion finalement construit après circulation des messages d'élagage?
81