MPLSのフェイルオーバー

MPLSのフェイルオーバー

MPLSではRSVPを使用してフェイルオーバーモードを適切に設計することができます.IngressルーターとEgressルーター間のRSVP LSPを単一障害点から保護することを目的とします.

リンクプロテクション 

リンクプロテクションは,RSVP LSP上で発生したリンク障害を回避するための機能です.リンクプロテクションが設定される場合,LSP上にある(Egressルータ以外の)各ルータは,LSPの次のルータへの代替パスを捜索します.

この代替パスはネクストホップバイパスLSPと呼ばれます.ネクストホップバイパスLSPは,保護されたリンクの向こう側にあるルーターへの代替パスとなります.各ネクストホップバイパスLSPは,メインのLSPが確立した後に確立されます.

LSP上にある2台のルーター間でリンク障害が発生した場合,障害が発生したリンクに接続されたIngressルーター側のルータによって修復アクションが開始されます.このルーターはローカル修復ポイント(PLR)と呼ばれます.リンク障害発生後は,PLRが事前にシグナリングされた(確立された)ネクストホップバイパスLSPでトラフィックを送信します.

リンクプロテクションは切断箇所に最も近いルーターがリンクの切断を検知して対処するため,最も迅速なフェイルオーバーオプションです.同じリンクを経由するLSPが複数ある場合,全てのLSPが障害発生時に迂回経路を経由して通信を継続することが可能となります.

admin@juniper> show mple lsp bypass ingress detail
Ingress LSP:1 sessions
 10.200.86.1
 From:10.200.86.6, LSPstate:Up, ActiveRoute:0
 LSPname:Bypass->192.168.86.9
 Suggested label received:-, Suggested label sent:-
 Recovery label received:-, Recovery label sent:299936
 Resv style:1 SE, Label in:-, Label out:299936
 Time left: -, Since:Fri Jul 16 04:08:48 2010
 Tspec: rate 0bps size 0bps peak Infbps m 20 M 1500
 Port number: sender 1 receiver 53500 protocol 0 
 Type:Bypass LSP <-----★
    Number of data route tunnel through:2 <-----★
    Number of RSVP session tunnel through:0
  PATH rcvfrom: localclient
  Adspec: sent MTU 1500
  Path MTU: received 1500
 PATH sentto:192.168.86.45 (ge-0/0/3.0) 218 pkts
  RESV rcvfrom:192.168.86.45 (ge-0/0/3.0) 218 pkt
  Explct route:192.168.86.45 192.168.86.50
 Record route:<self> 192.168.86.45 192.168.86.50 <-----★
Total 1 displayed, Up 1, Down 0

ネクストホップバイパスLSPによるトラフィックの迂回は一時的な処置です.PLRはトラフィックをバイパスLSPに切り替えたのち,LSPのIngressルーターへのシグナリングも行います.これによって,別のプライマリパスをシグナリングしようとします.

LSPトラフィックがバイパスLSPにフェイルオーバーした際のラベル操作は次のようになります.通常時のLSPのトラフィックで,ルーターAとルーターB間でのラベルスイッチイングがラベル301234を302345にスワップする処理だとします.バイパスLSPへ切り替わり,ルーターAがルーターCを経由してルーターBへトラフィックを転送するようになります.この時,ルーターAは通常時と同じくラベルを302345へスワップした後,さらにラベル303456をプッシュして転送します.この時プッシュされたトップラベルは,バイパスラベルと呼ばれます.ルーターCはラベル303456をポップしてルーターBへパケットを転送します.ルーターBは通常時のルーターAからの受信トラフィックと同じラベルを受信できたので,プライマリLSPに則ってパケットを転送します.

ノードリンクプロテクション 

ノードリンクプロテクションは,リンクプロテクションで提供されるフェイルオーバー技術を基にし,ネクストホップバイパスLSPと,ネクストネクストホップバイパスLSPの2つのLSPがシグナリングされます.ネクストネクストホップバイパスLSPは,ネクストホップルーターのさらに先のネクストホップルーターへの代替パスを保護するLSP上のトラフィックに提供することを目的とします.これにより,LSPのネクストホップルーターで筐体レベルの障害が発生した場合でも,LSPを保護することが可能となります.ネットワークトポロジーがネクストネクストホップバイパスを実現できない場合は,バイパスLSPは確立されず,元のLSPのみがサポートされます.

ノードリンクプロテクションを実装するには,保護するLSP上のルーターのRSVPインタフェースと,MPLS LSP内にnode-link-protectionを設定します.ローカルルーターは,ネクストネクストホップルーターへのバイパスLSPがシグナリングできなかった場合,ネクストホップルーターへのバイパスLSPをシグナリングします.そのため,RSVPドメインに含まれるルーターの全てのRSVPインタフェースで設定することが推奨されます.ただし,ノードリンクプロテクションされたLSPを保護するためにルーターがシグナリングするのは,ネクストホップバイパスLSPかネクストネクストホップバイパスLSPのどちらか一方のみです.また,Egressルーターの手前のルーターはネクストホップバイパスLSPのみをシグナリングします.

