Vous êtes sur la page 1sur 29

Année 07-08

Licence 3
Informatique

Département de
Mathématiques
Informatiques
Module

Réseaux Informatiques

par

Fanilo Harivelo
&
Raouf Boutaba

Université de la Réunion
Faculté de
Sciences et Technologies
BP 7151
15 Avenue René Cassin
97715 St Denis Messag 9 E-MAIL : <Prénom.Nom>@univ-reunion.fr
Université de la Réunion L3 Informatique
Module Réseaux informatiques

I.- Architecture des réseaux


TD
exercice 1

Chacune des couches (N) du modèle de référence fournit un service aux (N+1) entités de la couche
immédiatement supérieure. Ce service est réalisé par deux (N) entités paires de la couche (N)
coopérant par l'intermédiaire d'un protocole de niveau (N).
1/ Que faut-il définir en premier, le protocole (N) ou le service (N) ?
2/ Deux protocoles différents peuvent-ils rendre le même service ?
3/ Un protocole en mode connecté peut-il être utilisé pour rendre un service en mode connecté ?
Si non, pourquoi ? Si oui, comment ?

exercice 2

Il y a quelques temps déjà, la transmission de données utilisait des signaux de fumée pour véhiculer
l'information entre deux points. Bien que le modèle de référence ISO soit relativement récent par
rapport à ces périodes reculées, quelles sont d'après vous les couches ISO représentées dans ce type
de réseau? Justifiez votre réponse.

exercice 3

Un inventeur décide de construire un réseau informatique pour le transfert de fichiers à partir de


pigeons voyageurs et de clefs USB. Déterminez une architecture pour un tel réseau et définissez le
rôle de chaque couche. (RFC 1149 et 2549)

exercice 4

Dans le modèle OSI, est-ce les TPDU qui encapsulent les paquets ou le contraire ? Expliquer.

exercice 5

Soit une architecture de réseau en 4 couches similaire à celle de TCP/IP. Une application (niveau 4) à
base de données discrètes appelle une primitive de transfert de données (de niveau 3) et passe un bloc
de 512 octets. Chaque couche (1, 2 et 3) ajoute un bloc de contrôle (ou PCI) de 20 octets pour réaliser
le service.
1/ Indiquer le rôle de chaque couche?
2/ Indiquer les types d'informations que doit contenir le PCI de chaque couche pour réaliser le
service ?
3/ Combien d'octets sont émis sur le support par la source ?
4/ La longueur de la trame maximum est en vérité de 276 octets. Combien d'octets seront émis
sur le support par la source ? (conseil: faites un dessin)
a) Si la segmentation s'effectue au niveau 3.
b) Si la segmentation s'effectue au niveau 2

exercice 6

Quelles sont les couches OSI chargées des opérations suivantes :


- découpage du flot de bits transmis en trames,
- transmission des paquets,
- détermination du chemin à travers le réseau,
- correction des erreurs d'acheminement
- fourniture de la synchronisation du dialogue.

exercice 7
Support TD/TP -2-
Université de la Réunion L3 Informatique
Module Réseaux informatiques
Des mécanismes de contrôle d'erreur sont utilisés à la fois au niveau liaison et au niveau transport du
modèle de référence OSI. Sont-ils tous deux nécessaires ou sont-ils redondants ?

exercice 8

Dans l'article [1], les auteurs développent les arguments en faveur du principe de conception dit de
bout en bout. Réponder aux question suivantes:
1/ De quel problème traite l'article ? à quoi s'applique la proposition ?
2/ Pourquoi le principe du bout en bout s'applique particulièrement bien pour le transfert
fiable ?
3/ Quel doit être l'objectif de fiabilité d'un système de transmission ?
4/ Quels sont les principaux arguments de l'applicabilité du principe du bout en bout ? En quoi
sont il pertinents ?

[1] Saltzer, J.H.; Reed, D.P. et Clark, D.D. (1984). ACM Transactions on Computer Systems,
Vol. 2, No. 4, pp. 277-288, November.
End-to-end Arguments in system design.

Support TD/TP -3-


Université de la Réunion L3 Informatique
Module Réseaux informatiques

II.- Transmission
TD

Circuit de données

exercice 1

Le bruit est généralement caractérisé par un ratio, appelé rapport signal/bruit, qui mesure la proportion
de l’amplitude du signal par rapport à celle du bruit. Plus le rapport signal/bruit est grand, meilleure
est la transmission. Le rapport signal/bruit se calcule en faisant le quotient entre la puissance du signal
(S) et la puissance du bruit (N) : PS/PN. Habituellement il est exprimé en décibels (dB) :
(S/N)dB = 10 log10(PS/PN)
1/ A quel nombre exprimé en dB correspondent les rapports PS/PN : 500, 2000, 100000 ?
2/ A quoi correspondent en grandeur réelle les rapports : 3dB, 10dB, 40dB, 37dB, ?

exercice 2

Les lois de Nyquist et Shannon peuvent être vues comme deux limites théoriques différentes
(« logique » pour Nyquist et « physique » pour Shannon) sur le débit maximum d’une ligne de
transmission. La plus restrictive de ces deux valeurs fournit la capacité (théorique) de la ligne.
1/ Le réseau téléphonique offre une bande passante de 3 Khz. Quel est le débit maximum pour
un signal numérique à 2 niveaux (2 symboles)? On suppose que le canal est sans bruit.
2/ Si un signal est envoyé sur un canal de bande passante 3 kHz, dont le rapport signal/bruit est
de 3 dB, quel peut être le débit maximum de ce canal ? Même question lorsque le rapport
signal/bruit est de 33 dB

exercice 3

Soit 2 supports:
- le support A possède une bande passante de 5 Khz et un rapport signal sur bruit de 20 dB
- le support B possède une bande passante de 4Khz et un rapport signal sur bruit de 30 dB.
Démontrez lequel de ces deux supports offrira la meilleure performance binaire ?

exercice 4

1/ Quel est le débit binaire D d'une voie de transmission émettant un signal binaire à chaque
signal d'horloge de période T ?
2/ Si ∆ représente l'intervalle significatif d'un signal, quelle est la rapidité de modulation R ?
3/ Un signal a une valence q. Quel est le débit binaire D ? Exprimer cette grandeur en fonction
de ∆ et q.
4/ Dans quel cas le débit binaire et la rapidité de modulation ont des valeurs identiques ?
5/ Sachant que la bande passante d'un support permet au maximum la transmission d'un signal
à une rapidité de modulation de 6200 bauds, calculer le débit maximal si la modulation
comporte 8 états.
6/ Que peut on faire pour augmenter le débit binaire? quels sont les facteurs qui limitent le débit
binaire ?

exercice 5

Représenter la suite binaire 10110001 avec l'alphabet suivant :


