見出し画像

最も完成度の高いBGPルーティングプロトコルを詳しく解説-その2(計7)

・BGP の動作

BGP ピアの確立、更新、および削除のインタラクティブなプロセスには、主に 5 種類のメッセージ、6 種類のステートマシン、及び5 つの原則があります。

BGP メッセージ

BGP ピアは、次の 5 種類のメッセージを介して対話します。その中で、Keepaliveメッセージが定期的に送信され、他のメッセージがトリガーされて送信されます。

Openメッセージ: BGP ピア接続を確立するために使用されます。
Updateメッセージ: ピア間でルーティング情報を交換するために使用されます。
Notificationメッセージ: BGP 接続を中断するために使用されます。
Keepalive メッセージ: BGP 接続を維持するために使用されます。
Route-refresh メッセージ: ルーティング ポリシーを変更した後、ルーティング情報を再送信するようピアに要求するために使用されます。ルート リフレッシュ機能をサポートする BGP デバイスのみが、このパケットを送信して応答します。

BGP ステートマシン

図に示すように、BGP ピアの相互作用プロセスには、アイドル状態 (Idle)、接続状態 (Connect)、アクティブ (Active)、オープン メッセージ送信 (OpenSent)、オープン メッセージ確認 (OpenConfirm) の 6 つのステート マシンがあります。接続が確立されました (Established)。BGP ピアを確立するプロセスでは、通常、アイドル、アクティブ、確立の 3 つの状態があります。


1.アイドル状態は BGP の初期状態です。アイドル状態では、BGP はネイバーから送信された接続要求を拒否します。このデバイスの Start イベントを受信した後でのみ、BGP は他の BGP ピアとの TCP 接続を確立しようとし始め、Connect 状態になります。

補足:
Start イベントは、オペレーターが BGP プロセスを構成するか、既存のプロセスをリセットするか、ルーターソフトウェアが BGP プロセスをリセットすることによって発生します。

いずれかの状態で Notification メッセージや TCP リンク切断通知などの Error イベントを受信すると、BGP は Idle 状態になります。

2.Connect 状態では、BGP は接続再送信タイマー (Connect Retry) を開始し、TCP が接続を完了するのを待ちます。
TCP 接続が成功すると、BGP は Open メッセージをピアに送信し、OpenSent 状態に移行します。
TCP 接続が失敗すると、BGP はアクティブ状態になります。
接続再送信タイマーが期限切れになり、BGP がまだ BGP ピアから応答を受信しない場合、BGP は引き続き他の BGP ピアとの TCP 接続を確立しようとし、Connect 状態のままになります。

3.Active 状態では、BGP は常に TCP 接続を確立しようとします。
TCP 接続が成功すると、BGP は Open メッセージをピアに送信し、接続再送信タイマーを閉じて、OpenSent 状態に変わります。
TCP 接続が失敗した場合、BGP はアクティブ状態のままになります。
接続再送信タイマーが期限切れになり、BGP がまだ BGP ピアから応答を受信しない場合、BGP は Connect 状態になります。

4.OpenSent 状態では、BGP はピアの Open メッセージを待ち、受信した Open メッセージの AS 番号、バージョン番号、認証コードなどを確認します。
受信した Open メッセージが正しい場合、BGP は Keepalive メッセージを送信し、OpenConfirm 状態に移行します。
受信した Open メッセージが間違っていることが判明した場合、BGP は Notification メッセージをピアに送信し、Idle 状態に移行します。

5.OpenConfirm 状態では、BGP はキープアライブまたは通知メッセージを待ちます。Keepalive メッセージを受信すると、Established 状態に移行し、Notification メッセージを受信すると、Idle 状態に移行します。

6.確立状態では、BGP は更新、キープアライブ、ルート更新メッセージ、および通知メッセージをピアと交換できます。
正しい Update または Keepalive メッセージを受信すると、BGP はピア エンドが正常に動作していると見なし、BGP 接続を維持します。
誤った Update または Keepalive メッセージを受信した場合、BGP は通知メッセージを送信してピアに通知し、Idle 状態に移行します。
ルート リフレッシュ パケットは BGP 状態を変更しません。
通知メッセージを受信すると、BGP はアイドル状態になります。
TCP リンク切断の通知を受信すると、BGP は切断され、Idle 状態に移行します。

BGP ピア間の相互作用の原則

BGP デバイスは、最適なルートを BGP ルーティング テーブルに追加して、BGP ルートを形成します。BGP デバイスは、ピアとの近隣関係を確立した後、次の相互作用の原則を採用します。

  1. IBGP ピアから取得した BGP ルート。BGP デバイスはその EBGP ピアにのみアドバタイズします。

  2. EBGP ピアから取得した BGP ルート、BGP デバイスはすべての EBGP および IBGP ピアにアドバタイズします。

  3. 宛先アドレスが同じで有効な経路が複数ある場合、BGP デバイスは最適な経路のみをピアに広告します。

  4. ルートが更新されると、BGP デバイスは更新された BGP ルートのみを送信します。

  5. すべてのピアによって送信されたルートは、BGP デバイスによって受信されます。


いいなと思ったら応援しよう!