RFC 7868
Cisco's EIGRP
(enhanced interior gateway routing protocol)

click to edit

5.3. Neighbor Discovery/Recovery


  • dynamisches Lernen der Router aus den direkt angeschlossenen Netzwerken
  • austausch von Routing-Informationen
  • kein Paketempfang = keine Erreichbarkeit oder nicht betriebsbereit

EIGRP Packets

7.0 Sicherheit

5.3.1. Neighbor Hold Time

  • jeder Router hält Statusinformationen seiner benachbarten Router
  • bei neuen Routern im Netz werden Adresse, Schnittstelle, Haltezeit notiert
  • Hello-Pakete setzen die Haltezeit zurück
  • alle anderen Pakete von benachbarten Routern setzten die Haltezeit innerhalb der Periode auch zurück
  • abgelaufene Haltezeit informiert DUAL (siehe Kapitek 3) über die Topologieänderung

5.3.2. Hello-Pakete


  • Multicast über jede Schnittstelle mit EIGRP
  • Inhalt K-Values (siehe Kapitel 5.6)
  • Gleiche K-Values = Nachbarschaft
  • erzwingt die metrische Nutzung konsistent im gesamten Internet
  • Haltewertzeit = Gültigkeit der Nachbarschaft (Standard 3 Hello-Pakete, Periodisch alle 5 Sek ein Paket)
  • Nachbarschaft gültig für 15 sek
  • Protokoll kooperiert mit jedem anderen EIGRP- Router
  • hat kaum Authentifizierung, damit EIGRP schnell ist
  • Abwehr von Denial-of-Service (DoS) Attacken durch ACLs, die Anzahl Pakete/ Sekunde begrenzen sowie Authentifizierung der Nachbarn durch Austausch von Hashes über gemeinsame, geheime, symmetrische Schlüssel

EIGRP Paket Format

  • HELLO Packets
  • QUERY Packets
  • REPLY Packets
  • REQUEST Packets
  • UPDATE Packets

EIGRP Metrik Berechnung

Klassische Metrik

5.3.3. Update-Pakete


  • um die bidirektionale Unicast- und Multicast-Paketlieferung sicherzustellen
  • Nachweisnachbar sendet Unicast-Update-Paket an neuen Nachbar ohne Routing-Informationen (NULL-UPDATE-Paket) mit gesetzten INIT-Flag(Ankündigung von Routen) und keine Topologie-Informationen
  • Quittierung mit ACK (Unicast) und selber senden des Update-Paketes
  • ansonsten Fehler

Aufbau EIGRP Pakete

  • identisch für IPv4 / IPv6
  • nutzen selben Port
  • dem Header folgen Variable Felder

Diffusing Update Algorithm (DUAL)

  • konstruiert kostengünstigsten Pfade
  • schleifenfrei
  • beachtet Topologieänderungen
  • erkennt den Punkt der Änderung

The Diffusing Update Algorithm (DUAL)

Dual Operation -- ExampleTopology
jeder Knoten hat seine Kosten zum Ziel

Dual Finite State Machine (FSM)

  • Entscheidungsprozess für alle Streckenberechnungen
  • verfolgt alle Routen
  • Schleifenfrei

Feasibility Condition

  • Machbarkeitsbedingung so früh wie möglich
  • Vergleich mit Nachbarn, wenn Topologieänderung
  • verifiziert die Schleifenfreiheit

Route States
✅ AKTIV - Router aktiv an der Neuberechnung des Pfads beteiligt, in Abstimmung mit den Nachbarn (Route wird genutzt)


❌ PASSIV - Router führt keine Route aus, weil Nachbarn kostengünstiger routen -> keine Neuberechnung notwendig

Algorithm Description

  • gute Skalierungseigenschaften
  • reduziert den Overhead
  • geringere Komplexität als interne Gateway-Protokolle
  • Diffusionsberechnung
  • Verdichtung der Erreichbarkeitsinformationen

Stuck in active (SIA)


Wenn ein oder mehrere Router, an die eine Anfrage gesendet wurde, nicht innerhalb des für den aktiven Status gültigen Maximalzeitraums von 180 Sekunden (drei Minuten) antworten, wird (bzw. werden) die Route(n) in den SIA-Status (Stuck in active, dt. sinngemäß Antwortet nicht) versetzt. In diesem Fall löscht EIGRP die Nachbarn, die keine Antwort gesendet haben, und protokolliert die Fehlermeldung Stuck in active für die Route(n), die aktiv wurde(n). :

Dual Message Types
Query - wird gesendet, wenn die Machbarkeitsbedingung fehlschlägt
Ziel nicht erreichbar
Metrik auf einen Wert erhöht, der höher ist als der FD
Update - Änderung der Metrik
Reply - Antwort auf query oder SIA Query
SIA Query - wird gesendet, wenn ein Reply nicht innerhalb eines SIA Intervalls erreicht wird
SIA Reply - Antwort auf SIA Query