S1 00 S3 10
S2 01 S4 11
Quelle est la valence du signal ainsi codé ? Quelle est la relation entre T (durée d'un symbole binaire)
et ∆ (durée d'un symbole Si) ? Exprimer D en fonction de R.

Support TD/TP -4-


Université de la Réunion L3 Informatique
Module Réseaux informatiques
exercice 6

Votre modem V.34 bis fonctionne à une rapidité de modulation de 2400 bauds. Le débit du circuit de
données est de 33,6 Kbits/s. Quelle est la valence du signal numérique produit ? Le codage de la suite
binaire s'effectue en combien de symboles.

exercice 7

La figure ci-dessous représente un signal numérique en code Manchester. Déterminer sur le schéma la
période binaire en indiquant le début et la fin de la durée de chaque bit et déterminer la séquence
binaire.

Liaison de données

exercice 1

Dix canaux à 9600 bits/s sont multiplexés en utilisant TDM. En négligeant les bits de surcharge dans
la trame TDM, déterminer la capacité nécessaire pour un multiplexage temporel synchrone. En
souhaitant limiter le taux d'allocation du lien à 80%, et en supposant que chaque canal n’est utilisé que
50% du temps, Déterminez le taux d'utilisation du lien?

exercice 2

Une source produit des données par bloc de 8 bits. Exprimer le débit maximum de cette source (débit
des blocs de données) en fonction de la capacité de transmission du lien noté B bits/s dans les cas
suivants:
1/ Une transmssion asynchrone dont le bit stop à une valeur de 1,5 unité.
2/ Une transmission synchrone avec une trame constituée de 48 bits de contrôle et 128 bits pour
le champ de données. La synchronisation nécessite 16 bits par trame.
3/ Même question que 2) mais le champ de données vaut 1024 octets.
4/ Quel est le mode de transmission le plus efficace ? Pourquoi ?

exercice 3

Un système client serveur utilise une liaison satellite dont le satellite est à une altitude de 36 000 Km.
Quel est le délai minimum pour une réponse à une requête ? La vitesse de propagation du signal dans
l'air est de 3µs/km. On négligera les temps de transmission.

Sur un support filaire, la vitesse est de 5µs/km. Quelle serait la distance terrestre maximale qui
séparerait le client du serveur ?

exercice 4

Déterminer la "largeur" d'un bit sur le support lorsque la vitesse de propagation est de 200 000km/s
pour les capacités de transmission suivantes:
- 33,6 kbits/s
- 10 Mbits/s
- 1 Gbits/s

exercice 5

Si le téléphone utilisait des ondes acoustiques. Quel serait le temps de propagation entre 2 villes
distantes de l000 Km ? La vitesse de propagation d'une onde acoustique est de 300m/s.
Support TD/TP -5-
Université de la Réunion L3 Informatique
Module Réseaux informatiques
exercice 6

Lors de la transmission des données, un signal peut subir diverses déformations et être altéré par du
bruit. A la réception, lors du décodage, une erreur d'interprétation peut alors se produire : l'état du
signal représentant le bit 1 est interprété comme s’il s’agissait d’un bit 0 et vice versa. En fonction du
débit de transmission des données (et de la manière de coder les données), un bruit impulsif peut alors
affecter plusieurs bits. En fait, plus le débit est élevé, plus le risque que le bruit affecte plusieurs bits
est grand.
Le taux d'erreurs de transmission est défini comme le nombre moyen de bits transmis en erreur
divisé par le nombre total de bits transmis. Il est de l'ordre de 10–5 sur une ligne téléphonique, de 10–7
à 10–8 sur un coaxial et de 10–10 à 10–12 sur une fibre optique. Il ne s'agit pas toujours d'assurer la
correction globale d'un échange, mais de détecter et éventuellement de corriger les erreurs de
transmissions dans un bloc de bits acheminé par le support physique.

Dans une liaison téléphonique à 40 Kbit/s, quel est le nombre moyen de bits en erreur par minute ?

exercice 7

Soit un canal de transmission avec un taux d'erreur bit (BER) p, des messages de longueur N bits sont
émis. Quelle est la probabilité que le message soit reçu incorrectement ? On suppose que les erreurs
bit sont indépendantes.

A.N. : p = 10-7, N = 105

exercice 8

Soit p la probabilité de perte de la trame, quel est le nombre moyen N de transmission nécessaire pour
envoyer une trame

N= ∑ n Proba(exactement n transmissions par trame)
n=1

exercice 9

Un message est composé par la séquence binaire ci-dessous :


1001 1111

1/ Calculez la division polynomiale de la séquence binaire par le polynôme x4 + 1


2/ Le circuit permettant de calculer le CRC est composé comme suit :
- un registre à décalage (la division est représentée par un décalage à droite)
- un (ou plusieurs) OU exclusif(s), chacun matérialisant les puissances non nulles du
polynôme générateur.

DataIn
1 2 3 4
DataOut

Les données sont entrées par DataIn, bit de poids fort en tête ; elles sont sorties par DataOut.
Le bit de données sortant (issu de DataOut) est combiné avec le bit entré avant d'entrer dans
le registre à décalage. Au début du calcul, le registre est initialisé à 0. Une fois que tous les
bits sont émis, le contenu du registre représente la valeur du code de contrôle (le CRC
calculé), à ajouter au bloc de données. Dans le tableau suivant, nous représentons :
- le rang (#) du bit correspond au nombre de bits émis,
- la valeur du bit entré dans le circuit (colonne Data In),
- la valeur résultante du registre à décalage.
Support TD/TP -6-
Université de la Réunion L3 Informatique
Module Réseaux informatiques
# bit DataIn 1 2 3 4
Initialisation 0 0 0 0
Effectuez pas à pas le calcul du CRC par la circuiterie électronique en complétant le tableau
ci-dessus. On suppose que la transmission est sans erreur, effectuez les opérations du
récepteur.

exercice 10

Le message transmis T(x) est constitué par la suite de données M(x) et du reste R(x) de la division
polynomiale subit des erreurs. L'introduction des erreurs correspond à l'addition d'un polynome
générateur E(x). Le récepteur voit T(x)+E(x). Si E(x) est divisible entièrement par G(x), le récepteur
peut ne pas détecter l'introduction de cette erreur. Il faut donc choisir un polynome générateur dont le
motif d'erreurs soit le plus improbable possible. L'improbabilité d'un motif augmente avec le dégré k
du polynome générateur G(x) utilisé. Supposons que le message M(x)= 1001 et le polynome
générateur G(x)= 101 soit (x2+1)
1/ Donnez le message transmis T(x)
2/ Soit l'erreur E(x) =101 qui s'ajoute à partir du 2ième bit du message. Quel message voit
arriver le récepteur ? Le récepteur détecte t il le message reçu comme correct ? Pour cela
faites la division polynomiale du message reçu.

exercice 11

Soit le cadrage trame assuré par un fanion (flag) qui est un motif particulier. Les trames commencent
et finissent par un fanion. Un même fanion peut servir de fanion de fermeture pour une trame et de
fanion d'ouverture pour la trame suivante. Afin d'éviter que les données émises reproduisent le motif
du fanion, un mécanisme de transparence au fanion par bits de bourrage est mis en oeuvre. En
émission, un 0 est inséré dès que cinq 1 consécutifs apparaissent en dehors des fanions. Ces 0 sont
enlevés en réception. Ceci fonctionne avec un motif de fanion comportant 6 bits à 1 comme par
exemple: 01111110.
1/ On transmet la suite de bits de données : 0111 1110 0110 1110 1111 10 ». Quelle est la
suite de bits réellement transmise sur le support de transmission ?
2/ On transmet la suite des bits de données :
0110 1101 0011 1011 0111 1100.
Par suite d'une erreur de transmission, le récepteur reçoit la séquence binaire suivante : (le bit
en gras est le bit erroné).
0110 1101 0011 1111 0111 1100
Comment le récepteur interprète-t-il cette séquence de données ?
3/ A quel niveau peut-on détecter cette erreur ? Indiquez le type de reprise sur erreur qui sera
entreprise.

exercice 12

On considère une liaison point à point avec un débit de 4 kbit/s et un délai de propagation de bout-en-
bout de 20 ms. La procédure de contrôle de la liaison de données utilise un protocole de type Stop-
and-Wait .
1/ Dessiner le schéma temporel du fonctionnement du protocole Stop-and-Wait en faisant
apparaitre le temps de transmission (tt) et le temps de propagation (tp).
2/ Donner l'expression du taux d'occupation du canal U(l, tp, D). On négligera les temps de
traitement et le temps de transmission de la trame d'acquittement.
3/ Pour quelles longueurs de trame le protocole utilisé fournit-il une efficacité (taux
d'occupation du canal) au moins supérieure à 50 % ? On négligera les temps de traitement et
le temps de transmission de la trame d'acquittement.

Support TD/TP -7-


Université de la Réunion L3 Informatique
Module Réseaux informatiques

III.- Commutation
TD
exercice 1

On considère deux hôtes connectés par un réseau à commutation par paquets. Le chemin entre les
deux hôtes traversent 10 nœuds de commutation. Un paquet est propagé d'un nœud au suivant quand
il a été complètement reçu par le nœud précédent. Dans chaque nœud, les paquets sont stockés dans
une file d'attente avant leur transmission sur le canal de sortie. Les paquets ont une longueur de 1000
bits et le débit du canal est de 56 kbit/s. Le temps de propagation moyen sur une liaison est de 1,5 ms.
On suppose qu'un paquet attend en moyenne un temps équivalent à l'émission de 5 paquets quand il
arrive dans une file d'attente et que les temps de commutation sont négligeables. Quel est le temps de
transfert d'un paquet entre les deux hôtes ?

Quel est maintenant le temps de transfert si le paquet est propagé en tant que données exprès (les
données exprès sont des données prioritaires émises avant les données normales) ?

exercice 2

On considère les paramètres suivants pour un réseau à commutation :


- N : nombre de liaisons séparant deux stations données,
- D : débit des liaisons (en bit/s),
- tp : le temps de propagation sur une liaison (en secondes),
- L : longueur de l'information que souhaite envoyer l'usager (en bits),
- l : longueur maximum du champ de données d'un paquet ou d'un datagramme (en bits),
- EM : longueur de l'en-tête d'un message (en bits),
- EP : longueur de l'en-tête d'un paquet (en bits),
- ED : longueur de l'en-tête d'un datagramme (en bits),
- te : délai d'établissement d'un circuit ou d'un circuit virtuel (en secondes),
- tr : délai de décision du routage (en secondes).
On néglige le temps de traitement (hors routage) des nœuds ainsi que les temps d'attente. On
supposera l <L.

Calculer le délai moyen de transfert d'un message de l'usager (délai aller-simple), pour :
1/ un réseau à commutation de circuits,
2/ un réseau à commutation de messages,
3/ un réseau à commutation de paquets en mode circuit virtuel,
4/ un réseau à commutation de paquets en mode datagramme (on ne tiendra pas compte du délai
éventuel de reséquencement).
A.N. : N = 4, D = 9600, tp = 0,001, L = 3200, l = 1024, EM = 160, EP = 24, ED = 160,
te = 0,2, tr = 0,01

exercice 3

Soit un transfert de fichier de taille F bits entre un hôte A et un hôte B connecté entre eux par un
routeur. L'hôte A segmente le fichier en message de taille M bits et ajoute h bits pour l'en-tête. Chaque
message forme un paquet de taille L = h+M. Chaque lien traversé a une bande passante de R bits/s.
On suppose qu'il n'y a pas de contention sur l'interface de sortie du routeur (pas de délai d'attente). On
négligera les temps de propagations. On supposera également que F est multiple de M.
1/ Donner l'expression du temps de transfert T du fichier entre A et B.
2/ Quelle est la valeur de M qui minimise le délai ? Pour T= F(M), on cherche la valeur de M
pour laquelle la dérivée de F(M) vaut 0.

exercice 4

1/ Quelle est la propriété intrinsèque d'un circuit virtuel ?

Support TD/TP -8-


Université de la Réunion L3 Informatique
Module Réseaux informatiques
2/ Quelles sont la signification et la portée de l'étiquette pour le mode d'acheminement par voie
logique ?
3/ Quelles sont les principales caractéristiques du mode d'acheminement :
- par voie logique,
- par datagramme.
Qu'induisent-elles comme avantages et inconvénients ?
4/ Quels avantages voyez-vous à utiliser un mode d'acheminement par datagramme pour rendre
un service en mode connecté ?

exercice 5

Un réseau maillé composé de 6 nœuds et 6 hôtes a la topologie selon la figure 1.


1/ Donnez les circuits virtuels établis et leur route dans le réseau.

Noeud B Noeud C
entrée sortie entrée sortie
A 0 E 0 B 0 D 0
A 1 C 0 H3 0 B 0
C 0 E 1 F 0 D 1
Noeud A Noeud D
H2 0 E 2 H3 1 D 2
entrée sortie entrée sortie
H3 2 F 0
H1 0 B 0 E 0 H4 0
H1 1 B 1 C 0 H4 1
F 0 H1 0 H4 0 E 0
C 1 H4 2
C 2 H4 3
NVL

NVL
Hôte ou nœud

Hôte ou nœud

Noeud F Noeud E
précédent

entrée sortie entrée sortie


suivant

E 0 H6 0 B 0 D 0
H6 0 C 0 D O F 0
C 0 A 0 B 1 H5 0
B 2 H5 1
Figure 1: Topologie et tables de translation
2/ Deux nouvelles demandes d'établissement de circuits virtuels sont émises, les deux CV
établis sont :
- H5, E, B, H2
- H6, F, E, D, C, B, H2
En considérant que les NVL sont attribués dans l'ordre croissant, donner la table de
translation complète des nœuds E et B.
3/ Dans le cas étudié, les circuits virtuels établis sont simplex. Quelle serait la procédure pour
établir des circuits virtuels duplex avec un seul et unique paquet d'appel ?

exercice 6

L'acheminement des paquets dans un réseau commuté s'effectue selon deux techniques: datagramme et
voie logique.
1/ Qu'identifie l'adresse contenue dans l'en-tête d'un paquet selon le mode d'acheminement
utilisé par le réseau ?
2/ Comment fonctionnent les relais quand ils sont des :
- routeurs,
- commutateurs.
3/ Completer le schéma ci-dessous avec les informations utilisées pour l'acheminement quand
les relais sont des :
- routeurs,
- commutateurs.

Support TD/TP -9-


Université de la Réunion L3 Informatique
Module Réseaux informatiques
@IPa
A
@IPc
S1 S2
C
@IPb

B
4/ Quelle est la propriété de chaque mode d'acheminement ?

exercice 7

1/ Comment apparaît la congestion dans un noeud de commutation ? Dans quel composant du


noeud se produit elle ?
2/ Est ce qu'un hôte connecté à un réseau à commutation par paquets peut fonctionner en état de
congestion ? Justifiez.

Support TD/TP - 10 -
Université de la Réunion L3 Informatique
Module Réseaux informatiques

IV.- Adressage et acheminement


TD
exercice 1

Quels sont les champs de l'en-tête IP qui sont modifiés lors de la traversée d'un routeur ?

exercice 2

1/ Quelles sont les propriétés que les adresses doivent avoir dans un réseau de communication ?
2/ Quel est l'avantage d'une séparation de l'adressage en 2 parties localisatrice et identificatrice
telle que celle mise en place dans l'adressage Internet ?
3/ Pourquoi l'adresse IP ne peut pas être affectée à un périphérique réseau par son fabricant
comme c'est le cas de l'adresse MAC pour une carte Ethernet ?
4/ Combien d'adresses IP et MAC possède au minimum un routeur d'un réseau d'entreprise?
5/ Quels sont les deux principaux intérets pour l'Internet d'utiliser un adressage hiérarchique ?

exercice 3

1/ Quelle est la représentation en notation pointée de l'adresse IP 2B28F380 lu directement dans


le champ "destination address" d'un paquet IP ?
2/ Une adresse IP ayant un préfixe de 24 bits permet d'identifier combien d'interfaces ?
3/ Un préfixe de 24 bits de l'adressage IP permet d'identifier combien d'interfaces ?
4/ A quoi sert le masque de réseau? Donner le masque d'un préfixe de 16 bits de long?

exercice 4
1/ Pour les adresse IP suivantes précisez le masque réseau (netmask), le préfixe réseau (netid) et
l'identificateur d'interface (hostid):
adresse netmask netid hostid
192.33.182.182/24
81.217.9.35/20
167.144.16.203/20
192.19.67.59/22
71.137.88.9/13
203.19.40.199/26
2/ Pour chacun des réseaux suivants, indiquez l'adresse de la première machine, celle de la
dernière et celle de diffusion (broadcast):
préfixe réseau première machine dernière machine broadcast
192.33.182.0/24
10.0.0.0/16
81.188.160.128/26
81.188.160.0/19
81.188.0.0/14

exercice 5

Le réseau IP de préfixe 132.227.0.0/16 est découpé selon un masque de sous-réseau 255.255.255.0.


Le sous-réseau de la figure 1 est connecté à l'ensemble du site 132.227.0.0/16 par le routeur R2. Il est
lui-même composé de 3 segments interconnectés par des routeurs. Chaque segment compte au
maximum 3 hôtes raccordés.

Support TD/TP - 11 -
Université de la Réunion L3 Informatique
Module Réseaux informatiques
Identification locale

Hôte A
20 R1
réseau 132.227 1 2
1
R2

Hôte C
21 R3
7 8
7
Hôte B
Figure 1: Exemple de sous-réseaux
1/ Discuter des différentes solutions possibles pour attribuer une adresse aux routeurs et aux
hôtes.
2/ Le préfixe 132.227.72.0/24 dont la topologie est présentée dans la figure 1 est subnetté. Quel
est son masque sachant qu'il permet un adressage de 8 sous-réseaux ou autrement dit quelle
doit être la longueur des préfixes des sous-réseaux sous le préfixe 132.227.72.0/24 ?
3/ Les identifications locales et les adresses de sous-réseaux sont attribuées comme décrit dans
la figure 1 et le tableau ci-dessous:
A droite du routeur Adresse de sous-réseau
R2 0
R1 1
R3 3
Quelles sont les préfixes des sous-réseaux?
Pour chaque interface de machine du réseau 132.227.72.0/24, donner sous forme d'un
tableau l'adresse IP et l'adresse de diffusion IP de chaque sous-réseau.

exercice 6

Soit la table de routage suivante.


bash> netstat -rn
Destination Gateway Flags Ref Use Interface
-------------------- -------------------- ----- ----- ------ ---------
127.0.0.1 127.0.0.1 UH 11 7224440 lo0
default 132.227.60.3 UG 8 742298 le0
132.227.60.0 132.227.60.32 U 38 6849769 le0
132.227.61.0 132.227.61.135 U 31 261408829 le1
132.227.200.0 132.227.60.3 UG 0 259 le0
132.227.202.0 132.227.60.3 UG 0 2459 le0
132.227.72.0 132.227.61.22 UG 1 25980175 le1
132.227.72.120 132.227.61.22 UHG 1 251234 le1
Flags:
• U route active (Up)
• G route indirecte vers un routeur (Gateway). Si G est absent, alors la destination est
directement accessible
• H route vers une machine (Host).Si H est absent, alors la destination est une adresse de
réseau (netID, subnetID)
• D route créée par un message ICMP redirect
• M route modifiée par un message ICMP redirect
1/ Que déduisez vous de la topologie du réseau après examen de cette table ? Faites un schéma.
2/ Y a-t-il des entrées superflues ? Si oui, indiquer lesquelles.

exercice 7

Un hôte A envoie à l'hôte B un datagramme IP de 129 octets au total. L'en-tête IP ne contient aucune
option. La route ne comporte qu'un seul routeur. Le deuxième sous-réseau traversé impose une
longueur utile maximum de trame de 128 octets. Combien d'octets (en tenant compte des différents en-
têtes) sont-ils délivrés au module IP de la machine destinataire ? Chacun des sous-réseaux utilise un
protocole d'accès avec un en-tête de trame de 18 octets.
Support TD/TP - 12 -
Université de la Réunion L3 Informatique
Module Réseaux informatiques

