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