Le protocole TCP (Transmission Control Protocol)
Impossible d'accéder à la ressource audio ou vidéo à l'adresse :
La ressource n'est plus disponible ou vous n'êtes pas autorisé à y accéder. Veuillez vérifier votre accès puis recharger la vidéo.
Définition : Le protocole TCP
TCP (pour Transmission Control Protocol ou Protocole de Contrôle de Transmissions) est un protocole de transport de données qui assure la fiabilité de la connexion : toutes les données arrivent et sont intègres.
Une session TCP permet d'acheminer des messages (ou segment dans la terminologie TCP) en suivant une procédure de trois étapes :
Établissement de la connexion
Transferts des données
Fermeture de la connexion
Définition : Segments TCP
Les messages échangés via TCP sont appelés des segments TCP. Ils contiennent les données que les processus veulent échanger mais aussi diverses informations propres au fonctionnement de TCP.
Ces informations propres à TCP sont contenus une partie spéciale du segment, appelée en-tête.

Parmi ces informations, les éléments notables décrits par la suite sont :
les numéros de ports des processus du client et du serveur
le numéro de séquence du paquet.
le numéro acquittement du paquet.
Méthode : Comment assurer le transfert sûr et intègre de données ?
Afin de garantir que les segments arrivent dans le bon ordre, les deux participants utilisent des numéros de séquence et des numéros d'acquittement .
Le numéro de séquence contient le numéro du dernier segment envoyé et le numéro d'acquittement contient le numéro du prochain segment attendu.
Les numéros sont calculés à partir de la taille des segments, en nombre d'octets.
Lorsque l'une partie reçoit un segment, il ajoute au numéro de séquence le nombre d'octets reçus et obtient ainsi le numéro du prochain octet attendu, c'est à dire le numéro d'acquittement.
Pour chaque segment à envoyer, l'émetteur calcule et transmet une somme de contrôle (checksum) à partir du segment. Le destinataire calcule à son tour la somme de contrôle et vérifie que les deux correspondent, garantissant ainsi que les données n'ont pas été altérées par erreur sur la route.

Sur cet exemple :
Le client commence par envoyer 8 octets de données : son numéro de séquence est laissé à 1, puisqu'il s'agit du numéro du dernier message envoyé.
Le serveur reçoit les données et renvoie un acquittement après avoir mis à jour son numéro d'acquittement en additionnant la taille des données reçues.
Le serveur envoie à son tour 3 octets de données.
Le client répond par un acquittement et met à jour son numéro d'acquittement. Noter qu'il a mis à jour son numéro de séquence à ce stade.
Le client envoie enfin 12 octets de données.
Définition : Port
Les ordinateurs peuvent avoir de multiples sessions TCP simultanées. Pour ne pas les mélanger, une session TCP est associée à des ports sur les deux machines.
On parle de port source pour le port du processus émetteur et de port de destination pour le port du processus destinataire. Le nombre maximum de ports est 65535.
Les ports numérotés de 0 à 1023 sont réservés pour des protocoles communs comme HTTP (80), SSH (22), HTTPS (443), FTP (20 et 21), etc. Une même machine peut donc recevoir un fichier avec FTP en même temps qu'elle transmet une page web via HTTPS.
Exemple : De port à porte, il n'y qu'un pas...
On peut faire l'allégorie suivante pour comprendre le concept et l'intérêt d'un port.
Si on identifie une machine à un immeuble, et un processus de cette machine à un appartement de cette immeuble, le port du processus peut-être vu comme le numéro de cet appartement.
Un courrier adressé à l'appartement (au processus) est d'abord adressé à l'immeuble (la machine). Ce n'est qu'ensuite qu'il est distribué dans la boîte aux lettres de l'appartement grâce à son numéro d'appartement (son port).

À retenir
TCP permet à deux processus d'ouvrir un canal de communication fiable en 3 étapes.
Un segment TCP contient les données à envoyer dans un paquet et des informations utiles à sont acheminement dans son en-tête.
Les processus communiquant sont identifiés par les machines grâce à leur port.
Impossible d'accéder à la ressource audio ou vidéo à l'adresse :
La ressource n'est plus disponible ou vous n'êtes pas autorisé à y accéder. Veuillez vérifier votre accès puis recharger la vidéo.