説明

通信装置および通信方法

【課題】バックアップパスが複数のメインパスに共用される場合であっても、各メインパスから送信されるパケットの帯域を効率的に保証し得る通信装置を提供する。
【解決手段】通信装置100は、パケットを送信する際に常用するメインパス150,160に障害が発生したら、パスプロテクションにより、バックアップパス170にパケットを送信する。また、通信装置100は、バックアップパス170がメインパス150,160に対して共用される場合には、メインパス150,160からバックアップパス170に送られるパケットのクラス割り当てを変更するクラス割り当て制御部を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、通信装置および通信方法に関する。
【背景技術】
【0002】
近年、パケット伝送装置などの通信装置においては、パスプロテクション技術を用いてパケットの通信路の切り換えを行うことが知られている。パスプロテクション技術は、通信装置が通常時にパケットを送信する通信路(以下、「常用通信路」という。)の障害を検出したら、常用通信路のバックアップ用に設けられた通信路(以下、「バックアップ通信路」という。)にパス切り換えを行うものである。
【0003】
また、パスプロテクション技術では、通信装置はパケットに優先度を設定して、パケットの優先度に応じた送信制御を行う場合がある。例えば、通信装置はパケットの優先度に応じてパケットをキューにバッファリングし、優先度の高いパケットが格納されたキューから順番にパケットを送信する。
【0004】
また、複数の常用通信路のそれぞれに対してバックアップ通信路を設ける構成(以下、「1:1構成」という。)の通信ネットワーク網は回線コストが高くなる。そのため、最近の通信ネットワーク網では、例えば複数の常用通信路に対して1本のバックアップ通信路を設ける構成(以下、「N:1構成」という。)が採用されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2003−258851号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、従来技術は、N:1構成の通信ネットワーク網において、複数の常用通信路から共用のバックアップ通信路にパケットが送られることによりパケットの通信帯域が保証されないおそれがある。
【0007】
すなわち、1:1構成の通信ネットワーク網でのパスプロテクションの技術を、N:1構成の通信ネットワーク網にそのまま適用すると、通信帯域の保証に関して、以下のような問題が発生するおそれがある。
【0008】
例えば、ユーザAとユーザBがそれぞれ使用する通信装置から送信されたパケットの各常用通信路に対して1本のバックアップ通信路が設けられるとする。また、ユーザAとユーザBの通信装置はそれぞれの常用通信路を使用する場合はパケットの優先度を「高」にすると仮定する。ここで、例えばユーザAの通信装置が常用通信路を使用し、ユーザBの通信装置がバックアップ通信路を使用する場合には、ユーザAとユーザBの通信装置から送信されたパケットの優先度は「高」に設定されたままでもパケットの通信帯域が保証され得る。
【0009】
しかしながら、ユーザAとユーザBの通信装置がともにバックアップ通信路を使用する場合には、各通信装置から送信されるパケットの優先度がともに「高」であるため、バックアップ通信路の通信容量によってはパケットの通信帯域が保証されない場合がある。
【0010】
開示の技術は、上記に鑑みてなされたものであって、バックアップ通信路が複数の常用通信路に共用される場合であっても、各常用通信路から送信されるパケットの帯域を効率良く保証し得る通信装置および通信方法を提供することを目的とする。
【課題を解決するための手段】
【0011】
本願の開示する通信装置は、他の通信装置にパケットを送信する際に利用する常用通信路に障害が発生したか否かを判定する障害判定部を備える。また、本願の開示する通信装置は、前記障害判定部によって前記常用通信路に障害が発生したと判定された場合には、前記常用通信路に設けられたバックアップ通信路をパケット送信用の通信路として選択する通信路選択処理部を備える。また、本願の開示する通信装置は、前記通信路選択処理部によって前記バックアップ通信路が選択された場合には、前記バックアップ通信路が他の常用通信路のバックアップ通信路として共用されるか否かを判定する共用判定部を備える。また、本願の開示する通信装置は、前記共用判定部によって前記バックアップ通信路が共用されると判定された場合には、前記常用通信路から前記バックアップ通信路に送られるパケットの優先度割り当てを変更する優先度変更処理部を備える。また、本願の開示する通信装置は、前記優先度変更処理部によって変更された優先度に応じて前記パケットの送信を制御する送信制御部を備える。
【発明の効果】
【0012】
本願の開示する通信装置の一つの態様によれば、バックアップ通信路が複数の常用通信路に共用される場合であっても、各常用通信路から送信されるパケットの帯域を効率的に保証し得る。
【図面の簡単な説明】
【0013】
【図1】図1は、本実施例にかかる通信装置を含む通信システムの全体構成を示す図である。
【図2】図2は、PEのブロック構成を示す図である。
【図3】図3は、パス選択テーブルの構成を示す図である。
【図4】図4は、リンク状態テーブルの構成を示す図である。
【図5】図5は、クラス割り当てテーブルの構成を示す図である。
【図6A】図6Aは、Service VLAN Tagの構成を示す図である。
【図6B】図6Bは、Customer VLAN Tagの構成を示す図である。
【図7】図7は、パス選択処理部とクラス割り当て制御部の処理フローを示す図である。
【図8】図8は、VLAN変換処理部の処理フローを示す図である。
【図9】図9は、パス選択処理部とクラス割り当て制御部とVLAN変換処理部の動作の一例を説明するための図である。
【図10】図10は、パス選択処理部とクラス割り当て制御部とVLAN変換処理部の処理の流れを説明するための図である。
【図11】図11は、図10の例におけるパス選択処理部とクラス割り当て制御部とVLAN変換処理部の動作の処理フローを示す図である。
【図12】図12は、パス選択処理部とクラス割り当て制御部とVLAN変換処理部の動作を説明するための図である。
【図13】図13は、図12の例におけるパス選択処理部とクラス割り当て制御部とVLAN変換処理部の動作の処理フローを示す図である。
【図14】図14は、パス選択処理部とクラス割り当て制御部とVLAN変換処理部の動作を説明するための図である。
【図15】図15は、図14の例におけるパス選択処理部とクラス割り当て制御部とVLAN変換処理部の動作の処理フローを示す図である。
【発明を実施するための形態】
【0014】
以下に、本願の開示する通信装置および通信方法の実施例を図面に基づいて詳細に説明する。なお、この実施例により開示技術が限定されるものではない。以下の例では、通信装置の一例としてPE(Provider Edge)を挙げて説明するが、これには限られない。
【実施例】
【0015】
図1は、本実施例にかかるPEを含む通信システムの全体構成を示す図である。図1は、N:1構成の通信ネットワーク網におけるパスプロテクションの一例を示すものである。図1に示すように、通信システム500は、PE100と、PE200と、PE300とを備える。また、PE100とPE200は、両者間でのパケットの送受信の通信路となるメインパス150,160、および、バックアップパス170を介して接続される。なお、メインパス150,160は、PE間でパケットを送受信する際に利用される常用通信路であり、バックアップパス170は、メインパス150,160の障害時のバックアップ用の通信路である。また、PE200とPE300も同様に、メインパス150,160、および、バックアップパス170を介して接続される。なお、図1では、PE内の複数のリンク間で冗長化を行なっているが、複数のPEのリンク間で冗長化を行なうような構成とすることもできる。
【0016】
PE100は、通信ネットワークに接続するためのネットワークカード(以下、「Card」という。)101〜107を備える。また、PE200は、Card201〜Card206を備える。また、PE300は、Card301〜Card307を備える。図1は、一例として、ユーザA、B、C、およびDから送信されたパケットがPE100,PE200を介してPE300に送信されることを想定している。また、図1では、ユーザAはメインパス150を介してパケットを送信するとともに、メインパス150に障害が発生した場合にはバックアップパス170を介してパケットを送信することを想定している。また、ユーザAはパケット送信の優先度が高いサービスを提供されており、メインパス150とバックアップパス170のどちらのパスを使用した場合でも、パケットの優先度(以下、「クラス」という。)は「High」に設定されるものとする。ユーザAは、例えば100Mbps(Megabit per second)の帯域を保証し得るもののとする。なお、図1における破線は、ユーザA,Bからバックアップパス170に送信されたパケットの流れを示すものである。
【0017】
また、図1では、ユーザBはメインパス160を介してパケットを送信するとともに、メインパス160に障害が発生した場合にはバックアップパス170を介してパケットを送信することを想定している。また、ユーザBにはパケット送信の優先度が中程度のサービスが提供されており、メインパス160を使用する場合は、クラスが「High」に設定され、100Mbpsの帯域を保証し得るものとする。また、ユーザBがバックアップパス170を使用する場合、仮にユーザAがメインパス150を使用していれば、クラスは「High」に設定され、ユーザBには100Mbpsの帯域を保証し得るものとする。一方、ユーザAがバックアップパス170を使用していれば、ユーザBには図1のようにクラスが「Middle」に設定され、ベストエフォートのサービスが提供される。ユーザAおよびユーザBのクラス割り当ての詳細については後述する。また、図1は、ユーザCがメインパス150を介してパケットを送信することを想定している。また、図1は、ユーザDがバックアップパス170を介してパケットを送信することを想定している。また、ユーザCやユーザDにはパケット送信のクラスが低いサービスを提供しており、クラスの高いユーザAやユーザBとパスを共有しているため、ユーザCやユーザDにはベストエフォートのサービスが提供されるものとする。このように、本実施例では、複数のユーザ(フロー)毎に異なる程度のサービスを提供することができる。
【0018】
図2は、PEのブロック構成を示す図である。図2は、一例としてPE100の構成を説明するが、PE200およびPE300も同様の構成である。PE100は、パケット転送処理部110と、クラスキュー管理部120と、制御部130とを備える。パケット転送処理部110は例えばCard101に設けられる。パケット転送処理部110は、フロー識別部111、パス選択処理部112、クラス割り当て制御部113、VLAN(Virtual Local Area Network)変換処理部114、パス選択テーブル115、リンク状態テーブル116、およびクラス割り当てテーブル117を備える。
【0019】
フロー識別部111は、Card101の入力パケットインタフェースから受信したパケットのフローを判別する。パス選択処理部112は、パス選択テーブル115、リンク状態テーブル116、およびクラス割り当てテーブル117をもとにパケットのクラス割り当てテーブルインデックスを取得し、出力パケットインタフェースを決定する。ここで、パス選択処理部112は、メインパス150,160およびバックアップパス170の両方にパス監視用のパケットを送信して、これらのパスの障害状況をチェックするよう構成することができる。パス監視用のパケットは、例えば、Service OAM(Operation Administration Maintenance)のCC(Continuity Check)などである。また、パス選択処理部112は、メインパス150,160に障害が発生したと判定された場合には、バックアップパス170をパケット送信用の通信路として選択することができる。
【0020】
クラス割り当て制御部113は、クラス割り当てテーブル117からパケットのクラスを取得する。より具体的には、クラス割り当て制御部113は、パス選択処理部112で取得したクラス割り当てテーブルインデックスと入力パケットのCustomer VLAN TagのPCP(Priority Code Point)ビットをアドレスとして、クラスを取得する。
【0021】
VLAN変換処理部114は、例えばCard101からCard104へのパス(バックアップパス170)が選択された時は、入力パケットのパス識別子(VLAN ID)を変換するか、または入力パケットにパス識別子を付与する。また、PE100がパケット受信側になったときに、バックアップパス170を介して送信されたパケットをメインパス150側に送信する場合には、入力パケットの変換されたパス識別子を元に戻すか、または入力パケットの付与されたパス識別子を削除する。また、例えばCard101からCard103へのパス(メインパス150)が選択された場合や、バックアップパス170が選択されてもパス識別子を変換する必要がない場合は、パス識別子の変換処理は行わない。つまり、VLAN変換処理部114は、メインパス150,160の識別子が一致するか否かを判定し、一致する場合にはメインパス150,160からバックアップパス170に送られるパケットに付加される識別子を変更するよう構成することができる。なお、本実施例は、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ビットなどをクラス割り当てテーブルのアドレスに使用することもできる。
【0022】
クラスキュー管理部120は例えばCard104に設けられる。クラスキュー管理部120は、パス選択処理部112で取得したパケットのクラス情報をもとに例えばHigh, Middle, Lowの異なるQueueにパケットをバッファリングする。なお、本実施例はクラスを3種類としているがこれより多くてもよい。クラスキュー管理部120は、SPQ(Strict Priority Queuing)を有している。SPQは、Highクラスキュー>Middleクラスキュー>Lowクラスキューの優先度に従い、パス選択処理部112で決定した出力パケットインタフェースへパケットを転送する。制御部130は、リンク状態監視部131を備える。リンク状態監視部131は、出力パケットインタフェースのリンクの状態を常に監視し、取得した状態をリンク状態テーブル116に反映する。
【0023】
次に、パケット転送処理部110で使用される各種テーブルの説明を行なう。図3は、パス選択テーブル115の構成を示す図である。図3に示すように、パス選択テーブル115は、複数のフロー番号(アドレス)に対応するメインパス情報およびバックアップパス情報を有する。メインパス情報およびバックアップパス情報はそれぞれ、Validビット、転送先カード番号、転送先ポート番号、リンク番号、クラス番号、および変換VIDが格納される。Validビットは、「0」が無効で、「1」が有効である。また、変換VIDには、Select bitとVIDが格納される。Select bitは、「0」がNOP、「1」がVID変換、「2」がVID付加、「3」がVID削除を示す。また、VIDには、変換用のVIDまたは付加用のVIDが格納される。なお、本実施例のパス選択テーブル115には、Validビット、転送先カード番号、転送先ポート番号、リンク番号だけでなく、クラス番号および変換VIDが格納されていることが従来と異なる点である。
【0024】
図4は、リンク状態テーブル116の構成を示す図である。リンク状態テーブル116には、複数のリンク番号に対応して、リンク状態と、N:1状態が格納される。リンク状態は、「0」が活性で、「1」が非活性である。また、N:1状態は、「0」はバックアップパスが共用されていない状態を示し、「1」はバックアップパスが共用されている状態を示す。なお、本実施例のリンク状態テーブル116には、リンク番号だけでなく、N:1状態が格納されることが従来と異なる点である。
【0025】
図5は、クラス割り当てテーブル117の構成を示す図である。クラス割り当てテーブル117には、複数のクラス番号のそれぞれに対応して、複数のPCP番号が格納される。また、各PCP番号のそれぞれに対応してクラスが格納されている。クラスは、例えばHigh、Middle、Lowで格納される。なお、本実施例では、クラス割り当てテーブル117が新たに設けられていることが従来と異なる点である。
【0026】
図6Aは、Service VLAN Tagの構成を示す図であり、図6Bは、Customer VLAN Tagの構成を示す図である。図6Aに示すように、Service VLAN Tagには、16ビットのTPID(Tag Protocol Identifier)と、16ビットのTCI(Tag Control Information)とが格納される。また、TCIには、3ビットのPCPと、1ビットのDEI(Drop Eligible Indicator)と、12ビットのVID(VLAN Identifier)とが格納される。また、図6Bに示すように、Customer VLAN Tagには、16ビットのTPIDと、16ビットのTCIとが格納される。また、TCIには、3ビットのPCPと、1ビットのCFI(Canonical Format Indicator)と、12ビットのVIDとが格納される。
【0027】
続いて、パス選択処理部112とクラス割り当て制御部113の処理フローを説明する。図7は、パス選択処理部112とクラス割り当て制御部113の処理フローを示す図である。初めに、パス選択処理部112によりメインパス150とバックアップパス170のいずれか一方が選択されるまでの処理を説明する。
【0028】
まず、パス選択処理部112は、パス選択テーブル115を参照して、メインパス150のValidが「1」か否かを判定する(ステップS101)。パス選択処理部112は、メインパス150のValidが「1」ではない場合には(ステップS101でNO)、パス選択テーブル115を参照して、バックアップパス170のValidが「1」か否かを判定する(ステップS102)。パス選択処理部112は、バックアップパス170のValidが「1」ではない場合には(ステップS102でNO)、パケットを廃棄する(ステップS103)。パス選択処理部112は、バックアップパス170のValidが「1」の場合には(ステップS102でYES)、バックアップパス170を選択する(ステップS104)。
【0029】
一方、パス選択処理部112は、メインパス150のValidが「1」の場合には(ステップS101でYES)、パス選択テーブル115を参照して、バックアップパス170のValidが「1」か否かを判定する(ステップS105)。続いて、パス選択処理部112は、バックアップパス170のValidが「1」ではない場合には(ステップS105でNO)、メインパス150を選択する(ステップS106)。
【0030】
また、パス選択処理部112は、バックアップパス170のValidが「1」の場合には(ステップS105でYES)、メインパス150のリンクが活性か否かを判定する(ステップS107)。より具体的には、パス選択処理部112は、パス選択テーブル115のリンク番号をアドレスにしてリンク状態テーブル116を参照し、メインパス150のリンクが活性か否かを判定する。パス選択処理部112は、メインパス150のリンクが活性である場合には(ステップS107でYES)、メインパス150を選択する(ステップS106)。一方、パス選択処理部112は、メインパス150のリンクが活性でない場合には(ステップS107でNO)、バックアップパス170のリンクが活性か否かを判定する(ステップS108)。より具体的には、パス選択処理部112は、パス選択テーブル115のリンク番号をアドレスにしてリンク状態テーブル116を参照し、バックアップパス170のリンクが活性か否かを判定する。パス選択処理部112は、バックアップパス170のリンクが活性である場合には(ステップS108でYES)、バックアップパス170を選択する(ステップS104)。一方、パス選択処理部112は、バックアップパス170のリンクが活性でない場合には(ステップS108でNO)、メインパス150を選択する(ステップS106)。
【0031】
ステップS101−ステップS108までの処理をまとめると、パス選択処理部112は、メインパス150とバックアップパス170のどちらかのValidビットが有効である場合は強制的にValidビットが有効であるパスを選択する。また、パス選択処理部112は、メインパス150とバックアップパス170のValidビットがともに有効である場合は、メインパス150のリンクが活性かどうかを判定し、活性の場合はメインパス150を選択する。また、パス選択処理部112は、メインパス150のリンクが非活性の場合はバックアップパス170のリンクが活性かどうかを判定し、活性の場合はバックアップパス170を選択し、非活性の場合はメインパス150を選択する。また、パス選択処理部112は、メインパス150とバックアップパス170のValidビットがともに無効である場合は当該パケットを廃棄する。
【0032】
続いて、パス選択処理部112によりメインパス150とバックアップパス170のいずれか一方が選択された後のクラス割り当て処理について説明する。クラス割り当て制御部113は、ステップS106でメインパス150を選択した場合には、メインパス150のクラス情報を選択する(ステップS109)。より具体的には、クラス割り当て制御部113は、パス選択テーブル115のクラス番号と入力パケットのPCP番号とをアドレスにしてクラス割り当てテーブル117を参照し、メインパス150のクラス情報を選択する。このように、クラス割り当て制御部113は、パス選択テーブル115から直接クラス番号を取得するのではなく、パス選択テーブル115から取得したクラス番号をもとにクラス割り当てテーブル117をリードし、クラス情報を取得する。これは、ユーザ(フロー)単位に異なるクラス割り当て、および共通のクラス割り当てを容易にできるようにするためである。
【0033】
一方、クラス割り当て制御部113は、ステップS104でバックアップパス170を選択した場合には、バックアップパス170のN:1状態が「1」であるか否かを判定する(ステップS110)。より具体的には、クラス割り当て制御部113は、パス選択テーブル115のリンク番号をアドレスにしてリンク状態テーブル116を参照し、N:1状態が「1」であるか否かを判定する。クラス割り当て制御部113は、N:1状態が「1」である場合には(ステップS110でYES)、バックアップパス170が共用されていると判断してバックアップパス170のクラス情報を選択する(ステップS111)。より具体的には、クラス割り当て制御部113は、パス選択テーブル115のクラス番号と入力パケットのPCP番号とをアドレスにしてクラス割り当てテーブル117を参照し、バックアップパス170のクラス情報を選択する。つまり、クラス割り当て制御部113は、バックアップパス170がメインパス150,160に共用されるか否かを判定し、共用されると判定された場合には、バックアップパス170に送られるパケットのクラス割り当てを変更する。一方、クラス割り当て制御部113は、N:1状態が「1」ではない場合には(ステップS110でNO)、バックアップパス170が共用されていないと判断してメインパス150のクラス情報を選択する(ステップS109)。
【0034】
このように、クラス割り当て制御部113は、バックアップパス170を使用する場合においても、バックアップパス170のN:1状態によってはメインパス150のクラス情報を使用することもある。例えば、クラス割り当て制御部113は、バックアップパス170が輻輳しない場合、メインパス150のクラス情報を使用する。バックアップパス170が輻輳しない場合とは、例えばバックアップパス170が他のユーザと共有しない、または他のユーザと共有しているが他のユーザがメインパス150を使用しているような場合である。つまり、バックアップパス170のクラス情報を選択するのは、バックアップパス170を共有する複数のプロテクションパスが同時に障害状態にあり、複数のプロテクションパスが同時にバックアップパス170を使用している場合である。言い換えれば、クラス割り当て制御部113は、バックアップパス170が輻輳しているときに、バックアップパス170のクラス情報を選択する。なお、バックアップパス170を共用時に輻輳状態によりパケットを廃棄する場合は、廃棄するパケットをパス識別子(VLAN ID)単位に統計情報を収集することができる。これにより、フロー単位の廃棄パケット数の収集が可能となる。
【0035】
続いて、VLAN変換処理部114の処理フローを説明する。図8は、VLAN変換処理部114の処理フローを示す図である。図8は、パス選択処理部112によりクラス割り当て処理が行われた後のVLAN変換処理について説明する図である。まず、VLAN変換処理部114は、パケットの転送先のパスがメインパス150であるか否かを判定する(ステップS201)。続いて、VLAN変換処理部114は、パケットの転送先のパスがメインパス150である場合には(ステップS201でYES)、パス選択テーブル115のメインパス150のSelect bitをチェックする(ステップS202)。VLAN変換処理部114は、メインパス150のSelect bit が「NOP」の場合は処理を終了する。また、VLAN変換処理部114は、メインパス150のSelect bit が「VID変換」の場合はVLAN TagのVIDの更新を行う(ステップS203)。また、VLAN変換処理部114は、メインパス150のSelect bit が「VID付与」の場合はVLAN Tagの追加を行う(ステップS204)。また、VLAN変換処理部114は、メインパス150のSelect bit が「VID削除」の場合はVLAN Tagの削除を行う(ステップS205)。
【0036】
一方、VLAN変換処理部114は、パケットの転送先のパスがバックアップパス170である場合には(ステップS201でNO)、パス選択テーブル115のバックアップパス170のSelect bitをチェックする(ステップS206)。VLAN変換処理部114は、バックアップパス170のSelect bit が「NOP」の場合は処理を終了する。また、VLAN変換処理部114は、バックアップパス170のSelect bit が「VID変換」の場合はVLAN TagのVIDの更新を行う(ステップS207)。また、VLAN変換処理部114は、バックアップパス170のSelect bit が「VID付与」の場合はVLAN Tagの追加を行う(ステップS208)。また、VLAN変換処理部114は、バックアップパス170のSelect bit が「VID削除」の場合はVLAN Tagの削除を行う(ステップS209)。
【0037】
次に、パケットのクラス割り当ておよびVLANIDの変換を行う場合の実施例について説明する。図9は、パス選択処理部112とクラス割り当て制御部113とVLAN変換処理部114の動作の一例を説明するための図である。PE100、PE200およびPE300の構成は図1で説明したものと同様であるので説明を省略する。図9に示すように、この例ではユーザAとユーザBがバックアップパス170を共用する例である。また、この例では、ユーザAからの入力パケットはVLANIDが「10」であり、ユーザBからの入力パケットもVLANIDが「10」であるとする。この場合、入力パケットをそのままの形式で転送するとCard104でパケットが混在してしまい、Card302からCard305またはCard302からCard307へパケットを分離できない場合ある。この問題を解決するために、Card101およびCard102において、各入力パケットのVLAN ID「10」をそれぞれ、「20」と「30」に書き換える。また、Card302ではVLAN ID「20」と「30」をもとに転送先を判別した後、元のVLAN ID「10」に戻す。以下、Card101とCard302におけるクラス割り当て制御部113とVLAN変換処理部114の動作について説明する。
【0038】
図10は、パス選択処理部112とクラス割り当て制御部113とVLAN変換処理部114の処理の流れを説明するための図である。図10に示すように、まず、入力パケットはフロー識別部111でフロー番号が決定される。図10の例では、Customer VLAN IDが「10」のパケットが入力された場合、フロー識別部111でフロー番号が「100」と判定されたとする。次に、パス選択処理部112は、フロー番号「100」をアドレスとしてパス選択テーブル115を参照し、メインパス150のリンク番号「200」とバックアップパス170のリンク番号「300」を取得する。パス選択処理部112は、取得したリンク番号をアドレスとして、リンク状態テーブル116のリンク状態およびN:1状態を取得する。次に、パス選択処理部112はパスの選択を行う。この例では、パス選択処理部112は、メインパス150のリンク番号「200」は「1」(非活性)、バックアップパスのリンク番号「300」は「0」(活性)となっているため、バックアップパス(転送先カード番号104、転送先ポート番号2)が選択される。
【0039】
また、クラス割り当て制御部113は、リンク番号「300」はバックアップパス170が共用されている状態であるため、パス選択テーブル115を参照し、バックアップパス170のクラス番号「4」を選択する。また、クラス割り当て制御部113は、クラス割り当てテーブル117を参照し、入力パケットのPCPビットが「2」であるため、クラス情報を「Middle」に選択する。
【0040】
VLAN変換処理部114は、パス選択テーブル115のSビットが「VID変換」となっているため、入力パケットのCVLAN ID「10」を「20」に変換する。その後、入力パケットは、クラス割り当て制御部113で割り当てられたクラスをもとに、クラスキュー管理部120内にある出力インタフェース毎のMiddleクラスキューにパケットにバッファリングされる。その後、クラスキュー管理部120は、SPQに従って出力パケットインタフェースへパケットを転送する。例えば、Highクラスキューにパケットが存在している場合は、Highクラスのパケットが優先的に転送され、Highクラスキューが空になった時点でMiddleクラスキューのパケットが転送される。なお、この例ではSPQとしているが、WRR(Weighted Round Robin)としてもよい。
【0041】
図11は、図10の例におけるパス選択処理部112とクラス割り当て制御部113とVLAN変換処理部114の動作の処理フローを示す図である。図11の処理フローの各ステップは、図7,図8の処理フローと同様であるので詳細な説明は省略する。図11において、実線で示した処理の流れはCard101内部での処理順序を示し、破線で示した処理の流れはCard302内部での処理順序を示している。Card101内部では、まず、パス選択処理部112は、メインパス150のValidが「1」であるか否かを判定する(ステップS101)。図10のパス選択テーブル115に示すように、メインパス150のValidは「1」であるので、パス選択処理部112は、バックアップパス170のValidが「1」であるか否かを判定する(ステップS105)。図10のパス選択テーブル115に示すように、バックアップパス170のValidは「1」であるので、パス選択処理部112は、メインパス150のリンクが活性であるか否かを判定する(ステップS107)。図10のリンク状態テーブル116に示すように、メインパス150のリンクは非活性であるので、パス選択処理部112は、バックアップパス170のリンクが活性であるか否かを判定する(ステップS108)。図10のリンク状態テーブル116に示すように、バックアップパス170のリンクは活性であるので(ステップS108でYES)、パス選択処理部112は、バックアップパス170を選択する(ステップS104)。
【0042】
続いて、クラス割り当て制御部113は、バックアップパス170のN:1状態が「1」であるか否かを判定する(ステップS110)。図10のリンク状態テーブル116に示すように、バックアップパス170のN:1状態は「1」であるので(ステップS110でYES)、クラス割り当て制御部113はバックアップパス170のクラス割り当てテーブル117を参照する。そして、クラス割り当て制御部113は、PCPビット「2」に対応する「Middle」クラスを選択する(ステップS111)。
【0043】
続いて、VLAN変換処理部114は、パケットの転送先のパスがメインパス150であるか否かを判定する(ステップS201)。ここでは、パケットの転送先のパスはバックアップパス170であるため(ステップS201でNO)、VLAN変換処理部114は、パス選択テーブル115のバックアップパス170のSelect bitをチェックする(ステップS206)。図10のパス選択テーブル115に示すように、バックアップパス170のSelect bitは「1」であり「VID変換」であるため、VLAN変換処理部114は、VLAN TagのVIDを「10」から「20」に更新する(ステップS207)。
【0044】
一方、Card302内部では、まず、パス選択処理部112は、メインパス150のValidが「1」であるか否かを判定する(ステップS101)。ここでは、メインパス150のValidは「1」であるので(ステップS101でYES)、パス選択処理部112は、バックアップパスのValidが「1」であるか否かを判定する(ステップS105)。ここでは、バックアップパスの構成はない、つまりValidは「0」であるので(ステップS105でNO)、パス選択処理部112は、メインパス150を選択する(ステップS106)。
【0045】
続いてCard302内部では、VLAN変換処理部114は、パケットの転送先のパスがメインパス150であるか否かを判定する(ステップS201)。ここでは、パケットの転送先のパスはメインパス150であるため(ステップS201でYES)、VLAN変換処理部114は、パス選択テーブル115のメインパス150のSelect bitをチェックする(ステップS202)。ここでは、パス選択テーブル115のメインパス150のSelect bitが「1」であり「VID変換」であるため、VLAN変換処理部114は、VLAN TagのVIDを「20」から「10」に更新する(ステップS203)。
【0046】
次に、パケットのクラス割り当てを行いVLANIDの変換を行わない場合の実施例について説明する。図12は、パス選択処理部112とクラス割り当て制御部113とVLAN変換処理部114の動作を説明するための図である。PE100、PE200およびPE300の構成は図1で説明したものと同様であるので説明を省略する。図12に示すように、この例ではユーザAとユーザBがバックアップパス170を共用する例である。また、この例では、ユーザAからの入力パケットはVLANIDが「20」であり、ユーザBからの入力パケットはVLANIDが「30」であるとする。この例のように複数のユーザ(フロー)でバックアップパス170を共用する場合でもバックアップパス170における各フローが識別できる場合(ユーザAのVLAN IDは「20」、ユーザBのVLAN IDは「30」)は、入力パケットのVLAN IDを変換しない。以下、Card101とCard302におけるクラス割り当て制御部113とVLAN変換処理部114の動作について説明する。
【0047】
図13は、図12の例におけるパス選択処理部112とクラス割り当て制御部113とVLAN変換処理部114の動作の処理フローを示す図である。図13において、実線で示した処理の流れはCard101内部での処理順序を示し、破線で示した処理の流れはCard302内部での処理順序を示している。なお、図13の処理フローの各ステップは、図7,図8の処理フローと同様であるので詳細な説明は省略する。また、Card101内部およびCard302内部におけるパス選択処理部112とクラス割り当て制御部113の処理については、図11で説明した処理と同様であるので説明を省略する。
【0048】
Card101内部において、VLAN変換処理部114は、パケットの転送先のパスがメインパス150であるか否かを判定する(ステップS201)。ここでは、パケットの転送先のパスはバックアップパス170であるため(ステップS201でNO)、VLAN変換処理部114は、パス選択テーブル115のバックアップパス170のSelect bitをチェックする(ステップS206)。ここでは、バックアップパス170のSelect bitは「0」であり「NOP」であるため、VLAN変換処理部114は、処理を終了する。
【0049】
一方、Card302内部では、VLAN変換処理部114は、パケットの転送先のパスがメインパス150であるか否かを判定する(ステップS201)。ここでは、パケットの転送先のパスはメインパス150であるため(ステップS201でYES)、VLAN変換処理部114は、パス選択テーブル115のメインパス150のSelect bitをチェックする(ステップS202)。ここでは、パス選択テーブル115のメインパス150のSelect bitが「0」であり「NOP」であるため、VLAN変換処理部114は、処理を終了する。
【0050】
次に、パケットのクラス割り当てを行いVLANIDの付加および削除を行う場合の実施例について説明する。図14は、パス選択処理部112とクラス割り当て制御部113とVLAN変換処理部114の動作を説明するための図である。PE100、PE200およびPE300の構成は図1で説明したものと同様であるので説明を省略する。図14に示すように、この例ではユーザAとユーザBがバックアップパス170を共用する例である。また、この例では、ユーザAからの入力パケットはVLANIDが「10」であり、ユーザBからの入力パケットもVLANIDが「10」であるとする。この場合、入力パケットをそのままの形式で転送するとCard104でパケットが混在してしまい、Card302からCard305またはCard302からCard307へパケットを分離できない場合ある。この問題を解決するために、Card101およびCard102において、各入力パケットのVLAN ID「10」の直前にそれぞれ、新規の「20」と「30」を付け加えて多重タグする。また、Card302ではVLAN ID「20」と「30」をもとに転送先を判別した後、VLAN ID「20」と「30」を削除する。以下、Card101とCard302におけるクラス割り当て制御部113とVLAN変換処理部114の動作を動作について説明する。
【0051】
図15は、図14の例におけるパス選択処理部112とクラス割り当て制御部113とVLAN変換処理部114の動作の処理フローを示す図である。図15において、実線で示した処理の流れはCard101内部での処理順序を示し、破線で示した処理の流れはCard302内部での処理順序を示している。なお、図15の処理フローの各ステップは、図7,図8の処理フローと同様であるので詳細な説明は省略する。また、Card101内部およびCard302内部におけるパス選択処理部112とクラス割り当て制御部113の処理については、図11で説明した処理と同様であるので説明を省略する。
【0052】
Card101内部において、VLAN変換処理部114は、パケットの転送先のパスがメインパス150であるか否かを判定する(ステップS201)。ここでは、パケットの転送先のパスはバックアップパス170であるため(ステップS201でNO)、VLAN変換処理部114は、パス選択テーブル115のバックアップパス170のSelect bitをチェックする(ステップS206)。ここでは、バックアップパス170のSelect bitは「2」であり「VID付与」であるため、VLAN変換処理部114は、VLAN TagのVID「10」に対してVLAN TagのVID「20」を付け加える(ステップS208)。
【0053】
一方、Card302内部では、VLAN変換処理部114は、パケットの転送先のパスがメインパス150であるか否かを判定する(ステップS201)。ここでは、パケットの転送先のパスはメインパス150であるため(ステップS201でYES)、VLAN変換処理部114は、パス選択テーブル115のメインパス150のSelect bitをチェックする(ステップS202)。ここでは、パス選択テーブル115のメインパス150のSelect bitが「3」であり「VID削除」であるため、VLAN変換処理部114は、VLAN TagのVID「20」を削除する(ステップS205)。
【0054】
以上、本実施例の通信装置および通信方法によれば、メインパス150とバックアップパス170で異なるクラス割り当てが可能となる。つまり、本実施例の通信装置および通信方法によれば、バックアップパス170用に異なるクラスを割り当てすることが可能となるので、バックアップパス170を共用するフローに対して優先度の異なるサービスを提供することが可能となる。本実施例の通信装置および通信方法によれば、例えばユーザAは高優先サービスであり、ユーザBは中優先サービスであり、両方ともバックアップ回線の提供を受けるが、提供サービスに優劣を付けることが可能となる。また、本実施例の通信装置および通信方法は、メインパス150とバックアップパス170で個別のクラス割り当てを選択できる。これに加えて、本実施例の通信装置および通信方法は、複数のユーザ(フロー)がバックアップパス170を共有する場合のみバックアップパス専用のクラス割り当てを使用することができる。
【0055】
また、本実施例の通信装置および通信方法は、バックアップパス170において、異なるユーザのVLANフローが混在する場合、フロー識別のための新規VLAN IDの適用が可能となる。すなわち、本実施例の通信装置および通信方法は、入力パケットのパス識別子(VLAN ID)を変換、または入力パケットにパス識別子を付与することにより、同一のパス識別子を持つパケットのフローを識別することができる。また、パス識別子の変換はバックアップパスの区間のみの適用であるから、ユーザに対してネットワーク内におけるVLAN IDの書き換えを意識させずに、同一のパス識別子を持つパケットのフローを識別することができる。
【0056】
また、本実施例の通信装置および通信方法は、クラス割り当てテーブル117にメインパス150,160、およびバックアップパス170に送信するパケットに割り当てるクラスを記憶させるので、簡易な構成でクラス割り当て処理を行うことができる。また、本実施例の通信装置および通信方法は、パス選択テーブル115にバックアップパス170にパケットを送信する際の変換用または付加用のパス識別子を記憶させるので、簡易な構成でパス識別子の変換または付加を行うことができる。また、本実施例の通信装置および通信方法は、メインパス150,160以外のパスがバックアップパス170にのみパスを張り、ベストエフォート型のサービスを提供するので、バックアップパス170を効率的に使用することができる。
【符号の説明】
【0057】
100 通信装置
110 パケット転送処理部
111 フロー識別部
112 パス選択処理部
113 クラス割り当て制御部
114 VLAN変換処理部
115 パス選択テーブル
116 リンク状態テーブル
117 クラス割り当てテーブル
120 クラスキュー管理部
150,160メインパス
170 バックアップパス
500 通信システム

