Zum Hauptinhalt springen

10. Protokollkonstanten (Protocol Constants)

Dieser Abschnitt definiert die Protokollkonstanten, die von Neighbor Discovery verwendet werden. Diese Konstanten spezifizieren Timing-Werte, Wiederholungsgrenzen und andere Parameter, die das Verhalten des Protokolls steuern. Implementierungen MÜSSEN (MUST) diese Werte verwenden, sofern in der Protokollspezifikation nicht ausdrücklich anders angegeben.

10.1. Host-Konstanten (Host Constants)

Die folgenden Konstanten werden von Hosts bei der Durchführung von Router-Discovery und Adresskonfiguration verwendet:

KonstanteWertBeschreibung
MAX_RTR_SOLICITATION_DELAY1 SekundeMaximale Verzögerung vor der Übertragung der ersten Router Solicitation-Nachricht. Wird verwendet, um Synchronisation zu verhindern, wenn mehrere Hosts gleichzeitig starten.
RTR_SOLICITATION_INTERVAL4 SekundenZeitintervall zwischen Neuübertragungen von Router Solicitation-Nachrichten.
MAX_RTR_SOLICITATIONS3 ÜbertragungenMaximale Anzahl von Router Solicitation-Nachrichten, die ein Host sendet, bevor er akzeptiert, dass keine Router vorhanden sind.

Verwendungshinweise (Usage Notes)

  • MAX_RTR_SOLICITATION_DELAY: Wenn eine Host-Schnittstelle aktiviert wird, SOLLTE (SHOULD) sie eine zufällige Zeitspanne zwischen 0 und MAX_RTR_SOLICITATION_DELAY warten, bevor die erste Router Solicitation gesendet wird. Dies verhindert Netzwerküberlastung, wenn viele Hosts gleichzeitig eingeschaltet werden.

  • RTR_SOLICITATION_INTERVAL: Wenn ein Host keine Router Advertisement als Antwort auf seine Router Solicitation erhält, überträgt er nach diesem Intervall erneut.

  • MAX_RTR_SOLICITATIONS: Nach dem Senden dieser Anzahl von Solicitations ohne Erhalt einer Antwort schlussfolgert ein Host, dass keine Router auf dem Link verfügbar sind, und kann mit anderen Adresskonfigurationsmechanismen (wie DHCPv6) fortfahren.

10.2. Router-Konstanten (Router Constants)

Die folgenden Konstanten steuern das Router-Verhalten beim Senden von Router Advertisements:

KonstanteWertBeschreibung
MAX_INITIAL_RTR_ADVERT_INTERVAL16 SekundenMaximales Zeitintervall zwischen initialen unaufgeforderten Router Advertisements, die von einer Schnittstelle gesendet werden, wenn sie zu einer werbenden Schnittstelle wird.
MAX_INITIAL_RTR_ADVERTISEMENTS3 ÜbertragungenAnzahl der initialen unaufgeforderten Router Advertisements, die gesendet werden, wenn eine Router-Schnittstelle zu einer werbenden Schnittstelle wird.
MAX_FINAL_RTR_ADVERTISEMENTS3 ÜbertragungenAnzahl der finalen Router Advertisements, die gesendet werden, wenn eine Router-Schnittstelle aufhört, eine werbende Schnittstelle zu sein.
MIN_DELAY_BETWEEN_RAS3 SekundenMinimales Zeitintervall zwischen dem Senden von unaufgeforderten Multicast-Router Advertisements von einer Schnittstelle.
MAX_RA_DELAY_TIME0,5 SekundenMaximale Verzögerung vor der Antwort auf eine Router Solicitation mit einem Router Advertisement.

Verwendungshinweise (Usage Notes)

  • MAX_INITIAL_RTR_ADVERT_INTERVAL: Wenn ein Router beginnt, auf einer Schnittstelle zu werben, sendet er mehrere initiale Advertisements mit einer höheren Rate, um Hosts schnell über seine Anwesenheit zu informieren.

  • MAX_INITIAL_RTR_ADVERTISEMENTS: Diese schnelle initiale Werbung hilft neu verbundenen Hosts, sich schnell zu konfigurieren.

  • MAX_FINAL_RTR_ADVERTISEMENTS: Wenn ein Router im Begriff ist, die Werbung zu beenden (z. B. beim ordnungsgemäßen Herunterfahren), sendet er finale Advertisements mit einer Router Lifetime von Null, um Hosts zu informieren, dass sie diesen Router nicht mehr verwenden sollten.

  • MIN_DELAY_BETWEEN_RAS: Dies verhindert, dass Router den Link mit Router Advertisements überfluten, selbst wenn sie gleichzeitig von mehreren Hosts angefordert werden.

  • MAX_RA_DELAY_TIME: Bei der Antwort auf eine Router Solicitation verzögert ein Router seine Antwort um einen zufälligen Betrag bis zu diesem Wert, um synchronisierte Antworten von mehreren Routern zu vermeiden.

10.3. Knoten-Konstanten (Node Constants)

Die folgenden Konstanten gelten für alle IPv6-Knoten (sowohl Hosts als auch Router) für Adressauflösung und Neighbor Unreachability Detection:

