Vous êtes sur la page 1sur 100

Exercices dirigs

Unit d'enseignement NFP 104

Rseaux et protocoles
2007-2008
Ce polycopi a t labor par l'quipe enseignante "Rseaux et protocoles" partir d'exercices rdigs par MM. Berthelin, Cubaud, Farinone, Florin, Gressier-Soudan et Natkin.

1 Les couches de protocoles


Exercice 1 : Le modle OSI
Applications Prsentation Session Transport Rseau Liaison Physique support de transmission Applications Prsentation Session Transport Rseau Liaison Physique

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 10Base T 10Base 2 10Base 5 connecteurs RJ45 BNC Prise vampire cbles paire torsade/UTP5 coaxial fin coaxial pais longueur max 100m 185m 500m topologie toile Bus Bus coupleur rseau carte TX carte BNC carte AUI

Quel type de cblage prconiseriez vous ? Calculez le nombre de segments de cables ncessaires.

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 7 octets Dlimiteur de dbut 1 octet Adresse Adresse Type destination source 6 octets 6 octets 2 octets Informations 46 1500 octets FCS 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: 16: 32: 48: 0800 0028 80d4 7d78 2018 e903 0558 1972 ba40 4000 0017 0000 aa00 3f06 088d 0000 0400 6a5c dee0 0000 1fc8 a3ad ba77 0000 0800 2041 8925 0000 4500 a3ad 5010 0000 .. ..@........E. .(..@.?.j\.. A.. ...X.......w.%P. }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: ETHER: ETHER: ETHER: ETHER: ----- Ether Header ----Packet 1 arrived at 18:29:10.10 Packet size = 64 bytes Destination = 8:0:20:18:ba:40, Sun Source = aa:0:4:0:1f:c8, DEC (DECNET) Ethertype = 0800 (IP)

comparer avec une communication un groupe:


ETHER: ETHER: ETHER: ETHER: ETHER: ETHER: ----- Ether Header ----Packet 1 arrived at 11:40:57.78 Packet size = 60 bytes Destination = ff:ff:ff:ff:ff:ff, (broadcast) Source = 8:0:20:18:ba:40, Sun 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? Comment un seul message peut-il parvenir plusieurs destinataires simultanment ?

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 No Version de l'IP(4) 8
Longueur de l'entte (nb de mots de 32 bits) Faon dont doit tre gr le datagram TOS - type of service

16

19

24

31

Longueur du Datagram, entte comprise (nb d'octets)


flags (2bits): .fragment .dernier Offset du fragment p/r au Datagram Original (unit en nb de blk de 8 o)

identifiant metteur

identifiant rcepteur

No Id -> unique pour tous les fragments d'un mme Datagram

no de squence du premier octet mis contenu dans ce segment no d'acquittement : no de squence du prochain octet recevoir par celui qui envoie ce segment

Temps restant sjourner dans l'Internet TTL

Protocole de Niveau Suprieur qui utilise IP

20

Contrle d'erreurs sur l'entte


longueur entte + options

bits indicateurs U A P RS F rserv R C S S Y I G K HT N N

taille de la fentre fin des donnes urgentes places en dbut des donnes utilisateur dans le segment

Adresse Emetteur IP Adresse de Destination IP Padding: Octets 0 pour que l'entte *32 bits

contrle d'erreur sur l'entte

Options : pour tests ou debug

options s'il y en a

DONNEES

donnes s'il y en a

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 00: 16: 32: 48: 0.00000 0800 2018 0028 a3fc 80d4 0558 7d78 3c30 papillon.cnam.fr -> ba40 aa00 0400 1fc8 4000 3f06 af63 a3ad 0017 088d de7e ba77 0000 0000 0000 0000 jordan 0800 4500 2041 a3ad 66c9 5010 0000 0000 TELNET C port=1368 .. ..@........E. .(.@.?..c.. A.. ...X.....~.wf.P. }x<0............

Dterminer le dbut du paquet IPv4. Dterminer la fin de lentte du paquet IPv4. Dterminer la fin de l'entte TCP.

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 : Thorme de Shannon


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 : Modulations
Vous apercevez sur un oscilloscope branch sur un cble de rseau local un signal (trac en trait gras). Ce signal correspond au codage ( la modulation) des bits au niveau physique dans un rseau local trs rpandu. 0,5 volts

0 volts

temps

-0,5 volts

Question 1 Ce signal est-il celui dun codage en bande de base ou celui dun codage en modulation donde porteuse (justifiez votre rponse)? Question 2 Quel est le nom de ce codage de signal (expliquez pourquoi vous choisissez ce codage parmi tous les codages vus en cours propos des rseaux locaux) ? Question 3 Quelle est la suite binaire code par ce signal ? Question 4 Quel est le nom du rseau local qui est test (dfinition prcise du type, du dbit et du mdium utilis). Vous observez maintenant le signal suivant, toujours sur un rseau local rpandu.

Question 5 Quel est le nom du codage utilis dans ce rseau local est quel est le nom du rseau local (dfinition prcise du type, du dbit et du mdium utilis). Question 6 Quelle est la suite binaire transmise par le signal prcdent ?

Exercice 4 : 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.

Question 1 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.

Question 2 Calculer en fonction de p la probabilit qu'un message soit mal reu. On suppose que les altrations des bits sont indpendantes.
On suppose que l'metteur sait quand un message est mal reu et qu'il le retransmet.

Question 3 Calculer en fonction de p le nombre moyen de transmissions. Est-il possible de respecter (en ngligeant le temps coul e ntre 2 retransmissions) la frquence d'mission de 12 messages/seconde ?

Exercice 5 : Codes de contrle d'erreurs parits


Lorsque l'on ajoute un bit de parit un caractre 7 bits pour en faire un caractre 8 bits on ajoute un contrle derreur qui est dit parit verticale (en anglais VRC pour 'Vertical Redundancy Check'). On parle aussi parfois de parit transversale.

Question 1 Rappelez la dfinition de la parit.


Question 2

Pour caractriser les codes de contrle d'erreur on utilise la distance de Hamming. Rappelez la dfinition de la distance de Hamming? Qu'est ce que la distance d'un code?
Question 3

Pour des caractres 7 bits, le fait d'ajouter une parit verticale chaque caractre, permet de dfinir le code de contrle d'erreurs parit verticale. Quelle est la distance de ce code?
Indications : Pour dterminer cette distance vous considrerez une information de base transmettre qui est ici un caractre sans sa parit (par exemple le caractre B en ASCII 7 bits 1000001). Vous prendrez un caractre voisin obtenu en modifiant un seul bit parmi les 7 bits du caractre. Vous en dduirez par le nombre de bits modifis dans le mot du code parit ( 8 bits) une indication sur la distance de ce code. Si possible vous chercherez dmontrer que la distance propose est bien la bonne dans tous les cas.

Question 4

On considre un code quelconque ayant comme proprit que sa distance est D. Combien d'erreurs ce code permet-il de dtecter ? Combien d'erreurs permet-il de corriger ? Application numrique aux proprits de dtection d'erreurs et de corrections d'erreurs du code parit verticale dont vous avez dtermin la distance la question prcdente.
Pour une suite de caractres ASCII avec parit verticale on ajoute souvent, pour renforcer la qualit dun code bas sur le contrle de parit, un octet supplmentaire dont chaque bit est la parit de la chane de bits dans le message de mme position. On parle alors de parit longitudinale (en anglais LRC pour Longitudinal Redundancy Check). Par exemple pour la suite de caractres BONJOUR! les parits verticales et longitudinales sont notes respectivement dans lexemple qui suit par des bits x et y. La parit longitudinale des parits verticales est note z. On lappelle quelquefois la parit croise. Cest aussi la parit verticale des parits longitudinales. B 1 0 0 0 0 0 1 x=0 O 1 0 0 1 1 1 1 x=1 N 1 0 0 1 1 1 0 x=0 J 1 0 0 1 0 1 0 x=1 O 1 0 0 1 1 1 1 x=1 U 1 0 1 0 1 0 1 x=0 R 1 0 1 0 0 1 0 x=1 ! 0 1 0 0 0 0 1 x=0 LRC y=1 y=1 y=0 y=0 y=0 y=1 y=1 z=0

VRC

Le fait d'ajouter les deux parits une suite de caractres 7 bits (une parit verticale et une parit longitudinale) permet de dfinir un autre code de contrle d'erreurs sur le message constitu dune suite de caractres 7 bits.

Question 5 Quelle est la distance de ce code ?


Indication : pour dterminer cette distance vous considrerez l'un des caractres avec sa parit (comme le caractre B en ASCII). Vous modifierez un seul bit parmi les 7 bits du caractre et vous en dduirez par le nombre de bits modifis dans tout le message (sur les parits) ce qui vous donnera une hypothse sur la distance du code. Vous chercherez montrer dans tous les cas que cette distance est la bonne.

Question 6 Pour un code avec parit verticale et longitudinale, combien d'erreurs peuvent tre dtectes, combien d'erreurs peuvent tre corriges? Question 7 Pour un code avec parit verticale et longitudinale expliquez concrtement comment les rsultats de la question prcdente sinterprtent.
Indications : comment peut-on dtecter le nombre derreurs que vous avez indiqu et corriger le nombre derreurs que vous avez indiqu.

10

Exercice 6 : Codes polynmiaux


On considre le code polynomial sur 14 bits gnr par le polynme G(x)=x4 + x + 1

Question 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

Question 2 Donner D(x), le polynme correspondant M. Question 3 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 SORTIE

R2

R1

ou-ex

R0

ou-ex 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.

Question 4 Donner le contenu des registres pour chaque coup d'horloge.

11

Exercice 7 : Code correcteur d'erreur linaire


On suppose quun code pour coder des messages de trois bits est construit en utilisant les mots de codes de six bits, c'est--dire quaux trois bits de donnes transmettre, on ajoute trois bits de redondance pour former des messages transmis de 6 bits : Message transmettre 000 100 010 110 001 101 011 111 Message transmis 000000 100110 010011 110101 001101 101011 011110 111000

Question 1 Un destinataire reoit le message 101111. Est ce un message correct ? Question 2 Un destinataire reoit le message 101111. En utilisant ce code comme un code correcteur derreurs, par quel message doit il tre corrig (quel est le message transmis) ? Question 3 Le code tudi dans ce problme est un code linaire. Dans un code linaire la distance du code est gale au plus faible poids dun message correct (ou encore la distance qui spare le message 0000.000 du message le plus proche). Quelle est la distance du code dfini dans ce texte? Question 4 De combien derreurs un code de distance D est-il dtecteur ? De combien derreurs ce code est-il correcteur ? Question 5 A partir des mots du code comment peut-on construire la matrice G (la matrice gnratrice du code) ? Montrez que la matrice gnratrice de ce code linaire est la matrice G suivante ?
G = 100110 010011 001101

Question 6 Quelle est la matrice de contrle de ce code linaire ? Montrez au moyen de la matrice de contrle que le message 100110 est correct et que le message 101111 est incorrect.

12

3 Niveau liaison (1)


Exercices gnraux
Exercice 1 : Dlimitation des trames
On doit mettre les donnes binaires suivantes (4 octets) : 0011 0111 0111 1110 0001 0001 1011 1110 soit encore en hexadcimal 377E11BE Question 1 La dlimitation des trames utilise dans les protocoles type HDLC est la transparence binaire ("bit stuffing"). Rappelez brivement son principe. Question 2 Quelle trame observerait-t-on sur une voie physique si la dlimitation HDLC et la procdure de transparence binaire sont utilises pour la suite binaire prcdente ? Question 3 Pour des trames comportant un nombre entier de caractres 8 bits la dlimitation par transparence caractre "character stuffing" peut-tre aussi utilise. Rappelez brivement son principe. Question 4 Le protocole PPP utilise la transparence caractre dans son fonctionnement de base (PPP in HDLC framing). Quelle suite de bits observe-t-on sur la voie physique pour la transmission en PPP de la suite binaire si la table des caractres soumis la transparence (table ACCM Asynchronous Control Character Map) a dfini en dehors du fanion tous ceux qui sont infrieurs 32 (en dcimal). Donnez le rsultat en hexadcimal ?

Exercice 2 : 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).

