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