web-dev-qa-db-fra.com

quels sont les frais généraux, la charge utile et l'en-tête

quelqu'un peut-il m'expliquer ce que sont les frais généraux, la charge utile, l'en-tête et le paquet. Autant que je sache, un paquet est l'ensemble des données qui doivent être transmises. Ce paquet se compose des données réelles qui, je pense, sont la charge utile et les informations source/destination du paquet sont dans l'en-tête. Un paquet se compose donc d'un en-tête et d'une charge utile. Alors, quelle est cette surcharge. est au-dessus d'une partie de l'en-tête. J'ai obtenu ceci du filet "Le paquet entendu inclut tous les octets supplémentaires d'informations qui sont stockés dans l'en-tête de paquet" l'en-tête contient déjà des informations de source/destination. Quels sont les octets supplémentaires d'informations dont dispose cette surcharge de paquets. Je suis confus.

14
Priti16

Le paquet comme vous l'avez dit, a la "charge utile" qui est les données elles-mêmes dont il a besoin pour transférer (généralement les données de l'utilisateur), "l'en-tête" contient diverses choses dépend du protocole que vous utilisez, par exemple UDP contient juste des choses simples dans l'en-tête comme Destination et Source IP/PORT, TCP à l'autre extrémité contient plus de choses comme le numéro de séquence du paquet pour assurer la livraison commandée, beaucoup d'indicateurs pour s'assurer que le paquet est réellement reçu dans sa destination et la somme de contrôle des données pour s'assurer qu'il n'a pas été corrompu et reçu correctement lors de sa détection.

Maintenant, la partie "frais généraux" est en fait les données supplémentaires dont vous avez besoin pour envoyer votre charge utile. Dans les cas dont j'ai parlé ci-dessus, c'est la partie en-tête, car vous devez l'ajouter à chaque charge utile que vous souhaitez envoyer sur Internet. TCP a des frais généraux plus importants que UDP car il doit ajouter plus de données à votre charge utile, mais vous êtes assuré que vos données seront reçues dans leur destination, dans l'ordre que vous les avez envoyées et non corrompues. UDP n'a pas ces fonctionnalités, il ne peut donc pas garantir cela.

Parfois, vous lirez/entendrez des discussions sur le protocole à utiliser en fonction des données que vous souhaitez envoyer. Par exemple, disons que vous avez un jeu et que vous souhaitez mettre à jour la position du joueur à chaque fois qu'il se déplace, la charge utile elle-même contiendra ceci:

int playerID;
float posX;
float posY;

La taille de la charge utile est de 12 octets, et disons que nous l'envoyons en utilisant TCP, maintenant le paquet entier ressemblera à ceci:

-------------
TCP_HEADER
-------------
int playedID;
float posX;
float posY;

Maintenant, la taille du paquet entier est la charge utile + TCP_HEADER qui est de 12 octets + (32 octets à 72 octets), vous avez maintenant une surcharge de 32 à 72 octets pour vos données. Vous pouvez lire sur l'en-tête de TCP ici . Notez que les frais généraux sont encore plus importants que les données elles-mêmes!

Maintenant, vous devez décider si c'est le protocole que vous souhaitez utiliser pour votre jeu, si vous n'avez pas besoin des fonctionnalités TCP vous offre mieux d'utiliser UDP car il a une surcharge plus petite et donc moins données à envoyer.

17
UnTraDe

Vous avez raison de dire qu'un paquet se compose généralement d'un en-tête puis de la charge utile. La surcharge d'un type de paquet est la quantité de bande passante gaspillée qui est nécessaire pour transmettre la charge utile. L'en-tête de paquet est une information supplémentaire placée au-dessus de la charge utile du paquet pour s'assurer qu'il arrive à destination.

La surcharge est variable car vous pouvez choisir un type de paquet différent (ou protocole de paquet) pour transmettre les données. Différents protocoles de paquets vous offrent différentes fonctionnalités. Les deux principaux types de protocoles de paquets qui existent aujourd'hui sont TCP et UDP .

On peut dire que UDP a une surcharge inférieure à TCP parce que ses paquets ont un en-tête plus petit et prennent donc moins de bande passante pour envoyer la charge utile (Les données).

Les raisons en sont un sujet profond, mais il suffit de dire que TCP fournit de nombreuses fonctionnalités très utiles que UDP ne fait pas, telles que la livraison assurée des paquets et la détection de la corruption. Les deux sont des protocoles très utiles et sont choisis en fonction des fonctionnalités dont une application a besoin (vitesse ou fiabilité).

4
S.Richmond