5.3.4. Initialisierungssequenz


  1. Router A sendet einen Multicast HELLO und Router B entdeckt ihn


  2. Router B sendet ein beschleunigtes HELLO und sendet seine Topologie-Tabelle an Router A und das NULL-UPDATE mit INIT-Flag = Warteschlange wird erst gesendet bis erstes anerkannt wurde

  3. Router A empfängt das erste UPDATE-Paket und verarbeitet es als DUAL Ereignis, Topologieinformationen werden in Topologietabelle gespeichert, Router B sendet sein einziges UPDATE-Paket mit Bestätigung (ACK)
  4. Router B empfängt das UPDATE-Paket 100 vom Router A. Der Router B kann das Paket 10 aus der Übertragungsliste von A entfernen, nachdem das UPDATE bestätigt wurde. Es kann nun UPDATE-Paket 11 und mit einer Bestätigung des UPDATE von Router A senden.
  5. Router A empfängt das letzte UPDATE-Paket von Router B und erkennt es an. Die Bestätigung geht verloren.
  6. Router B überträgt das UPDATE-Paket später zu Router A
  7. Router A erkennt das Duplikat und quittiert das Paket einfach. Router B entfernte das Paket 11 aus der Übertragungsliste von A und beide Router wurden hochgefahren und synchronisiert.

Felder im einzelnen :

Flags

  • INIT-Flag (wird gesetzt zu einem neu entdecktem Nachbarn)
  • CR-Flag (gesetzt wenn im bedingtem Empfangsmodus)
  • RS-Flag (wird bei Neustarts gesetzt)
  • EOT-Flag (bestimmt das Ende eines Update Prozesses mit einem Nachbarn)

Header Version

  • aktuelle Version

Checksum

  • Prüfsumme

Sequenz Nummer

  • einzigartige 32 Bit SendeNummer

Acknowledgement Nummer

  • 32 Bit Nummer zur Bestätigung


5.5 - EIGRP Metric Koeffizienten


Ermöglicht die Änderung der Standard Komposite Metrik durch Verwendung von Koeffizienten (K-values).


K-values beeinflussen in 254 Schritten die endgültige Komposite Metrik. EIGRP Standard Koeffizienten sind auf die gängigsten Netzwerke optimal abgestimmt.


K1 == K3 == 1
K2 == K4 == K5 == 0
K6 == 0


Wenn K5 gleich 0 ist, wird der Zuverlässigkeitsquotient als 1 definiert.


metric = 256 ({(K1BW) + [(K2BW)/(256-LOAD)] + (K3DELAY)} * (K5/(REL+K4)))

Autonomous System Number/Virtual Router Identifier

  • beides 16 Bit Nummern zu Autentifiakation und Identifikation

5.5.1 - Koeffizient K1 und K2


K1 wird verwendet um die Pfadauswahl basierend auf der Bandbreite zu ermöglichen.

  • Maximal theoretische Bandbreite: Pfadauswahl basiert auf höchste gemeldete Bandbreite
  • Durchsatz: Pfadauswahl auf Grundlage der höchsten verfügbaren Bandbreitenanpassung (Schnittstelle meldet Auslastung)

Standardmäßig berechnet EIGRP den Durchsatz mit dem maximalen theoretischen Durchsatz (Pikosekunden pro Kilobyte) Diese Inversion führt zu einer größeren Anzahl (mehr Zeit), was schließlich eine schlechtere Metrik erzeugt.
Wenn K2 verwendet wird, wird der Effekt der Überlastung als ein Maß für die Belastung gemeldet

Opcode

  • bezeichnet den Typ der Nachricht

5.5.2 - Koeffizient K3


K3 wird verwendet, um eine Verzögerungs- oder Latenz-basierte Pfadauswahl zu ermöglichen.

5.5.3 - Koeffizient K4 und K5


K4 und K5 werden verwendet, um die Pfadauswahl basierend auf Paketverlust und Verbindungsqualität vorzunehmen.

  • Auffällige Netzwerkprobleme durch Paketverluste stören Echtzeitanwendungen wie VOIP, Streaming Angebote, Onlinespiele, die wiederum weitere Netzwerkanwendungen beeinflussen.
    +Kritische Dienste sollten weniger als 1% Paketverlust aufweisen. Weniger kritische Dienste dürfen 5% Verlust aufweisen und unkritische Dienste bis zu 10%

5.5.4 - Koeffizient K6


K6 nutzt erweiterte Attribute (Jitter & Energy)

  • Jitter: Pfadauswahl mittels geringster Schwankung (gemessen in Mikrosekunden) in der Paketauslieferung
  • Energy: Pfadauswahl auf Grundlage des Energieverbrauch (Aber keine Messung des Energieverbrauchs)

