(57)【要約】  所定のプロトコルのパケットの受信に対して、アドレスのフローティングの誤判定を回避可能とするシステム、装置、方法を提供する。通信装置におけるパケットの処理を規定した処理規則を生成し前記通信装置に設定する制御装置は、アドレスのフローティングに対応可能な通信装置の接続ＩＦ（インタフェース）情報を含む接続ＩＦ集合を記憶する記憶部と、前記通信装置が、所定のプロトコルのパケットを、前記所定のプロトコルのパケットが含むアドレスと同一のアドレスを含むパケットがこれまで接続していた前記通信装置の第１の接続ＩＦとは別の第２の接続ＩＦから受信した際に、前記通信装置からの通知を受け、前記記憶部を参照して、前記通信装置の前記第１、第２の接続ＩＦがアドレスのフローティングに対応した共通の前記接続ＩＦ集合に属するか否かを確認し、アドレスのフローティングであるか否かを判断する管理部を備える。
2014132954.tif 000002
【特許請求の範囲】
【請求項１】
通信装置におけるパケットの処理を規定した処理規則を生成して前記通信装置に設定する制御装置と、
受信したパケットの処理を、前記制御装置により設定された前記処理規則に従って行う通信装置と、
を備え、
前記制御装置は、
アドレスのフローティングに対応可能な通信装置の接続ＩＦ（インタフェース）情報を含む接続ＩＦ集合を記憶する記憶部と、
前記通信装置において、予め定められた所定のプロトコルのパケットが、
前記所定のプロトコルのパケットに関連付けされたアドレスと同一のアドレスを含むパケットの転送にそれまで用いていた第１の接続ＩＦとは異なる、第２の接続ＩＦから入力された際に、前記通信装置からの通知を受け、
前記記憶部を参照して、前記通信装置の前記第１の接続ＩＦと前記第２の接続ＩＦが、アドレスのフローティングに対応した共通の前記接続ＩＦ集合に属しているか否かを確認し、アドレスのフローティングの有無を判断する管理部と、
を備えた、通信システム。
【請求項２】
前記アドレスのフローティングに対応した前記接続ＩＦ集合が、アドレスのフローティングに対応した通信装置のポート情報を含むポート集合、又は、前記ポート集合とＶＬＡＮ（Ｖｉｒｔｕａｌ  Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）情報の組を含む、請求項１記載の通信システム。
【請求項３】
前記制御装置の前記管理部は、
前記通信装置において、前記所定のプロトコルのパケットが、
前記所定のプロトコルのパケットに関連付けされたアドレスと同一のアドレスを含むパケットの転送にそれまで用いていた、前記第１の接続ＩＦをなす第１のポートとは異なる、前記第２の接続ＩＦをなす第２のポートから受信した際に、前記通信装置からの通知を受け、
前記記憶部を参照して、前記通信装置の前記第１及び第２のポートが、アドレスのフローティングに対応した共通の前記ポート集合に属するか否かを確認し、
前記通信装置の前記第１及び第２のポートが共通の前記ポート集合に属する場合には、アドレスのフローティングであると判断し、
前記通信装置の前記第１及び第２のポートが共通の前記ポート集合に属していない場合には、アドレスのフローティングではないと判断し、
前記制御装置において、前記管理部でアドレスのフローティングであると判断すると、前記通信装置における接続ＩＦを、前記第１の接続ＩＦに対応する前記第１のポートから切り替えて、前記第２の接続ＩＦに対応する前記第２のポートとする処理規則を、前記通信装置に対して設定する、請求項２記載の通信システム。
【請求項４】
前記アドレスがＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）アドレス、又はＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）アドレスである、請求項１乃至３のいずれか１項に記載の通信システム。
【請求項５】
前記制御装置は、前記記憶部に記憶される前記接続ＩＦ集合の情報を可変に設定する、請求項１記載の通信システム。
【請求項６】
前記所定プロトコルのパケットは、アドレス解決プロトコル（ＡＲＰ：Ａｄｄｒｅｓｓ  Ｒｅｓｏｌｕｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）のパケットを用いてアドレス重複を検出するために送信されたものであるか、近隣広告（Ｎｅｉｇｈｂｏｒ  Ａｄｖｅｒｔｉｓｅｍｅｎt）のパケット又は、これらに準じたパケットである、請求項１乃至４のいずれか１項に記載の通信システム。
【請求項７】
パケットの処理を規定した処理規則に従って受信パケットを処理する通信装置に対して、前記処理規則を生成して設定する第１のユニットと、
アドレスのフローティングに対応可能な通信装置の接続ＩＦ（インタフェース）情報を含む接続ＩＦ集合を記憶する記憶部と、
前記通信装置において、予め定められた所定のプロトコルのパケットが、
前記所定のプロトコルのパケットに関連付けされたアドレスと同一のアドレスを含むパケットの転送にそれまで用いていた第１の接続ＩＦとは異なる、第２の接続ＩＦから入力された際に、前記通信装置からの通知を受け、
前記記憶部を参照して、前記通信装置の前記第１の接続ＩＦと前記第２の接続ＩＦが、アドレスのフローティングに対応した共通の前記接続ＩＦ集合に属しているか否かを確認し、アドレスのフローティングの有無を判断する第２のユニットと、
を備えた、制御装置。
【請求項８】
前記アドレスのフローティングに対応した前記接続ＩＦ集合が、アドレスのフローティングに対応した通信装置のポート情報を含むポート集合を含み、
前記第２のユニットは、前記所定のプロトコルのパケットに関連付けされたアドレスと同一のアドレスを含むパケットの転送にそれまで用いていた、前記第１の接続ＩＦをなす第１のポートとは異なる、前記第２の接続ＩＦをなす第２のポートから受信した際に、前記通信装置からの通知を受け、
前記記憶部を参照して、前記通信装置の前記第１及び第２のポートが、アドレスのフローティングに対応した共通の前記ポート集合に属するか否かを確認し、
前記通信装置の前記第１及び第２のポートが共通の前記ポート集合に属する場合には、アドレスのフローティングであると判断し、
前記通信装置の前記第１及び第２のポートが共通の前記ポート集合に属していない場合には、アドレスのフローティングではないと判断し、
前記第２のユニットでアドレスのフローティングであると判断すると、前記第１のユニトは、前記通信装置における接続ＩＦを、前記第１のポートから切り替えて前記第２のポートとする処理規則を生成し、前記通信装置に対して設定する、請求項７記載の制御装置。
【請求項９】
通信装置におけるパケットの処理を規定した処理規則を生成し前記通信装置に設定する制御装置による通信方法であって、
アドレスのフローティングに対応可能な通信装置の接続ＩＦ（インタフェース）情報を含む接続ＩＦ集合を記憶部に記憶しておき、
前記通信装置において、予め定められた所定のプロトコルのパケットが、
前記所定のプロトコルのパケットに関連付けされたアドレスと同一のアドレスを含むパケットの転送にそれまで用いていた第１の接続ＩＦとは異なる、第２の接続ＩＦから入力された際に、前記通信装置からの通知を受け、
前記記憶部を参照して、前記通信装置の前記第１の接続ＩＦと前記第２の接続ＩＦが、アドレスのフローティングに対応した共通の前記接続ＩＦ集合に属しているか否かを確認し、アドレスのフローティングの有無を判断する、通信方法。
【請求項１０】
通信装置におけるパケットの処理を規定した処理規則を生成し前記通信装置に設定する制御装置を構成するコンピュータに、
アドレスのフローティングに対応可能な通信装置の接続ＩＦ（インタフェース）情報を含む接続ＩＦ集合を記憶する記憶部を管理し、
前記通信装置において、予め定められた所定のプロトコルのパケットが、
前記所定のプロトコルのパケットに関連付けされたアドレスと同一のアドレスを含むパケットの転送にそれまで用いていた第１の接続ＩＦとは異なる、第２の接続ＩＦから入力された際に、前記通信装置からの通知を受け、
前記記憶部を参照して、前記通信装置の前記第１の接続ＩＦと前記第２の接続ＩＦが、アドレスのフローティングに対応した共通の前記接続ＩＦ集合に属しているか否かを確認し、アドレスのフローティングの有無を判断する処理を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願についての記載］
本発明は、日本国特許出願：特願２０１３−０３６０８９号（２０１３年  ２月２６日出願）に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
本発明は、通信システム、制御装置、通信方法及びプログラムに関する。
【背景技術】
【０００２】
近年、集中制御型のネットワークアーキテクチャが提案されている。集中制御型のネットワークアーキテクチャの例として、オープンフロー（ＯｐｅｎＦｌｏｗ）という技術がある（特許文献１、非特許文献１、２等参照）。【０００３】
＜オープンフロー（ＯｐｅｎＦｌｏｗ）＞
オープンフローは、通信をエンドツーエンドのフローとして捉え、フロー単位で経路制御、障害回復、負荷分散、最適化を行う。オープンフロースイッチ（ＯｐｅｎＦｌｏｗ  Ｓｗｉｔｃｈ：「ＯＦＳ」と略記される）は、例えば非特許文献２等に仕様化されている。オープンフロースイッチは、制御装置に相当するオープンフローコントローラ（ＯｐｅｎＦｌｏｗ  Ｃｏｎｔｒｏｌｌｅｒ：「ＯＦＣ」と略記される）と例えば通信用のセキュアチャネルを用いて通信する。ＯＦＳは、ＯＦＣから追加または書き換えを適宜指示されるフローテーブルを備え、フローテーブルの内容に従って動作する。【０００４】
＜ＯＦＳとフローテーブル＞
図６は、フローテーブルの１つのフローエントリ１２０の情報を模式的に例示した図である。フローテーブルには、ＯＦＳでパケット受信し、該受信パケットのヘッダと照合するマッチングルール（照合欄：Ｍａｔｃｈ  Ｆｉｅｌｄ）（ヘッダフィールド）と、フロー統計情報（Ｃｏｕｎｔｅｒｓ）と、処理内容を定義したアクション（Ａｃｔｉｏｎｓ）との組がフロー毎に定義される（図６参照）。【０００５】
ＯＦＳは、パケットを受信すると、フローテーブルから、受信パケットのヘッダ情報に適合するマッチングルールを持つエントリを検索する。フローテーブルの検索の結果、受信パケットに適するエントリが見つかった場合、ＯＦＳは、フロー統計情報（Ｃｏｕｎｔｅｒｓ）を更新するとともに、受信パケットに対して該エントリのアクションフィールド（Ａｃｔｉｏｎｓ）に記述された処理内容（例えば指定ポートからのパケット送信、フラッディング、廃棄等）を実施する。【０００６】
＜Ｐａｃｋｅｔ−Ｉｎ＞
一方、ＯＦＳにおいて、上記検索の結果、受信パケットに適合するエントリが見つからなかった場合、ＯＦＳは、セキュアチャネルを介してＯＦＣに対して受信パケットを転送し（Ｐａｃｋｅｔ  Ｉｎメッセージ）、受信パケットの送信元・送信先情報に基づいたパケットの経路の決定を依頼する。ＯＦＣは、ネットワークトポロジ情報に基づき、経路計算を行い、フローエントリ（図６）を生成し、計算した経路上のＯＦＳに対して該フローテーブルを更新するためのメッセージを送信する。ＯＦＳは、ＯＦＣで決定したパケットの経路に対応するフローエントリ情報をＯＦＣから受け取って、フローテーブルを更新する。このように、ＯＦＳは、フローテーブルに格納されたフローエントリの情報を処理規則として受信パケットを処理する。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】国際公開第２００８／０９５０１０号
【非特許文献】
【０００８】
【非特許文献１】Ｎｉｃｋ  ＭｃＫｅｏｗｎほか７名、“ＯｐｅｎＦｌｏｗ：  Ｅｎａｂｌｉｎｇ  Ｉｎｎｏｖａｔｉｏｎ  ｉｎ  Ｃａｍｐｕｓ  Ｎｅｔｗｏｒｋｓ，”［ｏｎｌｉｎｅ］、［平成２４年１０月３１日検索］、インターネット＜ＵＲＬ：  ｈｔｔｐ：／／ｗｗｗ．ｏｐｅｎｆｌｏｗｓｗｉｔｃｈ．ｏｒｇ／／ｄｏｃｕｍｅｎｔｓ／ｏｐｅｎｆｌｏｗ−ｗｐ−ｌａｔｅｓｔ．ｐｄｆ＞
【非特許文献２】“ＯｐｅｎＦｌｏｗ  Ｓｗｉｔｃｈ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ”  Ｖｅｒｓｉｏｎ  １．１．０  Ｉｍｐｌｅｍｅｎｔｅｄ（Ｗｉｒｅ  Ｐｒｏｔｏｃｏｌ  ０ｘ０２）  ［平成２４年１０月３１日検索］、インターネット＜ＵＲＬ：  ｈｔｔｐ：／／ｗｗｗ．ｏｐｅｎｆｌｏｗｓｗｉｔｃｈ．ｏｒｇ／ｄｏｃｕｍｅｎｔｓ／ｏｐｅｎｆｌｏｗ−ｓｐｅｃ−ｖ１．１．０．ｐｄｆ＞
【発明の概要】
【発明が解決しようとする課題】
【０００９】
以下に関連技術の分析を与える。【００１０】
関連技術の問題点について、図７及び図８を参照して説明する。図７は、関連技術の問題点を説明するためのシステム構成図であり、通信システム（本発明が適用されないプロトタイプ）の一例が例示されている。図８は、図７のシステムの動作シーケンスを例示する図である。図７を参照すると、この通信システム（プロトタイプ）は、ＯＦＣ１１０、ＯＦＳ１２１〜１２３、通信端末１３０、サーバ１４１〜１４３を含む。サーバ１４１及びサーバ１４２は、Ａｃｔｉｖｅ（稼動）／Ｓｔａｎｄｂｙ（待機）の冗長構成（少なくとも１台を待機系（予備系）とし他を現用系）を有する。ここで、サーバ１４１が、Ａｃｔｉｖｅ状態（稼動状態：現用系）であり、サーバ１４２がＳｔａｎｄｂｙ状態（待機状態：予備系）であるものとする。【００１１】
＜アドレスのフローティング＞
また、サーバ１４１及びサーバ１４２は、共有可能なＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）アドレス（「フローティングＩＰアドレス」という）を具備している。フローティングＩＰアドレスは、Ａｃｔｉｖｅ（稼働）状態のサーバで使用されるＩＰアドレスであって、サーバの状態が入れ替わる際（それまでＳｔａｎｄｂｙ（待機）状態であったサーバがＡｃｔｉｖｅ状態に切り替わり、Ａｃｔｉｖｅ状態であったサーバがＳｔａｎｄｂｙ状態に切り替わる）には、新たにＡｃｔｉｖｅ状態に遷移したサーバがフローティングＩＰアドレスを引き継いで通信を継続する。アドレスの引き継ぎのことを、「アドレスのフローティング」と呼ぶ。なお、図７において、サーバ１４３には、例えば設定ミス等により、前記フローティングＩＰアドレスと同一のＩＰアドレスが設定されているものとする。【００１２】
＜サーバ切替＞
次に、図８を参照して、図７の通信端末１３０の通信時の経路制御処理、サーバ１４１とサーバ１４２間でのＡｃｔｉｖｅ／Ｓｔａｎｄｂｙ状態の切り替え処理時の経路制御処理について説明する。その後、サーバ１４３が介入することにより、通信状態が混乱する状況について説明する。はじめに通信端末１３０の通信時の経路制御処理について説明する。なお、以下の説明において、処理を説明する文末等に付した括弧内の番号は、図８に模式的に示した代表的シーケンスの番号に対応する。【００１３】
通信端末１３０は、サーバ１４１へのアクセスを開始するために、データパケットを送信する（１）。ＯＦＳ１２１は、通信端末１３０からの該データパケットを受信する。該データパケットのフローは設定されていず（当該パケットに対応するフローエントリがＯＦＳ１２１内のフローテーブルに設定されていない）、新規フローである。このため、ＯＦＳ１２１は、ＯＦＣ１１０にパケットイン（Ｐａｃｋｅｔ−Ｉｎ）メッセージを送信し（２）、受信したデータパケットに対する経路設定を要求する。ＯＦＳ１２１からパケットインメッセージを受信したＯＦＣ１１０は、通信可能と判断すると、通信端末１３０〜サーバ１４１間の経路を計算する。ＯＦＣ１１０は、ＯＦＳ１２１に、フローモディファイ（Ｆｌｏｗ  Ｍｏｄｉｆｙ：「ＦｌｏｗＭｏｄ」と略記される）メッセージを送信する（３−１）。ここで、ＦｌｏｗＭｏｄメッセージは、オープンフロープトロコルメッセージの１つであり、ＯＦＣからＯＦＳに対して、フローテーブルに、フローエントリを登録又は変更させるメッセージである。ＯＦＣ１１０は、通信経路上のＯＦＳ１２２、１２３にＦｌｏｗＭｏｄメッセージを送信することで（３−２、３−３）、通信端末１３０〜サーバ１４１間の通信を実現するためのフローエントリを各ＯＦＳ１２２、１２３のフローテーブルに設定する。また、ＯＦＣ１１０は、パケットアウト（Ｐａｃｋｅｔ−Ｏｕｔ）メッセージをＯＦＳ１２１に送信して（４）、ＯＦＳ１２１に該データパケットの転送を指示する。ＯＦＣ１１０からパケットアウト（Ｐａｃｋｅｔ−Ｏｕｔ）メッセージを受信したＯＦＳ１２１は、シーケンス１で受信したデータパケットを、フローテーブル（ＦｌｏｗＭｏｄメッセージ（３−１）で設定されたフローエントリ）で指定されたポートから出力してＯＦＳ１２２に転送する（５）。ＯＦＳ１２２は、ＯＦＣ１１０からのＦｌｏｗＭｏｄメッセージ（３−２）で設定されたフローエントリで指定されたポートから、該データパケット（ＯＦＳ１２１から転送されたデータパケット）をＯＦＳ１２３に転送する。ＯＦＳ１２３は、ＯＦＣ１１０からのＦｌｏｗＭｏｄメッセージ（３−３）で設定されたフローエントリで指定されたポートから、該データパケット（ＯＦＳ１２２から転送されたデータパケット）をサーバ１４１に転送する。【００１４】
通信端末１３０〜サーバ１４１間の通信用の経路が設定されると、通信端末１３０はサーバ１４１と通信を開始する（データパケットの送受）（６）。【００１５】
＜サーバ切替時の経路制御処理＞
図７及び図８を参照して、つづいて、サーバ１４１とサーバ１４２間でのＡｃｔｉｖｅ／Ｓｔａｎｄｂｙ状態の切り替え処理時の経路制御処理について説明する。【００１６】
サーバ１４１とサーバ１４２間でのＡｃｔｉｖｅ／Ｓｔａｎｄｂｙ状態の切り替え、即ち、Ｓｔａｎｄｂｙ状態であったサーバ１４２がＡｃｔｉｖｅ状態に遷移する際に、ＩＰアドレスのフローティングが発生したものとする。サーバ１４２は、フローティングＩＰアドレスに関するＧｒａｔｕｉｔｏｕｓ  Ａｄｄｒｅｓｓ  Ｒｅｓｏｌｕｔｉｏｎ  Ｐｒｏｔｏｃｏｌ（「ＧＡＲＰ」と略記される）パケットをブロードキャストし（７）、フローティングＩＰアドレスに関連付けされたＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）アドレスの変更を通信システムに通知する。【００１７】
ＧＡＲＰパケットは、送信元のＩＰアドレスと、要求された宛先ＩＰアドレスが同一のＡＲＰ（Ａｄｄｒｅｓｓ  Ｒｅｓｏｌｕｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）パケットである。ＧＡＲＰパケットは、例えば設定ミス等によるＩＰアドレスの重複を検出するために用いられる。なお、ＡＲＰパケットは、宛先のＩＰアドレスに対応するＭＡＣアドレス（宛先ＭＡＣアドレス）を解決するために用いられる。ＡＲＰリクエストは送信元からブロードキャストされ、ＡＲＰリクエストを受信したノード（ホスト、端末）において該ＡＲＰリクエストに設定された宛先ＩＰアドレスが自ノードのＩＰアドレスと等しい場合、当該ノードは、ＡＲＰリクエストに対する応答（ＡＲＰリプライ）に、当該自ノードのＭＡＣアドレスを設定し、送信元にユニキャスト送信する。ＧＡＲＰパケットが送信されたネットワークにおいて、ＩＰアドレスの重複が存在する場合、該ＧＡＲＰパケットに対する応答パケットに、送信元のＩＰアドレスと同一のＩＰアドレスのノードから、当該ノードのＭＡＣアドレスを含むリプライパケットが、該ＧＡＲＰパケットの送信元に返送されることになり、該ＧＡＲＰパケット送信元では、当該リプライパケットを送信したノードのＩＰアドレスが、ＧＡＲＰパケットの送信元のＩＰアドレスと重複していることが検出される。【００１８】
ＧＡＲＰパケットを受信したＯＦＳ１２３において、当該ＧＡＲＰパケットに対応するフローが設定されていず、新規フローである。このため、ＯＦＳ１２３は、ＯＦＣ１１０に対して、パケットイン（Ｐａｃｋｅｔ−Ｉｎ）メッセージを送信する（８）。【００１９】
ＯＦＣ１１０は、ＯＦＳ１２３からのＰａｃｋｅｔ−Ｉｎメッセージを介して該ＧＡＲＰパケットを受信すると、ＧＡＲＰパケットに関連付けされているフローティングＩＰアドレスを用いて行われている通信の経路設定状態を確認し、アドレスのフローティング（サーバ１４２へのアドレスの引き継ぎ）を検出する（９）。ＯＦＣ１１０は、当該通信が継続して行えるように、それまでサーバ１４１で終端していた前記経路を、サーバ１４２で終端するように、ＯＦＳ１２１、１２２、１２３に対してＦｌｏｗＭｏｄメッセージを送信して（１０−１、１０−２、１０−３）、経路の切り替えを行う。【００２０】
＜別のサーバ介入による経路制御処理＞
さらに、図７及び図８を参照して、サーバ１４３の介入により、通信状態が混乱する状況に陥るまでの流れについて説明する。【００２１】
サーバ１４３が通信システムに接続されると、サーバ１４３自身に設定されたＩＰアドレスを用いて通信するために、当該ＩＰアドレスに関するＧＡＲＰパケットを通信システムに向けてブロードキャストする（１２）。このＩＰアドレス（サーバ１４３に設定されているＩＰアドレス）は、サーバ１４２が使用しているフローティングＩＰアドレスと同一である。ＯＦＳ１２３は、サーバ１４３からのＧＡＲＰパケットを、サーバ１４２との接続に用いているポートとは異なるポートから入力する。該ＧＡＲＰパケットを受信したＯＦＳ１２３は、ＯＦＳ１２３で保持するフローテーブルを検索する。該検索の結果、受信したＧＡＲＰパケットに適合するエントリ（フローエントリ）が見つからないため（新規フローであるため）、ＯＦＳ１２３は、セキュアチャネルを介してＯＦＣ１１０にＰａｃｋｅｔ−Ｉｎメッセージを送信する（１３）。【００２２】
ＯＦＳ１２３からＰａｃｋｅｔ−Ｉｎメッセージを介してＧＡＲＰパケットを受信したＯＦＣ１１０は、アドレスのフローティング（サーバ１４３へのアドレスの引き継ぎ）を検出する（１４）。ＯＦＣ１１０は、ＦｌｏｗＭｏｄメッセージをＯＦＳ１２１、１２２、１２３にそれぞれ送信し（１５−１、１５−２、１５−３）、それまでサーバ１４２で終端している経路を、サーバ１４３で終端するように、経路の切り替えを行う。その結果、通信端末１３０とＡｃｔｉｖｅ状態のサーバ１４２との間で経路切り替えの直前まで行っていた通信が切断する。【００２３】
なお、上記説明では、アドレスのフローティングに関連した通信の切り替えのトリガとして、ＩＰｖ４（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ  Ｖｅｒｓｉｏｎ  ４）のアドレス（ＩＰアドレス＝３２ビット）を想定し、ＧＡＲＰを例に挙げたが、他のトリガを利用しても良い。その他のトリガとしては、ＩＰｖ６（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ  Ｖｅｒｓｉｏｎ  ６）（ＩＰアドレス＝１２８ビット）を想定すると、近隣広告（Ｎｅｉｇｈｂｏｒ  Ａｄｖｅｒｔｉｓｅｍｅｎｔ）メッセージ等がある。近隣広告（Ｎｅｉｇｈｂｏｒ  Ａｄｖｅｒｔｉｓｅｍｅｎｔ）は、ＩＣＭＰｖ６（Ｉｎｔｅｒｎｅｔ  Ｃｏｎｔｒｏｌ  Ｍｅｓｓａｇｅ  Ｐｒｏｔｏｃｏｌ  ｆｏｒ  ＩＰｖ６）の近隣要請（Ｎｅｉｇｈｂｏｒ  Ｓｏｌｉｃｉｔａｔｉｏｎ）メッセージ（ＩＣＭＰＶ６  Ｔｙｐｅ＝１３５）に対する応答（ＩＣＭＰＶ６  Ｔｙｐｅ＝１３６）である。【００２４】
図７、図８のプロトタイプを例に説明したとおり、ＯｐｅｎＦｌｏｗのような集中制御型のネットワークアーキテクチャにおいて、例えば、ＩＰアドレスの重複を検出するためのＧＡＲＰパケットが、該ＧＡＲＰパケットと関連付けされているＩＰアドレスと同一のＩＰアドレスを宛先又は送信元に含むパケットの転送に、それまで用いていたポートとは異なる別ポートから、ＯＦＳに入力されたこと（例えば図８のシーケンス１２）を、当該ＯＦＳからのＰａｃｋｅｔ−Ｉｎメッセージ（例えば図８のシーケンス１３）を介してＯＦＣで検知した際に、当該ＯＦＣでは、該ＧＡＲＰパケットの受信をトリガにして、経路の切り替えを行うべきか否かを適切に判断することができない。【００２５】
すなわち、上記した図７、図８のプロトタイプ例では、設定誤り等によりアドレスが重複したサーバ等の混入時、アドレスフローティングに関する誤判定が生じ（例えば図８のシーケンス１４）、その結果、設定誤り等によりＩＰアドレスが重複した当該サーバ（例えば図７、図８の１４３）への経路の切り替え等が行われ（例えば図８のシーケンス１５−１〜１５−３、１６）、本来のサーバ（例えば図７、図８の１４２、）との通信が切断する事態が発生する。そして、かかる事態の発生を確実に回避する手段は、提案されていない。【００２６】
したがって、本発明は、上記課題に鑑みて創案されたものであって、その目的は、例えばＧＡＲＰ又はＧＡＲＰに準じたパケット等、予め定められた所定のプロトコルのパケットの受信に対して、アドレスのフローティングの誤判定を回避可能とする通信システム、制御装置、通信方法及びプログラムを提供することにある。
【課題を解決するための手段】
【００２７】
本発明のいくつかの側面の１つ（視点１）によれば、通信装置におけるパケットの処理を規定した処理規則を生成し前記通信装置に設定する制御装置と、
受信パケットを前記制御装置により設定された前記処理規則に従って処理する通信装置と、を備え、前記制御装置は、アドレスのフローティングに対応可能な通信装置の接続ＩＦ（インタフェース）情報を含む接続ＩＦ集合を記憶する記憶部と、
前記通信装置において、予め定められた所定のプロトコルのパケットが、前記所定のプロトコルのパケットに関連付けされたアドレスと同一のアドレスを含むパケットの転送にそれまで用いていた第１の接続ＩＦとは異なる、第２の接続ＩＦから入力された際に、前記通信装置からの通知を受け、前記記憶部を参照して、前記通信装置の前記第１の接続ＩＦと前記第２の接続ＩＦが、アドレスのフローティングに対応した共通の前記接続ＩＦ集合に属しているか否かを確認し、アドレスのフローティングの有無を判断する管理部と、を備えた、通信システムが提供される。【００２８】
さらに別の側面の１つ（視点２）によれば、パケットの処理を規定した処理規則に従って受信パケットを処理する通信装置に対して、前記処理規則を生成して設定する第１のユニットと、
アドレスのフローティングに対応可能な通信装置の接続ＩＦ（インタフェース）情報を含む接続ＩＦ集合を記憶する記憶部と、
前記通信装置において、予め定められた所定のプロトコルのパケットが、前記所定のプロトコルのパケットに関連付けされたアドレスと同一のアドレスを含むパケットの転送にそれまで用いていた第１の接続ＩＦとは異なる、第２の接続ＩＦから入力された際に、前記通信装置からの通知を受け、前記記憶部を参照して、前記通信装置の前記第１の接続ＩＦと前記第２の接続ＩＦが、アドレスのフローティングに対応した共通の前記接続ＩＦ集合に属しているか否かを確認し、アドレスのフローティングの有無を判断する第２のユニットと、を備えた、制御装置が提供される。【００２９】
さらに別の側面の１つ（視点３）によれば、通信装置におけるパケットの処理を規定した処理規則を生成し前記通信装置に設定する制御装置による方法は以下を含む。
アドレスのフローティングに対応可能な通信装置の接続ＩＦ（インタフェース）情報を含む接続ＩＦ集合を記憶部に記憶しておき、
前記通信装置において、予め定められた所定のプロトコルのパケットが、
前記所定のプロトコルのパケットに関連付けされたアドレスと同一のアドレスを含むパケットの転送にそれまで用いていた第１の接続ＩＦとは異なる、第２の接続ＩＦから入力された際に、前記通信装置からの通知を受け、
前記記憶部を参照して、前記通信装置の前記第１の接続ＩＦと前記第２の接続ＩＦが、アドレスのフローティングに対応した共通の前記接続ＩＦ集合に属しているか否かを確認し、アドレスのフローティングの有無を判断する。【００３０】
さらに別の側面の１つ（視点４）によれば、通信装置におけるパケットの処理を規定した処理規則を生成し前記通信装置に設定する制御装置を構成するコンピュータに、
アドレスのフローティングに対応可能な通信装置の接続ＩＦ（インタフェース）情報を含む接続ＩＦ集合を記憶する記憶部を管理し、
前記通信装置において、予め定められた所定のプロトコルのパケットが、
前記所定のプロトコルのパケットに関連付けされたアドレスと同一のアドレスを含むパケットの転送にそれまで用いていた第１の接続ＩＦとは異なる、第２の接続ＩＦから入力された際に、前記通信装置からの通知を受け、
前記記憶部を参照して、前記通信装置の前記第１の接続ＩＦと前記第２の接続ＩＦが、アドレスのフローティングに対応した共通の前記接続ＩＦ集合に属しているか否かを確認し、アドレスのフローティングの有無を判断する処理を実行させるプログラムが提供される。【００３１】
さらに別の側面の１つ（視点５）によれば、該プログラムを記録したコンピュータ読み出し可能な媒体（ｃｏｍｐｕｔｅｒ  ｒｅａｄａｂｌｅ  ｔａｎｇｉｂｌｅ  ｍｅｄｉｕｍ）（半導体メモリ、磁気／光ディスク等）が提供される。
【発明の効果】
【００３２】
本発明によれば、予め定められた所定のプロトコルのパケット受信に応じて行うアドレスのフローティングの判定における誤判定を回避可能としている。このため、アドレスのフローティングの誤判定による誤った経路切替を回避可能としている。
【図面の簡単な説明】
【００３３】
【図１】第１の実施形態に係る通信システムの構成例を例示する図である。
【図２】第１の実施形態に係る経路制御機能の構成例を例示する図である。
【図３】第１の実施形態に係るポート集合管理部１８Ａで管理する情報テーブルの例を説明する図であり、（Ａ）はポート集合管理用の情報テーブル、（Ｂ）はＩＰアドレス〜ＭＡＣアドレス対応関係管理用の情報テーブルである。
【図４】第１の実施形態における経路制御の動作の一例を説明するためのシーケンス図である。
【図５】第１の実施形態におけるアドレスのフローティング発生時の経路制御機能の動作手順の一例を説明するためのフローチャート図である。
【図６】オープンフロースイッチのフローテーブルが保持する情報（フローエントリ）を一例として示す図である。
【図７】通信システム構成例を説明するための図である。
【図８】経路制御の動作例を説明するためのシーケンス図である。
【図９】本発明の実施形態の基本構成を例示する図である。
【発明を実施するための形態】
【００３４】
本発明のいくつかの実施形態について説明する。本発明のいくつかの好ましい態様及び実施形態の１つの側面において、図９を参照すると、通信装置（２０Ａ）におけるパケットの処理を規定した処理規則（２０１）を生成して前記通信装置（２０Ａ）に設定する制御装置（１０Ａ）と、パケットを受信すると、該受信したパケットの処理を、制御装置（１０Ａ）によって設定された処理規則（２０１）に従って行う通信装置（２０Ａ）を備えている。制御装置（１０Ａ）は、通信装置（２０Ａ）に対して、前記処理規則を生成して設定する第１のユニット（処理規則生成設定部１０１）と、アドレスのフローティングに対応可能な通信装置の接続ＩＦ（ｃｏｎｎｅｃｔｉｏｎ  ｉｎｔｅｒｆａｃｅ）情報を含む接続ＩＦ集合を記憶する記憶部（アドレスのフローティング対応接続ＩＦ情報記憶部１０３）と、前記通信装置（２０Ａ）において、予め定められた所定プロトコルのパケットが、前記所定のプロトコルのパケットに関連付けされたアドレスと同一のアドレスを含むパケットの転送にそれまで用いていた（接続されていた）第１の接続ＩＦ（２０２）とは異なる、第２の接続ＩＦ（２０３）から入力された際に、前記通信装置（２０Ａ）からの通知を受け、前記記憶部（１０３）を参照して、前記通信装置の前記第１の接続ＩＦ（２０２）と第２の接続ＩＦ（２０３）が、アドレスのフローティングに対応した共通の前記接続ＩＦ集合に属するか否かを確認し、アドレスのフローティングの有無を判断する第２のユニット（アドレスのフローティング確認部１０２）と、を備える。例えばアドレスフローティングに対応可能な複数のノード装置（例えば予備系から現用系への切り替え時等にアドレスの引き継ぎを行う冗長構成のサーバ等）に、通信装置が複数の接続ＩＦを介してそれぞれ接続されている場合、当該通信装置のこれらの接続ＩＦは、制御装置（１０Ａ）の記憶部（アドレスのフローティング対応接続ＩＦ情報記憶部１０３）において、アドレスのフローティングに対応した共通の前記接続ＩＦ集合に属するものとして、記憶管理される。
【００３５】
前記制御装置（１０Ａ）において、前記記憶部（１０３）に記憶保持される前記アドレスのフローティングに対応した接続ＩＦ集合は、アドレスのフローティングに対応した通信装置のポート情報を含むポート集合を含む。
【００３６】
本発明のいくつかの好ましい態様及び実施形態の１つの側面において、図９を参照すると、前記通信装置（２０Ａ）にて、前記所定のプロトコルのパケットに関連付けされたアドレスと同一のアドレスを含むパケットの転送にそれまで用いていた第１の接続ＩＦ（例えば第１のポート）（２０２）とは異なる、第２の接続ＩＦ（例えば第２のポート）（２０３）から、前記所定プロトコルのパケットが入力されてきた際に、前記制御装置（１０Ａ）において、前記第２のユニット（アドレスのフローティング確認部１０２）は、前記通信装置（２０Ａ）からの通知を受け、前記記憶部（１０３）を参照して、前記第１の接続ＩＦ（例えば第１のポート）と前記第２の接続ＩＦ（例えば第２のポート）が、アドレスのフローティングに対応した共通の接続ＩＦ集合（共通のポート集合）に属するか否かを確認する。前記第２のユニット（アドレスのフローティング確認部１０２）は、前記第１の接続ＩＦと前記第２の接続ＩＦが共通の接続ＩＦ集合に属する場合には、アドレスのフローティングである（前記第２の接続ＩＦ先のノードは、前記第１の接続ＩＦ先のノードのアドレスの引き継ぎを行うノードである）、と判断し、前記第１の接続ＩＦと前記第２の接続ＩＦが共通の接続ＩＦ集合に属していない場合には、アドレスのフローティングでない（前記第２の接続ＩＦ先のノードは、前記第１の接続ＩＦ先のノードのアドレスの引き継ぎを行うノードではない）、と判断する。前記第２のユニット（１０２）がアドレスのフローティングであると判断した場合に、前記第１のユニット（１０１）は、前記通信装置（２０Ａ）における接続ＩＦを、前記第１の接続ＩＦ（２０２）から切り替えて、前記第２の接続ＩＦ（２０３）とする処理規則（２０１）を、前記通信装置（２０Ａ）に対して設定する。なお、特に制限されないが、上記第１、第２のユニットの処理は、制御装置を構成するコンピュータ（データ処理装置、プロセッサ、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ））上で動作するプログラムで実現してもよいことは勿論である。
【００３７】
本発明に好ましい態様及び実施形態の１つの側面において、前記アドレスのフローティングに対応した前記接続ＩＦ集合が、アドレスのフローティングに対応した通信装置のポート情報を含むポート集合を含むか、又は、前記ポート集合とＶＬＡＮ（Ｖｉｒｔｕａｌ  Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）情報の組を含む構成としてもよい。
【００３８】
本発明に好ましい態様及び実施形態の１つの側面において、フローティング対象となる前記アドレスは、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）アドレスであるか、又は、ＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）アドレスであってもよい。
【００３９】
特に制限されないが、前記所定プロトコルのパケットは、アドレス解決用のパケットを用いてアドレス重複を検出するために送信されたパケット（ＧＡＲＰ）であってもよい。あるいは、近隣広告（ＮＡ：Ｎｅｉｇｈｂｏｒ  Ａｄｖｅｒｔｉｓｅｍｅｎｔ）パケット又は、これらに準じたパケットとしてもよい。
【００４０】
特に制限されないが、アドレスのフローティングに対応した通信装置の接続ＩＦ情報を含む接続ＩＦ集合を記憶する記憶部（１０３）の情報を、通信装置（パケット転送機能を備えたノード装置）や通信装置（ノード装置）の接続ＩＦ（ポート）の増減等に応じて、動的に可変に設定制御するようにしてもよい。本発明のいくつかの形態において、通信装置（２０Ａ）の機能を、ＯＦＳに実装し、制御装置（１０Ａ）の機能を、ＯＦＣに実装するようにしてもよい。本発明のいくつかの好ましい形態によれば、前記所定のプロトコルのパケット受信に対して、アドレスのフローティングの有無を正しく判定することを可能としており、例えばアドレスのフローティングの誤判定等による誤った経路切替の発生を、回避可能としている。
【００４１】
［第１の実施形態］
＜システム構成＞
図１を参照すると、本発明の実施の形態の通信システムは、フローを特定するための照合規則と、前記照合規則に適用する処理内容とを対応付けたパケット転送ルールに従って、受信パケットを処理する複数のパケット転送機能２１〜２３と、前記パケット転送機能にパケット転送ルールを設定する経路制御機能１０と、を含む。この通信システムには、通信端末３０とサーバ機能４１〜４３が接続している。なお、図１において、パケット転送機能２３と各サーバ機能の接続を示す実線の脇に記載している数字（１、２、３）は、各サーバ機能が接続しているパケット転送機能２３のポート番号を示す。なお、本実施形態においてフローティングするアドレスはＩＰアドレスとする。パケット転送機能２１〜２３はネットワーク接続されたノード装置（通信装置）にそれぞれ実装する構成としてもよい。経路制御機能１０は、ノード装置（通信装置）を制御する制御装置に実装する構成としてもよい。
【００４２】
＜経路制御機能＞
図２は、図１の経路制御機能１０の詳細構成を表した図である。図２を参照すると、経路制御機能１０は、パケット転送機能２１〜２３との通信を行うノード通信部１１と、制御メッセージ処理部１２と、経路・アクション計算部１３と、パケット転送機能管理部１４と、トポロジ管理部１５と、通信端末位置管理部１６と、パケット転送ルール管理部１７Ａと、ポート集合管理部１８Ａとを備えている。これらの各部は、それぞれ次のように動作する。
【００４３】
制御メッセージ処理部１２は、パケット転送機能２１〜２３から受信した制御メッセージを解析して、経路制御機能１０内の該当する処理手段に制御メッセージ情報を引き渡す。
【００４４】
経路・アクション計算部１３は、通信端末位置管理部１６にて管理されている通信端末の位置情報と、トポロジ管理部１５にて構築されたトポロジ情報に基づいてパケットの転送経路上のパケット転送機能に実行させるアクションを求める。また経路・アクション計算部１３は、例えばＧＡＲＰパケットの受信により、アドレスのフローティングの発生の可能性を検知すると、ポート集合管理部１８Ａと連携し、実際にアドレスのフローティングが発生したか否かを判断する。アドレスのフローティングが発生し、且つ、フローティングしたアドレスに関連付けされたパケット転送ルールが設定されている場合には、アドレスのフローティング先でも継続して通信が続けられるように、パケット転送ルールの更新を行う。なお、前述したように、近隣広告パケットの受信により、アドレスのフローティングを判断するようにしてもよいことは勿論である。
【００４５】
パケット転送機能管理部１４は、経路制御機能１０によって制御されているパケット転送機能の能力（例えば、ポートの数や種類、サポートするアクションの種類など）を管理する。
【００４６】
トポロジ管理部１５は、ノード通信部１１を介して収集されたパケット転送機能の接続関係に基づいてネットワークトポロジ情報を構築する。
【００４７】
通信端末位置管理部１６は、通信システムに接続している通信端末の位置を特定するための情報を管理する。本実施形態では、通信端末位置管理部１６において、
・通信端末の通信システムへの接続点を識別する情報として、
通信端末のＭＡＣアドレスを使用し、
・通信端末の位置を特定するための情報として、
通信端末が接続しているパケット転送機能（図１の２１〜２３）を識別する情報と、そのポートの情報を使用することを想定している。ただし、他の情報を用いても良いことは勿論である。
【００４８】
パケット転送ルール管理部１７Ａは、どのパケット転送機能に、どのようなパケット転送ルールが設定されているかを管理する。具体的には、パケット転送ルール管理部１７Ａは、例えば経路・アクション計算部１３で計算された結果を、パケット転送ルールとしてパケット転送ルールデータベース（ＤＢ）１７Ｂに登録し、パケット転送機能（図１の２１、２２、２３等）に、パケット転送ルールを設定する。また、パケット転送ルール管理部１７Ａは、パケット転送機能（図１の２１、２２、２３等）からのパケット転送ルール削除通知等により、パケット転送機能（図１の２１、２２、２３等）において予め設定されているパケット転送ルールに変更が生じた場合等に対応して、パケット転送ルールデータベース（ＤＢ）１７Ｂに登録されている情報の更新を行う。
【００４９】
ポート集合管理部１８Ａは、ポート集合データベース（ＤＢ）１８Ｂにて、アドレスのフローティングが可能な範囲の情報を記憶管理する。図３は、ポート集合データベース（ＤＢ）１８Ｂに格納される情報を、模式的に例示する図である。図３を参照して、ポート集合管理部１８Ａが管理するポート集合データベース（ＤＢ）１８Ｂの情報について説明する。
【００５０】
＜ポート集合ＤＢの情報の一例＞
図３（Ａ）は、アドレスのフローティングが可能な範囲（アドレスのフローティング対応した通信装置とポート番号）を示す情報テーブルを例示している。１つのポート集合ＩＤに関連させて、１つ又は複数のパケット転送機能と、ポート番号の組の対応が格納されている。図３では、図１のサーバ機能４１とサーバ機能４２がそれぞれ接続しているパケット転送機能２３の１番ポートと２番ポートが同一のポート集合（ポート集合ＩＤ＝１）に属していることがわかる。
【００５１】
図３（Ｂ）は、フローティング対象のＩＰアドレスと、現在そのＩＰアドレスを使用しているインタフェース（ＩＦ）のＭＡＣアドレスの対応関係を示す情報テーブルである。本実施形態では、フローティングするアドレスとしてＩＰアドレスを想定しているため、図７に相当する情報テーブル（ＩＰアドレスとＭＡＣアドレスの対応表）を具備しているが、フローティングするアドレスがＭＡＣアドレスの場合、図３（Ｂ）の情報テーブルは不要である。
【００５２】
ポート集合管理部１８Ａは、ポート集合データベース（ＤＢ）１８Ｂに格納された情報テーブル（図３（Ａ）と図３（Ｂ）に示した２種類のテーブル）を用いて、実際にアドレスのフローティングが発生したか否かを判断する。
【００５３】
図１において、経路制御機能１０にて、パケット転送ルールを保持する必要が無い場合、パケット転送ルールＤＢ１７Ｂは省略することが可能である。また、パケット転送ルールＤＢ１７Ｂを、別途、外部サーバ（不図示）等に設ける構成としてもよい。
【００５４】
経路制御機能１０は、例えば非特許文献１に開示されるＯＦＣをベースに、ポート集合管理部１８Ａを、追加することで実現することも可能である。すなわち、図７のＯＦＣ１１０に、経路制御機能１０を実装することで、本発明を実施することが可能である。
【００５５】
パケット転送機能２１、２２、２３は、パケットを受信すると、パケット転送ルールを格納するパケット転送ルールテーブル（不図示）から、受信したパケットに適合するマッチングキー（マッチング情報）を持つパケット転送ルールを探し出し、パケット転送ルールに対応したアクションで規定される処理（例えば特定のポートへの転送、フラッディング（例えば接続した全てのノード（ポート）へのパケットの転送）、廃棄等）を実施する。パケット転送機能２１、２２、２３は、パケット転送ルールに従って受信パケットを転送する複数のノード装置にそれぞれ実装してもよい。パケット転送機能２１、２２、２３は、例えば図７のＯＦＳ１２１、１２２、１２３にそれぞれ実装してもよいことは勿論である。この場合、パケット転送ルールテーブルは、前述したＯＦＳのフローテーブルに対応させることができる。
【００５６】
図４を参照して、本実施形態の全体の動作について説明する。はじめに図１のサーバ機能４１とサーバ機能４２間でのＡｃｔｉｖｅ／Ｓｔａｎｄｂｙ状態の切り替え処理時の経路制御処理について説明する。続いて、サーバ機能４３が介入した際の処理について説明する。なお、図４では、通信端末３０〜サーバ機能４１間の通信が確立している状態を初期状態としている。なお、以下の説明で、各処理の説明文の文末等に付した括弧内の番号は、図４に模式的に示した代表的シーケンスの番号に対応する。
【００５７】
＜サーバ切替時の経路制御＞
はじめに、サーバ機能４１とサーバ機能４２間でのＡｃｔｉｖｅ／Ｓｔａｎｄｂｙ状態の切り替え処理時の経路制御処理について説明する。
【００５８】
サーバ機能４１、サーバ機能４２間でのＡｃｔｉｖｅ／Ｓｔａｎｄｂｙ状態の切り替え、つまり、Ｓｔａｎｄｂｙ状態であったサーバ機能４２がＡｃｔｉｖｅ状態に遷移する際に、ＩＰアドレスのフローティングが発生するため、フローティングＩＰに関するＧＡＲＰパケットをブロードキャストし（２）、フローティングＩＰに関連付けられたＭＡＣアドレスの変更を通信システムに通知する。パケット転送機能２３は経路制御機能１０に新規フロー発生通知を送信する（３）。経路制御機能１０のポート集合管理部１８Ａは、新規フロー発生通知を介して前記ＧＡＲＰを受信すると、前記ＧＡＲＰに関連付けされたＩＰアドレスのフローティングが行われたかを判断する処理を行う。
【００５９】
＜アドレスのフローティングの判断＞
図５を参照して、経路制御機能１０における、ＩＰアドレスのフローティングが行われたか否かの判断処理について説明する。
【００６０】
経路制御機能１０のポート集合管理部１８Ａは、新規フロー発生通知を介して前記ＧＡＲＰを受信すると（Ｓ１）、それまで、前記ＧＡＲＰパケットに関連付けられていたＩＰアドレス（ＧＡＲＰパケットで同一値に設定された送信元と宛先（ＭＡＣアドレス問い合わせ先）のＩＰアドレス）を使用していたインタフェースが接続されていたパケット転送機能のポート（「旧ポート」という）を確認する（Ｓ２）。経路制御機能１０による旧ポートの確認の仕方は、以下の通りである。
【００６１】
図２のポート集合管理部１８Ａは、図３のテーブルを用いて、それまで前記ＧＡＲＰパケットに関連付けされていたＩＰアドレスを使っていたインタフェースのＭＡＣアドレスを特定する。
【００６２】
通信端末位置管理部１６が持つ情報と組み合わせて旧ポートを特定する。本実施形態では、旧ポートはパケット転送機能２３の１番ポートになる。
【００６３】
次に、経路制御機能１０のポート集合管理部１８Ａは、旧ポートと、前記ＧＡＲＰパケットを今回受信したパケット転送機能のポート番号（「新ポート」という）とを比較する（図５のＳ３）。なお、新ポートに関する情報は、例えば、新規フロー発生通知に含むようにしてもよい。
【００６４】
経路制御機能１０のポート集合管理部１８Ａは、新旧ポートの比較の結果、新旧ポートが同一であれば（図５のＳ３のＮ分岐）、アドレスのフローティングは発生していないものと判断する（図５のＳ４）。
【００６５】
経路制御機能１０のポート集合管理部１８Ａは、新旧ポートの比較の結果、新旧ポートが一致していなければ（図５のＳ３のＹ分岐）、ポート集合管理部１８Ａが持つ図３のテーブルを参照して、新旧ポートが同一（共通）のポート集合に属するか（存在するか）否かを判断する。
【００６６】
新旧ポートが同一ポート集合に属していない場合（図５のＳ５のＮ分岐）、経路制御機能１０のポート集合管理部１８Ａは、アドレスのフローティングではなく、例えば設定ミス等により、アドレスの重複が発生したものと判断する（図５のＳ６）。
【００６７】
経路制御機能１０のポート集合管理部１８Ａは、新旧ポートが同一ポート集合に属している（存在している）場合（図５のＳ５のＹ分岐）、アドレスのフローティングが発生したものと判断する（図５のＳ７）。経路制御機能１０は、パケット転送ルール管理部１７Ａが管理する情報から、前記アドレスフローティングしたＩＰアドレスに関連付けされたパケット転送ルールに関して、その経路の終端点を、サーバ機能４１からサーバ機能４２へ変更するための経路切り替え処理を実行する（図５のＳ８）。
【００６８】
サーバ機能４１とサーバ機能４２のＡｃｔｉｖｅ／Ｓｔａｎｄｂｙ状態の切り替えでは、新旧ポートが同一ポート集合に属しているため、経路制御機能１０から経路設定変更指示がパケット転送機能２１、２２、２３に送信され（図４の５−１、５−２、５−３）、経路切り替えが行われる。
【００６９】
＜別のサーバ介入時のアドレスのフローティングの判断＞
次に、サーバ機能４３の介入した際の処理について説明する。
【００７０】
サーバ機能４３が通信システムに接続されると、サーバ機能４３自身に設定されたＩＰアドレスを用いて通信するために、該ＩＰアドレスに関するＧＡＲＰパケット（ＭＡＣアドレスの問い合わせ先のＩＰアドレスと送信元のＩＰアドレスが同一とされる）を通信システムに向けてブロードキャストする（図４の７）。このＩＰアドレスは、サーバ機能４２が使用しているフローティングＩＰと同一である。このため、経路制御機能１０は、新規フロー発生通知（図４の８）を介して、前記ＧＡＲＰパケットを受信すると、図５の流れ図で示した判断を行う。新規フロー発生通知（図４の８）から、パケット転送機能２３では、新ポート：ポート番号３（図１参照）から、サーバ機能４３からのＧＡＲＰパケットを入力していることがわかる。新ポート（ポート番号３）は、サーバ機能４２からのＧＡＲＰパケット（図４のシーケンス２）の宛先及び送信元ＩＰアドレスと、同一のIPアドレスを含むパケットの転送にそれまで用いていた旧ポート：ポート番号２とは異なる。したがって、図５において、新旧ポートが同一ポート集合に属していないので（Ｓ５のＮ分岐）、経路制御機能１０のポート集合管理部１８Ａは、アドレスのフローティングではないと判断し（図４の９、図５のＳ６）、経路の切り替え処理を行わない。通信端末３０はサーバ機能４２とデータ通信を行う（１０）。すなわち、サーバ機能４３の介入によるアドレスのフローティングの誤判定、及び、該誤判定による経路の切り替えは回避され、通信端末３０とサーバ機能４２との間で設定されている経路（パケット転送機能２１〜２２、及び、パケット転送機能２３のポート番号２）を介してデータ通信が行われる。
【００７１】
本実施形態では、経路制御機能１０が管理するポート集合を構成する情報として、パケット転送機能と、ポート番号の組を用いたが、パケット転送機能とポート番号の組にＶｉｒｔｕａｌ  Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ（ＶＬＡＮ）を加えて管理する構成としても良い。ＶＬＡＮは、例えばレイヤ２スイッチのポートごとにグループ化しＩＤ（識別情報）を付与するポートベースＶＬＡＮであってもよい。この場合、図３（Ａ）のポート集合ＩＤの欄をＶＬＡＮ−ＩＤとしてもよい。
【００７２】
本実施形態では、フローティングするアドレスとして、ＩＰアドレスを用いた例を説明したが、ＭＡＣアドレスを用いても良い。
【００７３】
本実施形態では、経路制御機能１０が管理するポート集合を構成する情報は、静的に管理するようにしてもよい（例えば、ある時点で設定後、その設定を固定的に保持する）。あるいは、経路制御機能１０が管理するポート集合を構成する情報を、動的に更新するようにしても良い。特に制限されないが、経路制御機能１０が管理するポート集合を構成する情報の動的更新のトリガーとなるイベントとしては、例えば、
・新規ノードの接続や離脱、または
・サーバに仮想マシン（Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ：ＶＭ）を実装した場合における仮想マシンの起動／停止、
等、ノード単位での増減設やインタフェースの増設やインタフェース障害発生等のインタフェース単位での増減設などが挙げられる。なお、仮想マシン（ＶＭ）は、サーバを仮想化しサーバハードウェアとＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）間に仮想レイヤ（例えばハイパーバイザ）等を備える。例えば、ネットワークを仮想化し、上記パケット転送機能等を仮想マシン（ＶＭ）に実装し仮想化したネットワークに接続するようにしてもよい。あるいは、仮想マシンで通信端末等クライアントのアプリケーション等を動作させ、通信端末等のクライアントが処理結果を取得するシンクライント方式等にも適用可能である。
【００７４】
なお、通信端末３０は、直接又は間接にＯＦＳを介してサーバに接続可能な端末（例えば携帯情報端末、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）等）であれば任意の端末であってよい。
【００７５】
以上、本発明の各実施形態を説明したが、本発明は、上記した実施形態に限定されるものではなく、更なる変形・置換・調整を加えることができる。
【００７６】
なお、上記の特許文献及び非特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素の多様な組み合わせ、ないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得る各種変形、修正を含むことは勿論である。
【符号の説明】
【００７７】
１０  経路制御機能
１０Ａ  制御装置
１１  ノード通信部
１２  制御メッセージ処理部
１３  経路・アクション計算部
１４  パケット転送機能管理部
１５  トポロジ管理部
１６  通信端末位置管理部
１７Ａ  パケット転送ルール管理部
１７Ｂ  パケット転送ルールデータベース（ＤＢ）
１８Ａ  ポート集合管理部
１８Ｂ  ポート集合データベース（ＤＢ）
２０Ａ  通信装置（ノード装置）
２１、２１、２３  パケット転送機能
３０  通信端末
４１、４２、４３  サーバ機能
１０１  処理規則生成設定部（第１のユニット）
１０２  アドレスのフローティング確認部（第２のユニット）
１０３  アドレスのフローティング対応接続ＩＦ情報記憶部
１１０  オープンフローコントローラ（ＯＦＣ）
１２０  フローテーブル（フローエントリ）
１２１〜１２３  オープンフロースイッチ（ＯＦＳ）
１３０  通信端末
１４１〜１４３  サーバ
２０１  処理規則
２０２  通信装置の第１の接続ＩＦ（第１のポート）
２０３  通信装置の第２の接続ＩＦ（第２のポート）
【図１】
2014132954.tif 000003
【図２】
2014132954.tif 000004
【図３】
2014132954.tif 000005
【図４】
2014132954.tif 000006
【図５】
2014132954.tif 000007
【図６】
2014132954.tif 000008
【図７】
2014132954.tif 000009
【図８】
2014132954.tif 000010
【図９】
2014132954.tif 000011
【国際調査報告】
2014132954.tif 000012
2014132954.tif 000013
2014132954.tif 000014