Maison > Opération et maintenance > exploitation et maintenance Linux > Format d'en-tête de segment de données TCP

Format d'en-tête de segment de données TCP

齐天大圣
Libérer: 2020-12-21 11:31:13
original
3572 Les gens l'ont consulté

Après avoir compris la signification de chaque champ de l'en-tête TCP, nous pouvons comprendre plus clairement le protocole TCP. Il y a 20 octets dans l'en-tête TCP qui sont corrigés, et il existe ensuite des options facultatives. TCP est aligné sur 32 bits (4 octets).

Format den-tête de segment de données TCP

Port source et port de destination  : TCP communique entre les processus d'application via des numéros de port.

Numéro de série : Il occupe 32 bits. La plage du numéro de série est 0~(2^32-1). Lorsque le numéro de série devient 2^32-1, le suivant. Le numéro de série recommencera. Si le numéro de séquence d'un segment de message est 1001 et que sa longueur est de 100 octets, alors le numéro de séquence du segment de message suivant est 1101.

Numéro de confirmation  : 32 chiffres. Le numéro de confirmation est utilisé pour confirmer le paquet reçu. Si A envoie un segment de message à B, le numéro de séquence de A est 101 et la longueur du segment de message est de 100 octets, alors après que B ait reçu le segment de message, il doit envoyer un segment de message de confirmation à A. Ce message de confirmation Le numéro de confirmation dans le paragraphe est 201. Il existe la formule suivante :

Si le numéro de confirmation est N+1, cela signifie que toutes les données jusqu'à la position du numéro de séquence N ont été reçues.

Décalage des données  : Ce champ représente la longueur de l'en-tête TCP. Ce champ occupe 4 bits et l'unité est de 4 octets. Par conséquent, la taille maximale d’un en-tête TCP est de 60 octets.

Six bits de contrôle : Chaque bit de contrôle n'occupe qu'un seul bit.

  • UGR : Champ Urgent Lorsque la valeur est 1, cela signifie que ce segment contient des données urgentes et doit être envoyé en premier. Ce champ doit être utilisé conjointement avec le pointeur d'urgence mentionné plus loin.

  • ACK : Champ de confirmation. Ce champ est utilisé lors de l'établissement et de la déconnexion des connexions. La phase de transmission des données est toujours 1.

  • PSH : champ de poussée. Une valeur de 1 indique des données avec un indicateur push, indiquant qu'après avoir reçu le segment, le récepteur doit remettre le segment à l'application dès que possible au lieu de le mettre en file d'attente dans la mémoire tampon.

  • RST : Réinitialiser le journal du champ de connexion. Utilisé pour réinitialiser une connexion qui a mal tourné en raison d'un crash de l'hôte ou pour d'autres raisons. Ou utilisé pour rejeter les segments de messages illégaux et rejeter les demandes de connexion.

  • SYN : Champ de synchronisation. Utilisé lors de l'établissement d'une connexion.

  • FIN : Champ de résiliation. Utilisé lors de la libération d'une connexion.

Fenêtre  : 16 bits. La valeur de la fenêtre est un entier compris dans la plage [0, 2^16-1]. Notez qu'il représente la fenêtre d'acceptation, indiquant le nombre d'octets autorisés à être acceptés. Par exemple, B envoie un segment de message de confirmation à A. Le numéro de confirmation du segment de message est 101 et la valeur de la fenêtre est 1000. Cela signifie alors que le prochain numéro de segment de message accepté par B doit être 101 et la longueur du message le segment ne peut pas dépasser 1 000 octets.

Somme de contrôle : 16 bits. Utilisé pour vérifier s'il y a des erreurs dans le segment du message.

Pointeur d'urgence : occupe 16 bits. Ce champ n'est intéressant que lorsque le champ URG est à 1. Il représente la longueur des données d'urgence

Recommandations associées : "Tutoriel vidéo Linux"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
tcp
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal