MTUがEIGRPやOSPFなどの内部リンク状態ルーティングプロトコルで一致する必要があるのはなぜですか?


10

MTUを一致させずに隣接関係を設定しようとすると、ルーターは隣接関係になれません。これはルーティングプロトコルをそれ自体から保護するためだと思いますが、それ自体が何から節約されているのか理解できません。MTUを一致させないと結果はどうなりますか?


OSPFまたはEIGRP MTUが一致していない理由をあなたが懸念している正確な状況を明確にしていただけませんか?
マイクペニントン2015年

これが必要になるような状況は考えられません。これらのルーティングプロトコルでこれを明示的にチェックするロジックを知りたいだけです。
ピート

回答:


12

ピートは言った

これが必要になるような状況は考えられません。これらのルーティングプロトコルでこれを明示的にチェックするロジックを知りたいだけです。

簡潔な答え

ルーティングプロトコルは、インターネット上の最も基本的なビルディングブロックの一部です。あらゆるケースで非常に信頼できるものにする必要があります。一致しないMTUでOSPFまたはEIGRP隣接関係を立ち上げることは意味がありません。

ルーティングプロトコルは、不一致の可能性があるMTUをルーターの転送パスから削除する必要があります。

長い答え

IGP MTUの不一致が見つかる可能性のある3つの状況を考えることができます...

  1. レイヤー2での意図しないMTUの不一致(たとえば、誰かが誤ってシリアル回線のMTUを不一致にした場合、または異なるベンダーが同じメディアで異なるデフォルトのMTUを使用していた場合
  2. Layer2 MTUを一致させるが、ルーターの実装に必要なインターフェイスIP MTUを誤って計算するバグがある
  3. 意図的なMTUの不一致

IP MTUは、レイヤー2 MTUに直接相関しています(少なくとも上記のケース1の場合)。レイヤー2 MTU検出メカニズムがないため(IPとは異なり、ICMPエラーメッセージがあります)、レイヤー2 MTUの不一致による問題を緩和するのは、私たちが何をしようとも常に容赦ありません。

これは、上記のケース2と3がケース番号1の問題を軽減する犠牲者であっても、レイヤー2 MTUの不一致を回避するために可能な限りのことを行う必要があることを意味します。つまり、MTUの不一致を許可したからといって、すべてのトラフィックをブラックホール化します。

私たちは常にリンク上の最小公分母に制限されています。インターフェイスの受信MTUより大きいフレームは通知なく破棄され、ルータはMTUが意図的に不一致になっているかどうか、または偶発的に発生したかどうかを知る方法がありません

したがって、EIGRPおよびOSPFには、有効なレイヤー2隣接注1(MTUを含む)が必要です。

MTUを一致させないと結果はどうなりますか?

RFC 2329のJohn Moy(OSPFの作者)の引用4ページ

  • すべてのIP転送に関する問題
  • OSPFの問題

また、彼をOSPFメーリングリストから引用します

John Moy-OSPF MTUの不一致


注1隣接関係の意味を厳密にIPルーティングプロトコルの概念と誤解している人もいます。このアサーションは、レイヤー 2ドメインが適切に機能するために、すべて(IPを含む)に一致するレイヤー 2 MTUが必要であるという現実を見逃しています。

ルーティングプロトコルの最も重要な機能の1つは、有効なFIB / CEF /転送テーブルを作成することです。そのテーブルは、ルーティングプロトコルを介して学習した情報をレイヤー2書き換え情報にマップします。同じ物理リンク上のこれらのレイヤ2関係は、シスコが隣接とも呼んでいるものです。


ありがとう、マイク!私が欠けていたのは、MTU上のパケットが送信側ルーターではフラグメント化されているが、受信側ルーターでは破棄されていることでした。
ピート

残念ながら、L2 MTUの不一致は、既存の実装では確実に回避できない誤設定です。OSPFが知っているのは、既存のIP MTUが対称的でないことですが、それを修正する方法についての情報はありません。不一致がある理由は、まだケース1とOSPFで壊れL2データプレーンを離れるため、断片化がOSPFでサポートされていない、本当にさえ知らない
マイク・ペニントン

5

OSPF RFC 2328(10.6)によれば、

データベース記述パケットのインターフェイスMTUフィールドが、ルーターがフラグメント化せずに受信インターフェイスで受け入れることができるよりも大きいIPデータグラムサイズを示している場合、データベース記述パケットは拒否されます。

簡単な答えは、規格は断片化するのではなく、大きすぎるデータグラムをドロップするように設計されているということです。断片化されたトラフィックは、デバイスのCPU負荷を増加させ、断片化の必要性のために追加のトラフィックを必要とするため、パフォーマンスを低下させます。ダイナミックルーティングプロトコルの目標を考えると、それは安定した高速収束プロトコルであり、これらの目標に反するものはすべて排除する必要があります。MTUが一致するように要件を設定すると、このパフォーマンス要件の適用に役立ちます。

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.

5
EIGRPとOSPFはレイヤー2の隣接関係を形成し、どのレイヤー2にもIP /データグラムの断片化はありません。したがって、規格で許可されている場合でも、一致しないMTUを使用することはできません。
マイクペニントン2015年

負。それらはレイヤー3隣接を形成し、プロトコル通信はIPマルチキャスト(レイヤー3)を使用して行われます。技術的にレイヤ2隣接関係を形成している場合、インターフェイスにIPアドレスは必要ありません。
Robert

RFC自体から:OSPFプロトコルはIPプロトコル89を使用して、IP上で直接実行
ロバート・

2
ロバート、シスコが使用する隣接関係の定義がありません。シスコルータの「sh隣接内部」を確認してください。CEFはすべてのレイヤ2情報を隣接テーブルの一部として扱います。各エントリの2行目と3行目は、hex layer2ヘッダー情報です。IPが直接接続されている場合でも、コヒーレントレイヤー2が必要です。
マイクペニントン

2
では、L2フラグメンテーションのない不一致のOSPF MTUをどのようにサポートしますか?すべてのRFCはさておき、答えは簡単です...一致しないMTUはレイヤー2で壊れています
Mike Pennington
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.