Wie viele Zeichen darf eine IP-Adresse haben?

Wie viele Zeichen darf eine IP-Adresse haben?

Ich muss in einer MySQL-Tabelle ein Feld zum Speichern von IP-Adressen erstellen. Ich muss wissen, wie viele Zeichen eine IP-Adresse maximal haben kann. Ob IPv4, IPv6 oder ein anderer Typ, der eine gültige IP-Adresse ungewöhnlich lang machen kann. Auf welchen Zeichenwert sollte ich also die Zeichenbegrenzung einstellen?

Ich frage nach der Länge in dem Sinne, dass das Wort „foo“ 3 Zeichen hat, und nicht in Bytes oder ähnlichem.

Antwort1

Eine IPv6-Adresse besteht maximal aus 8 Gruppen mit je 4 Zeichen (insgesamt 32), wobei jede Gruppe durch einen Doppelpunkt getrennt ist. Das ergibt 39 Zeichen.

Eine IPv4-Adresse besteht aus höchstens 4 Sätzen mit je 3 Zahlen (12 Zeichen), die jeweils durch einen Punkt (.) getrennt sind. Das ergibt 15 Zeichen.

All dies setzt voraus, dass die IP-Adressen in menschenlesbarer Form gespeichert werden sollten. Ich bevorzuge es, IP-Adressen in Dezimalform zu speichern, da man nie genau weiß, wie sie verwendet werden. Ihre Ergebnisse können unterschiedlich sein.

Antwort2

Dies ist nicht so einfach, wie man vielleicht denkt.

In den meisten Fällen sind Sie sicher mit45.

Normale IPv6-Adresse

0000:0000:0000:0000:0000:0000:0000:0000

8 * 4 + 7 =39


IPv4-zugeordnete IPv6-Adresse

Sehenrfc4291

0000:0000:0000:0000:0000:ffff:192.168.100.228

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


HeaderdateienDefinieren Sie INET6_ADDRSTRLEN als46


IPv6 mit Gültigkeitsbereichszone

Sehenrfc4007

Die Gültigkeitszone kann eine Zahl oder sogar eine Zeichenfolge (Schnittstellenname) sein.

ff02::5678%5
ff08::9abc%interface10

Die Länge des Schnittstellennamens hängt vom System ab. Unter Linux wird sie durch die Konstante IFNAMSIZ definiert. 16 ist ein gängiger Wert. Mit den 45 Zeichen von oben:

45 + 1 + 16 =62


Siehe auchhttps://stackoverflow.com/questions/166132/maximale-länge-der-textuellen-darstellung-einer-ipv6-adresse

verwandte Informationen