IPv6/Host/Interface Identifier: Unterschied zwischen den Versionen
Die Seite wurde neu angelegt: „== Interface Identifier == Die Nodes am Link internal haben sich ihre Link-local Addresses selbst gegeben. Dabei hat jeder Node eine eigene Adresse erhalten, ohne das eine Adresse doppelt vorkam. Bisher haben wir das als gegeben hingenommen oh95 4 Die Hosts Abbildung 4.9 Ablauf einer typischen Adressauflösung Abbildung 4.10 Link-local Address (ungekürzt) 64 Bit 64 Bit fe80:0000:0000:0000:0020:00ff:fe60:0d1e /64 Präfix Interface Identifier ne das…“ |
K Textersetzung - „Kurzbeschreibung“ durch „Beschreibung“ |
||
(5 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
'''topic''' - Beschreibung | |||
== Beschreibung == | |||
== Interface Identifier == | == Interface Identifier == | ||
Die Nodes am Link internal haben sich ihre Link-local Addresses selbst gegeben. Dabei hat jeder Node eine eigene Adresse erhalten, ohne das eine Adresse doppelt vorkam. Bisher haben wir das als gegeben hingenommen oh95 | Die Nodes am Link internal haben sich ihre Link-local Addresses selbst gegeben. Dabei hat jeder Node eine eigene Adresse erhalten, ohne das eine Adresse doppelt vorkam. Bisher haben wir das als gegeben hingenommen oh95 | ||
Zeile 42: | Zeile 44: | ||
Abbildung 4.11 | Abbildung 4.11 | ||
Bildung der Linklocal Address von | Bildung der Linklocal Address von linux | ||
Von der Mac-Adresse zum EUI-64 | Von der Mac-Adresse zum EUI-64 | ||
Schauen wir doch bei | Schauen wir doch bei linux nach, wie sein IPv6-Stack das Problem gelöst hat. Als erstes ein Blick auf die Link-layer Address: | ||
user@ | user@linux :~ $ ip link show dev eth | ||
2: eth : < BROADCAST , MULTICAST ,UP , LOWER_UP > mtu 15 | 2: eth : < BROADCAST , MULTICAST ,UP , LOWER_UP > mtu 15 | ||
' | ' | ||
Zeile 55: | Zeile 57: | ||
Danach die Link-local Address des Interfaces: | Danach die Link-local Address des Interfaces: | ||
user@ | user@linux :~ $ ip addr show dev eth | ||
2: eth : < BROADCAST , MULTICAST ,UP , LOWER_UP > mtu 15 | 2: eth : < BROADCAST , MULTICAST ,UP , LOWER_UP > mtu 15 | ||
' | ' | ||
Zeile 112: | Zeile 114: | ||
randomizeidentifiers = enabled | randomizeidentifiers = enabled | ||
Ok . | Ok . | ||
<noinclude> | |||
== Anhang == | |||
=== Siehe auch === | |||
{{Special:PrefixIndex/{{BASEPAGENAME}}}} | |||
==== Links ==== | |||
===== Weblinks ===== | |||
[[Kategorie:IPv6/Host]] | |||
</noinclude> |
Aktuelle Version vom 19. Oktober 2024, 13:47 Uhr
topic - Beschreibung
Beschreibung
Interface Identifier
Die Nodes am Link internal haben sich ihre Link-local Addresses selbst gegeben. Dabei hat jeder Node eine eigene Adresse erhalten, ohne das eine Adresse doppelt vorkam. Bisher haben wir das als gegeben hingenommen oh95
4 Die Hosts Abbildung 4.9 Ablauf einer typischen Adressauflösung
Abbildung 4.10 Link-local Address (ungekürzt)
64 Bit
64 Bit
fe80:0000:0000:0000:0020:00ff:fe60:0d1e /64 Präfix
Interface Identifier
ne das Prinzip dahinter zu kennen. Das werden wir jetzt ändern. Interface Identifier
Abbildung 4.10 zeigt eine Link-local Address mit einer Präfixlänge von 64 Bits. Die hinteren 64 Bits sind nicht durch das Präfix vorgegeben und stehen den Interfaces am Link zur Adressierung zur Verfügung. Sie werden deshalb Interface Identifier genannt. Das A und O in IP-Netzen ist die Eindeutigkeit der Adressen innerhalb ihres Scopes.2 Unter IPv4 haben wir entweder den dezimalen Hostanteil der Adresse mit jedem neuen Node inkrementiert oder die Aufgabe gleich ganz einem DHCP-Server übertragen. Von Tippfehlern oder mutwilligen Störungen abgesehen, war damit die Eindeutigkeit der Adressen gewährleistet. IPv6 nimmt uns das Adressieren des einzelnen Nodes aber ab. Darum muss es auch für die Eindeutigkeit der Adressen Sorge tragen.
An dieser Stelle sprechen wir von Unicast Addresses. Für einen Moment ignorieren wie die Tatsache, dass daneben noch Multicast und Anycast Addresses existieren.
4.4 Interface Identifier
00000000b
00:00:00:60:0d:1e
Link-Layer Address (MAC)
00000010b fe80::0200:00ff:fe60:0d:1e
Link-Local Address
Was also liegt näher, als die Link-layer Address des zugehörigen Interfaces als Quelle für einen eindeutigen Interface Identifier herzunehmen? Benutzt das Interface schon einen Extended Unique Identifier mit einer Länge von 64 Bits, dann kann dieser ohne Umwege übernommen werden.3 Auf dem klassischen Ethernet sind die Link-layer Addresses aber nur 48 Bits lang.
Abbildung 4.11 Bildung der Linklocal Address von linux
Von der Mac-Adresse zum EUI-64
Schauen wir doch bei linux nach, wie sein IPv6-Stack das Problem gelöst hat. Als erstes ein Blick auf die Link-layer Address:
user@linux :~ $ ip link show dev eth 2: eth : < BROADCAST , MULTICAST ,UP , LOWER_UP > mtu 15 ' qdisc pfifo_fast state UP qlen 1 link / ether : : :6 : d :1 e brd ff : ff : ff : ff : ff : ff
Danach die Link-local Address des Interfaces:
user@linux :~ $ ip addr show dev eth 2: eth : < BROADCAST , MULTICAST ,UP , LOWER_UP > mtu 15 ' qdisc pfifo_fast state UP qlen 1 link / ether : : :6 : d :1 e brd ff : ff : ff : ff : ff : ff inet6 fe8 ::2 : ff : fe6 : d1e /64 scope link valid_lft forever preferred_lft forever
Offensichtlich wurde die Link-layer Address in den Interface Identifier aufgenommen. Der Stack hat das zweit-niederwertigste Bit im ersten Byte der Link-layer Address gekippt. In der Mitte der Link-layer Address wurden darüberhinaus die hexadezimale Zeichenfolge ff:fe eingefügt. Auf diese Weise ist ein sogenannter Modified EUI-64 entstanden. In Abbildung 4.11 ist der Vorgang graphisch dargestellt.
64-Bit Extended Unique Identifier haben, ebenso wie 48-Bit Extended Unique Identifier (auch bekannt als MAC-Adressen), die Aufgabe, auf dem Link-layer teilnehmende Geräte zu adressieren. Um einer Knappheit an EUI-48 frühzeitig vorzubeugen, hat die IEEE die EUI-64 definiert.
4 Die Hosts Bitspielereien
Das gekippte Bit verwirrt im ersten Augenblick. Die Erklärung liegt in der Bedeutung des betroffenen Bits verborgen, dessen Name Universal/Local Bit lautet. Es zeigt an, ob die MACAdresse vom Hersteller vergeben wurde (Wert 0), oder ob sie lokal überschrieben wurde (Wert 1). Die Werte 0 und 1 des Universal/Local Bit sind bei einem Modified EUI-64 von umgekehrter Bedeutung, deswegen verlangt der IPv6-Standard das Kippen desselben.
Privacy Extensions
Der so generierte Interface Identifier findet sich nicht nur in Link-local Addresses, sondern auch in Global Unicast Addresses wieder. Die Link-layer Adress eines Nodes, dessen IPv6Adresse einen solchen Interface Identifier enthält, kann zurückgerechnet werden. Das beeinträchtigt natürlich die Privatsphäre der betroffenen Nutzer. Erstens können Kommunikationspartner einen Node wiedererkennen, selbst wenn er zwischenzeitlich das Präfix gewechselt haben sollte, denn der Interface Identifier ändert sich bei einem Präfixwechsel nicht. Zweitens lässt sich vom Interface Identifier auf den Hersteller des verwendeten Interfaces schließen. Damit ist einem umfangreichen Tracking und Profiling von Nutzern Tür und Tor geöffnet. Das Problem wurde schließlich mit der Einführung der Privacy Extensions gelöst. Das sind Adressen, die keine Rückschlüsse mehr auf die Link-layer Address des Interfaces zulassen. Windows 8 geht sogar so weit, und setzt die Privacy Extensions auch bei den Link-local Addresses ein. Das werden wir uns auf felis ansehen:
Q
C :\ Users \ user > ipconfig Ethernet adapter LAN1 : Link - local IPv6 Address . . . . . : ' fe8 :: e8a4 :145 b :625 c: e6a1 %12
Ein Muster ist nicht zu erkennen, und auch das markante ff:fe fehlt. Diese Adresse folgt keinem bestimmten Muster! Es handelt sich um eine zufällige Folge hexadezimaler Zeichen. In regelmäßigen Abständen wird eine neue, zufällige Adresse generiert und die alte verworfen. Die Standardeinstellung vieler
4.5 Multicast Betriebssysteme dafür ist 24 Stunden. Ein Tracking des Nutzers ist so, zumindest auf IP-Schicht, nicht über 24 Stunden hinweg möglich. Die zufällig generierten Adressen kann man Windows 8 mit netsh abgewöhnen. Für die Änderung dieser Einstellung verlangt Windows 8 Administratorrechte, darum führen wir das folgende Kommando als Administrator aus. Dazu betätigen wir die Tastenkombination Windowstaste+X. Es erscheint ein Menü in dem wir den Punkt Command Prompt (Admin) auswählen:
C :\ Users \ user > netsh interface ipv6 set global ' randomizeidentifiers = disabled Ok .
Von der Wirkung können wir uns sofort überzeugen.
Q Q
C :\ Users \ user > ipconfig / all Ethernet adapter LAN1 : Physical Address . . . . . . . . . : Link - local IPv6 Address . . . . . : ' fe8 ::2 : ff : fe f : e715 %12( Preferred )
-
- F -E7 -15
Diesmal wurde die Adresse mit Hilfe eines Modified EUI-64 erzeugt. Wenn Sie möchten, können Sie die Privacy Extensions jetzt wieder einschalten:
C :\ Users \ user > netsh interface ipv6 set global ' randomizeidentifiers = enabled Ok .