Zum Inhalt springen

IPv6/Adresse/Notation: Unterschied zwischen den Versionen

Aus Foxwiki
K Textersetzung - „==== Links ====“ durch „=== Links ===“
 
(20 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 2: Zeile 2:


== Beschreibung ==
== Beschreibung ==
; Wie sehen IPv6 Adressen aus?
IPv6 Adressen sind 128 bit lang
IPv6 Adressen sind 128 bit lang


; [[Binär]]e Darstellung
; Binär-Darstellung
  0010 0000 0000 0001 0000 1101 1011 1000 0000 0000 0000 0000 0000 0000 0000 0000
00100000000000010000110110111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0001
 
; Nibbles
  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


; Byte
{| class="wikitable big center"
{| class="wikitable big center"
! Byte
! width="6.25%" | 01
! width="6.25%" | 01
! width="6.25%"| 02
! width="6.25%"| 02
Zeile 28: Zeile 29:
! width="6.25%"| 16
! width="6.25%"| 16
|-
|-
|
| style="background-color:#dfffcb;" | 0010 0000
| style="background-color:#dfffcb;" | 0010 0000
| style="background-color:#dfffcb;" | 0000 0001
| style="background-color:#dfffcb;" | 0000 0001
Zeile 47: Zeile 47:
|}
|}


; Solche Zahlen sind nicht wirklich Adressen, die auswendig gelernt werden können
=== Darstellung ===
* Die IPv6 Adressdarstellung ist bitweise orientiert (wie bei IPv4, aber das wird nicht oft bedacht).
Solche Zahlen sind schwer zu merken
* Eine bessere Schreibweise ist deshalb die hexadezimale Darstellung.
* IPv6 Adressdarstellung ist bitorientiert (wie bei IPv4)
* 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.
 
; Hexadezimale Darstellung
* Geeignetere Schreibweise
* 4 bit (nibble) werden durch ein Zeichen 0-9 und a-f (10-15) dargestellt
* Reduzierung der Darstellung auf 32 Zeichen


Diese Darstellung ist ebenfalls nicht sehr angenehm
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.
* Mögliche Verwechslung oder Verlust einzelner hexadezimaler Ziffern
* Ferner wird das führende ”0x” (ein in Programmiersprachen verwendetes Identifizierungsmerkmal für hexadezimale Werte) entfernt:
* sodass die IPv6 Designer das hexadezimale 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.:
* Führende Nullen jedes 16 bit-Blocks weggelassen werden
 
Der Vereinfachung halber können führende Nullen jedes 16 bit-Blocks weggelassen werden:
Eine Sequenz von 16 bit-Blöcken, die nur Nullen enthalten, kann durch ein "::" ersetzt werden
 
* Diese Komprimierung kann aber nicht öfter als einmal durchgeführt 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:
Die höchstmögliche Reduktion sieht man bei der IPv6 Localhost Adresse:
 
::1
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


== Adressnotation ==
== Adressnotation ==
Zeile 80: Zeile 75:
{| class="wikitable big center"
{| class="wikitable big center"
! Byte
! Byte
! width="6.25%" | 01
! width="6.25%"| 01
! width="6.25%"| 02
! width="6.25%"| 02
! width="6.25%"| 03
! width="6.25%"| 03
Zeile 98: Zeile 93:
|-
|-
|
|
| style="background-color:#dfffcb;" | 0010 0000
| style="background-color:#dfffcb;"| 0010 0000
| style="background-color:#dfffcb;" | 0000 0001
| style="background-color:#dfffcb;"| 0000 0001
| style="background-color:#dfffcb;"| 0000 1101
| style="background-color:#dfffcb;"| 0000 1101
| style="background-color:#dfffcb;"| 1011 1000
| style="background-color:#dfffcb;"| 1011 1000
Zeile 117: Zeile 112:


; [[Hexadezimal]]e Darstellung
; [[Hexadezimal]]e Darstellung
2001:0DB8:0000:0000:0000:0000:0000:0001
{| class="wikitable big center"
{| class="wikitable big center"
! Byte
! Byte
! width="6.25%" | 01
! width="6.25%"| 01
! width="6.25%"| 02
! width="6.25%"| 02
! width="6.25%"| 03
! width="6.25%"| 03
Zeile 139: Zeile 132:
|-
|-
|
|
| style="background-color:#dfffcb;" | 0 0
| style="background-color:#dfffcb;"| 20
| style="background-color:#dfffcb;"| 0 0
| style="background-color:#dfffcb;"| 01
| style="background-color:#dfffcb;"| 0 0
| style="background-color:#dfffcb;"| 0D
| style="background-color:#dfffcb;"| 0 0
| style="background-color:#dfffcb;"| B8
| style="background-color:#dfffcb;"| 0 0
| style="background-color:#dfffcb;"| 00
| style="background-color:#dfffcb;"| 0 0
| style="background-color:#dfffcb;"| 00
| style="background-color:#dfffcb;"| 0 0
| style="background-color:#dfffcb;"| 00
| style="background-color:#dfffcb;"| 0 0
| style="background-color:#dfffcb;"| 00
| style="background-color:#d6c4ff;"| 0 0
| style="background-color:#d6c4ff;"| 00
| style="background-color:#d6c4ff;"| 0 0
| style="background-color:#d6c4ff;"| 00
| style="background-color:#d6c4ff;"| 0 0
| style="background-color:#d6c4ff;"| 00
| style="background-color:#d6c4ff;"| 0 0
| style="background-color:#d6c4ff;"| 00
| style="background-color:#d6c4ff;"| 0 0
| style="background-color:#d6c4ff;"| 00
| style="background-color:#d6c4ff;"| 0 0
| style="background-color:#d6c4ff;"| 00
| style="background-color:#d6c4ff;"| 0 0
| style="background-color:#d6c4ff;"| 00
| style="background-color:#d6c4ff;"| 0 0
| style="background-color:#d6c4ff;"| 01
|}
|}
2001:0DB8:0000:0000:0000:0000:0000:0001


== RFC 4291 ==
== RFC 4291 ==

Aktuelle Version vom 17. Juni 2025, 08:14 Uhr

IPv6/Adresse/Notation - IPv6 Adresse Notifikation

Beschreibung

IPv6 Adressen sind 128 bit lang

Binär-Darstellung
00100000000000010000110110111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001
Nibbles
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
Byte
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16
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

Darstellung

Solche Zahlen sind schwer zu merken

  • IPv6 Adressdarstellung ist bitorientiert (wie bei IPv4)
Hexadezimale Darstellung
  • Geeignetere Schreibweise
  • 4 bit (nibble) werden durch ein Zeichen 0-9 und a-f (10-15) dargestellt
  • Reduzierung der Darstellung auf 32 Zeichen

Diese Darstellung ist ebenfalls nicht sehr angenehm

  • Mögliche Verwechslung oder Verlust einzelner hexadezimaler Ziffern
  • sodass die IPv6 Designer das hexadezimale 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
  • Führende Nullen jedes 16 bit-Blocks weggelassen werden

Eine Sequenz von 16 bit-Blöcken, die nur Nullen enthalten, kann durch ein "::" ersetzt werden

  • Diese Komprimierung kann aber nicht öfter als einmal durchgeführt werden

Die höchstmögliche Reduktion sieht man bei der IPv6 Localhost Adresse:

::1

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
Byte 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16
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
Byte 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16
20 01 0D B8 00 00 00 00 00 00 00 00 00 00 00 01
2001:0DB8:0000:0000:0000:0000:0000:0001

RFC 4291

IPv6/Adresse/Notation - IPv6-Adress-Notation

Beschreibung

Regel Beschreibung
1 Hexadezimale Darstellung
2 Führende Nullen streichen
3 0-Blöcke ersetzen

Hexadezimale Darstellung

20010db885a308d313198a2e03707344
Acht Blöcke

Je zwei Byte

  • Durch Doppelpunkt getrennt
2001:0db8:85a3:08d3:1319:8a2e:0370:7344

Führende Nullen

Führende Nullen dürfen ausgelassen werden

2001:0db8:0000:08d3:0000:8a2e:0070:7344

ist gleichbedeutend mit

2001:0db8:0:08d3:0:8a2e:70:7344

0-Blöcke ersetzen

Aufeinander folgende 0-Blöcke werden durch :: ersetzt

2001:0db8:0:0:0:0:1428:57ab

ist gleichbedeutend mit

2001:db8::1428:57ab
Ersetzung darf nur einmal durchgeführt werden

Höchstens eine zusammenhängende Gruppe aus Null-Blöcken darf ersetzt werden

2001:0db8:0:0:8d3:0:0:0

darf gekürzt werden zu

2001:0db8::8d3:0:0:0

oder

2001:0db8:0:0:8d3::

Es empfiehlt sich, den Block mit den meisten Null-Blöcken zu kürzen

Wegen Mehrdeutigkeit unzulässig
2001:db8::8d3::

kann auch als

2001:db8:0:0:0:8d3:0:0

interpretiert werden

Einbettete IPv4-Adresse

Darstellung

Einbettung eines IPv4-Adressraums in den IPv6-Adressraum

2001:0db8:0:0:0:0:1428:57ab


Die letzten vier Byte können dezimal notiert werden

::ffff:127.0.0.1

ist eine alternative Schreibweise für

::ffff:7f00:1

Zulässige Schreibweisen

Zulässige Schreibweisen einer IPv6Adresse 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
…

Die Darstellung für und zwischen Menschen regelt RFC/5952


RFC 5952

IPv6/Adresse/Notation - Notation und Darstellung von IPv6-Adressen für und zwischen Menschen

Beschreibung

Notation für und zwischen Menschen

Problem nach RFC/4291

Zulässige Schreibweisen

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
…

Übersicht

Regel Aspekt Beschreibung
1 Führende Nullen Müssen weggelassen werden
2 Null-Blöcke Müssen die größtmögliche Anzahl von Null-Blöcken kürzen
3 Alleinstehende Null-Blöcke Dürfen nicht zur Kürzung eines alleinstehenden Null-Blocks benutzt werden
4 Gleichwertige Kürzungen Es muss die Erste von links gekürzt werden
5 Alphabetische Zeichen Müssen kleingeschrieben werden
6 Port-Nummern Bei angabe eine Port-Nummer muss die IPv6-Adressen in eckige Klammern gesetzt werden
7 URL-Notation In URLs müssen IPv6-Adressen in eckige Klammern eingeschlossen werden
8 Netznotation Netzwerke müssen nach CIDR-Notation angegeben werden


Anhang

Siehe auch

Links

Weblinks