BGP(近隣関係の形成)

 BGPでは、まず、近接関係(ピア関係)を形成してから、通信を行うようになっています。

 近隣のBGPスピーカーとピア関係を形成するために、BGPスピーカーは、TCPのポート番号179を使って相互にセッションを張ります。

※BGPが動作しているルータをBGPスピーカーと呼びます。

BGPスピーカーは、近接関係を結ぶために、以下の6つの状態を通過してピア関係を結びます。

下の図は、簡単に状態の遷移を表したものです。

 Establishedの状態にると全てのBGPスピーカーとのネゴシエーションが完了し、ルーティング情報を交換するようになります。

 それでは、それぞれの状態を簡単に説明します。詳しい内容については、以下の参考書などの専門書を参考にしてみて下さい。BGPに関する書籍は、少なく、以下の書籍は、かなり古いものですが、プレミア価格になっています。安く購入できる場合もありますので、定期的にチェックしておくと良いかもしれません。

BGP参考書
BGP―TCP/IP Cisco BGP‐4コマンド BGPリソースの詳解 第2版

ネゴシエーションの6つの状態

状態説明
Idle状態BGPセッション開始時の状態。
Connection状態TCPコネクションの待ち状態。
Active状態ピアを張るBGPスピーカーとセッションを開始しようとしている状態。
OpenSent状態リモートBGPスピーカーからのOPENメッセージを待っている状態。
OpenConfirm状態リモートBGPスピーカーからのKEEPALIVEメッセージを待っている状態。
Established状態全てのBGPスピーカーとのネゴシエーションが完了した状態。

 BGPスピーカーは、UPDATEメッセージやKEEPALIVEメッセージを送受信して、近接ルータの生存確認を行います。決められたホールド時間内にメッセージを受け取らなかった場合、近接ルータをdeadとみなします。

UPDATEメッセージやKEEPALIVEメッセージを受け取るとホールド時間は、0にリセットされます。

BGPでやり取りされるメッセージ

BGPでやり取りされるメッセージには、以下のものがあります。

状態説明
OPENメッセージTCPのセッションが形成されると送信されるメッセージ。OpenSent状態では、OPENメッセージ受信を待ちます。
KEEPALIVEメッセージピア間の接続の存在を確認するためのメッセージ
UPDATEメッセージBGPのルーティング情報が入ったアップデート情報
NOTIFICATIONメッセージエラーを通知するメッセージ。

 ちなみに、ホールド時間を0に設定することもできます。0に設定するとKEEPALIVEメッセージが送信されなくなり、常にコネクションが確立された状態になります。

 BGP で通信を行うには、ピアの形成が必要です。どのルータとピア関係を結ぶのかをコマンドで指定していくことになります。BGP の基本設定に関しては、次の「BGP基本設定」で紹介します。