(57)【要約】【課題】LAGのメンバリンクに障害が発生した場合、レイヤ３レベルでの切り替えを回避することにより、切り替えに伴うパケットのロスを低減することを目的とする。【解決手段】異なる経路に設定された現用系メンバリンクと予備系メンバリンクとを使用してリンクアグリゲーションを提供するルータは、リンクアグリゲーション内の現用系メンバリンク及び予備系メンバリンクの状態を管理すると共に、リンクアグリゲーションの状態を管理するリンク管理部と、リンクアグリゲーションの状態がダウン状態になるまで、障害が発生した現用系メンバリンクのパケットを予備系メンバリンクに切り替えるリンク切り替え部とを有する。【選択図】図６
2016046638.tif 000002
【特許請求の範囲】
【請求項１】
異なる経路に設定された現用系メンバリンクと予備系メンバリンクとを使用してリンクアグリゲーションを提供するルータであって、
リンクアグリゲーション内の現用系メンバリンク及び予備系メンバリンクの状態を管理すると共に、リンクアグリゲーションの状態を管理するリンク管理部と、
リンクアグリゲーションの状態がダウン状態になるまで、障害が発生した現用系メンバリンクのパケットを予備系メンバリンクに切り替えるリンク切り替え部と、
を有するルータ。
【請求項２】
前記予備系メンバリンクは、ネットワークの予備系に構成された仮想リンクである、請求項１に記載のルータ。
【請求項３】
前記リンク管理部は、現用系メンバリンクに障害が発生した場合、現用系メンバリンクの状態をアクティブ状態からダウン状態に変更し、予備系メンバリンクの状態をスタンバイ状態からアクティブ状態に変更すると共に、予備系メンバリンクの状態に識別情報を付与する、請求項１又は２に記載のルータ。
【請求項４】
前記リンク管理部において管理されるリンクアグリゲーションの状態は、アクティブ状態の現用系メンバリンクの本数が所定の閾値を下回った場合にダウン状態になる、請求項１乃至３のうちいずれか１項に記載のルータ。
【請求項５】
前記リンクアグリゲーションの状態がダウン状態になるときの障害が発生した現用系メンバリンクの本数は、現用系メンバリンク及び予備系メンバリンクの帯域を考慮して決定される、請求項４に記載のルータ。
【請求項６】
異なる経路に設定された現用系メンバリンクと予備系メンバリンクとを使用してリンクアグリゲーションを提供する通信システムであって、
リンクアグリゲーションを構成する少なくとも２つのルータのそれぞれが、
リンクアグリゲーション内の現用系メンバリンク及び予備系メンバリンクの状態を管理すると共に、リンクアグリゲーションの状態を管理するリンク管理部と、
リンクアグリゲーションの状態がダウン状態になるまで、障害が発生した現用系メンバリンクのパケットを予備系メンバリンクに切り替えるリンク切り替え部と、
を有する通信システム。
【請求項７】
異なる経路に設定された現用系メンバリンクと予備系メンバリンクとを使用してリンクアグリゲーションを提供するルータにおけるリンク切り替え方法であって、
リンクアグリゲーション内の現用系メンバリンク及び予備系メンバリンクの状態を管理すると共に、リンクアグリゲーションの状態を管理するステップと、
リンクアグリゲーションの状態がダウン状態になるまで、障害が発生した現用系メンバリンクのパケットを予備系メンバリンクに切り替えるステップと、
を有するリンク切り替え方法。
【請求項８】
異なる経路に設定された現用系メンバリンクと予備系メンバリンクとを使用してリンクアグリゲーションを提供する通信システムにおけるリンク切り替え方法であって、
リンクアグリゲーションを構成する少なくとも２つのルータのそれぞれが、リンクアグリゲーション内の現用系メンバリンク及び予備系メンバリンクの状態を管理すると共に、リンクアグリゲーションの状態を管理するステップと、
前記少なくとも２つのルータのそれぞれが、リンクアグリゲーションの状態がダウン状態になるまで、障害が発生した現用系メンバリンクのパケットを予備系メンバリンクに切り替えるステップと、
を有するリンク切り替え方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ルータ、通信システム及びリンク切り替え方法に関する。より具体的には、本発明は、リンクアグリゲーション（Link Aggregation、以下、LAGと呼ぶ）のメンバリンクの一部に障害が発生した場合でも、ネットワークの予備系を利用して元々LAGのメンバリンクではない予備リンクを新たなメンバリンクとして加え、LAGのステータスを維持する（LAGをDownさせない）ための手法に関するものである。
【背景技術】
【０００２】
ネットワークにおけるリンクの帯域を増やし、リンクの耐障害性を向上させるために、複数のリンク（回線）を束ねて仮想的にひとつの回線と見なすLAGが適用されている。
【０００３】
図１は、LAGの適用例を示す概略図である。図１（Ａ）には、LAGを構成する２台のルータ（Router0及びRouter1）の間に、10Gの帯域のメンバリンクを３本又は４本用いて30G又は40Gの帯域に増やすための適用例を示している。このように、LAGのメンバリンク数を増やすことで、リンクの帯域を増やすことができる。また、図１（Ｂ）には、LAGを構成する２台のルータ（Router0及びRouter1）の間に、10Gの帯域の２本のメンバリンクを準備することで、リンクの耐障害性を向上させるための適用例を示している。この場合、１本のメンバリンクに障害が発生しても他のメンバリンクを使用することで、リンクの耐障害性を向上させることができる。
【０００４】
リンクの帯域を増やすと同時に耐障害性も向上させるには、確保したい帯域から導き出されるリンク数＋１本以上として設計しておくことが有効である。
【０００５】
図２は、LAGのメンバリンク数の設計例を示す図である。例えば、10Gの帯域のメンバリンクを使用して30Gの帯域を確保したい場合、確保したい帯域から導き出されるリンク数は３本である。確保したい帯域から導き出される３本のリンク数でLAGを構成してしまうと、１本のメンバリンクに障害が発生した場合に使用できる帯域が20Gとなってしまい、使用できる帯域が減少してしまう。その結果、帯域溢れによるパケットロスが発生してしまう可能性がある。一方、確保したい帯域から導き出される３本のリンク数＋１本以上のリンク数（すなわち、４本以上のリンク数）でLAGを構成した場合、１本のメンバリンクに障害が発生しても、30Gの帯域を確保することができる。このとき、１本のメンバリンクに障害が発生しても、LAGの状態が変わらない設定とする。すなわち、４本のリンク数でLAGを構成した場合、１本のメンバリンクに障害が発生しても、LAGの状態はアクティブ状態のままとし、２本のメンバリンクに障害が発生した場合、LAGの状態がダウン状態になるものとする。
【０００６】
しかしながら、障害時も考慮して１本以上余分にリンクを準備することはコスト増につながる。高い信頼性確保のために冗長構成が基本となっているキャリアのネットワークでは、LAGを構成するメンバリンクの1本に障害が発生した場合は、LAG自体をダウンさせ、トラヒックが流通する系を切り替える方式が用いられることがある。
【０００７】
図３は、冗長構成のネットワークにおけるLAGメンバリンクの障害時のトラヒックフロー例を示す図である。２台のルータ（Router0及びRouter2）の間に、現用系の経路（Router0−Router2）と予備系の経路（Router0−Router1−Router3−Router2）が設定されているものとする。図３（Ａ）に示すように、定常状態ではトラヒックは現用系の経路に流れる。図３（Ｂ）に示すように、LAGのメンバリンクに障害が発生した場合、現用系の経路に設定されたLAGの状態をダウン状態に変更し、レイヤ３レベル（ルーティング）で現用系の経路を予備系の経路に切り替える。この方式の場合、LAGによる耐障害性の向上は目的とせず、ネットワークの冗長構成で耐障害性の向上を実現することで予備リンクのコスト増を抑制しており、LAG適用の目的はあくまで帯域の増速に絞ったものとなる（非特許文献１参照）。
【先行技術文献】
【非特許文献】
【０００８】
【非特許文献１】土谷 浩史，"EtherNW, 高速化と運用の技術"，Ver1.16，2006年12月8日，インターネットhttps://www.nic.ad.jp/ja/materials/iw/2006/proceedings/T26.pdf
【発明の概要】
【発明が解決しようとする課題】
【０００９】
図３に示すように、冗長化されたネットワーク構成とすれば、LAGのメンバリンクに障害が発生した際にはLAG自体をダウンさせることによって、系を切り替えることでコストを抑制（余分なリンクを準備しない）しつつ、帯域溢れなく通信を継続させることは可能である。しかし、LAG自体をダウンさせ、レイヤ３レベル（ルーティング）で系を切り替えることとなるため、正常なメンバリンクを流通していたパケットも切り替えが発生してしまい、正常なメンバリンクも含めて全メンバリンクを流れるパケットに切り替えに伴うパケットロスが発生してしまう。
【００１０】
図４は、LAGダウンによる経路切り替えが発生した場合の課題を示す概略図である。例えば、現用系の経路に設定された１本のメンバリンクに障害が発生した場合、そのメンバリンクのLAGに属する全メンバリンクが予備系の経路に切り替えられる。経路切り替えにはルータ（Router0及びRouter2）のルーティングテーブルの変更が伴うため、特に切り替え経路数が多いと数秒から数十秒間パケットがロスすることもある。また、リンク障害が復旧し、系を戻す場合においても軽微なロスが発生するため、レイヤ３レベルでの切り替えは発生させないことが望ましい。
【００１１】
本発明は、LAGのメンバリンクに障害が発生した場合、レイヤ３レベルでの切り替えを回避することにより、切り替えに伴うパケットのロスを低減することを目的とする。
【課題を解決するための手段】
【００１２】
本発明の一形態に係るルータは、
異なる経路に設定された現用系メンバリンクと予備系メンバリンクとを使用してリンクアグリゲーションを提供するルータであって、
リンクアグリゲーション内の現用系メンバリンク及び予備系メンバリンクの状態を管理すると共に、リンクアグリゲーションの状態を管理するリンク管理部と、
リンクアグリゲーションの状態がダウン状態になるまで、障害が発生した現用系メンバリンクのパケットを予備系メンバリンクに切り替えるリンク切り替え部と、
を有することを特徴とする。
【００１３】
また、本発明の一形態に係る通信システムは、
異なる経路に設定された現用系メンバリンクと予備系メンバリンクとを使用してリンクアグリゲーションを提供する通信システムであって、
リンクアグリゲーションを構成する少なくとも２つのルータのそれぞれが、
リンクアグリゲーション内の現用系メンバリンク及び予備系メンバリンクの状態を管理すると共に、リンクアグリゲーションの状態を管理するリンク管理部と、
リンクアグリゲーションの状態がダウン状態になるまで、障害が発生した現用系メンバリンクのパケットを予備系メンバリンクに切り替えるリンク切り替え部と、
を有することを特徴とする。
【００１４】
また、本発明の一形態に係るリンク切り替え方法は、
異なる経路に設定された現用系メンバリンクと予備系メンバリンクとを使用してリンクアグリゲーションを提供するルータにおけるリンク切り替え方法であって、
リンクアグリゲーション内の現用系メンバリンク及び予備系メンバリンクの状態を管理すると共に、リンクアグリゲーションの状態を管理するステップと、
リンクアグリゲーションの状態がダウン状態になるまで、障害が発生した現用系メンバリンクのパケットを予備系メンバリンクに切り替えるステップと、
を有することを特徴とする。
【００１５】
また、本発明の一形態に係るリンク切り替え方法は、
異なる経路に設定された現用系メンバリンクと予備系メンバリンクとを使用してリンクアグリゲーションを提供する通信システムにおけるリンク切り替え方法であって、
リンクアグリゲーションを構成する少なくとも２つのルータのそれぞれが、リンクアグリゲーション内の現用系メンバリンク及び予備系メンバリンクの状態を管理すると共に、リンクアグリゲーションの状態を管理するステップと、
前記少なくとも２つのルータのそれぞれが、リンクアグリゲーションの状態がダウン状態になるまで、障害が発生した現用系メンバリンクのパケットを予備系メンバリンクに切り替えるステップと、
を有することを特徴とする。
【発明の効果】
【００１６】
本発明によれば、LAGのメンバリンクに障害が発生した場合、レイヤ３レベルでの切り替えを回避することにより、切り替えに伴うパケットのロスを低減することが可能になる。
【図面の簡単な説明】
【００１７】
【図１】LAGの適用例を示す概略図
【図２】LAGのメンバリンク数の設計例を示す図
【図３】冗長構成のネットワークにおけるLAGメンバリンクの障害時のトラヒックフロー例を示す図
【図４】LAGダウンによる経路切り替えが発生した場合の課題を示す概略図
【図５】ネットワークの予備系を利用した予備メンバリンクを示す図
【図６】本発明の実施例に係るルータの機能ブロック図
【図７】LAG管理部において管理される情報の例を示す図
【図８】パケット振り分け部において管理される情報の例を示す図
【図９】現用系メンバリンクに障害が発生した場合のLAGの再構成例を示す図
【図１０】現用系メンバリンクに障害が発生した場合のルータの内部動作を示す図
【図１１】現用系メンバリンクに障害が発生している状態でのLAG管理部において管理される情報の例を示す図
【図１２】現用系メンバリンクに障害が発生している状態でのパケット振り分け部において管理される情報の例を示す図
【図１３】Keep LAG Linkが追加されたときにLAG管理部において管理される情報の例を示す図
【図１４】Keep LAG Linkを具備した場合のリンク障害時におけるLAG管理部の動作フローを示す図
【図１５】現用系メンバリンクの障害が回復した場合のルータの内部動作を示す図
【発明を実施するための形態】
【００１８】
本発明の実施例では、LAGのメンバリンクに対する予備リンクをネットワーク構成の予備系を利用して準備する。すなわち、LAGを構成する２台のルータ間で、定常状態で使うリンク（以下、現用系メンバリンクと呼ぶ）の障害時に、異なる経路に設定されたリンク（以下、予備系メンバリンクと呼ぶ）を準備する。
【００１９】
現用系メンバリンクに障害があった場合、予備系メンバリンクを有効化し、帯域を確保した状態でLAGをダウンさせずにレイヤ３レベルでの切り替えを回避する（レイヤ３に対しては障害を隠ぺいする）ことで切り替えに伴うパケットのロスを極小化する。
【００２０】
なお、定常状態でネットワーク構成の予備系を利用する手法を適用してしまうと、予備系を利用したメンバリンクの方が伝送距離が長くなって伝送遅延が大きくなったり、経由する装置が多くなり装置遅延が大きくなる等の理由で、同一LAG内のメンバリンクによってパケット遅延等の品質に差異が発生してしまう可能性があるため、あくまで障害時の一時利用という形が適切である。
【００２１】
以下、図面を参照して具体的な実現方法を記載する。
【００２２】
＜予備系メンバリンクの準備＞
まず、ネットワーク構成の予備系を利用した予備系メンバリンクを準備する。図５は、ネットワーク構成の予備系を利用した予備系メンバリンクを示す図である。図５に示すように、ネットワーク構成の現用系の経路（Router0−Router2）に、定常状態で使う現用系メンバリンクを準備し、ネットワーク構成の予備系の経路（Router0−Router1−Router3−Router2）に、現用系メンバリンクの障害時に一時的に使用する予備系メンバリンクを準備する。これらの現用系メンバリンク及び予備系メンバリンクでLAGを構成できるようにする。
【００２３】
具体例としては、ネットワークの予備系を使ってトンネルを構成し、その上に仮想的なリンク（以下、仮想リンク）を構成し、予備系メンバリンクを準備する。Ethernet（登録商標）回線で構成されたネットワークの場合には、Ethernet over GRE等の技術を使って、ネットワークの予備系にトンネルをはり、トンネル内に仮想的なEthernetリンクを構成する。
【００２４】
＜ルータの機能構成＞
次に、現用系メンバリンクに障害が発生した場合に予備系メンバリンクに切り替えるときのルータ内の機能について説明する。
【００２５】
図６は、本発明の実施例に係るルータの機能ブロック図である。本発明の実施例に係るルータ１０は、障害検知部１０１と、LAG管理部１０２と、パケット受信部１０３と、経路情報管理部１０４と、パケット振り分け部１０５と、パケット送信部１０６とを有する。
【００２６】
障害検知部１０１は、インターフェイスの障害を検知し、LAG管理部１０２へ障害情報通知を行う。障害検知部１０１が検知する障害には、現用系メンバリンクに関する障害と、予備系メンバリンクに関する障害とが含まれる。
【００２７】
LAG管理部１０２は、LAG自体の状態情報（LAG Status）の管理と、LAGメンバリンクの管理（メンバリンクの状態情報（Link Status）や最小リンク数（Minimum Link）の情報等の保持）を行う。
【００２８】
図７は、LAG管理部１０２において管理される情報の例を示す図である。LAG管理部１０２は、LAG自体の情報として、LAGを識別するための名前（LAG Name）、LAGがUp状態であるかDown状態であるかを示す状態情報（LAG Status）、LAGの状態がDown状態になるときのメンバリンク数を示す最小リンク数（Minimum Link）等を管理する。LAG Statusは、メンバリンク数（Active状態のメンバリンク数）がMinimum Linkの設定数以下になった場合にDown状態になる。また、LAG管理部１０２は、LAGメンバリンクの情報として、LAGメンバリンクの設定情報（LAG Member Link）、LAGメンバリンク毎の状態情報（Link Status）等を管理する。ここで、障害が発生していない現用系メンバリンクの状態はアクティブ（Active）状態になり、障害が発生したときの現用系メンバリンクの状態はダウン（Down）状態になる。予備系メンバリンクの状態情報については、以下に説明する。  LAG管理部１０２は、パケット振り分け部１０５に対して振り分け対象のメンバリンク情報を伝達する。LAG管理部１０２は、障害検知部１０１より受け取った障害リンク情報を基に、そのリンクがいずれかのLAGのメンバリンクなのか否かを判定する。LAGのメンバリンクに該当しない場合は、LAG管理部１０２は、障害情報を経路情報管理部１０４へ渡す。LAGのメンバリンクに該当する場合は、LAG管理部１０２は、設定ポリシーに従ってLAGの状態情報の変更を行う。例えば、LAGの現用系メンバリンクに障害が発生した場合、そのメンバリンクの状態をDownとする。更に、現用系メンバリンクの状態をDownにしたことにより、LAGのメンバリンク数がMinimum Linkの設定数未満になった場合、LAGの状態をDownとする。
【００２９】
本発明の実施例では、LAG管理部１０２に仮想リンク制御部１０２Ａが含まれる。仮想リンク制御部１０２Ａは、仮想リンク（すなわち、予備系メンバリンク）についての状態を管理する。具体的には、仮想リンクをLAGの予備系メンバリンクとして定義できるようにし、LAG管理部１０２が物理リンクと同様に仮想リンクについても状態管理を可能とするようにする。
【００３０】
仮想リンク制御部１０２Ａを用いることにより、LAG管理部１０２は、LAGの現用系メンバリンクのみならず、予備系メンバリンクも管理することが可能になる。図７に示すように、予備系メンバリンクに切り替えられていないときの予備系メンバリンクの状態はスタンバイ（Standby）状態になり、予備系メンバリンクに切り替えられたときの予備系メンバリンクの状態はアクティブ（Active）状態になる。ただし、本発明の実施例では、予備系メンバリンクの状態として、現用系メンバリンクの状態と区別するために、識別情報を付与したアクティブ状態であるActive(t)状態を用いる。
【００３１】
パケット受信部１０３は、受信したパケットのヘッダ情報（宛先アドレス、送信元アドレス等）を認識し、その情報を基に経路情報管理部１０４を参照して、適切なパケット振り分け部１０５へパケットを転送する。また、ヘッダ情報はパケット振り分け部１０５内のハッシュ計算部１０５Ａへ伝達する。LAGを構成していない場合は、パケット受信部１０３は、受信したパケットをパケット送信部１０６へ直接転送する。
【００３２】
経路情報管理部１０４は、パケットの宛先と出力インタフェースの情報（ルーティングテーブル）を保持し、管理する。
【００３３】
パケット振り分け部１０５は、LAG管理部１０２から振り分け対象のメンバリンク情報を取得し保持する。例えば、パケット振り分け部１０５は、振り分け対象は何本のリンクであるか、どのリンクであるかという情報をLAG管理部１０２から取得し情報を保持する。更に、パケット振り分け部１０５は、振り分け対象のメンバリンクの状態情報を保持する。
【００３４】
図８は、パケット振り分け部１０５において管理される情報の例を示す図である。パケット振り分け部１０５は、LAG内の現用系メンバリンク及び予備系メンバリンクの状態として、振り分け対象のメンバリンクの識別情報（振り分けID）、振り分け対象のメンバリンクの情報（LAG Member Link）、メンバリンク毎の状態情報（Link Status）等を管理する。
【００３５】
なお、図６に示す実施例では、LAG管理部１０２とパケット振り分け部１０５のそれぞれにメンバリンクの情報を管理するデータベース（DB）が存在するが、これらのデータベースは１つにまとめられてもよい。
【００３６】
パケット振り分け部１０５に含まれるハッシュ計算部１０５Ａは、パケット受信部１０３から伝達されたヘッダ情報を基にハッシュ計算を行う。
【００３７】
パケット振り分け部１０５は、ハッシュ計算結果を基に振り分けリンク数分の振り分けIDを生成し、図８に示すように、振り分けIDと振り分け対象のメンバリンクを括りつけてデータベース（振り分けDB）内に保持する。パケット振り分け部１０５は、パケットを振り分けDBの情報に従って振り分け対象リンクに振り分け、該当のパケット送信部１０６へ送信する。
【００３８】
図８に示すように、パケット振り分け部１０５は、LAG管理部１０２と同様に、振り分けDBの中で仮想リンクをLAGの予備系メンバリンクとして定義できるようにする。
【００３９】
パケット振り分け部１０５に含まれる仮想リンク切り替え部１０５Ｂは、障害が発生した現用系メンバリンクに振り分けていたパケットを仮想リンクを用いた予備系メンバリンクへ切り替える。障害が発生してない現用系メンバリンクのパケットには影響を与えない。なお、出力インタフェースが物理インタフェースから論理インタフェース（Tunnel IF等）へ変わってもそれをハッシュ計算部１０５Ａには隠ぺいすることで、ハッシュ計算ロジックに変更がないようする。
【００４０】
仮想リンクを用いた予備系メンバリンへの切り替え動作は現用系メンバリンクが何本障害しても変わらないものとする。つまり、LAG自体の状態を変更するのはあくまでLAG管理部１０２であり、LAG管理部１０２がLAGの状態をDownに変更しない限り、パケット振り分け部１０５は現用系メンバリンクを流通していたパケットを予備メンバリンクに切り替える動作を繰り返す。
【００４１】
パケット送信部１０６は、パケット振り分け部１０５から入力されたパケットをリンクに転送する。なお、論理的インタフェース（Tunnel IF等）の場合、パケット送信部１０６も論理的なものとなり、論理的なパケット送信部から物理的なパケット送信部への転送は、別途トンネルを設定をした場合の動作ロジックに依るものとする。LAGを構成していない場合、パケット送信部１０６は、パケット受信部１０３から直接入力されたパケットをリンクに転送する。
【００４２】
＜現用系メンバリンクに障害が発生した場合の動作＞
次に、現用系メンバリンクに障害が発生した場合の動作概要について説明する。
【００４３】
図９は、現用系メンバリンクに障害が発生した場合のLAGの再構成例を示す図である。図９に示すように、現用系メンバリンクに障害が発生した場合、仮想リンクを用いた予備系メンバリンクを有効化してLAGを再構成する。この際、切り替わりが発生するのは前述の通り、障害が発生した現用系メンバリンクを流通していたパケットのみであり、障害が発生していない現用系メンバリンクを流通しているパケットには影響を与えない。もちろんリンク障害によってLAG自体の状態が変わらないため、レイヤ３に対して障害の隠ぺいが可能となり、ネットワークの切り替え（ルーティング切り替え）が抑制される。
【００４４】
現用系メンバリンクに障害が発生した場合のルータの内部動作について更に説明する。
【００４５】
図１０は、現用系メンバリンクに障害が発生した場合のルータの内部動作を示す図である。
【００４６】
（i）リンク障害が発生すると障害検知部１０１が障害を検知し、LAG管理部１０２へ通知する。
【００４７】
（ii）LAG管理部１０２は、障害が発生したリンクがいずれかのLAGのメンバリンクなのか否かを判定する。LAGのメンバリンクである場合は、該当の現用系メンバリンクのLink Statusを『Active→Down』に変更する。それと同時に仮想リンクを用いた予備系メンバリンクのLink Statusを『Standby→Active（t）』に変更する。例えば、図７に示す管理情報は、図１１に示すように変更される。なお、リンク障害が回復し、元のメンバリンク構成に戻す際にどのリンクのLink StatusをStandbyにすべきかを判断しやすくするためにActive(t)として通常の現用系リンク（Link StatusはActive）と区別してもよい。
【００４８】
（iii）LAG管理部１０２はパケット振り分け部１０５に対して、障害が発生した現用系メンバリンクのLink StatusがDownになったことを通知する。
【００４９】
（iv）パケット振り分け部１０５は該当の現用系メンバリンクのLink StatusをDownに変更し、仮想リンクを用いた予備系メンバリンクのLink StatusをActive（t）に変更する。例えば、図８に示す管理情報は、図１２に示すように変更される。
【００５０】
パケット振り分け部１０５は、障害が発生した現用系メンバリンクに振り分けていたパケット（振り分けIDで抽出可能）を仮想リンクを用いた予備系メンバリンクへ切り替えるよう仮想リンク切り替え部１０５Ｂに指示する。
【００５１】
（v）仮想リンク切り替え部１０５Ｂは障害が発生したリンクを流通していたパケットのみを仮想リンクを用いた予備系メンバリンクへ切り替える。なお、その他の現用系メンバリンクを流通していたパケットの振り分け先は変更しない。このような動作を行う間、経路情報管理部１０４からみると何の変化もないようにみえるため、レイヤ３での切り替え（ルーティング切り替え）は発生しない。
【００５２】
＜変形例＞
現用系メンバリンクが２本以上存在する場合、何本の現用系メンバリンクの障害まで予備系メンバリンクに切り替えるかは設計者が自由に設計できるようにしてもよい。そのためにはLAG管理部１０２に以下の機能を追加で具備させればよい。
【００５３】
現用系メンバリンクが何本ダウンしたらLAGの状態をDownにするかを通常のMinimum Linkの設定とは別のKeep LAG Linkという情報項目を定義して、LAG管理部１０２において管理する。Keep LAG Linkは、LAGごとに管理され、Active状態の現用系メンバリンクの数がKeep LAG Linkの値未満になった場合、LAGの状態をDownにするために用いられる。
【００５４】
図１３は、Keep LAG Linkが追加されたときにLAG管理部１０２において管理される情報の例を示す図である。図１３では、３本の現用系メンバリンクに対してKeep LAG Linkが２に設定されている。これは、現用系メンバリンク３本のうち２本以上がActiveであればLAGの状態はDownしないことを意味する。つまり、１本の現用系メンバリンクに障害が発生した場合、現用系メンバリンク２本と予備系メンバリンク１本でLAGを再構成する。
【００５５】
LAG管理部１０２は現用系メンバリンクの数がKeep LAG Linkに設定した値よりも下回った場合にLAG StatusをDownにする。LAG StatusがDownになってはじめてレイヤ３での切り替えが発生する。なお、Keep LAG Linkを設定した場合は、Minimum Linkの設定は実施しなくてもよい。あるいは、Minimum Linkを設定した場合でもKeep LAG Linkの設定を優先させる。
【００５６】
図１４は、Keep LAG Linkを具備した場合のリンク障害時におけるLAG管理部１０２の動作フローを示す図である。
【００５７】
LAG管理部１０２は、障害検知部１０１より障害情報を取得する（Ｓ１０１）。そして、取得した障害情報を基に、そのリンクがいずれかのLAGのメンバリンクなのか否かを判定する（Ｓ１０２）。LAGのメンバリンクに該当しない場合は（Ｓ１０２：ＮＯ）、LAG管理部１０２は、障害情報を経路情報管理部１０４へ渡す（Ｓ１０３）。LAGのメンバリンクに該当する場合は（Ｓ１０２：ＹＥＳ）、LAG管理部１０２は、そのメンバリンクの状態をActiveからDownに変更する。更に、予備系メンバリンクの状態をStandbyからActive(t)に変更する（Ｓ１０４）。
【００５８】
LAG管理部１０２は、現用系メンバリンクの状態をDownにしたことにより、現用系メンバリンクの数がKeep LAG Linkに設定した数未満になった場合（Ｓ１０５：ＮＯ）、LAG自体の状態をDownとする（Ｓ１０６）。一方、現用系メンバリンクの状態をDownにしても現用系メンバリンクの数がKeep LAG Linkに設定した数以上である場合（Ｓ１０５：ＹＥＳ）、LAG管理部１０２はLAGの状態をUpのままとし、パケット振り分け部１０５に対して、障害した現用系メンバリンクの状態がDownになったことを通知する（Ｓ１０７）。
【００５９】
前述のように、LAG管理部１０２がLAGの状態をDownとしない限り、パケット振り分け部１０５は現用系メンバリンクを通っていたパケットを予備系メンバリンクへ切り替えて流通させ続ける。設計によっては現用系メンバリンクが２本障害した場合、予備系メンバリンク１本に対して現用系メンバリンク２本分のパケットが流通するようにすることができる。よって、現用系メンバリンク及び予備系メンバリンクの帯域を考慮し、１本の予備系メンバリンクで何本の現用系メンバリンクを救済するかを設計してもよい。すなわち、LAGの状態がDownとなるときの障害が発生した現用系メンバリンクの本数は、現用系メンバリンク及び予備系メンバリンクの帯域を考慮して決定される。但し、ネットワークの現用系と予備系で同じ帯域を持っているネットワークであれば帯域溢れ等は発生しない。
【００６０】
また、前述の動作ロジックによれば、現用系メンバリンク全てに障害が発生した場合でもLAGの状態をUpのままとし、予備系メンバリンクへ切り替える（この時レイヤ３の切り替えは発生させない）ことも可能であるが、全ての現用系メンバリンクが障害した場合にはレイヤ３レベルで切り替え（ルーティング切り替え）、ネットワーク全体のルーティングポリシーに沿ってパケットを流通させることも可能である。
【００６１】
＜現用系メンバリンクの障害が回復した場合の動作＞
図１５は、現用系メンバリンクの障害が回復した場合のルータの内部動作を示す図である。
【００６２】
（i）リンク障害が回復すると障害検知部１０１が障害回復を検知し、LAG管理部１０２へ通知する。
【００６３】
（ii）LAG管理部１０２は、障害が回復したリンクがいずれかのLAGのメンバリンクなのか否かを判定する。LAGのメンバリンクである場合は、該当のメンバリンクのLink Statusを『Down→Active』に変更する。それと同時に予備系メンバリンクのLink Statusを『Active（t）→Standby』に変更する。なお、現用系メンバリンクが複数本障害していてその一部のみが回復した場合には予備系メンバリンクのLink StatusはStandbyには戻さず、全ての現用系メンバリンクの障害が回復した場合にのみStandbyに戻す。
【００６４】
（iii）LAG管理部１０２はパケット振り分け部１０５に対して該当の現用系メンバリンクのLink StatusがDown→Activeに変更になったことを通知する。
【００６５】
（iv）パケット振り分け部１０５はLAG管理部１０２からの通知に基づき、振り分けDBの内容を変更すると共に、予備系メンバリンクを流通させているパケットのうち、もともと回復した現用系メンバリンクを流通していたもの（振り分けIDで判別可能）を予備系メンバリンクから現用系メンバリンクへ切り替えるように仮想リンク切り替え部１０５Ｂに指示する。
【００６６】
（v）仮想リンク切り替え部１０５Ｂは予備系メンバリンクを通っていたパケットを回復した現用系メンバリンクに切り替える。
【００６７】
＜本発明の実施例による効果＞
図２を参照して説明したように、LAGのメンバリンクに障害が発生した場合において、LAGの状態をDownさせないことでパケットロスを伴うレイヤ３での切り替えを発生させず、かつ帯域溢れを回避するためには、リンクが減少した場合でも帯域溢れが発生しない本数のリンクを準備する必要があった。
【００６８】
しかしながら、本発明の実施例によれば、ネットワークとしての予備系切り替え機能（レイヤ３での切り替え機能）は維持しつつ、予備系のネットワーク資源を有効活用することでコストを抑えることが可能になる。更に、レイヤ３での切り替えによるパケットロスと帯域溢れの両方を回避することが可能になり、ネットワーク品質の向上が実現できる。
【００６９】
本発明の実施例では、LAG管理部１０２の中に新機能として仮想リンク制御部１０２Ａを実装し、仮想リンクを予備系メンバリンクとして扱うことを可能にする。また、パケット振り分け部１０５の中に仮想リンク切り替え部１０５Ｂを実装し、現用系メンバリンクが障害した際に仮想リンクを用いた予備系メンバリンクに切り替え可能とする。このようにして、レイヤ３での切り替えによるパケットロスを回避する。その際は障害が発生したメンバリンク以外のメンバリンクを流通しているパケットに影響を与えない。
【００７０】
また、変形例において説明した通り、LAG管理部１０２がLAGの状態を制御するための閾値（Keep LAG Link）を管理し、その閾値によってLAGの状態を変化させることを可能にする。Keep LAG Linkは、設計者により設定可能とする。なお、LAGの状態がDownとなればレイヤ３レベルで切り替えが行われるが、LAGの状態がUpの間はレイヤ３レベルでの切り替えは回避される。このように、現用系メンバリンク何本まで予備系メンバリンクへ切り替えるかを設計者が自由に設定することが可能になる。
【００７１】
また、本発明の実施例において説明した通り、予備系メンバリンクの状態として、Link Status情報に識別情報(t)を付与することにより、現用系メンバリンクに障害発生し、予備系メンバリンクがアクティブになっている状態から、障害が回復し元のメンバリンク構成に戻す場合、どのリンクが元々予備リンクだったかを瞬時に判断することが可能になる。
【００７２】
説明の便宜上、本発明の実施例に係るルータは機能的なブロック図を用いて説明しているが、本発明の実施例に係るルータは、ハードウェア、ソフトウェア又はそれらの組み合わせで実現されてもよい。また、各機能部が必要に応じて組み合わせて使用されてもよい。また、本発明の実施例に係る方法は処理の流れを示すフローチャートを用いて説明しているが、本発明の実施例に係る方法は、実施例に示す順序と異なる順序で実施されてもよい。
【００７３】
以上、LAGのメンバリンクに障害が発生した場合、レイヤ３レベルでの切り替えを回避することにより、切り替えに伴うパケットのロスを低減するための手法について説明したが、本発明は、上記の実施例に限定されることなく、特許請求の範囲内において、種々の変更・応用が可能である。
【符号の説明】
【００７４】
１０      ルータ
１０１    障害検知部
１０２    LAG管理部
１０２Ａ  仮想リンク制御部
１０３    パケット受信部
１０４    経路情報管理部
１０５    パケット振り分け部
１０５Ａ  ハッシュ計算部
１０５Ｂ  仮想リンク切り替え部
１０６    パケット送信部
【図１】
2016046638.tif 000003
【図２】
2016046638.tif 000004
【図３】
2016046638.tif 000005
【図４】
2016046638.tif 000006
【図５】
2016046638.tif 000007
【図６】
2016046638.tif 000008
【図７】
2016046638.tif 000009
【図８】
2016046638.tif 000010
【図９】
2016046638.tif 000011
【図１０】
2016046638.tif 000012
【図１１】
2016046638.tif 000013
【図１２】
2016046638.tif 000014
【図１３】
2016046638.tif 000015
【図１４】
2016046638.tif 000016
【図１５】
2016046638.tif 000017