Warum muss die MTU mit internen Routing-Protokollen für den Verbindungsstatus wie EIGRP und OSPF übereinstimmen?

10

Wenn versucht wird, die Nachbar-Adjazenzen ohne übereinstimmende MTU zu konfigurieren, werden die Router nicht zu Nachbarn. Ich gehe davon aus, dass dies das Routing-Protokoll vor sich selbst schützen soll, aber ich verstehe nicht, wovor es sich selbst rettet? Was wäre (könnte) die Konsequenz ohne passende MTU?

Pete
quelle
Könnten Sie bitte klarstellen, in welcher genauen Situation Sie sich Sorgen machen, dass OSPF- oder EIGRP-MTUs nicht übereinstimmen?
Mike Pennington
Ich kann mir keine Situation vorstellen, in der Sie das brauchen würden. Ich wollte nur wissen, welche Logik dies zu einer expliziten Überprüfung dieser Routing-Protokolle macht.
Pete

Antworten:

12

Pete sagte :

Ich kann mir keine Situation vorstellen, in der Sie das brauchen würden. Ich wollte nur wissen, welche Logik dies zu einer expliziten Überprüfung dieser Routing-Protokolle macht.

Kurze Antwort

Routing-Protokolle sind einige der grundlegendsten Bausteine ​​im Internet. Wir brauchen sie, um in jedem möglichen Fall sehr zuverlässig zu sein. Es ist nicht gut, eine OSPF- oder EIGRP-Nachbarschaft auf einer nicht übereinstimmenden MTU aufzurufen.

Routing-Protokolle müssen potenzielle nicht übereinstimmende MTUs aus dem Weiterleitungspfad des Routers entfernen.

Lange Antwort

Ich kann mir drei mögliche Situationen vorstellen, in denen Sie nicht übereinstimmende IGP-MTUs finden würden ...

  1. Unbeabsichtigte MTU-Nichtübereinstimmung auf Schicht 2 (z. B. wenn jemand versehentlich MTUs auf einer seriellen Leitung nicht übereinstimmte oder verschiedene Anbieter unterschiedliche Standard-MTUs auf demselben Medium hatten)
  2. Übereinstimmende Layer2-MTUs, aber die Router-Implementierung weist einen Fehler auf, der die erforderliche IP-MTU der Schnittstelle falsch berechnet
  3. Vorsätzliche MTU-Nichtübereinstimmung

IP-MTUs sind direkt mit Layer2-MTUs korreliert (zumindest für Fall 1 oben). Unabhängig davon, was wir tun, sind wir immer der Gnade ausgeliefert, die Probleme durch unbeabsichtigte Layer2-MTU-Fehlanpassungen zu verringern, da es keinen Layer2-MTU-Erkennungsmechanismus gibt (im Gegensatz zu IP mit ICMP-Fehlermeldungen).

Dies bedeutet, dass wir alles tun müssen, um MTU-Fehlanpassungen auf Schicht 2 zu vermeiden, selbst wenn die obigen Fälle 2 und 3 Opfer von Schadensbegrenzungsproblemen mit Fall Nr. 1 sind. Fall 1 hat kolossale Auswirkungen, sofern wir ihn nicht lösen. dh den gesamten Verkehr mit schwarzen Löchern versehen, nur weil wir nicht übereinstimmende MTUs zugelassen haben.

Wir sind immer auf den kleinsten gemeinsamen Nenner des Links beschränkt. Frames, die größer als die Empfangs-MTU einer Schnittstelle sind, werden stillschweigend verworfen, und der Router kann nicht wissen, ob die MTU absichtlich nicht übereinstimmte oder ob sie versehentlich aufgetreten ist.

Folglich erfordern EIGRP und OSPF gültige Layer2-Nachbarschaften, Anmerkung 1 (einschließlich MTUs).

Was wäre (könnte) die Konsequenz ohne passende MTU?

Zitieren von John Moy (OSPF-Autor) in RFC 2329 Seite 4 :

  • Probleme mit allen IP-Weiterleitungen
  • OSPF-Probleme

Zitiert ihn auch aus der OSPF-Mailingliste :

John Moy - OSPF MTU stimmt nicht überein


Hinweis 1 Einige Leute verstehen die Bedeutung von Adjazenz als striktes IP-Routing-Protokollkonzept falsch. Diese Behauptung übersieht die Realität, dass für alles (einschließlich IP) passende Layer2-MTUs erforderlich sind , damit Layer2-Domänen ordnungsgemäß funktionieren.

