You are on page 1of 3

TD réseau: TCP

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

You might also like