13

Calculer la valeur de K qui maximise le taux d'utilisation.

Exercice 3 : 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 Rappeler le principe du contrle de flux dans la liaison de donnes. A quoi sertil? 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 4 : Fentre en Rception


On reprend le contexte de l'exercice prcdent.

14

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.

15

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-1-0 I-1-0 I-2-1-F I-0-0

I-2-3-P

RR-3-F I-3-3 I-4-3-P

16

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

17

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)? (N(S)V(R)? (REJ) ! 2 1 3 (I)? (N(S)=V(R))? (RR) ! (RR) ! 7 (REJ) ! (RNR) ! 8 4 (I) ? (N(S)V(R)? (REJ) ! 5 3 6 (RNR) !

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 ?

18

Exercice 3 : Encapsulation PPP sur Ethernet pour ADSL


Dans ce problme on sintresse aux protocoles utiliss lors dun accs lInternet par ADSL (Asymetric Digital Subscriber Line) et en particulier au protocle PPPoE (PPP on Ethernet). Question 1 Rappelez les principes gnraux de la technologie ADSL au niveau physique ?
Le schma suivant donne laperu dune architecture possible daccs Internet avec ADSL en montrant les piles de protocoles utilises. IP IP PPPoA Routeur PPPoA ATM IP Modem ATM ADSL PPPoE Rseau SDH BAS Ethernet DSLAM IP Multiplexeur Concentrateur

Le poste de travail dun abonn ADSL fonctionne avec une pile de protocoles Internet. Nous supposons que le poste de travail est reli en Ethernet un dispositif de raccordement ADSL (routeur/modem). Au niveau liaison, au dessus du protocole Ethernet, on utilise une version modifie du protocole PPP, qui sappelle pour Ethernet PPPoE (PPP over Ethernet). Le routeur/modem dans sa partie modem ADSL est connect au rseau tlphonique. Au dessus du niveau physique ADSL, les donnes sont envoyes selon le protocole du rseau ATM. ATM Asynchronous Transfer Mode est une architecture de rseau considre comme de niveau 2. ATM implante toutes les fonctions de commutation dun rseau en mode circuit virtuel pour des trames de petite taille (53 octets) qui sont baptises cellules. De mme au niveau liaison on utilise une version modifie de PPP, qui sappelle pour ATM PPPoA (PPP over ATM). Le routeur/modem dans sa partie routeur IP peut grer plusieurs interfaces Ethernet ou des interfaces selon dautres standards (USB ou Wifi). Dans notre exemple, le routeur recopie simplement les datagrammes IP circulant sur le rseau Ethernet, vers le multiplexeur de voies ADSL (le DSLAM) et rciproquement du DSLAM vers le rseau Ethernet. Lquipement DSLAM (en anglais Digital Subscriber Line Access Multiplexer) comporte pour chaque abonn un modem ADSL qui dcode les informations au niveau physique ADSL. Le DSLAM est un quipement multiplexeur pour rattacher un ensemble dabonns. Il multiplexe les circuits virtuels ATM de chaque abonn sur une voix rapide jusqu un concentrateur daccs au rseau Internet. Sur le schma il est

19

mentionn que la voie rapide est gre au niveau physique en SDH (Synchronous Digital Hierarchy). Dans notre architecture, le concentrateur daccs au rseau Internet (en anglais BAS Broadband Access Server) achemine les donnes vers le prestataire daccs Internet de labonn. Larchitecture du rseau Internet prestataire peut utiliser des voies de toute nature selon les choix prestataire et nest pas dcrite ici. Pour le rattachement du poste de travail, qui se fait au niveau de lusager par une liaison Ethernet, une variante de PPP est utilise. Au lieu de transmettre des trames PPP sur une liaison point--point, les trames PPP sont envoyes en rseau local dans une trame Ethernet. Cette encapsulation de PPP sur Ethernet, baptise PPPoE pour PPP over Ethernet, est dfinie par la RFC 2516. Question 2 Rappelez les fonctions du protocole PPP ? Question 3 Dans le fonctionnement habituel des rseaux Ethernet, il nest pas prvu dutiliser le protocole PPP au dessus du rseau Ethernet. Identifiez les fonctions du protocole PPP qui sont ralises par le protocole Ethernet ? Question 4 Quand on examine en dtail le protocole PPPoE on voit que les fanions de PPP sont supprims. Pourquoi (comment les fanions sont-ils remplacs en Ethernet) ? Question 5 La trame PPP encapsule en PPPoE ne comporte plus de zones adresse ni de zone contrle. Finalement la trame PPPoE commence directement par la zone type de protocole utilisateur de PPP (par exemple PPPoE encapsulant de lIP, ce qui est presque toujours le cas, cette valeur protocole vaut 21 en hexadcimal). Pourquoi les zones adresses et contrle sont elles considres comme inutiles en PPPoE? Question 6 Finalement, pourquoi les concepteurs de larchitecture daccs Internet par ADSL ont jug ncessaire de placer dans la pile des protocoles Internet le protocole PPPoE ?

20

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) ? Quelle 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

21

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 1persistant. 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 :

22

Station 1er tirage 2e tirage 3e tirage

B 1/2 3/4 1/3

C 1/4 1/6 2/3

D 3/4 5/8 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

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.

23

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 a trame. Ce n'est plus vrai dans les normes 100 Mb/s ou 1000 Mb/s qui l 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

24

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 Segment gauche

M Segment droit

N segments centre

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.

25

Segment gauche

Segment centre

Segment droit

Type 10 Base 5 10 Base 2 10 Base T 10Base FL Attachement AUI

Lg Max 500 185 100 2000 48

Base 11,75 11,75 15,25 12,25 0

Max 55,05 30,731 26,55 212,25 4,88

Base 46,5 46,5 42 33,5 0

Max 89,8 65,48 53,3 233,5 4,88

Base 169,5 169,5 165 156,5 0

Max 212,8 188,48 176,3 356,5 4,88

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 1 Km

10 Base FL 1,6 Km

10 Base FL 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.

26

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 10 Base T 100m 10 Base 5 500 m M Rpteur 10 Base FL 1,6 Km 10 Base 5 500 m M M M

Rpteur

M 10 Base 2 185 m M

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 Coaxial Autre Segment gauche Segment milieu 16 11 10,5 8 Figure 5. Raccourcissement du dlai inter-trame

27

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

28

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) 10 A 1 10 7 8 C 100 1 100 4 Commutateur 1 (switch) 8 100 100 1 D 6 8 Lien 1 E 100 8 B 1000 Lien 2 1 100 4 7 8 100 Lien 3 100 F 1 4 Commutateur 4 (switch) Commutateur 3 (switch) 10 1 100 3 7 Commutateur 2 (switch)

Concentrateur2 (hub)

29

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


Port 1 Port 4 Adresse MAC du port 00:A0:D6:13:43:65 00:A0:D6:13:43:69 00:A0:D6:13:43:73 Priorit du port

Port 8

8000 8000 8000

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


Port 1 Port 3 Adresse MAC du port 00:A0:D6:14:37:E1 00:A0:D6:14:37:E4 00:A0:D6:14:37:E7 00:A0:D6:14:37:E8 Priorit du port

Port 7 Port 8

8000 8000 8000 8000

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


Port 1 Port 4 Adresse MAC du port 00:A0:D6:13:31:F6 00:A0:D6:13:31:F9 00:A0:D6:13:31:FC 00:A0:D6:13:31:FD Priorit du port

Port 7 Port 8

8000 8000 8000 8000

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


Port 1 Port 4 Adresse MAC du port 00:A0:D6:09:18:12 00:A0:D6:09:18:15 00:A0:D6:09:18:18 Priorit du port

Port 7 Question 1

8000 8000 8000

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 ?

30

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 ?

31

8 Gestion des adresses en IP


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 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

32

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 satisfaire son client et avec quels inconvnients ?

33

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 IP4 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 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) ?

34

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 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

35

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 ?

36

Exercice 6 : NAT et voix sur IP


Lapproche NAT (Network Address Translation) prsente dans le cadre du protocole IPV4 de nombreux avantages. NAT pose aussi diffrents problmes avec certaines applications Internet en particulier des applications dactualit comme les communications de voix sur IP (VoIP Voice over IP). En communication de voix sur IP on cherche raliser des communications vocales en utilisant le rseau Internet. Lanalogue du numro de tlphone est une adresse IPV4 dinterface daccs un appareil (un poste de travail qui possde un micro et un couteur ou un tlphone IP). Cependant il na pas t retenu dutiliser directement des adresses IP pour dsigner un correspondant comme on le fait des numros de tlphone. On rappelle que l'attribution d'adresse IP peut tre statique ou dynamique.

Question 1 On s'intresse au cas d'une attribution statique des adresses IP. Un metteur peut-il utiliser ladresse IP directement pour appeler un correspondant comme on le fait avec un numro de tlphone (justifiez votre rponse)? Question 2 On se place maintenant dans le cas d'une attribution dynamique (DHCP). Quel(s) problme(s) se posent en utilisation dadresses IP dynamiques pour appeler un correspondant ? Question 3 Dans le cas o l'on se trouve dans un rseau priv avec un routeur NAT, peut-on directement utiliser les adresses IP pour appeler un correspondant comme on le fait avec un numro de tlphone ?
Dans les protocoles de voix sur IP on utilise une gestion dannuaires. Les annuaires sont placs dans lInternet public et accessibles en ligne en mode client-serveur. Cest le cas en SIP (Session Initiation Protocol un protocole de signalisation sur rseau IP) ou en SKYPE (systme de tlphonie gratuite utilisant la voix sur IP). Rappelez le rle dun serveur dannuaire (quelles sont les trois oprations principales ralises par un serveur dannuaire ?).

Question 4 Dans le cas de la voix sur IP quoi correspondent les noms logiques et les adresses physiques et quel moment sont ralises les oprations dannuaire? Question 5
Dans certains protocoles dapplication de lInternet, certains messages protocolaires contiennent ladresse IP V4 source de lmetteur dans l'entte du datagramme IP mais aussi dans la partie donne du message (dans la charge utile). Par exemple, en voix sur IP, dans quel cas peut-on trouver une adresse IP dans un message?

37

Quel problme pose lutilisation de NAT pour de tels protocoles ? Question 6


Diffrentes solutions ont t proposes pour rsoudre le problme prcdent (adresses IP dans une charge utile). Une solution consiste faire en sorte que les applications qui font de la voix sur IP reoivent des adresses IP fixes publiques ou des traductions en adresses IP fixes publiques.

Discutez cette solution (valuez les avantages et les inconvnients, la faisabilit de la solution) ? Question 7
Une autre solution consiste faire en sorte que les routeurs NAT connaissent la structure des messages des protocoles de voix sur IP comme SIP ou Skype.

Prcisez et discutez cette solution ? Question 8


Une troisime solution consiste utiliser un protocole client serveur baptis STUN (Simple Traversal of UDP Through NAT RFC 3489 mars 2003). Ce protocole a t conu pour rpondre aux problmes des adresses IP contenues dans la partie donne des messages. Un client STUN est un utilisateur de lInternet qui souhaite connatre son adresse IP et son numro de port. Un serveur STUN est situ dans lInternet global (celui des adresses publiques). Il possde un port de numro rserv (port bien connu). Dans un message de requte un client STUN (typiquement un tlphone IP) met une demande de son adresse IP et de son numro de port vers un serveur STUN situ dans lInternet global. Le serveur STUN analyse le datagramme reu et rpond en retournant au client ladresse IP et le port public du client dans le message. On se place dans le cas ou les adresses sont traduites en sortie dun domaine (traduction des adresses et port source sur les datagrammes en sortie et des adresses et ports destination sur les datagrammes en entre). On fait lhypothse que le routeur NAT effectue toujours la mme traduction pour tous les datagrammes ayant un couple adresse, numro de port donn. Comment le serveur STUN peut-il connatre l'adresse IP et le numro de port du demandeur dans l'Internet global?

Expliquez comment le client utilise les informations reues pour rsoudre le problme des adresses IP contenues dans les messages ? Question 9
De nombreux routeurs NAT effectuent une traduction dadresse IP et de numro de port source qui dpend de la destination. Tous les datagrammes ayant mme source et mme destination sont traduits de la mme faon. Deux datagrammes ayant mme source (adresse IP et numro de port) et deux destinations diffrentes (adresse IP ou numro de port) voient l'adresse IP et le numro de port source traduits de deux faons diffrentes.

Expliquez pourquoi dans ce cas, le protocole STUN ne marche plus.

38

Exercice 6 : Distribution d'adresses avec DHCP


DHCP (Dynamic Host Configuration Protocol RFC 2131 et 2132) est un protocole client serveur qui permet un client h dun rseau local (Ethernet ou Wifi) dobtenir dun serveur DHCP te diffrents paramtres de configuration rseau. En utilisant DHCP on souhaite surtout fournir un hte une adresse IP mais aussi le masque du sous-rseau auquel appartient cet hte, ladresse IP du routeur par dfaut ou encore ladresse IP dun serveur DNS. Pour attribuer des adresses IP, un serveur DHCP reoit un ensemble dadresses IP quil attribue ensuite sur demande des clients pour une priode de temps donne. En DHCP on appelle bail le fait pour un hte dobtenir une adresse IP pour une priode de temps dfinie par le serveur. Le protocole dacquisition dun bail comporte quatre messages principaux : A - Le client DHCP met en diffusion un premier message de demande de bail. Le type de ce message est baptis DHCPDISCOVER. B Sil existe plusieurs serveurs DHCP atteints par la diffusion et si ces serveurs disposent dune adresse IP libre, ces serveurs DHCP proposent au client cette adresse IP associe une dure dutilisation possible de ladresse (une dure de bail). Ce message contient aussi ladresse IP du serveur proposant loffre. Le type de ce message de rponse est DHCPOFFER. C - S'il a reu plusieurs propositions, le client en choisit une et retourne une demande d'utilisation de cette adresse. Le type de ce troisime message est DHCPREQUEST. Ce message est galement diffus pour que les autres serveurs DHCP apprennent quils nont pas t slectionns. D - Le protocole se termine par la transmission dun message DHCPACK par lequel le serveur DHCP slectionn accuse rception de la demande et accorde l'adresse selon la dure de bail prvue. Les autres serveurs retirent dfinitivement leur offre. A la moiti de la priode dutilisation dune adresse (moiti du bail) le client demande le renouvellement de lallocation de cette adresse par un message DHCPREQUEST. Le bail est gnralement renouvel par un DHCPACK. Si la demande naboutit pas (cas dune rponse DHCPNACK ou perte de contact avec le serveur DHCP), le client tente de contacter les autres serveurs DHCP pour obtenir une autre adresse. En labsence de rponse positive, le client utilise ladresse dont il disposait jusqu la fin du bail et cesse de communiquer en IP. Un analyseur de messages changs sur un rseau local E thernet/IP donne le rsultat suivant. Il est constitu dune suite de lignes correspondant un message observ sur le rseau local. On trouve un numro dordre du message observ, la date de lobservation en seconde, les adresses IP source et destination, le nom du protocole pour lequel le message a circul et le type du message
No Time Source 1 0.000000 0.0.0.0 2 0.001182 192.168.0.247 3 0.342454 192.168.0.247 4 0.344405 0.0.0.0 5 0.348264 192.168.0.247 6 0.353014 CIS_a8:52:24 Tell 192.168.0.5 Destination 255.255.255.255 192.168.0.5 192.168.0.5 255.255.255.255 192.168.0.5 Broadcast Protocol DHCP ICMP DHCP DHCP DHCP ARP Info DHCP Discover Echo request DHCP Offer DHCP Request DHCP ACK Who has 192.168.0.5?

Question 1

39

Pour le message numro 1 de la trace expliquez la signification des adresses IP source et destination (pourquoi selon vous utilise ton ces adresses dans cet change) ? Question 2 La trace ne donne pas l'adresse MAC destination figurant dans le message numro 1 (l'adresse MAC source correspond l'adresse unique de l'metteur). Mme si elle ne figure pas dans le texte pouvez vous donner ladresse destination ? Question 3 Pour le message numro 3 de la trace expliquez la signification des adresses source et destination ( quoi correspondent ces adresses) ? Comment est il possible que ce message parvienne correctement son destinataire ? Question 4 Pour le message numro 4, expliquez la signification des adresses IP source et destination (pourquoi avoir choisi les adresses IP qui apparaissent dans le message 4)? Question 5 Dans cette trace, le message numro 2 semble ne pas tre reli une attribution d'adresse DHCP. Cependant ce message a circul aussi dans le cadre de l'attribution d'adresse. Pourquoi le message numro 2 a-t-il circul (quel est le but poursuivi dans la circulation de ce message) ? Question 6 Expliquez pourquoi le temps qui scoule entre les messages 2 et 3 est assez long ? Question 7 De la mme faon, dcrivez pourquoi le message 6 a circul dans cette trace?
Un administrateur rseau installe un serveur DHCP sur une machine UNIX. Dans son implantation il doit configurer le serveur par un ensemble de directives contenues dans un fichier baptis dhcpd.conf. La liste des directives prpares pour une configuration est la suivante :
default-lease-time 600; max-lease-time 7200; option subnet-mask 255.255.255.0; option broadcast-address 192.168.1.255; option routers 192.168.1.254; option domain-name-servers 192.168.1.1,192.168.1.2; option domain-name "mondomaine.org"; subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.10 192.168.1.100; range 192.168.1.150 192.168.1.200; }

40

host ulysse { hardware ethernet 00:19:18:A6:47:36 fixed-adress 192.168.0.10; }

Question 8 Les adresses IP attribues par ce serveur DHCP correspondent un choix particulier. A quelle catgorie appartiennent ces adresses ? Question 9 On constate dans le fichier de configuration dhcpd.conf deux types de directives dallocation dadresses IP. Dans le cas de la machine ulysse, celle-ci reoit toujours la mme adresse IP fixe (voir la ligne 'fixed-adress 192.168.0.10'). Citez les avantages que vous voyez lutilisation de DHCP dans ce cas ? Question 10 Dans le cas du sous rseau 192.168.1.0 ladministrateur dfinit des plages dadresses attribuables dynamiquement (dans les directives range comme range 192.168.1.10 192.168.1.100;). Pourquoi prciser de telles plages dadresses et quels avantages en tire ton ?

41

Exercice 7 : Utilitaire ping et adresses IPV6


L'utilitaire ping cr pour le protocole IPV4 a t adapt IPV6. Il s'appelle alors ping6. Sur une machine, lexcution de la commande ping6, donne une liste rsultat de la forme suivante :
$ ping6 2001:660:3003:1D05::1:1

