|
|
(50 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) |
Zeile 1: |
Zeile 1: |
| '''topic''' - Kurzbeschreibung
| | === Eigenschaften von IPv6-Adressen === |
| === Beschreibung === | |
| === Was ist IPv6? ===
| |
| IPv6 ist ein neues Schicht 3 Vermittlungsprotokoll und es wird IPv4 (auch als IP bekannt) ablösen.
| |
| * IPv4 wurde vor langer Zeit entworfen (<nowiki>RFC 760</nowiki> / Internet Protocol vom Januar 1980).
| |
| * Seitdem wurden viele Adressen vergeben und Erweiterungen angeregt.
| |
| * Die aktuelle RFC ist <nowiki>RFC 2460</nowiki> / Internet Protocol Version 6 Specification.
| |
| * Hauptänderungen in IPv6 sind das neue Design des Headers sowie die Erweiterung der Adresslänge von 32 bits auf 128 bits.
| |
| * Die Schicht 3 ist für den Transport der Pakete von Endpunkt-zu-Endpunkt mittels adressbasierten Paket-Routings zuständig, und wie bei IPv4 müssen bei IPv6 die Adressen (Quell- und Zieladresse) inkludiert sein.
| |
| | |
| Für weitere Informationen zur IPv6 Geschichte siehe die älteren RFCs z. B. SWITCH IPv6 Pilot / References.
| |
| | |
| $ '''ip -6 a''' | | $ '''ip -6 a''' |
| 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 state UNKNOWN qlen 1000 | | 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 state UNKNOWN qlen 1000 |
Zeile 21: |
Zeile 10: |
| valid_lft forever preferred_lft forever | | valid_lft forever preferred_lft forever |
|
| |
|
| === Adressaufbau von IPv6 ===
| | {| class="wikitable options big" |
| {| class="wikitable sortable options" | |
| |- | | |- |
| ! Eigenschaft !! Beschreibung | | ! Eigenschaft !! Beschreibung |
Zeile 56: |
Zeile 44: |
| |} | | |} |
|
| |
|
| === Wie sehen IPv6 Adressen aus? === | | === Zu unterstützende Adressen === |
| Wie gesagt, IPv6 Adressen sind 128 bit lang.
| | ; IPv6 Adressen, die IPv6 Geräte mindestens unterstützen müssen |
| * Diese bit-Anzahl kann sehr hohe dezimale Zahlen mit bis zu 39 Ziffern ergeben:
| |
| | |
| Solche Zahlen sind nicht wirklich Adressen, die auswendig gelernt werden können.
| |
| * Die IPv6 Adressdarstellung ist bitweise orientiert (wie bei IPv4, aber das wird nicht oft bedacht).
| |
| * Eine bessere Schreibweise ist deshalb die hexadezimale Darstellung.
| |
| * Dabei werden 4 bits (auch ”nibble” genannt) durch die Zeichen 0-9 und a-f (10-15) dargestellt, wodurch die Länge auf 32 Zeichen reduziert wird.
| |
| | |
| Diese Darstellung ist ebenfalls nicht sehr angenehm (mögliche Verwechslung oder Verlust einzelner hexadezimaler Ziffern), so dass die IPv6 Designer das hexadezimales Format mit einem Doppelpunkt als Trennzeichen nach jedem 16 bit Block erweiterten.
| |
| * Ferner wird das führende ”0x” (ein in Programmiersprachen verwendetes Identifizierungsmerkmal für hexadezimale Werte) entfernt:
| |
| | |
| Eine gültige Adresse (s.. u. * Adress-Typen) ist z.B.:
| |
| | |
| Der Vereinfachung halber können führende Nullen jedes 16 bit-Blocks weggelassen werden:
| |
| | |
| Eine Sequenz von 16 bit-Blöcken, die nur Nullen enthaltet, kann durch ein “::“ ersetzt werden.
| |
| * Diese Komprimierung kann aber nicht öfters als einmal durchgeführt werden
| |
| | |
| Die höchstmögliche Reduktion sieht man bei der IPv6 Localhost Adresse:
| |
| | |
| Es gibt auch eine so genannte ''kompakte'' Darstellung (base 85 codiert) <nowiki>RFC 1924</nowiki> / A Compact Representation of IPv6 Addresses (publiziert am 1.
| |
| * April 1996).
| |
| * Diese Notation wurde allerdings nie in der Praxis gesehen und ist wahrscheinlich ein Aprilscherz.
| |
| * Ein Beispiel:
| |
| | |
| Info: ''ipv6calc'' ist ein IPv6 Adressen-Format-Umrechner und Konvertierungsprogramm und ist hier zu finden: ipv6calc homepage (Mirror)
| |
| | |
| | |
| | |
| === Wahl der Adress-Länge ===
| |
| ==== IPv6 Adressen: Warum ist die Anzahl der Bits so groß? ====
| |
| ; 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 in naher Zukunft.
| |
|
| |
|
| Weitere Informationen finden Sie unter <nowiki>RFC 1715</nowiki> / The H Ratio for Address Assignment Efficiency und <nowiki>RFC 3194</nowiki> / The Host-Density Ratio for Address Assignment Efficiency.
| | {| class="wikitable options big" |
| | |
| ==== IPv6 Adressen: Warum ist die Bit-Anzahl bei einem neuen Design so klein? ====
| |
| ; 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 minimalste 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.
| |
| | |
| === Adressnotation ===
| |
| ; [[Binär]]e 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
| |
| | |
| ; [[Hexadezimal]]e 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::
| |
| | |
| 2001:db8:0:0:0:8d3:0:0
| |
| | |
| * interpretiert werden könnte
| |
| * 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
| |
| | |
| {| class="wikitable sortable options" | |
| |- | | |- |
| | Führende Nullen müssen weggelassen werden ||
| | ! Device !! Adressen |
| 2001:0db8:00::001 → 2001:db8::001
| |
| 2001:0db8:00::001 → 2001:db8::1
| |
| |- | | |- |
| | Zwei Doppelpunkte müssen die größtmögliche Anzahl von Null-Blöcken kürzen || | | | Host || |
| 2001:db8:0:0:0:0:0:1 → 2001:db8::0:1
| | * Unicast Adresse |
| 2001:db8:0:0:0:0:0:1 → 2001:db8::1
| | * Multicast Adressen (aus Unicast errechnete, Gruppenadressen) |
| | * Loopback Adresse |
| | * Link lokale (errechnete) Adresse |
| |- | | |- |
| | Zwei Doppelpunkte dürfen nicht zur Kürzung eines alleinstehenden Null-Blocks benutzt werden || | | | Router || |
| 2001:db8:0:1:1:1:1:1 → 2001:db8::1:1:1:1:1
| | * alle Host Adressen |
| 2001:db8:0:1:1:1:1:1 → 2001:db8:0:1:1:1:1:1
| | * alle Router Anycast |
| |-
| | * alle Router Multicast Adressen |
| | Bei gleichwertigen Möglichkeiten zur Kürzung ist die erste von links zu wählen ||
| | * berechneten Multicast Adressen für jede Anycast Adresse |
| 2001:db8:0:0:1:0:0:1 → 2001:db8:0:0:1::1
| |
| 2001:db8:0:0:1:0:0:1 → 2001:db8::1:0:0:1
| |
| |-
| |
| | Alphabetische Zeichen werden klein geschrieben ||
| |
| 2001:DB8::1
| |
| 2001:db8::1
| |
| |-
| |
| | Bei der Angabe von Port-Nummern wird die Adresse in eckige Klammern geschrieben ||
| |
| 2001:db8::1:80
| |
| [2001:db8::1]:80
| |
| |} | | |} |
|
| |
|
| | <noinclude> |
|
| |
|
| ; URL-Notation
| | == Anhang == |
| In einer URL wird die IPv6-Adresse in eckige Klammern eingeschlossen
| | === Siehe auch === |
| 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.
| |
| | |
| === Adress-Repräsentation ===
| |
| | |
| === IPv6-Adressnotation ===
| |
| ; Zusammenfassung
| |
| [[File:ipv6Adressierung13.png|800px]]
| |
| <noinclude>
| |
| === Anhang ===
| |
| ==== Siehe auch ====
| |
| {{Special:PrefixIndex/{{BASEPAGENAME}}}} | | {{Special:PrefixIndex/{{BASEPAGENAME}}}} |
| ===== Dokumentation =====
| | ==== Dokumentation ==== |
| ===== Links =====
| | ==== Links ==== |
| ====== Projekt ======
| | ===== Weblinks ===== |
| ====== Weblinks ======
| |
| [[Kategorie:IPv6/Adresse]] | | [[Kategorie:IPv6/Adresse]] |
| </noinclude> | | </noinclude> |