(57)【特許請求の範囲】
【請求項１】
ネットワークを構成する複数のノードと通信可能な第１の手段と、
パケットの送信元端末から当該パケットを受信するエッジノードに対し、前記パケットに含まれる第１の宛先アドレスを、当該第１の宛先アドレスを含む複数の宛先アドレスを包含する第２の宛先アドレスに書き換えることを指示する第２の手段と、
を備え、
前記第２の手段は、前記エッジノードに対して、前記パケットが属するフローを識別可能なフロー識別子を当該パケットに書き込むことを指示する
ことを特徴とする制御装置。
【請求項２】
前記第２の手段は、前記ネットワークに含まれる中継ノードに対し、前記第２の宛先アドレスに基づき前記パケットを転送することを指示する
ことを特徴とする請求項１に記載の制御装置。
【請求項３】
前記第２の手段は、前記中継ノードから転送された前記パケットを受信するエッジノードに対し、前記フロー識別子に基づいて、前記第２の宛先アドレスを前記第１の宛先アドレスに書き換えることを指示する
ことを特徴とする請求項１又は２に記載の制御装置。
【請求項４】
ネットワークを構成する複数のノードと通信可能な第１の手段と、
パケットの送信元端末から当該パケットを受信するエッジノードに対し、前記パケットに含まれる第１の宛先アドレスを、当該第１の宛先アドレスを含む複数の宛先アドレスを包含する第２の宛先アドレスに書き換えることを指示する第２の手段と、
を備え、
前記第２の手段は、前記エッジノードに対して、前記パケットが属するフローを識別可能なフロー識別子を当該パケットに書き込むことを指示する
ことを特徴とする通信システム。
【請求項５】
前記第２の手段は、前記ネットワークに含まれる中継ノードに対し、前記第２の宛先アドレスに基づき前記パケットを転送することを指示する
ことを特徴とする請求項４に記載の通信システム。
【請求項６】
前記第２の手段は、前記中継ノードから転送された前記パケットを受信するエッジノードに対し、前記フロー識別子に基づいて、前記第２の宛先アドレスを前記第１の宛先アドレスに書き換えることを指示する
ことを特徴とする請求項４又は５に記載の通信システム。
【請求項７】
ネットワークを構成する複数のノードと通信し、
パケットの送信元端末から当該パケットを受信するエッジノードに対し、前記パケットに含まれる第１の宛先アドレスを、当該第１の宛先アドレスを含む複数の宛先アドレスを包含する第２の宛先アドレスに書き換えることを指示する制御方法であって、
前記エッジノードに対して、さらに、前記パケットが属するフローを識別可能なフロー識別子を当該パケットに書き込むことを指示することを特徴とする制御方法。
【請求項８】
前記ネットワークに含まれる中継ノードに対し、前記第２の宛先アドレスに基づき前記パケットを転送することを指示する
ことを特徴とする請求項７に記載の制御方法。
【請求項９】
前記中継ノードから転送された前記パケットを受信するエッジノードに対し、前記フロー識別子に基づいて、前記第２の宛先アドレスを前記第１の宛先アドレスに書き換えることを指示する
ことを特徴とする請求項７又は８に記載の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信システム、制御装置、ノード、処理規則の設定方法およびプログラムに関し、特に、ネットワークに配置されたノードによりパケットを転送して通信を実現する通信システム、ノード、制御装置、通信方法およびプログラムに関する。
【背景技術】
【０００２】
特許文献１、非特許文献１、２に示すとおり、近年、オープンフロー（ＯｐｅｎＦｌｏｗ）という技術が提案されている。オープンフローは、通信をエンドツーエンドのフローとして捉え、フロー単位で経路制御、障害回復、負荷分散、最適化を行うものである。転送ノードとして機能するオープンフロースイッチは、オープンフローコントローラとの通信用のセキュアチャネルを備え、オープンフローコントローラから適宜追加または書き換え指示されるフローテーブルに従って動作する。フローテーブルには、フロー毎に、パケットヘッダと照合する照合規則（マッチングルール）と、処理内容を定義したアクション（Ａｃｔｉｏｎｓ）と、フロー統計情報（Ｓｔａｔｓ）との組が定義される（図１３参照）。
【０００３】
図１３に、非特許文献２に定義されているアクション名とアクションの内容を例示する。ＯＵＴＰＵＴは、パケットを指定ポート（インタフェース）に出力するアクションである。ＳＥＴ＿ＶＬＡＮ＿ＶＩＤからＳＥＴ＿ＴＰ＿ＤＳＴは、パケットヘッダのフィールドを修正するアクションである。
【０００４】
例えば、オープンフロースイッチは、最初のパケット（ｆｉｒｓｔ  ｐａｃｋｅｔ）を受信すると、フローテーブルから、受信パケットのヘッダ情報に適合する照合規則（マッチングルール）を持つエントリを検索する。検索の結果、受信パケットに適合するエントリが見つかった場合、オープンフロースイッチは、受信パケットに対して、当該エントリのアクションフィールドに記述された処理内容を実施する。一方、前記検索の結果、受信パケットに適合するエントリが見つからなかった場合、オープンフロースイッチは、セキュアチャネルを介して、オープンフローコントローラに対して受信パケットを転送し、受信パケットの送信元・送信先に基づいたパケットの経路の決定を依頼し、これを実現するフローエントリを受け取ってフローテーブルを更新する。
【０００５】
また、特許文献２には、ＭＡＣ学習テーブルを有するレイヤ２スイッチであって、フレームに付加されたＶＷＡＮ−ＩＤを縮退ＶＷＡＮ−ＩＤに変換する変換部と、フレームに付加された縮退ＶＷＡＮ−ＩＤを元のＶＷＡＮ−ＩＤに復元する復元部とを備えるレイヤ２スイッチと、ＶＷＡＮ−ＩＤの登録時に、このＶＷＡＮ−ＩＤに対応する縮退ＶＷＡＮ−ＩＤの一つを決定し、変換部及び復元部に対して設定するレイヤ２スイッチの制御装置とが開示されている。同公報によると、縮退ＶＷＡＮ−ＩＤは、ＶＷＡＮ−ＩＤがとり得る値の数よりも少ない数の値からなり、このレイヤ２スイッチは、ＭＡＣ学習機能により、縮退ＶＷＡＮ−ＩＤを含むエントリをＭＡＣ学習テーブルに登録する、とされている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】国際公開第２００８／０９５０１０号
【特許文献２】国際公開第２００６／１０６５８８号
【非特許文献】
【０００７】
【非特許文献１】Nick McKeownほか７名、"OpenFlow: Enabling Innovation in Campus Networks"、［online］、［平成22年9月21日検索］、インターネット〈URL：http://www.openflowswitch.org//documents/openflow-wp-latest.pdf〉
【非特許文献２】"OpenFlow Switch Specification" Version 1.0.0. (Wire Protocol 0x01) ［平成22年9月21日検索］、インターネット〈URL：http://www.openflowswitch.org/documents/openflow-spec-v1.0.0.pdf〉
【発明の概要】
【発明が解決しようとする課題】
【０００８】
上記オープンフローにおいては、処理規則中にワイルドカードを使用することが可能である。例えば、送信元が異なるフローであっても、宛先が同一であるフローは、宛先だけをマッチングする照合規則を持つ処理規則に集約することが可能である（図８と図９参照）。このように処理規則を集約することにより、パケット転送経路上のノード（以下、上記オープンフロースイッチである場合も含めて「ノード」と称する。）の負荷や制御装置（以下、上記オープンフローコントローラである場合も含めて「制御装置」と称する。）の管理負担を低減することができる。
【０００９】
しかしながら、上記フローの集約を行った場合、当該パケット転送経路上のノードで係数されるフロー統計情報（Ｓｔａｔｓ）の粒度も当該集約されたフロー単位となり、異常トラヒックが発生したときに当該異常トラヒックを発生させたフローの特定が困難になってしまうという問題点がある。
【００１０】
他方、異常トラヒック特定のため、上記集約を行わずにＯＳＩ参照モデルにおけるレイヤー３（データリンク層）の送信元／先ＩＰアドレスや、レイヤー４（トランスポート層）のＬ４ポート番号などのストリクトマッチングによりフロー統計情報（Ｓｔａｔｓ）を取得しようとすると、パケット転送経路上のノードが保持すべき処理規則のエントリ数が増大し、ノードの性能劣化や、障害時の経路変更が複雑になるという問題点がある。
【００１１】
本発明は上記した事情に鑑みてなされたものであって、その目的とするところは、処理規則の集約と、異常トラヒックを発生させているフローの特定容易化とを両立することのできる構成を提供することにある。
【課題を解決するための手段】
【００１２】
本発明の第１の視点によれば、ネットワークを構成する複数のノードと通信可能な第１の手段と、パケットの送信元端末から当該パケットを受信するエッジノードに対し、前記パケットに含まれる第１の宛先アドレスを、当該第１の宛先アドレスを含む複数の宛先アドレスを包含する第２の宛先アドレスに書き換えることを指示する第２の手段と、を備え、前記第２の手段は、前記エッジノードに対して、前記パケットが属するフローを識別可能なフロー識別子を当該パケットに書き込むことを指示する通信システムが提供される。
【００１３】
本発明の第２の視点によれば、ネットワークを構成する複数のノードと通信可能な第１の手段と、パケットの送信元端末から当該パケットを受信するエッジノードに対し、前記パケットに含まれる第１の宛先アドレスを、当該第１の宛先アドレスを含む複数の宛先アドレスを包含する第２の宛先アドレスに書き換えることを指示する第２の手段と、を備え、前記第２の手段は、前記エッジノードに対して、前記パケットが属するフローを識別可能なフロー識別子を当該パケットに書き込むことを指示する制御装置が提供される。
【００１４】
本発明の第３の視点によれば、ネットワークを構成する複数のノードと通信し、パケットの送信元端末から当該パケットを受信するエッジノードに対し、前記パケットに含まれる第１の宛先アドレスを、当該第１の宛先アドレスを含む複数の宛先アドレスを包含する第２の宛先アドレスに書き換えることを指示する制御方法であって、前記エッジノードに対して、さらに、前記パケットが属するフローを識別可能なフロー識別子を当該パケットに書き込むことを指示する制御方法が提供される。本方法は、上記コアノードおよびエッジノードに処理規則を設定する制御装置という、特定の機械に結びつけられている。
【００１５】
本発明の第４の視点によれば、上記した制御装置において実行される処理をコンピュータに実行させるプログラムが提供される。なお、このプログラムは、コンピュータが読み取り可能な記憶媒体に記録することができる。即ち、本発明は、コンピュータプログラム製品として具現することも可能である。
【発明の効果】
【００１６】
本発明によれば、処理規則の集約と、異常トラヒックを発生させているフローの特定容易化とを両立することが可能となる。その理由は、パケット転送経路の集約可能区間の始点に位置するノードにおいては、処理規則単位の処理パケットの統計情報を収集できるようにするとともに、前記集約可能区間に位置するノードにおいては処理規則の集約を行う構成を採用したことにある。
【図面の簡単な説明】
【００１７】
【図１】本発明の概要を説明するための図である。
【図２】本発明の第１の実施形態の構成を表した図である。
【図３】本発明の第１の実施形態の制御装置の構成を表したブロック図である。
【図４】本発明の第１の実施形態に保持される経路情報の例である。
【図５】本発明の第１の実施形態の制御装置が行うＭＡＣアドレスの変換内容を説明するための図である。
【図６】本発明の第１の実施形態の制御装置の動作を説明するための図である。
【図７】本発明の第１の実施形態の制御装置により各ノードに設定する処理規則をまとめた表である。
【図８】本発明の第１の実施形態の制御装置が非集約モードで各ノードに設定する処理規則をまとめた表である。
【図９】図１１の処理規則のうち宛先が同一なフローを集約してしまった場合の例である。
【図１０】Ｉｎｇｒｅｓｓ  ＯＦＳにおいて設定されるフローエントリの非集約モードとの相違点を表した図である。
【図１１】Ｃｏｒｅ  ＯＦＳにおいて設定されるフローエントリの非集約モードとの相違点を表した図である。
【図１２】Ｅｇｒｅｓｓ  ＯＦＳにおいて設定されるフローエントリの非集約モードとの相違点を表した図である。
【図１３】非特許文献２に記載のフローエントリの構成を表した図である。
【発明を実施するための形態】
【００１８】
はじめに、本発明の概要について説明する。本発明は、図１に示すように、パケットに適用する処理と前記処理を適用するパケットを特定するための照合規則とを対応付けた処理規則に従って受信パケットを処理するとともに、前記処理規則単位で処理パケットの統計情報を記録するノード１０−１〜１０−ｎと、これらノード１０−１〜１０−ｎに処理規則を設定する制御装置２０と、により実現できる。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、本発明を図示の態様に限定することを意図するものではない。
【００１９】
例えば、端末Ａ（３０ａ）から端末Ｃ（３０ｃ）宛てのパケットの転送経路として、ノード１０−１、ノード１０−２、・・・ノード１０−ｎというパケット転送経路が計算されていたものとする。同様に、端末Ｂ（３０ｂ）から端末Ｃ（３０ｃ）宛てのパケットの転送経路として、ノード１０−１、ノード１０−２、・・・ノード１０−ｎというパケット転送経路が計算されていたものとする。従って、２つのパケット転送経路は、ノード１０−１、ノード１０−２、・・・ノード１０−ｎという重複する区間（集約可能区間）を有している。
【００２０】
このとき、制御装置２０は、前記集約可能区間の始点に位置するノード１０−１に、前記２以上のパケット転送経路で転送される個々のフロー（端末Ａ−端末Ｃ、端末Ｂ−端末Ｃ、）に属するパケットについて、フローを識別するためのフロー識別子（例：Ｆ１、Ｆ２）と、前記集約可能区間のパケット転送に用いる経路識別子（例：Ｅ１）とを、前記パケットの前記照合規則と照合する領域に書き込む処理を行ってから、パケットを出力させるフロー別の処理規則を設定する。
【００２１】
また、制御装置２０は、前記集約可能区間の中間に位置するノード１０−２、・・・、１０（ｎ−１）に、前記経路識別子（例：Ｅ１）に適合するパケットを、前記パケット転送経路に従って転送させる前記各フロー共通の処理規則を設定する。
【００２２】
また、制御装置２０は、前記集約可能区間の終点に位置するノード１０−ｎに、フロー識別子（例：Ｆ１、Ｆ２）に基づいて、前記集約可能区間の始点に位置するノードにおいて書き換えられた内容を復元する処理を行ってから、パケットを出力させる処理規則を設定する。
【００２３】
以上により、端末Ａ（３０ａ）、端末Ｂ（３０ｂ）から端末Ｃ（３０ｃ）に宛てて送出されたパケットは、ノード１０−１で、フロー識別子（例：Ｆ１、Ｆ２）と、経路識別子（例：Ｅ１）と有するパケットに書き換えられて、前記集約可能区間を転送されていく。そして、集約可能区間の終点のノード１０−ｎで、端末Ａ（３０ａ）、端末Ｂ（３０ｂ）から端末Ｃ（３０ｃ）に宛てて送出されたパケットは、オリジナルの内容に復元される。
【００２４】
従って、上記集約可能区間の中間に位置するノードにおいては、照合規則として経路識別子（例：Ｅ１）を持つ処理規則に集約することが可能となる。他方、上記集約可能区間の始点に位置するノードにおいては、個々のフローに属するパケットに、前記フロー識別子（例：Ｆ１、Ｆ２）と、経路識別子（例：Ｅ１）とを書き込む処理規則が設定され、各処理規則単位で処理パケットの統計情報が記録されるため、異常トラヒックの特定が容易化される。
【００２５】
［第１の実施形態］
続いて、本発明の第１の実施形態について図面を参照して詳細に説明する。図２は、本発明の第１の実施形態の構成を表した図である。図２を参照すると、端末Ａ、Ｂと、端末Ｃ、Ｄ間でやり取りされるパケットを転送する複数台のＯｐｅｎＦｌｏｗＳｗｉｔｃｈ（以下、各ＯＦＳを特に区別しない場合「ＯＦＳ」と称する。）１０ａ〜１０ｅと、ＯＦＳ１０ａ〜１０ｅとセキュアチャンネルにより接続され、処理規則（フローエントリ）の設定や統計情報の収集を行う制御装置２０と、が示されている。
【００２６】
ＯＦＳ１０ａ〜１０ｅは、パケットを受信すると、内部で保持しているフローエントリテーブル（フローテーブル）から、当該パケットに適合するフローエントリを検索し、検索されたフローエントリに定義された処理内容を実行する。
【００２７】
なお、図２において、ＯＦＳ同士、あるいは、ＯＦＳ１０ａ〜１０ｅと端末Ａ〜Ｄ間のリンク端部付近に記した符号（＃１〜＃２４）は、ＯＦＳのポート番号を表すものとする。例えば、ＯＦＳ＿Ｂ１０ｂに、端末Ａから端末Ｃに宛てられたパケットをＯＦＳ＿Ｃ１０ｃ側に出力させたい場合、該当する照合規則（マッチングルール）に適合するパケットを、ポート＃１２から出力させる処理（ＯＵＴ＿ＰＯＲＴ：１２）を定義したフローエントリを設定する。
【００２８】
また、ＯＦＳ１０ａ〜１０ｅは、フローエントリテーブル（フローテーブル）に格納されているいずれのフローエントリにもマッチしないパケットを受信した場合、そのパケット情報をＰａｃｋｅｔ−ｉｎメッセージを使用して制御装置２０に通知する。
【００２９】
Ｐａｃｋｅｔ−ｉｎメッセージを受信した制御装置２０は、パケットの送信元、送信先情報などから、当該パケットおよび同一フローに属する後続パケットを転送する経路を選択し、パケット転送経路上のＯＦＳに対してフローエントリを設定する。
【００３０】
図３は、制御装置２０の詳細構成を表したブロック図である。図３を参照すると、ＯｐｅｎＦｌｏｗプロトコル処理部２１と、スイッチ情報管理部２２と、フローエントリ作成部２３と、経路情報管理部２４と、トポロジ管理部２５と、経路計算部２６と、を備えた構成が示されている。
【００３１】
ＯｐｅｎＦｌｏｗプロトコル処理部２１は、非特許文献２に規定されているオープンフロープロトコルを用いて、ＯＦＳ１０ａ〜１０ｅからフローエントリの設定要求を受け付けるとともに、ＯＦＳ１０ａ〜１０ｅに対してフローエントリの設定やパケットの送出、記録したフロー統計情報の転送等を指示する処理を行う。
【００３２】
スイッチ情報管理部２２は、ＯＦＳ１０ａ〜１０ｅの識別情報や物理ポート情報を収集・管理し、フローエントリ作成部２３に提供する。ＯＦＳ１０ａ〜１０ｅの識別情報や物理ポート情報を収集する方法としては、ＯＦＳ１０ａ〜１０ｅに、非特許文献２に規定されているＳｗｉｔｃｈ機能問い合わせメッセージ（Ｆｅａｔｕｒｅｓ  Ｒｅｑｕｅｓｔ）を送信し、ＯＦＳ１０ａ〜１０ｅから、Ｓｗｉｔｃｈ機能応答メッセージ（Ｆｅａｔｕｒｅｓ  Ｒｅｐｌａｙ）を受信する方法を用いることができる（非特許文献２の「５．３  Ｃｏｎｔｒｏｌｌｅｒ−ｔｏ−Ｓｗｉｔｃｈ  Ｍｅｓｓａｇｅｓ」以下参照。）。
【００３３】
トポロジ管理部２５は、上記オープンフローネットワークのトポロジ情報を保持する。トポロジ情報としては、予め構築されたものやＬＬＤＰ（Ｌｉｎｋ  Ｌａｙｅｒ  Ｄｉｓｃｏｖｅｒｙ  Ｐｒｏｔｏｃｏｌ）など機能による収集する方法を用いて構築することができる。
【００３４】
経路計算部２６は、トポロジ管理部２５にて保持されているトポロジ情報を参照して、任意のＯＦＳ間のパケット転送経路を作成する。
【００３５】
経路情報管理部２４は、経路計算部２６にて計算されたパケット転送経路を管理し、フローエントリ作成部２３からの要求に応じて、図４に示すように、経路ＩＤを付与した経路情報を提供する。ここでは、図２に示すＯＦＳ１０ａ〜１０ｅの接続関係を定めたトポロジ情報から、図２のＯＦＳ＿Ａ−ＯＦＳ＿Ｅ間においては、パケット転送経路Ｅ１（ＯＦＳ＿Ａ  −  ＯＦＳ＿Ｂ  −  ＯＦＳ＿Ｃ  −  ＯＦＳ＿Ｅ）とパケット転送経路Ｅ２（ＯＦＳ＿Ａ  −  ＯＦＳ＿Ｂ  −  ＯＦＳ＿Ｄ  −  ＯＦＳ＿Ｅ）が作成されているものとする。
【００３６】
フローエントリ作成部２３は、ＯｐｅｎＦｌｏｗプロトコル処理部２１から渡されたパケットの情報に基づいて、経路情報管理部２４に保持されたパケット転送経路を選択し、当該パケット転送経路上の中間に位置するＯＦＳでフローエントリの集約を実現するように、当該経路の始点、終点、中間に位置するＯＦＳに設定すべきフローエントリを作成する。
【００３７】
例えば、端末Ａから端末Ｃに向けのフローについて上記パケット転送経路Ｅ１を選択した場合、フローエントリ作成部２３は、選択したパケット転送経路Ｅ１の始点に位置するＯＦＳ＿Ａ１０ａに、オリジナルのパケットのヘッダ中の送信元ＭＡＣアドレスをフローＩＤに、宛先ＭＡＣアドレスを経路ＩＤに変換してから、パケットを次ホップ（ＯＦＳ＿Ｂ）に出力させる処理規則を設定する。
【００３８】
また、制御装置２０は、上記パケット転送経路Ｅ１の中間に位置するＯＦＳ＿Ｂ１０ｂおよびＯＦＳ＿Ｃ１０ｃに、前記経路ＩＤ（例：Ｅ１）に適合するパケットを、前記パケット転送経路Ｅ１に従って転送させる処理規則を設定する。
【００３９】
また、制御装置２０は、上記パケット転送経路Ｅ１の終点に位置するＯＦＳ＿Ｅ１０ｅに、ＯＦＳ＿Ａ１０ａにて変換したフローＩＤおよび経路ＩＤに適合するパケットの送信元ＭＡＣアドレス、宛先ＭＡＣアドレスをオリジナルのパケットの送信元ＭＡＣアドレス、宛先ＭＡＣアドレスに戻す処理を行ってから、パケットを出力させる処理規則を設定する。
【００４０】
図５は、上記のフローエントリ作成部２３にて変換されるＭＡＣアドレスの対応関係を表した図である。
【００４１】
なお、上記した制御装置２０は、非特許文献１、２に記載されているオープンフローコントローラに、後記するフローエントリの集約機能を実装することにより実現することもできる。また、図３に示した制御装置２０の各部（処理手段）は、制御装置２０を構成するコンピュータに、そのハードウェアを用いて、上記した各処理を実行させるコンピュータプログラムにより実現することもできる。
【００４２】
続いて、本実施形態の動作について図面を参照して詳細に説明する。以下の説明では、図６の太線で表された、端末Ａ−端末Ｃを流れるフローＩＤ：１、端末Ａ−端末Ｄを流れるフローＩＤ：２、端末Ｂ−端末Ｃを流れるフローＩＤ：３、端末Ｂ−端末Ｄを流れるフローＩＤ：４の順でフローエントリの設定要求がなされたものとする。
【００４３】
まず、制御装置２０は、ＯＦＳ＿Ａ１０ａから、端末Ａから端末Ｃ向けのフローのフローエントリの作成を依頼された場合、図４に示すパケット転送経路から、パケット転送経路Ｅ１を選択し、ＯＦＳ＿Ａ１０ａに、ポート＃１から入ってきた送信元ＭＡＣアドレスが端末ＡのＭＡＣアドレスであり、宛先ＭＡＣアドレスが端末ＣのＭＡＣアドレスであるパケットについて、ヘッダ中の送信元ＭＡＣアドレスをフローＩＤ：１に、宛先ＭＡＣアドレスを経路ＩＤ：Ｅ１に変換してから、次ホップ（ＯＦＳ＿Ｂ）への接続ポート＃１０からパケットを出力させるフローエントリを作成・設定する。
【００４４】
この時点で、図７の「ＯＦＳ＿Ａ」、フローＩＤ＝１の欄に示すように、フローエントリが作成・設定される。図７中、「ＭＡＴＣＨ」は、フローエントリのマッチングルール、即ち、照合規則を表し、図７中、「ＡＣＴＩＯＮ」は、フローエントリのアクションフィールド、即ち、該当パケットに適用する処理内容を表している。また、「ＩＮ＿ＰＯＲＴ」、「ＤＬ＿ＳＲＣ」、「ＤＬ＿ＤＳＴ」は、図１３のフローエントリの「Ｉｎ  Ｐｏｒｔ」、「Ｅｔｈｅｒ  ＳＡ」、「Ｅｔｈｅｒ  ＤＡ」にそれぞれ対応する。また、「ＳＥＴ＿ＸＸ＿ＸＸＸ」は、ヘッダＸＸ＿ＸＸＸを書き換えるアクションを示すし、「ＯＵＴ＿ＰＯＲＴ  ＃＃」は、＃＃番ポートからのパケット出力を意味する。
【００４５】
また、制御装置２０は、パケット転送経路Ｅ１の中間に位置するＯＦＳ＿Ｂ１０ｂに、ポート＃１１から入ってきた宛先ＭＡＣアドレスが経路ＩＤ：Ｅ１であるパケットを、ＯＦＳ＿Ｃ１０ｃが接続されたポート＃１２から出力させるフローエントリを作成・設定する（図７の「ＯＦＳ＿Ｂ」、フローＩＤ＝１の欄参照）。同様に、制御装置２０は、ＯＦＳ＿Ｃ１０ｃに、ポート＃１３から入ってきた宛先ＭＡＣアドレスが経路ＩＤ：Ｅ１であるパケットを、ＯＦＳ＿Ｅ１０ｅが接続されたポート＃１４から出力させるフローエントリを作成・設定する（図７の「ＯＦＳ＿Ｃ」、フローＩＤ＝１の欄参照）。
【００４６】
また、制御装置２０は、パケット転送経路Ｅ１の終点に位置するＯＦＳ＿Ｅ１０ｅに、ポート＃１５から入ってきた送信元ＭＡＣアドレスがフローＩＤ：１、宛先ＭＡＣアドレスが経路ＩＤ：Ｅ１であるパケットについて、ヘッダ中の送信元ＭＡＣアドレスを端末ＡのＭＡＣアドレスに、宛先ＭＡＣアドレスを端末ＣのＭＡＣアドレスに復元してから、端末Ｃが接続されたポート＃３から出力させるフローエントリを作成・設定する（図７の「ＯＦＳ＿Ｅ」、フローＩＤ＝１の欄参照）。
【００４７】
次に、制御装置２０が、ＯＦＳ＿Ａ１０ａから、端末Ａから端末Ｄ向けのフローのフローエントリの作成を依頼された場合を考える。端末Ｄは、ＯＦＳ＿Ｅ１０ｅに接続されているため、端末Ａから端末Ｄ向けのフローのパケット転送経路としては、図４のパケット転送経路Ｅ１、Ｅ２のいずれも採用することできる。ここでは、制御装置２０は、フローエントリの集約を図るべく、先のフローＩＤ：１と同様に、パケット転送経路Ｅ１を選択したものとする。
【００４８】
この場合、制御装置２０は、ＯＦＳ＿Ａ１０ａに、ポート＃１から入ってきた送信元ＭＡＣアドレスが端末ＡのＭＡＣアドレスであり、宛先ＭＡＣアドレスが端末ＤのＭＡＣアドレスであるパケットについて、ヘッダ中の送信元ＭＡＣアドレスをフローＩＤ：２に、宛先ＭＡＣアドレスを経路ＩＤ：Ｅ１に変換してから、次ホップ（ＯＦＳ＿Ｂ）への接続ポート＃１０からパケットを出力させるフローエントリを作成・設定する（図７の「ＯＦＳ＿Ａ」、フローＩＤ＝２の欄参照）。
【００４９】
また、制御装置２０は、パケット転送経路Ｅ１の終点に位置するＯＦＳ＿Ｅ１０ｅに、ポート＃１５から入ってきた送信元ＭＡＣアドレスがフローＩＤ：２、宛先ＭＡＣアドレスが経路ＩＤ：Ｅ１であるパケットについて、ヘッダ中の送信元ＭＡＣアドレスを端末ＡのＭＡＣアドレスに、宛先ＭＡＣアドレスを端末ＤのＭＡＣアドレスに復元してから、端末Ｄが接続されたポート＃４から出力させるフローエントリを作成・設定する（図７の「ＯＦＳ＿Ｅ」、フローＩＤ＝２の欄参照）。
【００５０】
他方、パケット転送経路Ｅ１の中間に位置するＯＦＳ＿Ｂ１０ｂおよびＯＦＳ＿Ｃ１０ｃには、すでに、宛先ＭＡＣアドレスが経路ＩＤ：Ｅ１であるパケットを、次ホップに転送させるフローエントリが設定されているので、フローエントリの作成・設定は要しない。
【００５１】
ＯＦＳ＿Ａ１０ａから、端末Ｂから端末Ｃ向けのフローのフローエントリの作成を依頼された場合も、同様にして、制御装置２０は、ＯＦＳ＿Ａ１０ａ、ＯＦＳ＿Ｅ１０ｅについてのみ、ヘッダの書換え・復元を伴うフローエントリを作成する（図７のフローＩＤ＝３の行参照）。
【００５２】
また、各ＯＦＳの負荷や、各フローのサービス属性などを考慮して、制御装置２０に、異なるパケット転送経路を選択させることもできる。例えば、図７の例では、ＯＦＳ＿Ａ１０ａから、端末Ｂから端末Ｄ向けのフローのフローエントリの作成を依頼された場合に、制御装置２０は、パケット転送経路Ｅ２を選択し、ＯＦＳ１０ａ〜１０ｅにそれぞれフローエントリを作成・設定する（図７のフローＩＤ＝４の行参照）。
【００５３】
以上、本実施形態の動作を説明したが、上記した制御装置２０に、複数の動作モードを選択できるようにして、上記したフローエントリの集約を行う集約モードと、集約を行わない非集約モードとを選択できるようにしてもよい。
【００５４】
図８は、上記した集約を行わなかった場合に各ＯＦＳ１０ａ〜１０ｅに設定されるフローエントリを示す図である。図７と図８を対比すれば明らかなとおり、本実施形態では、ＯＦＳ＿Ｂ１０ｂおよびＯＦＳ＿Ｃ１０ｃにおけるフローエントリの数を、４から２に削減することに成功している。前記削減可能なフローエントリの数は、「集約したフローの数×（パケット転送経路上のノード数−２）」と見積もることができる。また同時に、ＯＦＳ＿Ａ１０ａでは、フロー毎に入力パケットとのマッチングを行っているので、フローＩＤ：１−４のうち、どのフローが異常なトラヒックを発生させていたかも容易に特定することができる。
【００５５】
また、経路障害発生による経路変更が生じた場合は、図８のような非集約モードでは、影響を受けるすべてのフローエントリの設定／削除が必要となるが、図７のように集約を行っている場合には、設定／削除が必要なフローエントリの数も少なくなるため、切替処理時間の短縮や、耐障害性能も向上する。
【００５６】
なお、本実施形態では、図９に示すように宛先が同一であるフローを集約してしまった場合と比較して、ＯＦＳ＿Ａ１０ａおよびＯＦＳ＿Ｅ１０ｅのフローエントリの数は増えてしまうが、図９のように、フロー１と３、フロー２と４が混在してしまい、どちらが異常なトラヒックを発生させていたか判別し難いということは生じなくなる。
【００５７】
図１０から図１２は、各ＯＦＳにおける本実施形態で説明した集約モードで設定されるフローエントリと、図８のような非集約モードで設定されるフローエントリとの相違をまとめたものである。以下の説明では、パケット転送経路の始点に位置し、外部ノードと接続するＯＦＳをＩｎｇｒｅｓｓ  ＯＦＳ、パケット転送経路の終点に位置し、外部ノードと接続するＯＦＳをＥｇｒｅｓｓ  ＯＦＳ、ＩｎｇｒｅｓｓとＥｇｒｅｓｓの間のＯＦＳをＣｏｒｅ  ＯＦＳと呼ぶこととする。
【００５８】
図１０は、Ｉｎｇｒｅｓｓ  ＯＦＳにおいて設定されるフローエントリの非集約モードとの相違点を表した図である。同図に表されたように、Ｉｎｇｒｅｓｓ  ＯＦＳにおいては、アクションとして、送信元ＭＡＣアドレスと宛先ＭＡＣアドレスの変換が追加されている点で相違しており、これにより、Ｃｏｒｅ  ＯＦＳにおけるフローエントリの集約とＥｇｒｅｓｓ  ＯＦＳにおけるパケットの復元が実現される。
【００５９】
図１１は、Ｃｏｒｅ  ＯＦＳにおいて設定されるフローエントリの非集約モードとの相違点を表した図である。同図に表されたＣｏｒｅ  ＯＦＳにおいては、オリジナルの宛先ＭＡＣアドレスではなく、Ｉｎｇｒｅｓｓ  ＯＦＳにおいて変換された経路ＩＤをマッチングルールとするフローエントリが設定される。
【００６０】
図１２は、Ｅｇｒｅｓｓ  ＯＦＳにおいて設定されるフローエントリの非集約モードとの相違点を表した図である。同図に表されたように、Ｅｇｒｅｓｓ  ＯＦＳにおいては、Ｉｎ＿Ｐｏｒｔフィールドのほか、Ｉｎｇｒｅｓｓ  ＯＦＳにおいて変換されたフローＩＤおよび経路ＩＤをマッチングキーとして、送信元ＭＡＣアドレスと宛先ＭＡＣアドレスを復元するアクションが追加されている点で相違している。
【００６１】
以上、本発明の好適な実施形態を説明したが、本発明は、上記した実施形態に限定されるものではなく、本発明の基本的技術的思想を逸脱しない範囲で、更なる変形・置換・調整を加えることができる。
【００６２】
例えば、上記したパケット転送経路の中間に位置するＯＦＳに設定するフローエントリは、経路ＩＤをマッチングルールとするため、ＯＦＳからのフローエントリの設定依頼を待つことなく事前に設定することが可能である。この場合、制御装置２０は、パケット転送経路の始点と終点に位置するＯＦＳに、前記事前に設定しておいたマッチングルールへのヘッダ書換え・復元を実行させるフローエントリを設定すればよく、制御装置２０の負荷が軽減される。
【００６３】
また、上記した実施形態では、経路ＩＤをマッチングルールとして用いるものとして説明したが、経路ＩＤとして、Ｅｇｒｅｓｓ  ＯＦＳのＭＡＣアドレスやその他集約区間の転送用の識別子を用いることも可能である。
【００６４】
また、上記した実施形態では、送信元／宛先ＭＡＣアドレスを書き換えるものとして説明したが、図１３に示したフィールドのうち、各ノード（ＯＦＳ）での転送等に使用しないフィールドに、上記したフローＩＤや経路ＩＤに相当する識別子を書き込んだり、これらをオリジナルのものから書き換え、終点で削除または復元する構成も採用可能である。
【００６５】
また、上記した実施形態では、外部ノード（端末Ａ〜Ｄ）と接続するＯＦＳ（エッジノード）にて、パケットヘッダの変換と、復元を行うものとして説明したが、その内側の任意のＣｏｒｅ  ＯＦＳ（コアノード）にて、パケットヘッダの変換と、復元を行うものとしてもよい。例えば、図２のＯＦＳ＿Ｃ１０ｃおよびＯＦＳ＿Ｄ１０ｄにて、復元を行ってしまい、ＯＦＳ＿Ｅ１０ｅに、オリジナルのパケットに基づいて、パケット処理を行うフローエントリを設定してしまってもよい。また例えば、図２のＯＦＳ＿Ａ１０ａには、オリジナルのパケットに基づいて、パケット処理を行うフローエントリを設定しておき、図２のＯＦＳ＿Ｂ１０ｂにて、パケットヘッダの変換を行い、ＯＦＳ＿Ｃ１０ｃおよびＯＦＳ＿Ｄ１０ｄのフローエントリの集約を図るといった変形実施も可能である。
【００６６】
また、上記した実施形態では、制御装置２０が、トポロジ管理部２５や経路計算部２６を備えて、自ら経路を計算するものとして説明したが、別途、制御装置２０に計算した経路情報を提供する装置を設ける構成も採用可能である。
【００６７】
最後に、本発明の好ましい形態を要約する。
［第１の形態］
（上記第１の視点による通信システム参照）
［第２の形態］
第１の形態において、
前記集約可能区間の中間に位置するノードに、前記経路識別子に適合するパケットを、予め計算したパケット転送経路に従って転送させる処理規則を設定しておき、
新規に処理規則の設定要求を受けた場合に、前記予め計算したパケットの転送経路を割り当てる通信システム。
［第３の形態］
第１または第２の形態において、
パケットヘッダの送信元ＭＡＣアドレスフィールドに前記フロー識別子を書き込む通信システム。
［第４の形態］
第１から第３いずれか一の形態において、
パケットヘッダの宛先ＭＡＣアドレスフィールドに前記経路識別子を書き込む通信システム。
［第５の形態］
第１から第４いずれか一の形態において、
前記集約可能区間の始点および終点に位置するノードは、外部ノードとの境界に配置されるエッジノードであり、
前記集約可能区間の中間に位置するノードは、前記エッジノード間に配置されたコアノードである通信システム。
［第６の形態］
前記制御装置は、さらに、前記ノードからの要求に応じて、パケット転送経路を計算する経路計算部を備える通信システム。
［第７の形態］
（上記第２の視点による制御装置参照）
［第８の形態］
第７の形態において、
前記集約可能区間の中間に位置するノードに、前記経路識別子に適合するパケットを、予め計算したパケット転送経路に従って転送させる処理規則を設定しておき、
新規に処理規則の設定要求を受けた場合に、前記予め計算したパケットの転送経路を割り当てる制御装置。
［第９の形態］
第７または第８の形態において、
パケットヘッダの送信元ＭＡＣアドレスフィールドに前記フロー識別子を書き込み、
宛先ＭＡＣアドレスフィールドに前記経路識別子を書き込む制御装置。
［第１０の形態］
第７から第９いずれか一の形態において、
さらに、前記ノードからの要求に応じて、パケット転送経路を計算する経路計算部を備える制御装置。
［第１１の形態］
（上記第３の視点による処理規則の設定方法参照）
［第１２の形態］
（上記第４の視点によるプログラム参照）
【符号の説明】
【００６８】
１０−１〜１０−ｎ  ノード
１０ａ〜１０ｅ  ＯＦＳ（オープンフロースイッチ）
２０  制御装置
２１  ＯｐｅｎＦｌｏｗプロトコル処理部
２２  スイッチ情報管理部
２３  フローエントリ作成部
２４  経路情報管理部
２５  トポロジ管理部
２６  経路計算部
３０ａ〜３０ｄ  端末
【図１】
0005854488.tif 000002
【図２】
0005854488.tif 000003
【図３】
0005854488.tif 000004
【図４】
0005854488.tif 000005
【図５】
0005854488.tif 000006
【図６】
0005854488.tif 000007
【図７】
0005854488.tif 000008
【図８】
0005854488.tif 000009
【図９】
0005854488.tif 000010
【図１０】
0005854488.tif 000011
【図１１】
0005854488.tif 000012
【図１２】
0005854488.tif 000013
【図１３】
0005854488.tif 000014