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