このルーターがOSPFからの複数の等コストルートを使用できないのはなぜですか?


16

NetIron 5.2を実行しているBrocadeルーターと、IOS 12.4を実行しているDynamipsエミュレーションはどちらも、非常に単純な構成と思われるもので、等コストパスを確実に使用できません。ブロケードから予想される動作を非常に短時間観察したため、「信頼できる」と言いますが、長時間の非アクティブ状態の後、システムを混乱させるとすぐに消失しました。

関連する場合、ステートレスネットワークサービスのエニーキャスト宛先を設定しています。これはサイト固有の構成であり、ネットワークパスの長さの多様性はほとんどまたはまったくないため、エニーキャスト機能の目的は主にフェールオーバーの冗長性のためであり、部分的に負荷分散のためです。私の質問は、負荷分散機能に関するものです。

私のプロトタイプネットワークは次のようになります。

R1 <--N1--> Rcore <--N2--> R2

R1そしてR2OSPF経由でエニーキャストの宛先をアドバタイズします。場合Rcore、その上に同じコストたN1N2インターフェイス、およびエニーキャスト宛先が他のルータのそれぞれに同一のコストを持っている、私は二つの等コスト・パスを見つけることを期待するRcoreルーティングテーブル。少なくとも常にではなく、予測できない。何故なの?

特に関連する可能性のある詳細は次のとおりです。

  • Rcore接続ABRであるN1N2バックボーンに、別個NSSAエリア内にある、(図示しません)。
  • 検査Rcoreからの期待のLSAというLSDBの確認R1とは、R2正しくインストールし、正しいメトリックを持つエニーキャスト先が含まれています。

3つの可能な説明を検討しました。

  1. これらのプラットフォームでECMPを構成および操作する方法がわかりません。これは可能性が高いため、ベンダーのドキュメントでは見つけられなかった啓発をここで見つけたいと考えています。
  2. 私は、OSPFエリア、ECMP、エニーキャストなどの間の相互作用を理解していません。これはほとんどありそうにないと思いますが、とにかく何かを学ぶ準備ができています。
  3. これら2つのベンダーの実装は、同じバグ、機能の誤り、または何かに悩まされています。私はそれが起こる可能性があると思います。

編集 Dynamips / Dynagen実装用の設定例と出力を追加しました。

構成

ルーター R1

!
version 12.4
!
hostname R1
!
interface Loopback0
 ip address 1.1.1.1 255.255.255.255
 ip ospf cost 1
!
interface FastEthernet0/0
 ip address 10.1.0.2 255.255.255.252
 ip ospf cost 2
!
router ospf 1
 router-id 10.1.0.2
 log-adjacency-changes
 area 0.0.0.1 nssa no-summary
 passive-interface Loopback0
 network 1.1.1.1 0.0.0.0 area 0.0.0.1
 network 10.1.0.0 0.0.0.3 area 0.0.0.1
!
line console 0
 exec-timeout 0 0
!
end

ルーター R2

!
version 12.4
!
hostname R2
!
interface Loopback0
 ip address 1.1.1.1 255.255.255.255
 ip ospf cost 1
!
interface FastEthernet0/0
 ip address 10.2.0.2 255.255.255.252
 ip ospf cost 2
!
router ospf 1
 router-id 10.2.0.2
 log-adjacency-changes
 area 0.0.0.2 nssa no-summary
 passive-interface Loopback0
 network 1.1.1.1 0.0.0.0 area 0.0.0.2
 network 10.2.0.0 0.0.0.3 area 0.0.0.2
!
line console 0
 exec-timeout 0 0
!
end

ルーター Rcore

!
version 12.4
!
hostname Rcore
!
interface Loopback0
 ip address 10.0.0.1 255.255.255.255
 ip ospf cost 4
!
interface FastEthernet0/0
 ip address 10.1.0.1 255.255.255.252
 ip ospf cost 2
!
interface FastEthernet0/1
 ip address 10.2.0.1 255.255.255.252
 ip ospf cost 2
!
router ospf 1
 log-adjacency-changes
 area 0.0.0.1 nssa no-summary
 area 0.0.0.2 nssa no-summary
 passive-interface Loopback0
 network 10.0.0.1 0.0.0.0 area 0.0.0.0
 network 10.1.0.0 0.0.0.3 area 0.0.0.1
 network 10.2.0.0 0.0.0.3 area 0.0.0.2
!
line console 0
 exec-timeout 0 0
!
end

出力

ルーター Rcore

