IGPプロトコルが内部通信のニーズを満たす場合、自律システム内でiBGPを使用する理由


22

AS内の内部通信にIGPプロトコル(OSPF、RIP)がある場合、ルートにiBGPが必要な理由を誰もが説明できますか?

たくさんの記事や本を読みましたが、答えが見つかりませんでした。

回答:


26

内部通信にIGPプロトコル(OSPF、RIP)がある場合、ルートにIBGP通信が必要であることを誰もが説明できますか?

  • スケーラビリティ1:あなたが複数の場所に50万EBGPルートを受信していることを想像して2、そして、あなたのAS内のルートあたりの出口点に影響を与える必要があります。BGPは、IGPプロトコルよりも多くのルートを処理できます。したがって、eBGPで学習したすべてのルートを再配布する場合を除き、iBGPが必要です。
  • 信頼/制御の境界を強制する:BGPには、IGPよりも多くのピアフィルタリング方法があります(アドバタイズおよび受信するものを制御するため)。

  • 柔軟なデータ構造(前の箇条書きに多少関連する):BGPコミュニティBGP拡張コミュニティローカル設定など。これらは、BGPを(iBGPを使用して)独自の自律システム内にカスタムルーティングポリシーを実装する魅力的な方法にします。

すべてと同様に、トレードオフがあります。iBGPから得られるスケーラビリティ、制御、および柔軟性は、IGP(一般的に)よりも収束プロトコルが遅いことを意味します。


終了ノート:

1 スケーラビリティ

  • IGP(つまり、私の場合はOSPF)でインターネットルーティングテーブル全体を持ちたくないため、BGPを使用します。
  • OSPFは、インターネットBGPテーブルの何千ものルートを処理するように設計されていません...この目的でOSPFを使用しようとすると、ネットワークが切断されます。OSPFの例を使用すると、500,000ルートからのLSA処理/フラッディング要件は、ルーターのリソースを使いすぎます。他のIGP(EIGRP、RIPv1 / 2、IS-IS、IGRP)に名前を付けると、同じ話が当てはまります。
  • Tier1 ISPが誤ってBGPテーブルをIGPに再配布し(インターネットテーブルが現在のサイズのごく一部であった場合でも)、重大な停止を引き起こしたという悪名高い事例がいくつかありました。BGPからOSPFへの再配布が重大な停止を引き起こすのを防ぐために対策がIGPプロトコル(IOSのOSPFのようなもの)に実装されました。

2 iBGPルーティングの例

iBGPが必要な理由を理解するには、4.2.2.2へのこのルーティングエントリを検討してください...

R2>sh ip bgp 4.2.2.2
BGP routing table entry for 4.0.0.0/9, version 3146
Paths: (32 available, best #7, table Default-IP-Routing-Table)
... <!-- extra BGP RIB entries deleted -->
  7660 2516 3356, (aggregated by 3356 4.69.130.4)
    203.181.248.168 from 203.181.248.168 (203.181.248.168)
      Origin IGP, localpref 100, valid, internal, atomic-aggregate
      Community: 2516:1030
  3356, (aggregated by 3356 4.69.130.6)
    4.69.184.193 from 4.69.184.193 (4.69.184.193)
      Origin IGP, metric 0, localpref 100, valid, internal, atomic-aggregate, best
      Community: 3356:0 3356:3 3356:100 3356:123 3356:575 3356:2012
... <!-- extra BGP RIB entries deleted -->

考慮すべき32のパスがあります...この場合、BGPは4.69.184.193を介して4.0.0.0/9に進むことを選択しました(bestRIBエントリの下に注意してください)。この場合、このルートには最短のASパスリストがあるため、BGPはこれを選択しました。ただし、すべてのルートがAS3356(R1に接続)経由で優先されるわけではありません。いくつかはR3(AS7660経由)から優先される場合があります。iBGPを使用すると、最短のBGPパスを取得する方法を(R2で)知ることができます。

BGP route to 4.0.0.0/9 via                                              
NH: 4.69.184.193 [Path: 3356]                                  
  -------->                                                     

 eBGP w/ AS3356 }{              iBGP inside AS64000          }{   eBGP w/ AS7660

                 S1/0       S1/2   S2/1     S2/3   S3/2    S3/0
Peered w/ AS3356    +------+         +------+        +------+       Peered w/ AS7660
4.69.184.193 <------|  R1  |---------|  R2  |--------|  R3  |-----> 203.181.248.168
                    +------+         +------+        +------+
                                         | S2/0
                                         |

                                         ^
                                         ^
                                         | Ingress packet to 4.2.2.2
                                         |

R1、R2、およびR3は完全にiBGPメッシュ化されています。iBGPがルートをアドバタイズすると、ネクストホップは変更されません。これは、OSPFで4.69.184.193のサブネットを運ぶ必要があることを意味します...

R2>sh ip route 4.69.184.193
Routing entry for 4.69.184.192/30
  Known via "ospf 100", distance 110, metric 65536, type intra area
  Last update from 192.0.2.109 on GigabitEthernet3/1, 1w0d ago
  Routing Descriptor Blocks:
  * 192.0.2.109, from 192.0.2.3, 1w0d ago, via Serial2/1
      Route metric is 65536, traffic share count is 1

R2>

したがって、4.2.2.2のパケットがR2に到着すると、R2はそれをSerial2 / 1に送信します。これは、iBGPがネクストホップがあることを通知する場所だからです。


この部分を理解しているかどうかはわかりません。「eBGPで学習したすべてのルートを再配布する意思がない限り、iBGPが必要です」。境界eBGPルーターが2つある場合、ルーターAはルーターBが学習したルートを知りません。逆も同様です。彼らは何らかの形で情報を交換する必要があり、これは通常iBGPを使用して行われます。これにeBGPをどのように使用しますか?eBGPがAとBの両方に、他のルーターが学習したルートを認識させる方法がわかりません。
user4205580

あなたが言及している声明は、あなたがいくつかの非eBGPスピーカーを持っていると仮定しています。eBGPアップストリームへのデフォルトルートだけでは生きられないと仮定すると、この時点で次のいずれかを実行できます。A)eBGPプレフィックスをIGPに再配布する(通常は悪い考え)、またはB)iBGPを使用する 私の答えは、ほとんどの時間を費やしてiBGPが役立つ理由を説明しています。
マイクペニントン

