Vous êtes sur la page 1sur 5

Correction Devoir Surveillé

Matière : Commutation et Routage dans les Réseaux


Date : 25.10.2017
Durée : 1 h 30
Enseignants : H. Tounsi, S. Ben Fredj, S. Rekhis, R. Hamza
Documents non autorisés

Exercice 1 (8 pts) :
Le contrôle de congestion est un élément important dans un réseau de type Internet car les
ressources sont partagées par un très grand nombre d’utilisateurs.
1. Quelles principales différences y-a-t-il entre TCP et UDP? Pourquoi a-t-on besoin des
deux au niveau transport? Donner des exemples. (1,5 pt : 0,5 pour chaque sous question)

TCP est un protocole de transport qui fonctionne en mode connecté, il est fiable, il
garantit l’ordre des segments. Il offre des mécanismes de contrôle de flux et de contrôle
de congestion. UDP fonctionne en mode non connecté, il ne garantit pas l’arrivée des
datagrammes, ni l’ordre.

Le choix du protocole de transport dépend des caractéristiques de l’application.


Certaines applications telles que ftp, telnet, web ne tolèrent pas les pertes mais peuvent
accepter des retards (délais importants) donc elles ont besoin d’un transport fiable tel
que TCP, alors que certaines applications qui sont caractérisées par des envois simples
(DNS, SNMP, etc.) ou qui ne tolèrent pas de retard (audio, vidéo) préfèrent la simplicité
et la rapidité de UDP devant la fiabilité de TCP.

2. Par quel(s) moyen(s) TCP détecte une congestion dans les réseaux? (1 pt : 0,5 pour
chaque moyen décrit)
TCP détecte une congestion soit par la non réception de l’acquittement d’un segment
alors que son timer a expiré ou par l’arrivée de acks doublons.

3. Expliquer comment le contrôle de congestion de TCP fonctionne pour s’adapter


dynamiquement aux conditions du réseau sans détailler les mécanismes correspondants?
(1 pt )

Le contrôle de congestion dans TCP s’adapte dynamiquement aux conditions du réseau


en augmentant la taille de la fenêtre d’émission donc son débit tant que le réseau n’est
pas chargé et en la diminuant si il y a perte afin de réduire le débit d’envoi.

4. Dans la suite de l’exercice, nous considérons que TCP utilise les mécanismes de
contrôle de congestion « slow start » et « congestion avoidance » avec une taille de
fenêtre récepteur de 65500 octets et une taille maximale de segment de 500 octets.
a. Dans le cas d’un seuil ssthresh égal à 5000 octets et une fenêtre courante de
congestion cwnd égale à 6000 octets.
Que deviennent les valeurs de ssthresh et cwnd après l’envoi de douze segments
de 500 octets et la réception de leurs acquittements dans une période RTT.
Quel est le mécanisme correspondant ? (1,5 pt : 0,5 pour ssthresh, 0,5 pour
cwnd, 0,5 pour le mécanisme)
Ssthresh=5000 octets
Cwnd=6500 octets
Il s’agit du mécanisme Congestion avoidance
b. Supposons que cwnd est maintenant à 14.000 octets. Après l’envoie de 28
segments, l’émetteur reçoit une indication de congestion sans recevoir
l’acquittement du premier message. Que deviennent les valeurs de ssthresh et
cwnd? (1 pt :0,5 pour chaque valeur)
Ssthresh= cwnd/2=7000 octets
Cwnd=500 octets
5. Supposons que la valeur de cwnd est plus petite que la valeur de ssthresh. Décrire la
manière permettant d’augmenter cwnd. Quel est le mécanisme correspondant ?
Tant que cwnd < ssthresh alors à chaque fois qu’un message envoyé est acquité, cwnd
est incrémenté de MSS ce qui correspond à un doublement de cwnd à chaque RTT. Il
s’agit du mécanisme Slow Start (1 pt : 0,5 pour chaque sous question)
6. Que deviennent les valeurs de ssthresh et cwnd si l’émetteur reçoit une indication de
congestion pendant que cwnd est plus petit que ssthresh? (1 pt : 0,5 pour chaque sous
question)

