Das erste, was über IPv6-Subnetze erwähnt werden sollte, ist, dass eine andere Denkweise erforderlich ist . In IPv4 überlegen Sie normalerweise, wie viele Adressen Ihnen zur Verfügung stehen und wie Sie jedem Endbenutzer genug davon zuweisen können. In IPv6 denken Sie normalerweise darüber nach, wie viele (/ 64) Subnetze verfügbar sind und wie Sie diese Endbenutzern zuweisen können. Sie machen sich fast keine Gedanken darüber, wie viele IP-Adressen in einem bestimmten Subnetz verwendet werden. Mit Ausnahme einiger Sonderfälle wie Punkt-zu-Punkt-Verbindungen verfügt jedes Subnetz lediglich über weitaus mehr Adressen, als jemals benötigt werden. Stattdessen kümmern Sie sich nur um die Zuweisung von Subnetzen und nicht um Hosts in diesen.
IPv6-Subnetze sind normalerweise / 64, da dies erforderlich ist, damit SLAAC (Stateless Address Autoconfiguration) funktioniert. Auch wenn SLAAC nicht verwendet wird, kann es andere Gründe geben, / 64 zu verwenden. Es kann zum Beispiel einige Endbenutzergeräte geben, die nur / 64 annehmen, oder das Routing von Subnetzen, die länger als / 64 sind, kann auf einigen Routern ineffizient sein, da der Router-Implementierer den Fall von / 64 oder kürzeren Routen optimiert hat, um diese zu speichern Routing-Tabellenspeicher.
Warum wird empfohlen, / 127 für Punkt-zu-Punkt-Verknüpfungen zu verwenden?
Für den speziellen Fall von Punkt-zu-Punkt-Verbindungen wird / 127 anstelle von / 64 empfohlen, um eine Sicherheitsanfälligkeit zu vermeiden, bei der Paketadressen an eine der Billiarden nicht verwendeter Adressen im Subnetz unerwünschte Nachbaranfragen und Tabelleneinträge verursachen könnte einen Router ertrinken. Solche falsch adressierten Pakete können böswillig oder versehentlich sein. Aber selbst wenn Sie tatsächlich eine Punkt-zu-Punkt-Verbindung als / 127 konfigurieren, empfehlen einige Leute, trotzdem eine ganze / 64 zuzuweisen, nur um konsistent zu sein.
Warum sollten virtuelle Maschinen mit Subnetzen kleiner als / 64 bereitgestellt werden?
Ich weiß nicht genau, warum virtuelle Maschinen mit Subnetzen kleiner als / 64 bereitgestellt werden. Vielleicht, weil ein Hosting-Anbieter davon ausgegangen ist, dass ein Server wie ein Endbenutzer ist und nur ein einziges (/ 64) Subnetz benötigt, und nicht damit gerechnet hat, dass der Server tatsächlich eine Sammlung von VMs ist, die eine interne Routingtopologie erfordern? Dies könnte auch einfach erfolgen, um das Speichern des Adressierungsplans zu vereinfachen: Der Host erhält PREFIX::/64
, dann erhält jede VM, PREFIX:0:NNNN::/96
wo NNNN für die VM eindeutig ist, und die VM kann nach PREFIX:0:NNNN:XXXX:YYYY
Belieben zuweisen .
Kann ich IPv4-Subnetze direkt IPv6-Subnetzen zuordnen? Entspricht zum Beispiel ein IPv4 / 24 direkt einem IPv6 / 56 oder / 120?
Im Hinblick auf die Funktionsweise von Adressierung und Routing hat die Präfixlänge in IPv6 und IPv4 dieselbe Bedeutung. Auf dieser Ebene können Sie eine Analogie erstellen, z. B. "Ein IPv4 / 16 verwendet die Hälfte der Bits für die Netzwerkadresse und die Hälfte der Bits für die Hostadresse, das ist wie ein / 64 in IPv6". Aber dieser Vergleich ist nicht wirklich zutreffend. In IPv6 haben sich starke Konventionen herauskristallisiert, durch die die Aufteilung der Netzwerkgrößen eher der alten Welt klassischer Netzwerke in IPv4 ähnelt. IPv6 hat zwar keine klassenbezogene Adressierung wieder eingeführt, bei der die höchstwertigen Bits der Adresse eine bestimmte Netzmaske erzwingen. Was IPv6 jedoch hat, sind bestimmte [defacto / konventionell] Standardnetzgrößen:
- / 64 : Die Grundgröße eines einzelnen Subnetzes: LAN, WAN, Adressblock für virtuelle Webhosts usw. Von "normalen" Subnetzen wird niemals erwartet, dass sie kleiner (längeres Präfix) als / 64 sind. Es wird nie erwartet, dass Subnetze größer (kürzeres Präfix) als / 64 sind, da die Hostadressen eines / 64 weitaus mehr sind, als wir uns vorstellen können.
- / 56 : Ein Block mit 256 grundlegenden Subnetzen. Obwohl die derzeitigen Richtlinien es ISPs ermöglichen, jedem Endbenutzer Blöcke mit einer Größe von bis zu / 48 zuzuweisen, und ihre Adressverwendung dennoch als gerechtfertigt erachten, können einige ISPs (und tun dies bereits) als Kompromiss die Zuweisung von / 56 an Consumer-Grade-Kunden wählen zwischen Zuordnung viele Subnetze für sie und Adresswirtschaft.
- / 48 : Ein Block mit 65536 Basissubnetzen und der empfohlenen Blockgröße, die jeder ISP-Kundenendstandort erhalten sollte.
- / 32 : Die Standardgröße des Blocks, die die meisten ISPs erhalten, wenn sie weitere Adressen von einem regionalen Adressregister anfordern.
Innerhalb von Service-Providern und Unternehmensnetzwerken sind viel mehr Präfixlängen als diese 4 zu sehen. Wenn Sie sich die Routingtabellen von Routern in diesen Netzwerken ansehen, haben IPv4 und IPv6 viele Gemeinsamkeiten, einschließlich der meisten Routing-Funktionen: Routen für längere Präfixe haben Vorrang vor Routen für kürzere Präfixe, sodass Aggregationen (Verkürzungen) und Drills möglich sind Strecken zurücklegen (verlängern). Wie in IPv4 können Routen zu größeren Blöcken mit kürzeren Präfixen zusammengefasst oder zusammengefasst werden, um die Größe der Routingtabellen zu minimieren.
Eine andere Frage der Zuordnung zwischen IPv4 und IPv6 wäre die Harmonisierung der IPv4- und IPv6-Zuweisungen auf Dual-Stack-Computern, damit Adressierungspläne leicht verstanden werden können. Weit , dass es sicherlich Konventionen im allgemeinen Gebrauch sind , dies zu tun: Einbetten der IPv4 „Subnet - Nummer“ in einen Teil des IPv6 - Präfix, entweder mit BCD (zB 10.0.234.0/24
wird 2001:db8:abcd:234::/64
) oder binary ( 10.0.234.0/24
wird 2001:db8:abcd:ea::/64
).
Meine Schnittstellen haben mehrere IPv6-Adressen. Muss das Subnetz für alle gleich sein?
Absolut nicht! Es wird erwartet, dass IPv6-Hosts über mehrere IP-Adressen verfügen, die aus verschiedenen Subnetzen stammen, genau wie IPv4. Wenn sie automatisch mit SLAAC konfiguriert wurden, stammen die verschiedenen Subnetze möglicherweise aus Routerankündigungen von verschiedenen Routern.
Warum sehe ich manchmal ein% anstelle eines / in einer IPv6-Adresse und was bedeutet das?
Sie würden nicht eins anstelle des anderen sehen. Sie haben unterschiedliche Bedeutungen. Ein Schrägstrich kennzeichnet ein Präfix (Subnetz), dh einen Adressblock, der alle mit denselben n
Bits beginnt . Eine Adresse ohne Schrägstrich ist eine Hostadresse. Sie können sich eine solche Adresse so vorstellen, dass am Ende ein implizites "/ 128" steht, was bedeutet, dass alle 128 Bits angegeben sind.
Das Prozentzeichen begleitet eine linklokale Adresse. In IPv6 hat jede Schnittstelle zusätzlich zu anderen IP-Adressen eine verbindungslokale Adresse. Die Sache ist aber, linklokale Adressen sind immer, ausnahmslos, im fe80::/10
Block. Wenn wir jedoch versuchen, über eine lokale Linkadresse mit einem Peer zu kommunizieren und der lokale Host über mehrere Schnittstellen verfügt, wie können wir dann ermitteln, welche Schnittstelle für die Kommunikation mit diesem Peer verwendet werden soll? Normalerweise gibt die Routing-Tabelle an, welche Schnittstelle für ein bestimmtes Präfix verwendet werden soll. Hier wird jedoch angegeben, welche Schnittstelle fe80::/10
über jede Schnittstelle erreichbar ist.
Die Antwort ist, dass wir ihm mithilfe der Syntax mitteilen müssen, welche Schnittstelle verwendet werden soll address%interface
. Zum Beispiel fe80::1234:5678:8765:4321%eth0
.
Verschwende ich zu viele Subnetze? Gehen wir nicht einfach wieder zur Neige?
Niemand weiß. Wer kann die Zukunft erzählen?
Aber bedenke dies. In IPv6 ist die Anzahl der verfügbaren Subnetze das Quadrat der Anzahl der verfügbaren Einzeladressen in IPv4. Das ist wirklich ziemlich viel. Nein, ich meine wirklich ziemlich viel!
Aber dennoch: Wir verteilen automatisch eine / 32 an jeden ISP, der eine anfordert. Wir verteilen eine / 48 an jeden einzelnen ISP-Kunden. Vielleicht übertreiben wir und wir werden schließlich IPv6 verschwenden. Aber es gibt eine Bestimmung für diese: Nur ein Achtel des IPv6 - Raumes ist für den Einsatz bisher zur Verfügung gestellt worden: 2000::/3
. Die Idee ist, dass wir es noch sieben Mal versuchen müssen, bevor wir in Schwierigkeiten geraten, wenn wir das erste Achtel schrecklich durcheinander bringen und die liberale Allokationspolitik drastisch überarbeiten müssen.
Und schließlich: IPv6 muss nicht ewig dauern. Vielleicht hat es eine längere Lebensdauer als IPv4 (eine beeindruckende Lebensdauer, die noch nicht vorbei ist), aber wie jede Technologie wird es irgendwann aufhören, eine Rolle zu spielen. Wir müssen es nur bis dahin schaffen.