AN3 – Couche Transport : connexion et déconnexion TCP

 

Table des matières

Rappels

Rôle principal de la couche Transport

UDP : protocole en mode non connecté

TCP : protocole en mode connecté

Comparaison UDP / TCP

Protocole TCP

Etablissement d'une connexion TCP

Echange de données TCP

Rupture d'une connexion TCP

Affectation des numéros de ports

QUIZZ

Rappels

Rôle principal de la couche Transport

Garantir en dernier recours le transport fiable des données des couches supérieures d'un bout du réseau à l'autre.

UDP : protocole en mode non connecté

TCP : protocole en mode connecté

Comparaison UDP / TCP

Caractéristique

TCP

UDP

Détection des erreurs de transmission

OUI

(OUI)

Reprise sur erreurs

OUI

-

Segmentation et groupage des données vers respectivement les couches inférieures et supérieures

OUI

-

Contrôle de flux

OUI

-

Etablissement et rupture de connexion

OUI

-

Protocole TCP

Décrit dans le  RFC 793 : assure un service complet d'échange de paquets (segments) en mode connecté . Le format d'un paquet TCP est indiqué page 6.

Note : Comme pour le procole UDP la taille maximale d'un paquet TCP sera limitée par la taille des données transportable par le protocole de couche 3.

Note : Très souvent le protocole TCP s'adaptera même au MTU de la couche 2.

Etablissement d'une connexion TCP

Le numéro de séquence initial (ISN) est fixé librement par chaque extrémité et déterminé de manière aléatoire. Il sert de base aux valeurs déposées dans les champs « N° Séquence » et « Acquittement ».

En retranchant la valeur du champ « N° Séquence » à celle de l'ISN on obtient le numéro du premier octet du bloc de données transporté dans le paquet.

En retranchant la valeur du champ « Acquittement » à celle de l'ISN on obtient le numéro du prochain octet attendu en réception .

Un établissement de connexion est bilatéral et comporte toujours 3 trames.

Echange de données TCP

La taille des données transportées dans un paquet TCP n'est pas indiquée dans l'en-tête du paquet : elle est déduite à partir de la taille totale du paquet et de la valeur du champ « Déplacement  » qui indique la longueur de l'en-tête en nombre de longs mots (4 octets).

 

Pendant la phase d'échange de données deux types de paquets de données peuvent être échangés :

Le bit « ACK » indique que le champ « Acquittement » est valide. L'acquittement est cumulatif : on peut « perdre » plusieurs acquittements successifs puisque le dernier acquittement correctement reçu indiquera toujours le numéro du prochain octet attendu en réception.

Par défaut, les données reçues sont accumulées dans un tampon interne au protocole. La réception d'un bit « PSH » force :

  1. 1. le vidage du tampon vers les couches supérieures. 

  2. 2. L'envoi d'un paquet d'acquittement. 

Le contrôle de flux est réalisé à l'aide du champ « Fenêtre » :

Rupture d'une connexion TCP

Chaque application en relation peut prendre l'initiative de rompre la connexion.

Une rupture de connexion est bilatérale et comporte en général 4 trames.

Affectation des numéros de ports

La plage des n° de ports s'étend de 1 à 65535 (codage sur 16 bits) ; elle est organisée en trois blocs indiqués dans le tableau ci-dessous :

Intitulé

Plage

Utilisation

« Well known ports »

1 à 1023

Les ports « historiques » pré-définis (Telnet, FTP, SMTP etc.)

« Registered ports »

1027 à 49151

Applications plus ou moins connues mais enregistrées auprès de l'ICANN

Libre

49151 à 65535

Applications personnelles ou mécanisme NAT dans les routeurs

QUIZZ

Une version approchante de ce Quizz est également disponible sur le site « www.evalbox.com ».

Après avoir bien relu votre cours répondez de mémoire aux questions suivantes :

  1. 1.Quelles sont les étapes principales d'une communication en mode connecté ? 

  2. 2.Combien d'échanges comprend une séquence de connexion TCP ? 

  3. 3.Même question pour une séquence de déconnexion ? 

 

Références de transport et liens virtuels entre applications

 

Paquet TCP