Vous êtes sur la page 1sur 81

Exercices dirigs

Systmes & Rseaux


Informatiques

1- Rseaux

2004-2005

Ce polycopi a t labor par les enseignants de l'quipe "Systmes et Rseaux B" partir
d'exercices rdigs par MM. Berthelin, Cubaud , Farinone, Florin, Gressier-Soudan et Natkin.

1
2
1 Les couches de protocoles
Exercice 1 : Le modle OSI
Applications Applications

Prsentation Prsentation

Session Session

Transport Transport

Rseau Rseau

Liaison Liaison

Physique Physique

support
de
transmission

Dans le contexte du modle OSI, quest quune PDU ?


Quel est le nom donn aux units de transfert pour les diffrentes couches ?
Quest quune primitive de service ?
Quest quune machine protocolaire ?
Donnez quelques exemples de piles protocolaires.

Exercice 2 : La couche physique


Vous devez construire une architecture de rseau local dans une salle informatique contenant 15 postes
de travail. Le rseau local choisi est un Ethernet 10 Mbit/s. Vous avez a votre disposition un extrait dune
documentation technique :

normes connecteurs cbles longueur max topologie coupleur rseau


10Base T RJ45 paire torsade/UTP5 100m toile carte TX
10Base 2 BNC coaxial fin 185m Bus carte BNC
10Base 5 Prise vampire coaxial pais 500m Bus carte AUI

Quel type de cblage prconiseriez vous ?


Calculez le nombre de segments de cables ncessaires.

3
Exercice 3 : La couche Liaison
Question 1. La trame Ethernet
Le format de l'information qui passe sur le mdium de communication est le suivant, ce qui est en gras
matrialise la trame Ethernet :
Prambule Dlimiteur Adresse Adresse Type Informations FCS
de dbut destination source
7 octets 1 octet 6 octets 6 octets 2 octets 46 1500 octets 4 octets

Quelle est la longueur d'une trame minimum ?


Quelle est la longueur minimum de donnes transportables?
Pourquoi la couche physique ajoute un prambule ?

Voici la trace hexadcimale dune communication point point prleve 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............

Retrouver les champs de la trame Ethernet dans la trace hexadcimale


prcdente.
Question 2. Adressage (adresse MAC)
Voici un exemple dadresse Ethernet (6 octets) : 08:0:20:18:ba:40

Deux machines peuvent-elles possder la mme adresse ethernet ? Pourquoi ?


Voici la trace dune communication point point prleve par un espion de ligne (SNOOP) :
ETHER: ----- Ether Header -----
ETHER: Packet 1 arrived at 18:29:10.10
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)

comparer avec une communication un groupe:


ETHER: ----- Ether Header -----
ETHER: Packet 1 arrived at 11:40:57.78
ETHER: Packet size = 60 bytes
ETHER: Destination = ff:ff:ff:ff:ff:ff, (broadcast)
ETHER: Source = 8:0:20:18:ba:40, Sun
ETHER: Ethertype = 0806 (ARP)

Quel champ, par sa valeur permet de diffrencier les deux types de traces pour
les communications un seul destinataire ou plusieurs destinataires?

4
Comment un seul message peut-il parvenir plusieurs destinataires
simultanment ?

5
Exercice 4 : La couche Rseau
Question 1. Adressage IPv4
Une adresse IPv4 est dfinie sur 4 octets. Ladressage IPv4 (Internet) est hirarchique. Un rseau IPv4
est identifi par son numro de rseau. Une machine est identifie par son numro dans le rseau.
Ladresse IPv4 dune machine est donc compose dun numro de rseau et dun numro de machine.
Exemple pour le CNAM (autrefois), la machine asimov avait ladresse IPv4 192.33.159.6 avec
192.33.159 (3 octets : rseau) et .6 (1 octet : la machine asimov dans le rseau
192.33.159).

Sur linternet, deux machines deux endroits diffrents peuvent elles possder la
mme adresse IPv4 ?, si oui, quelle condition ?
Dans le mme rseau IPv4, deux machines diffrentes peuvent elles possder la
mme adresse IPv4 deux moments diffrents ? Chercher un contexte
dutilisation.
Voici laffichage 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

A votre avis que montre cette commande ?

Exercice 5 : La couche Transport


On donne la structure de l'entte IP et la structure de l'entte TCP :
0 4 8 16 19 24 31
No Longueur Faon dont doit tre
gr le datagram
identifiant metteur identifiant rcepteur
Version de l'entte Longueur du Datagram, entte
(nb de mots TOS - type of comprise (nb d'octets)
de l'IP(4) de 32 bits) service
no de squence du premier octet mis contenu dans ce segment
No Id -> unique pour tous les flags (2bits): Offset du fragment p/r au
.fragment Datagram Original
fragments d'un mme Datagram
.dernier (unit en nb de blk de 8 o)
no d'acquittement : no de squence du prochain octet recevoir
Temps restant Protocole de Niveau par celui qui envoie ce segment 20
sjourner dans Suprieur qui Contrle d'erreurs sur l'entte bits indicateurs
l'Internet TTL utilise IP
longueur U A P RS F
entte + options rserv R C S S Y I taille de la fentre
Adresse Emetteur IP G K HT N N

fin des donnes urgentes places


Adresse de Destination IP contrle d'erreur sur l'entte en dbut des donnes utilisateur
dans le segment
Padding: Octets
Options : pour tests ou debug 0 pour que options s'il y en a
l'entte *32 bits

DONNEES donnes s'il y en a

6
Trace dune communication point point prleve 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 dencapsulations successives ?
Trace hexadcimale dune 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
Dterminer le dbut du paquet IPv4.
Dterminer la fin de lentte du paquet IPv4.
Dterminer la fin de l'entte 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 dbit maximum thorique d'information pouvant circuler sur ce
support lorsquon utilise une modulation de valence 2 (bivalente) ?
Question 2
Le signal gnr dans cette voie est tel que le rapport signal bruit obtenu est de 20 dB.
Quel est le dbit maximum thorique dinformations pouvant tre achemines par
cette voie ?
Quelle valence faudrait-il pour approcher ce dbit maximum thorique ?

Exercice 2 : Modulation
On rappelle que le modem V29 fonctionne 9600 bit/s sur liaison 4 fils en full duplex. Le procd de
modulation est une modulation combine de phase octovalente et de modulation d'amplitude bivalente
(pour chaque phase utilise 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 ?

Exercice 3 : De l'utilit de la dtection d'erreurs


Sur une liaison hertzienne urbaine 1200 bit/s, on envoie des messages de 64 bits. La frquence
d'mission est de 12 messages/seconde.
Calculer le taux d'utilisation de la liaison.
La liaison tant de mauvaise qualit, le taux d'erreur par bit (not p) est compris entre 0,01 et 0,001. p
rprsente la probabilit qu'un bit soit mal reu.
Calculer en fonction de p la probabilit qu'un message soit mal reu. On suppose
que les altrations des bits sont indpendantes.

9
On suppose que l'metteur sait quand un message est mal reu et qu'il le retransmet.
Calculer en fonction de p le nombre moyen de transmissions. Est-il possible de
respecter (en ngligeant le temps coul entre 2 retransmissions) la frquence
d'mission de 12 messages/seconde ?

Exercice 4 : Codes polynmiaux


On considre le code polynomial sur 14 bits gnr par le polynme G(x)=x4 + x + 1
Rappeler le principe des codes polynmiaux. Quel est le nombre de bits de
redondance qui seront ajouts par G ? Quelle est la taille des mots initiaux ? Ce
code permet de dtecter quels types d'erreurs ?
On veut calculer les bits de redondance du mot M=1101011011
Donner D(x), le polynme correspondant M.
Calculer R(x), le reste de la division euclidienne de D(x).x4 par G(x).
En dduire la valeur des bits de redondance.
Les bits de redondances sont en gnral fabriqus par un dispositif matriel assez simple, utilisant des
portes logiques et des registres dcalage.
Pour cet exemple, le circuit a le schma suivant :

R3 R2 R1 ou-ex R0 ou-ex
SORTIE
ENTREE

horloge

Le circuit recoit en entre les bits du mot M (le bit de poid fort d'abord). Les registres R0 R3 sont
initialiss zro. Au 4me coup d'horloge, ils ont tous reu une valeur. Au 10me coup, tous les bits de M
ont t chargs. 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 fentre 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 dbit de la liaison est de 50 Kb/s. On rappelle que le dlai de
propagation d'une onde lectromagntique dans l'espace est voisin de la vitesse de la lumire, soit 300000
km/s.
Quel est le temps de transmission d'un message de A vers B ?
On utilise une procdure dite d'attente rponse : 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 dbit effectif de la liaison et son taux d'utilisation.
Au vu des rsultats prcdents, on dcide 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.

Exercice 2 : Gestion des fentres


On dsire programmer un protocole dont les qualits sont les suivantes :
- bidirectionnel,
- avec anticipation ,
- acquit positif port par les trames,
- et tel que le rcepteur n'accepte les messages qu'en squence.

Question 1
A quelles conditions d'erreurs sur la liaison de donnes les spcifications
prcdentes 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 mcanisme de temporisation ?
Question 4

11
Rappeler le principe du contrle de flux dans la liaison de donnes. A quoi sert-
il?
Question 5
Rappeler brivement pour les protocoles de liaison le principe de la gestion des
fentres en mission
On suppose que chaque metteur peut utiliser au maximum Maxseq+1 numros de squence diffrents
numrots de 0 Maxseq (numrotation en modulo Maxseq+1).
Expliquer pourquoi la taille de la fentre en mission doit rester infrieure Max
seq quand la taille de la fentre en rception vaut 1.
Mettre en vidence un cas d'ambigut.
Question 6
Quelle est la taille de la fentre en rception pour le protocole tudi ?

Exercice 3 : Fentre en Rception


On reprend le contexte de l'exercice 2.

Question 1
Rappeler brivement pour les protocoles de liaison le principe de la gestion des
fentres en rception
Question 2
On suppose toujours que chaque metteur peut utiliser au maximum Maxseq+1 numros de squence
diffrents numrots de 0 Maxseq (numrotation en modulo Maxseq+1).
Expliquer pourquoi la taille maximum de la fentre en rception doit rester
infrieure (Maxseq+1 )/ 2.
Mettre en vidence un cas d'ambigut.
Indiquer pourquoi la taille de la fentre en rception ne peut tre suprieure la
taille de la fentre en mission.

12
4 Niveau liaison (2)
Protocoles de type HDLC
Exercice 1 : Protocole trames HDLC (cas disymtrique)
Commenter l'change ci-dessous.
Chaque trame est spcifie 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

????

????

Commenter les changes


Complter les champs des diffrentes trames

14
Exercice 2 :
Automate d'tats pour un protocole de type HDLC
Sur le diagramme d'automate suivant on note N(S) le numro de squence d'une trame d'information et
V(R) le numro de la trame attendue en rception. Sur chaque transition sont portes une trame reue
conditionnant le franchissement (suivi de ?), une trame mise (suivi de !) et une condition boolenne (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 (symboliss par des cercles) ?
Question 2
Que signifient les transitions 1, 2, 8 (symbolises par des rectangles) ?
Question 3
Le protocole ne se comporte-t-il pas dune faon surprenante du point de vue de
l'tat 3 ?
Proposer une modification de lautomate qui le rende plus cohrent.
Question 4
Est-ce que le protocole utilise toutes les posibilits d'HDLC pour le contrle de
flux ?

15
5 Ethernet
Exercice 1 :Ingnierie des rseaux Ethernet
Question 1 : rseau Ethernet 10 base T
Comment fonctionne un rpteur Ethernet 10 base T (un hub ) ?
Comment fonctionne un commutateur Ethernet 10 base T (un lan switch) ?
Quel est la diffrence de fonctionnement d'une carte ethernet en mode Ethernet
half duplex et en mode Ethernet full duplex ?
On rappelle que la trame Ethernet est prcde de 8 octets de synchronisation (prambule), que la
trame comporte au moins 64 octets d'informations significatives et que lintervalle de temps qui spare
deux trames successives est d'au moins 9.6s. 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 interprter cette annonce de performances ?
Question 2 : rseau "fast ethernet" (Ethernet 100 base T )
Quelles sont les principales similitudes entre le rseau Ethernet 10 base T et le
rseau Ethernet 100 base TX ?
Et les principales diffrences ?
On rappelle que la taille minimum d'une trame Ethernet est de 64 octets. On suppose pour fixer les
ides que la vitesse de propagation du signal dans le mdium de communication ethernet est de 200000
km/s.
Quelle est la distance maximum thorique qui peut sparer deux stations dans un
rseau Ethernet 100 base T partag ( base de rpteurs) ?
Les distances effectivement recommandes sont de 90 mtres d'une station un rpteur sur paires
UTP5 avec possibilit de monter en cascade deux rpteurs spars par 5 mtres de cble.
Qu'est ce qui explique la diffrence entre la rponse la question prcdente et
les valeurs effectives ?
Certains standards spcifient des distances possibles d'utilisation de 2 kilomtres 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 rseau 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 rseau Ethernet
gigabit ?
La norme a prvu 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 rseau ?

Exercice 2 :
Etude d'un scnario de communication Ethernet
On considre un rseau local dont le partage de la voie est gr selon un algorithme CSMA/CD 1-
persistant. La retransmission en cas de collision est effectue selon l'algorithme du retard exponentiel
binaire tronqu.
Ce rseau gre les transmissions entre 4 stations A, B, C et D.
Dans ce problme on utilise comme mesure de temps le "slot time". Les dlais d'espacement intertrames
ainsi que les dures de dtection de voie libre sont ngligs. Le temps de dtection 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 dure considre dans l'exercice aucune autre demande de transmission n'est
soumise aux stations.
Tous ces messages sont de taille fixe et la dure de leur transmission est gale 6 slots.
L'algorithme du retard binaire est implant de la faon 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 accder la voie y compris celle en cours.
backoff_limit vaut 210
int est une fonction qui rend la valeur entire par dfaut
random est un gnrateur de nombres alatoires compris entre 0 et 1.
Dans l'exemple on considrera que la fonction random rend successivement pour chaque station les
valeurs donnes par le tableau suivant :

Station B C D

1er tirage 1/2 1/4 3/4

17
2e tirage 3/4 1/6 5/8

3e tirage 1/3 2/3 1/2

Question 1
Complter 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 reprsent par "A"
Un slot occup par une collision est reprsent par "X"
Un slot correspondant une absence de transmission est reprsent 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 priode allant de t = 0 la fin de
la transmission du dernier message.

18
6 Installation de rseaux
Ethernet partags
Lors du dploiement d'un rseau Ethernet partag on doit se proccuper de la topologie du rseau afin
de maintenir le diamtre de collision dans certaines limites.

Question 1
En Ethernet partag qu'est ce qu'un domaine de collision? On caractrise le
diamtre 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 partage incluent:
- le type des segments Ethernet utiliss (coaxial 10 Base 5, paire torsade 10 Base T, fibre optique 10
Base FL, ),
- la longueur des segments,
- la topologie d'ensemble des rpteurs et des segments.
Un rseau est correctement construit sil respecte certaines rgles concernant son domaine de collision.
On peut utiliser la rgle simple des 5 segments et 4 rpteurs au plus entre deux stations. A cette rgle sont
associes des prcisions restrictives concernant les types et les tailles des segments mais les coefficients de
scurit appliqus sont importants. Dans certains cas cette rgle s'avre insuffisante. Il est indispensable de
faire un calcul prcis, soit parce que le nombre de rpteurs et de segments est lev (gros rseau), soit
parce que la longueur des segments est importante (extension gographique grande).
La norme de base Ethernet IEEE 802.3 propose une mthode de calcul des dlais de propagation trs
dtaille mais trs complexe. Le groupe de travail sur les rseaux locaux IEEE 802.3 a propos ensuite
une mthode simplifie mais nanmoins prcise. Cette mthode, que nous allons tudier maintenant, est
dfinie pour tous les rseaux Ethernet (10 Mb/s, 100 Mb/s, 1000 Mb/s).
On considre ici pour simplifier le cas des rseaux Ethernet 10 Mb/s. Dans la mthode pour
dterminer si un rseau est correctement construit, les calculs raliser expriment les dlais en bits. En fait
chaque bit transmis sur un rseau Ethernet tant associ un certain dlai de propagation au dbit nominal
considr (ici 10 Mb/s), on considre qu'il y a quivalence entre mesurer un temps et mesurer un nombre
de bits.
Comment a t dfinie la tranche canal ('slot time') ? Quelle est sa dure ?
Si l'on se base sur la dure de la tranche canal, quel est le nombre de bits qui
permet de mesurer le diamtre de collision ?
Question 3
En fait la trame Ethernet 10 Mb/s comporte un prambule utilisable galement dans la dtection 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 rseau 10 Mb/s si l'on runit le prambule et la trame pour

19
dfinir la partie utilisable dans la dtection des collisions, quel est le nombre de
bits associ diamtre de collision ?
La norme recommande d'introduire une scurit supplmentaire de 5 temps bit pour ne pas trop
s'approcher de la limite.
Quel est le rsultat final?
Pour faire le calcul on doit tout d'abord dterminer le couple de stations connectes au rseau qui sont
les plus loignes (le pire des cas). On considre ensuite que ces stations sont interconnectes au moyen
de rpteurs et de segments de trois types: un segment gauche, un ou plusieurs segments au centre et un
segment droit. Pour chaque segment on fait apparatre sur le dessin qui suit, les cbles d'attachement
(cbles 'drop') nots par un trait simple, les MAU (transmetteurs) reprsents par une boite avec la lettre
M et le mdium not par un double trait. Les segments sont connects par des rpteurs reprsents par
une bote avec la lettre R.

M M R M M R M M

Segment N segments Segment


centre droit
gauche

Figure 1. Modle d'interconnexion entre deux stations

Question 4
Rappeler brivement les dfinitions des diffrents organes prsents dans la chane
de la figure ci-dessus : interface AUI, cble d'attachement (cble 'drop'),
transmetteur MAU, mdium, rpteur (hub)
Question 5
Le tableau suivant reprsente pour les quatre types principaux de segments Ethernet (10 Base 5, 10
Base 2, 10 Base T, 10 Base FL) et pour le cble d'attachement les dlais de propagation. En fait on y
trouve :
- la longueur maximum en mtres,
- 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 considre nulle),
- le nombre de bits pour un segment de longueur maximum
Pour des longueurs intermdiaires entre valeur de base et valeur maximum, le nombre de bits est linaire
en fonction de la longueur.

20
Segment gauche Segment centre Segment droit

Type Lg Max Base Max Base Max Base Max

10 Base 5 500 11,75 55,05 46,5 89,8 169,5 212,8

10 Base 2 185 11,75 30,731 46,5 65,48 169,5 188,48

10 Base T 100 15,25 26,55 42 53,3 165 176,3

10Base FL 2000 12,25 212,25 33,5 233,5 156,5 356,5

Attachement 48 0 4,88 0 4,88 0 4,88


AUI

Figure 2. Tableau des valeurs en nombre de bits


On remarque que les retards dus aux rpteurs n'apparaissent pas. Ils sont intgrs aux valeurs dfinies
pour les segments (la valeur associe un segment intgre dans le calcul ralis par les IEEE tout ce qui
concerne ce segment et ses rpteurs dextrmit). Le cas des cbles d'attachement fait lobjet dun
traitement particulier. S'ils sont dune longueur de base les retards pour ces cbles sont intgrs aux
segments. Sil sont dune longueur quelconque il faut rajouter une valeur comprise entre 0 (cble de base)
et 4,88 bits (longueur de 48 mtres).
On remarque aussi sur le tableau que les valeurs ne sont pas les mmes selon que le segment est
droite, au centre ou gauche. Ceci est en relation avec la mthode employe pour intgrer les diffrents
dlais. Ces diffrences n'ont pas d'importance pour les segments centre et aussi pour le cas ou les
segments extrmits sont les mmes. Si les segments extrmits ne sont pas identiques, comme l'analyse du
diamtre de collision doit concerner le cas le plus dfavorable, il faut faire deux calculs en changeant les
segments extrmits.
Sur la figure ci-dessous on a reprsent un rseau Ethernet assez simple mais assez tendu
gographiquement.

Rpteur (hub) fibre optique

10 Base FL 10 Base FL 10 Base FL


1 Km 1,6 Km 1,9 Km

Figure 3. Exemple de topologie Ethernet partage


Est ce que le rseau Ethernet de la figure prcdente est correctement construit ?
Dessiner le modle de l'interconnexion entre stations pour ce rseau dans le cas le
plus dfavorable.
Calculer le diamtre de collision et conclure.

21
On suppose que les transmetteurs optiques sont dans les stations et que les cbles d'attachement
AUI sont de longueur de base.
Question 6
On considre maintenant le rseau de la figure ci-dessous qui comporte cinq segments et quatre
rpteurs Ethernet.

Rpteur Rpteur

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

Rpteur Rpteur

Figure 4. Exemple de topologie Ethernet partage


Est ce que le rseau Ethernet de la figure 4 est correctement construit ?
On supposera que si des longueurs de cble ne sont pas prcises on prend le pire des cas.

Question 7
Un autre problme se pose pour dployer correctement un rseau Ethernet, c'est de respecter le dlai
Inter trame de 9,6 microsecondes (Interframe Spacing). Ce dlai est indispensable pour permettre aux
appareils Ethernet de sparer correctement les trames. On offre ainsi un dlai 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 rponse diffrents ou qui effectuent une
reconstruction du signal (comme les rpteurs) il en rsulte un raccourcissement apparent de l'intervalle
inter trame (baptis en anglais 'Interframe Gap Shrinkage'). Si ce rtrcissement est trop grave, les trames
successives ne sont plus distingues et on perd des trames car les contrleurs considrent que deux trames
successives nen font quune. La norme dfinit que le dlai inter trame peut tre raccourci jusqu 4,7
microsecondes sans risque. Au del on estime que le rseau est mal construit.
Pour valuer le raccourcissement on dcoupe le rseau selon les mmes rgles que prcdemment 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 dfinit les valeurs de raccourcissement du dlai inter trame en bits.
Type de segment Segment gauche Segment milieu
Coaxial 16 11
Autre 10,5 8
Figure 5. Raccourcissement du dlai inter-trame

22
Est ce que le rseau Ethernet de la figure 3 est correctement construit du point de
vue du raccourcissement du dlai inter trame ?
Mme question avec le rseau de la figure 4

23
7 Routage dans les
commutateurs de rseaux locaux
Un ingnieur rseau reprend ladministration dune architecture de rseau local ou tout fonctionne
en Ethernet. L'architecture est constitue de quatre commutateurs (lan switches) numrots 1 , 2 , 3 , 4 et
de deux concentrateurs (hubs) selon la figure suivante. Les commutateurs sont configurs en
fonctionnement transparent avec lalgorithme de larbre couvrant (spanning tree). Pour chaque appareil,
ont t mentionns les numros des ports utiliss pour linterconnexion. L'architecture mentionne aussi trois
tronons 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 dbit 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 utiliss, sont numrots sur la figure. La consultation des
tables de configuration dans les commutateurs donne les informations suivantes :

Commutateur 1 (Adresse MAC 00:A0:D6:13:43:65 Priorit 8000)

Numro du port Adresse MAC du port Priorit du port


Port 1 00:A0:D6:13:43:65 8000
Port 4 00:A0:D6:13:43:69 8000
Port 8 00:A0:D6:13:43:73 8000

Commutateur 2 (Adresse MAC 00:A0:D6:14:37:E1 Priorit 8000)

Numro du port Adresse MAC du port Priorit du port


Port 1 00:A0:D6:14:37:E1 8000
Port 3 00:A0:D6:14:37:E4 8000
Port 7 00:A0:D6:14:37:E7 8000
Port 8 00:A0:D6:14:37:E8 8000

Commutateur 3 (Adresse MAC 00:A0:D6:13:31:F6 Priorit 8000)

Numro du port Adresse MAC du port Priorit du port


Port 1 00:A0:D6:13:31:F6 8000
Port 4 00:A0:D6:13:31:F9 8000
Port 7 00:A0:D6:13:31:FC 8000
Port 8 00:A0:D6:13:31:FD 8000

Commutateur 4 (Adresse MAC 00:A0:D6:09:18:12 Priorit 8000)

Numro du port Adresse MAC du port Priorit du port


Port 1 00:A0:D6:09:18:12 8000
Port 4 00:A0:D6:09:18:15 8000
Port 7 00:A0:D6:09:18:18 8000

Question 1
Pour cette architecture, lorsque lon fait fonctionner lalgorithme de larbre couvrant on lit un
commutateur racine (root switch).

1.1) Quest ce quun commutateur racine ?

25
1.2) Comment est-il choisi ?
1.3) Quel est le commutateur qui est lu racine de larbre couvrant pour
larchitecture donne en exemple ?

Question 2
Pour chaque commutateur on lit un port racine (root port).

2.1) Quest ce quun port racine ?


2.2) Comment est-il choisi ?
2.3) Quels sont pour les quatre commutateurs les ports racine ?

Question 3
Pour chaque tronon de rseau local ou voie de communication on lit un port dsign.

3.1) Quest ce quun port dsign (designated port) ?


3.2) Comment choisit-on un port dsign ?
3.3) Quels sont pour les diffrents tronons les ports dsigns?

Question 4
Aprs cette tude dessinez larbre couvrant construit automatiquement par
lalgorithme de routage. Placez les commutateurs par niveaux en commenant par
le commutateur racine, indiquez les ports racines par des cercles gris et les ports
dsigns par des carrs noirs, placez les stations ?

Question 5
Comment fonctionne la construction des tables de routage. La table de routage
peut-elle tre indpendante de larbre couvrant construit ? Pourquoi ?

Question 6
Quelle est la table de routage du commutateur 3 aprs une dure de fonctionnement
suffisamment longue qui permet une connaissance complte du rseau et de son
arbre couvrant ?

Question 7
Finalement ce rseau vous parat-il bien construit. Si non que proposez vous pour
en amliorer le fonctionnement ?

26
8 Gestion des adresses et du
routage en IPv4
Exercice 1 : Adressage IPV4 de base (hirarchis deux
niveaux).
Ladressage IPV4 a t cr dans sa version de base en distinguant trois classes dadresses associes
trois classes de rseaux nots A, B et C.
1) Comment est note ladresse dun hte et ladresse dun rseau ?
2) Comment un ordinateur hte ou un routeur reconnaissent-il quune adresse de
destination appartient lune des classes ?
3) Quelle est la proportion relative du nombre dadresses IPV4 affectes aux
diffrentes classes A, B, C ? En dduire une consquence si lutilisation des
adresses de classe A (ou B) est inefficace.
4) Quelle est lopration effectue sur une adresse de station pour dterminer son
adresse de rseau ?
5) Comment ladresse dun hte destinataire est elle utilise pour le routage ?
On vient de voir que les conventions dadressage de base IPV4 permettent implicitement la
dtermination de lappartenance dune adresse lune des classes A, B, C ainsi que celle de ladresse du
rseau auquel il appartient. Bien que cela ne soit pas ncessaire on souhaite maintenant pour toute adresse
IP rendre explicite ladresse de son rseau dappartenance en utilisant systmatiquement la notation
adresse/n. On rappelle que dans cette notation n est la longueur du prfixe dfinissant le rseau
dappartenance 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 ton procd un tel dcoupage et quels en sont les difficults
actuelles ?

Exercice 2 : Adressage IPV4 de base avec la notion de sous


rseau (hirarchis trois niveaux).
Ladressage IPV4 a assez rapidement introduit la possibilit de structurer les adresses dun rseau IP
en sous rseaux. Une entreprise dont linformatique tait base sur de petites architectures rseaux
htrognes (Novell, ) dcide de passer Internet. Aprs en avoir fait la demande lentreprise a obtenu
l'adresse 193.1.1.0. Compte tenu de lorganisation actuelle de lentreprise lingnieur systme doit dfinir
au moins 6 sous-rseaux. Compte tenu de lvolution prvisible de lentreprise, lingnieur systme pense
que le sous-rseau le plus important peut comporter moyen terme 25 htes.

Question 1

27
Quel est le dcoupage que doit effectuer lingnieur systme ? En dduire la
valeur du masque de sous rseau. On donnera le rsultat dans la notation
dcimale pointe et dans la notation /n.
Question 2
On considre le 2me sous rseau dont ladresse.
Quelle est son adresse complte de sous rseau ?
Quelle est ladresse de diffusion tous les htes de ce sous rseau ?

Exercice 3 : Adressage en IPV4 avec CIDR


Comme son nom lindique CIDR (Classless Inter Domain Routing) est une approche sans classe. On
ne considre plus une adresse comme appartenant implicitement lune des trois classes A, B ou C. En
CIDR on associe explicitement toute adresse de rseau IP un masque qui dfinit le prfixe qui caractrise
le rseau auquel correspond cette adresse. Les adresses de rseaux sont donc maintenant toujours utilises
avec leur prfixe qui peut tre de taille arbitraire (par exemple /8, /17, /21).
Supposons quon attribue une entreprise ladresse 194.16.0.0 avec le prfixe /21 soit en binaire un
masque 11111111 11111111 11111000 0000000000 ou en notation dcimale pointe une valeur de
masque 255.255.248.0). Cette attribution veut dire que cette entreprise dispose pour son rseau du bloc
dadresse qui stend de 194.16.0.0 194.16.7.255. Soit l adresse 194.16.6.23 dun hte dans ce
rseau atteindre. En utilisant le masque (dfini ici par /21) qui doit toujours tre associ ladresse on
voit que cet hte doit tre atteint au moyen de ladresse rseau 194.16.0.0. Il faut donc rechercher dans
les tables de routage une entre correspondant cette adresse de rseau.

Question 1
Considrons ladresse CIDR dun rseau qui serait 193.53.32.0/20.
Quelle serait le nombre dhtes que comporterait ce rseau ?
Question 2
Dans le rseau prcdent 193.53.32.0/20 quelle est ladresse la plus petite
utilisable pour un hte et quelle est la plus grande ?
Question 3
Supposons quun 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 attribues.
Ces adresses ntant plus jamais utilises par leurs anciens propritaires,
pourrait-on les attribuer nouveau selon lapproche CIDR (attribuer par
exemple 17.46.64.0/19, 134.15.0.0/20 et 194.65.32.0/21) ?
Question 4
Une entreprise sadresse un Prestataire de Service Internet PSI (ISP Internet Service Provider)
pour obtenir 800 adresses.
Que devait faire le prestataire dans ladressage par classes A, B, C pour

28
satisfaire son client et avec quels inconvnients ?
Question 5
Nous supposons que le prestataire daccs Internet a reu pour exercer son activit le bloc
d'adresses CIDR 202.0.64.0/18 avec lequel il a constitu son rseau. Chaque prestataire est libre de
dcouper son espace dadresse comme il l'entend pour fournir des adresses ses clients. Les clients
peuvent galement leur tour dcouper l'espace reu pour le distribuer en interne selon les principes
CIDR. Ils pourraient mme devenir prestataires daccs Internet.
Pour un client demandant 800 adresses que va faire le prestataire si au
moment de la demande la premire adresse rseau qui est libre est
202.0.70.0 ?
Question 6
Comment se passe avec CIDR le routage dans le rseau Internet pour atteindre
lun des htes appartenant au rseau du client ayant obtenu les 800
adresses ?
Vous prendrez si ncessaire une adresse titre dexemple dans cet ensemble.
Question 7
En rsum montrez en quoi CIDR constitue une amlioration majeure de
ladressage IPV4.

Exercice 4 : Allocation dadresses IPV4 pour les rseaux


privs
Dans le cadre du protocole IPV4 on a dfini deux types dadresses IP : les adresses IP
publiques (galement appeles globales) et les adresses IP prives (galement appeles locales).
Cette dfinition apparat dans la norme RFC 1597 (mars 1994) dont le titre est Address allocation
for private Internets (version dfinitive RFC 1918 fvrier 1996).

Question 1
Quelles sont les adresses IPV4 qui sont dfinies comme adresses prives (ou
locales) et quelles sont les adresses qui sont dfinies comme publiques ou
globales ?

Question 2
Comment sont attribus ces deux types dadresses ?

Question 3
Comment sont utiliss ces deux types dadresses (quelles sont les rgles mises
en oeuvre pour ces adresses dans un routeur dun rseau IPV4 priv cest

29
dire un rseau dentreprise ou un rseau personnel et dans un routeur du
rseau IPV4 global) ?

Question 4

Dans quels buts a-t-on dfini ces deux types dadresses (avec quels avantages et
quels inconvnients) ?

Exercice 5 : Traduction dadresses IPV4 (NAT)


