Aus langeweile habe ich mich mal ein bisschen mit IPv6 beschäftigt.
Kommen wir als erstes mal zum Aufbau von IPv6 Adressen.
Eine IPv6 Adresse ist 128 Bit lang, als Gegenüberstellung: eine IPv4 Adresse hat egarde mal 32 Bit!
Eine IPv4 wird dezimal notiert, d.h. es sind Zahlen von 0-255 möglich.
Eine IPv6 wird hexadezimal notiert, d.h. es sind Zhalen und Buchstaben von 0000-FFFF möglich.
Während bei einr IPv4 die einzelnen Blöcke mit einem . (PUNKT) getrennt werden, werden bei einer IPv6 die einzelnen Blöcke mit einem : (DOPPELPUNT) getrennt.
Die führenden 0′en (Nullen) fürden ausgelassen werden, hier mal ein kleines Beispiel:
Statt 2001:4dd0:ff00:0195::0002 kann man 2001:4dd0:ff00:195::2 schreiben.
Wenn einer oder mehrere Blöcke hintereinander 0 (NULL) ist, dürfen diese auch durch doppelte Doppelpunkte ( :: ) ersetzt werden.
Diese Reduktion darf aber nur einmal durchgeführt werden.
So kann man z.B. statt 2001:4dd0:ff00:0195:0000:0000:0000:0002 dann 2001:4dd0:ff00:195::2 schreiben.
Wenn man eine IPv4 im Browser aufrufen will, kann man dies problemlos tun, in dem man die IP in die Adresszeile ingibt, z.B. http://78.46.82.79/ oder wenn man noch einen Port dran hängen will http://78.46.82.79:80/ .
Bei einer IPv6 muss man die IP in [ ] (echigen Klammern) schreiben, z.B. http://[2001:4dd0:ff00:195::2]/ oder wenn man noch einen Port dran hängen will http://[2001:4dd0:ff00:195::2]:80/ .
Jeder Block einer IPv6 hat 16 Bit.
Die IPv6 Netzwerke werden in der CIDR-Notation aufgeschrieben.
Dazu wird die erste Adresse, bzw. die Netzadresse, und die Länge des Prefixes in Bit durch einen Schrägstrich ( / ) voneinander getrennt.
z.B. steht: 2001:0db8:1234::/48 für das Netzwerk von 2001:0db8:1234:0000:0000:0000:0000:0000 bis 2001:0db8:1234:ffff:ffff:ffff:ffff:ffff
Die Größe eines IPv6-Netzwerkes oder Subnetzwerkes im Sinne der Anzahl der vergebbaren Adressen in diesem Netz muss also eine Zweierpotenz sein. 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.
Eine IPv6 Adresse ist wie folgt aufgebaut:
Quelle des Bildes: http://blogs.technet.com/b/ralfschnell/archive/2008/09/29/anzahl-der-m-glichen-adressen-bei-ipv6.aspx
Wenn also ein Netzwerkadapter die IPv6
2001:0db8:85a3:08d3:1319:8a2e:0370:7347/64
hat, dann lautet das Global Routing Prefix
2001:0db8:85a3:08d3::/64
Der Interface Identifier lautet dann:
1319:8a2e:0370:7347
Der Provider hat also warscheinlich von der RIR das Netz
2001:0db8::/32
zugewiesen bekommen.
Der Endkunde hat warscheinlich von seinem Provider das Netz
2001:0db8:85a3::/48
oder sogar nur
2001:0db8:85a3:08d3::/56
bekommen.
Wie bei IPv4 gibt es auch besondere Adressen.
Diese lauten:
::/128 (128 0-Bits) ist eine undefinierte Adresse. Diese steht häufig für alle möglichen Adressen.
::1/128 (127 o-Bits, eine 1-Bit) ist die Adresse des eigenen Standorts. Diese lautet unter IPv4 127.0.0.1 und wird auch mit dem Hostnamen localhost verknüpft.
Desweiteren gbt es noch die link-lokalen Adressen.
Link-Lokale Adressen sind im Bereich fe80::/10 (fe80… bis febf..).
Diese Adressen sollen von einem Router nicht weitergeleitet werden und sind deswegen nur im einenem Teilnetz verfügbar.
Die Site-Local Unicast Adressen sind veraltet.
Site-Local Unicast Adressen werden auch standortlokale Adressen genannt. Diese waren der Nachfolger der privaten IP-Adressen, z.B. 192.168.X.X . Diese durften nur innerhalb der Organisation oder des privaten Netzwerkes geroutet werden.
Diese Adressen waren im Bereich fec0::/10 (fec0… bis feff…) und sind nach RFC 3879 mittlerweile veraltet (zu Englisch: deprecated) und werden zukünnftig aus den Standards verschwinden.
Neue Implentierungen müssen diesen Adressbereich als Global-Unicast Adressen behandeln.
Nachfolger der standortlokalen Adressen sind die Unique-Local Adressen.
Die Unique-Local Adressen sind die neuen standortlokalen Adressen.
Diese sind im Bereich fc00::/7 (fc… bis fd…).
Momentan ist nur das Prefix fd für lokale generierte Unique-Local Adressen vorgesehen, mit dem Prefix fc werden in Zukunft warscheinlich global zugewisene Unique-Local Adressen gekennzeichnet.
Auf das Prefix folgen dann 40 Bit, die als eindeutige Site-ID fungieren.
Diese Site-ID ist bei Unique-Local Adressen mit dem Prefix fd zufällig generiert worden und somit nur sehr warscheinlich eindeutig.
Bei globalen Unique-Local Adressen ist diese auf jeden Fall Eindeutig! (RFC 4193 gibt jedoch keine konkrete Implantierung der Zuweisung von global eindeutigen Site-ID’s an.)
Nach der Site-ID folgt eine 16 Bit lange Subnet-ID, welche ein Netz inenrhalb der Site angibt.
Eine Beispiel Unique-Local Adresse wäre:
fd9e:21a7:a92c:2323::1
hierbei wäre fd das Prefix für die lokal generierte Unique-Local Adressen, 9e:21a7:a92c ein einmalig zufällig erzeugter 40 Bit-Wert und 2323 eine willkürlich gewählte Subnet-ID.
Desweiteren gibt es noch Multicast Adressen.
Für eine Multicast Adresse steht ff00::/8 (ff…).
Nach dem Prefix folgen 4 Bit für die Flags und 4 Bit für den Gültigkeitsbereich (Scope).
Für die Flags sind momentan folgende Kombinationen möglich:
- 0: Permanent definierte wohlbekannte Multicast ADressen (von der IANA zugewiesen).
- 1: (T-Bit gesetzt) Transit (vorrübergehend) oder dynamisch zugewiesene Multicast Adressen
- 3: (P-Bit gesetzt, erzwingt das T-Bit) Unicast-Prefix-based Adressen (RFC 3306)
- 7: (R-Bit gesetzt, erzwingt das R-Bit und somit auch das T-Bit) Multicast Adressen, welche die Adresse des Rondevouz Point enthalten (RFC 3956)
Die folgenden Gültigkeitsbereiche (Scopes) sind definiert:
- 1: Interfacelokal, diese Adressen verlassen die Netzwerkschnittstelle nie. (loopback)
- 2: link-lokal, werden von Routern grundsätzlich nicht weitergeleitet und können deshalb das Teilnetz nicht verlassen.
- 4: adminlokal, der kleinste Bereich, dessen Abgrenzung in den Routern speziell administriert werden muss.
- 5: sitelokal, dürfen zwar geroutet werden, aber nicht von Border-Routern.
- 8: organisationslokal, die Pakete dürfen auch von Border-Routern weitergeleitet werden, bleiben jedoch noch “im Unternehmen” (hierzu müssen seitens des Routing-Protokolls entsprechende Verkehrungen getroffen werden).
- e: globaler Multicast, der überall hin geroutet werden darf.
- 0, 3, f: reservierte Bereiche
- die restlichen Bereiche sind nicht definiert worden und dürfen von Administratoren genutzt werden, um weitere Multicast-Regionen zu definieren.
Beispiele für wohlbekannte Multicast Adressen sind:
- ff01::1, ff02::1 : All Nodes Adressen. Entspricht dem Broadcast.
- ff02::2, ff02::2, ff05::2 : All Routers Adressen. Adressiert alle Router in einem Bereich.
Alle anderen Adressen gelten als Global Unicast Adressen.
Von diesen sind allerdings momentan nur folgende Bereiche zugewiesen:
- ::/96 (96 0-Bits) stand für IPv4 Kompatibilitätsadressen, welche in den letzten 32 Bit die IPv4 Adresse enthielt (dies galt nur für globale IPv4 Unicast Adressen). Diese waren für den Übergang definiert, jedoch im RFC 4291 vom Februar 2006 für veraltet erklärt.
- 0:0:0:0:0:ffff::/96 (80 o-Bits gefolgt von 16 1 Bits) steht für IPv4 mapped (abgebildete) IPv4 Adressen. Die letzten 32 Bit enthalten die IPv4 Adresse. Ein geeigneter Router kann diese Pakete zwischen IPv4 und IPv6 konvertieren und so die neue mit der alten Welt verbinden.
- 2000::/3 (also alle Adressen von 2000:… bis 3fff:…) stehen für die von der IANA vergebenen globalen Unicast Adressen, also Routbare und einzigartige Adressen.
- 2001-Adressen werden an Provider vergeben, die diese an Kunden weiterverteilen.
- Adressen aus 2001:db8::/32 dienen Dokumentationszwecken, wie beispielsweise in diesem Artikel und bezeichnen keinen tatsächlichen Netzteilnehmer.
- 2002-Prefixe deuten auf Adressen des Tunnelmechanismus 6to4 hin.
- Auch mit 2003, 240, 260, 261, 262, 280, 2a0, 2b0 und 2c0 beginnende Adressen werden von Regional Internet Registries (RIR’s) vergeben, diese Adressbereiche sind ihnen, z.T. aber noch nicht zu dem Anteil zugeteilt, wie dies bei 2001::/16 der Fall ist.
- 3ffe::/16 Adressen wurden für das Testnetzwerk 6Bone benutzt. Dieser Adressbereich wurde gemäß RFC 3701 wieder an die IANA zurück gegeben.
Ca. ab dem Jahre 2011-2012 werden so gut wie alle IPv4 Adressen verbraucht sein.
Einen Artikel dazu gibt es unter der folgenden URL:
http://www.heise.de/newsticker/meldung/IPv4-Adressen-werden-ab-2011-knapp-160536.html
Eine Seite stellt auch einen kleinen Countdown für die eigene Homepage bereit:
Das Widget findet man unter:
http://inetcore.com/project/ipv4ec/index_de.html
und weitere Infotmationen zum Ablauf der IPv4 gibt es hier:
http://www.potaroo.net/tools/ipv4/index.html
Bei IPv4 gibt es insgesamt 2^32 also 4294967296 IP-Adressen.
Davon können aber nicht alle benutzt werden.
Es müssen noch die 536870912 IP’s für Class D+E Adressen, die 33554432 IP’s für die Netze 0 und 127 und die 17891328 IP’s nach RFC 1918 abgezogen werden. Somit kommen wir auf 3706650624 benutzbare IPv4.
Bei IPv6 ist dieser Raum größer.
Bei IPv6 gibt es insgesamt 2^128 also 340282366920938463463374607431768211456 mögliche IP-Adressen.
Dies ist nach Wolfram Alpha als Text in Englisch:
340 undecillion, 282 decillion, 366 nonillion, 920 octillion, 938 septillion, 463 sextillion, 463 quintillion, 374 quadrillion, 607 trillion, 431 billion, 768 million, 211 thousand and 456
Dies ist übersetzt mit dem Google-Translator folgendes, wobei ich nicht 100%ig weiß, ob das stimmt:
340 undecillion, 282 decillion, 366 nonillion, 920 Octillion, 938 Quadrillionfaches, 463 Trilliarden, 463 Trillionen, 374 Billiarden, 607 Billionen, 431 Milliarden, 768 Millionen, 211 Tausend und 456
Und jetzt als vorletztes noch die Quellenangaben:
http://de.wikipedia.org/wiki/IPv6
http://www.bgpexpert.com/addressespercountry.php
http://royal.pingdom.com/2009/05/26/the-number-of-possible-ipv6-addresses-read-out-loud/
Als letztes jetzt noch ein bisschen IPv6-Stuff
- http://ipv6.vmarc-projects.org – Eine über IPv4 erreichbare Webseite in englischer Sprache, wo man sein IPv6-Enabled-Website eintragen kann. Diese Seite wurde von mir geschrieben.
- http://lukas-schauer.de – Der Blog eines Kollegens auf dem Selben Server wie dieser Blog, auch verfügbar über IPv6 sowie über IPv4. (Die Domain hat sowohl einen A Eintrag für IPv4 als auch einen AAAA Eintrag für IPv6).
- http://ifkiff.de – Mein Jabber Server der sowohl über IPv4 als auch über IPv6 erreichbar ist. (Die Domain hat sowohl einen A-Eintrag für IPv4 als auch einen AAAA-Eintrag für IPv6. Bei Problemen mit einigen Chatclients kann man als Server (nicht in der JID sondern nur zum connecten) die Domains ipv4.ifkiff.de und ipv6.ifkiff.de benutzen).
Wer keine IPv6 hat aber trotzdem eine IPv6 Seite aufrufen will, kann dies über ipv4.SixXs.org machen.
Dies geht folgender maßen, man ruft einfach:
domain.tld.ipv4.sixxs.org
auf.
Hier mal 3 Beispiele:
http://ifkiff.de.ipv4.sixxs.org
http://lukas-schauer.de.ipv4.sixxs.org
http://ipv6.google.com.ipv4.sixxs.org