IPv6/Adresse/Eigenschaften: Unterschied zwischen den Versionen
Zeile 72: | Zeile 72: | ||
** vereinfacht Multihoming | ** vereinfacht Multihoming | ||
|} | |} | ||
=== Adressnotation === | === Adressnotation === |
Version vom 17. Dezember 2023, 21:37 Uhr
topic - Kurzbeschreibung
Beschreibung
Wahl der Adress-Länge
Warum ist sie so lang?
- Bei der Entwicklung von IPv4 dachte man, dass 32 Bits für die Welt ausreichend wären
Blickt man zurück, so waren bis heute 32 bits ausreichend.
- Vielleicht ist dies auch noch für ein paar Jahre so.
- Jedoch werden 32 bits nicht ausreichen, um in der Zukunft jedes Netzwerkgerät mit einer globalen Adresse ausstatten zu können.
- Denken Sie an Mobiltelefone, Autos (mit elektronischen Geräten an einem CAN Bus), Toaster, Kühlschränken, Lichtschalter usw.
- Die IPv6 Designer haben 128 Bit gewählt, 4-mal mehr als im heutigen IPv4.
Aber die benutzbare Größe ist kleiner als es erscheinen mag, da in dem gegenwärtig definierten Adress-Schema 64 Bits für die Schnittstellen-Identifizierung verwendet werden.
- Die zweiten 64 Bit werden für das Routing verwendet.
- Die derzeitigen Aggregation-Levels (= Größe der zugeteilten IP-Blöcke) vorausgesetzt (/48, /32,...), ist eine Verknappung der Adressen weiterhin denkbar.
- Aber mit Sicherheit nicht bald.
Weitere Informationen finden Sie unter RFC 1715 / The H Ratio for Address Assignment Efficiency und RFC 3194 / The Host-Density Ratio for Address Assignment Efficiency.
Warum ist sie so kurz?
- Es gibt (wahrscheinlich) eine Gruppe (bekannt ist nur Jim Fleming...) von Personen am Internet, die über IPv8 und IPv16 nachdenken
Für diese Designs gibt es aber keine hohe Akzeptanz und auch keine Kernel-Implementierungen. 128 bits sind die beste Wahl bezogen auf Header-Overhead und dem Datentransport.
- Denken Sie an die minimale Maximum Transfer Unit (MTU) in IPv4 (575 octets) und in IPv6 (1280 octets), die Header-Länge in IPv4 (20 octets Minimum, kann bis zu 60 octets mit IPv4 Optionen ansteigen) und in IPv6 sind es 40 octets (fixer Wert).
- Dies ist 3.4 % der minimalen MTU in IPv4 und 3.1 % der minimalen MTU in IPv6.
- Dies bedeutet, dass der Overhead beim Header fast identisch ist.
- Mehr bits für die Adressierung würden größere Header und deshalb mehr Overhead erfordern.
- Bedenken Sie auch die maximale MTU von 1500 octets (in speziellen Fällen bei Jumbo-Paketen bis zu 9k octets) bei normalen Verbindungen (z. B. Ethernet).
- Letztlich wäre es kein korrektes Design, wenn 10 % oder 20 % der transportierten Daten in einem Schicht 3-Paket für Adressen und nicht für die ”Nutzlast” benötigt würden.
Adressaufbau von IPv6
$ ip -6 a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 state UNKNOWN qlen 1000 inet6 ::1/128 scope host noprefixroute valid_lft forever preferred_lft forever 2: enp5s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP qlen 1000 inet6 2001:470:6d:b25:8ad:9fd5:a987:ae27/64 scope global dynamic noprefixroute valid_lft 86281sec preferred_lft 14281sec inet6 fe80::2aa1:d9b5:c8a6:bcbb/64 scope link noprefixroute valid_lft forever preferred_lft forever
Eigenschaft | Beschreibung |
---|---|
Länge | 128 Bit
128 Bit sind in dezimaler Darstellung schlecht lesbar
|
IPv6-Adressen sind wie in IPv4 Netzwerk-Interfaces zugewiesen | Ein Interface hat in der Regel mehrere IPv6-Adressen |
Scope | IPv6-Adressen haben beschränkten Gültigkeitsbereich
|
lifetime | IPv6-Adressen haben begrenzte Lebensdauer
|
Unicast, Multicast und Anycast | Spezifikation verschiedener Unicast, Multicast und Anycast Adressen
|
Mehreren IP-Adressen | Netzwerkschnittstellen können unter mehreren IP-Adressen erreichbar sein
|
Interface-Identifier | Ein Interface-Identifier kann damit Teil mehrerer IPv6-Adressen sein
|
Adressnotation
- Binäre Darstellung
0010 0000 0000 0001 0000 1101 1011 1000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0001
- Hexadezimale Darstellung
2001:0DB8:0000:0000:0000:0000:0000:0001
Notation von IPv6-Adressen
- RFC 4291
Hexadezimale Notation
Acht Blöcke je 4 Nibble
- Mit Doppelpunkten getrennt
- 2001:0db8:85a3:08d3:1319:8a2e:0370:7344
Führende Nullen dürfen ausgelassen werden
- 2001:0db8:0000:08d3:0000:8a2e:0070:7344
ist gleichbedeutend mit
- 2001:db8:0:8d3:0:8a2e:70:7344
Aufeinander folgende 0-Blöcke werden durch :: ersetzt
- 2001:0db8:0:0:0:0:1428:57ab
ist gleichbedeutend mit
- 2001:db8::1428:57ab
Adressnotation
- Einbettung eines IPv4-Adressraums in den IPv6-Adressraum
Die letzten vier Byte können dezimal notiert werden
- ::ffff:127.0.0.1
ist eine alternative Schreibweise für
- ::ffff:7f00:1
Reduktion durch Regel 3 darf nur einmal durchgeführt werden
- Es darf höchstens eine zusammenhängende Gruppe aus Null-Blöcken in der Adresse ersetzt werden.
- 2001
- 0db8:0:0:8d3:0:0:0
darf gekürzt werden zu
- 2001:db8:0:0:8d3::
oder
- 2001:db8::8d3:0:0:0
- Wegen Mehrdeutigkeit Unzulässig
-
- 2001:db8::8d3::
könne als
- 2001:db8:0:0:0:8d3:0:0
interpretiert werden
- Es empfiehlt sich, den Block mit den meisten Null-Blöcken zu kürzen.
Notation für und zwischen Menschen
- Zulässige Schreibweisen nach RFC 4291
2001:db8:0:0:1:0:0:1 2001:0db8:0000:0000:1:00:0:1 2001:db8::1:0:0:1 2001:db8::0:1:0:0:1 2001:0db8::0:1:0:0:1 2001:db8:0:0:1::1 2001:db8:0000:0:1::1 2001:DB8:0:0:1::1 2001:DB8:0:0:1::1
RFC 5952
- Verbindliche Regeln zur Notation
Notation und Darstellung für und zwischen Menschen
Führende Nullen müssen weggelassen werden |
✗ 2001:0db8:00::001 → 2001:db8::001 |
Zwei Doppelpunkte müssen die größtmögliche Anzahl von Null-Blöcken kürzen |
✗ 2001:db8:0:0:0:0:0:1 → 2001:db8::0:1 |
Zwei Doppelpunkte dürfen nicht zur Kürzung eines alleinstehenden Null-Blocks benutzt werden |
✗ 2001:db8:0:1:1:1:1:1 → 2001:db8::1:1:1:1:1 |
Bei gleichwertigen Möglichkeiten zur Kürzung ist die erste von links zu wählen |
✗ 2001:db8:0:0:1:0:0:1 → 2001:db8:0:0:1::1 |
Alphabetische Zeichen werden klein geschrieben |
✗ 2001:DB8::1 |
Bei der Angabe von Port-Nummern wird die Adresse in eckige Klammern geschrieben |
✗ 2001:db8::1:80 |
- URL-Notation
In einer URL wird die IPv6-Adresse in eckige Klammern eingeschlossen
http://[2001:0db8:85a3:08d3:1319:8a2e:0370:7344]/
Verhindert die Interpretation von Portnummern als Teil der IPv6-Adresse
http://[2001:0db8:85a3:08d3:1319:8a2e:0370:7344]:8080/
- Netznotation
IPv6-Netzwerke werden in der CIDR-Notation aufgeschrieben
- Dazu werden die erste Adresse (bzw. die Netzadresse) und die Länge des Präfixes in Bit getrennt durch einen Schrägstrich notiert.
Zum Beispiel steht
2001:0db8:1234::/48
für das Netzwerk mit den Adressen
2001:0db8:1234:0000:0000:0000:0000:0000 bis 2001:0db8:1234:ffff:ffff:ffff:ffff:ffff
- Größe eines IPv6-Netzwerkes
- (oder Subnetzwerkes) im Sinne der Anzahl der vergebbaren Adressen in diesem Netz muss eine Zweierpotenz sein
- Ein einzelner Host
- Da ein einzelner Host auch als Netzwerk mit einem 128 Bit langen Präfix betrachtet werden kann, werden Host-Adressen manchmal mit einem angehängten „/128“ geschrieben.