(57)【要約】  通信端末の数やそれぞれの通信端末が利用する通信サービスの数が増えても、ノードや制御装置の負荷増大や処理遅延等を起こりにくくする。通信システムのノードは、各フローに属するパケットの転送先と前記フローを特定するための照合規則とを対応付けた処理規則を複数保持し、前記処理規則に従って受信パケットを転送するとともに、受信パケットの宛先アドレスがマルチキャスト対象であることを示すアドレスである場合、前記複数保持する処理規則を用いてマルチキャスト転送を行う。
2012081721.tif 000002
【特許請求の範囲】
【請求項１】
各フローに属するパケットの転送先と前記フローを特定するための照合規則とを対応付けた処理規則を複数保持し、前記処理規則に従って受信パケットを転送するノードを含む通信システムであって、
前記ノードは、受信パケットの宛先アドレスがマルチキャスト対象であることを示すアドレスである場合、前記複数保持する処理規則を用いてマルチキャスト転送を行う通信システム。
【請求項２】
前記ノードは、マルチキャストすべき宛先に適合する処理規則を抽出する検索条件を生成する処理規則検索条件生成部を備え、
受信パケットの宛先アドレスがマルチキャスト対象であることを示すアドレスである場合、前記処理規則検索条件生成部にて生成された検索条件に適合する照合規則を持つ処理規則を抽出してマルチキャスト転送を行う請求項１の通信システム。
【請求項３】
前記処理規則検索条件生成部は、受信パケットの宛先アドレスがリンクローカルマルチキャストアドレスである場合、レイヤ３の宛先アドレスがパケット送信元のレイヤ３ネットワークアドレスに一致する照合規則を持つ処理規則を抽出する検索条件を生成する請求項１または２の通信システム。
【請求項４】
前記処理規則検索条件生成部は、受信パケットの宛先アドレスがダイレクトマルチキャストアドレスである場合、レイヤ３の宛先アドレスが宛先のレイヤ３ネットワークアドレスに一致する照合規則を持つ処理規則を抽出する検索条件を生成する請求項１から３いずれか一の通信システム。
【請求項５】
各フローに属するパケットの転送先と前記フローを特定するための照合規則とを対応付けた処理規則を複数保持し、前記処理規則に従って受信パケットを転送するとともに、
受信パケットの宛先アドレスがマルチキャスト対象であることを示すアドレスである場合、前記複数保持する処理規則を用いてマルチキャスト転送を行うノード。
【請求項６】
マルチキャストすべき宛先に適合する処理規則を抽出する検索条件を生成する処理規則検索条件生成部を備え、
受信パケットの宛先アドレスがマルチキャスト対象であることを示すアドレスである場合、前記処理規則検索条件生成部にて生成された検索条件に適合する照合規則を持つ処理規則を抽出してマルチキャスト転送を行う請求項５のノード。
【請求項７】
前記処理規則検索条件生成部は、受信パケットの宛先アドレスがリンクローカルマルチキャストアドレスである場合、レイヤ３の宛先アドレスがパケット送信元のレイヤ３ネットワークアドレスに一致する照合規則を持つ処理規則を抽出する検索条件を生成する請求項５または６のノード。
【請求項８】
前記処理規則検索条件生成部は、受信パケットの宛先アドレスがダイレクトマルチキャストアドレスである場合、レイヤ３の宛先アドレスが宛先のレイヤ３ネットワークアドレスに一致する照合規則を持つ処理規則を抽出する検索条件を生成する請求項５から７いずれか一のノード。
【請求項９】
各フローに属するパケットの転送先と前記フローを特定するための照合規則とを対応付けた処理規則を複数保持し、前記処理規則に従って受信パケットを転送するノードにおけるパケット転送方法であって、
受信パケットの宛先アドレスがマルチキャスト対象であることを示すアドレスであるか否かを確認するステップと、
前記受信パケットの宛先アドレスがマルチキャスト対象であることを示すアドレスである場合、前記複数保持する処理規則を用いてマルチキャスト転送を行うステップと、を含むパケット転送方法。
【請求項１０】
各フローに属するパケットの転送先と前記フローを特定するための照合規則とを対応付けた処理規則を複数保持し、前記処理規則に従って受信パケットを転送するノードを構成するコンピュータに実行させるプログラムであって、
受信パケットの宛先アドレスがマルチキャスト対象であることを示すアドレスであるか否かを確認する処理と、
前記受信パケットの宛先アドレスがマルチキャスト対象であることを示すアドレスである場合、前記複数保持する処理規則を用いてマルチキャスト転送を行う処理と、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願についての記載］
本発明は、日本国特許出願：特願２０１０−２８１４７３号（２０１０年１２月１７日出願）の優先権主張に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
本発明は、通信システム、ノード、パケット転送方法およびプログラムに関し、特に、受信パケットに適合する処理規則に従って、受信パケットを処理するノードを用いて通信を実現する通信システム、ノード、パケット転送方法およびプログラムに関する。
【背景技術】
【０００２】
特許文献１、非特許文献１、２に示すとおり、近年、オープンフロー（ＯｐｅｎＦｌｏｗ）という技術が提案されている。オープンフローは、通信をエンドツーエンドのフローとして捉え、フロー単位で経路制御、障害回復、負荷分散、最適化を行うものである。転送ノードとして機能するオープンフロースイッチは、オープンフローコントローラとの通信用のセキュアチャネルを備え、オープンフローコントローラから適宜追加または書き換え指示されるフローテーブルに従って動作する。フローテーブルには、フロー毎に、パケットヘッダと照合する照合規則（マッチングルール）と、処理内容を定義したアクション（Ａｃｔｉｏｎｓ）と、フロー統計情報（Ｓｔａｔｓ）との組にしたフローエントリ（処理規則）が定義される（図７参照）。【０００３】
例えば、オープンフロースイッチは、最初のパケット（ｆｉｒｓｔ  ｐａｃｋｅｔ）を受信すると、フローテーブルから、受信パケットのヘッダ情報に適合する照合規則（マッチングルール）を持つエントリを検索する。検索の結果、受信パケットに適合するエントリが見つかった場合、オープンフロースイッチは、受信パケットに対して、当該エントリのアクションフィールドに記述された処理内容を実施する。一方、前記検索の結果、受信パケットに適合するエントリが見つからなかった場合、オープンフロースイッチは、セキュアチャネルを介して、オープンフローコントローラに対して受信パケットを転送し、受信パケットの送信元・送信先に基づいたパケットの経路の決定を依頼（処理規則の設定依頼）し、これを実現するフローエントリを受け取ってフローテーブルを更新する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】国際公開第２００８／０９５０１０号
【非特許文献】
【０００５】
【非特許文献１】Nick McKeownほか７名、"OpenFlow: Enabling Innovation in Campus Networks"、［online］、［平成22(2010)年11月22日検索］、インターネット〈URL：http://www.openflowswitch.org//documents/openflow-wp-latest.pdf〉
【非特許文献２】"OpenFlow Switch Specification" Version 1.0.0. (Wire Protocol 0x01) ［平成22(2010)年11月22日検索］、インターネット〈URL：http://www.openflowswitch.org/documents/openflow-spec-v1.0.0.pdf〉
【発明の概要】
【発明が解決しようとする課題】
【０００６】
以下の分析は、本発明によって与えられたものである。
しかしながら、上記特許文献１、非特許文献１、２の技術では、通信をエンドツーエンドのフローとして捉えるため、各ノードに接続された通信端末等の数やそれぞれの通信端末が利用する通信サービスが増えるに従い、フローの数に応じた数の処理規則（上述のフローエントリに相当。）が必要になってしまう。【０００７】
また、上述のように通信端末の数やそれぞれの通信端末が利用する通信サービスが増大すると、ノードから制御装置に対する未知のパケット（上記オープンフローの場合におけるフローエントリがフローテーブルに無い場合に相当。）についての処理規則の設定依頼も増加してしまう。【０００８】
以上のように、特許文献１、非特許文献１、２に記載の技術では、通信端末の数やそれぞれの通信端末が利用する通信サービスの数が増えるに従い、ノードや制御装置の負荷が増大し、処理遅延等が起こりやすくなってしまうという問題点がある。【０００９】
上記の問題は、受信パケットがマルチキャストアドレスである場合にも同様に発生し、とりわけ、ノードが保持する処理規則の数や、制御装置に対する処理規則の設定依頼を飛躍的に増大させてしまう可能性がある。
【課題を解決するための手段】
【００１０】
本発明の第１の視点によれば、各フローに属するパケットの転送先と前記フローを特定するための照合規則とを対応付けた処理規則を複数保持し、前記処理規則に従って受信パケットを転送するノードを含む通信システムであって、前記ノードは、受信パケットの宛先アドレスがマルチキャスト対象であることを示すアドレスである場合、前記複数保持する処理規則を用いてマルチキャスト転送を行う通信システムが提供される。【００１１】
本発明の第２の視点によれば、各フローに属するパケットの転送先と前記フローを特定するための照合規則とを対応付けた処理規則を複数保持し、前記処理規則に従って受信パケットを転送するとともに、受信パケットの宛先アドレスがマルチキャスト対象であることを示すアドレスである場合、前記複数保持する処理規則を用いてマルチキャスト転送を行うノードが提供される。【００１２】
本発明の第３の視点によれば、各フローに属するパケットの転送先と前記フローを特定するための照合規則とを対応付けた処理規則を複数保持し、前記処理規則に従って受信パケットを転送するノードにおけるパケット転送方法であって、受信パケットの宛先アドレスがマルチキャスト対象であることを示すアドレスであるか否かを確認するステップと、前記受信パケットの宛先アドレスがマルチキャスト対象であることを示すアドレスである場合、前記複数保持する処理規則を用いてマルチキャスト転送を行うステップと、を含むパケット転送方法が提供される。本方法は、制御装置から設定された処理規則に従って受信パケットを処理するノードという、特定の機械に結びつけられている。【００１３】
本発明の第４の視点によれば、各フローに属するパケットの転送先と前記フローを特定するための照合規則とを対応付けた処理規則を複数保持し、前記処理規則に従って受信パケットを転送するノードを構成するコンピュータに実行させるプログラムであって、受信パケットの宛先アドレスがマルチキャスト対象であることを示すアドレスであるか否かを確認する処理と、前記受信パケットの宛先アドレスがマルチキャスト対象であることを示すアドレスである場合、前記複数保持する処理規則を用いてマルチキャスト転送を行う処理と、を実行させるプログラムが提供される。なお、このプログラムは、コンピュータが読み取り可能な記憶媒体に記録することができる。即ち、本発明は、コンピュータプログラム製品として具現することも可能である。
【発明の効果】
【００１４】
本発明によれば、通信端末の数やそれぞれの通信端末が利用する通信サービスの数が増えても、ノードや制御装置の負荷増大や処理遅延等を起こりにくくすることができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の第１の実施形態の構成を表わした図である。
【図２】本発明の第１の実施形態のノードの構成を表わしたブロック図である。
【図３】本発明の第１の実施形態の制御装置によって設定された経路の例である。
【図４】図３のノード２００Ａに設定される処理規則の例である。
【図５】本発明の第１の実施形態のノードのパケット受信時の動作を表わした流れ図である。
【図６】図５の処理規則検索条件生成処理（ステップＳ２００）の詳細を説明するための流れ図である。
【図７】非特許文献２に記載のフローエントリの構成を表した図である。
【発明を実施するための形態】
【００１６】
はじめに本発明の一実施形態の概要について説明する。なお、この概要に付記した図面参照符号は、専ら理解を助けるための例示であり、図示の態様に限定することを意図するものではない。本発明は、その一実施形態において、各フローに属するパケットの転送先と前記フローを特定するための照合規則とを対応付けた処理規則を複数保持し、前記処理規則に従って受信パケットを転送するノードを含む通信システムにより実現できる。具体的には、前記ノードは、受信パケットの宛先アドレスがマルチキャスト対象であることを示すアドレスである場合、前記複数保持する処理規則を用いてマルチキャスト転送を行う。
【００１７】
例えば、図３に示すように、３つのフローについてそれぞれ経路が設定されている場合において、新たに、ノード２００Ａが、これらの３つのフローに属さず、宛先アドレスがマルチキャスト対象であることを示すアドレスである受信パケットを新たに受信した場合、ノード２００Ａは、制御装置１００Ａへの処理規則の設定依頼は行わず、自装置が保持している処理規則を用いて、ノード２００Ｂ、２００Ｃへのマルチキャスト転送を行う。
【００１８】
以上により、ノードに新しい処理規則を設定することなくマルチキャスト転送を実行することが可能になる。なお、上記したマルチキャスト転送において、ノードは自装置が保持している処理規則のすべてを用いる必要は無く、必要なものだけを選択することが可能である。その詳細については、以下の実施形態において説明する。
【００１９】
［第１の実施形態］
続いて、本発明の第１の実施形態について図面を参照して詳細に説明する。図１は、本発明の第１の実施形態の通信システムの構成を表わした図である。
【００２０】
図１を参照すると、複数のノード２００Ａ〜２００Ｃと、これらノードを制御する制御装置１００Ａと、が示されている。複数のノード２００Ａ〜２００Ｃには、外部ノード３００Ａ〜３００Ｅがそれぞれ接続されている。
【００２１】
制御装置１００Ａは、これらのノード２００Ａ〜２００Ｃに対して、受信パケットに対する処理内容を定めた処理規則を設定することにより、外部ノード３００Ａ〜３００Ｅ間の通信を制御する。
【００２２】
このような制御装置１００Ａとしては、オープンフロースイッチにフローエントリ（処理規則に相当。）を設定する非特許文献１、２のオープンフローコントローラを用いることが可能である。
【００２３】
ノード２００Ａ〜２００Ｃは、外部ノード３００Ａ〜３００Ｅを含む他のノードからパケットを受信すると、制御装置１００から設定された処理規則の中から、受信パケットに適合する照合規則を持つ処理規則を選択し、受信パケットの処理を行う。
【００２４】
上記受信パケットの処理内容としては、ノード３００Ａ〜３００Ｅを含む他のノードや制御装置１００への受信パケットの転送が設定されているものとする。なお、処理内容として、その他パケットのドロップ（廃棄）、ヘッダ書き換え等を適宜設定することも可能である。
【００２５】
このようなノード２００Ａ〜２００Ｃとしては、オープンフローコントローラから設定されたフローエントリ（処理規則に相当。）に従って動作する非特許文献１、２のオープンフロースイッチに、後記するマルチキャスト転送機能を追加することによっても実現することができる。
【００２６】
外部ノード３００は、ノード２００Ａ〜２００Ｃのいずれかに接続し、他の外部ノード３００と通信するユーザ端末等である。
【００２７】
図２は、ノード２００Ａ〜２００Ｃ（以下、ノード２００Ａ〜２００Ｃを特に区別する必要が無いときは「ノード２００」と記す。）の詳細構成を示すブロック図である。図２を参照すると、処理規則検索条件生成部２０１と、処理規則検索部２０２と、処理規則記憶部２０３と、処理規則管理部２０４と、フロー処理部２０５と、制御装置通信部２０６とを備えた構成が示されている。
【００２８】
処理規則検索条件生成部２０１は、処理規則検索部２０２から渡される受信パケットまたは受信パケットから抽出した情報を基に、処理規則検索部２０２が処理規則記憶部２０３から受信パケットに適合するする処理規則を検索するための処理規則検索条件を生成し、生成した処理規則検索条件を処理規則検索部２０２に渡す。
【００２９】
処理規則検索部２０２は、外部ノードや他のノードからパケットを受信すると、処理規則検索条件生成部２０１に、受信パケットまたは受信パケットから抽出した情報を出力し、処理規則検索条件の生成を依頼する。
【００３０】
また、処理規則検索部２０２は処理規則検索条件生成部２０１から渡される処理規則検索条件を用いて、処理規則記憶部２０３を検索する。処理規則記憶部２０３に処理規則検索条件に適合する処理規則を抽出できた場合、処理規則検索部２０２は、処理規則検索条件に適合する処理規則に定められた処理内容（アクション）と受信パケットをフロー処理部２０５に渡す。
【００３１】
なお、前記検索の結果、処理規則検索条件に適合する処理規則を抽出できた場合、処理規則検索部２０２が、当該処理規則のタイムアウト時間や統計情報などを更新するようにしてもよい。前記タイムアウト時間は、一定時間適合するパケットを受信しなかった処理規則の削除制御等に利用することができる。また、統計情報は、制御装置１００がトラヒック状況を把握するための情報として用いることができる。
【００３２】
処理規則記憶部２０３は、ノード２００が受信パケットを処理するための処理規則を保持する。このような処理規則記憶部２０３は、非特許文献１、２のオープンフロースイッチのフローテーブルにより実現することもできる（図７参照）。
【００３３】
処理規則管理部２０４は、制御装置通信部２０６を介して制御装置１００から受信した指示に従い、処理規則記憶部２０３に保持された処理規則の追加・削除、参照等を行う。なお、前述のように、処理規則検索部２０２が当該処理規則のタイムアウト時間や統計情報などの更新を行っている場合、処理規則管理部２０４が、タイムアウトした処理規則の削除や統計情報の参照を行う、その結果を制御装置１００に伝える処理を行う。
【００３４】
フロー処理部２０５は処理規則検索部２０２または制御装置通信部２０６を通して制御装置１００から渡される受信パケットとその処理内容（アクション）に従って受信パケットに対する処理を行う。
【００３５】
制御装置通信部２０６は、制御装置１００と、処理規則管理部２０４やフロー処理部２０５との中継を行う。
【００３６】
なお、図２に示したノード２００の各部（処理手段）は、ノード２００を構成するコンピュータに、そのハードウェアを用いて、上記した各処理を実行させるコンピュータプログラムにより実現することもできる。
【００３７】
以下の説明では、図３に示すように、制御装置１００Ａにより３つのフローについてそれぞれ経路が設定されているものとして説明する。
【００３８】
図４は、図３のノード２００Ａに設定される処理規則の例である。Ｎｏ．１のエントリは、図３の一点鎖線で示した外部ノード３００Ａを送信元とし、外部ノード３００Ｂを宛先とする経路を実現するための処理規則である。図４の例では、レイヤ２の送信元アドレスが外部ノード３００Ａのレイヤ２アドレス、レイヤ２の宛先アドレスが外部ノード３００Ｂのレイヤ２アドレス、レイヤ３の送信元アドレスが外部ノード３００Ａのレイヤ３アドレス、レイヤ３の宛先アドレスが外部ノード３００Ｂのレイヤ３アドレスからなる照合規則と、当該照合規則に適合するパケットをノード２００Ｂに転送するという処理内容とが設定されている。
【００３９】
同様に、図４のＮｏ．２のエントリは、図３の破線で示した外部ノード３００Ａを送信元とし、外部ノード３００Ｂを宛先とする経路を実現するための処理規則である。図４の例では、レイヤ２の送信元アドレスが外部ノード３００Ａのレイヤ２アドレス、レイヤ２の宛先アドレスが外部ノード３００Ｃのレイヤ２アドレス、レイヤ３の送信元アドレスが外部ノード３００Ａのレイヤ３アドレス、レイヤ３の宛先アドレスが外部ノード３００Ｃのレイヤ３アドレスからなる照合規則と、当該照合規則に適合するパケットをノード２００Ｂに転送するという処理内容とが設定されている。
【００４０】
同様に、図４のＮｏ．３のエントリは、図３の実線で示した外部ノード３００Ａを送信元とし、外部ノード３００Ｄ、３００Ｅを宛先とする経路を実現するための処理規則である。図４の例では、レイヤ２のアドレスについては不問とし、レイヤ３の送信元アドレスが外部ノード３００Ａのレイヤ３アドレス、レイヤ３の宛先アドレスが外部ノード３００Ｄ、３００Ｅのレイヤ３アドレスを集約したアグリゲートアドレスであるパケットを抽出するための照合規則と、当該照合規則に適合するパケットをノード２００Ｃに転送するという処理内容とが設定されている。
【００４１】
なお、図４の照合規則のいずれにも適合しないパケットについては、制御装置１００Ａに受信パケットを転送し、処理規則の設定要求が行われる。なお、図４の照合規則は、本発明の理解を助けるための例であり、例えば、図７に示した入力ポート番号（Ｉｎ  Ｐｏｒｔ）、ＶＬＡＮ  ＩＤ、レイヤ４のプロトコル番号、レイヤ４の送信元ポート番号や宛先ポート番号（ＴＣＰ／ＵＤＰ  ｓｒｃ  ｐｏｒｔ、ＴＣＰ／ＵＤＰ  ｄｓｔ  ｐｏｒｔ）等を設定することができる。また、非特許文献２に記載されているように、任意のフィールドにワイルドカードを設定することもできる。
【００４２】
なお、以下の説明では、外部ノード３００Ａ、３００Ｂ、３００Ｃのレイヤ２アドレスは、それぞれＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）アドレス「００：１１：２２：３３：４４：ＡＡ」、「００：１１：２２：３３：４４：ＢＢ」、「００：１１：２２：３３：４４：ＣＣ」であるものとする。
【００４３】
また、外部ノード３００Ａ、３００Ｂ、３００Ｃのレイヤ３アドレスは、それぞれＩＰアドレス「１９２．１６８．０．１」、「１９２．１６８．０．２」、「１９２．１６８．０．３」であるものとする。また、外部ノード３００Ｄ、３００Ｅのレイヤ３アドレスは、ＩＰアドレス「１９２．１６８．０．４」、「１９２．１６８．０．５」であり、これらを集約したアグリゲートアドレスは「１９２．１６８．０．４／３１」であるものとする。
【００４４】
続いて、本実施形態のノードの動作について説明する。以下、図５と図５のステップＳ２００の詳細を表わした図６を参照して、本実施形態の動作について説明する。なお、以下の説明では、予め制御装置１００Ａから図３、図４に示す経路とこれに対応する処理規則が設定されているものとして説明する。
【００４５】
図５を参照すると、まず、ノード２００は、パケットを受信すると、受信パケットから抽出した受信パケットに適合する処理規則を検索するための処理規則検索条件生成情報を、処理規則検索条件生成部２０１に出力し、処理規則検索条件の生成を依頼する（ステップＳ１００）。
【００４６】
本実施形態では、ノード２００の処理規則検索部２０２から処理規則検索条件生成部２０１に渡される処理規則検索条件生成情報には、以下の情報が含まれるものとする。
・レイヤ２の送信元アドレスと宛先アドレス
・レイヤ３の送信元アドレスと宛先アドレス
・レイヤ３のネットワークアドレスを識別可能にする情報
なお、ＡＲＰ（Ａｄｄｒｅｓｓ  Ｒｅｓｏｌｕｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）等のレイヤ３の送信元アドレスと宛先アドレスが含まれているプロトコルである場合、これらのプロトコルのフォーマットから、レイヤ３の送信元アドレスと宛先アドレスを取得することができる。
【００４７】
前記レイヤ３のネットワークアドレスを識別可能にする情報としては、例えば、ＶＬＡＮ  ＩＤフィールドにレイヤ３のネットワークアドレス長を設定することにしている場合はそのＶＬＡＮ  ＩＤ、ＩＰｖ４ヘッダやＩＰｖ６ヘッダにレイヤ３のネットワークアドレス長やネットワークアドレスマスクが設定されているオプションヘッダが存在する場合はそのオプションヘッダを用いることができる。ここではＶＬＡＮ  ＩＤフィールドに、レイヤ３のネットワークアドレス長が設定されているものとし、レイヤ３のネットワークアドレスを識別可能にする情報として入力フレームのＶＬＡＮ  ＩＤを抽出するものとする。
【００４８】
次に、ノード２００の処理規則検索条件生成部２０１は、処理規則検索部２０２から渡された処理規則検索条件生成情報を基に処理規則検索条件を生成する（ステップＳ２００）。
【００４９】
処理規則検索条件生成部２０１による処理規則検索条件の生成処理は次のように行われる。
【００５０】
まず、処理規則検索条件生成部２０１は、処理規則検索部２０２から渡された処理規則検索条件生成情報に含まれるレイヤ２やレイヤ３の宛先アドレスがリンクローカルマルチキャストアドレスであるかどうか判定する（図６のステップＳ２０１）。
【００５１】
レイヤ２やレイヤ３の宛先アドレスがリンクローカルマルチキャストアドレスであるとは、ＩＰｖ４の場合はレイヤ２の宛先アドレスがＦＦ：ＦＦ：ＦＦ：ＦＦ：ＦＦ：ＦＦのＭＡＣアドレスであり、レイヤ３の宛先アドレスが２５５．２５５．２５５．２５５である場合や、レイヤ２の宛先アドレスがＦＦ：ＦＦ：ＦＦ：ＦＦ：ＦＦ：ＦＦのＭＡＣアドレスでありタイプがＡＲＰである場合である。また、ＩＰｖ６の場合はレイヤ２の宛先アドレスが次の２５ビット００００  ００００１  ００００  ００００  １００１  １１１０  ０で始まるＭＡＣアドレスであり、レイヤ３の宛先アドレスがＦＦ０２：：／１６の場合である。
【００５２】
ステップＳ２０１にて、レイヤ２やレイヤ３の宛先アドレスがリンクローカルマルチキャストアドレスであると判定した場合（ステップＳ２０１のＹｅｓ）、処理規則検索条件生成部２０１は、上記レイヤ３のネットワークアドレスを識別可能にする情報と必要に応じてレイヤ３の送信元アドレスとを用いて、受信パケットのレイヤ３の送信元のネットワークアドレスを抽出する（ステップＳ２０２）。
【００５３】
例えば、レイヤ３のネットワークアドレスを識別可能にする情報としてＶＬＡＮ  ＩＤに２４が設定されている場合に、レイヤ３の送信元アドレスがノード２００Ａの１９２．１６８．０．１であれば（ＡＲＰの場合はＡＲＰフォーマットよりレイヤ３の送信元アドレスを抽出すればよい）、レイヤ３の送信元のネットワークアドレスとして１９２．１６８．０．０／２４を抽出する。ＩＰｖ６の場合も同様である。なお、レイヤ３のネットワークアドレスを識別可能にする情報として、送信元のネットワークアドレスそのものが存在する場合はそれをそのまま用いればよい。
【００５４】
次に、処理規則検索条件生成部２０１は、処理規則検索条件として、レイヤ２の宛先アドレスをワイルドカードに設定するとともに、レイヤ３の宛先アドレスを前記ステップＳ２０２で抽出した受信パケットのレイヤ３の送信元のネットワークアドレスに設定する（ステップＳ２０３）。
【００５５】
一方、ステップＳ２０１にて、レイヤ２やレイヤ３の宛先アドレスがリンクローカルマルチキャストアドレスでないと判定した場合（ステップＳ２０１のＮｏ）、処理規則検索条件生成部２０１は、処理規則検索部２０２から渡された情報に含まれるレイヤ２やレイヤ３の宛先アドレスがダイレクトマルチキャストアドレスであるかどうか判定する（ステップＳ２０４）。
【００５６】
レイヤ２やレイヤ３の宛先アドレスがダイレクトマルチキャストアドレスであるとは、ＩＰｖ４の場合はレイヤ２の宛先アドレスがＦＦ：ＦＦ：ＦＦ：ＦＦ：ＦＦ：ＦＦのＭＡＣアドレスであり、レイヤ３の宛先アドレスが２５５．２５５．２５５．２５５以外の場合である。
【００５７】
ステップＳ２０４にて、レイヤ２やレイヤ３の宛先アドレスがダイレクトマルチキャストアドレスであると判定した場合（ステップＳ２０４のＹｅｓ）、処理規則検索条件生成部２０１は、上記レイヤ３のネットワークアドレスを識別可能にする情報と必要に応じてレイヤ３の宛先アドレスとを用いて、受信パケットのレイヤ３の宛先のネットワークアドレスを抽出する（ステップＳ２０５）。
【００５８】
例えば、レイヤ３のネットワークアドレスを識別可能にする情報としてＶＬＡＮ  ＩＤに２４が設定されている場合に、レイヤ３の宛先アドレスが１９２．１６８．０．２５５であればレイヤ３の宛先のネットワークアドレスとして１９２．１６８．０．０／２４を抽出する。なお、レイヤ３のネットワークアドレスを識別可能にする情報として宛先のネットワークアドレスそのものが存在する場合はそれをそのまま用いればよい。
【００５９】
次に、処理規則検索条件生成部２０１は、処理規則検索条件として、レイヤ２の宛先アドレスをワイルドカードに設定するとともに、レイヤ３の宛先アドレスを前記ステップＳ２０５で抽出した受信パケットのレイヤ３の宛先のネットワークアドレスに設定する（ステップＳ２０６）。
【００６０】
最後に、処理規則検索条件生成部２０１は、処理規則検索条件として、ステップＳ２０３、Ｓ２０６で設定していない処理規則検索条件に対して処理規則検索部から渡された処理規則検索条件生成情報をそのまま設定する（ステップＳ２０７）。ただし、ＡＲＰ等の場合はこれらプロトコルのフォーマットよりレイヤ３の送信元アドレスや宛先アドレスを抽出して追加する。
【００６１】
以下の説明では、ステップＳ２０１、Ｓ２０４のいずれかにて、リンクローカルマルチキャストアドレスまたはダイレクトマルチキャストアドレスと判定されて、レイヤ２の送信元アドレスにノード２００ＡのＭＡＣアドレス００：１１：２２：３３：４４：ＡＡ、レイヤ２の宛先アドレスにワイルドカード、レイヤ３の送信元アドレスにノード２００ＡのＩＰｖ４アドレス１９２．１６８．０．１、レイヤ３の宛先アドレスをノード２００Ａのネットワークアドレス１９２．１６８．０．０／２４とした処理規則検索条件が生成されたものとする。
【００６２】
再度、図５を参照すると、上記のように生成された処理規則検索条件を処理規則検索条件生成部２０１から受け取った処理規則検索部２０２は、処理規則検索条件を用いて、処理規則記憶部２０３から処理規則検索条件に適合する処理規則を検索する（ステップＳ３００）。このとき、レイヤ３の宛先アドレスに関しては処理規則検索条件のレイヤ３の宛先アドレスに包含され、または包含するレイヤ３の宛先アドレスを持つ処理規則すべてが検索される（ステップＳ３５０のＹｅｓ）。
【００６３】
そして、処理規則検索部２０２は、その他の条件も適合する照合規則を持つ処理規則のアクションと受信パケットとの組をフロー処理部２０５に渡す。
【００６４】
図４の処理規則から上記した処理規則検索条件に適合する処理規則を検索すると、Ｎｏ．１、Ｎｏ．３のエントリが抽出されることになる。なお、図４には示されていないが、処理規則としてレイヤ３の宛先アドレスが１９２．１６８．０．０／１６のエントリがあったとすると、その処理規則も抽出されることになる。
【００６５】
フロー処理部２０５は、上記のように処理規則検索部２０２から渡される受信パケットとそのアクションに従って、受信パケットを、外部ノード３００に出力したり、他のノード２００に出力したり、制御装置通信部２０６を通して制御装置１００Ａに出力したり、ドロップしたりする（ステップＳ４００）。図４のような処理規則からＮｏ．１、Ｎｏ．３のエントリが抽出されている場合、これら処理規則のアクションに従ってノード２００Ｂとノード２００Ｃに受信パケットが出力される（マルチキャスト転送される）。
【００６６】
他方、処理規則記憶部２０３から処理規則検索条件に適合する処理規則を検索できなかった場合（ステップＳ３５０のＮｏ）、制御装置１００Ａに対し、パケットに対する処理規則の設定依頼が行われる（ステップＳ５００）。制御装置１００Ａによる処理規則の設定が完了すると、その後、再度、処理規則の検索が行われて、前記設定された処理規則によるパケット処理が行われる（ステップＳ３００、Ｓ４００）。
【００６７】
以上のように本実施形態によれば、ノード２００の処理規則記憶部２０３に保持される処理規則の数を削減することが可能になる。その理由はレイヤ２やレイヤ３の宛先アドレスがマルチキャストアドレスであるパケットをマルチキャストするための処理規則をノード２００に設定しなくても、既存の処理規則を用いて転送できるようにしたためである。
【００６８】
なお、図５の流れ図ではステップＳ５００において制御装置１００Ａに対しパケットに対する処理規則の設定依頼を行うものとして説明したが、処理規則の設定依頼は行わずに、パケットを廃棄（Ｄｒｏｐ）することや、制御装置１００Ａが処理規則の設定依頼で受け取ったパケットを他のノードに転送することも可能である。さらに、制御装置１００Ａが処理規則の設定依頼で受け取ったパケットを終端することも可能である。
【００６９】
また、上記した実施形態の説明では、処理規則検索条件生成部２０１が処理規則検索部２０２から処理規則検索条件生成情報を受け取って処理規則検索条件を生成するものとして説明したが、処理規則検索条件生成部２０１が処理規則検索部２０２から、処理規則検索条件生成情報として、少なくとも、上記したレイヤ２の送信元アドレスと宛先アドレス、レイヤ３の送信元アドレスと宛先アドレス（ＡＲＰフォーマット等から取得できるものを含む。）、レイヤ３のネットワークアドレスを識別可能にする情報を受け取って処理規則検索条件の一部を生成し、処理規則検索部２０２が処理規則検索条件生成部２０１から受け取ったその一部の処理規則検索条件を処理規則検索条件生成情報に反映して処理規則検索条件を生成するものとしてもよい。
【００７０】
また本実施形態によれば、パケット処理の遅延や、制御装置とノード間のネットワーク帯域の圧迫、制御装置の処理負荷の増大といった問題を軽減することができる。その理由は、上記のように、レイヤ２やレイヤ３の宛先アドレスがマルチキャストアドレスであるパケットをマルチキャストするための処理規則をノード２００に設定しなくてよいようにしたことにある。また、また本実施形態によれば、ノード２００に保持可能な処理規則の数の制限により処理規則を登録できないような状況が生じることもなく、ノード２００が制御装置１００Ａにマルチキャスト対象のパケットについての処理規則の設定依頼することも無くなっている。
【００７１】
以上、本発明の好適な実施形態を説明したが、本発明は、上記した実施形態に限定されるものではなく、本発明の基本的技術的思想を逸脱しない範囲で、更なる変形・置換・調整を加えることができる。例えば、上記した実施形態に示したノードの数は一例であって、その数に特に制限はない。
【００７２】
また、上記した実施形態では、図４にノード２００Ａに設定される処理規則の例を用いて説明したが、レイヤ３の送信元アドレス、宛先アドレスにネットワークアドレス（プレフィックスでも可）を含めた処理規則を事前設定しておいてもよい。
【００７３】
また、ノード２００に、上記のような処理規則に登録されているレイヤ３のアドレスと、そのネットワークアドレスと関連付けたテーブルを持たせることも可能である。このようにすることで、受信パケットに、レイヤ３のネットワークアドレスを識別可能にする情報」がなくても、図６のステップＳ２０２、Ｓ２０５において、前記テーブルを参照することで、上記した実施形態と同様の処理を行うことが可能になる。
【００７４】
また、レイヤ３の送信元アドレス、宛先アドレスにネットワークアドレス（プレフィックスでも可）を含めた処理規則を事前設定しておいた場合、ローカルブロードキャストの場合は図６のステップＳ２０２の処理を省略し、ステップＳ２０３を「レイヤ３の宛先アドレスを、受信パケットのレイヤ３の送信元のネットワークアドレスと同じネットワークアドレスを持つレイヤ３の宛先アドレスとした処理規則検索情条件を生成」とすることができる。
【００７５】
なお、この場合、処理規則中の任意のフィールドに、レイヤ３のネットワークアドレスが同一であることを識別可能なフラグなどを設け、レイヤ３のネットワークアドレスが同一である処理規則を簡単に検索できるようにしておいてもよい。
【００７６】
同様に、ダイレクトブロードキャストの場合も、ステップＳ２０４の処理を省略し、ステップＳ２０５に同様の変更を加えることで対応することが可能である。
【００７７】
また、上記した実施形態では、図３に示すように、制御装置１００Ａにより３つのフローについてそれぞれ経路が設定されているものとして説明したが、ノードに設定されている処理規則が少ない場合には、マルチキャスト対象パケットについても、制御装置１００Ａに処理規則の設定依頼を行うようにしてもよいことはもちろんである。また、これらのノードに設定されている処理規則を把握する制御装置１００Ａが、個々のノード２００が上記したマルチキャスト転送ができるよう必要な処理規則を設定するようにしてもよい。また、制御装置１００Ａが、個々のノード２００に設定されている処理規則の内容を判断した上で、上記した設定済みの処理規則を用いたマルチキャスト転送を行うか否かをオンオフ制御するようにしてもよい。
【００７８】
その他、ループ対策として、マルチキャスト転送を行う前に、ループ検出用にヘッダを書き換え、前記ヘッダが書き換えられたパケットの受信によりループが検出された場合には、該当パケットを破棄する処理規則を設定しておくことなども可能である。
【００７９】
最後に、本発明の好ましい形態を要約する。
［形態１］
前記第１の視点に記載の通信システムのとおり。
［形態２］
前記ノードは、マルチキャストすべき宛先に適合する処理規則を抽出する検索条件を生成する処理規則検索条件生成部（処理規則検索条件生成手段）を備え、
受信パケットの宛先アドレスがマルチキャスト対象であることを示すアドレスである場合、前記処理規則検索条件生成部にて生成された検索条件に適合する照合規則を持つ処理規則を抽出してマルチキャスト転送を行うことが好ましい。
［形態３］
前記処理規則検索条件生成部は、受信パケットの宛先アドレスがリンクローカルマルチキャストアドレスである場合、レイヤ３の宛先アドレスがパケット送信元のレイヤ３ネットワークアドレスに一致する照合規則を持つ処理規則を抽出する検索条件を生成することが好ましい。
［形態４］
前記処理規則検索条件生成部は、受信パケットの宛先アドレスがダイレクトマルチキャストアドレスである場合、レイヤ３の宛先アドレスが宛先のレイヤ３ネットワークアドレスに一致する照合規則を持つ処理規則を抽出する検索条件を生成することが好ましい。
［形態５］
前記第２の視点に記載のノードのとおり。
［形態６］
前記ノードは、
マルチキャストすべき宛先に適合する処理規則を抽出する検索条件を生成する処理規則検索条件生成部（処理規則検索条件生成手段）を備え、
受信パケットの宛先アドレスがマルチキャスト対象であることを示すアドレスである場合、前記処理規則検索条件生成部にて生成された検索条件に適合する照合規則を持つ処理規則を抽出してマルチキャスト転送を行うことが好ましい。
［形態７］
前記処理規則検索条件生成部は、受信パケットの宛先アドレスがリンクローカルマルチキャストアドレスである場合、レイヤ３の宛先アドレスがパケット送信元のレイヤ３ネットワークアドレスに一致する照合規則を持つ処理規則を抽出する検索条件を生成することが好ましい。
［形態８］
前記処理規則検索条件生成部は、受信パケットの宛先アドレスがダイレクトマルチキャストアドレスである場合、レイヤ３の宛先アドレスが宛先のレイヤ３ネットワークアドレスに一致する照合規則を持つ処理規則を抽出する検索条件を生成することが好ましい。
［形態９］
前記第３の視点に記載のパケット転送方法のとおり。
［形態１０］
前記第４の視点に記載のプログラムのとおり。
なお、パケット転送方法、プログラムは、形態１の通信システムと同様に、それぞれの構成要素ないしステップについて、形態２〜形態４と同様に展開することが可能である。
なお、上記の特許文献および非特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素（各請求項の各要素、各実施形態ないし実施例の各要素、各図面の各要素等を含む）の多様な組み合わせ、ないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【符号の説明】
【００８０】
１００、１００Ａ  制御装置
２００、２００Ａ〜２００Ｃ  ノード
２０１  処理規則検索条件生成部
２０２  処理規則検索部
２０３  処理規則記憶部
２０４  処理規則管理部
２０５  フロー処理部
２０６  制御装置通信部
３００Ａ〜３００Ｅ  外部ノード
【図１】
2012081721.tif 000003
【図２】
2012081721.tif 000004
【図３】
2012081721.tif 000005
【図４】
2012081721.tif 000006
【図５】
2012081721.tif 000007
【図６】
2012081721.tif 000008
【図７】
2012081721.tif 000009
【国際調査報告】
2012081721.tif 000010
2012081721.tif 000011
2012081721.tif 000012