Backgrounder – IPv6-Adressierung im Unternehmensumfeld

post-letter-2828146_1920Seit vielen Jahren befindet sich das IPv6-Protokoll in der Entwicklung. Immer wieder hört man von den Experten, dass das Protokoll jetzt endlich die Marktreife erlangt hat. Langsam kommt jedoch Bewegung in die Protokollwelt. Ist es jetzt Zeit für einen Einsatz von IPv6? Um mit einer Migration auf IPv6 zu beginnen, muss man zunächst die wichtigen Unterschiede der IPv6-Adressformate kennen.

Lassen wir uns nicht von der einschüchternden Erscheinung extrem langer IPv6-Adressen abschrecken. Denken wir stattdessen an unsere IPv4-Erfahrungen zurück. Damals mussten wir die IP-Strukturen und die komplizierten Subnetting-Regeln (beispielsweise /27 und /29) erlernen. Nach ein paar Stunden an intensiven Trainings ergaben die vorher kryptischen Adresskonstrukte einen Sinn. Mit IPv6 wird es uns ähnlich gehen. Diesmal werden wir jedoch feststellen, dass die IPv6-Adressen wesentlich einfacher sind als IPv4-Adressen und diese sich darüber hinaus schneller konfigurieren und warten lassen.

IPv6-Adressformat

Beginnen wir mit der Darstellung der IPv6-Adressen. Die IPv4-Adressen haben eine Länge von 32-Bit und diese werden in der sogenannten Quad-Dotted-Decimal-Notation dargestellt. Die IPv6-Adressen sind 128 Bit lang. Dadurch können 2128 Adressen abgebildet werden. Diese langen Adressen benötigen jedoch eine Darstellungsstruktur, die die jeweiligen Adressen schnell erkennbar macht.

Alle IPv6-Adressen folgen einem bestimmten Adressaufbau, der im RFC 4291 definiert ist. Das Format einer 128-Bit-IPv6-Adresse wird für den Menschen in 8 Segmenten (den sogenannten Hextets) dargestellt, die jeweils durch einen Doppelpunkt getrennt sind. Eine vollständige IPv6-Adresse sieht sie wie folgt aus:

2001: 0DB8: 0012: 0034: 0000: 0000: 0000: 1111

Jedes der 8 Hextets einer Adresse wird durch einen Doppelpunkt getrennt. Jedes Hextet verwendet vier hexadezimale Ziffern (0-9, A-F), um die 16 Bits zu beschreiben. Die acht Abschnitte von jeweils 16 Bits summieren sich schließlich zu den 128 Bits der IPv6-Adresse. Eine IPv6-Adresse lässt sich aus Gründen der Lesbarkeit komprimieren. Hierbei werden die führenden Nullen in jedem Segment entfernt. Außerdem kann eine einmalige Komprimierung mehrerer kontinuierlicher Nullen durch einen doppelten Doppelpunkt „::“ ausgedrückt werden. Die oben dargestellte IPv6-Adresse lässt sich beispielsweise auch wie folgt darstellen:

2001:DB8:12:34::1111

IPv6-Adresstypen

Die IPv6-Adressstruktur erscheint für viele Nutzer etwas komplizierter als die IPv4-Adressen. Dies liegt unter anderem daran, dass es verschiedene Arten von IPv6-Adressen gibt. IPv6 verfügt über vier primäre Adresstypen, von denen jeder eine eigene spezifische Funktion hat:

  • 2000:: /3 = Global Unicast-Address (GUA). Diese Adressen werden für die öffentliche Kommunikation (beispielsweise im Internet) für die direkte Unicast-Kommunikation von Knoten zu Knoten genutzt.
  • FC00:: /7 = Unique Local Address (ULA). Hierbei handelt es sich um private Adressen, die niemals im Internet und auch nicht im NAT-Kontext verwendet werden dürfen.
  • FE80:: /10 = Link Local Addres. Dieser Adresstyp wird nur für interne LAN-basierte Kommunikation genutzt und niemals von Routern weitergeleitet.
  • FF00:: /8 = Multicast-Adressen. Diese Adressen werden für die Eins-zu-Vielen-Kommunikation genutzt.

