* Broadcast - In IPv6 gibt es keine Broadcast-Adressen
* Broadcast - In IPv6 gibt es keine Broadcast-Adressen
* Die Broadcast-Funktionalität wird über Multicast-Adressen implementiert.
* Die Broadcast-Funktionalität wird über Multicast-Adressen implementiert.
|}
== Unicast ==
; Aggregierbare globale Unicast-Adresse
Aggregierbare globale Unicast-Adressen sind Teil des globalen Routing-Präfixes
* Die Struktur dieser Adressen ermöglicht die Aggregation von Routing-Einträgen, um eine kleinere globale IPv6-Routing-Tabelle zu erhalten
* Zurzeit beginnen alle globalen Unicast-Adressen mit dem Binärwert 001 (2000::/3)
* Ihre Struktur besteht aus einem globalen 48-Bit-Routing-Präfix und einer 16-Bit-Subnetz-ID, die auch als Site-Level-Aggregator (SLA) bezeichnet wird
[[File:ipv6AggregatableGlobalIPv6AddressFormat.png|mini|400px|alt="Aggregatable Global IPv6 Address Format"]]
Schauen wir uns das folgende Beispiel für die Zuweisung globaler Unicast-Adressen an
* Die IANA vergibt derzeit Adressen mit dem Präfix 2000::/3 an die regionalen Anbieter
* Ein Teil dieses Adressraums ist zum Beispiel ARIN zugewiesen
* ARIN weist dann Teilbereiche dieses Adressraums 2001:18::/23 an ISPs und Großkunden zu
Beachten Sie, dass das Präfix 2001:18B1:1::/48, das dem Kunden 1 zugewiesen wurde, Teil des größeren Präfixes 2001:18B1::/32 ist, das dem ISP gehört, der wiederum Teil des größeren Präfixes 2001:18::/23 von ARIN ist, usw
* Aus diesem Grund werden diese globalen IPv6-Unicast-Adressen als aggregierbar bezeichnet
=== Link-Lokal ===
[[File:ipv6LinkLocalAddressStructure.png|mini|400px|Struktur einer link-local-Adresse]]
IPv6 link-local ist eine spezielle Art von Unicast-Adresse
* Wird auf jeder Schnittstelle automatisch konfiguriert
; Kombination
* link-local Präfix FE80::/10
** die ersten 10 Bit entsprechen 1111 1110 10
* MAC-Adresse der Schnittstelle
; Ähnlich wie 169.254.0.0/16 in IPv4
[[File:ipv6LinkLocalAddressAutoconfiguredWindows.png|mini|400px|IPv6 Link-local address autoconfigured on Windows]]
Bei mehrere IPv6-fähige Knoten an einen Switch, konfigurieren sie ihre Schnittstellen automatisch mit link-local-Adressen, erkennen einander und können miteinander kommunizieren
* Der Geltungsbereich der link-local-Adresse ist nur die jeweilige Verbindung
* Router leiten Pakete, die eine link-local-Quell- oder Zieladresse haben, nicht an andere Verbindungen weiter
; Sind nur innerhalb abgeschlossener Netzwerksegmente (link) gültig
* Netzwerksegment ist ein lokales Netz, gebildet mit Switches oder Hubs, bis zum ersten Router
* Link-Local-Adressen sind mit APIPA-Adressen im Netz 169.254.0.0/16 vergleichbar
; Formatpräfix lautet <nowiki>fe80::/10</nowiki>
10 Bit 54 Bit 64 Bit
1111111010 0 Interface ID
; Verwendung
* Adressierung von Nodes in abgeschlossenen Netzwerksegmenten
* Autokonfiguration
* Neighbour-Discovery
; Vorteile
* In einem Netzwerksegment muss keinen DHCP-Server zur Adressvergabe konfigurieren werden
; Zone ID
* Soll ein Gerät mittels einer dieser Adressen kommunizieren, so muss die Zone ID mit angegeben werden
* eine Link-Lokale-Adresse kann auf einem Gerät mehrfach vorhanden sein
; Beispiele
fe80::7645:6de2:ff:1%1
fe80::7645:6de2:ff:1%eth0
; Link-lokaler Adress-Typ
* Adressbereich fe80::/10 sind, wie weiter oben schon erwähnt, nur zur Kommunikation innerhalb desselben Netzwerksegments gedacht
* Routing ist mit diesen Adressen nicht möglich
Es handelt sich um spezielle Adressen, die ausschließlich auf einem Link eines Interfaces gültig sind
* Wird diese Adresse als Zieladresse verwendet, so kann das Paket niemals einen Router passieren
* Die Adresse wird bei der Link-Kommunikation eingesetzt, beispielsweise:
* Ist noch jemand anderer auf diesem Link?
* Ist jemand mit einer speziellen Adresse hier (beispielsweise Suche nach einem Router)?
Die Adresse beginnt mit (wobei ''"x"'' für ein hexadezimales Zeichen steht, im Normalfall ''"0''")
Eine Adresse mit diesem Präfix gibt es an jedem IPv6 fähigen Interface nach einer stateless automatischen Konfiguration (dies ist der Regelfall)
=== Loopback ===
Sowohl bei IPv4 als auch bei IPv6 bezeichnet eine Loopback-Adresse eine logische Schnittstelle, die keine physische Repräsentation hat und immer betriebsbereit ist
* An eine Loopback-Adresse gesendete Pakete werden über dieselbe Schnittstelle zurückgeschickt (looped)
* In der Computerwelt werden Loopback-Adressen normalerweise zum Testen des TCP/IP-Netzwerkstacks verwendet
In IPv4 ist der gesamte Adressbereich 127.0.0.0/8 für Loopback-Adressen reserviert, aber alle führenden Betriebssysteme verwenden standardmäßig die berühmte Adresse 127.0.0.1, genannt "localhost"
* Der restliche 127.0.0.0/8-Adressraum wird in der Regel nicht verwendet
In IPv6 ist die IPv6-Adresse 0:0:0:0:0:0:0:1/128 für die Loopback-Kennung reserviert
* Sie kann auf ::1/128 gekürzt werden
=== Nicht spezifiziert ===
* wird von Betriebssystemen in Ermangelung einer gültigen IP-Adresse und Prozessen wie DHCP verwendet
* Router leiten keine Pakete weiter, deren Quell- oder Zieladresse auf eine nicht spezifizierte Adresse eingestellt ist
[[File:ipv6UniqueLocalAddressStructure.png|mini|500px|Struktur einer Unique-Local-Adresse]]
Eine eindeutige lokale Adresse
* Spezieller Typ einer global eindeutigen IPv6-Adresse
; Merkmale
Weltweit eindeutiges Präfix
* ähnlich wie globale Unicast-Adressen
Keinen Konflikt mit anderen globalen IPv6-Präfixen
* Kann einfach an Standortgrenzen gefiltert werden
Internet-Router filtern alle ein- oder ausgehenden lokalen IPv6-Unicast-Routen heraus
; Standorte verbinden ohne Adresskonflikte
* Es handelt sich um einen von Internetdienstanbietern unabhängigen Adressraum
* Daher überschneiden sich diese Adressen nicht mit einem anderen vom ISP zugewiesenen Bereich
* Die Anwendung behandelt diese Adressen wie reguläre globale IPv6-Adressen
=== Eingebettetes IPv4-in-IPv6 ===
[[File:ipv6EmbeddedIPv4AddressFormat.png|mini|500px|Struktur einer eingebetteten IPv4-in-IPv6-Adresse]]
Eingebettetes IPv4-in-IPv6 ist eine Unicast-Adresse, die nur Nullen in den ersten 96 Bit der Adresse und eine IPv4-Adresse in den äußersten 32 Bit hat
* Wenn also die IPv4-Adresse A.B.C.D (in Hexadezimalziffern) mit dieser Logik in IPv6 eingebettet wird, wird sie zu 0:0:0:0:0:0:0:A:B:C:D oder einfach ::A:B:C:D
* Diese Arten von IPv6-Adressen werden in automatischen Tunneln verwendet, die sowohl IPv4- als auch IPv6-Protokollstapel unterstützen
; IPv6 Adressen mit eingebetteter IPv4 Adresse
Es gibt zwei Adressen-Typen, die IPv4 Adressen enthalten können
===== IPv4 Adressen in IPv6 Format =====
IPv4-only IPv6-kompatible Adressen kommen manchmal bei IPv6 kompatiblen Daemon zur Anwendung, die allerdings ausschließlich an IPv4 Adressen gebunden sind
Diese Adressen sind mit einer speziellen Präfixlänge von 96 definiert (a.b.c.d. ist die IPv4 Adresse):
oder in komprimiertem Format:
Die IPv4 Adresse 1.2.3.4
* beispielsweise sieht wie folgt aus:
===== IPv4 kompatible IPv6 Adressen =====
Dieser Adress-Typ wurde für das automatische Tunneln (<nowiki>RFC 2893</nowiki> / Transition Mechanisms for IPv6 Hosts and Routers) verwendet, welches aber durch das 6to4 tunneling ersetzt wurde
=== Unicast-Adressen ===
; Kommunikation eines Netzknotens mit genau einem anderen Netzknoten
; Unicast-Adressen sind providerbasierte Adressen und gelten Weltweit
* Sie sind durch die ersten 3 Bit 010 gekennzeichnet
* Anschließend folgen 5 Bit Registry-ID, die das Organ bezeichnen, das diese Adresse an den Provider vergeben hat, auf die wiederum eine Provider-ID folgt
* Anschließend folgt die Subscriber-Id, die die Einrichtung bezeichnet, die von dem Provider die Adresse bezieht
; Subscriber kann sein Netz wiederum in verschiedene Unternetze gliedern
* die durch eine entsprechende ID gekennzeichnet sind
* Die letzten 48 Bit bilden schließlich die Interface-ID
* Da dies genau der Größe einer MAC-Adresse enstpricht, können sich damit Stationen im LAN automatisch konfigurieren, indem sie einfach ihre MAC-Adresse als Interface-ID verwenden
; Weitere Adressbereiche
* die den heutigen lokalen Adressbereichen entsprechen, und die nicht von einem Router geroutet werden
* Es sind dies verbindungsspezifische und standortspezifische lokale Adressen
=== Site Local Unicast (veraltet) ===
; <nowiki> fec0::/10 </nowiki>
* <nowiki> fec0… bis feff… </nowiki>
; Standortlokale Adressen (site local addresses)
* Nachfolger der privaten IP-Adressen (beispielsweise 192.168.x.x)
* Durften nur innerhalb der gleichen Organisation geroutet werden
* Die Wahl des verwendeten Adressraums innerhalb von fec0::/10 war beliebig
; Überschneidungen der Adressräume
* Es konnte zu Überschneidungen der Adressräume an unterschiedlichen Standorten kommen
** Bei der Zusammenlegung von ehemals getrennten Organisationen
** wenn eine VPN-Verbindung zwischen eigentlich getrennten mit Site Local Addresses nummerierten Netzwerken hergestellt wurde
; Deprecated (RFC 3879)
* Aus diesem und weiteren Gründen sind Site Local Addresses nach RFC 3879 veraltet
** werden aus zukünftigen Standards verschwinden
* Neue Implementierungen müssen diesen Adressbereich als Global-Unicast-Adressen behandeln
; Nachfolger sind die [[#Unique Local Unicast|Unique Local Unicast]]-Addressen
==== Site-Local ====
; Site-lokaler Adress-Typ
Diese Adressen sind vergleichbar zu den <nowiki>RFC 1918</nowiki> / Address Allocation for Private Internets im heutigen IPv4
* Eine Neuerung und Vorteil hierbei ist, vergleichbar zum 10.0.0.0/8 im IPv4, die Nutzbarkeit von 16 bits bzw. ein Maximum von 65536 Subnetzen
Ein weiterer Vorteil: Da man bei IPv6 mehr als eine Adresse an ein Interface binden kann, ist auch die Zuweisung einer site-local Adresse zusätzlich zu einer globalen Adresse möglich
Die Adresse beginnt mit:
(''"x"'' ist ein hexadezimales Zeichen, normalerweise ''"0''")
Dieser Adresstyp ist nun abgekündigt <nowiki>RFC 3879</nowiki> / Deprecating Site Local Addresses und sollte nicht mehr verwendet werden
* Für Tests im Labor sind solche Adressen meineserachtens aber immer noch eine gute Wahl
=== Unique Local Unicast ===
; Adressbereich fc00::/7 entsprechen den privaten Adressen des IPv4-Protokolls
* Sie lösen die inzwischen veralteten sitelokalen Unicast-Adressen ab und werden im Internet nicht geroutet
Weil die schon früh definierten site-local Adressen nicht eindeutig sind, kann dies zu großen Problemen führen, wenn beispielsweise einst unabhängige Netzwerke später zusammengeschlossen werden (Überlappung von Subnetzen)
* Aufgrund dessen und anderer Gründe wurde ein neuer Adresstyp definiert, genant <nowiki>RFC 4193</nowiki> / Unique Local IPv6 Unicast Addresses
Die Adresse beginnt mit:
Ein Teil des Präfix (40 Bits) werden pseudozufällig generiert
* Es ist sehr unwahrscheinlich, daß zwei generierte Präfixe identisch sind
Ein Beispiel für einen Präfix (generiert mit Hilfe des web-basierten Werkzeugs: Goebel Consult / createLULA):
==== Globale Unicast-Adressen ====
* Aggregatable global unicast
* Hier sind mehrere Adressbereiche in Gebrauch
* Die endgültigen Bereiche scheinen noch nicht ganz festzustehen, sind für die LPI-Prüfung aber auch nicht von Belang
* Der globale Bereich ist jedenfalls für die Kommunikation im Internet zuständig
* Da diese Adressen bei den meisten Internet Service Providern noch nicht nativ zu bekommen sind, empfehle ich zum Experimentieren die Verwendung eines Tunnelbrokers
Heute gibt es ist per Definition eine globale Adress-Art (Das erste Design, <nowiki>''</nowiki>Provider based<nowiki>''</nowiki> genannt, wurde bereits vor einigen Jahren wieder aufgegeben <nowiki>RFC 1884</nowiki> / IP Version 6 Addressing Architecture [obsolete]
* Einige Überbleibsel hiervon sind in älteren Linux Kernelquellen noch zu finden
Die Adresse beginnt mit (x sind hexadezimale Zeichen)
Hinweis: Der Zusatz "aggregatable" im Namen wird in aktuellen Drafts abgelegt
* Es sind weitere Subarten definiert:
==== 6bone Test-Adressen ====
Diese globalen Adressen waren die Ersten definierten und auch benutzen Adressen
* Sie alle beginnen mit:
Beispiel:
Eine spezielle 6bone Test-Adresse, die niemals weltweit einmalig ist, beginnt mit
und wird zumeist in alten Beispielen benutzt, um zu vermeiden, dass Anwender diese mit Copy & Paste in Ihre Konfigurationen übernehmen können
* Auf diese Weise können Duplikate weltweit einmaliger Adressen aus Versehen bzw. Unachtsamkeit vermieden werden
* Es würde für den Original-Host ernste Probleme bedeuten (beispielsweise Antwortpakete für niemals gesendete Anfragen bekommen...)
* Aufgrund dessen, daß IPv6 nun produktiv ist, wird dieser Präfix nicht mehr länger delegiert und nach dem 6.6.2006 vom Routing ausgenommen (mehr unter <nowiki>RFC 3701</nowiki> / 6bone Phaseout )
=== 6to4 Adressen ===
Diese Adressen werden für einen speziellen Tunnelmechanismus verwendet [<nowiki>RFC 3056</nowiki> / Connection of IPv6 Domains via IPv4 Clouds und <nowiki>RFC 2893</nowiki> / Transition Mechanisms for IPv6 Hosts and Routers]
* Sie kodieren eine gegebene IPv4 Adresse, ein eventuelles Subnetz und beginnen mit
beispielsweise wird 192.168.1.1/5 repräsentiert durch:
Ein kleines Shell-Kommando kann aus einer IPv4 eine 6to4 Adresse erstellen:
Siehe auch tunneling using 6to4 und information about 6to4 relay routers
===== Durch einen Provider zugewiesene Adressen für ein hierarchisches Routing =====
Diese Adressen werden an Internet Service Provider (ISP) delegiert und beginnen mit:
Präfixe für große ISPs (mit eigenem Backbone) werden durch local registries vergeben
* Zurzeit wird ein Präfix mit der Länge 32 zugeteilt
Grosse ISPs delegieren ihrerseits an kleinere ISPs ein Präfix mit der Länge 48
; Für Beispiele und Dokumentationen reservierte Adressen
Momentan sind zwei Adressbereiche für Beispiele und Dokumentationen <nowiki>RFC 3849</nowiki> / IPv6 Address Prefix Reserved for Documentation reserviert:
Diese Adressbereiche sollten nicht geroutet werden und am Übergangsrouter zum Internet (basierend auf Absendeadressen) gefiltert werden
=== Unique Local Unicast (ULA) ===
; <nowiki>fc00::/7 (fc00… bis fdff…)</nowiki>
; Für private Adressen gibt es die Unique Local Addresses (ULA)
* beschrieben in RFC 4193
; Präfix fd
* Derzeit ist nur das Präfix fd für lokal generierte ULA vorgesehen
; Präfix fc
* ist für global zugewiesene, eindeutige ULA reserviert
; Site-ID
* Auf das Präfix folgen 40 Bit, als eindeutige Site-ID
; Eindeutigkeit
* Diese Site-ID ist bei den ULA mit dem Präfix fd zufällig zu generieren und somit ''sehr wahrscheinlich eindeutig''
* Bei global vergebenen ULA jedoch auf jeden Fall eindeutig
** RFC 4193 gibt jedoch keine konkrete Implementierung der Zuweisung von global eindeutigen Site-IDs an
; Subnet-ID
* Nach der Site-ID folgt eine 16-Bit-Subnet-ID, welche ein Netz innerhalb der Site angibt
; Beispiel
;: <nowiki>fd9e:21a7:a92c:2323::1</nowiki>
; Hierbei ist
* fd das Präfix für lokal generierte ULAs
* 9e:21a7:a92c ein einmalig zufällig erzeugter 40-Bit-Wert
* 2323 eine willkürlich gewählte Subnet-ID
* ::1 die Host-ID
; Vorteil der Verwendung von wahrscheinlich eindeutigen Site-IDs
* Beim Einrichten eines Tunnels zwischen getrennt voneinander konfigurierten Netzwerken sind Adresskollisionen sehr unwahrscheinlich
* Pakete, die an eine nicht erreichbare Site gesendet werden, laufen mit großer Wahrscheinlichkeit ins Leere, statt an einen lokalen Host gesendet zu werden, der zufällig die gleiche Adresse hat
; ULA-Central
* Es existiert ein proposed standard, welcher Richtlinien für Registrare (IANA, RIR) beschreibt, konkret deren Betrieb sowie die Adressvergabe-Regeln
* Allerdings ist eine derartige "ULA-Central" bisher nicht gegründet
* Sowohl der RFC 4193 als auch der proposed standard sind identisch in Bezug auf das Adressformat und den Generierungs-Algorithmus
=== Global Unicast ===
; Alle anderen Adressen gelten als Global-Unicast-Adressen
; Von diesen sind jedoch bisher nur die folgenden Bereiche zugewiesen
; <nowiki>::/96 (96 0-Bit)</nowiki>
Stand für IPv4-Kompatibilitätsadressen
* welche in den letzten 32 Bit die IPv4-Adresse enthielten
* dies galt nur für globale IPv4 Unicast-Adressen
* Diese waren für den Übergang definiert
* In RFC 4291 vom Februar 2006 als veraltet (engl. deprecated) gekennzeichnet
; <nowiki>0:0:0:0:0:ffff::/96 (80 0-Bit, gefolgt von 16 1-Bit)</nowiki>
Steht für IPv4 mapped (abgebildete) IPv6 Adressen
* Die letzten 32 Bit enthalten die IPv4-Adresse
* Ein geeigneter Router kann diese Pakete zwischen IPv4 und IPv6 konvertieren
** und so die neue mit der alten Welt verbinden
; <nowiki>2000::/3 (2000… bis 3fff…; was dem binären Präfix 001 entspricht)</nowiki>
* Stehen für die von der IANA vergebenen globalen Unicast-Adressen
* Routbare und weltweit einzigartige Adressen
===== Bildung einer Globalen Unicast Adresse =====
; Unterteilung des Adressraumes in öffentlichen (TLA, NLA, SLA) und lokalen Bereich (64 Bit + 64 Bit)
[[File:ipv6Adressierung15.png|mini|600px]]
* Routing im öffentl. Bereich effizient durch hierarchische Netz-topologische Orientierung
* Routing im lokalen Bereich effizient durch festen "public-" Teil der Adresse (64 Bit)
Nur Top-Level Aggregation ID muss zentral verwaltet werden
; Adressvergabe erfolgt blockweise hierarchisch von oben nach unten
Derzeit beginnen in der Internet-IPv6-Routing-Tabelle alle Präfixe mit der hexadezimalen Ziffer 2 oder 3, da die IANA nur Adressen vergibt, die mit den ersten 3 Bit 001 beginnen
Subnetzmasken
Teilen IP-Adressen in einen Netz- und einen Host-Teil
Lehren aus IPv4
Es wäre von Vorteil
Interfaces mit meherenen IP-Adresse
je nach Bedarf und Zweck (aliases, multicast und weitere)
Um in Zukunft flexibler bleiben zu können, geht man bei IPv6 weiter und erlaubt pro Interface mehr als eine zugewiesene IP-Adresse
Derzeit sind durch die RFCs kein Limit gesetzt, wohl aber in der Implementierung des IPv6 Stacks (um DoS Attacken vorzubeugen)
Neben der großen Bit-Anzahl für Adressen definiert IPv6 basierend auf einigen vorangestellten Bit verschiedene Adress-Typen
Diese werden hoffentlich in der Zukunft niemals aufgehoben (zum Unterschied zu IPv4 heute und die Entwicklung der class A, B und C Netze)
Zur Unterstützung einer automatischen Konfiguration wird die Bitanzahl in einen Netzwerk-Teil (vordere 64 Bits) und einen Hostteil (hintere 64 Bit)
Bei der Auto-Konfiguration wird der Hostteil der Adresse durch die Konvertierung der MAC-Adresse eines Interfaces (falls vorhanden) zu einer einmaligen IPv6 Adresse (mittels EUI-64 Methode) generiert
Falls keine MAC-Adresse verfügbar ist (beispielsweise bei virtuellen Interfaces), wird anstelle dessen etwas anderes herangezogen (wie beispielsweise die IPv4 Adresse oder die MAC-Adresse eines physikalischen Interfaces)
Als Beispiel hat hier ein NIC folgende MAC-Adresse (48 bit)
Diese wird gemäß demIEEE-Tutorial EUI-64 Design für EUI-48 Identifiers zum 64 bit Interface Identifier erweitert:
Mit einem gegebenen Präfix wird daraus die schon oben gezeigte IPv6-Adresse:
Datenschutzproblem
Datenschutzproblem mit automatisch erstellten Adressen sowie eine Lösung
Der "automatisch generierte" Hostteil ist weltweit einmalig
mit Ausnahme, wenn der Hersteller einer NIC die gleiche MAC-Adresse bei mehr als einer NIC einsetzt
Die Client-Verfolgung am Host wird dadurch möglich, solange kein Proxy verwendet wird
Dies ist ein bekanntes Problem und eine Lösung wurde dafür definiert
Privacy Extensions for Stateless Address Autoconfiguration in IPv6 (es gibt bereits ein neueres Draft: draft-ietf-ipv6-privacy-addrs-v2-*)
Es wird sporadisch mittels eines statischen und eines Zufallswertes ein neues Suffix erstellt
Hinweis
Dies ist nur für ausgehende Client-Verbindungen sinnvoll und bei bekannten Servern nicht wirklich sinnvoll
Manuell festgelegte Adressen
Bei Servern ist es wahrscheinlich leichter, sich einfachere Adressen zu merken
Dies kann beispielsweise mit der Zuweisung einer zusätzlichen IPv6 Adresse an ein Interface geschehen
Für das manuelle Suffix, wie "::1" im obigen Beispiel, muss das siebte höchstwertige Bit auf 0 gesetzt sein (das universale/local Bit des automatisch generierten Identifiers)
Es sind auch noch andere (ansonsten nichtausgewählte) Bit-Kombinationen für Anycast-Adressen reserviert
Präfixlängen für das Routing
IPv6-Adressentypen
Eine IPv6-Adresse ist eine 128-Bit-Kennung der Netzwerkschicht für eine Netzwerkschnittstelle eines IPv6-fähigen Knotens
Eine Netzwerkschicht-Kennung für eine Reihe von Schnittstellen, die zu verschiedenen IPv6-fähigen Knoten gehören
Pakete, die an eine Anycast-Adresse gesendet werden, werden an die "nächstgelegene" Schnittstelle zugestellt, die durch diese Adresse identifiziert wird. "Am nächsten" bedeutet in der Regel diejenige mit der besten Routing-Metrik gemäß dem IPv6-Routing-Protokoll
Es handelt sich also um eine "one-to-closest"-Kommunikation
Broadcast - In IPv6 gibt es keine Broadcast-Adressen
Die Broadcast-Funktionalität wird über Multicast-Adressen implementiert.
Multicast
Netzwerk-Multicast ist eine Technik, bei der ein Knoten Pakete an mehrere Ziele gleichzeitig sendet (one-to-many)
Bei den Zielen handelt es sich eigentlich um eine Reihe von Schnittstellen, die durch eine einzige Multicast-Adresse, die sogenannte Multicast-Gruppe, identifiziert werden
In IPv6 werden Multicast-Adressen von allen anderen Typen durch den Wert der äußersten linken 8 Bit der Adressen unterschieden: ein Wert von 11111111 (Hexadezimalziffern FF) bedeutet, dass es sich um eine Multicast-Adresse handelt
Daher sind alle Multicast-Adressen Teil des Präfixes ff00::/8, was dem IPv4-Multicast-Adressraum 224.0.0.0/4 entspricht
Regeln für Multicast
Pakete, die an eine Multicast-Gruppe gesendet werden, haben immer eine Unicast-Quelladresse
Eine Multicast-Adresse kann nicht die Quelladresse eines Pakets sein
In IPv6 gibt es keine Broadcast-Adressen
Stattdessen werden in IPv6 für diese Funktion spezielle Multicast-Gruppen verwendet - eine Multicast-Adresse für alle IPv6-Geräte und eine Multicast-Adresse für angefragte Knoten
Bekannte Multicast-Adressen
Bei IPv4 gibt es mehrere bekannte Multicast-Adressen im Bereich 224.0.0.0/24
Bekannt bedeutet, dass diese Adressen vordefiniert
für eine besondere Verwendung reserviert sind
In IPv6 beginnen alle bekannten Multicast-Adressen mit dem Präfix ff00::/12
Das bedeutet, dass die ersten 3 Hexadezimalziffern einer Adresse immer ff0 sind
Beispiele
Adresse
Funktion
FF02::1
Alle Knoten Adresse
FF02::2
Alle Router Adresse
FF02::4
DVMRP-Router
FF02::5
Alle OSPFv3-Router
FF02::6
OSPFv3 Bezeichnete Router
FF02::a
Alle EIGRP (IPv6)-Router
FF02::D
Alle PIM-Router
FF02::12
VRRP
FF02::16
Alle MLDv2-fähigen Router
Solicited-node Multicast Address
Eine Solicited-Node-Multicast-Adresse ist eine spezielle Art von IPv6-Multicast
Sie wird als effizienterer Ansatz für die IPv4-Broadcast-Zustellung verwendet
Eine Solicited-Node-Multicast-Adresse wird automatisch über einen IPv6-Unicast einer Schnittstelle generiert
Solicited-Node-Multicast-Adresse
Wenn eine Schnittstelle mit einer IPv6-Unicast-Adresse konfiguriert wird, wird automatisch eine Solicited-Node-Multicast-Adresse auf der Grundlage der Unicast-Adresse für diese Schnittstelle generiert, und der Knoten tritt der Multicast-Gruppe bei
Daher hat jede Unicast-Adresse eine entsprechende Solicited-Node-Multicast-Adresse
Diese automatisch generierte Multicast-Gruppe wird dann für die Adressauflösung, die Nachbarschaftserkennung und die Erkennung von Adressduplikaten verwendet
Eine Solicited-Node-Multicast-Adresse aus dem festen Präfix FF02::1:FF00:0/104 und den letzten 24 Bit der entsprechenden IPv6-Adresse
Wie wir bereits gelernt haben, gibt es in IPv6 keinen Broadcast
Es gibt auch kein ARP
Wenn ein Knoten die MAC-Adresse einer bekannten IPv6-Adresse auflösen muss, muss das Gerät dennoch eine Anfrage senden
In diesem Anforderungspaket ist die IPv6-Zieladresse die Multicast-Adresse des angefragten Knotens, die der IPv6-Unicast-Zieladresse entspricht (als Referenz: bei IPv4-ARP ist die Zieladresse 0.0.0.0), und die MAC-Zieladresse ist die Multicast-MAC-Adresse, die der Multicast-Adresse entspricht
Nur der Zielknoten "hört" auf diese Multicast-Adresse des angefragten Knotens
Daher wird die Anfrage nur vom Zielknoten verarbeitet und nicht von allen an der Verbindung angeschlossenen Knoten, wie es bei Broadcasted ARP in IPv4 der Fall ist
Multicast-Adressen werden für entsprechende Dienste verwendet
Sie beginnen immer mit (xx ist hierbei der Wert der Reichweite)
Die Adressen werden in Reichweiten und Typen unterteilt:
Multicast-Bereiche
Die Multicast Reichweite ist ein Parameter, mit dem die maximale Distanz angegeben werden kann, die ein Multicast Paket sich von der versendenden Einheit entfernen kann
Zurzeit sind folgende Regionen (reichweiten) definiert:
Bereich
Beschreibung
ffx1
Node-lokal, Pakete verlassen niemals den Knoten
ffx2
Link-lokal, Pakete werden niemals von Routers weitergeleitet, der angegebene Link wird nie verlassen
ffx5
Site-lokal, Pakete verlassen niemals den Standort (Site)
ffx8
organisationsweit, Pakete verlassen niemals eine Organisation (nicht einfach zu implementieren, dies muss durch das Routing Protokoll abgedeckt werden)
ffxe
Globale Reichweite
...
Sonstige sind reserviert
Multicast-Typen
Es sind bereits viele Typen definiert bzw. reserviert (siehe RFC 4291 / IP Version 6 Addressing Architecture für weitere Details), einige Beispiele:
All Nodes Adresse: ID = 1h, alle Hosts am lokalen Node (ff01:0:0:0:0:0:0:1) oder am angeschlossenen Link (ff02:0:0:0:0:0:0:1) werden adressiert
All Routers Adresse: ID = 2h, alle Router am lokalen Node (ff01:0:0:0:0:0:0:2), am angeschlossenen Link (ff02:0:0:0:0:0:0:2) oder am lokalen Standort werden adressiert
Erforderliche node link-local Multicast Adresse
Diese spezielle Multicast Adresse wird als Zieladresse bei der Erkundung des Nahbereichs verwendet, da es ARP bei IPv6 im Gegensatz zu IPv4 nicht mehr gibt
Ein Beispiel für diese Adresse könnte sein:
Das benutzte Präfix zeigt, dass es sich um eine link-lokale Multicast Adresse handelt
Dass Suffix wird aus der Zieladresse erstellt
In diesem Beispiel soll ein Paket zur Adresse "fe80::1234" gesendet werden, aber die Netzwerk-Schicht hat keine Kenntnis der aktuellen Schicht 2 MAC Adresse
Die oberen 104 bits werde mit "ff02:0:0:0:01:ff00::/104" ersetzt und die unteres 24 bits bleiben unverändert
Diese Adresse wird nun "am Link" verwendet, um den entsprechenden Node zu finden, der wiederum seine Schicht 2 MAC Adresse als Antwort zurücksendet
Multicast-Adressen
Multicast-Adressen sprechen eine Gruppe von Rechnern an
Das ist zum Beispiel für Video on Demand oder Fernunterricht nützlich und spart Bandbreite, da es bereits auf der IP-Schicht ausgewertet wird und mehrfache Übertragung von Paketen verhindert
Auch mehrere NTP-Server können einer Multicast-Gruppe angehören
Multicast-Adressen beginnen alle mit der Bitfolge 1111 1111
Darauf folgen dei Felder Flag und Scope
Bisher ist allerdings nur das Flag T definiert, mit den Werten 1 für dauerhaft und 0 für temporär
Einer-zu-vielen-Kommunikation wird durch Multicast-Adressen abgebildet
Typ: 0000
fest definiert (ANA), 0001
Adresse wurde "frei" vergeben
Scope
Gültigkeitsbereich 0001 nur lokales Endgerät
Wert
Scope
0010
Link lokal
0101
Site lokal
1000
Organisations-lokal
1110
Global
Regel
FF02::1:FF00:0/104 zzgl. letzte 24 Bit der Unicast Adresse
Link-Lokale MC Adresse des Endsystems (für Neighbor Discovery)
Beispiele für Multicast-Adressen
FFO1::1 alle lokalen Interfaces FF02::1 alle Link-lokalen Interfaces
FF05::2 alle Site-Ilokalen Router FF0x::202 Sun RPC
Präfix ff00::/8 (ff…)
stehen für Multicast-Adressen
Nach dem Multicast-Präfix folgen
4 Bit für Flags
4 Bit für den Gültigkeitsbereich (Scope)
Flags sind zurzeit in folgenden Kombinationen gültig
Wert
Bezeichnung
Beschreibung
0
Permanent
definierte wohlbekannte Multicast-Adressen (von der IANA zugewiesen)
1
T-Bit gesetzt
Transient (vorübergehend) oder dynamisch zugewiesene Multicast-Adressen
Multicast-Adressen, welche die Adresse des Rendezvous-Point enthalten (RFC 3956)
Gültigkeitsbereiche
Weitere Bereiche sind nicht zugewiesen
Können von Administratoren benutzt werden, um weitere Multicast-Regionen zu definieren
Wert
Scope
Beschreibung
1
interfacelokal
diese Pakete verlassen die Schnittstelle nie. (Loopback)
2
link-lokal
werden von Routern grundsätzlich nie weitergeleitet und können deshalb das Teilnetz nicht verlassen
4
adminlokal
der kleinste Bereich, dessen Abgrenzung in den Routern speziell administriert werden muss
5
sitelokal
dürfen zwar geroutet werden, jedoch nicht von Border-Routern
8
organisationslokal
die Pakete dürfen auch von Border-Routern weitergeleitet werden, bleiben jedoch "im Unternehmen" (hierzu müssen seitens des Routing-Protokolls entsprechende Vorkehrungen getroffen werden)
e
globaler Multicast
darf überallhin geroutet werden
0, 3, f
reservierte Bereiche
Beispiele für wohlbekannte Multicast-Adressen
ff01::1, ff02::1: All Nodes Adressen
Entspricht dem Broadcast
ff01::2, ff02::2, ff05::2: All Routers Adressen, adressiert alle Router in einem Bereich
Anycast-Adressen
Anycast Adressen
Verschiedene Endgeräte sind unter einer (Anycast-) Adresse erreichbar
Auslieferung des Paketes normalerweise an das Interface des Endgerätes, welches (Netztopologie) Routing-mäßig das nächstliegende ist
Unterscheidet sich nicht von normaler Unicast-Adresse 4 Anycast Funktionalität ist durch die Router und durch Konfiguration des Endgerätes zu realisieren
Derzeit nur für Router oder Server zulässig (Änderung jedoch absehbar)
Anwendungsbeispiele
Dienste unter global gleicher Adresse effizient verfügbar (Routing zum PoP)
Load Balancing
erhöhte Stabilität durch mehrere Router gleicher Adresse
Mobile IPv6 Home Agents Anycast (Anycast Id. 126 oder 7E)
Mit Anycast-Adressen erreicht man genau einen aus einer Gruppe von Rechnern
die die selbe Anycast-Adresse haben
Zum Beispiel einen aus einer Gruppe von Nameservern, oder von Routern bei einem Provider
Anycast Adressen sind spezielle Adressen und werden verwendet, um besondere Bereiche wie den nächstgelegenen DNS-Server, den nächstliegenden DHCP Server und vergleichbare dynamische Gruppen abzudecken
Die Adressen werden dem Pool des Unicast Adressraums (global-aggregierbar oder Site-lokal zurzeit) entnommen
Der Anycast-Mechanismus (client view) wird von dynamischen Routing-Protokollen gehandhabt
Hinweis: Anycast Adressen können nicht als Quelladresse verwendet werden, sondern ausschließlich als Zieladressen
Subnet-Router Anycast-Adresse
Die Subnet-Router Anycast Adresse ist ein einfaches Beispiel für eine Anycast Adresse
Angenommen, der Knoten hat folgende global zugewiesene IPv6 Adresse:
Die Subnet-Router Anycast Adresse wird durch komplette Streichung des Suffixes (die letzten gültigen 64 bits) erstellt:
Anycast
Eine Anycast-Adresse ist eine Kennung der Netzebene, die in der Regel mehr als einer Schnittstelle (einem Satz von Schnittstellen) zugewiesen wird, die zu verschiedenen IPv6-fähigen Knoten gehören
Pakete, die an eine Anycast-Adresse gesendet werden, werden an die "nächstgelegene" Schnittstelle zugestellt, die durch diese Adresse identifiziert wird
"Am nächsten" bedeutet in der Regel diejenige mit der besten Routing-Metrik gemäß dem IPv6-Routing-Protokoll
Anycast-Adressen werden aus dem Unicast-Adressraum zugewiesen, daher sind sie nicht von globalen Unicast-Adressen zu unterscheiden
Wenn dieselbe Unicast-Adresse für mehr als eine Schnittstelle konfiguriert wird, handelt es sich um eine Anycast-Adresse
Geräte, denen eine Anycast-Adresse zugewiesen wurde, müssen explizit so konfiguriert werden, dass sie erkennen, dass die Adresse für die Anycast-Kommunikation verwendet wird, wie im folgenden Konfigurationsbeispiel gezeigt