ネットワークの高可用性機能

ネットワークの高可用性機能

ITの利用にはネットワークが欠かせません.ネットワークの高可用性を担保するためには物理面や論理面での冗長化が必要となります.通信ケーブルやルーティングプロトコルによる冗長化もありますが,ルーティング処理を行うプロセスの冗長化を行うことで筐体障害に強いネットワークを構築できます.

グレースフルリスタート(GR:Graceful Restart) 

グレースフルリスタートの概要 

グレースフルリスタート障害発生時にパケットの転送を止めずに続行するアプローチの一つです.コントロールプレーンに障害が発生した際に,隣接するルーターに対してリスタートするという通知を事前に出します.リスタートしている間,障害発生ルーターはルーティング処理は行わず,障害発生直前のフォワーディングテーブルに基づきパケットの転送処理を続行します.スタンバイのコントロールプレーンに切り替わるとルーティング処理を再開し,隣接ルーターと同期を取ります.このため,隣接ルーターもグレースフルリスタートに対応している必要があります.

グレースフルリスタートでは,自身のルーターのことをローカルルーターと呼び,隣接ルーターのことをヘルパールーターといいます.また,グレースフルリスタートが行われている間のフォワーディング処理をStateフォワーディングといいます.

Stateフォワーディング中は隣接ルータも含めてルーティング処理を行わないため,ループ障害などを引き起こす可能性があります.そのため,ヘルパールータがどれくらいの間ローカルルータのリスタート処理を待つのかというタイマー値の設計が重要になります.タイマー値を小さくしすぎた場合,リスタートを待たずにヘルパールータがルーティング処理を再開してしまいます.タイマー値を大きくしすぎた場合,ローカルルータのリスタートがうまくいかないなどでルーティング障害を引き起こす可能性が大きくなります.

グレースフルリスタートはOSPF,IS-IS,BGP,LDP,RSVP-TEなど,プロトコルごとにRFCで規定されています.JUNOSでは以下のプロトコル,サービス,機能についてグレースフルリスタートに対応している.

  • Aggregated route
  • Static route
  • BGP
  • IS-IS
  • OSPF
  • RIP, RIPng
  • PIM Sparse Mode
  • RSVP egress/ingress, CCC, TCC
  • LDP
  • L2VPN, L3VPN
  • BFD

基本の設定 

ローカルルータとして動作するルータに以下のように設定し,GRを動作させませす.

set routing-options graceful-restart

特定のプロトコルのGRを無効化したい時はGRを有効化した上で,各プロトコルを個別に無効化する設定を加えます.BGPのGRを無効化したい場合は以下のようになります.

set routing-options graceful-restart
set protocols bgp graceful-restart disable

GRの動作確認 

OSPFプロセスでGRに関するデバッグを実行します.ローカルルータとヘルパールータで実行できます.

set protocols ospf traceoqptions file OSPF-GRACEFUL
set protocols ospf traceoprtotns flag graceful-restart

ローカルルータにてルーティングプロトコルの再起動を実行するコマンドです.

restart routing

ローカルルータのルーティングプロトコル再起動実行後,ローカルルータとヘルパールータでデバッグ結果を確認します.

show log OSPF-GRACEFUL

ノンストップルーティング(NSR:Non Stop Routing) 

NSRの概要 

グレースフルルーティングがルーティング処理を止めてパケットの転送のみを行うに対し,NSRではルーティング処理そのものを止めずに続行します.パケットの転送処理も続行されます.よって,NSRはGRよりも高度な冗長化技術です.JUNOSではノンストップアクティブルーティングと呼びます.

二重化されたコントロールプレーンがACTIVE/STANDBYとして同期し,ルーティングテーブルとフォワーディングテーブルを共有します.アクティブのコントロールプレーンに障害が発生すると,即座にスタンバイがアクティブとしてルーティング処理を続行するとともに,パケットを転送処理します.

NSRではルータ単体で動作するため,隣接のルータのことを考慮する必要はありません.よってヘルパールータのような概念はなく,NSRの実装方式はベンダー独自の方法になります.

JUNOSでは以下のプロトコル,サービス,機能についてNSRに対応しています.ただし,NSRはJUNOSのバージョンによって対応状況が大きく変わっています.

  • BFD
  • BGP
  • IS-IS
  • LDP
  • LDP Based VPLS
  • L2 circuits
  • L2VPN, L3VPN
  • OSPF, OSPFv3
  • PIM/IGMP for IPv4
  • RIP, RIPng
  • RSVP-TE LSPs transit nodes
  • BGP-VPLS

NSRの設定 

NSRの設定にはまず,GRES(Graceful Routing Engine Switchover)の設定をします.

set chassis redundancy graceful-switchover

次にノンストップルーティングの設定をします.

set routing-options nonstop-routing

さらに,冗長化されたルーティングエンジンを同期させる.

set system commit synchronize

NSRの設定にはコントロールプレーンが必ず冗長化されていることが条件です.また両方のルーティングエンジンが同じバージョンのJUNOSを搭載していることも条件です.

ノンストップブリッジング(Non Stop Bridging) 

NSBの概要 

NSBはバーチャルシャーシ化されたEXシリーズで提供されるL2プロトコルセッションの冗長機能です.

マスターとバックアップREの間でNSB対応したL2プロトコルの情報を同期します.REが切り替わった場合,セッション情報はバックアップと同期されているため,NSBサポートされたL2プロトコルはアクティブなままセッションを維持します.これにより,L2プロトコルのトラフィックは断時間なしか最小限の断時間でのスイッチオーバーを実現できます.REの切り替わりはNSBをサポートするL2プロトコルセッションに関する変更を検出しない隣接デバイスからは検知できません.

NSBの基本設定 

EXシリーズでNSBを設定するにはまず,GRESを有効にします.

set chassis redundancy graceful-restart

次に,コンフィグの変更をRE間で同期します.

set system commit synchronize

最後に,NSBを有効化します.

set ethernet-switching-options nonstop-bridging