Exercice 1 expliquez la diff érence entre TCP et UDP en mati ère de numéros de séquence
éléments de correction : UDP est en mode non connect é. un envoi est constitué d'un seul paquet. Il n'y a pas de num éro de séquences. TCP est en mode connect é. Il transf ère des flux de données. Ainsi, l'application qui utilise tcp peut lui demander de transf érer une image de dvd sans avoir besoin de la couper en morceaux. C'est TCP qui s'en occupera. à 2 exceptions près, les numéros de séquence TCP identifient les données envoyées.
Exercice 2 No de séquences TCP indiquez comment évoluent les numéros de séquence TCP en fonction du contenu des trames et de leur drapeaux.
éléments de correction : •
paquet avec drapeau SYN : +1
•
paquet avec drapeau FIN : +1
•
sinon : + taille données
l'objectif des No de séquence est de pouvoir identifier et fiabiliser des paquets via des accusés de réception. On doit donc faire en sorte que deux paquets importants diff érents n'aient pas le même numéro de séquence. C'est la raison de l'évolution des numéros de séquence (+1) des paquet SYN et FIN. en cas de perte de paquets, TCP s'autorise à réémettre les données dans un nombre de paquets diff érents (moins de paquets si c'est possible). C'est la raison pour laquelle les No de séquence TCP identifient les donn ées envoyées et pas les paquets envoyés. le paquet No 8 contiendra les données partir de l'octet 8. Si ce paquet contient 10 octets de données, le paquet suivant sera le paquet No 8+10=18 et contiendra les données à partir de l'octet 18.
Exercice 3 fenêtre TCP et contrôle de flux On considère l'échange suivant ; on parlera en No de s équences relatifs
No
Source:
destination
No seq
No ack
flag
taille
taille
trame
hôte/Port
fenêtre
données
1
M1/P1
M2/P2
0
-
SYN
X
0
2
M2/P2
M1/P1
0
1
SYN/ACK X
0
3
M1/P1
M2/P2
1
1
ACK
X
0
4
M1/P1
M2/P2
1
1
ack
4096
1000
5
M2/P2
M1/P1
1
1001
ack
4096
0
6
M1/P1
M2/P2
1001
1
ack
4096
1000
7
M1/P1
M2/P2
2001
1
ack
4096
1000
8
M2/P2
M1/P1
1
2001
ack
4096
0
9
éléments de correction : •
le No de séquence initial est porté par le paquet SYN
•
la trame No 1 (on utilisera le No présent dans la colonne 1 pour identifier les trames entre nous mais ce No n'a pas d'existence dans le protocole tcp) porte le No de séquence de M1/P1 vers M2/P2. on ne conna î t pas encore le No de séquence initial de la connexion de M2/P2 vers M1/P1. Cela explique l'absence de No de ack dans la trame 1.
•
la trame No 3 et la trame No 4 ont le même No de séquence. Ce n'est pas important car la trame 3 est une trame d'accusé de réception pur. on n'accuse pas réception des accusés de réception purs donc aucun risque de confusion avec la trame No 4. la trame No 4 aura un accusé de récepion.
•
le No de ack de la trame 5 est 1001. Il indique que M2/P2 a reçu toutes les données strictement avant 1001. Elle a donc tout reçu jusqu'à 1000 inclus. Donc la taille des données de la trame 4 est 1000 et le No de séquence de la trame 6 est 1001
•
entre la trame 6 et la 7, on passe d'un No de séquence de 1001 à 2001. la taille des données de la trame 6 est la diff érence entre les 2 qui est donc de 1000 (rappel : le No de séquence évolue de la taille des données)
●
indiquez les valeurs correctes dans les cases vides. On supposera qu'il n'y a pas de pertes de trames.
●
quelle quantité totale de donn ées la machine M1/P1 peut-elle envoyer sans recevoir de ack dans les trames 9 et suivantes ?
éléments de correction : on peut eno!er taille fenêtre " taille des données non acquittées octets on note que la traime 8 (No seq 1) accuse réception des octets inf érieurs strictement à 2001 et donc des trames avant la trame 7 mais pas de la trame 7. la trame 7 contient 1000 octets. ici : 4096-1000=3096 octets