(57)【特許請求の範囲】
【請求項１】
他の通信装置にパケットを送信する際に利用するＮ（Ｎは２以上の自然数）本の常用通信路のいずれかに障害が発生したか否かを判定する障害判定部と、
前記障害判定部によって前記常用通信路に障害が発生したと判定された場合には、前記常用通信路に設けられた、前記Ｎ本の常用通信路により共用される１本のバックアップ通信路をパケット送信用の通信路として選択する通信路選択処理部と、
前記通信路選択処理部によって前記バックアップ通信路が選択された場合には、前記バックアップ通信路が他の常用通信路のバックアップ通信路として共用されるか否かを判定する共用判定部と、
前記共用判定部によって前記バックアップ通信路が共用されると判定された場合には、前記常用通信路から前記バックアップ通信路に送られるパケットの優先度割り当てを変更する優先度変更処理部と、
前記優先度変更処理部によって変更された優先度に応じて前記パケットの送信を制御する送信制御部と
を備えたことを特徴とする通信装置。
【請求項２】
前記共用判定部によって前記バックアップ通信路が共用されると判定された場合には、前記常用通信路の識別子と前記他の常用通信路の識別子とが一致するか否かを判定する識別子判定部と、
前記識別子判定部によって前記識別子が一致すると判定された場合には、前記常用通信路から前記バックアップ通信路に送られるパケットに付加される前記常用通信路の識別子を変更する識別子変更処理部とを
さらに備えたことを特徴とする請求項１に記載の通信装置。
【請求項３】
前記常用通信路用の優先度と前記バックアップ通信路用の優先度とが記憶された優先度記憶部をさらに備え、
前記優先度変更処理部は、前記共用判定部によって前記バックアップ通信路が共用されると判定された場合には、前記優先度記憶部から前記バックアップ通信路用の優先度を読み出し、該読み出したバックアップ通信路用の優先度に基づいて前記パケットの優先度割り当てを変更する
ことを特徴とする請求項１に記載の通信装置。
【請求項４】
前記バックアップ通信路用の識別子が記憶された識別子記憶部をさらに備え、
前記識別子変更処理部は、前記識別子判定部によって前記識別子が一致すると判定された場合には、前記識別子記憶部から前記バックアップ通信路用の識別子を読み出し、前記読み出したバックアップ通信路用の識別子を前記パケットに付加される前記常用通信路の識別子と置き換えるか、または、前記読み出したバックアップ通信路用の識別子を前記パケットに付加される前記常用通信路の識別子に付加することを特徴とする請求項２に記載の通信装置。
【請求項５】
前記送信制御部は、前記常用通信路および前記他の通信路とは異なる通信路から前記バックアップ通信路に送られるパケットをベストエフォートで送信制御する請求項１に記載の通信装置。
【請求項６】
他の通信装置にパケットを送信する際に利用するＮ（Ｎは２以上の自然数）本の常用通信路のいずれかに障害が発生したか否かを判定する障害判定工程と、
前記障害判定工程によって前記常用通信路に障害が発生したと判定された場合には、前記常用通信路に設けられた、前記Ｎ本の常用通信路により共用される１本のバックアップ通信路をパケット送信用の通信路として選択する通信路選択処理工程と、
前記通信路選択処理工程によって前記バックアップ通信路が選択された場合には、前記バックアップ通信路が他の常用通信路のバックアップ通信路として共用されるか否かを判定する共用判定工程と、
前記共用判定工程によって前記バックアップ通信路が共用されると判定された場合には、前記常用通信路から前記バックアップ通信路に送られるパケットの優先度割り当てを変更する優先度変更処理工程と、
前記優先度変更処理工程によって変更された優先度に応じて前記パケットの送信を制御する送信制御工程と
を備えたことを特徴とする通信方法。
【請求項７】
前記共用判定工程によって前記バックアップ通信路が共用されると判定された場合には、前記常用通信路の識別子と前記他の常用通信路の識別子とが一致するか否かを判定する識別子判定工程と、
前記識別子判定工程によって前記識別子が一致すると判定された場合には、前記常用通信路から前記バックアップ通信路に送られるパケットに付加される前記常用通信路の識別子を変更する識別子変更処理工程とを
さらに備えたことを特徴とする請求項６に記載の通信方法。
【請求項８】
前記常用通信路用の優先度と前記バックアップ通信路用の優先度とが記憶された優先度記憶部をさらに備え、
前記優先度変更処理工程は、前記共用判定工程によって前記バックアップ通信路が共用されると判定された場合には、前記優先度記憶部から前記バックアップ通信路用の優先度を読み出し、該読み出したバックアップ通信路用の優先度に基づいて前記パケットの優先度割り当てを変更する
ことを特徴とする請求項６に記載の通信方法。
【請求項９】
前記バックアップ通信路用の識別子が記憶された識別子記憶部をさらに備え、
前記識別子変更処理工程は、前記識別子判定工程によって前記識別子が一致すると判定された場合には、前記識別子記憶部から前記バックアップ通信路用の識別子を読み出し、前記読み出したバックアップ通信路用の識別子を前記パケットに付加される前記常用通信路の識別子と置き換えるか、または、前記読み出したバックアップ通信路用の識別子を前記パケットに付加される前記常用通信路の識別子に付加することを特徴とする請求項７に記載の通信方法。
【請求項１０】
前記送信制御工程は、前記常用通信路および前記他の通信路とは異なる通信路から前記バックアップ通信路に送られるパケットをベストエフォートで送信制御する請求項６に記載の通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置および通信方法に関する。
【背景技術】
【０００２】
近年、パケット伝送装置などの通信装置においては、パスプロテクション技術を用いてパケットの通信路の切り換えを行うことが知られている。パスプロテクション技術は、通信装置が通常時にパケットを送信する通信路（以下、「常用通信路」という。）の障害を検出したら、常用通信路のバックアップ用に設けられた通信路（以下、「バックアップ通信路」という。）にパス切り換えを行うものである。
【０００３】
また、パスプロテクション技術では、通信装置はパケットに優先度を設定して、パケットの優先度に応じた送信制御を行う場合がある。例えば、通信装置はパケットの優先度に応じてパケットをキューにバッファリングし、優先度の高いパケットが格納されたキューから順番にパケットを送信する。
【０００４】
また、複数の常用通信路のそれぞれに対してバックアップ通信路を設ける構成（以下、「１：１構成」という。）の通信ネットワーク網は回線コストが高くなる。そのため、最近の通信ネットワーク網では、例えば複数の常用通信路に対して１本のバックアップ通信路を設ける構成（以下、「Ｎ：１構成」という。）が採用されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００３−２５８８５１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来技術は、Ｎ：１構成の通信ネットワーク網において、複数の常用通信路から共用のバックアップ通信路にパケットが送られることによりパケットの通信帯域が保証されないおそれがある。
【０００７】
すなわち、１：１構成の通信ネットワーク網でのパスプロテクションの技術を、Ｎ：１構成の通信ネットワーク網にそのまま適用すると、通信帯域の保証に関して、以下のような問題が発生するおそれがある。
【０００８】
例えば、ユーザＡとユーザＢがそれぞれ使用する通信装置から送信されたパケットの各常用通信路に対して１本のバックアップ通信路が設けられるとする。また、ユーザＡとユーザＢの通信装置はそれぞれの常用通信路を使用する場合はパケットの優先度を「高」にすると仮定する。ここで、例えばユーザＡの通信装置が常用通信路を使用し、ユーザＢの通信装置がバックアップ通信路を使用する場合には、ユーザＡとユーザＢの通信装置から送信されたパケットの優先度は「高」に設定されたままでもパケットの通信帯域が保証され得る。
【０００９】
しかしながら、ユーザＡとユーザＢの通信装置がともにバックアップ通信路を使用する場合には、各通信装置から送信されるパケットの優先度がともに「高」であるため、バックアップ通信路の通信容量によってはパケットの通信帯域が保証されない場合がある。
【００１０】
開示の技術は、上記に鑑みてなされたものであって、バックアップ通信路が複数の常用通信路に共用される場合であっても、各常用通信路から送信されるパケットの帯域を効率良く保証し得る通信装置および通信方法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本願の開示する通信装置は、他の通信装置にパケットを送信する際に利用する常用通信路に障害が発生したか否かを判定する障害判定部を備える。また、本願の開示する通信装置は、前記障害判定部によって前記常用通信路に障害が発生したと判定された場合には、前記常用通信路に設けられたバックアップ通信路をパケット送信用の通信路として選択する通信路選択処理部を備える。また、本願の開示する通信装置は、前記通信路選択処理部によって前記バックアップ通信路が選択された場合には、前記バックアップ通信路が他の常用通信路のバックアップ通信路として共用されるか否かを判定する共用判定部を備える。また、本願の開示する通信装置は、前記共用判定部によって前記バックアップ通信路が共用されると判定された場合には、前記常用通信路から前記バックアップ通信路に送られるパケットの優先度割り当てを変更する優先度変更処理部を備える。また、本願の開示する通信装置は、前記優先度変更処理部によって変更された優先度に応じて前記パケットの送信を制御する送信制御部を備える。
【発明の効果】
【００１２】
本願の開示する通信装置の一つの態様によれば、バックアップ通信路が複数の常用通信路に共用される場合であっても、各常用通信路から送信されるパケットの帯域を効率的に保証し得る。
【図面の簡単な説明】
【００１３】
【図１】図１は、本実施例にかかる通信装置を含む通信システムの全体構成を示す図である。
【図２】図２は、ＰＥのブロック構成を示す図である。
【図３】図３は、パス選択テーブルの構成を示す図である。
【図４】図４は、リンク状態テーブルの構成を示す図である。
【図５】図５は、クラス割り当てテーブルの構成を示す図である。
【図６Ａ】図６Ａは、Service VLAN Tagの構成を示す図である。
【図６Ｂ】図６Ｂは、Customer VLAN Tagの構成を示す図である。
【図７】図７は、パス選択処理部とクラス割り当て制御部の処理フローを示す図である。
【図８】図８は、VLAN変換処理部の処理フローを示す図である。
【図９】図９は、パス選択処理部とクラス割り当て制御部とVLAN変換処理部の動作の一例を説明するための図である。
【図１０】図１０は、パス選択処理部とクラス割り当て制御部とVLAN変換処理部の処理の流れを説明するための図である。
【図１１】図１１は、図１０の例におけるパス選択処理部とクラス割り当て制御部とVLAN変換処理部の動作の処理フローを示す図である。
【図１２】図１２は、パス選択処理部とクラス割り当て制御部とVLAN変換処理部の動作を説明するための図である。
【図１３】図１３は、図１２の例におけるパス選択処理部とクラス割り当て制御部とVLAN変換処理部の動作の処理フローを示す図である。
【図１４】図１４は、パス選択処理部とクラス割り当て制御部とVLAN変換処理部の動作を説明するための図である。
【図１５】図１５は、図１４の例におけるパス選択処理部とクラス割り当て制御部とVLAN変換処理部の動作の処理フローを示す図である。
【発明を実施するための形態】
【００１４】
以下に、本願の開示する通信装置および通信方法の実施例を図面に基づいて詳細に説明する。なお、この実施例により開示技術が限定されるものではない。以下の例では、通信装置の一例としてＰＥ（Provider Edge）を挙げて説明するが、これには限られない。
【実施例】
【００１５】
図１は、本実施例にかかるＰＥを含む通信システムの全体構成を示す図である。図１は、Ｎ：１構成の通信ネットワーク網におけるパスプロテクションの一例を示すものである。図１に示すように、通信システム５００は、ＰＥ１００と、ＰＥ２００と、ＰＥ３００とを備える。また、ＰＥ１００とＰＥ２００は、両者間でのパケットの送受信の通信路となるメインパス１５０，１６０、および、バックアップパス１７０を介して接続される。なお、メインパス１５０，１６０は、ＰＥ間でパケットを送受信する際に利用される常用通信路であり、バックアップパス１７０は、メインパス１５０，１６０の障害時のバックアップ用の通信路である。また、ＰＥ２００とＰＥ３００も同様に、メインパス１５０，１６０、および、バックアップパス１７０を介して接続される。なお、図１では、ＰＥ内の複数のリンク間で冗長化を行なっているが、複数のＰＥのリンク間で冗長化を行なうような構成とすることもできる。
【００１６】
ＰＥ１００は、通信ネットワークに接続するためのネットワークカード（以下、「Card」という。）１０１〜１０７を備える。また、ＰＥ２００は、Card２０１〜Card２０６を備える。また、ＰＥ３００は、Card３０１〜Card３０７を備える。図１は、一例として、ユーザＡ、Ｂ、Ｃ、およびＤから送信されたパケットがＰＥ１００，ＰＥ２００を介してＰＥ３００に送信されることを想定している。また、図１では、ユーザＡはメインパス１５０を介してパケットを送信するとともに、メインパス１５０に障害が発生した場合にはバックアップパス１７０を介してパケットを送信することを想定している。また、ユーザＡはパケット送信の優先度が高いサービスを提供されており、メインパス１５０とバックアップパス１７０のどちらのパスを使用した場合でも、パケットの優先度（以下、「クラス」という。）は「High」に設定されるものとする。ユーザＡは、例えば１００Mbps（Megabit per second）の帯域を保証し得るもののとする。なお、図１における破線は、ユーザＡ，Ｂからバックアップパス１７０に送信されたパケットの流れを示すものである。
【００１７】
また、図１では、ユーザＢはメインパス１６０を介してパケットを送信するとともに、メインパス１６０に障害が発生した場合にはバックアップパス１７０を介してパケットを送信することを想定している。また、ユーザＢにはパケット送信の優先度が中程度のサービスが提供されており、メインパス１６０を使用する場合は、クラスが「High」に設定され、１００Mbpsの帯域を保証し得るものとする。また、ユーザＢがバックアップパス１７０を使用する場合、仮にユーザＡがメインパス１５０を使用していれば、クラスは「High」に設定され、ユーザＢには１００Mbpsの帯域を保証し得るものとする。一方、ユーザＡがバックアップパス１７０を使用していれば、ユーザＢには図１のようにクラスが「Middle」に設定され、ベストエフォートのサービスが提供される。ユーザＡおよびユーザＢのクラス割り当ての詳細については後述する。また、図１は、ユーザＣがメインパス１５０を介してパケットを送信することを想定している。また、図１は、ユーザＤがバックアップパス１７０を介してパケットを送信することを想定している。また、ユーザＣやユーザＤにはパケット送信のクラスが低いサービスを提供しており、クラスの高いユーザＡやユーザＢとパスを共有しているため、ユーザＣやユーザＤにはベストエフォートのサービスが提供されるものとする。このように、本実施例では、複数のユーザ（フロー）毎に異なる程度のサービスを提供することができる。
【００１８】
図２は、ＰＥのブロック構成を示す図である。図２は、一例としてＰＥ１００の構成を説明するが、ＰＥ２００およびＰＥ３００も同様の構成である。ＰＥ１００は、パケット転送処理部１１０と、クラスキュー管理部１２０と、制御部１３０とを備える。パケット転送処理部１１０は例えばCard１０１に設けられる。パケット転送処理部１１０は、フロー識別部１１１、パス選択処理部１１２、クラス割り当て制御部１１３、VLAN（Virtual Local Area Network）変換処理部１１４、パス選択テーブル１１５、リンク状態テーブル１１６、およびクラス割り当てテーブル１１７を備える。
【００１９】
フロー識別部１１１は、Card１０１の入力パケットインタフェースから受信したパケットのフローを判別する。パス選択処理部１１２は、パス選択テーブル１１５、リンク状態テーブル１１６、およびクラス割り当てテーブル１１７をもとにパケットのクラス割り当てテーブルインデックスを取得し、出力パケットインタフェースを決定する。ここで、パス選択処理部１１２は、メインパス１５０，１６０およびバックアップパス１７０の両方にパス監視用のパケットを送信して、これらのパスの障害状況をチェックするよう構成することができる。パス監視用のパケットは、例えば、Service OAM（Operation Administration Maintenance）のCC(Continuity Check)などである。また、パス選択処理部１１２は、メインパス１５０，１６０に障害が発生したと判定された場合には、バックアップパス１７０をパケット送信用の通信路として選択することができる。
【００２０】
クラス割り当て制御部１１３は、クラス割り当てテーブル１１７からパケットのクラスを取得する。より具体的には、クラス割り当て制御部１１３は、パス選択処理部１１２で取得したクラス割り当てテーブルインデックスと入力パケットのCustomer VLAN TagのPCP（Priority Code Point）ビットをアドレスとして、クラスを取得する。
【００２１】
VLAN変換処理部１１４は、例えばCard１０１からCard１０４へのパス（バックアップパス１７０）が選択された時は、入力パケットのパス識別子（VLAN ID）を変換するか、または入力パケットにパス識別子を付与する。また、ＰＥ１００がパケット受信側になったときに、バックアップパス１７０を介して送信されたパケットをメインパス１５０側に送信する場合には、入力パケットの変換されたパス識別子を元に戻すか、または入力パケットの付与されたパス識別子を削除する。また、例えばCard１０１からCard１０３へのパス（メインパス１５０）が選択された場合や、バックアップパス１７０が選択されてもパス識別子を変換する必要がない場合は、パス識別子の変換処理は行わない。つまり、VLAN変換処理部１１４は、メインパス１５０，１６０の識別子が一致するか否かを判定し、一致する場合にはメインパス１５０，１６０からバックアップパス１７０に送られるパケットに付加される識別子を変更するよう構成することができる。なお、本実施例は、Customer VLAN TagのPCPビットをクラス割り当てテーブルのアドレスに使用する例を挙げて説明しているが、Service VLAN TagのPCPビットなどを使用することもできる。同様に、IP（Internet Protocol）パケットのTOS（Type of Service）ビットやDSCP（DiffServ Code Point）ビット、MPLS（Multi-Protocol Label Switching）パケットのExpビットなどをクラス割り当てテーブルのアドレスに使用することもできる。
【００２２】
クラスキュー管理部１２０は例えばCard１０４に設けられる。クラスキュー管理部１２０は、パス選択処理部１１２で取得したパケットのクラス情報をもとに例えばHigh, Middle, Lowの異なるQueueにパケットをバッファリングする。なお、本実施例はクラスを３種類としているがこれより多くてもよい。クラスキュー管理部１２０は、SPQ（Strict Priority Queuing）を有している。SPQは、Highクラスキュー＞Middleクラスキュー＞Lowクラスキューの優先度に従い、パス選択処理部１１２で決定した出力パケットインタフェースへパケットを転送する。制御部１３０は、リンク状態監視部１３１を備える。リンク状態監視部１３１は、出力パケットインタフェースのリンクの状態を常に監視し、取得した状態をリンク状態テーブル１１６に反映する。
【００２３】
次に、パケット転送処理部１１０で使用される各種テーブルの説明を行なう。図３は、パス選択テーブル１１５の構成を示す図である。図３に示すように、パス選択テーブル１１５は、複数のフロー番号（アドレス）に対応するメインパス情報およびバックアップパス情報を有する。メインパス情報およびバックアップパス情報はそれぞれ、Validビット、転送先カード番号、転送先ポート番号、リンク番号、クラス番号、および変換VIDが格納される。Validビットは、「０」が無効で、「１」が有効である。また、変換VIDには、Select bitとVIDが格納される。Select bitは、「０」がNOP、「１」がVID変換、「２」がVID付加、「３」がVID削除を示す。また、VIDには、変換用のVIDまたは付加用のVIDが格納される。なお、本実施例のパス選択テーブル１１５には、Validビット、転送先カード番号、転送先ポート番号、リンク番号だけでなく、クラス番号および変換VIDが格納されていることが従来と異なる点である。
【００２４】
図４は、リンク状態テーブル１１６の構成を示す図である。リンク状態テーブル１１６には、複数のリンク番号に対応して、リンク状態と、Ｎ：１状態が格納される。リンク状態は、「０」が活性で、「１」が非活性である。また、Ｎ：１状態は、「０」はバックアップパスが共用されていない状態を示し、「１」はバックアップパスが共用されている状態を示す。なお、本実施例のリンク状態テーブル１１６には、リンク番号だけでなく、Ｎ：１状態が格納されることが従来と異なる点である。
【００２５】
図５は、クラス割り当てテーブル１１７の構成を示す図である。クラス割り当てテーブル１１７には、複数のクラス番号のそれぞれに対応して、複数のPCP番号が格納される。また、各PCP番号のそれぞれに対応してクラスが格納されている。クラスは、例えばHigh、Middle、Lowで格納される。なお、本実施例では、クラス割り当てテーブル１１７が新たに設けられていることが従来と異なる点である。
【００２６】
図６Ａは、Service VLAN Tagの構成を示す図であり、図６Ｂは、Customer VLAN Tagの構成を示す図である。図６Ａに示すように、Service VLAN Tagには、１６ビットのTPID（Tag Protocol Identifier）と、１６ビットのTCI（Tag Control Information）とが格納される。また、TCIには、３ビットのPCPと、１ビットのDEI（Drop Eligible Indicator）と、１２ビットのVID（VLAN Identifier）とが格納される。また、図６Ｂに示すように、Customer VLAN Tagには、１６ビットのTPIDと、１６ビットのTCIとが格納される。また、TCIには、３ビットのPCPと、１ビットのCFI（Canonical Format Indicator）と、１２ビットのVIDとが格納される。
【００２７】
続いて、パス選択処理部１１２とクラス割り当て制御部１１３の処理フローを説明する。図７は、パス選択処理部１１２とクラス割り当て制御部１１３の処理フローを示す図である。初めに、パス選択処理部１１２によりメインパス１５０とバックアップパス１７０のいずれか一方が選択されるまでの処理を説明する。
【００２８】
まず、パス選択処理部１１２は、パス選択テーブル１１５を参照して、メインパス１５０のValidが「１」か否かを判定する（ステップＳ１０１）。パス選択処理部１１２は、メインパス１５０のValidが「１」ではない場合には（ステップＳ１０１でＮＯ）、パス選択テーブル１１５を参照して、バックアップパス１７０のValidが「１」か否かを判定する（ステップＳ１０２）。パス選択処理部１１２は、バックアップパス１７０のValidが「１」ではない場合には（ステップＳ１０２でＮＯ）、パケットを廃棄する（ステップＳ１０３）。パス選択処理部１１２は、バックアップパス１７０のValidが「１」の場合には（ステップＳ１０２でＹＥＳ）、バックアップパス１７０を選択する（ステップＳ１０４）。
【００２９】
一方、パス選択処理部１１２は、メインパス１５０のValidが「１」の場合には（ステップＳ１０１でＹＥＳ）、パス選択テーブル１１５を参照して、バックアップパス１７０のValidが「１」か否かを判定する（ステップＳ１０５）。続いて、パス選択処理部１１２は、バックアップパス１７０のValidが「１」ではない場合には（ステップＳ１０５でＮＯ）、メインパス１５０を選択する（ステップＳ１０６）。
【００３０】
また、パス選択処理部１１２は、バックアップパス１７０のValidが「１」の場合には（ステップＳ１０５でＹＥＳ）、メインパス１５０のリンクが活性か否かを判定する（ステップＳ１０７）。より具体的には、パス選択処理部１１２は、パス選択テーブル１１５のリンク番号をアドレスにしてリンク状態テーブル１１６を参照し、メインパス１５０のリンクが活性か否かを判定する。パス選択処理部１１２は、メインパス１５０のリンクが活性である場合には（ステップＳ１０７でＹＥＳ）、メインパス１５０を選択する（ステップＳ１０６）。一方、パス選択処理部１１２は、メインパス１５０のリンクが活性でない場合には（ステップＳ１０７でＮＯ）、バックアップパス１７０のリンクが活性か否かを判定する（ステップＳ１０８）。より具体的には、パス選択処理部１１２は、パス選択テーブル１１５のリンク番号をアドレスにしてリンク状態テーブル１１６を参照し、バックアップパス１７０のリンクが活性か否かを判定する。パス選択処理部１１２は、バックアップパス１７０のリンクが活性である場合には（ステップＳ１０８でＹＥＳ）、バックアップパス１７０を選択する（ステップＳ１０４）。一方、パス選択処理部１１２は、バックアップパス１７０のリンクが活性でない場合には（ステップＳ１０８でＮＯ）、メインパス１５０を選択する（ステップＳ１０６）。
【００３１】
ステップＳ１０１−ステップＳ１０８までの処理をまとめると、パス選択処理部１１２は、メインパス１５０とバックアップパス１７０のどちらかのValidビットが有効である場合は強制的にValidビットが有効であるパスを選択する。また、パス選択処理部１１２は、メインパス１５０とバックアップパス１７０のValidビットがともに有効である場合は、メインパス１５０のリンクが活性かどうかを判定し、活性の場合はメインパス１５０を選択する。また、パス選択処理部１１２は、メインパス１５０のリンクが非活性の場合はバックアップパス１７０のリンクが活性かどうかを判定し、活性の場合はバックアップパス１７０を選択し、非活性の場合はメインパス１５０を選択する。また、パス選択処理部１１２は、メインパス１５０とバックアップパス１７０のValidビットがともに無効である場合は当該パケットを廃棄する。
【００３２】
続いて、パス選択処理部１１２によりメインパス１５０とバックアップパス１７０のいずれか一方が選択された後のクラス割り当て処理について説明する。クラス割り当て制御部１１３は、ステップＳ１０６でメインパス１５０を選択した場合には、メインパス１５０のクラス情報を選択する（ステップＳ１０９）。より具体的には、クラス割り当て制御部１１３は、パス選択テーブル１１５のクラス番号と入力パケットのPCP番号とをアドレスにしてクラス割り当てテーブル１１７を参照し、メインパス１５０のクラス情報を選択する。このように、クラス割り当て制御部１１３は、パス選択テーブル１１５から直接クラス番号を取得するのではなく、パス選択テーブル１１５から取得したクラス番号をもとにクラス割り当てテーブル１１７をリードし、クラス情報を取得する。これは、ユーザ（フロー）単位に異なるクラス割り当て、および共通のクラス割り当てを容易にできるようにするためである。
【００３３】
一方、クラス割り当て制御部１１３は、ステップＳ１０４でバックアップパス１７０を選択した場合には、バックアップパス１７０のＮ：１状態が「１」であるか否かを判定する（ステップＳ１１０）。より具体的には、クラス割り当て制御部１１３は、パス選択テーブル１１５のリンク番号をアドレスにしてリンク状態テーブル１１６を参照し、Ｎ：１状態が「１」であるか否かを判定する。クラス割り当て制御部１１３は、Ｎ：１状態が「１」である場合には（ステップＳ１１０でＹＥＳ）、バックアップパス１７０が共用されていると判断してバックアップパス１７０のクラス情報を選択する（ステップＳ１１１）。より具体的には、クラス割り当て制御部１１３は、パス選択テーブル１１５のクラス番号と入力パケットのPCP番号とをアドレスにしてクラス割り当てテーブル１１７を参照し、バックアップパス１７０のクラス情報を選択する。つまり、クラス割り当て制御部１１３は、バックアップパス１７０がメインパス１５０，１６０に共用されるか否かを判定し、共用されると判定された場合には、バックアップパス１７０に送られるパケットのクラス割り当てを変更する。一方、クラス割り当て制御部１１３は、Ｎ：１状態が「１」ではない場合には（ステップＳ１１０でＮＯ）、バックアップパス１７０が共用されていないと判断してメインパス１５０のクラス情報を選択する（ステップＳ１０９）。
【００３４】
このように、クラス割り当て制御部１１３は、バックアップパス１７０を使用する場合においても、バックアップパス１７０のＮ：１状態によってはメインパス１５０のクラス情報を使用することもある。例えば、クラス割り当て制御部１１３は、バックアップパス１７０が輻輳しない場合、メインパス１５０のクラス情報を使用する。バックアップパス１７０が輻輳しない場合とは、例えばバックアップパス１７０が他のユーザと共有しない、または他のユーザと共有しているが他のユーザがメインパス１５０を使用しているような場合である。つまり、バックアップパス１７０のクラス情報を選択するのは、バックアップパス１７０を共有する複数のプロテクションパスが同時に障害状態にあり、複数のプロテクションパスが同時にバックアップパス１７０を使用している場合である。言い換えれば、クラス割り当て制御部１１３は、バックアップパス１７０が輻輳しているときに、バックアップパス１７０のクラス情報を選択する。なお、バックアップパス１７０を共用時に輻輳状態によりパケットを廃棄する場合は、廃棄するパケットをパス識別子（VLAN ID）単位に統計情報を収集することができる。これにより、フロー単位の廃棄パケット数の収集が可能となる。
【００３５】
続いて、VLAN変換処理部１１４の処理フローを説明する。図８は、VLAN変換処理部１１４の処理フローを示す図である。図８は、パス選択処理部１１２によりクラス割り当て処理が行われた後のVLAN変換処理について説明する図である。まず、VLAN変換処理部１１４は、パケットの転送先のパスがメインパス１５０であるか否かを判定する（ステップＳ２０１）。続いて、VLAN変換処理部１１４は、パケットの転送先のパスがメインパス１５０である場合には（ステップＳ２０１でＹＥＳ）、パス選択テーブル１１５のメインパス１５０のSelect bitをチェックする（ステップＳ２０２）。VLAN変換処理部１１４は、メインパス１５０のSelect bit が「NOP」の場合は処理を終了する。また、VLAN変換処理部１１４は、メインパス１５０のSelect bit が「VID変換」の場合はVLAN TagのVIDの更新を行う（ステップＳ２０３）。また、VLAN変換処理部１１４は、メインパス１５０のSelect bit が「VID付与」の場合はVLAN Tagの追加を行う（ステップＳ２０４）。また、VLAN変換処理部１１４は、メインパス１５０のSelect bit が「VID削除」の場合はVLAN Tagの削除を行う（ステップＳ２０５）。
【００３６】
一方、VLAN変換処理部１１４は、パケットの転送先のパスがバックアップパス１７０である場合には（ステップＳ２０１でＮＯ）、パス選択テーブル１１５のバックアップパス１７０のSelect bitをチェックする（ステップＳ２０６）。VLAN変換処理部１１４は、バックアップパス１７０のSelect bit が「NOP」の場合は処理を終了する。また、VLAN変換処理部１１４は、バックアップパス１７０のSelect bit が「VID変換」の場合はVLAN TagのVIDの更新を行う（ステップＳ２０７）。また、VLAN変換処理部１１４は、バックアップパス１７０のSelect bit が「VID付与」の場合はVLAN Tagの追加を行う（ステップＳ２０８）。また、VLAN変換処理部１１４は、バックアップパス１７０のSelect bit が「VID削除」の場合はVLAN Tagの削除を行う（ステップＳ２０９）。
【００３７】
次に、パケットのクラス割り当ておよびVLANIDの変換を行う場合の実施例について説明する。図９は、パス選択処理部１１２とクラス割り当て制御部１１３とVLAN変換処理部１１４の動作の一例を説明するための図である。ＰＥ１００、ＰＥ２００およびＰＥ３００の構成は図１で説明したものと同様であるので説明を省略する。図９に示すように、この例ではユーザＡとユーザＢがバックアップパス１７０を共用する例である。また、この例では、ユーザＡからの入力パケットはVLANIDが「１０」であり、ユーザＢからの入力パケットもVLANIDが「１０」であるとする。この場合、入力パケットをそのままの形式で転送するとCard１０４でパケットが混在してしまい、Card３０２からCard３０５またはCard３０２からCard３０７へパケットを分離できない場合ある。この問題を解決するために、Card１０１およびCard１０２において、各入力パケットのVLAN ID「１０」をそれぞれ、「２０」と「３０」に書き換える。また、Card３０２ではVLAN ID「２０」と「３０」をもとに転送先を判別した後、元のVLAN ID「１０」に戻す。以下、Card１０１とCard３０２におけるクラス割り当て制御部１１３とVLAN変換処理部１１４の動作について説明する。
【００３８】
図１０は、パス選択処理部１１２とクラス割り当て制御部１１３とVLAN変換処理部１１４の処理の流れを説明するための図である。図１０に示すように、まず、入力パケットはフロー識別部１１１でフロー番号が決定される。図１０の例では、Customer VLAN IDが「１０」のパケットが入力された場合、フロー識別部１１１でフロー番号が「１００」と判定されたとする。次に、パス選択処理部１１２は、フロー番号「１００」をアドレスとしてパス選択テーブル１１５を参照し、メインパス１５０のリンク番号「２００」とバックアップパス１７０のリンク番号「３００」を取得する。パス選択処理部１１２は、取得したリンク番号をアドレスとして、リンク状態テーブル１１６のリンク状態およびＮ：１状態を取得する。次に、パス選択処理部１１２はパスの選択を行う。この例では、パス選択処理部１１２は、メインパス１５０のリンク番号「２００」は「１」（非活性）、バックアップパスのリンク番号「３００」は「０」（活性）となっているため、バックアップパス（転送先カード番号１０４、転送先ポート番号２）が選択される。
【００３９】
また、クラス割り当て制御部１１３は、リンク番号「３００」はバックアップパス１７０が共用されている状態であるため、パス選択テーブル１１５を参照し、バックアップパス１７０のクラス番号「４」を選択する。また、クラス割り当て制御部１１３は、クラス割り当てテーブル１１７を参照し、入力パケットのPCPビットが「２」であるため、クラス情報を「Middle」に選択する。
【００４０】
VLAN変換処理部１１４は、パス選択テーブル１１５のSビットが「VID変換」となっているため、入力パケットのCVLAN ID「１０」を「２０」に変換する。その後、入力パケットは、クラス割り当て制御部１１３で割り当てられたクラスをもとに、クラスキュー管理部１２０内にある出力インタフェース毎のMiddleクラスキューにパケットにバッファリングされる。その後、クラスキュー管理部１２０は、SPQに従って出力パケットインタフェースへパケットを転送する。例えば、Highクラスキューにパケットが存在している場合は、Highクラスのパケットが優先的に転送され、Highクラスキューが空になった時点でMiddleクラスキューのパケットが転送される。なお、この例ではSPQとしているが、WRR（Weighted Round Robin）としてもよい。
【００４１】
図１１は、図１０の例におけるパス選択処理部１１２とクラス割り当て制御部１１３とVLAN変換処理部１１４の動作の処理フローを示す図である。図１１の処理フローの各ステップは、図７，図８の処理フローと同様であるので詳細な説明は省略する。図１１において、実線で示した処理の流れはCard１０１内部での処理順序を示し、破線で示した処理の流れはCard３０２内部での処理順序を示している。Card１０１内部では、まず、パス選択処理部１１２は、メインパス１５０のValidが「１」であるか否かを判定する（ステップＳ１０１）。図１０のパス選択テーブル１１５に示すように、メインパス１５０のValidは「１」であるので、パス選択処理部１１２は、バックアップパス１７０のValidが「１」であるか否かを判定する（ステップＳ１０５）。図１０のパス選択テーブル１１５に示すように、バックアップパス１７０のValidは「１」であるので、パス選択処理部１１２は、メインパス１５０のリンクが活性であるか否かを判定する（ステップＳ１０７）。図１０のリンク状態テーブル１１６に示すように、メインパス１５０のリンクは非活性であるので、パス選択処理部１１２は、バックアップパス１７０のリンクが活性であるか否かを判定する（ステップＳ１０８）。図１０のリンク状態テーブル１１６に示すように、バックアップパス１７０のリンクは活性であるので（ステップＳ１０８でＹＥＳ）、パス選択処理部１１２は、バックアップパス１７０を選択する（ステップＳ１０４）。
【００４２】
続いて、クラス割り当て制御部１１３は、バックアップパス１７０のＮ：１状態が「１」であるか否かを判定する（ステップＳ１１０）。図１０のリンク状態テーブル１１６に示すように、バックアップパス１７０のＮ：１状態は「１」であるので（ステップＳ１１０でＹＥＳ）、クラス割り当て制御部１１３はバックアップパス１７０のクラス割り当てテーブル１１７を参照する。そして、クラス割り当て制御部１１３は、PCPビット「２」に対応する「Middle」クラスを選択する（ステップＳ１１１）。
【００４３】
続いて、VLAN変換処理部１１４は、パケットの転送先のパスがメインパス１５０であるか否かを判定する（ステップＳ２０１）。ここでは、パケットの転送先のパスはバックアップパス１７０であるため（ステップＳ２０１でＮＯ）、VLAN変換処理部１１４は、パス選択テーブル１１５のバックアップパス１７０のSelect bitをチェックする（ステップＳ２０６）。図１０のパス選択テーブル１１５に示すように、バックアップパス１７０のSelect bitは「１」であり「VID変換」であるため、VLAN変換処理部１１４は、VLAN TagのVIDを「１０」から「２０」に更新する（ステップＳ２０７）。
【００４４】
一方、Card３０２内部では、まず、パス選択処理部１１２は、メインパス１５０のValidが「１」であるか否かを判定する（ステップＳ１０１）。ここでは、メインパス１５０のValidは「１」であるので（ステップＳ１０１でＹＥＳ）、パス選択処理部１１２は、バックアップパスのValidが「１」であるか否かを判定する（ステップＳ１０５）。ここでは、バックアップパスの構成はない、つまりValidは「０」であるので（ステップＳ１０５でＮＯ）、パス選択処理部１１２は、メインパス１５０を選択する（ステップＳ１０６）。
【００４５】
続いてCard３０２内部では、VLAN変換処理部１１４は、パケットの転送先のパスがメインパス１５０であるか否かを判定する（ステップＳ２０１）。ここでは、パケットの転送先のパスはメインパス１５０であるため（ステップＳ２０１でＹＥＳ）、VLAN変換処理部１１４は、パス選択テーブル１１５のメインパス１５０のSelect bitをチェックする（ステップＳ２０２）。ここでは、パス選択テーブル１１５のメインパス１５０のSelect bitが「１」であり「VID変換」であるため、VLAN変換処理部１１４は、VLAN TagのVIDを「２０」から「１０」に更新する（ステップＳ２０３）。
【００４６】
次に、パケットのクラス割り当てを行いVLANIDの変換を行わない場合の実施例について説明する。図１２は、パス選択処理部１１２とクラス割り当て制御部１１３とVLAN変換処理部１１４の動作を説明するための図である。ＰＥ１００、ＰＥ２００およびＰＥ３００の構成は図１で説明したものと同様であるので説明を省略する。図１２に示すように、この例ではユーザＡとユーザＢがバックアップパス１７０を共用する例である。また、この例では、ユーザＡからの入力パケットはVLANIDが「２０」であり、ユーザＢからの入力パケットはVLANIDが「３０」であるとする。この例のように複数のユーザ（フロー）でバックアップパス１７０を共用する場合でもバックアップパス１７０における各フローが識別できる場合（ユーザＡのVLAN IDは「２０」、ユーザＢのVLAN IDは「３０」）は、入力パケットのVLAN IDを変換しない。以下、Card１０１とCard３０２におけるクラス割り当て制御部１１３とVLAN変換処理部１１４の動作について説明する。
【００４７】
図１３は、図１２の例におけるパス選択処理部１１２とクラス割り当て制御部１１３とVLAN変換処理部１１４の動作の処理フローを示す図である。図１３において、実線で示した処理の流れはCard１０１内部での処理順序を示し、破線で示した処理の流れはCard３０２内部での処理順序を示している。なお、図１３の処理フローの各ステップは、図７，図８の処理フローと同様であるので詳細な説明は省略する。また、Card１０１内部およびCard３０２内部におけるパス選択処理部１１２とクラス割り当て制御部１１３の処理については、図１１で説明した処理と同様であるので説明を省略する。
【００４８】
Card１０１内部において、VLAN変換処理部１１４は、パケットの転送先のパスがメインパス１５０であるか否かを判定する（ステップＳ２０１）。ここでは、パケットの転送先のパスはバックアップパス１７０であるため（ステップＳ２０１でＮＯ）、VLAN変換処理部１１４は、パス選択テーブル１１５のバックアップパス１７０のSelect bitをチェックする（ステップＳ２０６）。ここでは、バックアップパス１７０のSelect bitは「０」であり「NOP」であるため、VLAN変換処理部１１４は、処理を終了する。
【００４９】
一方、Card３０２内部では、VLAN変換処理部１１４は、パケットの転送先のパスがメインパス１５０であるか否かを判定する（ステップＳ２０１）。ここでは、パケットの転送先のパスはメインパス１５０であるため（ステップＳ２０１でＹＥＳ）、VLAN変換処理部１１４は、パス選択テーブル１１５のメインパス１５０のSelect bitをチェックする（ステップＳ２０２）。ここでは、パス選択テーブル１１５のメインパス１５０のSelect bitが「０」であり「NOP」であるため、VLAN変換処理部１１４は、処理を終了する。
【００５０】
次に、パケットのクラス割り当てを行いVLANIDの付加および削除を行う場合の実施例について説明する。図１４は、パス選択処理部１１２とクラス割り当て制御部１１３とVLAN変換処理部１１４の動作を説明するための図である。ＰＥ１００、ＰＥ２００およびＰＥ３００の構成は図１で説明したものと同様であるので説明を省略する。図１４に示すように、この例ではユーザＡとユーザＢがバックアップパス１７０を共用する例である。また、この例では、ユーザＡからの入力パケットはVLANIDが「１０」であり、ユーザＢからの入力パケットもVLANIDが「１０」であるとする。この場合、入力パケットをそのままの形式で転送するとCard１０４でパケットが混在してしまい、Card３０２からCard３０５またはCard３０２からCard３０７へパケットを分離できない場合ある。この問題を解決するために、Card１０１およびCard１０２において、各入力パケットのVLAN ID「１０」の直前にそれぞれ、新規の「２０」と「３０」を付け加えて多重タグする。また、Card３０２ではVLAN ID「２０」と「３０」をもとに転送先を判別した後、VLAN ID「２０」と「３０」を削除する。以下、Card１０１とCard３０２におけるクラス割り当て制御部１１３とVLAN変換処理部１１４の動作を動作について説明する。
【００５１】
図１５は、図１４の例におけるパス選択処理部１１２とクラス割り当て制御部１１３とVLAN変換処理部１１４の動作の処理フローを示す図である。図１５において、実線で示した処理の流れはCard１０１内部での処理順序を示し、破線で示した処理の流れはCard３０２内部での処理順序を示している。なお、図１５の処理フローの各ステップは、図７，図８の処理フローと同様であるので詳細な説明は省略する。また、Card１０１内部およびCard３０２内部におけるパス選択処理部１１２とクラス割り当て制御部１１３の処理については、図１１で説明した処理と同様であるので説明を省略する。
【００５２】
Card１０１内部において、VLAN変換処理部１１４は、パケットの転送先のパスがメインパス１５０であるか否かを判定する（ステップＳ２０１）。ここでは、パケットの転送先のパスはバックアップパス１７０であるため（ステップＳ２０１でＮＯ）、VLAN変換処理部１１４は、パス選択テーブル１１５のバックアップパス１７０のSelect bitをチェックする（ステップＳ２０６）。ここでは、バックアップパス１７０のSelect bitは「２」であり「VID付与」であるため、VLAN変換処理部１１４は、VLAN TagのVID「１０」に対してVLAN TagのVID「２０」を付け加える（ステップＳ２０８）。
【００５３】
一方、Card３０２内部では、VLAN変換処理部１１４は、パケットの転送先のパスがメインパス１５０であるか否かを判定する（ステップＳ２０１）。ここでは、パケットの転送先のパスはメインパス１５０であるため（ステップＳ２０１でＹＥＳ）、VLAN変換処理部１１４は、パス選択テーブル１１５のメインパス１５０のSelect bitをチェックする（ステップＳ２０２）。ここでは、パス選択テーブル１１５のメインパス１５０のSelect bitが「３」であり「VID削除」であるため、VLAN変換処理部１１４は、VLAN TagのVID「２０」を削除する（ステップＳ２０５）。
【００５４】
以上、本実施例の通信装置および通信方法によれば、メインパス１５０とバックアップパス１７０で異なるクラス割り当てが可能となる。つまり、本実施例の通信装置および通信方法によれば、バックアップパス１７０用に異なるクラスを割り当てすることが可能となるので、バックアップパス１７０を共用するフローに対して優先度の異なるサービスを提供することが可能となる。本実施例の通信装置および通信方法によれば、例えばユーザＡは高優先サービスであり、ユーザＢは中優先サービスであり、両方ともバックアップ回線の提供を受けるが、提供サービスに優劣を付けることが可能となる。また、本実施例の通信装置および通信方法は、メインパス１５０とバックアップパス１７０で個別のクラス割り当てを選択できる。これに加えて、本実施例の通信装置および通信方法は、複数のユーザ（フロー）がバックアップパス１７０を共有する場合のみバックアップパス専用のクラス割り当てを使用することができる。
【００５５】
また、本実施例の通信装置および通信方法は、バックアップパス１７０において、異なるユーザのVLANフローが混在する場合、フロー識別のための新規VLAN IDの適用が可能となる。すなわち、本実施例の通信装置および通信方法は、入力パケットのパス識別子（VLAN ID）を変換、または入力パケットにパス識別子を付与することにより、同一のパス識別子を持つパケットのフローを識別することができる。また、パス識別子の変換はバックアップパスの区間のみの適用であるから、ユーザに対してネットワーク内におけるVLAN IDの書き換えを意識させずに、同一のパス識別子を持つパケットのフローを識別することができる。
【００５６】
また、本実施例の通信装置および通信方法は、クラス割り当てテーブル１１７にメインパス１５０，１６０、およびバックアップパス１７０に送信するパケットに割り当てるクラスを記憶させるので、簡易な構成でクラス割り当て処理を行うことができる。また、本実施例の通信装置および通信方法は、パス選択テーブル１１５にバックアップパス１７０にパケットを送信する際の変換用または付加用のパス識別子を記憶させるので、簡易な構成でパス識別子の変換または付加を行うことができる。また、本実施例の通信装置および通信方法は、メインパス１５０，１６０以外のパスがバックアップパス１７０にのみパスを張り、ベストエフォート型のサービスを提供するので、バックアップパス１７０を効率的に使用することができる。
【符号の説明】
【００５７】
１００ 通信装置
１１０ パケット転送処理部
１１１ フロー識別部
１１２ パス選択処理部
１１３ クラス割り当て制御部
１１４ VLAN変換処理部
１１５ パス選択テーブル
１１６ リンク状態テーブル
１１７ クラス割り当てテーブル
１２０ クラスキュー管理部
１５０，１６０メインパス
１７０ バックアップパス
５００ 通信システム
【図１】
0005630094.tif 000002
【図２】
0005630094.tif 000003
【図３】
0005630094.tif 000004
【図４】
0005630094.tif 000005
【図５】
0005630094.tif 000006
【図６Ａ】
0005630094.tif 000007
【図６Ｂ】
0005630094.tif 000008
【図７】
0005630094.tif 000009
【図８】
0005630094.tif 000010
【図９】
0005630094.tif 000011
【図１０】
0005630094.tif 000012
【図１１】
0005630094.tif 000013
【図１２】
0005630094.tif 000014
【図１３】
0005630094.tif 000015
【図１４】
0005630094.tif 000016
【図１５】
0005630094.tif 000017