Ssthresh= max (cwnd/2,2)


cwnd= MSS=500 octets
Exercice 2 (6 pts):
1. La machine MA envoie un ping (IPv4) à la machine MB (voir figure ci-dessous).
a. Décrire trois situations dans lesquelles le routeur R2 peut retourner un message
d’erreur ICMP à la machine MA. Pour chaque situation, indiquer l’erreur
ICMP. (1,5 pt : 0,5 pour chaque situation)
1- R2 ne trouve pas la machine destination (machine déconnectée) : envoi de message
icmp type : destination inaccessible, host inaccessible
2- R2 décrémente la valeur TTL qui devient 0, donc il envoie un message ICMP TTL
expiré
3- R2 trouve une erreur dans le paquet (checksum différent) : icmp erreur de checksum

b. Proposer une technique permettant à la machine MA de déterminer la route


empruntée vers MB. (1 pt )
• MA envoie un premier message avec TTL=1. Arrivant à R1, le message
est jeté (TTL=0) et R1 envoie un message ICMP à MA. MA note
l’adresse source de R1
• MA envoie un deuxième message avec TTL=2, arrivant à R2, le
message est jeté (TTL=0) et R2 envoie un message ICMP à MA. MA
note l’adresse de R2

c. En supposant que le message généré est parvenu à destination. Décrire les


différentes étapes de cette communication, en précisant le type de protocole
utilisé, les adresses de niveau 3 ainsi que celles de niveau 2 à chaque traversée
de réseau. (1,5 pt)
• MA envoie un message ICMP (echo request) qui sera encapsulé dans un
paquet IP avec (192.168.10.2, 192.168.12.2)
• Après l’exécution de la fonction de routage, MA décide d’envoyer le
paquet vers R1
• MA envoie une requête ARP en diffusion (00 :11 :22 :33 :44 :AA,
FF :FF :FF :FF :FF :FF) pour avoir l’adresse MAC de eth0 de R1
• MA encapsule le paquet IP dans une trame ethernet avec
(00 :11 :22 :33 :44 :AA, 00 :11 :22 :33 :44 :C1)
• Après l’arrivée du paquet à R1(192.168.10.2, 192.168.12.2) et
exécution de la fonction de routage, R1 décide d’envoyer le paquet vers
R2
• R1 envoie une requête ARP pour avoir l’adresse MAC de eth0 de R2
• R1 encapsule le paquet IP dans une trame ethernet avec
(00 :11 :22 :33 :44 :C2, 00 :11 :22 :33 :44 :C3)
• Après l’arrivée du paquet à R2 (192.168.10.2, 192.168.12.2) et
exécution de la fonction de routage, R2 décide d’envoyer le paquet vers
MB
• R2 envoie une requête ARP pour avoir l’adresse MAC de MB
• R2 encapsule le paquet IP dans une trame ethernet avec
(00 :11 :22 :33 :44 :C4, 00 :11 :22 :33 :44 :BB)
De même se passe la communication dans le sens inverse.
2. On suppose maintenant que la machine MA envoie un ping6 (ping en IPv6) à la
machine MB. Décrire les différentes étapes de cette communication en précisant le type
de protocole utilisé, les adresses de niveau 3 ainsi que celles de niveau 2 à chaque
traversée de réseau. (2 pt )

• MA envoie un message ICMPv6 (echo request) qui sera encapsulé dans