V.- Configuration d'une machine


TP

Support TD/TP - 13 -
Université de la Réunion L3 Informatique
Module Réseaux informatiques

VI.- Analyse de datagrammes


TP
Cette séance de TP consiste à étudier le fonctionnement des protocoles ICMP, ARP par l'analyse des
trames qui transitent sur le support. La découverte de ces protocoles s'effectue avec l'analyseur
Ethereal/Wireshark.

Cet outil capture les trames ou paquets puis en fait des analyses. Des filtres de capture ou d'affichage
sont fournis pour diminuer les informations à traiter. Selon le protocole, les filtres portes sur l'adresse
source/destination ou le numéro de port. La syntaxe des filtres est différente pour la capture et
l'affichage. La syntaxe de capture est la même que celle utilisé par l'application tcpdump (décrite dans
le manuel en ligne+ )

Préliminaires

- Vérifier que votre machine est connectée au réseau et dispose d'une adresse IP. Pour cela,
tapez dans un terminal en tant que root (ou en sudo) : ifconfig. Notez votre configuration
réseau (adresse physique, adresse IP, masque de sous-réseau, préfixe, adresse de diffusion)
- Affichez votre table de routage avec la commande : route. Quelle est l'adresse du routeur par
défaut ?
- Testez maintenant la connectivité du réseau en faisant un ping sur le routeur par défaut.
Qu'est-ce que vous obtenez ?
- Quelle est l'adresse physique du routeur par défaut ? Ceci peut s'obtenir en lançant la capture
des messages ICMP avec le routeur par défaut.

