III.6.2. Fonctionnement du TCP
D'après le format du message TCP, on peut
résumer le fonctionnement de la couche transport de la
modélisation TCP/IP en quatre points. Le protocole TCP de la couche
transport :
> segmente les données des applications,
> établit une connexion de bout en bout,
> émet les segments d'un hôte à
l'autre,
> assure la fiabilité du transport des segments entre
les hôtes connectés. III.6.2.1. La segmentation des
données
La fonction de transport est effectuée segment par
segment de façon autonome. Plusieurs applications peuvent émettre
leurs segments successivement. Ces segments peuvent avoir un ou plusieurs
destinataires.
III.6.2.2. l'établissement de la connexion
Etant donné que ce processus de communication, qui se
fait grâce à une émission de données et d'un
accusé de réception, est basé sur un numéro d'ordre
(appelé généralement numéro de
séquence), il faut que les machines émettrices et
réceptrices (client et serveur) connaîssent le numéro
d'ordre initial de l'autre machine.
L'établissement de la connexion entre deux applications se
fait souvent selon le schéma suivant :
> Les ports TCP doivent être ouverts
> L'application sur le serveur est passive,
c'est-à-dire que l'application est à l'écoute, en attente
d'une connexion
> L'application sur le client fait une requête de
connexion sur le serveur dont l'application est en ouverture passive.
L'application du client est dite "en ouverture active"
Les deux machines doivent donc synchroniser leurs
séquences grâce à un mécanisme communément
appelé three ways handshake (poignée de main en trois temps), que
l'on retrouve aussi lors de la clôture de session.
Ce dialogue permet d'initier la communication, il se
déroule en trois temps, comme sa dénomination l'indique :
> Dans un premier temps la machine émettrice (le
client) transmet un segment dont le drapeau SYN est à 1 (pour signaler
qu'il s'agit d'un segment de synchronisation), avec un numéro d'ordre N,
que l'on appelle numéro d'ordre initial du client
> Dans un second temps la machine réceptrice (le
serveur) reçoit le segment initial provenant du client, puis lui envoie
un accusé de réception, c'est-à-dire un segment dont le
drapeau ACK est à 1 et le drapeau SYN est à 1 (car il s'agit
là encore d'une synchronisation). Ce segment contient le numéro
d'ordre de cette machine (du serveur) qui est le numéro d'ordre initial
du client. Le champ le plus important de ce segment est le champ accusé
de réception qui contient le numéro d'ordre initial du client,
incrémenté de 1
> Enfin, le client transmet au serveur un accusé de
réception, c'est-à-dire un segment dont le drapeau ACK est
à 1, dont le drapeau SYN est à zéro (il ne s'agit plus
d'un segment de synchronisation). Son numéro d'ordre est
incrémenté et le numéro d'accusé de
réception représente le numéro d'ordre initial du serveur
incrémenté de 1
Fig. N * 16 : Etablissement de la connexion TCP
III.6.2.3. Contrôle de flux
Un contrôle de flux est nécessaire pour
prévenir la congestion du
transfert :
> Un serveur performant peut générer plus de
trafic que le réseau ne peut en supporter.
> Un serveur peut être sollicité par un nombre
très élevé de clients.
|