ルーターLSAから R1

Rcore#sh ip ospf database router 10.1.0.2

            OSPF Router with ID (10.0.0.1) (Process ID 1)

        Router Link States (Area 0.0.0.1)

  LS age: 1618
  Options: (No TOS-capability, DC)
  LS Type: Router Links
  Link State ID: 10.1.0.2
  Advertising Router: 10.1.0.2
  LS Seq Number: 80000002
  Checksum: 0x726F
  Length: 48
  Number of Links: 2

    Link connected to: a Stub Network
     (Link ID) Network/subnet number: 1.1.1.1
     (Link Data) Network Mask: 255.255.255.255
      Number of TOS metrics: 0
       TOS 0 Metrics: 1

    Link connected to: a Transit Network
     (Link ID) Designated Router address: 10.1.0.2
     (Link Data) Router Interface address: 10.1.0.2
      Number of TOS metrics: 0
       TOS 0 Metrics: 2

ルーターLSAから R2

Rcore#sh ip ospf database router 10.2.0.2

            OSPF Router with ID (10.0.0.1) (Process ID 1)

        Router Link States (Area 0.0.0.2)

  LS age: 1766
  Options: (No TOS-capability, DC)
  LS Type: Router Links
  Link State ID: 10.2.0.2
  Advertising Router: 10.2.0.2
  LS Seq Number: 80000002
  Checksum: 0x8A53
  Length: 48
  Number of Links: 2

    Link connected to: a Stub Network
     (Link ID) Network/subnet number: 1.1.1.1
     (Link Data) Network Mask: 255.255.255.255
      Number of TOS metrics: 0
       TOS 0 Metrics: 1

    Link connected to: a Transit Network
     (Link ID) Designated Router address: 10.2.0.2
     (Link Data) Router Interface address: 10.2.0.2
      Number of TOS metrics: 0
       TOS 0 Metrics: 2

ルーティングテーブルの抜粋

Rcore#sh ip route 1.1.1.1
Routing entry for 1.1.1.1/32
  Known via "ospf 1", distance 110, metric 3, type intra area
  Last update from 10.1.0.2 on FastEthernet0/0, 00:30:54 ago
  Routing Descriptor Blocks:
  * 10.1.0.2, from 10.1.0.2, 00:30:54 ago, via FastEthernet0/0
      Route metric is 3, traffic share count is 1

エニーキャストとはどのようなルートタイプですか?
ニコチン

@nicotine:エニーキャストアドレスは、ループバックインターフェイスのセカンダリアドレスです。この構成の最新の順列では、最終的にルーターLSA内のスタブネットワークになります。構成スニペットと端末グラブをフォローします。
-neirbowj

構成と出力を可能な限り削除しましたが、あまり多くしませんでした。情報密度を改善する提案を歓迎します。
-neirbowj

これは動作するはずです。次のコマンドからの出力を投稿できますか:show ip protocols show ip ospf rib debug ip routing Rcoreでこれらのコマンドを試してください。これにより、デュアルルートがインストールされていない理由に関する手がかりが得られます。あなたのOSPF DBの出力は私には正常に見えます。
ダニエルディブ

アクティブなルートのリンクをバウンスしても、元のルートが優先されますか?たとえば、CLI出力では、10.1.0.2を指すアクティブルートが表示されます。OSPFネイバーシップが中断するのに十分な長さでインターフェイスを10.1.0.2にシャットダウンしてからオンラインに戻すと、10.1.0.2への元のルートが再インストールされますか?
-bigmstone

回答:


7

私が最初に考えたのは、OSPFが単に同じプレフィックスではなく同じLSAであると考えていることです。ブロケードについてはあまり知りませんが、CiscoのボックスからのLSAの出力で、おそらくあなたにもっと伝えることができました。

一般に、Ciscoの場合、プロトコルのルートが等しい場合、両方ともルーティングテーブルに提示されます。ルーティングテーブルは、デフォルトで両方のパスをインストールし、ECMPを実行します。メトリックまたはプロトコルが異なる場合、ECMPは行われません。これは、同じプレフィックスの異なるLSAにも適用されます。


うん-データベースのエントリは私たちに伝える必要があります-それらは同じ転送アドレスと広告ルーターを持っていますか?
ニコチン

今日の午後にサンプル出力の取得に取り組みます。
-neirbowj

6

