next up previous contents Next: Un exemple de session Up: TCP et UDP. Previous: TCP et UDP.   Table des matières  

27.1 L'en-tête TCP.

Les paquets TCP sont encapsulés dans les paquets IP. Ils se trouvent dans la partie Data begins at ... du paquet IP. Un paquet TCP se compose d'un en-tête et d'une partie contenant les données. Cette dernière peut parfois être vide; c'est le cas durant la phase de négociation. Le tableau 16 répertorie l'en-tête complet TCP/IP.


Tableau 16: En-têtes associées à IP et à TCP.
Octets (IP) Description
0 Bits 0-3: Version, bits 4-7: Internet Header Length (IHL)
1 Type de Service (TOS)
2-3 Longueur
4-5 Identification
6-7 Bits 0-3: Indicateurs (flags), bits 4-15: décalage ou offset
8 Temps de vie (Time To Live ou TTL)
9 Type
10-11 Somme de contrôle (checksum)
12-15 Adresses IP source
16-19 Adresses IP de destination
20-IHL*4-1 Options + remplissage pour grouper jusqu'à 4 octets
Octets (TCP) Description
0-1 Port source
2-3 Port destination
4-7 Numéro de séquence
8-11 Numéro d'accusé de réception
12 Bits 0-3:nombres d'octets des options supplémentaires de TCP / 4
13 Contrôle
14-15 Fenêtre
16-17 Somme de contrôle (checksum)
18-19 Pointeur de données urgentes (urgent pointer)
20-(20 +options * 4) Options + remplissage pour grouper jusqu'à 4 octets
Les données TCP commencent à IHL * 4 + 20 + options * 4 et finissent à Lentgh -1

Au minimum, l'en-tête TCP/IP combiné représente 40 octets.

Avec les machines fonctionnant sur l'internet, diverses applications communiquent souvent simultanément. Les champs intitulés Source Port et Destination Port permettent d'identifier et de distinguer chaque flux individuellement. Dans le cas d'une communication web, le port de destination (du point de vue des programmes clients) est le port 80. Donc, tout trafic sortant sera caractérisé par le nombre 80 dans ce champ. Le port source (du point de vue des programmes clients) est choisi au hasard parmi les ports inutilisés de nombre supérieur à 1024 avant que toute connexion ne soit négociée. Le numéro de port est aussi indiqué dans les paquets sortant. Deux flux ne peuvent avoir la même combinaison de numéros de port source et port destination. Le noyau utilise les numéros de port contenus dans les paquets entrant pour déterminer quelle application a requis tel ou tel paquet. La même méthode est suivie sur la machine distante.

Le numéro de séquence (Sequence Number) est le décalage de position qui caractérise un paquet particulier dans le flux de données. Le numéro d'accusé de réception (Acknowledge Number) est le point jusqu'où les données ont été reçues. Le descripteur Control consiste en divers bits indicateurs. Le descripteur Window indique la quantité maximale de données que le programme de réception est préparé à accueillir. La somme de contrôle (Checksum) permet de vérifier l'intégrité des données, et le pointeur de données urgentes (Urgent pointer) est utilisé pour interrompre le flux. Les données requises par les extensions du protocole sont ajoutées en tant qu'options à la suite de l'en-tête.


next up previous contents Next: Un exemple de session Up: TCP et UDP. Previous: TCP et UDP.   Table des matières  
1-01-2006