Aufbau einer IPv6 Adresse

in StemSocial25 days ago

In diesem Beitrag möchte ich kurz den Aufbau einer IP-Adresse in der Version 6, oder kurz IPv6 vorstellen. Eine IPv6-Adresse ist 128-bit lang. Ein Grund für die Umstellung zu IPv6 ist, dass es immer mehr Geräte gibt aber die IPv4-Adressen werden immer knapper. Irgendwann können keine IPv4-Adressen mehr eindeutig zugeordnet werden. Es gibt noch mehrere Gründe für IPv6 aber hier beschränke ich mich auf den Aufbau einer IPv6.

Eine IPv6-Adresse

Eine IPv6 besteht immer aus 8 Blöcken, die jeweils 16 bit lang sind. Diese Blöcke werden als hexadezimalschreibweise und in kleinbuchstaben dargestellt. Schauen wir uns mal so eine IPv6 an:

ipv6.png

Sie ist deutlich komplizierter aufgebaut als eine IPv4, aber das schaffen wir schon. Die obere Schreibweise wird auch als Langschreibweise bezeichnet, weil diese IPv6 komplett ausgeschrieben ist. Nun gibt es ein paar Regeln, um die Langschreibweise in eine eindeutige Kurzschreibweise zu überführen. Man wird öfters mit der Kurzschreibweise konfrontiert, daher gehen wir mal diese Regeln durch.

Eine Regel besagt: Entferne alle führenden Nullen in einem Block. Wir wenden diese Regel auf die obige Adresse an und erhalten:

Langschreibweise: 2001:0cd8:0000:9eea:0000:0000:0000:0005
Nachher: 2001:cd8:0:9eea:0:0:0:5

Die Nullen wurden in dem Block 2001 nicht entfernt, da diese Nullen nicht führend sind. Wir haben nun die erste Kurzschreibweise. Jetzt folgt eine zweite Regel die besagt: Nur einmal darf eine Folge von Nullblöcken 0000 durch :: ersetzt werden. Nach anwendung dieser Regel sieht die IPv6 nun so aus:

erste Kurzschreibweise: 2001:cd8:0:9eea:0:0:0:5
Nachher: 2001:cd8:0:9eea::5

Hier wurde "zufällig" die Nullfolge 0:0:0 durch :: ersetzt. Würde man mehrere Nullfolgen ersetzen, dann könnte man die ursprüngliche IPv6-Adresse nicht mehr rekonstruieren. Man weiss ja nicht, wie viele Nullblöcke am Anfang oder am ende vorhanden waren.

Beispiel: Aus der falschen IPv6-Adresse hier 2001:cd8::9eea::5 ist es nicht eindeutig, wie sie vorher aussah. Sie könnte lauten: 2001:cd8:0:0:9eea:0:0:5 oder vielleicht 2001:cd8:0:0:0:9eea:0:5. Daher darf nur eine Folge von Nullblöcken ersetzt werden, um die Eindeutigkeit zu garantieren.

Schreibweise für Netzmasken

Genauso wie bei einer IPv4-Adresse wird bei einer IPv6-Adresse eine Netzmaske mit einem Schrägstrich "/" gekennzeichnet.

Ein Beispiel für eine Netzmaske in IPv6: 2001:cd8:0:9eea::/64

Diese Schreibweise bedeutet, dass der Netzanteil 64-bit groß ist (Die ersten vier Blöcke). Der Hostanteil wird dann mit Nullen aufgefüllt. In der Langschreibweise würde dies dann so aussehen: 2001:cd8:0000:9eea:0000:0000:0000:0000/64. Die ersten vier Blöcke sind der Netzanteil und die letzten vier Nullblöcke dann der Hostanteil.

Angabe eines Port/Socket in IPv6

Bei einer IPv4 wird der Port an das Ende der IPv4-Adresse angegeben, also bspw. 133.6.12.65:5000. Hinter dem Doppelpunkt steht die Portnummer. Bei einer IPv6-Adresse kann man diese Schreibweise nicht anwenden, da nicht ersichtlich ist, ob die Portnummer am Ende tatsächlich eine Portnummer oder ein Block ist. Dieses Problem lässt sich umgehen, indem man die IPv6 mit eckigen Klammern umschließt und erst hinter den Klammern den Port angibt.

Aus dieser IPv6 2001:cd8:0:9eea::5 mit der Portnummer 5000 wird [2001:cd8:0:9eea::5]:5000.

Gleiches gilt bei der Angabe einer IPv6 in einem Webbrowser. Zuerst folgt das Protokoll, dann die IPv6 und dann die Verzeichnisstruktur:

https://[2001:cd8:0:9eea::5]:443/path/to/the/file.txt

Quellen
https://web.archive.org/web/20121207001716/http://www.ipv6council.de/documents/leitlinien_ipv6_und_datenschutz.html
S. Kawamura, A Recommendation for IPv6 Address Text Representation. August 2010.

Sort:  

Thanks for your contribution to the STEMsocial community. Feel free to join us on discord to get to know the rest of us!

Please consider supporting our funding proposal, approving our witness (@stem.witness) or delegating to the @stemsocial account (for some ROI).

Please consider using the STEMsocial app app and including @stemsocial as a beneficiary to get a stronger support. 
 

Top erklärt!

Vielen Dank fürs lesen!

Danke dir, für das Schreiben. ;-) Hab wieder was gelernt dadurch. (Natürlich nicht, aber verrate niemanden das ich einfach Dumm bin^^)