ECMPがエニーキャストに意味があるかどうかを検討しています。ルーティングは、エニーキャストを、あるホストが他のホストよりも優先される論理的に最も近い宛先に向ける必要があります。エニーキャストホストが等距離にある場合でも、これが真実であると期待しています。ECMPの負荷共有については、/ 32では宛先ごとに不可能だと思います。おそらく、ソースを考慮した負荷分散アルゴリズムがあります。DNSの場合でも、パケットごとにリスクがあるようです。ほとんどのすぐに使えるエニーキャストソリューションは、ホストでospfを実行していると思います。

少し検索しましたが、次のrfc2178からの抜粋で原因を確認しています。

16.8。等コストマルチパス

OSPFプロトコルは、すべての宛先への複数の等コストルートを維持します。これは、ルーティングテーブルを計算するために上記で使用した手順、およびルーティングテーブル構造の定義で確認できます。

複数のルートのそれぞれは、同じタイプ(エリア内、エリア間、タイプ1外部またはタイプ2外部)、コストになり、同じ関連エリアを持ちます。ただし、各ルートは個別のネクストホップとアドバタイジングルータを指定します。


1
うーん、私は単一の領域を切り取り、ECMPはコアに存在します。ただし、/ 32では役に立たないと主張します。おそらく次のことが関係します:morse.colorado.edu/~tlen5710/12s/OSPF.pdf
デニスオルバニー

これは、面積がECMPの基準の1つであることを示しています。さまざまな分野が契約を破る可能性があるようです。
デニスオルバニー

ホスト上のOSPF-はい、これが目標です。/ 32は、ループバックのセカンダリアドレスとして割り当てられます。負荷分散の構成も検討していますが、そもそもECMPに依存しています。
-neirbowj

5

12.4(24)を使用して、これをラボで再現することはできません。同じトポロジー、RCoreエリア0ループバック、lo1のR1とエリア1のインターフェース、lo2のR2とエリア2のインターフェース(両方ともNSSA)、再配布されたルートはRcoreのECMPのために選択されます:

Routing entry for 10.20.0.0/16
  Known via "ospf 1", distance 110, metric 20, type NSSA extern 2, forward metric 6477
  Last update from 2.2.2.6 on Serial1/1, 00:02:23 ago
  Routing Descriptor Blocks:
    2.2.2.6, from 2.2.2.21, 00:02:23 ago, via Serial1/1
      Route metric is 20, traffic share count is 1
  * 1.1.2.1, from 1.1.1.1, 00:06:31 ago, via Serial1/0
      Route metric is 20, traffic share count is 1

考えられる可能性:ルートがどのようにOSPFに到達するか、どのOSPFルートタイプが使用されるかに応じて、ASBRルーターへのコストはルート選択プロセスに考慮される場合とされない場合があります(ECMPが機能するため、両方のルートコスト、およびASBRのコストは一致する必要があります)。両方の実際のLSAのメ​​トリックを確認すると役立つ場合があります。

設定を模倣することで、IOSでこれを再現することができました-エニーキャストをインターフェイスに配置し、インターフェイスをエリアに配置します。ECMPが必要な場合は、OSPFにルートを再配布することを検討してください。


FWIW、私のDynamipsインスタンスの画像は7200で12.4(25d)です。結果は「Known via ... NSSA extern 2」と表示されますが、鉱山は「intra area」と表示されます。それは良い手がかりです。
-neirbowj

接続された再配布は、インターフェイスの下でnetworkコマンドまたはip ospfを使用する代わりに、それを生成します。
ダニエルディブ

@DanielDib normal / stub / nssa、intra-area / external、および少なくともCisco + Dynamips / Brocadeの順列を使い果たしています。時間があれば、ジュニパーも試してみます。
-neirbowj

3

使用しているBrocadeハードウェア(MLX?CER?XMR?)に応じて、ソフトウェアを更新することをお勧めします。5.3(およびハードウェアに応じて5.4)ソフトウェアツリーを通じて修正されたいくつかのバグがあり、OSPFルートコストが適切に更新されないことに関連する症状がありました。バグを確認するためのすべての基準はわかりませんが、それらのいくつかは次のとおりでした。 。

2つのメーカーのプラットフォームでこの問題が発生していることを認識しているため、構成の問題である可能性が高くなります。また、古いtech-support-puntの「ソフトウェアを更新する」ことは、多くの場合、目を見張るだけの価値があることを認識しています。とはいえ、それは心に留めておくべきことかもしれません。


私はこれを心に留めておきます。ただし、R1 / R2はコストを設定し、Rcoreはコストを確認し、RcoreはECMP症状を示します。
-neirbowj
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.