IPv6 npt verstehen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
(Info) Laut RFC 6296 ist dieses Protokoll noch experimentell
(Info) Es ist nicht einsetzbar mit IPsec oder anderen Protokollen, die die Integrität des IP-Headers bewahren wollen
  • Wie NPTv6 das IPv6-Adress-Präfix und seine Arbeit im Hintergrund übersetzt.
  • NPT steht für Netzwerk-Prefix-Übersetzung.
  • IPv6-zu-IPv6-Netzwerk-Prefix-ÜberSetzung (NPTv6) führt eine Staatenlose, statische Übersetzung eines IPv6-Präfix zu einem anderen IPv6-Präfix durch
  • Wodurch private, einzigartige lokale Adressen (ULA) in der Lage sind, auf das Internet zuzugreifen, indem Sie es in Global Adressen
  • NPTv6 macht keine Port-Übersetzung, daher bleiben die Ports für ein-und ausgehende Pakete gleich.

Details

  • Transport Layer-Protokolle (wie TCP oder UDP) verwenden IP-Pseudo-Header, um die Prüfsumme in Transportschicht-Headern zu berechnen.
  • Da NPTv6 keine Port-Übersetzung durchführt und Check-Sum-neutral ist, ist es nicht notwendig, Transport Layer-Header umzuschreiben.
  • Prüfsumme-neutral bedeutet, dass Übersetzung zu IP-Headern führen würde, die die gleiche IPv6-Pseudo-Header-Prüfsumme erzeugen wie vor der Übersetzung.
  • Daher werden alle Änderungen, die bei der Übersetzung des IPv6-Präfix vorgenommen werden, durch Änderungen an anderen Teilen der IPv6-Adresse wie Subnet-ID oder Interface-Kennung (IID), etc. ausgeglichen. um die IPv6-Pseudo-Header-Prüfsumme gleich zu halten.
  • Die ersten 48 Bits von IPv6-Adresse sind Routing-Präfix, die nächsten 16 Bits sind Subnet-ID und die restlichen 64 Bits sind Interface ID (IID).

Beispiel

  • Nehmen wir an, wir haben eine interne ULA-Adresse als fd00:192:168:1::100/128
  • Diese interne Präfix in eine externes Präfix 2620:C4:D000:b531::/64 übersetzt werden.
  • IPv6-Adresse ist nach der Übersetzung wäre nicht 2620:C4:D000:b531::100/64
  • Da die übersetzte IPv6-Adresse Checksum-neutral sein muss.
  • Im folgenden das Verfahren zur Berechnung der Prüfsummen neutralen übersetzten IPv6-Adresse:
  • Übersetzte Adresse, die benötigt wird, wäre ein /64-Präfix
  • Daher nehmen wir 64-Bit-Präfix aus der internen Ula-Adresse, die ist, fd00:192:168:1
  • Wir bilden das 1 Komplement der 16 Bit Wörter und addieren diese und bilden daraus wieder das 1 Komplement
  • Die Prüfsumme dieser 64-Bit-Präfix ist 0X0004.
  • Jetzt berechnen wir nach dem gleichen Verfahren 2620:C4:D000:b531
  • Es kommt 0x53e9 heraus
  • Jetzt subtrahieren 0x0004 von 0x53e9, die herauskommt, um 0x53e5
  • Jetzt, Überprüfen Sie für 1. nicht-0Xffff 16-Bit-Wort ab Bits 64.. 79, 80... 95 und so weiter
  • In unserem Beispiel ist dies 0x0000, die Bit 64.. 79
  • Addieren zu 0x0000 0x53e5 und dies wäre unser neues 64.. 79 Bit in übersetzten IP Adresse, um es Prüfsummen neutral zu machen
  • Daher wäre die Prüfsummen neutrale übersetzte IPv6-Adresse 2620: C4: D000: b531:53e5:: 100/128
  • So wurden in der Präfix bei der Übersetzung von IPv6-Adresse durch Änderungen im IID-Teil der Adresse ausgeglichen, um es über prüfungsneutral zu machen.

Links