(57)【要約】【課題】広帯域なネットワークであっても、障害時に高速なパス切替を実行することを課題とする。【解決手段】パケット処理装置は、ワークパスまたはプロテクションパスで対向装置と接続される複数のIFユニットと、複数のIFユニットそれぞれをデータバスで接続するSWとを有する。そして、パケット処理装置は、対向装置から送信されたパケットが複数のIFユニットのいずれかのIFユニットによって受信された場合に、当該パケットが対抗装置との接続状態を監視する監視パケットであるか否かを判定する。その後、パケット処理装置は、受信したパケットが監視パケットであると判定された場合に、SWを介したデータバスを用いて、複数のIFユニットに監視パケットを送信する。【選択図】図１
2010239593.tif 000002
【特許請求の範囲】
【請求項１】
ワークパスまたはプロテクションパスで対向装置と接続される複数の通信接続手段と、
前記複数の通信接続手段それぞれをデータバスで接続する接続手段と、
前記対向装置から送信されたパケットが前記複数の通信接続手段のいずれかの通信接続手段によって受信された場合に、当該パケットが対抗装置との接続状態を監視する監視パケットであるか否かを判定する判定手段と、
前記判定手段によって監視パケットであると判定された場合に、前記接続手段を介したデータバスを用いて、前記複数の通信接続手段に前記監視パケットを送信する送信手段と、
を有することを特徴とするパケット処理装置。
【請求項２】
前記送信手段は、前記複数の通信接続手段にブロードキャストで前記監視パケットを送信することを特徴とする請求項１に記載のパケット処理装置。
【請求項３】
前記判定手段は、前記受信されたパケットが監視パケットである場合に、当該監視パケットの宛先である通信接続手段をさらに特定し、
前記送信手段は、前記判定手段によって特定された通信接続手段に対してのみ、前記監視パケットをマルチキャストで送信することを特徴とする請求項１に記載のパケット処理装置。
【請求項４】
前記複数の通信接続手段それぞれは、複数のワークパスまたは複数のプロテクションパスを収容するリンクを複数有し、複数のリンクそれぞれで対向装置と接続するものであって、
前記リンクそれぞれに対応付けて、当該リンクを共有する前記通信接続手段を特定する情報を示す通信接続情報を記憶する記憶手段をさらに有し、
前記送信手段は、前記監視パケットが受信されたリンクに対応する通信接続情報を前記記憶手段から特定し、特定した通信接続情報に基づいて前記監視パケットを送信することを特徴とする請求項１に記載のパケット処理装置。
【請求項５】
制御ユニットと制御バスで接続され、他のインタフェースユニットと接続されるスイッチとデータバスで接続されるインタフェースユニットであって、
対向装置からパケットを受信した場合に、当該パケットが対抗装置との接続状態を監視する監視パケットであるか否かを判定する判定手段と、
前記判定手段によって監視パケットであると判定された場合に、前記データバスで接続されるスイッチに対して、前記監視パケットを送信する送信手段と、
を有することを特徴とするインタフェースユニット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パケット処理装置およびインタフェースユニットに関する。
【背景技術】
【０００２】
近年、メトロイーサネット（登録商標）など広帯域ネットワーク網において、低コスト、高速性と共に、高い信頼性や品質が求められているため、ＳＯＮＥＴ（Synchronous  Optical  NETwork）／ＳＤＨ（Synchronous  Digital  Hierarchy）のような障害回復、冗長性の確保が必要となっている。
【０００３】
従来のネットワークでは、図１１のように、ネットワーク内の各リンクには複数のフロー（パス）が張られており、このフロー単位で障害監視を行い、障害発生時にはWorkパスからProtectionパスへの系の切り替えを行っている。なお、図１１のような従来のネットワークでは、装置間には複数のリンクが張られており。１つのリンクには数百本のフローが張られているのが一般的である。
【０００４】
このような従来のネットワークにおける障害監視は、各装置で行い、障害発生時の系の切り替えは、装置内の上流IFユニットへ監視パケット（障害情報）を通知し、上流IFユニットでこの監視パケットをチェックすることで実現している。
【０００５】
例えば、図１２に示すように、装置Ａは、IFユニット（#6）を介したWorkパス、IFユニット（#7）を介したProtectionパスによって、装置Ｂとの間が接続されている例で説明する。この場合、装置Ａのイングレス側UnitであるIFユニット（#6）やIFユニット（#7）は、例えば、自ユニットに入力された受信パケットがService-OAMのCCのような監視パケットであるか、通常のデータパケット（図１３参照）であるかを識別する。さらに、当該パケットがCPU（Central  Processing  Unit）宛か否かの情報とフロー単位に割り当てられた番号（フローID）を取得する。なお、Service-OAMのCCとは、「Service-Operations  Administration  MaintenanceのContinuity  Check」のことを示している。
【０００６】
そして、IFユニット（#6）やIFユニット（#7）は、入力パケットが監視パケットであると識別された場合、図１３の（１）に示すフロー識別と転送先制御が実行される。具体的には、IFユニット（#6）やIFユニット（#7）は、制御バス経由で自Unit内のCPUに、フローIDを付与した監視パケットを転送する。続いて、IFユニット（#6）やIFユニット（#7）のCPUそれぞれは、制御バスで接続されるMCUユニットを介して、フローIDをもとに特定された１つの上流ユニットであるIFユニット（#1）へ監視パケットを送信する。そして、IFユニット（#1）は、受信した監視パケットからWorkパスに障害発生したことを検出すると、WorkパスとProtectionパスとの切替を実行してデータ制御を行う。
【０００７】
一方、IFユニット（#6）やIFユニット（#7）は、入力パケットがデータパケットであると識別された場合、図１３の（２）に示すフロー識別と転送先制御が実行される。具体的には、イングレス側UnitであるIFユニット（#6）やIFユニット（#7）は、データパケットと識別されるとフローIDをもとに特定された１つの上流ユニットであるIFユニット（#1）に対して、データバス経由でデータパケットを送信する。このように、従来の処理では対象となる上流IFユニットに対して、低速な制御バス上で監視パケットをユニキャスト転送する。
【０００８】
また、上流IFユニットが複数ある場合、つまり、１つのWorkパスや１つのIFユニットを複数の上流IFユニットが利用している場合についても、同様にパス切替処理を行うことができる。例えば、図１４に示すように、イングレス側UnitであるIFユニット（#6）は、受信した監視パケットをMCU（Micro  Control  Unit）ユニットへ送信し、MCUユニットは、受信した監視パケットの宛先をパケットのヘッダなどから検出し、受信した監視パケットのコピーを宛先分作成する。そして、MCUユニットは、検出したパケットの宛先であるエグレス側IFユニットであるIFユニット（#1、#2、#4）に、作成した監視パケットを送信する。そして、IFユニット（#1、#2、#4）のそれぞれは、受信した監視パケットからWorkパスに障害発生したことを検出すると、WorkパスとProtectionパスとの切替を実行してデータ制御を行う。
【０００９】
このようにして、従来のネットワークでは、WorkパスとProtectionパスとを切替えるパスプロテクションを実行している。なお、図１２および図１４で説明した監視パケットがエグレス側IFユニット（上流IFユニット）へ転送される経路、つまり、イングレス側Unit〜MCUユニット〜エグレス側IFユニットの経路は、数百Mbps程度の制御系バスが一般的に用いられる。また、IFユニット内の各処理部も数百Mbps程度の制御系バスで接続されている。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２００８−２１１７０４号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
しかしながら、上記した従来の技術では、ネットワーク内の装置が増大し、障害監視対象となるフローも増大した現代のネットワークでは、障害時に高速なパス切替を実行することができないという課題があった。
【００１２】
具体的には、現代のネットワークは、図１５に示すように、装置間には複数のリンクが張られ、１つのリンクには数万本のフローが張られている。このようにネットワーク内の装置数も増加しているため、障害監視対象となるフローも増大しており、全てのフローに対する監視パケットを装置内の上流の複数のIFユニットへ通知するためには時間がかかる。そのため、全フローに対するWorkパスからProtectionパスへのパス切り替えを行った場合、要求された障害回復時間を満足できない。
【００１３】
また、ここでの２重化（WorkまたはProtection）は、リンク（ポート）単位ではなく、フロー単位であるため、監視用パケットもフロー単位に１つ付与される。このため、フロー数が多いと監視用パケットも多くなり、CPUに対して膨大な監視パケットが転送され、CPUが処理するメッセージ時間やCPU負荷も莫大となり、障害情報の通知速度が低下する。その結果、一斉にパス切り替えが発生するような場合、CPUの負荷も高くなり、本来ネットワーク品質を保証するための高速な切り替えを実現できない。
【００１４】
このように、パスの切り替えだけでもCPUの負荷が高くなるため、本来CPUが行っていた統計情報の収集や制御情報の送受信などの通常処理にも影響を及ぼす。また、CPUの負荷を軽減するためにスペックを上げることは、現状の装置構成の変更やCPU自体のコストアップに繋がるため現実的ではない。
【００１５】
開示の技術は、上記に鑑みてなされたものであって、広帯域なネットワークであっても、障害時に高速なパス切替を実行することが可能であるパケット処理装置およびインタフェースユニットを提供することを目的とする。
【課題を解決するための手段】
【００１６】
本願の開示するパケット処理装置は、ワークパスまたはプロテクションパスで対向装置と接続される複数の通信接続手段と、前記複数の通信接続手段それぞれをデータバスで接続する接続手段と、前記対向装置から送信されたパケットが前記複数の通信接続手段のいずれかの通信接続手段によって受信された場合に、当該パケットが対抗装置との接続状態を監視する監視パケットであるか否かを判定する判定手段と、前記判定手段によって監視パケットであると判定された場合に、前記接続手段を介したデータバスを用いて、前記複数の通信接続手段に前記監視パケットを送信する送信手段と、を有することを特徴とする。
【発明の効果】
【００１７】
本願の開示するパケット処理装置の一つの態様によれば、広帯域なネットワークであっても、障害時に高速なパス切替を実行することが可能であるという効果を奏する。
【図面の簡単な説明】
【００１８】
【図１】図１は、実施例１に係るパケット処理装置の全体構成を示す図である。
【図２】図２は、IFユニットの構成を示すブロック図である。
【図３】図３は、実施例１に係るパケット処理装置におけるイングレス側IFユニットの処理の流れを示すフローチャートである。
【図４】図４は、実施例１に係るパケット処理装置におけるエグレス側IFユニットの処理の流れを示すフローチャートである。
【図５】図５は、実施例２に係るパケット処理装置の全体構成を示す図である。
【図６】図６は、実施例２に係るパケットの処理フローを簡単に説明した図である。
【図７】図７は、実施例２に係るパケット処理装置におけるイングレス側IFユニットの処理の流れを示すフローチャートである。
【図８】図８は、実施例２に係るパケット処理装置におけるエグレス側IFユニットの処理の流れを示すフローチャートである。
【図９】図９は、実施例３に係るパケット処理装置を示す図である。
【図１０】図１０は、パケット処理プログラムを実行するコンピュータシステムの例を示す図である。
【図１１】図１１は、従来のネットワークを示す図である。
【図１２】図１２は、従来のネットワークにおけるパケット処理装置の関係を示す図である。
【図１３】図１３は、従来のパケットの処理フローを示す図である。
【図１４】図１４は、従来のパケット処理装置を示す図である。
【図１５】図１５は、広帯域なネットワークを示す図である。
【発明を実施するための形態】
【００１９】
以下に、本願の開示するパケット処理装置およびインタフェースユニットの実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【実施例１】
【００２０】
本願が開示するパケット処理装置を有するネットワーク（図１５参照）は、パケット処理装置間に複数のリンクが張られ、１つのリンクには数万本のフローが張られている。また、パケット処理装置は、通常の運用時に使用するWorkパスで構成されるリンクや、Workパス障害時に使用するProtectionパスで構成されるリンクなど利用形態が異なる複数のリンクを用いて対向装置と接続する。例えば、パケット処理装置Ａとパケット処理装置Ｂとは、少なくともWorkパスで構成されるリンクとProtectionパスで構成されるリンクとの２つのリンクで接続される。
【００２１】
そして、WorkパスとProtectionパスとの両パスで対向装置と接続するパケット処理装置は、通常はWorkパスを用いて対向装置とデータ送受信を実行し、Workパスに障害が発生した場合には、Protectionパスを用いて対向装置とデータ送受信を実行するように制御する。このように、パケット処理装置は、パスプロテクションを実施することにより障害回復や冗長性の確保を実現し、低コスト、高速性、高い信頼性、高品質を実現している。
【００２２】
上述したパスプロテクションを実行するパケット処理装置１は、図１に示すように、MCUユニット２と、IFユニット（#1）〜IFユニット（#6）と、SW３と有して構成される。また、各IFユニットとSW３とは、数十Gbps程度の高速なデータバスで接続され、各IFユニットとMCUユニット２とは、数百Mbps程度の低速な制御バスで接続されている。図１は、実施例１に係るパケット処理装置の全体構成を示す図である。
【００２３】
このような構成を有するパケット処理装置１は、広帯域なネットワークであっても、障害時に高速なパス切替を実行することができる。具体的には、実施例１に係るパケット処理装置１は、WorkパスまたはProtectionパスで対向装置と接続される複数のIFユニットのいずれかのIFユニットによってパケットが受信された場合に、当該パケットのヘッダ情報などから当該パケットが監視パケットであるか否かを判定する。そして、実施例１に係るパケット処理装置１は、受信したパケットが監視パケットであると判定された場合に、低速な制御パスを用いたMCUユニット２経由ではなく、高速なデータバスを用いたSW３経由で、複数のIFユニットに監視パケットを送信する。
【００２４】
このように、実施例１に係るパケット処理装置１は、監視パケットであっても、データパケットと同様、制御バスはなくデータバスを用いて他のIFユニットに送信することができる。そのため、パケット処理装置間に複数のリンクが張られ、１つのリンクには数万本のフローが張られている広帯域なネットワークのように、装置間を流れるパケットが多くなっても、監視パケットを高速に他のIFユニットに出力することができる。したがって、パケット処理装置の各IFユニットは、障害時に高速にパス切替を実行することができる。
【００２５】
［パケット処理装置の構成］
次に、図１に示した実施例１に係るパケット処理装置の構成を説明する。図１に示すパケット処理装置１は、MCUユニット２と、IFユニット（#1）〜IFユニット（#6）と、SW３と有して構成される。ここでは、IFユニットが（#1）〜（#6）の計６台を図示した例を示したが、これはあくまで例であり、この数に限定されるものではない。
【００２６】
MCUユニット２は、パケット処理装置１としての制御プログラム、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有し、種々の処理を実行する。また、一般的に、MCUユニット２は、数百Mbps程度の低速な制御バスでIFユニット（#1）〜IFユニット（#6）やSW３と接続される。なお、MCUユニット２は、この低速な制御バスを用いて、各種の処理を実行する。
【００２７】
IFユニット（#1）〜IFユニット（#6）は、フローを介して対向装置との間でパケットの送受信を行ったり、パス切替を実行したりする処理部であり、詳細な説明は図２を用いて後述する。また、パケット処理装置１において、対向装置からパケットを受信したIFユニットをイングレス側ユニットと呼び、IFユニットからパケットが転送されるIFユニットをエングレス側ユニットと呼ぶ。また、一般的に、各IFユニットとSW３、各IFユニットとMCUユニット２とは、数十Gbps程度の高速なデータバスで接続される。
【００２８】
次に、図２を用いて、IFユニット（#1）〜IFユニット（#6）の構成について説明するが、IFユニット（#1）〜IFユニット（#6）は同様の構成を有するので、ここではIFユニット１０として説明する。図２は、IFユニットの構成を示すブロック図である。IFユニット１０は、図２に示すように、外部Ｉ／Ｆ１１と、内部Ｉ／Ｆ１２と、パケット処理部１３と、ＣＰＵ１４とを有する。
【００２９】
外部Ｉ／Ｆ１１は、他のパケット処理装置からパケットを受信したり、他のパケット処理装置にパケットを送信したりするインタフェースである。具体的には、外部Ｉ／Ｆ１１は、Workパスを収容するリンクや、Protectionパスを収容するリンクなど複数のリンクを有し、それぞれのリンク（パス、フロー）用いて対向装置と接続する。そして、外部Ｉ／Ｆ１１は、対向装置から送信されたデータパケットや監視パケットなど様々なパケットを受信して、後述するパケット処理部１３に出力する。また、外部Ｉ／Ｆ１１は、後述するパケット処理部１３から出力されたデータパケットや監視パケットなどを他のパケット処理装置に送信する。
【００３０】
なお、外部Ｉ／Ｆ１１は、対向装置と接続するパス（フロー）それぞれを特定するために、フロー１本１本に、フローIDを割り与えて管理している。例えば、外部Ｉ／Ｆ１１は、１００フローからなるリンクを１０個有している場合、リンク１のフロー１本目からリンク１０のフロー１００本目まで、フローIDを順に割り与えている。
【００３１】
内部Ｉ／Ｆ１２は、外部のパケット処理装置から受信したパケットを自装置内部の他のIFユニットへ送信したり、自装置内部の他のIFユニットからパケットを受信したりするインタフェースである。具体的には、内部Ｉ／Ｆ１２は、高速なデータバスで接続されるSW３を介して、自装置内部の他のIFユニットへ監視パケットやデータパケットを送信したり、自装置内部の他のIFユニットへ監視パケットやデータパケットを受信したりする。また、内部Ｉ／Ｆ１２は、自装置内部の他のIFユニットから受信した各種パケットを後述するパケット処理部１３に出力する。
【００３２】
パケット処理部１３は、他のパケット処理装置から受信したパケットや自装置内部の他のIFユニットから受信したパケットなどに対して、各種処理を実行する処理部であり、具体的には、フロー識別部１３ａと転送先制御部１３ｂとを有する。なお、パケット処理部１３は、どのパスがWorkパスであるのか、Protectionパスであるのかを示すパス情報１３ｃを記憶している。また、パケット処理部１３は、リンクに収容する各フローを一意に識別するフローIDと、当該フローにより接続されるIFユニットとを対応付けたフローテーブル１３ｄを記憶している。
【００３３】
例えば、パケット処理部１３は、「リンクID、フローID、状態」として「リンク１、1〜10、Work」、「リンク２、11〜30、Protection」、「リンク３、31〜100、Work」などのパス情報１３ｃを記憶しており、どのリンクが障害なのか識別でき、フロー単位でWorkなのかProtectionなのかを識別することができる。また、パケット処理部１３は、「フローID、IFユニット」として「01、#1」、「02、#2」・・・「100、#10」などをフローテーブル１３ｄとして記憶することで、フローIDからIFユニットを特定することができる。
【００３４】
フロー識別部１３ａは、外部Ｉ／Ｆ１１から受信したパケットの種別がS-OAM（CC）の監視パケット、データパケットであるかなどを識別する。また、フロー識別部１３ａは、内部Ｉ／Ｆ１２から受信したパケットからフロー単位に割り当てられた番号（フローID）を取得し、CPU１４宛かどうか（自ＩＦユニット宛がどうか）を判定したりする。
【００３５】
例えば、フロー識別部１３ａは、外部Ｉ／Ｆ１１により受信されたパケットのメタデータ（装置内部のみで使用されるパケット信号情報であり、図６のようにパケットの先頭に付与されるもの）や、パケットにおいてS-OAM値が含まれる「type」、CCのオプコードが含まれる「Op」などによって、受信パケットが監視パケットであるか否かを識別する。そして、フロー識別部１３ａは、受信パケットが監視パケットである場合には、当該監視パケットが受信されたフローのフローIDを監視パケットのメタデータなどに付与して、後述する転送先制御部１３ｂに転送する。また、フロー識別部１３ａは、受信パケットが監視パケットではなくデータパケットある場合にも、データパケットを後述する転送先制御部１３ｂに送信する。
【００３６】
また、フロー識別部１３ａは、他のIFユニットから送信された監視パケットからフローIDを取得し、フローテーブル１３ｄを参照して、当該フローIDが自ユニットが収容するフローであるか否かを判定する。そして、フロー識別部１３ａは、他のIFユニットから送信された監視パケットが自ユニットが収容するフローである場合、つまり、監視パケットが自ユニット宛の場合には、受信したパケットをCPU１４へ出力し、自ユニット宛でない場合には、パケットを破棄する。
【００３７】
転送先制御部１３ｂは、外部Ｉ／Ｆ１１により受信されたパケットが監視パケットであると識別された場合、データバス経由でSW３に転送する。具体的には、転送先制御部１３ｂは、フロー識別部１３ａにより監視パケットであると識別されたパケットを受信すると、低速な制御バスで接続されるMCUユニット２ではなく、高速なデータバスで接続されるSW３に受信した監視パケットを転送する。
【００３８】
また、転送先制御部１３ｂは、MCUユニット２やCPU１４から指示されたWorkパス（フローID）に対応するフローをフローテーブル１３ｄから特定し、特定したフローにデータパケットを送信したりもする。
【００３９】
CPU１４は、WorkパスとProtectionパスの接続状況をチェックしたり、WorkパスからProtectionパス、または、ProtectionパスからWorkパスへのパス切り替えを行ったりする。具体的には、CPU１４は、転送先制御部１３ｂを介して、ICMPパケット（例えば、PING）やOAMのCCパケットをWorkパスやProtectionパスに送信する。その後、CPU１４は、フロー識別部１３ａなどのパケット処理部１３から自CPU宛の監視パケットを受信した場合に、当該監視パケットのヘッダやペイロードなどから、どのパスで受信されたかを確認する。さらに、CPU１４は、当該監視パケットのヘッダやペイロードなどから、パスで異常が発生しているか否かを判別する。
【００４０】
なお、パスに異常が発生しているか否かの判断は、例えば、監視パケットを送信してから応答となるパケット受信するまでの時間や、監視パケットに異常を示す情報が含まれているか否かなど、一般的な手法を用いることで、異常を判断することができる。
【００４１】
そして、CPU１４は、異常が発生していると判断した場合には、当該監視パケットが受信されたWorkパスを収容するリンク内のフローを用いずに、Protectionパスを収容するリンク内のフローを用いてパケット転送を行うように、パケット処理部１３のパス情報１３ｃを変更する。このように、パスの切り替えは、フロー単位で実行される。障害が検出されたリンクが、物理回線によって実現されている場合、そのリンクに含まれる全てのWorkパスがProtectionパスへ即座に切り替えられる。
【００４２】
図１に戻り、SW３は、高速なデータバスを用いて、監視パケットやデータパケットをIFユニットへ転送する。具体的には、SW３は、IFユニットから監視パケットを受信した場合、監視パケットを複製し、高速なデータバスで接続される全てのIFユニットに対して、ブロードキャストで送信する。
【００４３】
また、SW３は、フローIDと当該フローが接続されるIFユニットを対応付けて、例えば、「フローID＝01、IFユニット＝IFユニット（#1）」などを記憶しておく。そして、SW３は、IFユニットからパケット（監視パケットまたはデータパケット）を受信した場合、当該パケットのヘッダなどに含まれるフローIDに対応するIFユニットを特定し、特定した宛先となるIFユニットにユニキャストでパケットを転送することもできる。
【００４４】
［パケット処理装置の処理］
次に、図３と図４を用いて、実施例１に係るパケット処理装置による処理の流れを説明する。図３は、実施例１に係るパケット処理装置におけるイングレス側IFユニットの処理の流れを示すフローチャートであり、図４は、実施例１に係るパケット処理装置におけるエグレス側IFユニットの処理の流れを示すフローチャートである。
【００４５】
（イングレス側IFユニットの処理の流れ）
図３に示すように、イングレス側IFユニットは、外部のパケット処理装置からパケットを受信すると（ステップＳ１０１肯定）、受信したパケットが監視パケットであるかデータパケットであるかを、受信したパケットのヘッダなどから判別する（ステップＳ１０２）。
【００４６】
そして、イングレス側IFユニットは、受信したパケットが監視パケットであると判別した場合（ステップＳ１０３肯定）、当該監視パケットが受信されたフローのフローIDを監視パケットに付与してSW３に送信し、SW３は、監視パケットを複製し、高速なデータバスで接続される全てのIFユニットに対して、ブロードキャストで送信する（ステップＳ１０４）。なお、このとき、SW３は、受信した監視パケットのヘッダなどに含まれるフローIDに対応するIFユニットを特定し、特定した宛先となるIFユニットにユニキャストでパケットを転送することもできる。
【００４７】
一方、イングレス側IFユニットは、受信したパケットが監視パケットでない、つまり、データパケットであると判別した場合（ステップＳ１０３否定）、当該データパケットが受信されたフローのフローIDをデータパケットに付与してSW３に送信し、SW３は、フローIDに対応するIFユニットにデータパケットを転送する（ステップＳ１０５とステップＳ１０６）。
【００４８】
（エグレス側IFユニットの処理の流れ）
図４に示すように、エグレス側IFユニットは、SW３から監視パケットを受信すると（ステップＳ２０１肯定）、受信した監視パケットのヘッダや監視パケットの内部メッセージの内容などから、当該パケットが自IFユニット宛か否かを判別する（ステップＳ２０２）。
【００４９】
そして、エグレス側IFユニットは、受信した監視パケットが自IFユニット宛であると判定し（ステップＳ２０３肯定）、当該パケットによって障害が発生していると判断した場合に（ステップＳ２０４肯定）、パス切替を実行する（ステップＳ２０５）。
【００５０】
一方、エグレス側IFユニットは、受信した監視パケットが自IFユニット宛でないと判定した場合（ステップＳ２０３否定）や当該パケットによって障害が発生していないと判断した場合（ステップＳ２０４否定）、処理を終了する。
【００５１】
［実施例１による効果］
このように、実施例１によれば、監視パケットであっても、データパケットと同様、制御バスではなくデータバスを用いて他のIFユニットに送信することができる。そのため、パケット処理装置間に複数のリンクが張られ、１つのリンクには数万本のフローが張られている広帯域なネットワークのように、装置間を流れるパケットが多くなっても、監視パケットを高速に他のIFユニットに出力することができる。したがって、パケット処理装置の各IFユニットは、障害時に高速にパス切替を実行することができる。
【００５２】
また、実施例１によれば、SW３は、ブロードキャストでIFユニットに監視パケットを送信することができるので、監視パケットの対象かどうかを識別する必要がないため、制御が簡単である。また、監視すべきフロー数が増大しても高速なデータバスを使用するため、低速な制御バスを使用したCPU経由のパス切り替えと比較するとパスの切り替えが非常に高速となる。また、従来の装置構成のままで高速なパス切り替えが実現できるため、CPUスペックを上げるよりもコスト削減が可能である。また、CPUへの負荷を軽減できるため、本来CPUが行っていた処理に影響を及ぼすことがない。
【実施例２】
【００５３】
ところで、実施例１では、監視パケットをブロードキャストでIFユニットに送信したり、ユニキャストでIFユニットに送信したりする例について説明したが、これ以外にも様々な手法で監視パケットをIFユニットに送信することができる。そこで、実施例２では、図５〜図８を用いて、監視パケットをマルチキャストでIFユニットに送信する例について説明する。
【００５４】
［パケット処理装置の全体構成（実施例２）］
実施例２に係るパケット処理装置のIFユニットは、実施例１と同様に、パス情報１３ｃとフローテーブル１３ｄとを有し、さらに、「フローID、マルチキャストID（MGID）」として「01、10」、「02、10」・・・「100、20」などを記憶するMGID情報テーブルを有する。そのため、IFユニットは、フローIDからMGIDを特定することができる。
【００５５】
また、実施例２に係るパケット処理装置のSW３は、「MGID、IFユニット」として「10、IFユニット（#1）〜（#10）」、「20、IFユニット（#11）〜（#20）」などを記憶するMGID-IFユニット関連テーブルを有している。そのため、SWは、MGIDからIFユニットを特定することができる。
【００５６】
このような構成を有する実施例２に係るパケット処理装置１は、受信されたパケットが監視パケットである場合に、当該監視パケットの宛先であるIFユニットをさらに特定し、特定されたIFユニットに対して、監視パケットを送信することができる。
【００５７】
具体的には、図５に示すように、IFユニット（#6）のパケット処理部では、受信した監視パケットからフローIDを取得し、当該フローIDからマルチキャストグループ番号（MGID）をフローテーブル１３ｄから取得する。そして、IFユニット（#6）は、図６に示すように、受信した監視パケットのメタデータに、取得したMGIDを付与してSW３に転送する。このときのパケット送信経路は高速なデータバスを使用する。なお、受信されたパケットが監視パケットではなくデータパケットである場合、IFユニット（#6）は、図６に示すように、従来と同様に、フローIDをデータパケットに付与してSW３に転送する。また、図５は、実施例２に係るパケット処理装置の全体構成を示す図であり、図６は、実施例２に係るパケットの処理フローを簡単に説明した図である。
【００５８】
SW３は、パケットに含まれるMGIDをもとに、MGID-IFユニット関連テーブルから宛先（
監視対象）となるIFユニット（IFユニット（#1）、IFユニット（#2）、IFユニット（#4））を特定し、特定したIFユニットにのみ監視パケットをマルチキャスト転送する。そして、監視対象となるIFユニット上のCPUは、WorkパスとProtectionパスの接続状況をチェックする。その後、監視対象となるIFユニット上のCPUは、自IFユニット内のパケット処理部のテーブル設定を変更することで、WorkパスからProtectionパス、またはProtectionパスからWorkパスへのパス切り替えを行う。
【００５９】
［パケット処理装置における処理の流れ（実施例２）］
次に、図７と図８を用いて、実施例２に係るパケット処理装置による処理の流れを説明する。図７は、実施例２に係るパケット処理装置におけるイングレス側IFユニットの処理の流れを示すフローチャートであり、図８は、実施例２に係るパケット処理装置におけるエグレス側IFユニットの処理の流れを示すフローチャートである。
【００６０】
（イングレス側IFユニットの処理の流れ）
図７に示すように、イングレス側IFユニットは、外部のパケット処理装置からパケットを受信すると（ステップＳ３０１肯定）、受信したパケットが監視パケットであるかデータパケットであるかを、受信したパケットのヘッダなどから判別する（ステップＳ３０２）。
【００６１】
そして、イングレス側IFユニットは、受信したパケットが監視パケットであると判別した場合（ステップＳ３０３肯定）、当該監視パケットが受信されたフローのフローIDからMGIDを特定し、監視パケットのペイロードなどに付与してSW３に送信する（ステップＳ３０４）。その後、SW３は、受信した監視パケットに含まれるMGIDに基づいて、宛先となるIFユニットを特定して、特定したIFユニットに対して、高速なデータバスでマルチキャスト送信する（ステップＳ３０５）。
【００６２】
一方、イングレス側IFユニットは、受信したパケットが監視パケットでない、つまり、データパケットであると判別した場合（ステップＳ３０３否定）、当該データパケットが受信されたフローのフローIDをデータパケットに付与してSW３に送信し、SW３は、フローIDに対応するIFユニットにデータパケットを転送する（ステップＳ３０６とステップＳ３０７）。
【００６３】
（エグレス側IFユニットの処理の流れ）
図８に示すように、エグレス側IFユニットは、SW３から監視パケットを受信すると（ステップＳ４０１肯定）、当該パケットによって障害が発生しているか否かを判断する（ステップＳ４０２）。なお、ブロードキャストで送信する実施例１とは異なり、マルチキャストで監視パケットが送信されるため、エグレス側IFユニットは、自装置宛の監視パケットしか受信しない。そのため、実施例１のように、受信した監視パケットが自IFユニット宛か否かを判断する必要がない。
【００６４】
そして、エグレス側IFユニットは、受信した監視パケットによって障害が発生していると判断した場合に（ステップＳ４０２肯定）、パス切替を実行する（ステップＳ４０３）。一方、エグレス側IFユニットは、当該パケットによって障害が発生していないと判断した場合（ステップＳ４０２否定）、処理を終了する。
【００６５】
［実施例２による効果］
このように、実施例２によれば、１つのフローに対して、１つの監視パケットではなく、同じルートを通るフローに対しては、代表として１つの監視パケットを用いることにより、さらにパスの切り替え時間の短縮を図ることが可能である。
【実施例３】
【００６６】
ところで、実施例１では、監視パケットをブロードキャストやユニキャストでIFユニットに送信し、実施例２では、マルチキャストで送信する例について説明したが、これ以外にも様々な手法で監視パケットをIFユニットに送信することができる。そこで、実施例３では、図９を用いて、監視パケットをIFユニットに送信する手法の例について説明する。なお、実施例３では、他のパケット処理装置から監視パケットを受信したと仮定して説明する。つまり、実施例３においても実施例１と２同様、受信したパケットが監視パケットであるかデータパケットであるかの処理が実行されるが、ここでは省略する。
【００６７】
図９は、実施例３に係るパケット処理装置を示す図である。実施例３に係るパケット処理装置は１つの監視パケットに複数のフローがマッピングされている場合、受信した監視パケットから複数のフロー（フローID）を特定する。そして、実施例３に係るパケット処理装置は、SWを制御して、特定した複数のフローのみに監視パケットを送信するようにすることもできる。
【００６８】
具体的には、図９の（１）のように、実施例３に係るパケット処理装置は、１つの監視パケット（#A）に複数のフローがマッピングされており、その情報を記憶しているとする。つまり、パケット処理装置は、どのIFユニットに受信された「Service  tagのフレーム」に、どのIFユニット宛の「Customer  tagのフレーム」がカプセリングされているかを記憶している。
【００６９】
このような構成を有する実施例３に係るパケット処理装置は、IFユニット（#1）、IFユニット（#2）、IFユニット（#4）に入力される「Customer  tagのフレーム＝Ctagフレーム」がカプリングされた１つの「Service  tagのフレーム＝Stagフレーム」をIFユニット（#6）で受信する。その場合、実施例３に係るパケット処理装置は、IFユニット（#6）で受信される「Stagフレーム」には、IFユニット（#1）、IFユニット（#2）、IFユニット（#4）の「Ctagフレーム」がカプセリングされていることを認識することができる。そのため、パケット処理装置は、高速なデータバスで接続されるSWを介して、IFユニット（#1）、IFユニット（#2）、IFユニット（#4）に対してのみ、監視パケット（Ctagフレーム）を送信することができる。
【００７０】
また、実施例３に係るパケット処理装置は１つのリンクに複数のフローがマッピングされている場合、受信した監視パケットから複数のフロー（フローID）を特定する。そして、実施例３に係るパケット処理装置は、SWを制御して、特定した複数のフローのみに監視パケットを送信するようにすることもできる。
【００７１】
具体的には、図９の（２）のように、実施例３に係るパケット処理装置は、各IFユニットが有する１つのリンク（#X）に複数のフローがマッピングされており、その情報を記憶しているとする。つまり、パケット処理装置は、監視パケットを受信したリンクから宛先となるIFユニットを特定できる情報を記憶している。例えば、実施例３に係るパケット処理装置は、IFユニット（#7）で受信された監視パケット（Ctagフレーム）のメンバがIFユニット（#1）、IFユニット（#4）、IFユニット（#5）であることを分かっている。
【００７２】
このような構成を有する実施例３に係るパケット処理装置は、IFユニット（#7）で監視パケットを受信した場合、当該監視パケットの宛先がIFユニット（#1）、IFユニット（#4）、IFユニット（#5）と認識することができる。そのため、パケット処理装置は、高速なデータバスで接続されるSWを介して、IFユニット（#1）、IFユニット（#4）、IFユニット（#5）に対してのみ、監視パケット（Ctagフレーム）を送信することができる。
【００７３】
このように、実施例３によれば、監視パケット数とフロー数、または、リンク数とフロー数を掛け合わせた分の障害情報をMCUで複製・転送する必要がある従来と比較して、各IFユニットに高速に監視パケットを転送することができる。その結果、障害時に高速にパス切替を実行することができる。
【実施例４】
【００７４】
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下に示すように、（モニタリング）、（異なるパスプロテクション単位）、（システム構成等）、（プログラム）にそれぞれ区分けして異なる実施例を説明する。
【００７５】
（モニタリング）
例えば、本願が開示するパケット処理装置は、複数のIFユニットと対向装置とのパス接続状況を記憶するパス接続記憶部（例えば、パス情報１３ｃ、フローテーブル１３ｄ、MGID情報テーブルなど）をディスプレイなどに表示するようにしてもよい。こうすることで、管理者などは、パス状況をリアルタイムに管理することができる。
【００７６】
（異なるパスプロテクション単位）
また、例えば、本願が開示するパケット処理装置は、パスプロテクションIDなどを設けることでパスプロテクションをグループ化し、複数のパスプロテクションを実現することもできる。その場合、本願が開示するパケット処理装置は、上記したＤＢやテーブルをパスプロテクションIDごとに設けることで、実施例１〜３と同様の処理を実現することができる。
【００７７】
（システム構成等）
また、本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【００７８】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合（例えば、フロー識別部と転送制御部とを統合するなど）して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【００７９】
（プログラム）
ところで、上記の実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することができる。そこで、以下では、上記の実施例と同様の機能を有するプログラムを実行するコンピュータシステムを他の実施例として説明する。
【００８０】
図１０は、パケット処理プログラムを実行するコンピュータシステムの例を示す図である。図１０に示すように、コンピュータシステム１００は、ＲＡＭ１０１と、ＨＤＤ１０２と、ＲＯＭ１０３と、ＣＰＵ１０４とから構成される。ここで、ＲＯＭ１０３には、上記の実施例と同様の機能を発揮するプログラムがあらかじめ記憶されている。つまり、図１０に示すように、フロー識別プログラム１０３ａと、転送先制御プログラム１０３ｂとがあらかじめ記憶されている。
【００８１】
そして、ＣＰＵ１０４には、これらのプログラム１０３ａと１０３ｂを読み出して実行することで、図１０に示すように、フロー識別プロセス１０４ａと、転送先制御プロセス１０４ｂとなる。なお、フロー識別プロセス１０４ａは、図２に示した、フロー識別部１３ａに対応し、同様に、転送先制御プロセス１０４ｂは、転送先制御部１３ｂに対応する。
【００８２】
また、ＨＤＤ１０２は、パス情報テーブル１０２ａ、フローテーブル１０２ｂなどを記憶する。なお、パス情報テーブル１０２ａは、図２に示したパス情報１３ｃに対応し、フローテーブル１０２ｂは、フローテーブル１３ｄに対応する。
【００８３】
ところで、上記したプログラム１０３ａと１０３ｂは、必ずしもＲＯＭ１０３に記憶させておく必要はなく、例えば、コンピュータシステム１００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＭＯディスク、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」の他に、コンピュータシステム１００の内外に備えられるハードディスクドライブ（ＨＤＤ）などの「固定用の物理媒体」、さらに、公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介してコンピュータシステム１００に接続される「他のコンピュータシステム」に記憶させておき、コンピュータシステム１００がこれらからプログラムを読み出して実行するようにしてもよい。
【００８４】
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
【００８５】
（付記１）ワークパスまたはプロテクションパスで対向装置と接続される複数の通信接続手段と、
前記複数の通信接続手段それぞれをデータバスで接続する接続手段と、
前記対向装置から送信されたパケットが前記複数の通信接続手段のいずれかの通信接続手段によって受信された場合に、当該パケットが対抗装置との接続状態を監視する監視パケットであるか否かを判定する判定手段と、
前記判定手段によって監視パケットであると判定された場合に、前記接続手段を介したデータバスを用いて、前記複数の通信接続手段に前記監視パケットを送信する送信手段と、
を有することを特徴とするパケット処理装置。
【００８６】
（付記２）前記送信手段は、前記複数の通信接続手段にブロードキャストで前記監視パケットを送信することを特徴とする付記１に記載のパケット処理装置。
【００８７】
（付記３）前記判定手段は、前記受信されたパケットが監視パケットである場合に、当該監視パケットの宛先である通信接続手段をさらに特定し、
前記送信手段は、前記判定手段によって特定された通信接続手段に対してのみ、前記監視パケットをマルチキャストで送信することを特徴とする付記１に記載のパケット処理装置。
【００８８】
（付記４）前記複数の通信接続手段それぞれは、複数のワークパスまたは複数のプロテクションパスを収容するリンクを複数有し、複数のリンクそれぞれで対向装置と接続するものであって、
前記リンクそれぞれに対応付けて、前記監視パケットの宛先となる通信接続情報を記憶する記憶手段をさらに有し、
前記送信手段は、前記監視パケットが受信されたリンクに対応する通信接続情報を前記記憶手段から特定し、特定した通信接続情報に基づいて前記監視パケットを送信することを特徴とする付記１に記載のパケット処理装置。
【００８９】
（付記５）前記複数の通信接続手段と前記対向装置とのパス接続状況を記憶するパス接続情報記憶手段と、
前記パス接続情報記憶手段に記憶される情報を表示する表示手段をさらに有することを特徴とする付記１に記載のパケット処理装置。
【００９０】
（付記６）前記監視パケットにより障害が発生したか否かを判断し、前記障害が発生したと判断した場合に、前記対向装置と接続するパスの切替を実行するパス切替手段をさらに有することを特徴とする付記１に記載のパケット処理装置。
【００９１】
（付記７）制御ユニットと制御バスで接続され、他のインタフェースユニットと接続されるスイッチとデータバスで接続されるインタフェースユニットであって、
対向装置からパケットを受信した場合に、当該パケットが対抗装置との接続状態を監視する監視パケットであるか否かを判定する判定手段と、
前記判定手段によって監視パケットであると判定された場合に、前記データバスで接続されるスイッチに対して、前記監視パケットを送信する送信手段と、
を有することを特徴とするインタフェースユニット。
【００９２】
（付記８）前記他のインタフェースユニットから監視パケット受信した場合に、当該監視パケットが自ユニット宛てであり、かつ、障害発生したことを示す監視パケットであるか否かを判定する障害判定手段と、
前記障害判定手段により監視パケットが自ユニット宛てであり、かつ、障害発生したことを示す監視パケットであると判定された場合に、前記対向装置と接続するパスの切替を実行するパス切替手段をさらに有することを特徴とする付記７に記載のインタフェースユニット。
【符号の説明】
【００９３】
１  パケット処理装置
２  ＭＣＵユニット
３  ＳＷ
１０  ＩＦユニット
１１  外部Ｉ／Ｆ
１２  内部Ｉ／Ｆ
１３  パケット処理部
１３ａ  フロー識別部
１３ｂ  転送先制御部
１３ｃ  パス情報
１３ｄ  フローテーブル
１００  コンピュータ装置
１０１  ＲＡＭ
１０２  ＨＤＤ
１０２ａ  パス情報テーブル
１０２ｂ  フローテーブル
１０３  ＲＯＭ
１０３ａ  フロー識別プログラム
１０３ｂ  転送先制御プログラム
１０４  ＣＰＵ
１０４ａ  フロー識別プロセス
１０４ｂ  転送先制御プロセス
【図１】
2010239593.tif 000003
【図２】
2010239593.tif 000004
【図３】
2010239593.tif 000005
【図４】
2010239593.tif 000006
【図５】
2010239593.tif 000007
【図６】
2010239593.tif 000008
【図７】
2010239593.tif 000009
【図８】
2010239593.tif 000010
【図９】
2010239593.tif 000011
【図１０】
2010239593.tif 000012
【図１１】
2010239593.tif 000013
【図１２】
2010239593.tif 000014
【図１３】
2010239593.tif 000015
【図１４】
2010239593.tif 000016
【図１５】
2010239593.tif 000017