Taille d'en-tête IPv4 maximale


8

En-tête IPv4


Je sais que la longueur de l'en-tête IP est d'un minimum de 20 octets et d'un maximum de 60 octets. Mais pourquoi? Pourquoi la longueur d'en-tête IP est-elle limitée à 60 octets? Y a-t-il quelqu'un ici qui peut me l'expliquer? Je vous remercie.



1
Une réponse vous a-t-elle aidé? si c'est le cas, vous devez accepter la réponse afin que la question ne s'affiche pas indéfiniment, à la recherche d'une réponse. Alternativement, vous pouvez fournir et accepter votre propre réponse.
Ron Maupin

Réponses:


14

Le protocole Internet (IP) est défini dans la RFC 791 . Le RFC spécifie le format de l'en-tête IP. Dans l'en-tête se trouve le champ IHL ( Internet Header Length ) qui est long de 4 bits et spécifie la longueur d'en-tête en mots de 32 bits . Le champ IHL peut contenir des valeurs comprises entre 0 (binaire 0000) et 15 (binaire 1111).

Ainsi, la taille de l'en- tête Internet (en-tête IP) la plus longue peut être de 15 * 32 bits = 480 bits = 60 octets . C'est pourquoi l'en-tête a une taille maximale de 60 octets.

La taille d'en-tête la plus courte est de 20 octets, où le champ IHL a la valeur 5 (0101). En effet, tous les champs obligatoires de l'en-tête nécessitent 20 octets d'espace. Donc, alors qu'en théorie, vous pouvez définir le DIH sur une valeur <5, ce serait toujours une valeur incorrecte et donc un en-tête de paquet non valide.


Merci beaucoup Sebastian. C'est la réponse que je cherchais. Maintenant, j'ai compris exactement. Mon analogie était donc correcte également. :)
ebyrock

Mais la valeur la plus courte serait 5 car elle est définie dans la RFC 791? Il ne peut donc pas être défini sur 0 (0000)?
ebyrock

1
Minimum de 5 mots de passe (20 octets) car ce sont les parties requises de l'en-tête. Il peut y avoir zéro ou plusieurs options, donc 20 à 60 octets.
Ricky Beam

1
J'ai ajouté l'explication de la taille minimale pour la compléter.
Sebastian Wiesinger

1
cela signifie qu'il compte la longueur d'en-tête par incréments de 32 bits.
Sebastian Wiesinger

3

Par RFC 791 où il est défini, voir page 12 où il traite des datagrammes:

La longueur totale est la longueur du datagramme, mesurée en octets, y compris l'en-tête Internet et les données. Ce champ permet à la longueur d'un datagramme jusqu'à 65 535 octets. De tels datagrammes longs ne sont pas pratiques pour la plupart des hôtes et des réseaux. Tous les hôtes doivent être prêts à accepter des datagrammes jusqu'à 576 octets (qu'ils arrivent entiers ou en fragments). Il est recommandé que les hôtes n'envoient des datagrammes supérieurs à 576 octets que s'ils ont l'assurance que la destination est prête à accepter les datagrammes plus grands.

Le nombre 576 est sélectionné pour permettre la transmission d'un bloc de données de taille raisonnable en plus des informations d'en-tête requises. Par exemple, cette taille permet à un bloc de données de 512 octets plus 64 octets d'en-tête de tenir dans un datagramme. L'en-tête Internet maximal est de 60 octets, et un en-tête Internet typique est de 20 octets, ce qui permet une marge pour les en-têtes des protocoles de niveau supérieur. "

Fondamentalement, la longueur a été définie entre 20 et 60 pour permettre différentes utilisations de protocole et pour s'adapter à la taille de datagramme recommandée.


1
Merci encore Mike mais je ne comprends pas très bien. Dans votre réponse, il est dit que "l'en-tête Internet maximal est de 60 octets" mais n'explique pas pourquoi? J'ai inséré une photo dans ma question. La taille de l'en-tête IP est définie dans le IHL (Internet Header Length) qui est en 4-7 bits et cela signifie ses 4 bits de long. si nous définissons tous les bits sont 1 dans Base2 (1111), ce serait 15 dans Base10. Et la longueur de l'en-tête Internet est de 32 bits. On multiplie 15 x 32 = 480 bits ce qui équivaut à 60 octets (480/8). Je ne suis pas sûr que ce soit une analogie correcte. :(
ebyrock

Ne pas essayer d'être court mais le «pourquoi» est: c'est ainsi qu'il est défini. Tous les protocoles Internet ont des définitions. Ces définitions sont les normes que tous les protocoles de trafic Internet suivent.
Mike Naylor
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.