BGP(近隣関係の形成)
BGPでは、まず、近接関係(ピア関係)を形成してから、通信を行うようになっています。
近隣のBGPスピーカーとピア関係を形成するために、BGPスピーカーは、TCPのポート番号179を使って相互にセッションを張ります。
※BGPが動作しているルータをBGPスピーカーと呼びます。
BGPスピーカーは、近接関係を結ぶために、以下の6つの状態を通過してピア関係を結びます。
下の図は、簡単に状態の遷移を表したものです。

Establishedの状態にると全てのBGPスピーカーとのネゴシエーションが完了し、ルーティング情報を交換するようになります。
それでは、それぞれの状態を簡単に説明します。詳しい内容については、以下の参考書などの専門書を参考にしてみて下さい。BGPに関する書籍は、少なく、以下の書籍は、かなり古いものですが、プレミア価格になっています。安く購入できる場合もありますので、定期的にチェックしておくと良いかもしれません。
ネゴシエーションの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基本設定」で紹介します。