PING ping6 2001:660:3003:1D05::1:1: 56 data bytes 64 64 64 64 64 64 64 64 bytes bytes bytes bytes bytes bytes bytes bytes from 2001:660:3003:1D05::1:1: icmp_seq=0 time=43.1 ms from 2001:660:3003:1D05::1:1: icmp_seq=1 time=40.0 ms from 2001:660:3003:1D05::1:1: icmp_seq=2 time=44.2 ms from 2001:660:3003:1D05::1:1: icmp_seq=3 time=43.7 ms from 2001:660:3003:1D05::1:1: icmp_seq=4 time=38.9 ms from 2001:660:3003:1D05::1:1: icmp_seq=5 time=41.2 ms from 2001:660:3003:1D05::1:1: icmp_seq=6 time=39.1 ms from 2001:660:3003:1D05::1:1: icmp_seq=7 time=42.1 ms

- --- 2001:660:3003:1D05::1:1 ping statistics --9 packets transmitted, 9 packets received, 0% packet loss round-trip min/avg/max = 38.9/41.3/44.2 ms

Question 1 Comment fonctionne l'utilitaire ping. Que peut-on dduire du rsultat de l'excution de cette commande? Question 2
L'adresse IPV6 utilise en paramtre de la commande ping6 est ladresse 2001:660:3003:1D05::1:1 . Il sagit dune adresse note sous une forme compacte (avec des raccourcis).

Quelles sont les rgles dfinies pour compacter une adresse IPV6. Comment se note ladresse 2001:660:3003:1D05::1:1 sous une forme dveloppe (notation complte dune adresse IPV6) ? Question 3 A quelle catgorie ( quel plan dadressage) appartient ladresse 2001:660:3003:1D05::1:1 (selon son prfixe est-ce une adresse prestataire, agrge ou gographique). Mme question pour ladresse: 5F0D:E900:80DF:E000:0001:0060:3E0B:3010 ? Question 4 Commentez la valeur des temps daller retour (round trip time) (que pouvez vous dire la lecture de ces chiffres) ?

42

Exercice 8 : Mobilit avec IP en version 4


Les appareils portables (comme les ordinateurs portables, les tlphones IP, les organiseurs) qui utilisent les protocoles de lInternet, posent le problme du dplacement dun hte IPV4 lintrieur de lInternet. Lobjectif de la norme IP Mobility (RFC 3344 dernire version en 2002) encore connue sous le sigle MIP4 (pour Mobile IP en version 4) est de permettre un hte dans un rseau IP de changer de point de rattachement au rseau Internet en conservant toujours la mme adresse IP. Ladressage IPV4 fait que tout appareil doit possder une adresse IP qui permet de le localiser dans un rseau auquel il est rattach. IP mobile en V4 a donc comme objectif de permettre un hte de communiquer avec dautres htes dans le rseau Internet mme aprs un changement de point dattachement sans avoir reconfigurer manuellement cet hte. La norme IP mobile suppose donc quun ordinateur mobile (un nud mobile ou mobile node en anglais) possde une adresse IP principale fixe qui appartient son rseau dorigine (son rseau home network). Cest avec cette adresse IP quil doit continuer de pouvoir tre accessible en toutes circonstances quil soit connect dans son rseau dorigine ou quil se soit dplac dans un rseau tranger (foreign network). Pour les besoins de la mobilit, IP mobile en version 4 fait lhypothse quun hte mobile doit tre modifi pour supporter un ensemble de logiciels rseaux spcifiques lui permettant dtre mobile (en particulier la couche IP est modifie). Nous allons voir que certains routeurs doivent galement subir des modifications en vue de la mobilit. Par contre un hte habituel de lInternet qui communique avec un mobile (en anglais correspondent node) doit rester un hte quelconque de lInternet c'est--dire quil ne doit pas avoir subir de modifications de ses logiciels rseaux Internet. Pour assurer la mobilit en IP, une premire solution consisterait utiliser le routage IP. Il faudrait dfinir dans les tables de routage, des routes vers des htes (en anglais host specific route) de sorte quun hte mobile dans le rseau Internet pourrait conserver toujours la mme adresse IP tout en restant accessible nimporte o dans lInternet grce au routage IP.

Question 1 Etudiez la solution de mobilit en IP par lutilisation de routes conduisant vers un hte unique. Quelles seraient les consquences dune telle approche de la mobilit sur le fonctionnement de lInternet?
Indications : vous examinerez les avantages et les inconvnients de cette solution en considrant principalement les problmes de performances des oprations raliser que sont la commutation dun datagramme dans un routeur et la mise jour des routes par les protocoles de routages dynamiques compte tenu de lexistence de routes vers les htes uniques.

Question 2 On se place maintenant dans lhypothse ou lorsquun mobile arrive dans un rseau tranger, il communique en IP en utilisant une adresse IP dans ce rseau. En IP mobile cette nouvelle adresse est baptise 'care-of address'. Citez toutes les techniques que vous connaissez permettant un hte, dobtenir dynamiquement une adresse IP dans un rseau ?

43

Lorsquun mobile est arriv dans un rseau tranger nous supposons quil dispose dun moyen pour sapercevoir quil a chang de rseau. Par exemple, en interrogeant un serveur sur la valeur du prfixe rseau courant il peut dterminer sil a chang de rseau. Nous supposerons que le mobile demande alors et obtient une adresse IP dans ce rseau par lun des moyens lists la question prcdente.

Question 3 Quelles sont les possibilits de communications Internet qui sont offertes au mobile au moyen de cette nouvelle adresse (ladresse dans le rseau tranger)?
Indications : peut-il appeler un nouveau correspondant ? Peut-il continuer une communication qui tait en cours avec un correspondant malgr le changement dadresse (justifiez votre rponse en particulier si le transport utilis est TCP) ? Peut-il tre appel par un nouveau correspondant ? Pour permettre un correspondant d'envoyer des datagrammes vers un mobile, IP mobile suppose lexistence de deux systmes informatiques jouant des rles particuliers. Le plus souvent il sagit dextensions logicielles en vue de la mobilit qui sont installes dans des routeurs. Lagent mre (traduction la plus frquemment constate de home agent) est situ dans le rseau mre c'est--dire le rseau d'origine du mobile (home network). Cest trs souvent le rseau de lentreprise o travaille la personne qui utilise un mobile de faon professionnelle. Le rle de lagent mre (home agent) est de remplacer un mobile dans son rseau dorigine lorsque celui-ci est absent. Lagent mre reoit les datagrammes IP adresss au mobile sur son adresse IP principale et les rexpdie vers le mobile dans un autre rseau o celui-ci s'est dplac. Lagent relais (foreign agent) est situ dans le rseau tranger visit par le nud mobile (en anglais le foreign network). Il doit enregistrer la prsence du mobile et sa nouvelle adresse IP lorsquil vient darriver dans le rseau tranger. Mais son rle est principalement de recevoir les datagrammes retransmis par lagent mre et de les relayer pour les dlivrer destination du mobile. Il lui faut aussi signaler lagent mre son adresse dagent relais pour que lagent mre puisse lui rexpdier les datagrammes arrivs pour le mobile. Dans le sens inverse, le mobile rpond aux datagrammes qui sont envoys par un correspondant en sadressant directement ce correspondant. En raison de lexistence de ces trois entits essentielles au fonctionnement du routage IP mobile (un correspondant avec son routeur de rattachement, un agent mre dans le rseau mre et un agent relais dans le rseau tranger) le routage dun datagramme en IP mobile est baptis routage triangulaire. La figure suivante traduit la circulation des datagrammes IP du correspondant vers le mobile et du mobile vers le correspondant. On peut voir une grande analogie entre ce fonctionnement pour les datagrammes et la rexpdition du courrier postal.

44

Rseau mre 'Home'

Agent mre 'home agent'

Tunnel

Rseau tranger Agent relais 'Foreign'


'foreign agent' Mobile

Internet

Routeur du correspondant

Rseau du correspondant
Correspondant

Question 4 On rappelle quavec IP mobile, un mobile est toujours atteint au moyen de son adresse IP de rattachement dans son rseau mre (son rseau principal daccueil home). Comment lagent mre peut-il faire pour remplacer un mobile IP quand celui-ci est absent de ce rseau dorigine ?
Indications : Recherchez le protocole permettant un hte dun rseau IP de se dclarer destinataire des messages destination dune certaine adresse IP. Lagent mre ayant rcupr tous les datagrammes destination du mobile, doit les retransmettre au mobile qui se trouve dans le rseau tranger par lintermdiaire de lagent relais. Mobile IP impose que la communication entre lagent mre dans le rseau mre et lagent relais dans le rseau tranger seffectue en mode tunnel. Utiliser un tunnel signifie que le datagramme IP qui avait t transmis dun correspondant vers le mobile est encapsul dans un nouveau datagramme IP. On conserve donc toute lentte dorigine et toute la charge utile du datagramme original en considrant le tout comme la charge utile d'un nouveau datagramme avec une nouvelle entte IP entre agent mre et agent relais. Lagent relais peut donc rcuprer en sortie du tunnel, le datagramme transmis initialement par le correspondant et cest ce datagramme qui est utilis pour la dlivrance au mobile dans le rseau tranger.

Question 5 Pourquoi procde ton ainsi ?

45

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 distant Client de messagerie F MTU : 500 octets MTU : 1500 octets MTU : 1500 octets LS Rseau R2 : Ethernet Rseau R1 : 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 ?

46

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 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0.0.0.0 10.1.0.0 10.1.3.0 10.1.3.64 10.1.3.128 10.1.3.192 10.1.4.0 10.1.4.64 10.1.4.128 10.1.16.64 10.1.8.0 10.1.8.0 10.1.8.64 10.1.8.64 10.1.8.128

Masque /0 /16 /26 /26 /26 /26 /26 /26 /26 /26 /24 /26 /26 /26 /26

Routeur 10.1.3.65 10.1.3.65 10.1.3.1 10.1.3.126 10.1.3.190 10.1.3.254 10.1.3.4 10.1.3.4 10.1.3.4 10.1.3.65 10.1.3.65 10.1.3.65 10.1.3.65 10.1.3.62 10.1.3.65

Mtrique 1 1 0 0 0 0 11 9 10 5 6 9 17 22 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 ?

47

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?

48

Exercice 3 : Analyse dun routage IP V4


Pour une exprimentation on a construit un rseau trs simple en utilisant le bloc dadresses IPV4 172.20.0.0/16. Dans la configuration, on a un routeur qui relie deux tronons Ethernet au moyen de deux ports nots sur la figure eth0 et eth1. Une station de travail A, connecte au tronon eth0 a pour sa carte rseau, ladresse 172.20.130.15. Lautre station B, connecte au tronon eth1, a ladresse 172.20.142.10. On a dfini pour les deux sous rseaux (les machines connectes au concentrateur 1 comme A et au concentrateur 2 comme B) le mme masque 255.255.128.0.0. Concentrateur 1 (hub)

Eth0

172.20.130.15
A

172.20.130.1

Routeur
Concentrateur 2 (hub)

172.20.142.1

172.20.142.10
B

Eth1

Question 1 On a vu en cours, quatre versions successives de ladressage IP. Dans cette architecture on dit que lon fonctionne dans le mode dadressage IP par sous rseaux (IP subnetting). Pourquoi ? Question 2 Quelle est la table de routage de la station A ? Question 3 Lutilisateur de la station A met un message vers B en utilisant sa table de routage. Expliquez ce qui se passe (le message peut-il atteindre la station B) ?

Question 4 Proposez une modification de ladressage qui amliore le fonctionnement par changement de la valeur du masque unique utilis (sans changement des adresses). Vous proposerez la valeur de masque qui autorise la taille la plus grande pour les deux sous rseaux.

49

Exercice 5 : Etude dune table de routage IP V4


Vous avez travailler sur un rseau IP dentreprise. Vous devez en comprendre larchitecture. Vous commencez par un premier routeur IP. Vous listez la table de routage de ce routeur qui vous donne diffrentes informations dont les principales sont rassembles dans la table suivante. En fonction de la marque dun routeur, la prsentation des informations de routage est lgrement variable mais les informations essentielles sont toujours peu prs les mmes. On trouve dans la liste suivante associe au type de routeur analys : - une destination atteindre, - un masque du rseau destination (qui est ici donn en notation habituelle des adresses IP soit la notation dcimale pointe), - le prochain saut soit la prochaine adresse IP atteindre sur la route, - le port qui dfinit linterface physique du routeur sur laquelle il faut envoyer un datagramme, - la mtrique qui dfinit le cot de la route jusquau destinataire, - le type de la route qui est soit directe (DIR), c'est--dire que lon peut dlivrer au destinataire final, soit distante (REM pour remote), c'est--dire que lon doit encore traverser un ou des routeurs. Destination 0.0.0.0 172.16.3.0 172.16.3.64 172.16.3.128 172.16.3.192 172.16.4.0 172.16.4.64 172.16.4.128 172.16.6.64 172.16.8.0 172.16.8.64 172.16.8.128 172.16.25.0 172.16.25.128 172.16.25.192 Route mask 0.0.0.0 255.255.255.192 255.255.255.192 255.255.255.192 255.255.255.192 255.255.255.192 255.255.255.192 255.255.255.192 255.255.255.192 255.255.255.192 255.255.255.192 255.255.255.192 255.255.255.192 255.255.255.192 255.255.255.192 Next hop 172.16.3.65 172.16.3.1 172.16.3.1 172.16.3.190 172.16.3.254 172.16.3.4 172.16.3.4 172.16.3.4 172.16.3.65 172.16.3.65 172.16.3.65 172.16.3.65 172.16.3.62 172.16.3.62 172.16.3.62 Port J3 J5 J3 J1 J1 J5 J5 J5 J3 J3 J3 J3 J5 J5 J5 Metric 1 0 0 0 0 115 90 100 376 90 130 75 30 35 35 Type REM DIR DIR DIR DIR REM REM REM REM REM REM REM REM REM REM

Question 1 Pour comprendre larchitecture de ce rseau IP vous commencez par vous demander quels routeurs IP ce routeur est connect. Comment allez vous procder vous pour connatre ces routeurs. Dans le cas de la table de routage prcdente, listez ces routeurs en donnant pour chacun la caractristique principale pouvant tre dduite des informations que vous possdez (ladresse IP dune de ses interfaces)?

50

Question 2 Vous souhaitez ensuite dterminer la liste des sous rseaux IP qui sont immdiatement connects au routeur que vous tudiez. Comment procdez vous ? Dans lexemple de la table routage prcdente quels sont ces rseaux et quelle est leur taille ? Question 3 En regardant plus en dtail la table de routage pour ce qui concerne les routes pour les rseaux immdiatement connects au routeur, vous remarquez que la colonne prochain saut (next hop) est renseigne. En cherchant comprendre la signification de ces informations vous constatez quil y a une incohrence et donc une erreur dans lune de ces routes. O se trouve lincohrence ?

Question 4 Pour les routes voques la question prcdente (les routes vers les rseaux immdiatement connects un routeur), quelle est la signification des informations portes dans la colonne prochain saut (next hop) de la liste de table de routage ? Que devrait-on faire pour corriger la table de routage ? Question 5 Quelles pouvaient tre les consquences de l'erreur dans la table de routage (quel est le niveau de gravit de cette erreur) ?

51

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 Sous rseau 3 2

Liaison Spcialise 1 Rpteur 5

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

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 n ouvel 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.

52

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 sousrseau 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 ?

53

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 de tables de routage statiques


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

54

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 ?

55

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
2

6 1

2 2

5 G

La base de donnes (topologie ou carte du r seau) 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 A A B B B C C C D D E E E F F F G G Vers B D A C E B F G A E B D F C E G C F Cot 6 2 6 2 1 2 2 5 2 2 1 2 4 2 4 1 5 1

56

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 ?

57

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
2

B
1

2 2

5 G

1 F 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
2

B
1 2

5 G

Indiquer les bases de donnes obtenues par chaque routeur.

58

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
2

B
1 2

5 G

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 ?

