web-dev-qa-db-fra.com

Taille de UDP vide et TCP paquet?

Quelle est la taille d'un datagramme UDP vide? Et celui d'un paquet TCP vide?

Je ne peux que trouver des informations sur le MTU, mais je veux savoir quelle est leur taille "de base" afin d'estimer la consommation de bande passante pour les protocoles qui s'y trouvent.

29
puccio

TCP:

Taille de la trame Ethernet - 24 octets
Taille de l'en-tête IPv4 (sans aucune option) - 20 octets
Taille de l’en-tête TCP (sans option) - 20 octets 

Taille totale d'une trame Ethernet transportant un paquet IP avec un segment TCP vide - 24 + 20 + 20 = 64 octets

UDP:

Taille de la trame Ethernet - 24 octets
Taille de l'en-tête IPv4 (sans aucune option) - 20 octets
Taille de l'en-tête UDP - 8 octets 

Taille totale d'une trame Ethernet transportant un paquet IP avec un datagramme UDP vide - 24 + 20 + 8 = 52 octets

72
Himanshu

Himanshus répond parfaitement. 

Ce qui peut être trompeur lorsqu'on examine la structure d'une trame Ethernet [voir lectures supplémentaires], c'est que sans charge utile, la taille minimale d'une trame Ethernet serait de 18 octets: Dst Mac (6) + Src Mac (6) + Longueur (2) + Fcs (4), en ajoutant une taille minimale de IPv4 (20) et TCP (20), ce qui donne un total de 58 octets.

Ce qui n’a pas encore été mentionné, c’est que la charge utile minimale d’une trame Ethernet est de 46 octets; les 20 + 20 octets de IPv4 et TCP ne sont donc pas suffisants! Cela signifie que 6 octets doivent être remplis, d'où le total de 64 octets.

18 (champs "en-tête" Ethernet min.) + 6(padding) + 20 (IPv4) + 20 (TCP) = 64 octets

J'espère que cela clarifie un peu les choses.

Lectures supplémentaires:

17
Felix

Voir Protocole de datagramme utilisateur . L'en-tête UDP a une longueur de 8 octets (64 bits).

La taille minimale de l'en-tête nu TCP est de 5 mots (mot 32 bits), tandis que la taille maximale d'un en-tête TCP est de 15 mots.

Meilleurs voeux, Fabian

8
halfdan

Artelius et halfdan sont corrects, mais il vous manque quelque chose: UDP et TCP s'exécutent tous deux par dessus un transport physique . Par exemple, si vous utilisez UDP sur Ethernet, vous devez également inclure la taille. du cadre ethernet

1
Useless

Si vous avez l’intention de calculer la consommation de bande passante et de la lier au débit maximal de votre réseau (1 Gb/s ou 10 Gb/s, par exemple), il est nécessaire d’ajouter le temps système de trame Ethernet à couche 1 aux nombres calculés par Felix et autres, à savoir

  • Préambule de 7 octets
  • Délimiteur de début de trame sur 1 octet
  • Espace entre paquets de 12 octets

c'est-à-dire un total de 20 octets supplémentaires consommés par paquet.

0