552 votes

Longueur maximale de la représentation textuelle d’une adresse IPv6 ?

Je veux stocker les données renvoyées par $_SERVER["REMOTE_ADDR"] en PHP dans un champ DB, la tâche assez simple, vraiment. Le problème est que je ne peux pas trouver toutes les informations appropriées au sujet de la longueur maximale de la représentation textuelle d'une adresse IPv6, qui est ce qu'un serveur web fournit par $_SERVER["REMOTE_ADDR"].

Je ne suis pas intéressé dans la conversion de la représentation textuelle dans la 128 bits de l'adresse est généralement codé, je veux juste savoir combien de caractères maximum sont nécessaires pour stocker toute IPv6 adresse retournée par $_SERVER["REMOTE_ADDR"].

788voto

Matthew Scharley Points 43262

Je pense qu’il serait :

8 * 4 + 7 = 39

8 groupes de 4 chiffres avec 7 ' :' entre eux.

Ou, si vous voulez prendre en compte les caractéristiques de tunnel IPv4 [0000:0000:0000:0000:0000:0000:192.168.0.1],

(6 4 + 5) + 1 + (4 3 + 3) = 29 + 1 + 15 = 45

123voto

Yury Points 769

Sur Linux, voir constante (inclure , voir `` ). Sur mon système (en-tête « in.h ») :

Le dernier caractère est pour nul de terminaison, comme je crois, donc la longueur maximum est 45, comme d’autres réponses.

12voto

Gilles Points 2493

Répondu à ma propre question:

Les adresses IPv6 sont normalement écrites en huit groupes de quatre chiffres hexadécimaux, chaque groupe étant séparé par deux points (:).

Donc c'est 39 caractères maximum.

8voto

QMaster Points 384

Je pense que @Deepak réponse dans ce lien est plus proche de la bonne réponse. Longueur maximale pour l'adresse IP du client . Donc, la taille correcte est 45 pas 39. Parfois, nous essayons de grappiller dans la taille des champs, mais il semble préférable de préparer suffisamment de taille de stockage.

Bonne chance.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X