La norme RFC 1631 (mai 1994) ('The IP Network Address Translator), dfinit un principe
gnral de traduction dadresses IP. La dernire version, la plus rcente de cette approche RFC 3002
(janvier 2001) amliore diffrents points.
La traduction d'adresses peut tre applique par diffrents types dappareils dont la caractristique
principale est dtre situs entre un rseau IPV4 priv et le rseau IPV4 global. Typiquement la traduction
est effectue par un routeur, mais on peut aussi appliquer la traduction dans un hte quelconque ou dans un
filtre (pare-feux ou firewall).
La traduction au niveau des adresses IP s'applique l'adresse source d'un datagramme IP en
provenance du rseau priv (baptis encore en NAT rseau interne) et destination du rseau public
(baptis encore en NAT rseau externe). De manire symtrique, la traduction est effectue sur les
datagrammes en provenance du rseau public (ou externe) vers le rseau priv (ou interne).
La traduction dadresse peut tre ralise de diffrentes faons qui sont examines dans les
questions suivantes.

Question 1

Dans le mode NAT statique ladresse IPV4 source prive est traduite en une adresse IPV4 source
publique qui est toujours la mme. La correspondance dans ce cas est bijective (biunivoque) c'est--dire
qu une adresse prive est associe de manire statique une adresse publique (selon une table de
correspondance statiquement dfinie par un administrateur rseau).

Quelle utilisation peut-on faire dun tel mode de traduction dadresses IP ? Quels
sont les inconvnients ?

Question 2

Dans le mode NAT dynamique, la traduction dune adresse source IPV4 prive est effectue vers une
adresse source IPV4 publique qui est prise dans un bloc dadresses publiques disponibles. Ladresse
publique utilise nest donc pas toujours la mme. Par exemple si lon suppose que lhte dadresse
172.20.40.17 met un datagramme un instant donn vers lInternet global, son adresse est traduite dans
la premire adresse disponible dun bloc. Par exemple, si ladresse 212.19.50.63 du bloc disponible
212.19.50.0 212.19.50.255 est non utilise au moment de lmission du datagramme, on lutilisera et on
traduira 172.20.40.17 en 212.19.50.63. Cette correspondance est enregistre dans une table. De manire
viter de bloquer indfiniment une adresse attribue dynamiquement, un temporisateur est utilis pour
rvoquer lattribution dune adresse publique. A lchance, on rcupre une adresse attribue et l'on

30
procde une nouvelle attribution dadresse si un nouvel change lieu (ventuellement on peut reprendre
la mme adresse pour un autre quantum).

Quel avantage nouveau obtient-on dun tel mode de traduction dadresses IP ?

Question 3
Le troisime mode est connu sous diffrents noms (mode NAT avec surcharge NAT 'overloading'
encore appel NAT with PAT 'Port Address Translation'). Dans ce cas la traduction dune adresse
source IPV4 prive vers une adresse source IPV4 publique est complte par la traduction du
numro 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 lon suppose que lhte
dadresse 172.20.40.17 met un datagramme selon le protocole TCP avec le numro de port
source 5032, alors son adresse IP est traduite en ladresse IP publique (212.19.50.63) et le numro
de port source TCP est galement traduit vers un numro de port non utilis (par exemple 4097 si
ce port n'est pas dj attribu une autre communication). Comme dans le cas du NAT dynamique,
les attributions sont associes un temporisateur avec rcupration chance. Ce mode de
fonctionnement est le plus utilis.

Quels en sont les avantages et les inconvnients ?

31
9 Fonctionnement d'IP
Exercice 1 : Fragmentation IP
Question 1
Dans un rseau qu'est ce que la fragmentation?
Question 2
Comment fonctionne la fragmentation en IP V4 (expliquez en les principes
gnraux) ?
Question 3
Un client de messagerie F transfre un message lectronique de 4000 octets de donnes vers un serveur
distant en utilisant trois voies de communication successives selon la figure ci-aprs. On considre que
toutes les enttes ajoutes par les diffrentes couches de protocoles traverses au dessus de la couche IP
font partie des 4000 octets. Dans les datagrammes IP l'entte est une entte standard de 20 octets (il n'y a
pas d'options rajoutes en extensions dans les enttes IP).
Serveur Messagerie
Client de messagerie F distant
MTU : 500 octets
MTU : 1500 octets MTU : 1500 octets
LS
Rseau R1 : Ethernet Rseau R2 : Ethernet
(Fournisseur)
Routeur Routeur
F D
Expliquez dans les grandes lignes le fonctionnement de la fragmentation dans ce
cas.
Combien de datagrammes sont changs, o sont-ils crs?
Question 4
Pour l'exemple prcdent dcrivez prcisment les enttes des datagrammes IP
changs. Vous ne dcrirez que les champs associs la fragmentation et la
longueur du datagramme ?

32
Exercice 2 : Principe de base du routage dans le rseau
Internet
Dans un routeur IP la table de routage comporte pour chaque entre une route. On trouve dans
l'exemple de la table suivante:
- un numro d'entre pour se reprer facilement,
- l'adresse de destination,
- le masque de rseau de l'adresse destination (en notation /n),
- l'adresse IP du prochain routeur ou du prochain hte visiter sur la route,
- le cot (la mtrique).
D'autres informations sont prvues 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 dfinir si le datagramme IP doit
atteindre une destination distante ou s'il est dlivrer sa destination par le prsent routeur.

N Destination Masque Routeur Mtrique


1 0.0.0.0 /0 10.1.3.65 1
2 10.1.0.0 /16 10.1.3.65 1
3 10.1.3.0 /26 10.1.3.1 0
4 10.1.3.64 /26 10.1.3.126 0
5 10.1.3.128 /26 10.1.3.190 0
6 10.1.3.192 /26 10.1.3.254 0
7 10.1.4.0 /26 10.1.3.4 11
8 10.1.4.64 /26 10.1.3.4 9
9 10.1.4.128 /26 10.1.3.4 10
10 10.1.16.64 /26 10.1.3.65 5
11 10.1.8.0 /24 10.1.3.65 6
12 10.1.8.0 /26 10.1.3.65 9
13 10.1.8.64 /26 10.1.3.65 17
14 10.1.8.64 /26 10.1.3.62 22
15 10.1.8.128 /26 10.1.3.65 25

Question 1
Rappeler le test appliquer chacune des entres de la table pour dterminer
parmi celles-ci quelles sont celles qui correspondent des routes permettant
d'atteindre une destination donne. Application la destination 10.1.8.66.
Quelles sont les routes qui passent positivement le test ?

33
Question 2
Lorsque l'on a opr ce premier lagage on ralise un second lagage conduisant choisir les
routes qui sont associes aux masques les plus longs.
Pourquoi les routeurs doivent-ils raliser une recherche de "correspondance la
plus longue" (Longest Match based forwarding algorithm) ?
Donner le numro des entres qui passent ce second filtrage.
Question 3
Les routeurs peuvent ensuite arbitrer entre diffrentes routes selon un routage de la pomme de terre
chaude. Dans le paquet IP il existe dans l'entte une zone ddie 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 diffrentes
routes encore juges quivalentes?
Question 4
Un quatrime filtrage peut utiliser la mtrique.
Rappeler la signification de cette valeur.
Comment utiliser cette entre dans la table de routage pour filtrer entre les
diffrentes routes qui seraient encore juges quivalentes ?
Question 5
Un cinquime filtrage peut mettre en avant des techniques propres chaque fabricant de routeur.
Quelle optimisation plus globale au rseau peut-on encore raliser si l'on a
encore plusieurs routes juges quivalentes ?
Question 6
S'il n'existe plus lors de l'une des tapes prcdentes de route possible pour
atteindre le destinataire, que se passe t'il?

34
10 Dploiement de rseaux IP
Un ingnieur rseau doit installer un nouveau sous-rseau Internet dans son entreprise. L'organisation
administrative et gographique des ordinateurs raccorder est telle qu'il apparat naturel de crer deux
groupes de 5 et 13 htes. Chaque groupe de postes est interconnect au moyen d'un rseau ethernet
partag. On utilise pour cela un rpteur (par exemple de standard 10 BaseT). On associe aux deux
groupes, deux sous-rseaux IP et on interconnecte les deux sous-rseaux 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 rseau d'entreprise. Chaque sous-rseau dispose d'un routeur. Ces routeurs sont
baptiss 'charnire' pour le groupe de 13 htes et 'arrive' pour le groupe de 5 htes. Les routeurs sont
connects au moyen de deux liaisons spcialises point point notes Liaison spcialise 1 et 2.

Routeur 'base'

1
Liaison
Sous rseau 3 Spcialise 1
Rpteur
2
5
Routeur 'charnire'
Sous rseau 1 13 htes
3
Liaison
Sous rseau 4 Spcialise 2

Rpteur
4

6
Routeur 'arrive'

Sous rseau 2
5 htes

Exercice 1 : Choix des adresses


Pour raliser l'installation IP de ce nouvel ensemble, l'ingnieur rseau souhaite d'une part conomiser
les adresses IP mais aussi minimiser le nombre des entres placer dans les tables de routage pour
atteindre le nouvel ensemble (agrger les routes). Pour cela l'ingnieur considre comme indispensable que
le nouvel ensemble installer forme un unique rseau IP, comprenant diffrentes adresses elles-mmes
organises en sous rseaux (selon la figure).
Dtaillons maintenant toutes les adresses fournir. Sur le dessin les points qui doivent recevoir une
adresse IP sont marqus par de petits ovales.

35
L'ingnieur rseau doit attribuer des adresses IP pour le sous-rseau 1, c'est dire pour chacun des 13
htes qui constituent ce sous rseau IP, mais aussi pour le port du routeur 'charnire' qui dessert le sous-
rseau 1. Ce port est indic par le numro 5 sur la figure.
De mme le sous rseau 2 doit comprendre 5 adresses d'htes et une adresse pour le port d'accs
partir du routeur 'arrive'. Ce port est indic par le numro 6 sur la figure.
Les routeurs utiliss ne grent pas les liaisons dnumrotes. On rappelle que de nombreux routeurs en
appliquant la RFC 1812 permettent d'utiliser des liaisons spcialises (LS) sans adresses IP. Dans ce cas,
moyennant des directives de configuration des routeurs, deux routeurs relis par une liaison spcialise
forment en fait du point de vue du routage un seul routeur virtuel. La liaison spcialise est cache et gre
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 extrmits d'une liaison spcialise pour pouvoir l'utiliser dans le cadre
du routage. Ces adresses doivent appartenir au mme sous rseau IP. Les deux LS forment donc deux
petits sous rseaux baptiss 3 et 4. Ces deux sous rseaux ont besoin seulement de deux adresses IP.
L'ingnieur rseau a un bloc d'adresses IP non utilises 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'ingnieur pense pouvoir utiliser seulement un bloc de 32 adresses libres parmi
celles dont ils dispose.
Pourquoi ?
Quelle adresse de rseau choisit-il pour la totalit des adresses du nouvel
ensemble (donner l'adresse de rseau et son masque en notation /n)?
Question 2
L'ingnieur attribue pour commencer les adresses d'extrmit de la liaison spcialise 1 (adresses du
sous-rseau 3). Il doit donc crer un sous rseau avec deux adresses IPV4.
Quelle est l'adresse de rseau du sous-rseau 3 (l'adresse et le masque du plus
petit rseau IPV4 possdant au moins deux adresses utilisables partir de la
premire adresse libre) ?
Question 3
L'ingnieur attribue la premire adresse IP utilisable du rseau dtermin la question 2 (la plus petite)
l'extrmit 1 sur le dessin (port du routeur 'base') et la seconde (la plus grande) l'extrmit 2 (port du
routeur 'charnire').
Quelles sont les deux adresses attribues ?
Question 4
L'ingnieur attribue ensuite les adresses IP d'extrmits de la liaison spcialise 2 (adresses IP du sous
rseau 4).
Quelle est l'adresse de rseau retenue pour ce nouveau bloc de deux adresses si
l'on attribue les adresses immdiatement disponibles aprs l'attribution du sous
rseau 3 ?

36
Question 5
Si l'on attribue la plus petite adresse utilisable de ce sous rseau l'extrmit 3
(port du routeur 'charnire') et la plus grande adresse l'extrmit 4 (port du
routeur 'arrive'), quelles sont les deux adresses retenues ?
Question 6
L'ingnieur doit ensuite attribuer des adresses de sous rseaux pour les sous rseaux 1 et 2 qui
correspondent 13+1 soit 14 adresses et 5+1 soient 6 adresses.
Quelle est maintenant la premire adresse disponible ?
De manire optimiser l'utilisation des adresses dans quel ordre doit-il attribuer
les deux demandes ?
Question 7
Quelle est alors l'adresse de sous rseau attribue pour le sous rseau 1.
Si l'on prend la plus petite adresse disponible dans ce sous rseau, quelle est
l'adresse attribue au port du routeur 'charnire' indice 5 sur le dessin ?
Question 8
Quelle est l'adresse de sous rseau attribue pour le sous rseau 2 ?
Si l'on prend la plus petite adresse disponible dans ce sous rseau, quelle est
l'adresse attribue au port du routeur 'arrive' indice 6 sur le dessin?

Exercice 2 : Construction des tables de routage


Dans les questions qui suivent on s'intresse la construction des routes dans le cadre d'un routage
statique (d'initialisation des tables de routage) pour atteindre les diffrentes composantes du nouvel
ensemble (rseaux, stations, liaisons spcialises). Pour construire le routage, il peut tre trs pratique de
reporter toutes les adresses dfinies dans le premier exercice sur la figure qui reprsente la topologie du
rseau pour avoir une vue d'ensemble du plan d'adressage.

Question 1
Dans la table de routage d'un hte d'un rseau IP on dfinit en gnral trois routes.
Dfinir les trois entres ncessaires au routage pour l'une des stations du sous
rseau 1.
Pour chaque entre on dfinira au moins la destination de la route, le masque de cette destination (en
notation /n) et le prochain saut ('next hop' ou 'gateway' dfinissant le prochain routeur ou la station visit).

Question 2
Dfinir les entres concernant le nouvel ensemble, pour la table de routage du
routeur 'base'.
Pour chaque route on prcisera la destination, le masque de la destination, le prochain saut ('next hop' ou
'gateway' dfinissant le prochain routeur ou la station visit) et le type de la route. Le type est soit local si

37
les paquets sont dlivrs leur destinataire directement, soit distant si les paquets doivent tre relays par
le prochain routeur avant d'tre dlivr. Pour construire la rponse, on doit dfinir dabord la route pour
atteindre tout le nouvel ensemble partir du routeur 'base'. On dfinira aussi une route qui dessert
localement la liaison spcialise numro 1. Comme on a cr ce sous rseau IP numro 1, l'accs ces
adresses doit tre possible toutes fins utiles comme l'envoi de paquets de tests ou de paquets
d'administration de rseau SNMP (IP ne sert pas uniquement pour dlivrer des messages TCP ou UDP
des htes). Cet accs est-il raliser par le routeur 'base' via le port numrot 1?

Question 3
Dfinir les entres concernant le nouvel ensemble, pour la table de routage du
routeur 'charnire'.
Pour chaque route on prcisera comme prcdemment la destination, le masque de la destination, le
prochain routeur et le type de la route (ne pas oublier les liaisons spcialises).

Question 4
Dfinir les entres concernant le nouvel ensemble, pour la table de routage du
routeur 'arrive'.
Question 5
Est ce que le plan d'adressage prcdent est satisfaisant ?
On examinera le critre de l'utilisation des adresses IP. On examinera ensuite le critre de l'agrgation des
routes (de la minimisation du nombre de routes crer).
De combien d'entres a-t-on besoin dans une table de routage pour accder au
nouvel ensemble des deux sous rseaux ou chacun des sous rseaux ?

38
11Routage OSPF
("Open Shortest Path First")
Le but de ce problme est d'tudier le protocole internet OSPF. C'est un protocole de routage rparti
dans lequel chaque routeur gre une base de donnes de l'ensemble des liaisons d'un rseau (topologie du
rseau) et calcule partir de cette base les plus courts chemins par l'algorithme de Dijsktra. Cette base de
donne 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 baptiss " tat des liaisons" ou "linkstate".
Par exemple soit un rseau de 7 routeurs A, B, C, D, E, F, G dont la topologie est la suivante (les cots
de transit pour chaque liaison sont supposs gaux dans chaque direction et sont mentionns sur l'arc
reprsentant la liaison).

A 6 2
B C
5
2 1 2 G

F 1
D 2 E 4
La base de donnes (topologie ou carte du rseau) qui doit tre connue de chaque routeur donne
principalement les cots en point point pour chaque liaison. D'autres informations sont galement
stockes dans cette table. Certaines de ces informations seront introduites dans la suite.
La base de donnes (topologie ou carte du rseau) qui doit tre connue de chaque routeur donne
principalement les cots en point point pour chaque liaison. D'autres informations sont galement
stockes dans cette table. Certaines de ces informations seront introduites dans la suite.
De Vers Cot
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 donnes est construite par change d'informations entre les routeurs. Pour cela le
protocole suivant est effectu. Son dclenchement peut rpondre diffrentes stratgies de mise jour :
- priodiquement
- lorsqu'un routeur nouveau s'initialise
- lorsqu'un routeur s'aperoit qu'il a un nouveau voisin
- lorsque le cot 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 cots de liaison que le routeur souhaite faire connatre. Un LSP comporte principalement
une liste de noms de routeurs (voisins d'un routeur) et les cots pour les atteindre. Les LSP mis par un
mme routeur sont numrots au moyen d'un numro de squence. Pour simplifier on ne se proccupe pas
du retour zro des compteurs utiliss trop longtemps.
tape 2 :
Le paquet LSP est transmis tous les routeurs voisins et chaque routeur enregistre les informations du
LSP gnr le plus rcemment. Plus prcisment chaque voisin effectue le traitement suivant:
- Recevoir le paquet LSP.
- Consulter la base existante.
- Si l'entre (la liaison et son cot) n'est pas prsente, ajouter cette entre et diffuser l'information tous
les voisins sauf l'metteur du LSP.
- Si l'entre est prsente et si le numro de squence du LSP est plus grand que celui correspondant
l'entre modifier l'entre et diffuser l'information tous les voisins sauf le r-metteur du LSP.
- Si l'entre est prsente et si le numro de squence du LSP est plus petit ou gal celui
correspondant l'entre: 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 Numro de Squence metteur du point de vue du rseau internet
qui est datagramme ?
A quoi sert le Numro de Squence metteur du point de vue du protocole de
diffusion des informations d'tat de liaison ?

40
En plus du Numro de Squence, chaque information concernant une liaison possde une date de
premption (variable baptise dans OSPF "age") qui apparait aussi bien dans les paquets LSP changs
que dans les bases de donnes. Toute information dpassant sa date est systmatiquement dtruite.
Citer plusieurs types de problmes qu'une telle datation solutionne.
Question 4
On suppose que la liaison de A vers B est coupe. On a alors le rseau :

A B 2 C
5
2 1 2 G

F 1
D 2 E
4
A ayant dtect la coupure, A prpare un LSP de la forme : "de A B, cot = infini , numro de
squence,"
On suppose que ce LSP est le premier gnr (au dbut il est le seul).
Indiquer ce qui se passe alors dans le rseau. Quelle est la base de donnes
obtenue par les diffrents noeuds la fin du processus d'inondation ?
On suppose qu'ensuite B prpare et transmet son LSP concernant A-B.
Quelle est la base de donnes 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
aperus de cette rupture et envoient les LSP correspondants).
Indiquer la (ou les) bases de donnes 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 donnes trouves la question prcdente et du rseau suivant on suppose que la
liaison de B C tombe en panne et amne au rseau :

A B C
5
2 1 2 G

F 1
D E
4
Indiquer les bases de donnes obtenues par chaque routeur.

41
Question 7
Par la suite la liaison de D E est rtablie avec un cot de 2 rendant de nouveau le rseau connexe. On
obtient alors le rseau ci-dessous.
On excute l'algorithme de diffusion en supposant que D et E informent le rseau du rtablissement de
cette connexion.

A B C
5
2 1 2 G

F 1
D 2 E
4
Quelle est la valeur du cot 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 dtecter efficacement la situation ? Sur quel type de site ? (on suggre
une utilisation du numro de squence)
Comment faire pour mettre en oeuvre une solution de "rconciliation" base sur le
numro de squence ?
Question 8
La technique de diffusion par inondation de l'tat des liaisons est inconcevable
telle que pour le rseau Internet. Pourquoi ?
Que fait-on pour appliquer quand mme OSPF l'internet ?

42
12 TCP : automate protocolaire
Citez diffrentes 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 ralises par TCP?).
Examinez lautomate en suivant les transitions portes en traits gras. Il sagit
dune ouverture de connexion suivie dune fermeture. Analysez les diffrentes
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

?Recevoir SYN ATTENT !Envoyer SYN


!Envoyer "LISTEN"
E
SYN,ACK ?SEND
?Recevoir RST
!Envoyer SYN
Demi-passif ?Recevoir SYN Demi-actif ?CLOSE
"SYN_RCVD" !Envoyer SYN, SYN_SENT ?Timeout
ACK ?Recevoir SYN,ACK
?Recevoir ACK
!Envoyer ACK
?CLOSE OUVERT
!Envoyer FIN "ESTABLIHED"
?CLOSE ?Recevoir FIN
!Envoyer FIN ! Envoyer ACK "CLOSE_WAIT"
?Recevoir FIN
!Envoyer ACK ?CLOSE
!Envoyer FIN
"FIN_WAIT_1" "CLOSING"
?Recevoir
FIN,ACK ?Recevoir "LAST_ACK"
?Recevoir ACK
ACK
!Envoyer ACK
?Recevoir ACK

"FIN_WAIT_2" "TIME_WAIT"
?Recevoir FIN
!Envoyer ACK

43
13 TCP : fonctionnement
Exercice 1 : Gnralits sur la couche transport
Question 1
Quels sont les problmes poss par l'utilisation de couches rseaux peu fiables
qui compliquent la ralisation de la couche transport ?
Question 2
Quelles sont les principales analogies entre la couche transport et la couche
liaison ?
Quelles en sont les principales diffrences ?

Exercice 2 : Transport TCP


