2016-03-30 4 views
0

Die alte Definition eines IPv4 als eine IPv6-Adresse ist (unter Verwendung von 127.0.0.1):Äquivalenz alter und neuer IPv4-zugeordneter IPv6-Repräsentation?

0000:0000:0000:0000:0000:0000:7f00:0001 

während die aktuelle Definition der 6. Komponente als FFFF hat: Diese äquivalenten betrachtet werden sollten

0000:0000:0000:0000:0000:ffff:7f00:0001 

oder gibt es eine feine Unterscheidung in der Art, wie sie behandelt werden sollten? Derzeit schaue ich in den Kontext, in dem der Wert beibehalten wurde und sich auf Annahmen auswirkt.

Antwort

3

Ihr erstes Beispiel ist eine IPv4-kompatible IPv6-Adresse, die veraltet ist.

Ihr zweites Beispiel ist eine IPv4-zugeordnete IPv6-Adresse. Ihnen wird erlaubt und ermutigt, eine gemischte Notation (z. B. ::ffff:127.0.0.1) oder die IPv6-Notation (z. B. ::ffff:7f00:0001) zu verwenden.

RFC 5952, A Recommendation for IPv6 Address Text Representation, ist ein Standard, der IPv6-Darstellung diskutiert. Er stellt fest:

5. Textdarstellung von Sonder Adressen

Adressen wie IPv4-Mapped IPv6-Adressen, ISATAP [RFC5214] und IPv4-Adressen übersetzbar [ADDR-FORMAT] haben IPv4-Adressen eingebettet in den niederwertigen 32 Bits der Adresse. Diese Adressen haben eine spezielle Darstellung, die Hexadezimal und Punkt Dezimalzeichen mischen können. Die Dezimalschreibweise darf nur für die letzten 32 Bits der Adresse verwendet werden. Für diese Adressen lautet die gemischte Notation EMPFOHLEN, wenn die folgende Bedingung erfüllt ist: Die Adresse kann als in den unteren 32 Bits eingebettete IPv4-Adressen ausschließlich aus dem Adressfeld unter Verwendung eines wohlbekannten Präfixes unterschieden werden. Solche Präfixe sind definiert in [RFC4291] und [RFC2765] zum Zeitpunkt dieses Schreiben. Wenn durch eine externe Methode bekannt ist, dass ein gegebenes Präfix verwendet wird, um IPv4 einzubetten, kann es als gemischte Notation dargestellt werden. Tools, die Optionen zum Angeben von Präfixen bereitstellen, die sind (oder nicht sind), die als gemischte Notation dargestellt werden sollen, können nützlich sein.

Es ist ein Trade-off hier, wo eine Empfehlung eine genaue Übereinstimmung in der Suche zu erreichen (kein Punkt Dezimalstellen auch immer) und eine Empfehlung die Lesbarkeit einer Adresse zu helfen (dot dezimal wenn möglich) nicht zur Folge hat in der gleichen Lösung. Die obige Empfehlung zielt darauf ab, die Darstellung so weit wie möglich zu fixieren, während die Möglichkeit für zukünftige bekannte Präfixe in einer menschenfreundlichen Art und Weise als Werkzeuge Anpassung an neu zugewiesene Präfixe.

die Textdarstellung Verfahren festgestellt, in Section 4 sollte für den führenden hexadezimalen Teil angewandt werden (d.h. :: FFFF: 192.0.2.1 anstelle von 0: 0: 0: 0: 0: FFFF: 192.0.2.1).

+0

Wenn eine IPv4-kompatible IPv6-Adresse in meiner Datenbank (oder einer anderen Datenquelle) gefunden wird, kann sie dann einfach in eine IPv4-zugeordnete IPv6-Adresse konvertiert werden? –

+0

Es sollte obligatorisch sein, da IPv4-kompatible Adressen veraltet sind, aber es hängt davon ab, was die Adresse verwendet und wie sie verwendet wird. Wenn es sich tatsächlich um eine IPv4-Adresse in einer Datenbank handelt, die die IPv6-Notation verwendet, um sowohl IPv4- als auch IPv6-Adressen zu speichern, möchten Sie das wahrscheinlich nicht tun. Wenn es sich wirklich um eine IPv6-Adresse handelt, möchten Sie sie wahrscheinlich ändern. –

+0

Also, wenn ich verstehe: ein Feld, das sowohl IPV4-und IPv6-Adresse in einer Datenbank speichert, dann würde ich die 'IPv4-kompatible' Adresse für eine Verbindung, die IPv4 und 'IPv4-Mapped IPv6' Adresse für eine Verbindung war wurde über IPv6 gemacht? –

Verwandte Themen