Eine der wichtigsten Funktionen eines Routing-Protokolls ist die Erstellung einer gültigen FIB / CEF / Weiterleitungstabelle. Diese Tabelle ordnet die über Routing-Protokolle gelernten Informationen Layer2-Umschreibinformationen zu . Diese Layer2-Beziehungen auf derselben physischen Verbindung werden von Cisco auch als Adjazenzen bezeichnet.

Mike Pennington
quelle
Danke, Mike! Ich denke, der Teil, den ich vermisst habe, war, dass ein Paket über MTU auf dem sendenden Router fragmentiert, aber auf dem empfangenden Router verworfen wurde.
Pete
Nicht ganz, nicht übereinstimmende L2-MTUs sind eine Fehlkonfiguration, die mit vorhandenen Implementierungen nicht zuverlässig umgangen werden kann. Alles, was OSPF weiß, ist, dass die vorhandene IP-MTU nicht symmetrisch ist, aber keine Informationen zur Behebung enthält. Fragmentierung wird in OSPF nicht unterstützt, da in Fall 1 immer noch eine kaputte L2-Datenebene übrig bleibt und OSPF nicht einmal wirklich weiß, warum es eine Nichtübereinstimmung gibt
Mike Pennington
5

Gemäß OSPF RFC 2328 (10.6):

Wenn das Feld Schnittstellen-MTU im Paket "Datenbankbeschreibung" eine IP-Datagrammgröße angibt, die größer ist, als der Router auf der empfangenden Schnittstelle ohne Fragmentierung akzeptieren kann, wird das Paket "Datenbankbeschreibung" abgelehnt.

Die einfache Antwort lautet, dass der Standard so konzipiert wurde, dass nur zu große Datagramme gelöscht werden, anstatt sie zu fragmentieren. Fragmentierter Datenverkehr erhöht die CPU-Belastung eines Geräts und verringert die Leistung, da für die Fragmentierung zusätzlicher Datenverkehr erforderlich ist. In Anbetracht des Ziels eines dynamischen Routing-Protokolls, dass es ein stabiles und schnell konvergierendes Protokoll ist, sollte alles, was diesen Zielen widerspricht, beseitigt werden. Durch Festlegen der Übereinstimmungsanforderung für die MTUs wird diese Leistungsanforderung durchgesetzt.

Mehr vom OSPF-RFC:

4.3.  Routing protocol packets

    The OSPF protocol runs directly over IP, using IP protocol 89.
    OSPF does not provide any explicit fragmentation/reassembly
    support.  When fragmentation is necessary, IP
    fragmentation/reassembly is used.  OSPF protocol packets have
    been designed so that large protocol packets can generally be
    split into several smaller protocol packets.  This practice is
    recommended; IP fragmentation should be avoided whenever
    possible.
Robert
quelle
5
EIGRP und OSPF bilden Layer2-Adjazenzen und es gibt keine IP / Datagramm-Fragmentierung auf Layer2. Es ist also unmöglich, nicht übereinstimmende MTUs zu verwenden, selbst wenn der Standard dies zulässt.
Mike Pennington
Negativ. Sie bilden Nachbarschaften der Schicht 3, Protokollkommunikation erfolgt über IP-Multicast (Schicht 3). Wenn sie technisch Nachbarschaften der Schicht 2 bilden würden, würden Sie keine IP-Adressen auf der Schnittstelle benötigen.
Robert
Vom RFC selbst: Das OSPF-Protokoll wird direkt über IP unter Verwendung des IP-Protokolls 89 ausgeführt.
Robert
2
Robert, Ihnen fehlt die Definition der Nachbarschaft, die Cisco verwendet. Bitte schauen Sie auf jedem Cisco-Router nach "sh adjacency internal". CEF behandelt alle Layer2-Informationen als Teil der Adjazenztabelle. Die 2. und 3. Zeile in jedem Eintrag enthält die Hex-Layer2-Header-Informationen. IP erfordert eine kohärente Schicht2, auch wenn sie direkt verbunden ist.
Mike Pennington
2
Wie unterstützen Sie nicht übereinstimmende OSPF-MTUs ohne L2-Fragmentierung? Alle RFC-Schläge beiseite, die Antwort ist einfach ... Nicht übereinstimmende MTUs sind auf Schicht 2 gebrochen
Mike Pennington