10

IGPは通常、リンク状態ベースのOSPFまたはISISです。これにより、ネットワークのすべての情報が得られます。誰もがすべての観点からネットワークを知っているため、非常に興味深い収束オプションとトラフィックエンジニアリングオプションが可能になります。

BGPは基本的に距離ベクトルであり、ネットワーク全体のビューが非常に限られていることを知っています。BGPは、ルーティング情報のフィルタリングと変更を非常にうまく処理します。

リンク状態プロトコルは、距離ベクトルと比較して非常に高価であり、INET DFZサイズにスケーリングすることは非常に問題です。

両方を持っている理由は、1つの特定のネットワーク内で、リンク状態プロトコルでそれを処理するのに十分に複雑さが低いためです。これにより、ネットワークに関する高度な知識のすべての利点を得ることができます。
しかし、インターネットのサイズに合わせて拡張できないため、これらの多くのリンクステートアイランドを接続するには、他のネットワークが必要です。

ネットワーク内でIGPのすべてのプレフィックス(顧客を含む)を運ぶことができますが、IGPのパフォーマンスに悪影響を与えますが、コアルータのループバックアドレスを運ぶだけですべての収束とTEの利点を得ることができます。IGPにカスタマープレフィックスを追加しても、IGPが不必要に複雑になるため、ネットワークパフォーマンスが低下します。



3
パスベクトルは、基本的に距離ベクトルの特定のケースです。リンク状態は完全に異なりますが、複雑さとコストが非常に似ていることを認識することが重要です。サムハラビさんとダニーMcPhersonsのBGPブック、98ページから「このセクションでは、BGPは、距離ベクトルgategoryに陥ることに言及なしで完全ではありません」
ytti

2
パスベクトルは似ていますが、依然として異なるアルゴリズムです。これについては、2004年に出版されたDanny McPhersonとRuss WhiteのPractical BGPで詳しく読むことができます。モバイルリンク
マイクペニントン

2
BGPは距離ベクトルではないと主張するページはどれですか?
ytti

2
ASパスは距離ベクトルです。はい、オプションで他のパラメーターを使用してパス選択を操作することもできます。だから、サムとダニーは距離ベクトルであることに加えてそれをパスベクトルであると言って、私は問題に関する彼らの見解を完全に共有しています。パイントを消費して問題について議論するのは楽しい方法かもしれませんが、建設的ではありません。
ytti

7

私が頻繁に見た理由の1つは、明確さです。すべてのルートは1つのルーティングプロトコル(BGP)内で運ばれ、IS-IS、OSPF、またはRIPは隣接関係にのみ使用されます。その結果、あるルーティングプロトコルから別のルーティングプロトコルにルートを再配布する必要はありません。


3

iBGPは実際には内部ルーティングには使用されません。すべてのeBGPルーターがルートを共有するために使用します。

例:他の3つのネットワークとピアリングしている場合、すべてのeBGPルーターが他のネットワークで受信したルートを知っている必要があるため、必要/必要に応じてピアにその情報を伝搬できます君は)

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.