Exercice 1

Comment un datagramme IP est véhiculé sur le réseau Ethernet ? Quelles sont les informations de
l'en-tête d'un paquet IP ? Ce premier exercice vise à découvrir le fonctionnement du protocole IP.
- lancez une capture en limitant la capture aux seuls paquets qui concernent votre machine.
- lancez l'exécution de votre navigateur web pour charger la page https://argos.lip6.fr.
- Représentez la structure du datagramme IP du premier paquet IP que vous recevez ? Pour
cela vous représenterez par un schéma les champs constitutifs du datagramme en respectant
un alignement sur 32 bits.
- Quelle est la taille de l'en-tête du datagramme IP ?
- Combien y a t il de sauts entre le serveur et le client ?
- Quelle est l'ordre de grandeur du RTT ?
- Le système de transmission utilisé par votre machine suit il le format Ethernet ou IEEE
802.3 ? Justifiez votre réponse.
- Quel est le protocole au dessus de IP dans cet échange ?
- Expliquez pourquoi la taille des datagrammes change dans le temps et selon le sens ?
- Quelles sont les adresses physiques de la trame et les adresses IP de ces échanges
datagramme ? La communication est indirecte entre le client et le serveur expliquez Où et
sous quelle forme apparaît l'adresse du routeur par défaut dans cet échange ?
- Les datagrammes ont ils été fragmentés ?

Exercice 2

Les machines utilisent les adresses MAC pour communiquer au niveau physique. ARP (Address
Resolution Protocol) se charge de la résolution de l'adresse IP en adresse MAC. Une machine
maintient une table ou cache ARP contenant une correspondance entre ces deux adresses. La
commande arp permet de manipuler le cache.
- Lancez la capture de trames de Wireshark avec un filtre pour le protocole ARP

+ Commande Unix "man" pour connaître les options d'une commande ou la documentation sur un sujet : man
<commande/sujet>
Support TD/TP - 14 -
Université de la Réunion L3 Informatique
Module Réseaux informatiques
- Affichez le cache ARP
- Videz le cache ARP de la machine. Pour cela, il faut désactiver puis réactiver l'interface réseau
(voir la commande ifconfig)
- Faites un ping sur le routeur
- Arrêtez la capture
- Affichez le cache ARP. Quelle est l'adresse MAC du routeur ?
- Décrivez la structure des trames ARP capturées pour cet échange à l'aide d'un schéma dont
les champs seront alignés sur 32 bits.
- Supprimez l'entrée correspondante avec la commande arp
- Remettre manuellement l'entrée supprimée.
- Lancez une capture et faire un ping sur le routeur par défaut. Qu'est-ce qui a changé par
rapport au fonctionnement précédent ?
- A partir de l'analyse effectuée, décrivez à l'aide d'un graphique le fonctionnement d'ARP

Exercice 3

ICMP (Internet Control Message Protocol) véhicule des messages de contrôle. Il vérifie entre
l'accessibilité d'une machine. Une machine recevant une requête ICMP renvoie une réponse ICMP. La
commande ping utilise ces messages ICMP.
- Lancez la capture de trame de Wireshark en mode promiscuous sans filtre
- Envoyez un paquet ICMP de taille 256 octets au routeur par défaut (interruption de la
commande par la commande Ctrl+C ou en indiquant en option le nombre de requêtes)
- Arrêtez la capture
- Restreindre l'analyse aux paquets ICMP
- Analysez les paquets capturés (champs de l'en-tête ICMP)
- faites les mêmes manipulations mais avec un filtrage sur le protocole ICMP, ensuite, sur
l'adresse du routeur, pendant la capture
- Changez la taille du paquet ICMP à 512 octets. Qu'est-ce que ça implique au niveau de la
réponse ICMP ?
- Envoyez 10 paquets ICMP
- Décrivez le fonctionnement d'ICMP.

Support TD/TP - 15 -
Université de la Réunion L3 Informatique
Module Réseaux informatiques

VII.- Routage
TD
exercice 1

Soit le réseau composé des nœuds A, B, C, D et des liaisons Vab, Vac, Vbc, Vbd, Vcd. La métrique
retenue pour le routage est le délai d'acheminement. Les nœuds exécutent l'algorithme de routage à
base de vecteurs. Par souci de simplicité, on supposera que les voies sont symétriques.
3
A C

2 2 3

B D
3
Figure: Réseau à 4 routeurs
1/ Donner les vecteurs de chaque noeud sous forme de tableau pour les étapes suivantes :
Etape 1 chaque noeud connaît seulement le délai pour atteindre ses voisins
Etape 2 chaque noeud reporte à ses voisins les informations qu'il a appris de l'étape
précédente.
Etape 3 L'étape 2 se répète une nouvelle fois.

Vecteur Délai pour atteindre le noeud


de A B C D
A
B
C
D
Tableau des vecteurs
2/ Déduire la table de routage de chaque nœud une fois que l'algorithme de routage a convergé.
3/ La liaison Vcd est rompue à T0. Quelles sont les modifications à apporter aux tables de
routage et aux vecteurs de délai ? Montrer comment la table des délais et la table de routage
de chaque nœud sont mises à jour lorsque la séquence des échanges des vecteurs de délai est
la suivante :
T1 D reçoit VB
T2 B reçoit VA, VC, VD
T3 C reçoit VA, VB

exercice 2

1/ Le protocole RIP est assez souvent utilisé dans les réseaux privés. Quels sont les avantages et
les inconvénients que vous lui voyez ?
2/ Qu'est ce qu'un vecteur distance ? Quelles sont les informations constitutives d'un vecteur
distance comme par exemple celui utilisé par RIP ?

exercice 3

1/ Sur le réseau suivant, montrer comment la table de routage de A est obtenue à l'aide de
l'algorithme SPF de Dijkstra.

A 5 E 4 C

2 2
2 1
10 3

B 3 D 1 F

Support TD/TP - 16 -
Université de la Réunion L3 Informatique
Module Réseaux informatiques
2/ La mise en oeuvre de cet algorithme dans un réseau consiste à faire maintenir à chaque nœud
une copie complète de la "carte du réseau". Le routage est ensuite très simple, en utilisant
cette carte, chaque nœud exécute localement le calcul des meilleures routes entre lui-même et
tout autre nœud du réseau. La carte est contenue dans une base de données, où chaque
enregistrement représente une liaison du réseau. Chaque enregistrement a été inséré dans la
base par le nœud qui en est responsable.
de à liaison distance
A B Vab 10
A E Vae 5
B C Vbc 2
B D Vbd 3
C D Vcd 2
C F Vcf 1
D C Vdc 3
D F Vdf 1
E B Veb 2
E C Vec 4
F D Vfd 1
Quels sont alors les problèmes liés à une mise en œuvre dans un réseau de l'algorithme SPF
selon le principe exposé précédemment ?

exercice 4

1/ Rappeler les éléments de conception de OSPF.


2/ Chaque routeur construit son message LSP (Link State Packets). Après diffusion de ce
message, tous les routeurs ont la table suivante (les chiffres représentent les coûts des
liaisons). Retrouvez la topologie du réseau étudié.
Tableau des annonces des routeurs
A B C D E F G H
B 2 A 2 B 7 C 3 B 2 C 3 A 6 D 2
G 6 E 2 D 3 H 2 F 2 E 2 E 1 F 2
C 7 F 3 G 1 H 2 H 4 G 4
3/ A l’aide de cette table, les routeurs peuvent calculer la route vers tous les autres nœuds du
réseau en utilisant l’algorithme du plus court chemin (Shortest Path First). Cet algorithme se
base sur l’algorithme de Dijkstra. Déterminer le plus court chemin entre le nœud A et D.

exercice 5

Soit le réseau dont la topologie est représentée par la figure 1. Un protocole de routage par état des
liaisons est utilisé. Chaque liaison est décrit afin de constituer une carte. La description d'une liaison se
fait par le couple: (identificateur de liaison, coût). L'identificateur de liaison est l'adresse du routeur
opposé pour une lien point à point, l'adresse du réseau pour un réseau terminal, l'adresse du routeur
désigné pour un réseau de transit. Dans ce dernier cas, l'identificateur de liaison est complétée par la
liste d'adresse des routeurs du réseau (découverte avec la procédure de découverte du voisinage).

2
A B n3
2 1
1
1 3
C D
n2 2

E F n1
1
Figure 1: Topologie du réseau
1/ Tracer le graphe équivalent à la topologie de ce réseau.

Support TD/TP - 17 -
Université de la Réunion L3 Informatique
Module Réseaux informatiques
2/ Donner sous forme d'un tableau les annonces d'états des liaisons de chaque routeur de ce
réseau.
Tableau des annonces des routeurs
A B C D E F

3/ Appliquer l'algorithme SPF pour en déduire la table de routage du noeud F. Pour cela
compléter le tableau ci-dessous:
Pas Ens E d[A], pred[A] d[B], pred[B] d[C], pred[C] d[D], pred[D] d[E], pred[E]

exercice 6

Un système autonome est divisé en 3 zones représentées par la figure 1. Le routeur R1 apprend
l'existence du réseau extérieur n1.
1/ Indiquer le numéro de chaque zone OSPF
2/ Représenter la carte de la zone de droite
3/ Quelle est l'annonce de R2 dans la zone centrale concernant n1.
4/ Représenter la carte de la zone centrale et de gauche

6 R4
5 n1
1 R5 5 R1
R7 R2
5
4 R6 R3 5
10

Figure 1: organisation des zones d'un système autonome.

exercice 7

Soit le réseau organisé selon la figure 1. l'AS 1 et l'AS 2 fournissent un service de transit à leur client
respectif. Selon le routage de la patate chaude, le trafic de C1 et C2 va suivre le chemin noté ancien sur
le schéma.
1/ Donner le vecteur chemin annoncé par D à B, Cà A et A à C1.
2/ Comment BGP détecte les boucles sur le chemin ?
3/ Quelle solution proposeriez vous pour que le trafic à destination de C2 reste dans l'AS1?
(chemin noté nouveau)
4/ En vérité cela change t il quelque chose dans l'asymétrie du réseau? justifier votre réponse.

C1
nouveau
AS 1 B
A

ancien

C AS 2 D

C2
Figure 1: Réseau avec 4 AS
Support TD/TP - 18 -
Université de la Réunion L3 Informatique
Module Réseaux informatiques

VIII.- Connectivité Internet


TP
exercice 1

Nous allons découvrir dans cette expérience l'influence de la taille de paquet sur le RTT. Le travail de
collecte et d'analyse des mesures est le suivant:
1/ Lancez un ping sur une machine distante (par exemple mathups.math.u-psud.fr ou
cs.berkeley.edu) pendant une minute en fixant une taille de paquet. Fixer le délai
entre chaque émission à 1 seconde. La machine pour faire les pings est gaia.educ.univ-
reunion.fr. Le login est votre numéro étudiant. Enregistrez le résultat de la commande dans
un fichier de traces. Faites des fichiers de mesures pour des tailles de paquet de 12, 128, 256,
512, 1024, 1280, 1480 octets.
2/ Faites le traitement des fichiers de traces à l'aide de la commande awk afin d'obtenir un fichier
de données indiquant le RTT en fonction du temps. Vous calculerez le délai moyen,
minimum et maximum. Le résultat sera mis en dernière ligne de fichier. Le format de la
dernière ligne sera: taille paquet, délai moyen, délai min et délai max.
4/ Extraire la dernière ligne de chaque fichier de données pour constituer un fichier du bilan de
ces expérimentations.
5/ Une fois les 2 fichiers de données disponibles, à l'aide de gnuplot, tracez
- l'évolution du RTT pour chaque taille de paquet en fonction du temps,
- la plage du RTT pour chaque taille de paquet.
Pour faire cela ecrivez un script gnuplot pour le tracage de chaque courbe. A la lecture des
graphiques, que remarquez vous ? Comment l'expliquez vous ?
6/ Reprenez vos fichiers traces et calculez à l'aide awk le débit écoulé en fonction du temps pour
chaque taille de données. Tracez sur un graphe la courbe de débit de chaque taille de paquet.
Que remarquez vous ? Comment l'expliquez vous ?

Les liens des documentations Unix pour cet exercice sont:


http://www.univ-reunion.fr/~panelli/enseignement/TP-NS-2/2-documentation.html

ou directement pour
- awk
Le guide de référence: http://www.gnu.org/software/gawk/manual/
Le tutorial : http://www.vectorsite.net/tsawk.html
- gnuplot
Le guide utilisateur: http://www.gnuplot.info/

exercice 2

Mesurez les performances d'accès à cs.berkeley.edu au niveau réseau avec ping. En tenant
compte du fait que la latence est composée des éléments suivants :
Latence = Propagation + Transmission + Attente

Faites des mesures de temps aller-retour pour deux tailles de paquets - paquet court (64 octets) et
paquet long (1450 octets). Si vous connaissez la distance entre votre station et le serveur, vous pouvez
estimer le temps de propagation. Résolvez le système d'équations pour trouver le débit et le temps
d'attente.

Dans cette exercice les valeurs moyennes ne sont pas significatives. Il faut retenir les valeurs
minimales. En effet, le réseau qu'on observe est en activité permanente, et on cherche à calculer des
valeurs idéales qui seraient obtenues pour un trafic minimalement chargé.
1/ Quel est le débit estimé au mieux (maximum) avec le serveur cs.berkeley.edu ?
2/ Quel est le temps d'attente ?
3/ Refaites les mesures à l'aide de ping avec d'autres sites.

Support TD/TP - 19 -
Université de la Réunion L3 Informatique
Module Réseaux informatiques

IX.- Protocole ARQ


TD
exercice 1

Les protocoles du type ARQ demandent la connaissance de la remise des données.


1/ Quelles sont les 2 principales techniques d'acquittements ? Précisez leurs intérêts respectifs
selon l'importance du trafic contrôlé.
2/ En cas de perte de données, 2 stratégies de reprise sont envisageables, décrivez les.

exercice 2

Les échanges entre 2 stations A et B sont contrôlés par une procédure ARQ du type HDLC.
Compléter les diagrammes d'échanges suivants. Les unités de données sont notées I, <N(s) N(r)>; les
acquittements positifs RR <N(r)>.
2/ Donner la réponse de la station B

I00 I10 I20


A

B
3/ Le protocole ARQ utilise du piggybacking. Compléter les numéros de séquence des unités de
données attendues en réception (N(R)).

I 0, I 1, I 2, I 3, I 4, RR
A

B
I 0, I 1, I 2, I 3, RR RR
4/ La station A émet 8 unité de données; L'anticipation est de 2; Faire figurer les fenêtres
successives et compléter le schéma.
note : fenêtre = [ borne inf, borne sup ]

I00 I10
A

B
5/ Les unités de données 0 et 1 sont perdues. La méthode de reprise utilise un retransmission
sélective et des acquittements négatifs et positifs. Compléter le diagramme jusqu'à ce que les
4 unités de donnés aient été acquittées positivement.

I 0,0 I 1,0 I 2,0 I 3,0


A

B
6/ Reprendre le cas précédent mais la stratégie de reprise est go back N. Faite un diagramme de
la reprise. Discuter sur la meilleure stratégie de reprise.
Support TD/TP - 20 -
Université de la Réunion L3 Informatique
Module Réseaux informatiques
exercice 3

Soit un canal de données gérée par un protocole "Stop and Wait". On pose : L longueur du message
de données, C la vitesse de transmission du canal (ou bande passante disponible), et RTT le délai pour
la réception du retour (feedback).
1/ Donner l'expression du débit D écoulé en supposant une absence de perte.
2/ Le protocole est étendu avec une anticipation de taille W unités de données. Quelle est la
taille minimum de l'anticipation qui permet d'atteindre la vitesse de transmission du canal ?
On négligera les en-têtes.

exercice 4

Soit un canal satellite géré par une procédure du type Stop & Wait. Soit :
- Tp : le temps de propagation est de 270 ms
- C : la vitesse de transmission est de 1Mbit/s.
- L : la taille d'une trame de données est de 1000 bits
On suppose que :
- le temps de traitement aux extrémités est négligeable
- le temps de transmission de la trame d'acquittement est négligeable.
Quel est le taux d'occupation du canal ?

exercice 5

La figure 1 représente les échanges effectués par


une procédure ARQ. Les carrés symbolisent les
unités de données, les ronds les acquittements et les
croix les pertes. La procédure ARQ utilise des
acquittements positifs, un temporisateur de
retransmission et une anticipation de 12 unités de
données.

1/ Pourquoi la 13ieme unités de données n'est


pas émise immédiatement après la douzième ?

2/ Commenter et expliquer le fonctionnement de


la procédure ARQ lorsqu'il y a la perte ?

3/ pourquoi un bloc d'acquittements identiques


est il émis après la perte ?

4/ Comment sont acquittées les unités de


données émises après la perte ?

5/ Pourquoi des unités de données sont elles


émises après la perte ?

6/ Quelle est la stratégie de reprise mis en oeuvre


par cette procédure ARQ ?

Figure 1: Echanges d'une procédure ARQ

Support TD/TP - 21 -
Université de la Réunion L3 Informatique
Module Réseaux informatiques
exercice 6

En contrôle de flux adaptatif, le crédit d'émission une fois annoncé par le récepteur pourrait être
éventuellement repris. Expliquer le problème introduit par la réduction de la fenêtre après son
ouverture.

exercice 7

A l'aide du formalisme graphique de description des protocoles donné ci-dessous, nous allons décrire
le fonctionnement d'un protocole de ARQ. Le protocole utilise un mécanisme d'anticipation et effectue
les reprises sur erreur au moyen d'un temporisateur de retransmission. La source de données est
gloutonne à savoir qu'elle peut emettre des données dès qu'elle a un crédit d'émission.

Les éléments du récepteur sont les suivants:


- les trames sont reçues en séquence.
- le récepteur est dans l'état Rm: état d'attente de la trame de n° m
- le récepteur reçoit des trames Mn: trame correcte de n° n
- les conditions d'erreurs sont :
• une trame duplicata ou en double pour n<m
• une trame perdue quand il y a une rupture de séquence soit n>m. La trame hors-
séquence est ignorée.

Les éléments de l'émetteur sont les suivants:


- W: crédit constant
- En: état prêt à émettre n, n+1, ..., n+W-1
- Ee: événement décision d'émettre
- A: état en attente
- n': n° courant d'émission
- n: n° de la première émission non encore acquittée
- Mn': action d'émission de la trame de numéro n'
- ∆t: événement expiration du temporisateur de retransmission
- ACK i: événement de réception de l'accusé de réception de numéro i
i ≤ n accusé en double
i>n toutes les trames jusqu'à i ont été reçues, déplacer la fenêtre
- le temporisateur est armé lorsque l'émetteur a épuisé sont crédit d'émission

1/ Donner l'automate du protocole de liaison de données côté récepteur.


2/ Donner l'automate du protocole de liaison de données côté émetteur. Rappeler comment des
acquittements peuvent être reçus en double ?
3/ Pour éviter au récepteur d'envoyer un acquittement pour chaque trame reçue, l'envoi de
l'acquittement est différé. Pourquoi le mécanisme d'anticipation fonctionne-t-il toujours ?
Décrire le fonctionnement du récepteur avec les acquittements différés.

Formalisme de description des protocoles.

Le formalisme est inspiré des réseaux de Pétri. Le fonctionnement du protocole est représenté au
moyen d'un graphe constitué de noeuds et de transitions:
- Noeud :

état

événement
- Transition: Les transitions font passer d'un état à un autre. Elle peuvent être conditionnelles.
{liste d'actions} exécutées lors de la transition

Support TD/TP - 22 -
Université de la Réunion L3 Informatique
Module Réseaux informatiques

E Envoyer

Fonctionnement
envoyer
d'un noeud du
(message)
réseau
F

Figure 1: Exemple du formalisme

exercice 8

Un protocole de fiabilisation des échanges utilise une fenêtre de contrôle de flux. Ce protocole a été
conçu pour un canal de transmission non fiable: pertes et déséquencements peuvent se produire. Le
récepteur envoie à chaque paquet reçu un ACK indiquant le numéro du prochain paquet attendu. On
souhaite un protocole qui réagisse le plus rapidement possible (Pas d'attente du temporisateur)
1/ Quand l'émetteur peut-il considérer qu'un paquet a été perdu ?
2/ En vérité, il peut s'agir d'un déséquencement, quand l'émetteur peut il considéré la perte ?
3/ Décrivez l'automate de l'émetteur à l'aide du formalisme graphique.

Support TD/TP - 23 -
Université de la Réunion L3 Informatique
Module Réseaux informatiques

X.- TCP/UDP
TD
exercice 1

Les traces IP ci-dessous sont capturées par l'analyseur réseau tcpdump lors d'une phase
d'établissement de connexion de TCP. Le première ligne de chaque trace affiche les adresses MAC de
la trame Ethernet.
08:59:04.410000 0:40:95:aa:a4:3d 0:80:5f:a7:97:dc
4500 002c 4a48 0000 4006 a0b3 84e3 4883
84e3 3d87 052a 0015 0063 95ff 0000 0000
6002 0200 6e50 0000 0204 0218
08:59:04.410000 0:80:5f:a7:97:dc 0:40:95:aa:a4:3d
4500 002c a368 0000 3b06 4c93 84e3 3d87
84e3 4883 0015 052a 102b a601 0063 9600
6012 1000 a676 0000 0204 05b4
08:59:04.410000 0:40:95:aa:a4:3d 0:80:5f:a7:97:dc
4500 0028 4a49 0000 4006 a0b6 84e3 4883
84e3 3d87 052a 0015 0063 9600 102b a602
5010 7da0 5093 0000

1/ Décodez complètement la trace. Le résultat sera présenté dans un tableau au format suivant :
Protocole Champ/Message Longueur Valeur (interprétée) Commentaire/Signification

2/ Représenter le diagramme d'établissement de connexion de TCP. Identifier le rôle de chaque


segment dans cet échange. Pourquoi procéder à un échange en trois phases ?

3/ A quoi correspondent les différents champs d'adresses véhiculés dans les trames ?

4/ Quel est le nombre de routeurs traversés ?

5/ Sachant que le préfixe réseau a une longueur de 24 bits et avec les informations que vous
possédez, donnez les adresses MAC et IP de la source et de la destination.

exercice 2

1/ Représenter le diagramme d'établissement de connexion de TCP.


2/ Pourquoi procéder à un échange en trois phases ?
3/ Pourquoi ne pas commencer la numérotation de séquence à 0 ?
4/ Pourquoi TCP structure les échanges de données en segment alors qu'il rend un service de
flux d'octets ?
5/ Quelle est l'appellation OSI du segment TCP ?
6/ Comment sont différenciés les rôles du segment de TCP?

exercice 3

1/ TCP est un protocole de transport visant à offrir des communications de bout-en-bout


fiables. Quels mécanismes de communication met-il en œuvre pour cela ?
2/ On suppose que le réseau sous-jacent est fiable, quelles sont les fonctionnalités de TCP qui
deviennent inutiles ?

Support TD/TP - 24 -
Université de la Réunion L3 Informatique
Module Réseaux informatiques
exercice 4

On considère une connexion de transport TCP établie au dessus d'un réseau physique utilisant une
longueur de trame maximum de 582 octets, dont 30 octets d'en-tête et de suffixe. Le délai aller-retour
est de 300ms. Le réseau a un débit de 10 Mbit/s.
1/ Donner la MTU et la MSS.
2/ Quel est le débit utile maximum offert sur la connexion de transport ?
3/ Même question avec un débit du réseau de 100 Mbit/s.
4/ Que proposeriez vous pour améliorer le comportement de ce système ? Donner le débit
maximum de la connexion de transport lorsqu'elle est établie sur un système de transmission
offrant un débit de 10 Mbits/s.

exercice 5

Le chronogramme ci-dessous montre un


transfert de 8192 octets entre 2 hôtes.
Cette trace a été capturée à l'aide de l'outil
tcpdump.
1/ A l'aide d'un schéma, montrer
comment évolue la fenêtre de
contrôle de flux au cours de cet
échange.
2/ Expliquer pourquoi il y a moins
d'ACK émis que de segments
de données pendant la phase de
transfert de données.

Support TD/TP - 25 -
Université de la Réunion L3 Informatique
Module Réseaux informatiques

exercice 6

Une connexion TCP a une MSS fixée à 512 octets et l'échange suivant est effectué:

A B
300 push
102
4 (3
00)
200 push
132
4(20
12 push 0)
152
4(12
Temporisateur de retransmission )

1/ Quelle est l'action de l'émetteur TCP à expiration du temporisateur ?


2/ Compléter le schéma.

exercice 7

Quelle est la différence d'objectif entre l'algorithme de Nagle et celui qui vise à empêcher le "silly
window syndrome" ?

exercice 8

Un application client-serveur utilise UDP. Lorsque le client émet une requête, il attend une réponse du
serveur. La requête comme la réponse peuvent se perdre. Comment doit être écrit le client pour ne pas
se trouver dans une situation bloquée (sur la fonction d'attente de réception) ?

Support TD/TP - 26 -
Université de la Réunion L3 Informatique
Module Réseaux informatiques

XI. Reliable Data Transfer: The Go-Back-N Protocol


TD/TP
This assignment implements a Go-Back-N (GBN) protocol, which could be used to transfer a text file
from one host to another across an unreliable network. The protocol should be able to handle network
errors such as packet loss and duplicate packets. For simplicity, your protocol is unidirectional, i.e.,
data will flow in one direction (from the sender to the receiver) and the acknowledgements (ACKs) in
the opposite direction. To implement this protocol, you will write two programs: a sender and a
receiver, with the GBN specifications given below by modifying the provided codes, which contain the
basic network connection codes already implemented. You will test your implementation using an
emulated network link (which will be provided to you) as shown in the Fig. 1:

Sender
Sender Receiver
Receiver

Network Emu lator


Fig. 1: Testing your implementation.

When the sender needs to send packets to the receiver, it sends them to the network emulator instead
of sending them directly to the receiver. The network emulator then forwards the received packets to
the receiver. However, it may randomly discard and/or delay received packets. The same scenario
happens when the receiver sends ACKs to the sender.

Packet format:

All packets exchanged between the sender and the receiver should have the following structure:
struct packet {
unsigned int type;
unsigned int SeqNum;
unsigned int length;
char data[500]; }

The type field indicates the type of the packet. It is set to 0 if it is an ACK, 1 if it is a data packet, 2 if it
is an end-of-transmission (EOT) packet (see the definition and use of an end-of-transmission packet
below).

For data packets, SeqNum is the modulo 32 sequence number of the packet. The sequence number of
the first packet should be zero. For ACK packets, SeqNum is the sequence number of the packet being
acknowledged.

The length field specifies the number of characters carried in the data field. It should be in the range of
0 to 500. For ACK packets, length should be set to zero.

Sender Program (sender.[c|cpp|py|java]):

You should implement a sender program in C, C++, Java or Python on a Unix system. Its command
line input includes the following: <host address of the network emulator>, <UDP port number used by
the emulator to receive data from the sender>, <UDP port number used by the sender to receive ACKs
from the emulator>, and <name of the file to be transferred> in the given order.

Upon execution, the sender program should be able to read data from the specified file and send it
using the Go-Back-N protocol to the receiver via the network emulator. The window size should be set
to N=10. After all contents of the file have been transmitted successfully to the receiver (and
corresponding ACKs have been received), the sender should send an EOT packet to the receiver. The
EOT packet is in the same format as a regular data packet, except that its type field is set to 2 and its
length is set to zero. The sender can close its connection and exit only after it has received ACKs for
Support TD/TP - 27 -
Université de la Réunion L3 Informatique
Module Réseaux informatiques
all data packets it has sent and an EOT from the receiver. To keep the assignment simple, you can
assume that the end-of-transmission packet never gets lost in the network.

In order to ensure reliable transmission, your program should implement the Go-Back-N protocol as
follows:

If the sender has a packet to send, it first checks to see if the window is full, that is, whether there are N
outstanding, unacknowledged packets. If the window is not full, the packet is sent and the appropriate
variables are updated. A timer is started if it was not done before. The sender will use only a single
timer that will be set for the oldest transmitted-but-not-yet-acknowledged packet. If the window is full,
the sender will try sending the packet later. When the sender receives an acknowledgement packet with
sequence number n, the ACK will be taken to be a cumulative acknowledgement, indicating that all
packets with a sequence number up to and including n have been correctly received at the receiver. If a
timeout occurs, the sender resends all packets that have been previously sent but that have not yet been
acknowledged. If an ACK is received but there are still additional transmitted-but-yet-to-be-
acknowledged packets, the timer is restarted. If there are no outstanding packets, the timer is stopped.
Use provided resources on GBN sender and receiver, if available.

For both testing and grading purposes, your sender program should be able to generate two log files,
named as seqnum.log and ack.log. Whenever a packet is sent, its sequence number should be recorded
in seqnum.log. The file ack.log should record the sequence numbers of all the ACK packets that the
sender receives during the entire period of transmission The format for these two log files should be
one number per line. Please follow these formats to avoid errors while testing your program.

Receiver Program (receiver.[ c|cpp|py|java]):

You should implement the receiver program also in C, C++, Java or Python on a Unix system. Its
command line input includes the following: < hostname for the network emulator >, < UDP port
number used by the link emulator to receive ACKs from the receiver >, < UDP port number used by
the receiver to receive data from the emulator >, and < name of the file into which the received data is
written > in the given order.

When receiving packets sent by the sender via the network emulator, it should execute the following:
• check the sequence number of the packet;
• if the sequence number is the one that it is expecting, it should send an ACK packet back to
the sender with the sequence number equal to the sequence number of the received packet;
• In all other cases, it should discard the received packet and resends an ACK packet for the
most recently received in-order packet;

After the receiver has received all data packets and an EOT from the sender, it should send an EOT
packet then exit.

The receiver program is also required to generate a log file, named as arrival.log. The file arrival.log
should record the sequence numbers of all the data packets that the receiver receives during the entire
period of transmission. The format for the log file should be one number per line.

Network Emulator Program (network):

You will be given the executable code for the network emulator. To run it, you need to supply the
following parameters in the given order:
• emulator's receiving UDP numbers in the forward (sender) direction,
• receiver’s network address and receiving UDP port number,
• emulator's receiving UDP numbers in the backward (receiver) direction,
• sender’s network address and receiving UDP port number,
• maximum delay of the link in units of millisecond,
• packet discard probability,
• verbose 1/0 for Yes/No (Set to 1, the network emulator will output its internal processing).

Support TD/TP - 28 -
Université de la Réunion L3 Informatique
Module Réseaux informatiques
When the link emulator receives a packet from the sender, it will discard it with the specified
probability; otherwise, it stores the packet in its buffer. With a random amount of delay (less than the
specified maximum delay), it then forward the packet to the receiver.

Assignment evaluation:

Assignments will be evaluated on the level of correctness of the implementation of your GBN sender
and receiver.

Example of execution:

On the host host1


receiver host2 9993 9994 Outputfile

On the host host2


network_cmd 9991 host1 9994 9993 host3 9992 1 0.2 0

On the host host3


sender host2 9991 9992 Inputfile

Good Luck!

Support TD/TP - 29 -