IPv6

Aus Wiki-WebPerfect
Wechseln zu: Navigation, Suche
IPv6-Header.jpg

Google's wichtigste Aussage gegenüber IPv6: "IPv6 is NOT like IPv4 but longer addresses" !!!Dieser Artikel ist noch in Bearbeitung!!!

IPv6 Facts

  • IPv6 = 128 Bits (IPv4 = 32 Bits)
  • 2^128 Adressen = 340,282,366,920,938,463,463,374,607,431,768,211,456 Adressen = ca. 100 Adressen pro Atom auf der Erdoberfläche (Dies sind nur hypothetische Zahlen)



IPv6 Adressen

Adress Typen (RFC4291)

Adressverteilung
Adresse Beschreibung / Typ
2000::/3

Global unicast

  • Weltweit eindeutige und routbare Adresse, vergleichbar mit öffentlichen IPv4 Adressen.
::/128

Unspecified

  • Quelladresse, wenn keine andere verfügbar ist.
::1/128

Loopback (localhost)

  • Wird verwendet, wenn ein Host an sich selber sendet, analog IPv4: 127.0.0.1.
ff00::/8

Multicast (Broadcast)

  • Adressen um ein einzelnes Paket an mehrere Ziele zu senden.
fe80::/10

Link-Local unicast,

  • Nur auf dem «Link» gültig, d.h.: innerhalb eines Layer-2 Netzes (z.B.: VLAN).
  • Wird von einem Router nie weitergeleitet.
fc00::/7

Unique Local (RFC4193)

  • Nur innerhalb des Unternehmens geroutet, analog IPv4 RFC1918.

Multicast Adressen

Adresse Beschreibung / Typ
ff02::1 All Nodes link-local Muticast Address (Broadcast)
ff02::2 All Routers link-local Multicast Address (Gateway)
ff02::5 OSPF
ff02::6 OSPF Designated Routers
ff02::1:2 All DHCP Agents and Servers
ff05::1:3 All DHCP Servers (site local)

Weitere Infos: http://www.iana.org/assignments/ipv6-multicast-addresses/ipv6-multicast-addresses.xhtml



WAs ist ein HExtet!!!

Regeln zur vereinfachten Adressdarstellung

Adressdarstellung (Hextet)

1. Führende Nullen innerhalb eines Hextet weglassen: Beispiel: 2001:0DB8:0000:1111:0000:0000:0000:0200 -> 2001:DB8:0:1111:0:0:0:200

2. Aufeinanderfolgende Hextette mit Nullen können durch :: dargestellt werden: Beispiel: 2001:DB8:0:1111:0:0:0:200 -> 2001:DB8:0:1111::200

3. Die Buchstaben a, b ,c d, e und f in der IP müssen klein geschrieben werden.

4. Die Doppelpunkte :: dürfen nicht verwendet werden um nur ein 0-Hextet (16 Bit) zu verkürzen. Erst ab zwei 0-Hextette darf gekürzt werden. (0-Hextet = ...:0000:...)

5. Wenn mehrere 0-Hextette an unterschiedlicher Stelle der IP vorhanden sind, müssen die häufigsten aufeinanderfolgende 0-Hextette gekürzt werden. Beispiel: 2001:db8:0:1:0:0:0:1 -> 2001:db8:0:1::1

6. Wenn es gleiche viele 0-Hextette hat, werden die ersten 0-Hextette gekürzt. Beispiel: 2001:db8:0:0:1:0:0:1 -> 2001:db8::1:0:0:1


IPv6 Subnetze (RFC6177)

IPv6-subnetze.png
  • Ein "Kunde" erhält ein Subnetz der Grösse /48, /56, oder /60
  • Ein Subnetz ist NIEMALS kleiner als /64

Interface ID

  • Die Interface ID mit den 64-Bit ist einen eminente Adressverschwendung.
  • Es macht keinen Sinn mehr Hosts in einem Subnetz zu haben als vorher (~200) aus folgenden Gründen:
    • Sicherheit
    • Performance
    • Fault Isolation
  • Viele Mechanismen bauen auf der Voraussetzung der 64-Bit Interface ID auf:
    • Stateless Address Autoconfiguration (SLAAC; RFC4862)
    • Neighbor Discovery (ND; RFC4861)
    • Secure Neighbor Discovery (SEND; RFC3971)
    • Privacy extensions (RFC4941)
    • Teile von Mobile IPv6
    • Teile von Multicast Routing
    • Einzelne Transitionmechnanismen
    • Falls die MAC-Adressen ausgehen, das die neuen MAC-Adressen "/64" innerhalb der Interface ID platziert werden.


IPv6 Header (RFC2460)