Konzentrieren wir uns auf die globalen Adressen. Diese werden sowohl für die externe Kommunikation (beispielsweise im Internet) als auch auf den vernetzten Systemen im Unternehmensnetz verwendet. Beim IPv6 ist keine NAT-Funktionalität vorgesehen (siehe hierzu die Diskussion in RFC 4864), da eine Fülle von IPv6-Adressen zur Verfügung stehen. Unique Local Adressen (ULAs) (siehe hierzu RFC 4193) werden für die Kommunikation über interne Unternehmensnetzwerke nicht empfohlen.

Eine Einrichtung, die IPv6-Adressen zugewiesen bekommt, kann sich in keiner Weise als Eigentümer dieser Adressen betrachten. Im Gegensatz zum IPv4-Protokoll handelt es sich vielmehr um eine Nutzungsvereinbarung. Alle Zuweisungen unterliegen im gesamten Zuweisungszeitraum den gültigen Vergaberichtlinien. Das beinhaltet auch eine mögliche Rückgabeforderung des Adressraumes und die damit verbundene Umnummerierung der Netze eines Betreibers, wenn dies im Kontext einer effektiven Nutzung des Adressraumes oder der besseren Aggregation notwendig wird. Eine Umnummerierung beim IPv6-Protokoll bedeutet eine Änderung des Präfixes und wird durch eine geeignete Protokollspezifikation (beispielsweise DHCP bzw. einer automatischen Präfixvergabe) unterstützt.

Globale IPv6-Adressen

Unter IPv6 zählen nur solche Adressen, die mit einer Zwei oder einer Drei beginnen zum öffentlichen Adressraum (beispielsweise: 2000:: /3). Für diese globalen Unicast-Adressen ist es üblich, dass die 64 höchstwertigen Bits der Adresse das Netzwerksegment repräsentieren, das für eine Verbindung verwendet wird. Die am weitesten rechts liegenden 64 Bits der Adresse stellen den eindeutigen Knoten in diesem Netzwerk dar.

Im IPv6-Sprachgebrauch werden die letzten 64 Bits der Adresse als Internet Identifier (IID) bezeichnet, da sie den einzelnen Knoten in diesem Netzwerk eindeutig identifizieren.

Ein großes Unternehmen kann bei IPv4 mehrfach im Internet angesiedelt ein und über eigene öffentliche IPv4-Adressen verfügen, können auch die Zuteilung einer Provider Independent (PI) IPv6-Adressraum beantragen. Zuständig für den speziellen IPv6-Adressraum ist die zuständige Regional Internet Registry (RIR).

Nutzt ein weltweit vernetztes Unternehmen nur einen einzigen ISP, wird dieser einen sogenannten Provider Assigned (PA) IPv6 Adressblock aus seinem ihm zugewiesenen vergeben. In diesem Fall wird wahrscheinlich ein einziger / 48 Präfix zugewiesen. Ein einziger /48 Präfix ermöglicht die Realisierung von 65.536 individuellen /64 Präfixen. Da die meisten Unternehmen nicht über so viele Routeneinträgen in den internen Routingtabellen verfügen, sollte ein /48 Präfix für die meisten Unternehmensnetze ausreichen.

IPv6 reduziert die Komplexität der Adressplanung

IPv6 reduziert die Komplexität der Adressplanung und erleichtert die Zuweisung von Adressen zu Netzwerken. Anstatt eine Vielzahl von IPv4-Subnetzlängen zu nutzen wird beim IPv6 empfohlen, nur Standard-Präfixlängen zu nutzen und dadurch die gesamte Adressproblematik zu vereinfachen. Bei IPv6 werden üblicherweise Teile der Adressierungshierarchie anhand von Hexadezimalziffern dargestellt. Die verwenden Präfixe enden immer an einer geraden Nibbelgrenze. Ein Nibble sind immer 4 Bits. Da IPv6-Adressen durch hexadezimale Zeichen ausgedrückt werden, erfolgt das Subnetting ausschließlich als ein Vielfachen von vier Bits. Darüber hinaus sollte die Adressierungsplanung nur gängige Präfixlängen (beispielsweise /40, /44, /48, /52, /56, /64) nutzen. Die Reduzierung auf einfache Präfixlängen erleichtert die Arbeit. Im Gegensatz zu IPV4 ist man bei IPv6 nicht länger darauf beschränkt, ein IP-Subnetz so zu konstruieren, dass der genutzte Adressbereich der Anzahl der Hosts in diesem Subnetz am nächsten kommt. Die De-facto-IPv6-Präfixlänge lautet / 64, was eine Vielzahl von Adressen für fast jede Netzwerkegröße bereitstellt.