【特許請求の範囲】
【請求項1】
他の通信装置にパケットを送信する際に利用する常用通信路に障害が発生したか否かを判定する障害判定部と、
前記障害判定部によって前記常用通信路に障害が発生したと判定された場合には、前記常用通信路に設けられたバックアップ通信路をパケット送信用の通信路として選択する通信路選択処理部と、
前記通信路選択処理部によって前記バックアップ通信路が選択された場合には、前記バックアップ通信路が他の常用通信路のバックアップ通信路として共用されるか否かを判定する共用判定部と、
前記共用判定部によって前記バックアップ通信路が共用されると判定された場合には、前記常用通信路から前記バックアップ通信路に送られるパケットの優先度割り当てを変更する優先度変更処理部と、
前記優先度変更処理部によって変更された優先度に応じて前記パケットの送信を制御する送信制御部と
を備えたことを特徴とする通信装置。
【請求項2】
前記共用判定部によって前記バックアップ通信路が共用されると判定された場合には、前記常用通信路の識別子と前記他の常用通信路の識別子とが一致するか否かを判定する識別子判定部と、
前記識別子判定部によって前記識別子が一致すると判定された場合には、前記常用通信路から前記バックアップ通信路に送られるパケットに付加される前記常用通信路の識別子を変更する識別子変更処理部とを
さらに備えたことを特徴とする請求項1に記載の通信装置。
【請求項3】
前記常用通信路用の優先度と前記バックアップ通信路用の優先度とが記憶された優先度記憶部をさらに備え、
前記優先度変更処理部は、前記共用判定部によって前記バックアップ通信路が共用されると判定された場合には、前記優先度記憶部から前記バックアップ通信路用の優先度を読み出し、該読み出したバックアップ通信路用の優先度に基づいて前記パケットの優先度割り当てを変更する
ことを特徴とする請求項1に記載の通信装置。
【請求項4】
前記バックアップ通信路用の識別子が記憶された識別子記憶部をさらに備え、
前記識別子変更処理部は、前記識別子判定部によって前記識別子が一致すると判定された場合には、前記識別子記憶部から前記バックアップ通信路用の識別子を読み出し、前記読み出したバックアップ通信路用の識別子を前記パケットに付加される前記常用通信路の識別子と置き換えるか、または、前記読み出したバックアップ通信路用の識別子を前記パケットに付加される前記常用通信路の識別子に付加することを特徴とする請求項2に記載の通信装置。
【請求項5】
前記送信制御部は、前記常用通信路および前記他の通信路とは異なる通信路から前記バックアップ通信路に送られるパケットをベストエフォートで送信制御する請求項1に記載の通信装置。
【請求項6】
他の通信装置にパケットを送信する際に利用する常用通信路に障害が発生したか否かを判定する障害判定工程と、
前記障害判定工程によって前記常用通信路に障害が発生したと判定された場合には、前記常用通信路に設けられたバックアップ通信路をパケット送信用の通信路として選択する通信路選択処理工程と、
前記通信路選択処理工程によって前記バックアップ通信路が選択された場合には、前記バックアップ通信路が他の常用通信路のバックアップ通信路として共用されるか否かを判定する共用判定工程と、
前記共用判定工程によって前記バックアップ通信路が共用されると判定された場合には、前記常用通信路から前記バックアップ通信路に送られるパケットの優先度割り当てを変更する優先度変更処理工程と、
前記優先度変更処理工程によって変更された優先度に応じて前記パケットの送信を制御する送信制御工程と
を備えたことを特徴とする通信方法。
【請求項7】
前記共用判定工程によって前記バックアップ通信路が共用されると判定された場合には、前記常用通信路の識別子と前記他の常用通信路の識別子とが一致するか否かを判定する識別子判定工程と、
前記識別子判定工程によって前記識別子が一致すると判定された場合には、前記常用通信路から前記バックアップ通信路に送られるパケットに付加される前記常用通信路の識別子を変更する識別子変更処理工程とを
さらに備えたことを特徴とする請求項6に記載の通信方法。
【請求項8】
前記常用通信路用の優先度と前記バックアップ通信路用の優先度とが記憶された優先度記憶部をさらに備え、
前記優先度変更処理工程は、前記共用判定工程によって前記バックアップ通信路が共用されると判定された場合には、前記優先度記憶部から前記バックアップ通信路用の優先度を読み出し、該読み出したバックアップ通信路用の優先度に基づいて前記パケットの優先度割り当てを変更する
ことを特徴とする請求項6に記載の通信方法。
【請求項9】
前記バックアップ通信路用の識別子が記憶された識別子記憶部をさらに備え、
前記識別子変更処理工程は、前記識別子判定工程によって前記識別子が一致すると判定された場合には、前記識別子記憶部から前記バックアップ通信路用の識別子を読み出し、前記読み出したバックアップ通信路用の識別子を前記パケットに付加される前記常用通信路の識別子と置き換えるか、または、前記読み出したバックアップ通信路用の識別子を前記パケットに付加される前記常用通信路の識別子に付加することを特徴とする請求項7に記載の通信方法。
【請求項10】
前記送信制御工程は、前記常用通信路および前記他の通信路とは異なる通信路から前記バックアップ通信路に送られるパケットをベストエフォートで送信制御する請求項6に記載の通信方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6A】
image rotate

【図6B】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate