Transmission Control Protocol/Introduction
Une page de Wikiversité.
En raison de limitations techniques, la typographie souhaitable du titre, « Transmission Control Protocol : Introduction
Transmission Control Protocol/Introduction », n'a pu être restituée correctement ci-dessus.
Tout d'abord TCP est un protocole de la couche transport du modèle TCP/IP, il a pour rôle :
- de remettre en ordre les paquets reçu
- de vérifier le flot de données afin d'éviter une saturation du réseau
- de formater les données en segments de longueur variable afin de les "remettre" au protocole IP
- de multiplexer les données, c'est-à-dire de faire circuler simultanément plusieurs informations sur une même connexion
- TCP permet enfin l'initialisation et la fin d'une communication
Il fonctionne par un système d'acquittement de la manière suivante, il envoie le paquet avec un message de type SYN, le destinataire répond SYN/ACK et l'expéditeur répond par un ACK. Si une de ces étapes n'est pas respectée le paquet est réemis.
Pour finaliser ce cours nous allons observer un datagramme TCP qui n'est autre que la représentation d'un paquet contenant des données TCP, en voici un, il contient plusieurs champs dont tous ne sont pas nécessairement remplis :
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
|
|
|
||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||
|
|
|
||||||||||||||||||||||||||||||
|
|
|
||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||
Signification des champs :
- Port source : Numéro du port source
- Port destination : Numéro du port destination
- Numéro de séquence : Numéro de séquence du premier octet de ce segment
- Numéro d'acquittement : Numéro de séquence du prochain octet attendu
- Taille de l'en-tête : Longueur de l'en-tête en mots de 32 bits (les options font partie de l'en-tête)
- Réservé : Réservé pour un usage futur
- ECN : signale la présence de congestion, voir RFC 3168
- Drapeaux
- URG : Signale la présence de données URGentes
- ACK : Signale que le paquet est un accusé de réception (ACKnowledgement)
- PSH : Données à envoyer tout de suite (PuSH)
- RST : Rupture anormale de la connexion (ReSeT)
- SYN : Demande de SYNchronisation ou établissement de connexion
- FIN : Demande la fin de la connexion
- Fenêtre : Taille de fenêtre demandée, c'est-à-dire le nombre d'octets que le récepteur souhaite recevoir sans accusé de réception
- Checksum : Somme de contrôle calculé sur l'ensemble de l'en-tête TCP et des données, mais aussi sur un pseudo en-tête (extrait de l'en-tête IP)
- Pointeur de données urgentes : Position relative des dernières données urgentes
- Options : Facultatives
- Remplissage : Zéros ajoutés pour aligner les champs suivants du paquet sur 32 bits, si nécessaire
- Données : Séquences d'octets transmis par l'application