Bei IPv6-Adressplanung muss man sich um die Nummerierung der Subnetze und Netzwerke kümmern und nicht um die Anzahl der im jeweiligen Netzwerk benötigten Hostadressen. Man wird so viele Adressen zur Verfügung haben, dass man einen großen Teil des Adressraums für die zukünftige Verwendung reservieren kann. Aus diesem Grund sollte die Adressplanung von den betrieblichen und administrativen Anforderungen abgeleitet werden. Diese Einfachheit der IPv6-Adressierung sorgt dafür, dass man zukünftig keinen IPv6-Subnetzrechner mehr benötigt.

IPv6-Adressierung für Hosts

Man muss sich auch nicht über die letzten 64 Bits einer IPv6-Adresse Sorgen machen. Mit dem Interface Identifier (IID) wird der jeweilige Rechner (Host) eindeutig identifiziert. Entscheidet man sich für die Verwendung der Stateless Address Auto-Configuration (SLAAC) (RFC 4862), sind die Rechner im betreffenden LAN-Segment in der Lage, ihre IID selbst zu bestimmen. Der Host bestimmt dabei die IID auf Basis seiner MAC-Adresse und einer modifizierten EUI-64-Methode. Will man jedoch mehr Privatsphäre erreichen für den Endknoten erreichen, nutzen einige Betriebssysteme die Privacy- und/oder die temporäre Adressierungsmethode (gemäß RFC 4941). Eine neue Methode, die inzwischen in einigen Betriebssystemen implementiert wurde, wird als Stable IIDs (Stable SLAAC) (gemäß RFC 8064) bezeichnet. In vielen Unternehmensumgebungen wird jedoch weiterhin das DHCPv6 (gemäß RFC 3315) – Aufgrund der einfachen Überprüfbarkeit der Hostadressen und der Vertraulichkeit von zufälligen Schnittstellenbezeichnern – bevorzugt. Die Ausnahme hiervon machen die Android-basierten Betriebssysteme, denn diese unterstützen keine DHCPv6-Client-Funktionalität. Für diese Geräte muss entweder einen rekursiven DNS-Server (RDNSS) (gemäß RFC 8106) oder auf SLAAC zurückgriffen werden.

Was kommt als nächstes?

Mathias Hein, Consultant, Buchautor, Redakteur
Mathias Hein, Consultant, Buchautor, Redakteur

Nachdem wir uns nun mit den IPv6-Adressen vertraut gemacht haben, müssen wir noch einiges über das Ausrollen von IPv6 in unseren Unternehmensnetzwerken lernen. Die „Enterprise IPv6 Deployment Guidelines“ (nachzulesen in RFC 7381) geben dazu die ersten Anhaltspunkte. Man sollte zuerst den ISP des Unternehmens kontaktieren und sich nach den Details einer Unternehmensanbindung auf Basis von IPv6 erkundigen. Im nächsten Schritt müssen die notwendigen IPv6-Adressen von der regionalen Internetregistrierungsstelle oder dem ISP bereitgestellt werden. Erst danach kann man sich an die Adressplanung machen. Hierzu empfiehlt sich die Nutzung eines Leitfadens (beispielsweise „IPv6 Address Planning“ von Tom Coffeen). Die Adressplanung sollte immer von den Internet-Routern, den Firewalls und Internet Perimetergeräten ausgehen. Erst nach Abschluss dieses Prozesses beginnt man mit der IPv6 im Unternehmen.

#Netzpalaver