ネクストホップバイパスLSPとネクストネクストホップバイパスLSPでは,パフォーマンスに幾つかの違いがあります.リンクプロテクションでは,PLRが素早くリンク切断を検知し,トラフィックをネクストホップバイパスLSPに切り替えて保護します.一方,ノードリンクプロテクションでは,隣接ルーターからのHelloメッセージを受信することによってルーターの生存を確認しています.そのため,PLRが障害発生時にネクストネクストホップバイパスLSPへの切り替えを始めるまでの時間は,隣接ルーターからのHelloメッセージの通信間隔とPLRルーターが障害検知とみなすまでの時間に依存します.ノードリンクプロテクションは,リンクプロテクションよりも多少フェイルオーバー時間が長くなります.ノードリンクプロテクションによるフェイルオーバーもまた一時的な処置です.PLRはバイパスLSPへトラフィックを切り替えたのちIngressルータにシグナリングを行い,Ingressルーターは再度シグナリングを試行します.

ファストリルート(FRR) 

ファストリルートはジュニパー独自のLSPフェイルオーバー手法です.LSP経路上のルーターは,リンクプロテクションなどと同じように予めバイパス経路をシグナリングしておき,障害発生時にはバイパス経路へ切り替えます.

ただし,ファストリルートではバイパスラベルの付与は行いません.つまり,ラベルスタックの高さは変化しません.また,特定のLSP上のルーターによって生成されるFRRのバイパス経路は特定のLSPのトラフィックを保護するためにのみ使用できます.あるLSPを保護するために,LSP上のルーター数-1だけの数(Egressルータを除いた数)のバイパス経路が生成される可能性があります.

FRRのバイパス経路は,できる限り少ないホップ数で元のLSPにマージしようとします.これにより,ルーターの負荷を軽減しオーバヘッドを最小限に抑えることができます.また,バイパス経路を元のLSPに素早くマージできないときは,同じLSPの他のバイパス経路とマージすることが可能です.

小規模なネットワークでは,FRRは設定が容易で信頼性の高いフェイルオーバー手法となりますが,将来的に拡張性の問題が発生する可能性があります.

セカンダリLSP 

セカンダリLSPはLSPを障害から保護するためのもう一つの方法です.1つのLSPに対して最初に使用されるプライマリなLSPと,プライマリで障害が発生した場合に使用できる1つ以上の代替LSPパスを準備します.Junosルーターはプライマリパスが確立されるのを待ってから,トラフィック制御データベースで適切なセカンダリパスを検索します.

セカンダリLSPにはプライマリLSPと共通のリンクが含まれる場合があります.フェイルオーバーに備えて常時有効な状態のセカンダリパスをシグナリングします.セカンダリパスを設定しない場合,プライマリパスに障害が発生してから代替パスのシグナリングを行うため,時間がかかります.

プライマリパスが復旧した場合は,トラフィックはプライマリに切り戻ります.2つ以上のセカンダリパスがスタンバイになっているとき,プライマリパスが障害になるとどちらか一方のパスがアクティブになります.アクティブとなったセカンダリパスが障害となって切り替わったのちに再びアクティブになったとしても,トラフィックを引き継いだセカンダリパスが転送を続けます.

セカンダリパスはフェイルオーバーの手法としては低速であり,信頼性は高くありません.障害の検知には信頼性の低いRESV TEARメッセージが上流のIngressルーターへ送信されることが必要ですが,障害時は飽和したトラフィックによってREST TEARメッセージが正しく到達しない場合があります.つまり,IGPのコンバージェンスが完了した後に障害を検知することとなります.その間LSP上のトラフィックはブラックホール化されます.

IGPループフリー代替パス(IGP Link Free Altanative Pass) 

OSPFもしくはISISはリンクステート型プロトコルであるため,ネットワークトポロジーによってルーティングテーブルを構築します.最初のSPF実行後,各ルーターのIGPにより,トポロジーから送信リンクまたはネクストホップノードが削除され,ダイクストラ法で計算された代替パスが返されます.これらの代替パスはPFEにインストールされ,REから更新されたFIBを受信する前に障害となったリンクやノードをバイパスしてトラフィックの転送を始めることができます.

LDPを実行しているMPLSネットワークでは,LFAにより設定されたインタフェースから宛先に向かうLDP LSPに高速フェイルオーバープロテクションが提供されます.VPNサービスや単純に高速なフェイルオーバーを必要とし,RSVPで提供されるトラフィック制御を必要としないネットワークにとっては,LDPがより良いオプションになる場合があります.