13.4.11 グレースフル・リスタート
(1) 概要
グレースフル・リスタートは,スタック構成時にマスタスイッチを切り替えたときや,運用コマンドなどによってルーティングプログラムが再起動したときに,ネットワークから経路が消えることによる通信停止時間を短縮する機能です。
BGP4では,グレースフル・リスタートによってBGP4の再起動をする装置のことをリスタートルータといいます。また,グレースフル・リスタートを補助する隣接装置をレシーブルータといいます。
本装置は,リスタートルータ機能とレシーブルータ機能をサポートしています。本装置でのグレースフル・リスタートの例を次の図に示します。
外部ピアでは,直接接続されたインタフェースのアドレスをピアアドレスとして使用します。内部ピアでは,ループバックインタフェースに設定したアドレスをピアアドレスとして使用します。なお,AS100内では,IGPによってループバックインタフェースに設定したアドレス宛ての経路情報を交換します。
AS100の本装置Bおよび本装置Cは,ループバックインタフェースに設定したアドレスをピアアドレスとする内部ピアのBGPコネクションを確立しているとします。また,本装置BはAS200の本装置Aと,本装置CはAS300のルータと,それぞれインタフェースのアドレスをピアアドレスとする外部ピアのBGPコネクションを確立しているとします。それぞれのBGPコネクションでは,グレースフル・リスタートのネゴシエーションが成立しているとします。本装置Bがグレースフル・リスタートしたとき,該当する装置とのBGPコネクションを保持している本装置Aおよび本装置Cはレシーブルータとして動作して,本装置Bを経由するパケットのフォワーディングを停止しないで継続します。これによって本装置Bを経由するエンド・エンドの通信を維持できます。
BGP4のグレースフル・リスタートが正しく動作するための条件を次に示します。次の条件を満たさない場合,通常のリスタート動作となって通信が停止します。
-
本装置をリスタートルータとして動作させるときは,コンフィグレーションコマンドbgp graceful-restart modeのrestartパラメータまたはbothパラメータが設定されていること。
-
本装置をレシーブルータとして動作させるときは,コンフィグレーションコマンドbgp graceful-restart modeのreceiveパラメータまたはbothパラメータが設定されていること。
-
グレースフル・リスタートを実施する装置と,レシーブルータの役割を実行する装置とのBGPコネクションで,グレースフル・リスタートのネゴシエーションが成立していること。
(2) グレースフル・リスタートの動作手順
BGP4によるグレースフル・リスタートの動作シーケンスを次の図に示します。
-
グレースフル・リスタートするルータとその隣接ルータの間で,BGPコネクションを確立するときにグレースフル・リスタートのネゴシエーションを行い,グレースフル・リスタートを実施する準備をします。
-
ルータがグレースフル・リスタートを実施すると,リスタートルータの動作を開始します。
-
隣接ルータは,BGPのコネクションが切断したとき,レシーブルータの動作を開始して,リスタートルータから学習している経路情報を保持し,パケットのフォワーディングを継続します。
-
BGPコネクションが再確立すると,最初にレシーブルータからリスタートルータへ経路情報を配布します。
-
リスタートルータで,グレースフル・リスタートを実行しているすべてのプロトコルの学習が完了すると,リスタートルータからレシーブルータへ経路情報を配布します。
-
5.と同じ。
-
最後にレシーブルータは,リスタートルータから学習している経路情報のうちで,BGPコネクションの再確立後に受信しなかった,古い経路情報を破棄します。
(3) リスタートルータの機能
(a) 動作契機
本装置でBGPのリスタートルータ機能が動作する契機を次に示します。
-
スタック構成時,マスタスイッチを切り替えたとき
-
ユニキャストルーティングプログラムが再起動したとき
(b) リスタートルータの機能
グレースフル・リスタートの開始後に,BGPコネクションが再確立するまでの待ち時間の上限を,コンフィグレーションコマンドbgp graceful-restart restart-timeの指定に従って監視します(「図13‒29 グレースフル・リスタートのシーケンス」の(a))。この時間内にBGPコネクションが再確立しない場合,リスタートルータは該当するレシーブルータからの経路情報配布を待たないで,自ルータからの経路情報配布を開始します。これによって,不安定な状態とみられる該当レシーブルータが経路収束へ影響することを回避します。
リスタートルータが経路情報の受信完了を待ち,経路配布を開始する時間の上限は,コンフィグレーションコマンドrouting options graceful-restart time-limitの指定値に従います(「図13‒29 グレースフル・リスタートのシーケンス」の(c))。
(c) タイマパラメータの目安値
リスタートルータ機能で使用する,各タイマパラメータを設定する場合の目安値を次の表に示します。
パラメータ |
目安値 |
---|---|
restart-time※1 |
マスタスイッチの切り替え所要時間+30秒 |
time-limit※2 |
restart-time+60秒 |
(d) グレースフル・リスタートが失敗するケース
BGPのグレースフル・リスタートが失敗するケースを次に示します。
-
グレースフル・リスタートを開始してから,restart-timeの時間が経過しても隣接装置との間でBGPコネクションが再確立しなかった場合,該当するピア装置を経由する通信が停止します。
-
本装置のグレースフル・リスタート中に,レシーブルータ機能を実行するピア装置がリスタートした場合,該当するピア装置を経由する通信が停止します。
-
レシーブルータ機能を実行するピア装置が,グレースフル・リスタートの開始前に,本装置から学習した経路情報を保持できなかった場合,該当するピア装置を経由する通信が停止します。
-
グレースフル・リスタートの開始後に,すべてのレシーブルータへの経路情報の配布が完了する前にBGPコネクションが再び切断した場合,該当するピア装置を経由する通信が停止します。
-
グレースフル・リスタートの開始後に,リスタートルータから学習した経路数がBGP4学習経路数制限機能による上限値を超え,BGPコネクションが再切断した場合,リスタートルータを経由する通信が停止します。
(4) レシーブルータの機能
(a) 動作契機
本装置でBGP4のレシーブルータの機能が動作する契機を次に示します。
-
BGPコネクションが確立しているピアから,NOTIFICATIONメッセージを受信しないで,該当するコネクションが使用しているTCPセッションの切断を検出したとき。
-
BGPコネクションが確立しているピアから,新規のTCPセッションが接続され,OPENメッセージを受信したとき。
(b) レシーブルータの機能
グレースフル・リスタートの開始後に,BGPコネクションが再確立するまでの待ち時間の上限を,コンフィグレーションコマンドbgp graceful-restart restart-timeの指定に従って監視します(「図13‒29 グレースフル・リスタートのシーケンス」の(b))。この時間内にBGPコネクションが再確立しない場合,レシーブルータは,リスタートルータから学習している経路情報を破棄して,リスタートルータを経由するパケット・フォワーディングを停止します。
restart-timeの値は,グレースフル・リスタートのネゴシエーションをするときに,ピアへ通知されます。本装置では,ピアから通知されたrestart-timeの値が,自装置の設定値より小さいとき,通知されたrestart-timeの値を使用して監視します。
レシーブルータがリスタートルータの再起動前に学習した経路情報を保持しておく時間の上限はコンフィグレーションコマンドbgp graceful-restart stalepath-timeで指定します(「図13‒29 グレースフル・リスタートのシーケンス」の(d))。
(c) タイマパラメータの目安値
レシーブルータ機能で使用する,各タイマパラメータを設定する場合の目安値を次の表に示します。
パラメータ |
目安値 |
---|---|
restart-time※1 |
リスタートルータのマスタスイッチの切り替え所要時間+30秒 |
stalepath-time※2 |
リスタートルータのtime-limit+120秒 |
(d) レシーブルータ機能が失敗するケース
BGP4のグレースフル・リスタートが失敗するケースを次に示します。
-
グレースフル・リスタートを開始してから,restart-timeの時間が経過してもBGPコネクションが再確立しなかった場合,リスタートルータを経由する通信が停止します。
-
レシーブルータ機能を実行中に,自装置がリスタートした場合,リスタートルータを経由する通信が停止します。
-
グレースフル・リスタートしているピア装置が,グレースフル・リスタートの開始前に学習していた経路情報を保持できなかった場合,リスタートルータを経由する通信が停止します。
-
グレースフル・リスタートの開始後に,再確立したBGPコネクション上で,リスタートルータからの経路情報の配布が完了する前に,再び切断した場合,リスタートルータを経由する通信が停止します。
-
グレースフル・リスタートの開始後に,リスタートルータから学習した経路数がBGP4学習経路数制限による上限値を超え,BGPコネクションが再切断した場合,リスタートルータを経由する通信が停止します。
(5) グレースフル・リスタート使用時の注意事項
-
TCP MD5の併用について
グレースフル・リスタートをサポートするBGPコネクションが確立している場合,ピアから新しいコネクションの要求を受けたとき,プロトコルの規定によって,確立中のBGPコネクションを破棄し,新しいBGPコネクションを使用します。この動作によるセキュリティ上の問題を防ぐためにTCP MD5認証を併用してください。
-
IGPへ依存する環境でのグレースフル・リスタートについて
直接接続されていない内部ピア接続でピアアドレス宛ての経路情報をIGPによって交換している場合や,ルート・リフレクションを使用する構成などで,BGP経路情報のNEXT_HOP属性をIGP経路によって解決する場合は,当該IGPについてもグレースフル・リスタートを設定してください。このとき,IGPのリスタート時間+BGPピアのコネクション確立時間よりも長い時間を,BGPのリスタート時間に設定してください。
-
エクストラネット使用時のグレースフル・リスタートについて
リスタートルータとして機能する本装置で,VRF間の経路交換によるエクストラネットを使用している場合,グレースフル・リスタート実施時にレシーブルータに対する経路配布処理が,通常より30秒長く掛かります。このため,レシーブルータでの経路情報保持時間の上限値(コンフィグレーションコマンドbgp graceful-restart stalepath-time)を,通常より30秒長く設定してください。