KonstanteWertBeschreibung
MAX_MULTICAST_SOLICIT3 ÜbertragungenMaximale Anzahl von Multicast-Neighbor Solicitation-Nachrichten, die für Adressauflösung oder Erreichbarkeitsbestätigung gesendet werden.
MAX_UNICAST_SOLICIT3 ÜbertragungenMaximale Anzahl von Unicast-Neighbor Solicitation-Nachrichten, die gesendet werden, um die Erreichbarkeit eines Nachbarn zu prüfen.
MAX_ANYCAST_DELAY_TIME1 SekundeMaximale Verzögerung vor der Antwort auf eine Neighbor Solicitation für eine Anycast-Adresse.
MAX_NEIGHBOR_ADVERTISEMENT3 ÜbertragungenMaximale Anzahl von unaufgeforderten Neighbor Advertisement-Nachrichten, die gesendet werden, wenn sich die Link-Layer-Adresse eines Knotens ändert.
REACHABLE_TIME30.000 MillisekundenBasiswert zur Berechnung der zufälligen ReachableTime. Wird typischerweise durch in Router Advertisements empfangene Werte überschrieben.
RETRANS_TIMER1.000 MillisekundenBasiswert für die Zeit zwischen Neuübertragungen von Neighbor Solicitation-Nachrichten. Wird typischerweise durch in Router Advertisements empfangene Werte überschrieben.
DELAY_FIRST_PROBE_TIME5 SekundenVerzögerung vor dem Senden der ersten Unicast-Neighbor Solicitation-Probe, wenn ein Nachbar verdächtig wird.
MIN_RANDOM_FACTOR0,5Minimalwert für den Zufallsfaktor, der bei der Berechnung der RandomReachableTime verwendet wird.
MAX_RANDOM_FACTOR1,5Maximalwert für den Zufallsfaktor, der bei der Berechnung der RandomReachableTime verwendet wird.

Verwendungshinweise (Usage Notes)

  • MAX_MULTICAST_SOLICIT: Wird während der Adressauflösung verwendet, wenn ein Knoten die Link-Layer-Adresse eines Nachbarn bestimmen muss. Nach dieser Anzahl von Versuchen schlussfolgert der Knoten, dass der Nachbar unerreichbar ist.

  • MAX_UNICAST_SOLICIT: Wird während der Neighbor Unreachability Detection verwendet, um einen Nachbar zu prüfen, der verdächtig geworden ist.

  • MAX_ANYCAST_DELAY_TIME: Wenn mehrere Knoten eine Anycast-Adresse teilen, antworten sie auf Neighbor Solicitations mit einer zufälligen Verzögerung, um Kollisionen zu reduzieren. Der Knoten mit der kürzesten Verzögerung antwortet, und andere unterdrücken ihre Antworten.

  • MAX_NEIGHBOR_ADVERTISEMENT: Wenn sich die Link-Layer-Adresse eines Knotens ändert, multicastet er unaufgeforderte Neighbor Advertisements, um die Caches aller Nachbarn zu aktualisieren.

  • REACHABLE_TIME und RETRANS_TIMER: Diese bieten Standardwerte, aber Knoten SOLLTEN (SHOULD) von Routern beworbene Werte verwenden, wenn verfügbar.

  • DELAY_FIRST_PROBE_TIME: Wenn ein Vorwärtsfortschritt für einen Nachbarn im DELAY-Zustand erkannt wird, wartet der Knoten diese Zeit, bevor er prüft, um die Erreichbarkeit zu bestätigen.

  • MIN_RANDOM_FACTOR und MAX_RANDOM_FACTOR: Werden verwendet, um einen zufälligen ReachableTime-Wert zu berechnen, um synchronisierte Neighbor Unreachability Detection-Aktivität über mehrere Knoten hinweg zu vermeiden.

10.4. Implementierungsüberlegungen (Implementation Considerations)

Bei der Implementierung dieser Konstanten:

  1. Feinabstimmung (Tuning): Obwohl diese Werte sorgfältig für die allgemeine Internetnutzung ausgewählt wurden, KÖNNEN (MAY) Netzwerkadministratoren sie für spezifische Umgebungen anpassen müssen (z. B. drahtlose Netzwerke mit hohen Verlustraten).

  2. Router Advertisement Override: Mehrere Knoten-Konstanten (REACHABLE_TIME, RETRANS_TIMER) können durch in Router Advertisements empfangene Werte überschrieben werden. Implementierungen MÜSSEN (MUST) diese empfangenen Werte respektieren.

  3. Randomisierung (Randomization): Mehrere Operationen erfordern Randomisierung (z. B. MAX_RTR_SOLICITATION_DELAY, MAX_RA_DELAY_TIME), um Synchronisation zu verhindern. Implementierungen SOLLTEN (SHOULD) einen hochwertigen Zufallszahlengenerator verwenden.

  4. Netzwerkmerkmale (Network Characteristics): Für Netzwerke mit ungewöhnlichen Merkmalen (sehr hohe Latenz, hoher Paketverlust oder sehr große Anzahl von Knoten) können diese Konstanten eine Anpassung erfordern. Solche Anpassungen SOLLTEN (SHOULD) dokumentiert und auf sorgfältiger Analyse basieren.