Exercices Re Seaux 1 TCP Correction
Mécanisme d'acquittement du protocole TCP
L'utilisation du protocole TCP au niveau de la couche transport implique l'établissement d'une connexion bidirectionnelle. Celle-ci est mise en place par un échange de 3 à 4 messages tirant partie des bits inclus dans le champ "Indicateurs" (Flags) de l'en-tête
TCP. Ces bits prennent pour valeur 1 ou 0.
Pour l'établissement de connexion ce sont les "Flags" ACK et SYN qui sont utilisés :
- Si SYN = 1, il s'agit d'une demande de synchronisation avec pour numéro de séquence la valeur présente dans le champ séquence de l'en-tête ;
- On acquitte une demande de synchronisation en postant le bit ACK à 1 et le champ "ack séquence" à la valeur du champ séquence envoyé par le vis-à-vis incrémenté de 1.
Pour la fin de connexion ce sont les "Flags" ACK et FIN qui sont utilisés :
- Si FIN = 1, il s'agit d'une notification de fin de connexion unidirectionnelle qui appelle un acquittement.
- En réponse afin de signifier l'acceptation de cette fin de communication, le bit ACK est posté à 1 et le champ "ack sequence" prend la valeur du champ séquence envoyé par le vis-à-vis incrémenté de 1.
En cours de communication :
- Les données sont envoyées avec un numéro de séquence de valeur égale au dernier acquittement reçu.
- Les données sont acquittées (bit ACK = 1) par un accusé de réception (champ "ack sequence") cumulatif placé à la valeur du champ séquence envoyé par le vis-à-vis incrémenté du nombre d'octets reçus.
page 1
CNAM – RSX112
Solution exercice TCP n°1
SYN
( x
, 0
)
SYN,ACK ( y
, x+1
)
DATA, ACK( x+1
, y+1
)
DATA,ACK( y+1
, x+51
)
DATA,ACK( x+51
, y+51
)
DATA,ACK( x+51
, y+51
)
FIN,ACK
( y+51
, x+101
)
FIN,ACK
( x+101
, y+52
)
ACK
( y+52
, x+102
)
non reçu par B
page 2
CNAM – RSX112
Solution exercice TCPn°2
SYN
( b, 0 )
SYN,ACK ( a, b+1 )
ACK
( b+1 , a+1 )
DATA[99] ( a+1, b+1 )
DATA[99],ACK ( b+1, a+100 )
DATA[20],ACK ( a+100, b+100 ) non reçu par B
ACK
( b+1, a+100 )