L'change TCP de la figure suivante correspond au transfert d'une page WEB entre un navigateur WEB
et un serveur WEB. On fait l'hypothse que la requte la page WEB fait 100 octets et que la page WEB
retourne fait 1000 octets. Il ny a pas derreurs de transmission.
Pour chaque segment de donnes, diffrentes informations apparaissent. D'une part la prsence d'un ou
plusieurs des diffrents indicateurs comme SYN, FIN, ACK. Par ailleurs sur la premire ligne deux chiffres
sont ports. Le premier chiffre correspond au numro de squence du premier octet du segment, le
deuxime chiffre correspond au numro du premier octet du prochain segment envoyer. Le chiffre entre
parenthses correspond au nombre total d'octets transmis dans le segment. Si le segment est porteur d'un
acquittement positif, l'indicateur ACK est mentionn et a cot de lui doit figurer la valeur du champ
acquittement du segment TCP.
Compltez les numros de squence et les numros d'acquittement qui manquent
sur la figure (qui apparaissent sous forme de point d'interrogation). Indiquez
quoi correspondent les diffrents segments numrots de 1 8.

44
Navigateur WEB SYN 143256:143256 (0)
Serveur WEB

Segment 1
SYN 250712:250712 (0)
ACK ? Segment 2

143257: 143357 (100)


Segment 3 ACK ?

250713: 251713 (1000)


ACK ? Segment 4

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 donnes qui ont des contraintes
temps rel (contrainte de gigue constante, contrainte de latence borne par
exemple).
Question 2
2.1. Rappelez quels vnements sont utiliss par TCP pour dcider que le rseau
est en congestion ?
2.2. Rappelez brivement les principes des mcanismes baptiss "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 ractive pour estimer la bande passante disponible pour une connexion. En fait, le
dbit soumis augmente tant qu'une congestion n'apparat pas (et tant qu'on ne dpasse pas le crdit allou
par le rcepteur). Diffrentes tudes proposent des modifications de TCP.
TCP se voit ajouter des extensions. On examine une extension qui est relative au dbit d'mission. Des
statistiques sont faites par connexion.
On calcule un dbit attendu instantan de la faon suivante :
Attendu(t) = TailleFentreCongestion(t)/BaseRTT o
o BaseRTT : dlai Aller/Retour associ un segment quand le rseau n'est pas
congestionn (avant que les routeurs ne saturent cause du trafic de cette connexion),
on entend par dlai Aller/retour (ou encore RTT pour Round Trip Time) le dlai qui
s'coule entre l'mission du segment et l'arrive 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 infrieur BaseRTT,
alors BaseRTT prend cette nouvelle valeur.
o TailleFentreCongestion(t) est la valeur courante de la fentre de congestion de
l'metteur.
On mesure le dbit d'mission rel instantan de la faon suivante :
Mesur(t) = TailleSegmentEmis(t)/RTTduSegment
Soit Diff(t) = Attendu(t) Mesur(t)
3.1. Expliquer pourquoi Diff(t) ne peut tre ngatif.
Deux seuils sont dfinis : A < B
Si Diff(t) < A alors la fentre de congestion augmente linairement.
Si A < Diff(t) < B alors rien n'est fait.

46
Si B < Diff(t) alors la fentre de congestion diminue linairement.
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 mcanisme 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 dbit indpendamment de la
charge du rseau.
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 rseau ? La rponse doit
uniquement considrer le point de vue de la couche transport. Il faut donc
imaginer que le comportement au niveau transport est indpendant d'un
mcanisme de rservation de ressources tel que RSVP, cela doit fonctionner
mme sur un rseau de type best effort.

47
Annexe :
Complments d'exercices

48
Thorie du Signal
Exercice : Densit spectrale de signaux binaires simples
Nous nous intressons un signal carr d'amplitude A et de priode T.

Signal carr
T

Question 1
Rappeler comment le signal reprsent dans la figure ci-dessus se dcompose en
une somme de signaux lmentaires (harmoniques).
Pour cela, on rappelera le rsultat du dveloppement en srie de Fourier de ce signal sachant que la
fonction qui le reprsente est priodique et qu'on peut la considrer comme une fonction paire.

Question 2
Dterminer la puissance contenue dans les diffrentes harmoniques.
En dduire 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 numrique pour une transmission 200 bauds.
A titre indicatif, voici le trac de la superposition des premires 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 destine numriser la transmission de voix tlphoniques.
Lintervalle de temps sparant la prise de deux chantillons dune mme voix est de 125 s. Le signal
analogique est chantillonn sur 8 bits.

Question 1
Quel est le dbit utilis pour transmettre une voix tlphonique ?
Ces paramtres dchantillonnage rsultent de la bande passante offerte par une ligne tlphonique.
Quelle est la largeur de bande considre dans le MIC ?
Quelles relations lient la largeur de bande, le dbit et les paramtres
d'chantillonnage ?
Question 2
La principale technique de commutation utilise sur les autocommutateurs tlphoniques numriques
(associe 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 gre N lignes en entre et N lignes en sortie. On considre pour simplifier que toutes
les lignes ont le mme dbit et quaucun multiplexage temporel nest ralis. Le commutateur utilise une
mmoire dont le temps de lecture ou dcriture est de 50ns (ce temps correspond une lecture ou une
criture entre les interfaces de lignes et la mmoire).
Le pseudo-code suivant dcrit le processus de commutation, lexception de laffectation des lignes
dentre aux lignes de sortie.
Processus commutateur
type num_ligne: entiers dans [1..N];

var chantillon: tableau (1..N) doctets;


ligne_sortie: tableau (1..N) de num_ligne;
i:num_ligne;
dbut
cycle
pour i:=1 N faire
attendre_top;
lire(i,chantillon(i));
crire(ligne_sortie(i);chantillon(i));
finpour
fincycle
fin

51
Quel est lusage du tableau ligne_sortie ?
Que font les oprations lire et crire ?
A quoi sert linstruction attendre_top ?
On suppose que les instructions lire et crire prennent un accs mmoire et que le temps
daccs lindex et que le temps de gestion de la boucle sont ngligeables (limplantation relle est cable).
Quelle est la valeur maximale de N (justifier) ?
Soit T le temps sparant lapparition de deux vnements attendre_top.
Si N=600 quelle valeur doit-on donner T (justifier) ?
Question 4
On considre que le mme problme de commutation (sans multiplexage) doit tre rsolu en utilisant la
commutation de cellules. Chaque cellule correspond un chantillon.
Rappeler brivement les principes de la commutation de cellules.
Comment les structures dinformations dfinies dans la question 3 doivent-elles
tre modifies pour faire de la commutation de cellules (on ne traitera pas le
problme de la gestion de la table de routage).
Rcrire 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 tlvises numrises, donnes, etc. trs haut dbit (1 5
gigabit/s).
Quels sont les principaux problmes techniques que cela pose ?

Exercice 2 : Multiplex T1
Aux tats unis et au Japon les rseaux tlphoniques utilisent un multiplexage baptis T1 de 24 octets
formant une trame de base (trame du multiplex T1). Il existe diffrentes versions du codage T1. Nous
considrons ici le cas o les 24 octets sont associs des chantillons de voies tlphoniques.

Question 1
Dans une trame T1, aux chantillons tlphoniques, est ajout un bit plac en tte qui sert la
resynchronisation trame en cas de perte de synchronisation (bruit de longue dure).
Quel est le dbit binaire global d'un multiplex T1 ?
Question 2
On considre un commutateur temporel synchrone de multiplex T1 mmoire commune dont le temps
d'accs est de 20 ns c'est dire que pour accder un chantillon en mmoire, 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'entre du commutateur vers un multiplex de sortie du
commutateur en un certain dlai.
Que peut-on dire de la valeur maximum, minimum, moyenne du dlai ncessaire
une opration de commutation (retard apport dans la propagation de
l'chantillon sur un circuit tlphonique par un commutateur) ?

Question 4
On rappelle que le premier bit est rajout pour la synchronisation trame. La synchronisation est trouve
lorsque le premier bit de trames successives respecte la squence 0, 1, 0, 1, 0... Plus prcisment 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 aprs avoir subi un bruit sur
plusieurs trames successives). Pour cela, il se positionne sur un bit qu'il estime tre le dbut de la trame
courante et vrifie que 193 bits plus loin, il trouve le bit de dbut de la trame suivante (de valeur contraire
la valeur prcdente). On suppose que les bits 0 et 1 apparaissent avec la mme 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 infrieure 0.001 ?
Question 5
On veut maintenant calculer le nombre de trames qu'il faut inspecter en moyenne pour tre sr que la
synchronisation n'est pas correcte. On se positionne sur un bit donn en faisant l'hypothse que ce bit est le
dbut d'une trame.
Si ce bit n'est pas le bit de dbut de trame, donnez la probabilit pour apprendre que la
resynchronisation n'est pas trouve en lisant une seule trame, puis en lisant deux trames, puis en lisant n
trames (on utilise une partie des calculs de la question prcdente).
En dduire combien il faut inspecter en moyenne de trames successives pour
apprendre que la synchronisation n'est pas correcte pour une position donne.
+

nx
x
On rappelle la formule : pour x < 1, =
n

n=1 (1 x )2

53
Rseaux locaux sans fils
IEEE 802.11 WIFI
Fonctionnement du protocole d'accs au mdium
La norme IEEE 802.11 dfinit un rseau local sur voie hertzienne (rseau local sans fils ou WLAN
Wireless LAN). La gamme de dbits vise est de 1 Mb/s, 2 Mb/s, 11 Mb/s selon les normes et les bandes
de frquences utilises. Le protocole daccs au mdium prsente des diffrences significatives avec
Ethernet en particulier il existe deux catgories de mode de partage de la voie commune radio utilise pour
communiquer.

Question 1
Dans lune des deux organisations baptise adhoc , le rseau sauto-organise en fonction des
stations qui se trouvent suffisamment proches et peuvent communiquer par radio. La mthode de partage
de la voie commune (mthode daccs au mdium ou encore niveau MAC) utilise est alors baptise DCF
("Distributed Coordination Fonction"). Elle est conue pour des communications asynchrones dans
lesquelles chaque station a une chance gale daccder au mdium. Le partage de la voie commune radio
est de type CSMA.
Que signifie CSMA et quel est le choix technique relativement au protocole
daccs au mdium ralis en adoptant le CSMA ?
Question 2
Le mode dajournement utilis dans le partage de la voie commune radio 802.11 est un ajournement
non persistant. Lorsquune station souhaite mettre elle coute la voie. Si pendant un dlai fixe baptis
DIFS ("Distributed Inter Frame Spacing") aucune autre station nmet, la station commence mettre
lissue du dlai DIFS. Si une station a dj commenc mettre, la station en coute ajourne sa
transmission pendant toute la dure du message en cours. A lissue de cette attente, elle attend en plus un
dlai initialis une valeur calcule selon une mthode analogue celle du binary backoff dEthernet.
Rappelez le principe dun ajournement persistant et non persistant.
Question 3
Pourquoi choisir un ajournement non persistant dans un rseau local sans fil
prsentant les caractristiques de 802.11?
Question 4
Lorsquune station doit ajourner plusieurs reprises sa transmission parce que la voie est occupe par
dautres stations, elle laisse passer les autres. A chaque fois, quand la voie est redevenue libre, elle
recommence dcrmenter la valeur initialement dtermine par lalgorithme de backoff (sans recalculer
une nouvelle valeur du dlai selon le backoff).
Lorsque le dlai initialement dtermin est coul, elle commence transmettre,
pourquoi procder ainsi (pourquoi ne pas repartir sur une valeur plus longue
chaque ajournement)?

54
Question 5
Lorsque lon transmet un message en 802.11 on risque nanmoins une collision,
pourquoi ?

Question 6
La dtection des collisions ralise par le rseau Ethernet tant coteuse 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 Donnes

SIFS

ACK

Toute trame de donne est suivie, aprs une attente courte baptise SIFS (Short Inter Frame
Spacing), dune trame dacquittement positif par le destinataire. Si lacquittement positif nest pas
retourn, lmetteur considre quil y a eu collision. Il entre alors dans une phase dattente alatoire dfinie
de manire similaire celle du rseau Ethernet. Les diffrences portent sur les constantes de temps et
dinitialisation de lalgorithme du retard binaire (binarybackoff).
Pourquoi une telle attente en cas de collision?
Comment est calcule la valeur du dlai dattente (backoff) en Ethernet?

Question 7
Dans un autre mode de fonctionnement de la mthode daccs adhoc (protocole DCF de la
proposition IEEE 802.11), une station mettrice commence par mettre un message court RTS "Request
To Send" pour rserver lintervalle de temps ncessaire la transmission de son prochain message. Le
message RTS contient ladresse metteur, ladresse du destinataire et le temps doccupation de la bande
radio. Le destinataire rpond, aprs un silence inter trame court SIFS, le message CTS "Clear To Send"
indiquant quil a bien reu la demande de rservation. Il rappelle les paramtres de la communication
venir dans le message CTS. Toutes les autres stations du rseau entendent galement cet change. Ensuite
la trame de donne et son acquittement sont changs comme prcdemment. Lensemble de lchange
est donc le suivant :

55
DIFS
RTS

SIFS
CTS

SIFS
Trame/Donnes

SIFS
ACK

Ce protocole daccs au mdium est baptis par ses auteurs CSMA/CA (CA pour Collision
Avoidance).
Est ce quil vite rellement toutes les collisions ? En quoi amliore til le
traitement des collisions par rapport la version de base qui pratique lchange
direct dune trame de donne suivie de son acquittement ?

Question 8
Dans lautre organisation du rseau baptise infrastructure, le rseau est organis en cellules appeles
BSS ("Basic Service Set"). Chaque cellule runit plusieurs stations ayant un coupleur IEEE 802.11 et
possde un dispositif spcifique baptis point daccs AP ("Access Point") qui connat toutes les stations
de la cellule. Dans ce mode, le point daccs AP joue le rle darbitre centralis dans un protocole de
communication par scrutation (ou polling).
Rappelez les principes gnraux dun protocole de partage dune voie commune
par scrutation ?

Question 9

56
Les concepteurs des rseaux 802.11 ont adopt le mode polling en particulier pour la transmission de
donnes temps rel ou multimdia (comme la voie ou la vido) qui demandent un respect de contraintes
temporelles assez strictes (exemple respect de lisochronisme des changes).
Rappelez la dfinition dune transmission isochrone.

Question 10
Pourquoi le mode par scrutation permet til dassurer le respect du temps de rponse ou
de la gigue ?

Fragmentation dans les rseaux locaux sans fils WIFI


Le rseau local 802.11 est un rseau local radio. Dans ce texte on tudie les problmes lis au
bruit dans les transmissions radio et leur liaison avec la fragmentation. On prend l'exemple de la version
IEEE 802.11/b 11 megabits/seconde.

Question 1

Si la probabilit derreur par bit sur une voie de communication utilise par
un rseau local est p, que les erreurs sont indpendantes et que le nombre de bits
dune trame est n, quelle est la probabilit derreur pour une trame complte ?
Dans la suite on note q cette probabilit.
Application numrique : Quelle est la probabilit derreur par trame pour p=10**-
6 et une trame 802.11 de longueur maximum conforme au standard soit 2346
octets ?

Question 2

Pour une probabilit derreur par trame q, dterminez le nombre moyen E de


tentatives raliser pour russir une transmission correcte ?
On rappelle que 1/(1-q)**2 = 1+2q +3q**2+ . +nq**(n-1) + ... Application
numrique : Quel est le nombre moyen de tentatives de transmission dune trame
que lon doit effectuer pour russir une transmission correcte pour p=10**-6 ?

Question 3

On veut faire une premire valuation grossire du dbit binaire perdu du


fait des retransmissions sur erreur. On ne tient donc pas compte daucun autre
facteur que les erreurs de transmission. Pour une probabilit derreur par trame q,
un dbit nominal de transmission d, quel est le dbit utile et quel est le dbit
consacr aux retransmissions pour une voie qui est utilise en permanence (il y a
toujours une trame transmettre, la voie est sature) ?

57
Application numrique : Quel est le dbit utile et quel est le dbit consacr aux
transmissions en erreur pour la norme 802.11/b avec d=11 megabits/s, p=10**-6
?

Question 4

En dehors des rseaux locaux sans fils 802.11, il existe de trs nombreuses variantes de protocoles
de liaison et de protocoles daccs au mdium dans les rseaux locaux.
Quels sont les mcanismes prvus pour la fragmentation dans les protocoles de
liaison (justifiez les choix qui sont faits) ?

Question 5

Les normalisateurs des rseaux sans fils 802.11 ont dcid de prvoir une
fonctionnalit de fragmentation. Supposons que lon fragmente une trame de n
bits en k fragments et que comme prcdemment on ne tient pas compte
daucun autre facteur que les erreurs de transmission, que devient le dbit utile
et que devient le dbit perdu effectuer des retransmissions ?
Application numrique : Quel est le dbit utile et le dbit perdu pour une trame
de 2346 fragmente en 4 fragments, pour la probabilit derreur par bit de
10**-6

Question 6

En fait, fragmenter en des fragments de plus en plus petit pour amliorer le dbit utile nest pas
possible.

Quels sont les diffrents facteurs qui limitent lutilisation de la fragmentation


dans les rseaux sans fils 802.11 pour traiter le problme des erreurs?

Question 7

Le fait de dclencher le mcanisme de fragmentation nest pas dfini de faon prcise dans la norme
802.11. Il est indiqu quune implantation dfinit un seuil en de duquel on ne fait pas de
fragmentation et au del duquel on fragmente.

Proposez des principes de fixation dun tel seuil et des principes de choix dune
taille de fragment dans limplantation dun coupleur 802.11?

Question 8

La fragmentation 802.11 est une fragmentation transparente. De plus les fragments en 802.11 sont
soumis un contrle d'erreur avec retransmission et ils se suivent sur la voie hertzienne (ils ne
peuvent tre dsquencs).

58
Rappelez les informations ncessaires la fragmentation IPV4. Proposez une
simplification de ces informations qui fonctionne nanmoins dans le cas
particulier du rseau sans fil 802.11 ?

59
Dimensionnement et cots
Application un service de dialup IP
Le dialup IP est une technique de connexion un rseau Internet de manire 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

V32BIS V32BIS ETHERNET

MODEM MODEM
RTC RSEAU LOCAL
CNAM
Le Centre de Ressources Informatique du CNAM utilise cette technique pour offrir ses usagers un
accs distant l'Internet. Pour ce faire, il a install un pool de N modems et lou une ligne groupe
France-Tlcom. Il utilise actuellement (mai 98) 10 modems 14400 bit/s (norme V32) et 15 modems
28800 bit/s (norme V32bis) dont 5 rservs au Centre pour le rtro appel.
On veut tudier dans cet exercice le dimensionnement et le cot (financier) de l'accs vers Internet dans
l'hypothse d'une monte 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 !

Exercice 1 : Dimensionnement du service


On peut assimiler les N lignes groupes une file d'attente de capacit N. Quand toutes les lignes sont
occupes, un nouvel appelant trouve les lignes occupes et se voit rejet. La probabilit de rejet Prej est
fonction :
- du nombre de lignes N
- du temps moyen coul entre deux appels successifs, not E
- de la dure moyenne des appels, note ES
N N!
Elle se calcule grce la formule d'Erlang : Prej = N

i
i!
i =1

o =ES/E dfini la charge du systme.


Le nombre moyen de lignes utilises est par ailleurs EN = 1 Prej ( )
Ici, on veut plutt connaitre N en fonction des autres paramtres. Pour cela, on peut utiliser les abaques

60
en annexe.

Question 1 : Charge du systme et probabilit de rejet


Le logiciel de connexion PPP tient jour un fichier de statistiques hebdomadaire, dont voici un extrait
portant sur le mois de Novembre 1997 :

Sunday 26 Oct 97 at 0 h 7 and Sunday 2 Nov 97 at 23 h 58


(8 d 0 h 50 mn 17 s)
Total connections: 1274
(mean 17 mn 26 s per connection, 6.6 connections per hour)
Total time: 15 d 10 h 14 mn 49 s (191 %)
-----------------------------------------------------------
Monday 3 Nov 97 at 0 h 9 and Monday 10 Nov 97 at 0 h 2
(6 d 23 h 52 mn 50 s)
Total connections: 1817
(mean 15 mn 33 s per connection, 10.8 connections per hour)
Total time: 19 d 15 h 8 mn 17 s (280 %)
-----------------------------------------------------------
Monday 10 Nov 97 at 0 h 7 and Monday 17 Nov 97 at 0 h 2
(6 d 23 h 55 mn 23 s)
Total connections: 1819
(mean 16 mn 12 s per connection, 10.8 connections per hour)
Total time: 20 d 11 h 34 mn 25 s (292 %)
------------------------------------------------------------
Monday 17 Nov 97 at 0 h 5 and Monday 24 Nov 97 at 0 h 1
(6 d 23 h 55 mn 42 s)
Total connections: 1783
(mean 16 mn 2 s per connection, 10.6 connections per hour)
Total time: 19 d 20 h 53 mn 58 s (283 %)
-----------------------------------------------------------
Monday 24 Nov 97 at 0 h 6 and Sunday 30 Nov 97 at 23 h 59
(6 d 23 h 53 mn 11 s)
Total connections: 2128
(mean 15 mn 42 s per connection, 12.7 connections per hour)
Total time: 23 d 5 h 1 mn 11 s (331 %)
-----------------------------------------------------------
Monday 1 Dec 97 at 0 h 5 and Monday 8 Dec 97 at 0 h 3
(6 d 23 h 57 mn 33 s)
Total connections: 1976
(mean 17 mn 24 s per connection, 11.8 connections per hour)
Total time: 23 d 21 h 24 mn 22 s (341 %)

En dduire la charge moyenne sur la priode considre


Avec l'abaque d'Erlang, en dduire la probabilit de rejet
Que penser du rsultat obtenu ?
Question 2 : Trafic de pointe
Une analyse plus fine a permis de remarquer que sur 24 h, la pointe du trafic est atteinte en fin de
journe. 40% des requtes se font entre 22h et 24h.
Quelles sont alors la charge et la probabilit de rejet ?

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 cre un compte pour chaque inscrit au CNAM (80000 env).
Calculer la charge moyenne pour 80000 comptes.
En dduire la probabilit de rejet si N=20, puis N=40
Que devient cette dernire pendant la
pointe de trafic ?
Question 4 : Dbit vers l'extrieur
On suppose que 40 modems 28800 b/s sont
installs.
Dduire des rsultats prcdents le
dbit moyen vers l'extrieur
Remarque
La formule d'Erlang n'est valide que si les
temps entre appels successifs sont des variables
alatoire de distribution exponentielle. On le vrifie
peu prs ici sur des mesures faites pendant la
journe du 9 dcembre 1997. Il y a eu ce jour 347 connexions PPP. On trouve E=4.14 min. Les
courbes ont en abscisse le temps inter-arrives (en minutes) et en ordonne, le nombre d'appels
correspondant. L'histogramme observ est compar une distribution exponentielle de mme moyenne (en
tirets).

Exercice 2 : Cot d'une liaison


On veut comparer le cot d'une liaison avec 2 techniques trs diffrentes : TRANSPAC et
TRANSFIX. On ne se proccupe pas ici des questions de routage des paquets IP, de serveur de nom ou
de matriel spcifique ( rgler par ailleurs)

Question 1
A l'aide des annexes ci-dessous, dterminer le cot d'un accs au dbit calcul
prcdement selon ces 2 techniques, en distinguant les diffrents paramtres du
cot total.
Pour les calculs, on supposera que la distance de raccordement est de moins de 10 km entre le CNAM
et le fournisseur d'accs.

Question 2
Par souci de bonne gestion, on souhaite reporter ces cots sur les usagers.
Les frais fixes sont suppos amortis en 3 ans.
Calculer le prix minimum de l'abonnement d'un usager

62
Comparer ce cot un abonnement personnel"du march"

63
Extrait de DOYON "Systmes et rseaux de tlcommunication enrgime stochastique"

Extrait de MAIMAN & SERVIN "Autoformation en tlcoms et rseaux"

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-mdia hypertextuels.
Ces documents sont composs 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 adopte ? Quel est le rle des diffrentes
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 "requte-rponse": 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 hberge le serveur WWW.
Lancer le logiciel TELNET en se connectant sur la machine cedric.cnam.fr
Pourquoi le systme ne demande-t'il pas d'identification ?

66
La syntaxe d'une requte 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 ?

Exercice 2 : Un client HTTP minimal


En utilisant les IPC internet, l'interaction client-serveur se rduit l'automate suivant :

SERVEUR CLIENT
socket() socket()
Prpare une prise de connexion
bind() gethostbyname()
Assigne un numro de port une prise Donne adresse IP serveur partir de son nom
listen()
Prpare pour des demandes de connexion
accept() connect()
Prend en compte une connexion tablissement dune connexion
read() write()
Demande de service + donnes
write() read()
Rponse+rsultats
close() close()
Fermeture/destruction de la prise

67
Pour utiliser les IPC internet, il faut inclure dans son code C les dclarations 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>

Voici les primitives ncessaires :


/* conversion dune numro de port au format interne */
unsigned short int htons(unsigned short int);
/* copie de zone mmoire */
void bcopy (void * src, void * dest, int n) ;
/* Obtenir ladresse IP dune machine partir de son nom */
struct hostent *gethostbyname (char *);
/* Crer une nouvelle socket ; retourne une descripteur de fichier */
int socket (int family, int type, int protocol);
/* Donner une adresse une socket*/
int bind (int sockfd, struct sockaddr *my_addr, int addrlen);
/* Ouvrir une connexion */
int connect (int sockfd, struct sockaddr *serv_addr, int addrlen);
/* Prpare une socket serveur pour accepter N connections */
int listen (int sockfd, int n);
/* Attend une connexion ; quand une connexion arrive cr une nouvelle socket */
int accept (int sockfd, struct sockaddr *peer, int *paddrlen);

Avec les structures de donnes suivantes:


struct hostent {
char *h_name; /* official name of host */
char **h_aliases; /* alias list */
int h_addrtype; /* host address type */
int h_length; /* length of address */
char **h_addr_list; /* list of addresses from name server */
#define h_addr h_addr_list[0] /* address, for backward compatiblity */
}

#define __SOCK_SIZE__ 16 /* sizeof(struct sockaddr) */


struct sockaddr_in {
sa_family_t sin_family; /* Address family */
unsigned short int sin_port; /* Port number */
struct in_addr sin_addr; /* Internet address */
unsigned char __pad[__SOCK_SIZE__ - sizeof(short int) -
sizeof(unsigned short int) - sizeof(struct in_addr)];
};

Question 1
En utilisant lautomate prsent prcdemment, crire un petit programme en C
qui va rcuprer le contenu dun 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 dinformations retourn par le serveur.
Exemples dutilisation 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 prcdent pour
afficher tous les URL contenu dans le fichier.
Exemples dutilisation 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 caractre par seconde
toutes les informations envoyes par le serveur http.
Exemples dutilisation 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 ltat des tampons.

