IPv6/Host/Neighbor Cache: Unterschied zwischen den Versionen
(23 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
'''IPv6 Neighbor Cache''' | '''IPv6/Host/Neighbor Cache''' | ||
== Beschreibung == | == Beschreibung == | ||
[[File:ipv6Abbildung4.5.png|mini|Nodes am internen Link]] | [[File:ipv6Abbildung4.5.png|mini|400px|Nodes am internen Link]] | ||
* [[Router]] | * [[Router]] | ||
* [[Linux]] | * [[Linux]] | ||
Zeile 8: | Zeile 8: | ||
; Neighbor Discovery Protocol (NDP) | ; Neighbor Discovery Protocol (NDP) | ||
Über die Link-local Addresses können Nodes auf dem internen Link kommunizieren | |||
* Dies kann mit [[Echo Requests]] getestet werden | * Dies kann mit [[Ping#Echo Requests]] getestet werden | ||
; Link-local Addresses zu Link-layer Addresses auflösen | ; Link-local Addresses zu Link-layer Addresses auflösen | ||
Nodes | Nodes sind in der Lage die Link-local Addresses ihrer Nachbarn zu gültigen Link-layer Addresses aufzulösen | ||
; Neighbor Discovery Protocol (NDP) | |||
Zuständig für die Auflösung von IPv6-Adressen zu Link-layer Addresses ist das Neighbor Discovery Protocol (NDP), spezifiziert in [[RFC/4861|RFC 4861]] | |||
; [[NDP]] wird über [[ICMPv6]] transportiert | ; [[NDP]] wird über [[ICMPv6]] transportiert | ||
Damit ist es von IPv6 abhängig, wenn es IPv6-Adressen auflösen soll | |||
* Wie und warum das dennoch funktioniert, werden wir uns gleich anschauen | * Wie und warum das dennoch funktioniert, werden wir uns gleich anschauen | ||
* Vorher machen wir uns aber noch mit den Neighbor Caches vertraut | * Vorher machen wir uns aber noch mit den Neighbor Caches vertraut | ||
* Jeder Node betreibt einen Neighbor Cache in dem er die Ergebnisse der Link-layerAdressauflösungen zwischenspeichert | * Jeder Node betreibt einen Neighbor Cache in dem er die Ergebnisse der Link-layerAdressauflösungen zwischenspeichert | ||
Unter IPv4 | |||
Unter IPv4 wird für die Auflösung [[ARP]] genutzt | |||
* Ergebnisse in ARP-Tabelle zwischengespeichert | |||
; Gültigkeit des Neighbor Caches | ; Gültigkeit des Neighbor Caches | ||
Zeile 30: | Zeile 33: | ||
Für das Einfangen eines ganz bestimmten Zustands müssen wir zum richtigen Zeitpunkt den Neighbor Cache auslesen | Für das Einfangen eines ganz bestimmten Zustands müssen wir zum richtigen Zeitpunkt den Neighbor Cache auslesen | ||
* Manchmal ist es daher vorteilhaft, das nächste Kommando schon in der Zwischenablage bereitzuhalten, um schneller reagieren zu können | * Manchmal ist es daher vorteilhaft, das nächste Kommando schon in der Zwischenablage bereitzuhalten, um schneller reagieren zu können | ||
== Zustände der Einträge == | == Zustände der Einträge == | ||
{| class="wikitable big options" | {| class="wikitable big options" | ||
! Zustand !! Beschreibung | ! Zustand !! Beschreibung | ||
|- | |- | ||
Zeile 62: | Zeile 57: | ||
|} | |} | ||
== Adressauflösung | == Adressauflösung == | ||
; | ; Adressauflösung mitschneiden | ||
* | * Neighbor Caches funktioniert | ||
* Echo Request zeigt, dass die Auflösung von IPv6-Adressen und Link-layer Addresses funktioniert | |||
; Dazu suchen wir uns einen Node aus, der gerade einen leeren Neighbor Cache hat, zum Beispiel ''router'' | === Ablauf === | ||
; Neighbor Cache leeren | |||
Dazu suchen wir uns einen Node aus, der gerade einen leeren Neighbor Cache hat, zum Beispiel ''router'' | |||
* Das Kommando zum Anzeigen des Neighbor Caches ist uns aus den vorherigen Experimenten noch bekannt | * Das Kommando zum Anzeigen des Neighbor Caches ist uns aus den vorherigen Experimenten noch bekannt | ||
* Sollten sich noch gültige Einträge im Neighbor Cache befinden, warten wir noch etwas ab | * Sollten sich noch gültige Einträge im Neighbor Cache befinden, warten wir noch etwas ab | ||
Wenn der Node seine IPv6-Nachbarn schließlich vergessen hat, starten wir Wireshark auf dem entsprechenden Interface | Wenn der Node seine IPv6-Nachbarn schließlich vergessen hat, starten wir Wireshark auf dem entsprechenden Interface (hier:eth1) | ||
<syntaxhighlight lang="bash" highlight="1" line copy> | |||
ping -c3 fe80::200:ff:fe60:d1e%eth1 | |||
</syntaxhighlight> | |||
<syntaxhighlight lang="bash" highlight="" line> | |||
PING fe80::200:ff:fe60:d1e%eth1 (fe80::200:ff:fe60:d1e) 56 data bytes | |||
64 bytes from fe80::200:ff:fe60:d1e: icmp_seq=1 ttl=64 time=3.75 ms | |||
3 packets transmitted, 3 received, 0% packet loss, time 2005 ms | |||
</syntaxhighlight> | |||
=== Neighbor Solicitation === | === Neighbor Solicitation === | ||
[[Neighbor Solicitation]] | |||
<!-- | |||
[[Router Solicitation]] | [[Router Solicitation]] | ||
--> | |||
=== Solicited Node Multicast Address === | === Solicited Node Multicast Address === | ||
[[File:ipv6SolicitedNodeMulticastAddress.png|mini|400px|Solicited Node Multicast Address]] | [[File:ipv6SolicitedNodeMulticastAddress.png|mini|400px|Solicited Node Multicast Address]] | ||
Pakete an die Solicited Node Multicast Address eines Nodes können auch bei unbekannter Link-layer Address an diesen zugestellt werden | Pakete an die Solicited Node Multicast Address eines Nodes können auch bei unbekannter Link-layer Address an diesen zugestellt werden | ||
* | * siehe [[IPv6/Multicast]] | ||
; Solicited Node Multicast Address | ; Solicited Node Multicast Address | ||
Zeile 94: | Zeile 95: | ||
[[Neighbor Advertisement]] | [[Neighbor Advertisement]] | ||
<noinclude> | <noinclude> | ||
== Verwaltung == | |||
{| class="wikitable options gnu big" | |||
|- | |||
! System !! Beschreibung | |||
|- | |||
| Windows || [[IPv6/Host/Neighbor/Cache/Windows]] | |||
|- | |||
| Linux || [[IPv6/Host/Neighbor/Cache/Linux]] | |||
|} | |||
== Anhang == | == Anhang == |
Aktuelle Version vom 29. Juni 2025, 18:59 Uhr
IPv6/Host/Neighbor Cache
Beschreibung

- Neighbor Discovery Protocol (NDP)
Über die Link-local Addresses können Nodes auf dem internen Link kommunizieren
- Dies kann mit Ping#Echo Requests getestet werden
- Link-local Addresses zu Link-layer Addresses auflösen
Nodes sind in der Lage die Link-local Addresses ihrer Nachbarn zu gültigen Link-layer Addresses aufzulösen
- Neighbor Discovery Protocol (NDP)
Zuständig für die Auflösung von IPv6-Adressen zu Link-layer Addresses ist das Neighbor Discovery Protocol (NDP), spezifiziert in RFC 4861
Damit ist es von IPv6 abhängig, wenn es IPv6-Adressen auflösen soll
- Wie und warum das dennoch funktioniert, werden wir uns gleich anschauen
- Vorher machen wir uns aber noch mit den Neighbor Caches vertraut
- Jeder Node betreibt einen Neighbor Cache in dem er die Ergebnisse der Link-layerAdressauflösungen zwischenspeichert
Unter IPv4 wird für die Auflösung ARP genutzt
- Ergebnisse in ARP-Tabelle zwischengespeichert
- Gültigkeit des Neighbor Caches
Einträge im Neighbor Caches sind je nach Betriebssystem und Zustand unterschiedlich lange gültig
- Im Normalfall sind sie recht kurzlebig
- Daher sind für die folgenden Experimente mitunter mehrere Anläufe notwendig
Für das Einfangen eines ganz bestimmten Zustands müssen wir zum richtigen Zeitpunkt den Neighbor Cache auslesen
- Manchmal ist es daher vorteilhaft, das nächste Kommando schon in der Zwischenablage bereitzuhalten, um schneller reagieren zu können
Zustände der Einträge
Zustand | Beschreibung |
---|---|
Incomplete | Es findet gerade eine Adressauflösung statt
|
Reachable | Der zugehörige Nachbar gilt als erreichbar
|
Stale | Die Erreichbarkeit des zugehörigen Nachbarn ist unbekannt
|
Delay | Der zugehörige Nachbar gilt nicht als erreichbar
|
Probe | Der zugehörige Nachbar gilt nicht als erreichbar
|
Adressauflösung
- Adressauflösung mitschneiden
- Neighbor Caches funktioniert
- Echo Request zeigt, dass die Auflösung von IPv6-Adressen und Link-layer Addresses funktioniert
Ablauf
- Neighbor Cache leeren
Dazu suchen wir uns einen Node aus, der gerade einen leeren Neighbor Cache hat, zum Beispiel router
- Das Kommando zum Anzeigen des Neighbor Caches ist uns aus den vorherigen Experimenten noch bekannt
- Sollten sich noch gültige Einträge im Neighbor Cache befinden, warten wir noch etwas ab
Wenn der Node seine IPv6-Nachbarn schließlich vergessen hat, starten wir Wireshark auf dem entsprechenden Interface (hier:eth1)
ping -c3 fe80::200:ff:fe60:d1e%eth1
PING fe80::200:ff:fe60:d1e%eth1 (fe80::200:ff:fe60:d1e) 56 data bytes
64 bytes from fe80::200:ff:fe60:d1e: icmp_seq=1 ttl=64 time=3.75 ms
3 packets transmitted, 3 received, 0% packet loss, time 2005 ms
Neighbor Solicitation
Solicited Node Multicast Address

Pakete an die Solicited Node Multicast Address eines Nodes können auch bei unbekannter Link-layer Address an diesen zugestellt werden
- siehe IPv6/Multicast
- Solicited Node Multicast Address

Neighbor Advertisement
Verwaltung
System | Beschreibung |
---|---|
Windows | IPv6/Host/Neighbor/Cache/Windows |
Linux | IPv6/Host/Neighbor/Cache/Linux |