59

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 ?Recevoir SYN ATTENT "LISTEN" E !Envoyer SYN,ACK ?Recevoir RST ?CONNECT !Envoyer SYN

?SEND !Envoyer SYN ?Recevoir SYN Demi-passif Demi-actif ?CLOSE "SYN_RCVD" !Envoyer SYN, SYN_SENT ?Timeout ACK ?Recevoir SYN,ACK ?Recevoir ACK !Envoyer ACK OUVERT ?CLOSE "ESTABLIHED" !Envoyer FIN ?Recevoir FIN ?CLOSE !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 "TIME_WAIT" "FIN_WAIT_2" ?Recevoir FIN !Envoyer ACK

60

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.

61

Navigateur WEB Segment 1

SYN 143256:143256 (0)

Serveur WEB

SYN 250712:250712 (0) ACK ? 143257: 143357 (100) ACK ? 250713: 251713 (1000) ACK ? FIN ? : ? (0) ACK ? ACK ?

Segment 2

Segment 3

Segment 4

Segment 5

Segment 6 FIN ?: ? (0) ACK ? Segment 7

Segment 8

ACK ?

62

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.

63

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.

64

Annexe : Complments d'exercices

65

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

A T Signal carr

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> gnuplot> gnuplot> gnuplot> gnuplot> gnuplot> f0(x)=0.5 f1(x)=f0(x)+2*sin(pi/2)/pi*cos(pi*x) f2(x)=f1(x)+2*sin(3*pi/2)/pi/3*cos(3*pi*x) f3(x)=f2(x)+2*sin(5*pi/2)/pi/5*cos(5*pi*x) f4(x)=f3(x)+2*sin(7*pi/2)/pi/7*cos(7*pi*x) plot f0(x),f1(x),f2(x),f3(x),f4(x)

66

1.2 f0(x) f1(x) 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

67

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; cycle pour i:=1 N faire attendre_top; lire(i,chantillon(i)); crire(ligne_sortie(i);chantillon(i)); finpour fincycle fin

dbut

68

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

69

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 :

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.
On rappelle la formule : pour x < 1,

nx
n=1

x (1 x )2

70

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)?

71

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 DIFS Trame Donnes Destinataire

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 :

72

DIFS RTS

CTS

SIFS

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

73

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) ?

74

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).

75

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 ?

76

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).

CLIENT WEB TCP IP PPP V32BIS PPP V32BIS IP MAC ETHERNET

VERS INTERNET

MODEM RTC

MODEM 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 : nombre du temps moyen coul entre - de la dure moyenne des appels, note ES Elle se calcule grce la formule d'Erlang : Prej =
N

du

de deux N N! appels

lignes successifs,

not

N E

i =1

i!

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

77

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 ?

78

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 Comparer ce cot un abonnement personnel"du march"

79

80

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

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

81

Extraits du 3614 RLF (haut) et du Web de Transpac (bas)

82

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 Logiciel client


Protocole d' application

SERVEUR Logiciel serveur


Protocole d' application

TCP/IP

PROTOCOLE

TCP/IP

MAC RESEAU D'INTERCONNEXION

MAC

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 ?

83

(1) requte http Client Web mmoire la machine

Serveur Web

fichier HTM

(2) rponse http (4) Nouvelle requte Serveur Web 2 disque de la machine serveur Lien

Lien (3) Dcodage et affichage

La syntaxe d'une requte GET est GET <chemin fichier> <protocole>

Essayer par exemple GET /index.html http/1.0 suivi de 2 retourcharriot 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 socket() Prpare une prise de connexion bind() Assigne un numro de port une prise listen() Prpare pour des demandes de connexion accept() Prend en compte une connexion read() Demande de service + donnes write() Rponse+rsultats close() Fermeture/destruction de la prise socket() gethostbyname() Donne adresse IP serveur partir de son nom CLIENT

connect() tablissement dune connexion write() read() close()

84

Pour utiliser les IPC internet, il faut inclure dans son code C les dclarations suivantes :
#include #include #include #include #include #include #include #include #include #include #include <stdio.h> <signal.h> <ctype.h> <errno.h> <sys/types.h> <sys/socket.h> <string.h> <netdb.h> <netinet/in.h> <netinet/tcp.h> <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 char int int char #define h_addr } { *h_name; **h_aliases; h_addrtype; h_length; **h_addr_list; h_addr_list[0] /* /* /* /* /* /* official name of host */ alias list */ host address type */ length of address */ list of addresses from name server */ address, for backward compatiblity */

#define __SOCK_SIZE__ struct sockaddr_in { sa_family_t unsigned short int struct in_addr unsigned char };

16

/* sizeof(struct sockaddr)

*/

sin_family; /* Address family */ sin_port; /* Port number */ sin_addr; /* Internet address */ __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.

85

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

86

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.

87

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 1 B( n2) 10 C(n3) 4

4 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 cidessus %; 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;

88

89

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 %; Pour j=1 a N cout:=+8; % Chercher parmi tous les voisins de i celui par lequel passe le meilleur chemin vers j %; Pour k=1 a N Si C(i,k)?+8 faire Si C(i,k)+V(k,j)<cout faire cout:=C(i,k)+V(k,j); r:=k; finsi finsi fin pour %Si la valeur trouve est meilleure que celle contenue dans dans V noter le nouveau chemin %; Si V(i,j)> cout faire V(i,j):=cout; P(i,j):=r; finsi finpour finpour finpour

I I I I I I I I I I I I I A I I I I I I I I

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

90

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 Cn1 = 4 4 1 4 0 10 4 4 10 0 1 0 4 V = 4 n 1 2 1 0 4 0 5 4 2 5 0 1 1 4 obtenus la question 1 1 0 . S2 = . . . . V (2,) = ( . P(2, ) = ( . . . V (4,) = ( . P(4,) = ( .

. . . . V(1, ) = ( . S1 = . P(1,) = ( . . S3 = . . . . . V (3,) = ( . P(3, ) = (

) ) ) )

) ) ) )

S4 = . . .

91

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 = . . . . V(1,) = ( . S1 = . P(1,) = ( . 4 S3 = 14 . 8 10 . . . . .

4 . S2 = 14 5 . . . . 6 . 10 7 5 4 . 5 V (2,) = (4 0 6 4) . 15 P(2,) = (1 2 1 4) 4 3 9 . . . V (4,) = (1 4 3 0) . P( 4,) = (1 2 1 4 ) .

) )

5 14 V( 3, ) = (4 8 0 5) . P(3,) = (1 1 3 1)

0 Vn +1 = 4 4 1 . . S1 = . . . 4 12 5 . 10 4 4 . . . . . 8 V (1,) = (0 4 4 1) 9 P(1, ) = (1 2 3 4 ) 1 5 14 V(3,) = (4 8 0 5) . P(3,) = (1 1 3 1)


V n +2 . . S1 = . . . 4 12 5 . 11 4 6 . . . . . 8 V (1,) = (0 4 4 1) 9 P(1,) = (1 2 3 4 ) 1 5 14 . V(3,) = (4 8 0 5) P(3,) = (1 1 3 1) 0 4 = 4 1 0 4 = 4 1

4 0 8 4

1 8 S4 = . 4 1 6 4 0 5 3 0

4 . S2 = 14 5 1 8 S4 = . 4 1 74 0 5 5 0

. . . .

8 . 10 7 5 4 .

5 V(2, ) = (4 0 7 4 ) . 15 P( 2,) = (1 2 4 4) 4 . . V (4,) = (1 4 5 0) . P(4, ) = (1 2 1 4) .

4 14 S3 = .

8 10 .

5 10 .

4 0 8 4

4 . S2 = 14 5 1 8 S4 = . 4 0 8 4 4 8 0 5 1 4 5 0

. . . .

8 . 10 9 5 4 .

5 V (2, ) = (4 0 8 4) . 15 P(2,) = (1 2 1 4 ) 4 . . V (4,) = (1 4 5 0 ) . P(4, ) = (1 2 1 4) .