NOTE : Consulter C. YOUNG "Programmation de clients Web avec Perl" O'Reilly 1997 pour crire des
clients HTTP plus sophistiqus.

70
Routage RIP
Le graphe ci-dessous reprsente un rseau informatique : les sommets : A, B, C, D reprsentent les
noeuds de commutation et les arcs les liaisons bidirectionnelles. La valeur porte sur les les arcs reprsente
une distance de communication point point qui est suppose tre identique dans les deux sens. Cette
distance matrialise un cot de communication qui sert dans la suite de l'ED pour dterminer un meilleur
chemin et fabriquer les tables de routage des diffrents noeuds.

A( n1)
4 4

1
B( n2) C(n3)
10

4 1
D( n4)

Plus loin dans l'exercice, on utilise des numros pour dsigner 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.

Question 1 : Calcul du routage centralis


Pour calculer le routage optimal on utilise l'algorithme centralis suivant (qui n'est pas le meilleur
algorithme centralis de calcul de chemin minimal dans un graphe)
Calculer l'aide de cet algorithme le routage optimal du rseau
Dterminer, en utilisant la matrice P, l'arbre de routage (sink tree) et la table de
routage du noeud A

CONSTANTES

N: entier ; % Nombre de noeuds;


Type Nom_de_noeud: entier dans (1..N); % nom des noeuds de commutation;
C : tableau (N,N) de rels ; % cout de transmission en point point; C(i,i)=0 pour tout i
et C(i,j)=+8 si il n'y a pas de liaison entre i et j; quand
il y en a une, le cot a t port sur l'arc du graphe ci-
dessus %;

VARIABLES

V: tableau (N,N) de rels ; % A la fin de l'algorithme V(i,j) est gal au cot 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; % numro d'itration%;
cout: rel;
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

% Itrer N-1 fois %;


Pour iter=1 a N-1;
% Pour chaque noeud origine d'un chemin %;
Pour i=1 a N
% Pour chaque noeud extrmit d'un chemin %; I
Pour j=1 a N I
cout:=+8; I
% Chercher parmi tous les voisins de i celui par lequel I
passe le meilleur chemin vers j %; I
Pour k=1 a N I
Si C(i,k)?+8 faire I
Si C(i,k)+V(k,j)<cout faire I
cout:=C(i,k)+V(k,j); I
r:=k; I
finsi I
finsi I
fin pour I A
I
%Si la valeur trouve est meilleure que celle contenue dans I
dans V noter le nouveau chemin %; I
Si V(i,j)> cout faire I
V(i,j):=cout; I
P(i,j):=r; I
finsi I
finpour I
finpour
finpour

Question 2 : Algorithme rparti adaptatif (Mac Quillan)


Dans une version d'Arpanet, le routage adaptatif tait ralis en utilisant un algorithme adaptatif rparti
driv du prcdent. Dans cet algorithme le noeud i calcule uniquement la ime ligne des matrices V et P
(soit le cot de transmission d'un message de i vers tous les autres noeuds du rseau et l'adjacent prfr
de i vers tous les noeuds du rseau). Pour cela, il envoie priodiquement ses voisins V(i,) et reoit de
chacun d'entre eux la ligne de V correspondante. L'algorithme s'adapte aux variations des cots qui sont
mesurs chaque itration.
Algorithme Arpa(i)
cycle
Attendre T secondes;
pour tout voisin k de i
Envoyer V(i,);
Recevoir V(k,);
Mesurer C(i,k);
finpour
-- Les donnes sont prtes pour une itration du calcul

73
Appliquer la partie A de l'algorithme prcdent pour trouver
les nouvelles valeurs de V(i,) et P(i,);
Dterminer la nouvelle table de routage de i;
fincycle

La mesure avec Mesurer C(i,k) peut seffectuer de plusieurs faons diffrentes. Par exemple on
peut considrer que le cot dune ligne est infini si sur un hte, la file de messages en mission vers un
destinataire est pleine, et vide en rception 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 raliser 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 cot 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 calculs par k au cycle prcdent et cot mesur par i au cycle
courant) ?
En dduire la relation liant Si(n) et V(n)(i,.)
Appliquer l'algorithme pour la premire itration (numrote 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 premire itration, un paquet part d'un calculateur hte connect au noeud de commutation 1
pour tre transmis a un hte connect au noeud 3.
Que se passe t'il ? Complter les lements ci-dessous
0 4 4 1 0 4 2 1
Cn1 = 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 stabilises aprs plusieurs itrations si on suppose que les cots ne sont plus
modifis durant cette phase de calcul. Les itrations n+1, n+2, n+3 sont donnes 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, litration suivante donnerait le mme rsultat !!!

Remarque : Il est possible que certaines erreurs se soient glisses dans les calculs, mais elles ne gnent
en rien la rponse la dernire question.

Fonctionnalits TCP/UDP-IP
Pour chacun des protocoles IPV4 et TCP indiquez s'ils possdent les fonctionnalits suivantes. Si
oui indiquez au moyen de quels champs et de quel mcanisme, la fonctionnalit considre est
ralise sur un datagramme ou sur un segment.

1) Contrle de squence (livraison en squence) en IP ? En TCP ? Retransmission sur erreur en IP


V4 (Contrle d'erreur)? En TCP ? Contrle de flux en IP ? En TCP ?

La trame Ethernet suivante a t prleve par un programme d'coute d'une voie Ethernet.
Cette trame est dite par lignes de 16 octets en hexadcimal. C'est une trame au format standard
Ethernet DIX et non au format IEEE 802.3. Le prambule de la trame Ethernet avec le dlimiteur de
dbut de trame n'est pas inclus dans la trace. Le code polynomial de contrle (CRC Ethernet) est
reprsente par xxxx xxxx.

00: 0800 2001 b432 0800 2000 61f3 0800 4500


16: 0028 0c39 0000 1e06 8077 c009 c80b c009
32: c801 0450 0015 0006 e802 0080 3e08 5010
48: 1000 64be 0000 0000 0000 0000 xxxx xxxx

2) Entte Ethernet : Quelles sont les adresses Ethernet source et destination de la trame ?
Ou se trouve le type de protocole rseau encapsul dans la trame Ethernet ? Quelle est sa valeur (
quel protocole de rseau doit tre dlivr la charge utile de la trame) ?

3) Entte IP : Le datagramme IP contient-il des options ? Pourquoi ?

4) Entte IP : Sagit-il du premier fragment dun datagramme fragment ? Sagit-il du dernier


fragment dun datagramme fragment ? Pourquoi ?

5) Entte IP : Quelle est la valeur du champ TTL ('Time to live', temps restant sjourner) ?
Comment dtermine t'on que le protocole de transport qui utilise ce datagramme IP est TCP ?

6) Entte TCP : Quels sont les numros de port source et destination de ce segment?

76
7) Entte TCP : Quels sont les indicateurs positionns par le message ('flags'). Quel est la
valeur et quoi servent des numros de squence, d'acquittement et le pointeur urgent contenus
dans le segment?

8) Entte TCP : Quel est le nombre doctets pouvant tre mis en anticipation (quel est le
crdit) mentionn dans ce segment ?

77
Routage en diffusion sur Internet
Dans ce problme on tudie la diffusion sur groupe (multicast) dans lInternet. La figure suivante reprsente
un site metteur (une source de messages S) et des sites destinataires (D1, D2, D3, D4). On a reprsent
le rseau avec des htes, des routeurs, des liens qui sont utiliss dans une diffusion sur groupes (traits gras)
et dautres liens et routeurs inutiliss.

D1
D2

S
D3

D4

1) Le principe fondamental dun routage en diffusion sur groupe consiste construire un arbre couvrant
cot minimum enracin au site source et dont les feuilles sont les sites destinataires. Sur larbre, pour
diffuser aux destinataires, on ne transmet quune copie du message par liaison utilise. On cherche
comparer la solution en point point la solution en diffusion sur une arbre, en utilisant la mtrique Internet
du nombre de sauts.

1.1) Pour le rseau de la figure prcdente, si lon ralise quatre communications en point point
pour aller de S aux quatre destinataires combien de sauts doit-on effectuer ?

1.2) Si lon utilise larbre couvrant en diffusion, combien de saut doit-on effectuer ?

1.3) Supposons quun 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 datteindre 2**N destinataires, combien de sauts doit-on
effectuer en mode diffusion sur larbre ?

1.5) Que conclure quant aux performances relatives des deux solutions ?

2) Adresses IP de diffusion.

2.1) Ladressage IPV4 utilise dans sa version de base diffrentes classes d'adresses. Quelle

78
est le nom de la classe qui est prvue pour la diffusion des groupes de destinataires (le multicast)?
Quelles sont les adresses utilisables pour dfinir des groupes de diffusion?

2.2) De combien dadresses diffrentes peut-on ainsi disposer pour adresser des groupes en Ipv4?

2.3) Les adresses multicast IP peuvent servir dlivrer des messages en diffusion au moyen
de rseaux 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 normalise 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 schma suivant on
reprsente une adresse Ethernet multicast avec le prfixe constant caractristique de la conversion IP
multicast vers Ethernet multicast et un bit 0 qui ramne 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 prsentation correspond au codage des adresses Ethernet lorsquelles 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 reprsentation officielle des adresses Ethernet est telle que les 6 octets sont numrots de la
gauche vers la droite (grand boutiste) mais les bits lintrieur des octets sont numrots de la droite
vers la gauche (petit boutiste). Lorsque lon dite une adresse Ethernet, dans la reprsentation
officielle (dite en mmoire), les adresses multicast Ethernet sont donc notes en inversant lordre des
bits dans les octets. Ladresse Ethernet multicast avec le prfixe constant caractristique 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 dadressage est donc dfini dans les normes par lintervalle 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 hexadcimal e0.90.08.05
et e1.90.08.05). Donner les adresses multicast Ethernet correspondantes sachant que lon recopie
purement et simplement les 23 bits de la partie droite de ladresse IP multicast dans ladresse
Ethernet multicast (pour rpondre, en cas de doute on peut ventuellement reprsenter sous forme
binaire les adresses) ? Comment rsoudre le problme pos par l'utilisation simultane de ces deux
adresses dans le mme rseau.

3) Gestion des abonnements

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 problme 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 cot minimum dans un rseau?

4.2) En DVMRP, pour construire l'arbre de diffusion, priodiquement un routeur source (un routeur de
rattachement d'un hte source) met vers ses routeurs voisins un message indiquant qu'il a un flot de
messages en diffusion transmettre. Les diffrents routeurs atteints rmettent leur tour ce message vers
leurs voisins. Comment appelle t'on une telle stratgie de circulation des messages d'indication de flot ?

4.3) En fait chaque routeur du rseau n'accepte un message d'indication de flot de diffusion et ne le
rmet vers ses voisins que s'il provient du routeur voisin qui se trouve sur le chemin cot minimum vers
la source. Les messages provenant des autres voisins sont ignors. Pourquoi est-ce que cette stratgie
vite l'explosion combinatoire du nombre des messages?

Pour construire l'arbre couvrant cot minimum, DVMRP fonctionne en deux phases. Dans la
premire phase, DVMRP construit un arbre couvrant cot minimum du routeur source vers tous les
routeurs ("minimum spanning tree").
Dans la seconde phase DVMRP procde 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 dlivrs)
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 pre 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 rseau suivant qui comporte 8 routeurs nots A,B,C,D,E,F,G,H, on a mentionn les
cots des artes. Quelle est la circulation des messages dans la premire phase? On prsente la rponse
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
premire ligne de la rponse 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 aprs circulation des messages d'indication de flot ?

4.6) Quelle est la circulation des messages d'lagage?

4.7) Quel est l'arbre de diffusion finalement construit aprs circulation des messages d'lagage?

81