Zusammenfassung

  • Nach dem Grundmodell von RFC 4861 wurde der Neighbor-Cache-Eintrag nach der konfigurierten Zahl unbeantworteter Sonden gelöscht.
  • RFC 7048 ergänzt UNREACHABLE: Eine Alternative kann gewählt werden, während die Link-Layer-Adresse mit Multicast-Sonden und exponentiellem Backoff erhalten bleibt.

Warum schnelles Löschen nicht immer half

Neighbor Unreachability Detection prüft nicht ständig jeden bekannten Nachbarn. Fortschritt aus einer höheren Schicht oder eine angeforderte Neighbor Advertisement kann den Pfad bestätigen. Ein benutzter Eintrag durchläuft üblicherweise REACHABLE, STALE, DELAY und PROBE. In PROBE gehen unicast Neighbor Solicitations an die gespeicherte Link-Layer-Adresse.

RFC 4861 sah am Ende der unbeantworteten PROBE-Wiederholungen die Löschung des Neighbor Cache Entry vor. RFC 7048 nennt als verbreiteten Ausgangspunkt drei Übertragungen im Abstand von einer Sekunde. Bei einem weiteren Default-Router konnte das schnell einen sinnvollen Wechsel auslösen; ein Redirect-Eintrag konnte ebenfalls verworfen werden.

Fehlt jedoch eine Alternative, erzeugt das Löschen keinen neuen Weg. Der nächste Verkehr muss die Adressauflösung erneut starten und kann während einer vorübergehenden Layer-2-Störung weitere Multicast-Solicitations auslösen.

Ein Status, der keine Erreichbarkeit verspricht

RFC 7048 ersetzt die Löschung durch den Zustand UNREACHABLE. Die Retransmission-Zeit wird erhöht und eine Multicast-Solicitation gesendet. Ein gewöhnlicher Eintrag behält seine Link-Layer-Adresse; IPv6-Pakete können weiterhin dorthin gesendet werden. Für die Next-Hop-Auswahl gilt der Router aber nicht als „bekanntermaßen erreichbar“, sodass eine Alternative bevorzugt werden darf.

Redirect-erzeugte Einträge sind anders zu behandeln. Sie dürfen gelöscht werden und sollten im Zustand UNREACHABLE nicht zur Übertragung verwendet werden. Auch Garbage Collection bleibt erlaubt; Aufbewahrung bedeutet keinen dauerhaften Speicheranspruch.

Breiter suchen, langsamer wiederholen

Innerhalb von 60 Sekunden nach der ersten Retransmission muss auf Multicast gewechselt werden, selbst wenn die ersten UNREACHABLE-Sonden unicast waren. So kann ein Nachbar mit geänderter Link-Layer-Adresse antworten. Weitere Wiederholungen sollen exponentielles Backoff verwenden, mit einer vernünftigen Obergrenze, etwa 60 Sekunden. Wird der Eintrag nicht mehr benutzt, sollen die Sonden bis zur erneuten Nutzung oder Sammlung pausieren.

Die Beispieltimer von RFC 7048 zeigen einen möglichen Ablauf, schreiben aber keinen einheitlichen Zeitplan vor. RFC 6583 beschreibt den betrieblichen Hintergrund: Die Auflösung sehr vieler nicht zugewiesener Adressen kann Neighbor-Discovery-Warteschlangen und -Caches belasten. Die normative UNREACHABLE-Änderung stammt nicht aus RFC 6583.

Die historische Leistung liegt in der Trennung zweier Urteile: einen Nachbarn nicht mehr zu bevorzugen und die letzte Mapping-Information zu vernichten.

Quellen