IPv6 Extensions-Headers

Extension Header
Order Header Type Next Header Code
1 Basic IPv6 Header
2 Hop-by-Hop Options 0
3 Destination Options (with Routing Options) 60
4 Routing Header 43
5 Fragment Header 44
6 Authentication Header 51
7 Encapsulation Security Payload Header 50
8 Destination Options 60
9 Mobility HEader 135
No next Header 59
Upper Layer TCP 6
Upper Layer UDP 17
Upper Layer ICMPv6 58


Mechanismen und Funktionsweise

ICMPv6

Icmpv6.png

ICMPv6 kann nicht mehr grundsätzlich gesperrt werden um Pings zu verhindern, da man sonst zu viele andere Dinge noch sperren würde. Somit sollten nur gewisse ICMPv6-Types gesperrt werden.

  • Die bisherigen Funktionen von ICMP bleiben vorhanden.
  • Viele neue Funktionalitäten:
    • MLD / MRD – Multicast Listener/Router Discovery (IPv4: IGMP)
    • SLAAC – Stateless Adress Autoconfiguration (IPv4: DHCP)
    • Mobile IP (IPv4: Mobile IP RFC3344)
    • ND – Neighbor Discovery (IPv4: ARP)


Stateless Address Autoconfiguration (SLAAC)

Mittels SLAAC kann sich ein IPv6 Host selbst eine globale Adresse zulegen.

  1. Der Host macht sich eine Link-lokale Adresse auf dem link-local unicast Prefix (fe80) mit seiner Ethernet MAC Adresse in der Interface ID Beispiel: fe80::a693:4cff:febc:3582
  2. Nun fragt der Host auf der All Router link-local unicast Adresse (fe02::2) nach Routern (ICMPv6: Router Solicitation)
  3. Der Router antwortet mit einem ICMPv6 Router Advertisement. Darin steht die Router Adresse (default GW) und das globale /64 Prefix des Subnetzes.
  4. Der Host fügt seine MAC Adresse in die Interface ID und hat nun eine global unicast adresse und die Default Gateway Adresse.

Ipv6-slaac.png
Die EUI-64 MAC-Adresse abgeleitet von der MAC-Adresse erstellt nicht jedes Betriebssystem.


Privacy Extensions (RFC4941)

Die MAC Adresse in der globalen unicast IPv6 Adresse einzufügen, birgt offensichtliche Gefahren für die Privatsphäre eines Endhosts, also wurden die privacy Extensions hinzugefügt

  1. Zusätzlich zur EUI-64 Adresse generiert sich ein Host eine global unicast Adresse mit zufälliger Interface ID
  2. Diese Interface ID hat eine beschränkte Lebensdauer und wird in gewissen Abständen (Windows default: 1d) neu generiert.
  3. Für den Verbindungsaufbau ins Internet wird diese Adresse bevorzugt.


Duplicate Address Detection (DAD)

Duplicate Address Detection

DAD stellt sicher, dass die selbst generierte IPv6 unicast Adresse nicht zufälligerweise doppelt vorkommt. Wenn niemand antwortet, kann die Adresse verwendet werden.

DHCP

SLAAC wurde entwickelt mit der Idee, DHCP zu ersetzen. Das DNS wurde jedoch vergessen.

  • Folgende Mechanismen beheben den fehlenden DNS:
    • Manuelle Konfiguration auf dem Host: so weit so gut
    • Stateless DHCPv6 (RFC3736): DHCP Server, der nur Zusatzinformationen ausgibt, wie DNS Server Informationen
    • Stateful DHCPv6 (RFC3315): DHCP Server, der dieselbe Funktionalität hat wie in IPv4
    • RDNSS (RFC6106): DNS Server in einem Optionsfeld des RA mitteilen

DHCPv6

Stateless DHCPv6
Stateful DHCPv6

Recursive DNS Server (RDNSS)

Neighbor Discovery (ND)

Befehle (Commands)

Anzeigen der Präfixen (Prioritäten, je höher die Preferences desto höher die Priorität) - Windows

netsh int ipv6 sh pref



IPv4 anstatt IPv6 bevorzugen

  • PowerShell als Admin starten und folgendes ausführen:
New-ItemProperty "HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters\" -Name "DisabledComponents" -Value 0x20 -PropertyType "Dword"
Set-ItemProperty "HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters\" -Name "DisabledComponents" -Value 0x20
  • Reboot



Nützliche Dokumente / Links

IPv6 Cheatsheet: Datei:IPv6 Cheatsheet.pdf

Gute Beschreibungen von IPv6: http://www.elektronik-kompendium.de/sites/net/0812201.htm