Topology Table


  • wird von protokollabhängigen Modulen aufgefüllt
    • zu jedem Eintrag gehören Zieladresse, Liste der Nachbarn die das Ziel adressiert haben
      Metrik die dem Ziel zugeordnet ist

  • Interne Routen
    • Ziele die im selben System entstanden sind
  • Externe Routen
    • von anderer Quelle gelernt
  • Split Horizon & Poison Reverse
    • über Routerschnittstelle gelernt
  • Startup Modus
    • Werden 2 Router Nachbarn, tauschen sie beim Startup die Topologie Tabellen aus
  • Wertetopologientabellenwechsel
    • Update für das Ziel
  • Senden QUERY/UPDATE
    • Metrikänderung vom NextHop

5.3.5. Neighbor Formation


  • Drei Wege Handshake für verlässliche Multicast und Unicast-Paketlieferung
  • Multicast-Hellos, um neue Nachbarn in Nachbartabelle zu legen
  • Unicast-Pakete um bekannte Routing-Informationen auszutauschen und Nachbar-Beziehung zu vervollständigen

5.3.6. Query Pakete während der Nachbarschaftsbildung


  • keine Betrachtung im Konvergensprozess


  • Aus diesem Grund würde jede QUERY, die von einem EIGRP-Router empfangen wird, nicht dazu führen, dass eine QUERY an den neuen (und anstehenden) Nachbar gesendet wird. Es würde den DUAL-Prozess ohne den neuen Peer in der Konversation durchführen. Um dies zu tun, wenn ein Router in den Prozess der Gründung eines neuen Nachbarn erhält eine QUERY von einem vollständig etablierten Nachbarn, führt es die normale DUAL Machbare Nachfolger zu überprüfen


    Ob er mit einem gültigen Pfad antworten muss oder ob er den ACTIVE-Prozess auf dem Präfix eingeben muss.


  • Wenn es feststellt, dass es aktiv sein muss, wird jedem vollendeten Nachbarn, der an dem Konvergenzprozess teilnimmt, ein QUERY-Paket gesendet, und REPLY-Pakete werden von jedem erwartet. Jeder anstehende Nachbar wird nicht erwartet, zu antworten und wird nicht eine QUERY direkt gesendet werden. Wenn es sich auf einer Schnittstelle befindet, die eine Mischung aus vollständig etablierten Nachbarn und anhängigen Nachbarn enthält, kann es die QUERY empfangen, aber es wird nicht erwartet, dass es darauf antwortet.

click to edit

Metrik Zusammensetzungsberechnung:
metric =[(K1Netz-Durchsatz) + Latenz)+(K6ExtAttr)] * K5 / K4+Rel


metric = (K1 min(Durchsatz)) + (K3 summe(Latenz)) }

Latenzberechnung:
Latenz= K3 Verzögerung EIGRP_WIDE_SCALE / EIGRP_Verzögerung_PICO

Durchsatz Berechnung:
Max:Durchsatz = K1 (EIGRP_BANDBREITE EIGRP_WIDE_SCALE) / Interface-Bandbreite(kbps)

** Wide Metric Vectors:


EIGRP nutzt 5 "vector metrics": **

  • minimale Durchsatz Latenz,
  • Last
  • Zuverlässigkeit und MTU.

Diese Werte werden vom Ziel berechnet.
Quelle wie folgt:

  • Durchsatz - Minimum-Wert
  • Latenz - kumulativ
  • Last - maximal
  • Zuverlässigkeit - minimal
  • MTU - minimal
  • Anzahl der Hops - kumulativ

zusätzliche Einträge sind:
Jitter - kumulativ
Energie - kumlativ

EIGRP bandwidth (BW) metric:
256 (10^7)/BW = 256 {(10^7)/10,000}
= 256 * 1000
= 256,000


EIGRP Verzögerung:
256 summe der Verzögerungen = 256 100 * 10 microseconds
= 25,600 (in tens of microseconds)

- Verzögerungsberechnung
metric = 256 * { [(10^7)/ Bandbreite/min] + [summe der Verzögerung]}

  • (Bandbreite/min) ist in KBit/s
  • Verzögerung für eine Ethernet-Schnittstelle sind 10 Mbit/s und 1 ms,
  • Um EIGRP in die Lage zu versetzen den besten Pfad mit der höchsten Bandbreite für ein Interface zu wählen, werden EIGRP Paket und Formel modifiziert
  • Die Änderung erlaubt es EIGRP den besten Pfad aufgrund er berechneten Zeit (in Pico sek) zu übernehmen

EIGRP Metrik Formel:
metric = 256 ({(K1Bandbreite) + [(K2 Bandbreite)/(256-Auslastung)] + (K3 Verzögerung)} (K5/(REL+K4)))*

Metrik basiert auf:

  • Bandbreite
  • Verzögerung
  • Last
  • Zuverlässigkeit


  • MTU ist kein Attribut für Berechnung

  • ursprüngliches Ziel war: Routing für IGRP anzubieten und zu verbessern
  • Dazu wird EIGRP die gleiche Metrik verwenden wie IGRP
  • Terme werden mit 256 multipliziert um Metrik von 24 auf 32 zu ändern

-->