4 14 S3 = .

8 10 .

5 11 .

V n +3

92

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: 16: 32: 48: 0800 0028 c801 1000 2001 0c39 0450 64be b432 0000 0015 0000 0800 1e06 0006 0000 2000 8077 e802 0000 61f3 c009 0080 0000 0800 c80b 3e08 xxxx 4500 c009 5010 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? 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 ?

93

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 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?

94

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? 3.2) Quelles sont ses principales fonctions?

95

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.

96

Source 1

B
4 Abonn

A
5 2

C
3

D
3

E
7

Abonn

F
1 6

G H

Abonn

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?

97

Protocole de transport RTP


Dans les vingt premires annes de son existence le rseau Internet a t utilis pour des applications de transmission de donnes informatiques en mode asynchrone comme es transferts de l fichiers, les transferts de courriers lectroniques, laccs des documents. Ensuite, lutilisation dInternet a volu progressivement vers des applications multimdia flux continu. Des applications comme le tlphone, la diffusion radio ou tlvision sont considres comme des applications Internet utilisant les quatre couches basses de cette architecture rseau. Dans cet ensemble, on distingue deux types de transmissions. Le cas le plus simple est celui des donnes flux continu pouvant tre stockes avant dtre dlivres (plusieurs secondes plusieurs dizaines de seconde comme dans le cas de la radio, de la tlvision, on parle de streaming). Un cas plus difficile est celui des donnes multimdia dlivrance en temps rel comme le tlphone ou la visio-confrence. Ce problme sintresse la transmission des donnes au niveau transport pour des applications multimdia sur Internet et en particulier au protocole de transport RTP (Real-time Transport Protocol RFC 3550 Juillet 2003).

Question 1 Dans le domaine des donnes multimdia en flux continu on sintresse surtout la transmission de donnes en mode synchrone. Rappelez la dfinition dune transmission synchrone. Donnez quelques exemples de communication en mode synchrone au niveau physique.
Des applications Internet souhaitant changer des flux continus peuvent envisager dutiliser comme protocole de transport TCP (pour la transmission de donnes synchrones).

Question 2 Indiquez plusieurs problmes lis aux caractristiques de TCP. On examinera les caractristiques habituelles des protocoles concernant, la livraison en squence, les mcanismes de contrle derreur, de contrle de flux, de contrle de congestion, et dans le cas prcis la dlivrance synchrone.
_

Le protocole de transport temps rel RTP a choisi de sappuyer sur le service du protocole UDP pour la transmission de donnes synchrones. Donc dans une transmission avec RTP le niveau transport comprend les deux protocoles RTP et UDP selon larchitecture suivante.

RTP Real-time Transport Protocol Niveau transport UDP User Datagram Protocol

Question 3 Pourquoi avoir choisi le protocole UDP comme protocole sous jacent RTP ?
Lentte dun message de donnes RTP comprend cinq champs:

98

- Le champ type (Payload Type) dcrit le type de la charge utile transporte (sur 7 bits). - Le champ numro de squence (Sequence Number) est le numro de squence du message RTP. Il est incrment chaque nouvel envoi dun message RTP (sur 16 bits). - Le champ estampille (Timestamp) sur 32 bits. Ce champ reflte linstant dchantillonnage du premier octet de la charge utile. Supposons par exemple que pour un certain type de codage du son, un message RTP transporte 40 chantillons de son prlevs 44000 fois par seconde alors la valeur du champ estampille progresse de 40 chaque nouveau message. - Le champ identifiant de la source (Synchronization Source Identifier) sur 32 bits. Cest un identifiant choisi alatoirement qui identifie une source de donnes RTP. On peut en effet avoir sur le mme hte plusieurs flots de donnes transmises en mme temps vers le mme destinataire. - Diffrents indicateurs (numro de version, existence doctets de bourrage, existence dextension dentte .) sont galement prsents dans lentte. Ils ne sont pas dtaills dans ce sujet.

Question 4 Selon la norme RTP, la zone type de charge utile de l'entte ayant pour valeur 0 est attribu au codage MIC avec la loi 64 kb/s (PCM , law 64) du tlphone numrique. Rappelez les principes de base du MIC (chantillonnage, quantification, codage)? Question 5 L'utilisation du codage MIC suppose que codage et le dcodage soient effectus par des horloges synchronises (comme c'est le cas dans les rseaux RNIS). Dans le cas d'une transmission avec RTP/UDP/IP, l'application qui reoit le flux MIC va utiliser un buffer pour amortir la gigue. Quelle sera alors l'influence de la drive des horloges sur le buffer ? Question 6 Est-on oblig de maintenir une latence constante durant toute la dure de la communication, pour chaque chantillon ? Le codage de la voix ncessite-t-il donc une transmission compltement synchrone ? Comment dans ce cas grer le simplement le problme de drive d'horloge ?
Des techniques de dtection de silences sont parfois introduites directement dans le format de codage du mdia, mais ce n'est pas le cas du MIC (cod en G.711). Ainsi, RTP propose d'introduire un type de payload appel Comfort Noise (RFC 3389) pour introduire un Silence Insertion Descriptor . Les protocoles comme SIP (pour la signalisation dans la tlphonie sur IP, RFC 3261, Juin 2002) ou SAP (RFC 2974, Octobre 2000) pour annoncer des sessions Multimdia (confrence, diffusion, etc) sont des protocoles servant initialiser une communication avec des flux multimdia. Ces protocoles utilisent SDP (Session Description Protocol, RFC 2327) pour prsenter les informations ncessaires l'tablissement de session RTP. Dans un paquet SDP, la description d'une session se fait au format texte et la description est la forme <type>=<value>. Voici un extrait de description de session : m=audio 49170 RTP/AVP 0 13 m=video 51372 RTP/AVP 31 m=application 32416 udp whiteboard Pour les valeurs audio et vido : m=<audio ou vido> <port utilis> <protocole de transport> <type de payload1> <type de payload 2> ... <type de payload n>

99

Pour application , remplacer <type de payload> par le nom de l'application.

Question 7 Le payload numro 0 correspond au codage G.711 (MIC) et le 13 au Comfort Noise et le 31 au codage vido h.261. Quel sera alors le nombre de session RTP ouverte ? Question 8 Donner des exemples d'applications dans lesquelles le Comfort Noise n'est pas applicable. Question 9 Comment un utilisateur du protocole RTP peut-il utiliser les informations dont il dispose pour dlivrer correctement (de manire synchrone) les units dinformations transportes ? Question 10 On s'intresse maintenant au traitement des erreurs de transmission dans le protocole RTP. On considre tout d'abord la pile des protocoles utiliss. Quels sont les mcanismes de traitement des erreurs mis en uvre dans les diffrents protocoles Internet (aux niveaux physique, liaison, rseau et transport avec UDP) ? Question 11 Avec lensemble des informations qui ont t donnes dans ce texte sur RTP (format de lentte RTP, utilisation par RTP de UDP et des protocoles Internet) comment le destinataire dun message peut-il dtecter une erreur de transmission sur un message ? Question 12 Compte tenu des objectifs de transmission synchrone, quel mcanisme de traitement des erreurs de transmission (codes dtecteurs derreur avec retransmission, codes correcteurs derreurs) doit tre privilgi par un utilisateur dun protocole de transport pour des donnes multimdia en flux continu comme RTP?
Lune des solutions propose pour traiter les erreurs dans des flux continus consiste rajouter en mission le mcanisme suivant. Aprs avoir mis n messages (chaque message contient k chantillons de son ou dimage), un utilisateur RTP met un message n+1 dont la valeur est le ou exclusif des n messages prcdents (la parit longitudinale de k chantillons).

Question 13 Comment utiliser cette parit dans le cadre du traitement des erreurs (examinez les possibilits offertes en dtection comme en correction en prenant en compte les solutions des questions 5 et 6) ?

100