un paquet IPv6 avec (2001 :600 :5000 :AAAA ::2,
2001 :600 :5000 :BBBB ::2)
• Après l’exécution de la fonction de routage, MA décide d’envoyer le
paquet vers R1
• MA envoie un message ICMP NS (Neighbor sollicitation) à l’adresse
multicast du nœud sollicité de R1 pour avoir son adresse MAC
• Après avoir reçu la réponse dans un message ICMP NA (neighbor
advertisement), MA encapsule le paquet IPv6 dans une trame ethernet
avec (00 :11 :22 :33 :44 :AA, 00 :11 :22 :33 :44 :C1)
• Après l’arrivée du paquet à R1(2001 :600 :5000 :AAAA ::2,
2001 :600 :5000 :BBBB ::2) et exécution de la fonction de routage, R1
décide d’envoyer le paquet vers R2
• R1 envoie un message ICMPv6 NS vers l’adresse multicast du nœud
sollicité de R2 pour avoir l’adresse MAC de eth0 de R2
• Après avoir reçu la réponse dans un message ICMP NA, R1 encapsule
le paquet IPv6 dans une trame ethernet avec (00 :11 :22 :33 :44 :C2,
00 :11 :22 :33 :44 :C3)
• Après l’arrivée du paquet à R2 ((2001 :600 :5000 :AAAA ::2,
2001 :600 :5000 :BBBB ::2) et exécution de la fonction de routage, R2
décide d’envoyer le paquet vers MB
• R2 envoie un message ICMP NS vers l’adresse multicast du nœud
sollicité de MB pour avoir l’adresse MAC de MB
• Après avoir reçu la réponse dans un message ICMP NA, R2 encapsule
le paquet IP dans une trame ethernet avec (00 :11 :22 :33 :44 :C4,
00 :11 :22 :33 :44 :BB)
De même se passe la communication dans le sens inverse.

Exercice 3 (6 pts) :

Le Poste client se propose de communiquer avec le serveur www.

1- Donner les différentes stratégies de translation et dire quelles en sont les contraintes
d’utilisation. (2 pt)

• NAT statique : translater une adresse privée donnée à une adresse publique
donnée. NAT statique ne résoud pas le problème de pénurie d’adresses
publiques puisque il nécessite autant d’adresses publiques que d’adresses
privées
• NAT dynamique : translater une adresse privée à une adresse publique
disponible dans un pool d’adresses. Ceci permet de translater uniquement un
nombre d’adresses privées égal au nombre d’adresses publiques du pool.
• NAT/ PAT : translater toutes les adresses privées à la même adresse publique en
utilisant une surcharge des numéros de ports pour pouvoir distinguer les paquets
de flux différents issus de machines différentes. PAT pose un problème avec :a)
certains protocoles qui imposent que le port source soit fixé (ex : le port source
doit 512 pour rlogin) ce qui empêche d’ouvrir plus d’une session sortante avec
la même adresse publique; et b) certains protocoles, particulièrement de niveau
applicatif qui échangent dans leurs messages des informations du niveau IP ou
TCP (ex : FTP, H323, SIP). Ces dernières informations ne seront pas valides
après la traversée NAT
2- Préciser les adresses IP utilisées dans le paquet IP envoyé du poste client au serveur www à
la sortie des nœuds suivants : Poste client, Routeur NAT dynamique, Routeur NAT statique.
Indiquer le contenu des tables de translations dans les routeurs. (4 pts : 1 pt pour chaque paire
d’adresses ; 0,5 pour chaque table)

Serveur www
Poste client 192.168.0.10
10.10.25.132

NAT dynamique NAT statique


vers vers
200.11.51.139 194.210.17.25

Internet

10.10.0.0/16 192.168.0.0/24

A la sortie du poste client : adresse source=10.10.25.132, adresse destination :194.210.17.25


A la sortie du routeur NAT dynamique : adresse source= 200.11.51.139, adresse
destination :194.210.17.25
A la sortie du routeur NAT statique : adresse source=200.11.51.139, adresse
destination :192.168.0.10
Table NAT dynamique
Adresse locale interne adresse globale interne
10.10.25.132 200.11.51.139
Table NAT statique
Adresse locale inerne adresse globale interne
192168.010 194.210.17.25