(57)【要約】      （修正有）【課題】異なる通信プロトコルを使用する通信ネットワークに接続された機器同士が、オープンフロー技術を使用した通信を行うことができるようにする。【解決手段】フロースイッチの制御装置５０は、記憶部６１に条件情報と処理情報とが関連付けされて記憶され、第１装置７１から第２装置８１への通信情報の内容が、条件情報の条件を満たす場合に、処理情報にしたがって当該通信情報を処理するフロースイッチ６０に対して、第１及び第２の装置が、順に、第１及び第２のプロトコルを使用する場合に、第１及び第２の装置のアドレスを第１プロトコルで表した第１及び第２のアドレスを関連付けて、条件情報として登録する条件情報登録部５１と、第１アドレスを第２プロトコルで表した第３アドレスに変換し、第２アドレスを第２プロトコルで表した第４アドレスに変換することを、処理情報として登録する処理情報登録部５２と、を備える。【選択図】図１１
2018006847.tif 000002
【特許請求の範囲】
【請求項１】
記憶手段に条件情報と処理情報とが関連付けされて記憶され、第一の装置から第二の装置に対して発行された通信情報の内容が、前記条件情報が示す条件を満たす場合に、前記処理情報が示す処理内容にしたがって、前記通信情報を処理するフロースイッチに対して、
前記第一の装置が、第一のプロトコルを使用する第一の通信ネットワークと接続され、かつ、前記第二の装置が、第二のプロトコルを使用する第二の通信ネットワークと接続されている場合に、前記第一の装置のアドレスを前記第一のプロトコルにより表した第一のアドレスと、前記第二の装置のアドレスを前記第一のプロトコルにより表した第二のアドレスと、を関連付けて、前記条件情報として前記記憶手段に登録する条件情報登録手段と、
前記第一のアドレスを、前記第一の装置のアドレスが前記第二のプロトコルにより表された第三のアドレスに変換するとともに、前記第二のアドレスを、前記第二の装置のアドレスが前記第二のプロトコルにより表された第四のアドレスに変換することを、前記処理情報として前記記憶手段に登録する処理情報登録手段と、
を備えるフロースイッチの制御装置。
【請求項２】
前記処理情報登録手段は、前記第一のアドレスと前記第三のアドレスとを相互に変換可能な対応関係を表す情報であって、前記第二のアドレスと前記第四のアドレスとを相互に変換可能な対応関係を表す情報に基づいて、前記第一のアドレスを前記第三のアドレスに変換するとともに、前記第二のアドレスを前記第四のアドレスに変換することを、前記処理情報として前記記憶手段に登録する、
請求項１に記載のフロースイッチの制御装置。
【請求項３】
前記処理情報登録手段は、アドレス変換基準に基づいて、前記第一のアドレスから前記第三のアドレスを算出するとともに、前記第二のアドレスから前記第四のアドレスを算出することによって、前記第一のアドレスを前記第三のアドレスに変換するとともに、前記第二のアドレスを前記第四のアドレスに変換することを、前記処理情報として前記記憶手段に登録する、
請求項１に記載のフロースイッチの制御装置。
【請求項４】
前記第一のプロトコルはＩＰｖ４であり、前記第二のプロトコルはＩＰｖ６である、
請求項１乃至３のいずれか一項に記載のフロースイッチの制御装置。
【請求項５】
前記第一のプロトコルはＩＰｖ６であり、前記第二のプロトコルはＩＰｖ４である、
請求項１乃至３のいずれか一項に記載のフロースイッチの制御装置。
【請求項６】
前記処理情報登録手段は、前記第一のアドレスを前記第三のアドレスに変換するとともに、前記第二のアドレスを前記第四のアドレスに変換する際に、ＲＦＣ６１４５  ＩＰ／ＩＣＭＰトランスレーションアルゴリズムを用いることを、前記処理情報として前記記憶手段に登録する、
請求項４または５に記載のフロースイッチの制御装置。
【請求項７】
請求項１乃至６のいずれか一項に記載のフロースイッチの制御装置と、
前記フロースイッチと、
を含むフロー制御システム。
【請求項８】
前記フロースイッチは、オープンフロー制御を行わない、前記第一あるいは第二のプロトコルを使用した通信制御スイッチと通信可能に接続されている、
請求項７に記載のフロー制御システム。
【請求項９】
記憶手段に条件情報と処理情報とが関連付けされて記憶され、第一の装置から第二の装置に対して発行された通信情報の内容が、前記条件情報が示す条件を満たす場合に、前記処理情報が示す処理内容にしたがって、前記通信情報を処理するフロースイッチに対して、
情報処理装置によって、
前記第一の装置が、第一のプロトコルを使用する第一の通信ネットワークと接続され、かつ、前記第二の装置が、第二のプロトコルを使用する第二の通信ネットワークと接続されている場合に、前記第一の装置のアドレスを前記第一のプロトコルにより表した第一のアドレスと、前記第二の装置のアドレスを前記第一のプロトコルにより表した第二のアドレスと、を関連付けて、前記条件情報として前記記憶手段に登録し、
前記第一のアドレスを、前記第一の装置のアドレスが前記第二のプロトコルにより表された第三のアドレスに変換するとともに、前記第二のアドレスを、前記第二の装置のアドレスが前記第二のプロトコルにより表された第四のアドレスに変換することを、前記処理情報として前記記憶手段に登録する、
フロースイッチの制御方法。
【請求項１０】
記憶手段に条件情報と処理情報とが関連付けされて記憶され、第一の装置から第二の装置に対して発行された通信情報の内容が、前記条件情報が示す条件を満たす場合に、前記処理情報が示す処理内容にしたがって、前記通信情報を処理するフロースイッチに対して、
前記第一の装置が、第一のプロトコルを使用する第一の通信ネットワークと接続され、かつ、前記第二の装置が、第二のプロトコルを使用する第二の通信ネットワークと接続されている場合に、前記第一の装置のアドレスを前記第一のプロトコルにより表した第一のアドレスと、前記第二の装置のアドレスを前記第一のプロトコルにより表した第二のアドレスと、を関連付けて、前記条件情報として前記記憶手段に登録する条件情報登録処理と、
前記第一のアドレスを、前記第一の装置のアドレスが前記第二のプロトコルにより表された第三のアドレスに変換するとともに、前記第二のアドレスを、前記第二の装置のアドレスが前記第二のプロトコルにより表された第四のアドレスに変換することを、前記処理情報として前記記憶手段に登録する処理情報登録処理と、
をコンピュータに実行させるためのフロースイッチの制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本願発明は、フロースイッチを用いて、通信制御を行う技術に関する。
【背景技術】
【０００２】
インターネットに代表される通信ネットワークが高度に発達した現代社会において、ＩｏＴ（Internet of Things）等の技術が提唱されている。このＩｏＴでは、あらゆる機器をインターネットに接続することを目指すので、インターネットに接続される機器の数は飛躍的に増加する。したがって、今日のインターネットにおいて、最も一般的に利用されているプロトコルであるＩＰｖ４（Internet Protocol Version 4）では、ＩＰアドレスが枯渇することが問題となっており、次世代のプロトコルであるＩＰｖ６への移行が急務とされている。
【０００３】
インターネットのプロトコルがＩＰｖ４からＩＰｖ６に移行していく過程において、ＩＰｖ４を使用したシステムと、ＩＰｖ６を使用したシステムとが共存することになる。このため、ＩＴＥＦ（Internet Engineering Task Force）などにより、ＩＰｖ４とＩＰｖ６とを併用する方式として、例えば、４６４ＸＬＡＴ（Combination of Stateful and Stateless Translation）（ＲＦＣ（Request for Comments）６８７７）やＤＳ−Ｌｉｔｅ（Dual-Stack Lite）（ＲＦＣ６３３３）等が標準化されている。そして、ＩＰｖ４を使用した通信ネットワークに接続された機器と、ＩＰｖ６を使用した通信ネットワークに接続された機器とが、通信を行えるようにする技術に対する期待が高まってきている。
【０００４】
このような技術に関連する技術として、特許文献１には、ＩＰｖ４に依存するデバイスがＩＰｖ６に依存するデバイスと相互作用することを望む場合の制限を緩和する分割ネットワーク変換を行う方法が開示されている。この方法では、複数のネットワーク構成要素間において、自律システムを介して転送されたメッセージに対するネットワークアドレス変換について、上流メッセージを特定のメッセージの経路について変換するように、１つのネットワーク構成要素に指示する。そして、この方法では、下流メッセージを同じメッセージ経路について変換するように、異なるネットワーク構成要素に指示する。
【０００５】
また、特許文献２には、アドレス変換装置とＳＩＰ（Session Initiation Protocol）アドレス変換装置とが連携することにより、異なる領域に属する端末同士のＳＩＰ通信を行えるようにする方法が開示されている。この方法では、アドレス変換装置は、ＳＩＰメッセージ検出機能を備え、ＳＩＰメッセージを検出したときに、ＳＩＰアドレス変換装置にＳＩＰメッセージを送信する。ＳＩＰアドレス変換装置は、変換対象アドレスを抽出したのち、アドレス変換装置に問い合わせる。ＳＩＰアドレス変換装置は、アドレス変換装置の変換情報を活用することによって、ＳＩＰメッセージに含まれるＩＰアドレスを変換する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開2015-204626号公報
【特許文献２】特開2009-207207号公報
【非特許文献】
【０００７】
【非特許文献１】”IP/ICMP Translation Algorithm”、［Online］、［平成２８年６月２０日検索］、インターネット<URL: https://tools.ietf.org/html/rfc6145>
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ソフトウェアによってネットワークの構成などをプログラミングすることを可能とするＳＤＮ（Software-Defined Networking）を実現する技術標準の１つとして、ＰｒｏｇｒａｍｍａｂｌｅＦｌｏｗ（登録商標）（プログラマブルフロー）などのＯｐｅｎＦｌｏｗ（登録商標）（オープンフロー）技術がある。現在、このオープンフローを使用した通信ネットワークシステムが増加しつつあることから、上述したＩＰｖ４とＩＰｖ６とが共存するシステムにおいても、オープンフローを使用できるようにする必要がある。しかしながら、現在のオープンフローには、ＩＰｖ４とＩＰｖ６との間でプロトコルを変換する機能が実装されていないので、ＩＰｖ４を使用した通信ネットワークに接続された機器と、ＩＰｖ６を使用した通信ネットワークに接続された機器とが、オープンフローを使用した通信を行うことができないという問題がある。特許文献１及び２は、この問題について言及していない。本願発明の主たる目的は、この問題を解決するフロースイッチの制御装置等を提供することである。
【課題を解決するための手段】
【０００９】
本願発明の一態様に係るフロースイッチの制御装置は、記憶手段に条件情報と処理情報とが関連付けされて記憶され、第一の装置から第二の装置に対して発行された通信情報の内容が、前記条件情報が示す条件を満たす場合に、前記処理情報が示す処理内容にしたがって、前記通信情報を処理するフロースイッチに対して、前記第一の装置が、第一のプロトコルを使用する第一の通信ネットワークと接続され、かつ、前記第二の装置が、第二のプロトコルを使用する第二の通信ネットワークと接続されている場合に、前記第一の装置のアドレスを前記第一のプロトコルにより表した第一のアドレスと、前記第二の装置のアドレスを前記第一のプロトコルにより表した第二のアドレスと、を関連付けて、前記条件情報として前記記憶手段に登録する条件情報登録手段と、前記第一のアドレスを、前記第一の装置のアドレスが前記第二のプロトコルにより表された第三のアドレスに変換するとともに、前記第二のアドレスを、前記第二の装置のアドレスが前記第二のプロトコルにより表された第四のアドレスに変換することを、前記処理情報として前記記憶手段に登録する処理情報登録手段と、を備える。
【００１０】
上記目的を達成する他の見地において、本願発明の一態様に係るフロースイッチの制御方法は、記憶手段に条件情報と処理情報とが関連付けされて記憶され、第一の装置から第二の装置に対して発行された通信情報の内容が、前記条件情報が示す条件を満たす場合に、前記処理情報が示す処理内容にしたがって、前記通信情報を処理するフロースイッチに対して、情報処理装置によって、前記第一の装置が、第一のプロトコルを使用する第一の通信ネットワークと接続され、かつ、前記第二の装置が、第二のプロトコルを使用する第二の通信ネットワークと接続されている場合に、前記第一の装置のアドレスを前記第一のプロトコルにより表した第一のアドレスと、前記第二の装置のアドレスを前記第一のプロトコルにより表した第二のアドレスと、を関連付けて、前記条件情報として前記記憶手段に登録し、前記第一のアドレスを、前記第一の装置のアドレスが前記第二のプロトコルにより表された第三のアドレスに変換するとともに、前記第二のアドレスを、前記第二の装置のアドレスが前記第二のプロトコルにより表された第四のアドレスに変換することを、前記処理情報として前記記憶手段に登録する。
【００１１】
また、上記目的を達成する更なる見地において、本願発明の一態様に係るフロースイッチの制御プログラムは、記憶手段に条件情報と処理情報とが関連付けされて記憶され、第一の装置から第二の装置に対して発行された通信情報の内容が、前記条件情報が示す条件を満たす場合に、前記処理情報が示す処理内容にしたがって、前記通信情報を処理するフロースイッチに対して、前記第一の装置が、第一のプロトコルを使用する第一の通信ネットワークと接続され、かつ、前記第二の装置が、第二のプロトコルを使用する第二の通信ネットワークと接続されている場合に、前記第一の装置のアドレスを前記第一のプロトコルにより表した第一のアドレスと、前記第二の装置のアドレスを前記第一のプロトコルにより表した第二のアドレスと、を関連付けて、前記条件情報として前記記憶手段に登録する条件情報登録処理と、前記第一のアドレスを、前記第一の装置のアドレスが前記第二のプロトコルにより表された第三のアドレスに変換するとともに、前記第二のアドレスを、前記第二の装置のアドレスが前記第二のプロトコルにより表された第四のアドレスに変換することを、前記処理情報として前記記憶手段に登録する処理情報登録処理と、をコンピュータに実行させるためのプログラムである。
【００１２】
更に、本願発明は、係るフロースイッチの制御プログラム（コンピュータプログラム）が格納された、コンピュータ読み取り可能な、不揮発性の記録媒体によっても実現可能である。
【発明の効果】
【００１３】
本願発明は、異なる通信プロトコルを使用する通信ネットワークに接続された機器同士が、オープンフロー技術を使用した通信を行うことを可能とする。
【図面の簡単な説明】
【００１４】
【図１】本願発明の第１の実施形態に係るフロー制御システム１の構成を示すブロック図である。
【図２】本願発明の第１の実施形態に係るフローエントリ２２の構成を例示する図である。
【図３】本願発明の第１の実施形態に係るＩＰｖ４からＩＰｖ６への変換用フローエントリ２２−１の構成を例示する図である。
【図４】本願発明の第１の実施形態に係るｆｌｏｗ＿ｍｏｄメッセージ１００の構成を例示する図（ＩＰｖ６への変換処理内容をフローエントリ２２へ登録する場合）である。
【図５】本願発明の第１の実施形態に係るＩＰｖ６からＩＰｖ４への変換用フローエントリ２２−２の構成を例示する図である。
【図６】本願発明の第１の実施形態に係るｆｌｏｗ＿ｍｏｄメッセージ１００の構成を例示する図（ＩＰｖ４への変換処理内容をフローエントリ２２へ登録する場合）である。
【図７】本願発明の第１の実施形態に係るフロー制御システム１において送受信されるＩＰｖ４パケット及びＩＰｖ６パケットのヘッダの構成を例示する図である。
【図８】本願発明の第１の実施形態に係るフロースイッチ２０による、ＩＰｖ４パケットのヘッダからＩＰｖ６パケットのヘッダへの変換方法を例示する図である。
【図９】本願発明の第１の実施形態に係るフロースイッチ２０による、ＩＰｖ６パケットのヘッダからＩＰｖ４パケットのヘッダへの変換方法を例示する図である。
【図１０Ａ】本願発明の第１の実施形態に係るフロー制御システム１の動作を示すフローチャート（１／２）である。
【図１０Ｂ】本願発明の第１の実施形態に係るフロー制御システム１の動作を示すフローチャート（２／２）である。
【図１１】本願発明の第２の実施形態に係るフロースイッチの制御装置５０の構成を示すブロック図である。
【図１２】本願発明の各実施形態に係るフロースイッチの制御装置を実行可能な情報処理装置の構成を示すブロック図である。
【発明を実施するための形態】
【００１５】
以下、本願発明の実施の形態について図面を参照して詳細に説明する。
【００１６】
＜第１の実施形態＞
図１は、本願発明の第１の実施の形態に係るフロー制御システム１の構成を概念的に示すブロック図である。フロー制御システム１は、異なる通信プロトコルを使用する通信ネットワークに接続された機器同士が、オープンフロー技術を使用した通信を行えるようにしたシステムである。
【００１７】
本実施形態にかかるフロー制御システム１は、大別して、制御装置１０、フロースイッチ２０、端末装置３１、及び、端末装置４１を有している。端末装置３１は、ＩＰｖ４（第一のプロトコル）を使用するＩＰｖ４ネットワーク３０（第一の通信ネットワーク）に接続されている。すなわち、端末装置３１は、ＩＰｖ４による通信を行うための通信インタフェースを備える装置である。端末装置３１には、ＩＰｖ４により表したＩＰアドレス「ＩＰ４＿ａ」が付与されていることとする。端末装置４１は、ＩＰｖ６（第二のプロトコル）を使用するＩＰｖ６ネットワーク４０（第二の通信ネットワーク）に接続されている。すなわち、端末装置４１は、ＩＰｖ６による通信を行うための通信インタフェースを備える装置である。端末装置３１には、ＩＰｖ６により表したＩＰアドレス「ＩＰ６＿Ｂ」が付与されていることとする。
【００１８】
フロースイッチ２０は、ＩＰｖ４ネットワーク３０、及び、ＩＰｖ６ネットワーク４０に接続されている。フロースイッチ２０は、ＩＰｖ４ネットワーク３０から受信したＩＰｖ４通信パケット（以降、本願ではパケットと称する場合がある）を、ＩＰｖ６パケットに変換したのち、当該パケットをＩＰｖ６ネットワーク４０に送信する機能を備える。フロースイッチ２０は、また、ＩＰｖ６ネットワーク４０から受信したＩＰｖ６パケットを、ＩＰｖ４パケットに変換したのち、当該パケットをＩＰｖ４ネットワーク３０に送信する機能を備える。
【００１９】
フロースイッチ２０は、記憶部２１を備えている。記憶部２１は、フローエントリ２２を記憶している。フローエントリ２２は、フロースイッチ２０が、ＩＰｖ４ネットワーク３０、あるいは、ＩＰｖ６ネットワーク４０から受信したパケットに対して、オープンフローによる制御を行う際に使用する情報である。フロースイッチ２０は、４６４ＸＬＡＴ、及び、ＤＳ−Ｌｉｔｅ等の標準化された機能を備えていてもよい。
【００２０】
図２は、本実施形態に係るフローエントリ２２の構成を概念的に例示する図である。図２に例示する「フィールド名」は、フィールド（記憶領域）の名称を示す。図２に例示する「内容」は、各フィールドに格納された情報の内容を示す。図２に例示する通り、フローエントリ２２は、マッチフィールド(Match Fields)２２１、プライオリティ(Priority)２２２、カウンタ(Counters)２２３、インストラクション(Instructions)２２４、タイムアウト(Timeouts)２２５、及び、クッキー(Cookie)２２６というフィールドを含む情報である。プライオリティ２２２、カウンタ２２３、タイムアウト２２５、及び、クッキー２２６については、本実施形態では使用しなくてもよいので、その詳細な説明は省略する。
【００２１】
マッチフィールド２２１は、受信したパケットに含まれる情報が、条件を満たすか否かを確認するために、受信したパケットに含まれる情報と照合を行う内容を示す条件情報である。マッチフィールド２２１は、図２に例示する内容欄に示す通り、例えば、入力ポート、送信元と送信先のＭＡＣ（Media Access Control）アドレス、送信元と送信先のＩＰアドレス、イーサタイプ、ＶＬＡＮ（Virtual Local Area Network）等に関する条件を示す条件情報を含んでいる。
【００２２】
インストラクション２２４は、受信したパケットに含まれる情報が、マッチフィールド２２１が示す特定の条件を満たす場合に、フロースイッチ２０が、当該特定の条件と関連付けされた、当該パケットに対して行う処理内容を示す処理情報である。インストラクション２２４は、その処理内容として、例えば、特定ポートへの送信を行うこと、ＶＬＡＮヘッダの追加／削除を行うこと、特定フィールドへの値の設定すること等を含んでいる。
【００２３】
図１に示すフロースイッチ２０は、端末装置３１あるいは端末装置４１から送信されたパケットを受信したときに、当該パケットに含まれる情報が、マッチフィールド２２１が示す特定の条件を満たすか否かを確認する。フロースイッチ２０は、当該パケットに含まれる情報が、その特定の条件を満たす場合に、インストラクション２２４において、当該特定の条件と関連付けされた処理内容を、当該パケットに対して行う。
【００２４】
制御装置１０は、フロースイッチ２０に対する制御を行う装置（コントローラ）であり、フローエントリ２２の内容を、追加、更新、あるいは削除する機能を有する。制御装置１０は、条件情報登録部１１、及び、処理情報登録部１２を備えている。条件情報登録部１１は、フローエントリ２２におけるマッチフィールド２２１に対して、情報を追加、更新、あるいは削除する。処理情報登録部１２は、インストラクション２２４に対して、情報を追加、更新、あるいは削除する。
【００２５】
条件情報登録部１１及び処理情報登録部１２には、端末装置３１に対して付与されている、ＩＰｖ４により表したＩＰアドレス「ＩＰ４＿ａ」（第一のアドレス）に互いに変換可能に対応する、ＩＰｖ６により表したＩＰアドレスが「ＩＰ６＿Ａ」（第三のアドレス）であることを示す情報を外部から与えられる。条件情報登録部１１及び処理情報登録部１２は、あるいは、アドレス変換基準（不図示）に基づいて、ＩＰｖ４により表したＩＰアドレス「ＩＰ４＿ａ」に互いに変換可能に対応する、ＩＰｖ６により表したＩＰアドレスが「ＩＰ６＿Ａ」であることを算出してもよい。
【００２６】
条件情報登録部１１及び処理情報登録部１２には、端末装置４１に対して付与されている、ＩＰｖ６により表したＩＰアドレス「ＩＰ６＿Ｂ」（第四のアドレス）に互いに変換可能に対応する、ＩＰｖ４により表したＩＰアドレスが「ＩＰ４＿ｂ」（第二のアドレス）であることを示す情報を外部から与えられる。条件情報登録部１１及び処理情報登録部１２は、あるいは、アドレス変換基準に基づいて、ＩＰｖ６により表したＩＰアドレス「ＩＰ６＿Ｂ」に互いに変換可能に対応する、ＩＰｖ４により表したＩＰアドレスが「ＩＰ４＿ｂ」であることを算出してもよい。
【００２７】
制御装置１０は、端末装置３１と端末装置４１とが通信を行う前に、フローエントリ２２に対して、所定の情報を登録する。制御装置１０は、その所定の情報として、例えば、ＩＰｖ４とＩＰｖ６について、ＭＡＣ解決用（ＭＡＣ取得用）の情報を登録する。この場合、ＩＰｖ４について、条件情報登録部１１は、マッチフィールド２２１に対して、例えば、「ETH_TPPE = 0x0806(ARP)」という情報を登録する。「ETH TPPE」は、イーサタイプを表し、「ARP (Address Resolution Protocol)」は、ＩＰアドレスからＭＡＣアドレスを得るためのプロトコルを表す。尚、「0x」は、１６進数であることを表す。このとき、処理情報登録部１２は、条件情報登録部１１によってマッチフィールド２２１に登録された情報と関連付けて、インストラクション２２４に対して、例えば、「受信したＡＲＰリクエストを、パケットインメッセージに設定して制御装置１０へ送信すること」という情報を登録する。
【００２８】
条件情報登録部１１は、ＩＰｖ６に関するＭＡＣ解決用の情報として、マッチフィールド２２１に対して、例えば、「ETH_TPPE = 0x86dd(IPv6), IP_PROTO = 58(ICMPV6), ICMPV6_TYPE = 135(Neighbor Solicitation)」という情報を登録する。「Neighbor Solicitation」は、ＩＰｖ６におけるＩＰアドレスからＭＡＣアドレスを得るためのプロトコルを表す。このとき、処理情報登録部１２は、条件情報登録部１１によってマッチフィールド２２１に登録された情報と関連付けて、インストラクション２２４に対して、例えば、「受信したNeighbor Solicitationを、パケットインメッセージに設定して制御装置１０へ送信すること」という情報を登録する。
【００２９】
フロースイッチ２０は、端末装置３１あるいは４１から、通信を開始するのにあたって発行されたＡＲＰリクエスト（あるいは「Neighbor Solicitation」）を受信したとき、上述の通りフローエントリ２２に登録されたＭＡＣ解決用の情報に基づいて、パケットインメッセージを制御装置１０へ送信する。制御装置１０は、フロースイッチ２０からの当該パケットインメッセージの受信を契機として、パケットをＩＰｖ４からＩＰｖ６、及び、ＩＰｖ６からＩＰｖ４へ変換するのに必要な情報を、フローエントリ２２に対して登録する。
【００３０】
図３は、本実施形態に係る制御装置１０によって登録される、ＩＰｖ４からＩＰｖ６への変換用フローエントリ２２−１の構成を概念的に例示する図である。ＩＰｖ４からＩＰｖ６への変換用フローエントリ２２−１は、フローエントリ２２に含まれる、パケットをＩＰｖ４からＩＰｖ６へ変換するのに必要な情報である。
【００３１】
条件情報登録部１１は、図３に例示する通り、マッチフィールド２２１に対して、「IPv4_SRC = IP4_a, IPv4_DST = IP4_b」という情報を登録する。この場合、マッチフィールド２２１は、条件情報として、「ＩＰｖ４ネットワークを介して受信したパケットが、送信元アドレスとして「IP4_a」を含み、送信先アドレスとして「IP4_b」を含む」ことを示している。
【００３２】
処理情報登録部１２は、図３に例示する通り、インストラクション２２４に対して、「<TRANSLATE_46>. IPv6_SRC = IP6_A, IPv6_DST = IP6_B」という情報を登録する。この場合、インストラクション２２４は、処理情報として、「受信したＩＰｖ４パケットをＩＰｖ６パケットに変換するのにあたり、送信元アドレスを「IP6_A」に変換し、送信先アドレスを「IP6_B」に変換する」ことを示している。
【００３３】
図４は、処理情報登録部１２が、ＩＰｖ４からＩＰｖ６への変換用フローエントリ２２−１におけるインストラクション２２４に対して処理情報を登録する際に、フロースイッチ２０に送信するｆｌｏｗ＿ｍｏｄメッセージ１００の構成を概念的に例示する図である。この場合、ｆｌｏｗ＿ｍｏｄメッセージ１００は、図４に例示する通り、「受信したＩＰｖ４パケットをＩＰｖ６パケットに変換するのにあたり、送信元アドレスを「IP6_A」に変換し、送信先アドレスを「IP6_B」に変換する」ことを示す処理情報を含んでいる。
【００３４】
図５は、本実施形態に係る制御装置１０によって登録される、ＩＰｖ６からＩＰｖ４への変換用フローエントリ２２−２の構成を概念的に例示する図である。ＩＰｖ６からＩＰｖ４への変換用フローエントリ２２−２は、フローエントリ２２に含まれる、パケットをＩＰｖ６からＩＰｖ４へ変換するのに必要な情報である。
【００３５】
条件情報登録部１１は、図５に例示する通り、マッチフィールド２２１に対して、「IPv6_SRC = IP6_B, IPv6_DST = IP6_A」という情報を登録する。この場合、マッチフィールド２２１は、条件情報として、「ＩＰｖ６ネットワークを介して受信したパケットが、送信元アドレスとして「IP6_B」を含み、送信先アドレスとして「IP6_A」を含む」ことを示している。
【００３６】
処理情報登録部１２は、図５に例示する通り、インストラクション２２４に対して、「<TRANSLATE_64>, IPv4_SRC = IP4_b, IPv4_DST = IP4_a」という情報を登録する。この場合、インストラクション２２４は、処理情報として、「受信したＩＰｖ６パケットをＩＰｖ４パケットに変換するのにあたり、送信元アドレスを「IP4_b」に変換し、送信先アドレスを「IP4_a」に変換する」ことを示している。
【００３７】
図６は、処理情報登録部１２が、ＩＰｖ６からＩＰｖ４への変換用フローエントリ２２−２におけるインストラクション２２４に対して処理情報を登録する際に、フロースイッチ２０に送信するｆｌｏｗ＿ｍｏｄメッセージ１００の構成を概念的に例示する図である。この場合、ｆｌｏｗ＿ｍｏｄメッセージ１００は、図６に例示する通り、「受信したＩＰｖ６パケットをＩＰｖ４パケットに変換するのにあたり、送信元アドレスを「IP4_b」に変換し、送信先アドレスを「IP4_a」に変換する」ことを示す処理情報を含んでいる。
【００３８】
処理情報登録部１２は、例えばまた、「ＩＰｖ６からＩＰｖ４、及び、ＩＰｖ４からＩＰｖ６への変換に際して、ＲＦＣ６１４５  ＩＰ／ＩＣＭＰ（Internet Control Message Protocol）トランスレーションアルゴリズムを用いること」を示す処理情報を、ＩＰｖ４からＩＰｖ６への変換用フローエントリ２２−１、及び、ＩＰｖ６からＩＰｖ４への変換用フローエントリ２２−２に登録する。「ＲＦＣ６１４５  ＩＰ／ＩＣＭＰトランスレーションアルゴリズムの詳細は、例えば、非特許文献１に記載されている。
【００３９】
図７は、本実施形態に係るフロー制御システム１において送受信されるＩＰｖ４パケット及びＩＰｖ６パケットのヘッダの構成を概念的に例示する図である。図７において、各構成について記載されているカッコ内の数字は、その構成のバイト数を示している。フロースイッチ２０は、ＩＰｖ４からＩＰｖ６への変換用フローエントリ２２−１の内容に基づいて、図７に例示する通り、受信したＩＰｖ４パケットのヘッダを、ＩＰｖ６パケットのヘッダに変換する。フロースイッチ２０は、ＩＰｖ６からＩＰｖ４への変換用フローエントリ２２−２の内容に基づいて、図７に例示する通り、受信したＩＰｖ６パケットのヘッダを、ＩＰｖ４パケットのヘッダに変換する。
【００４０】
図８は、本実施形態に係るフロースイッチ２０が、ＲＦＣ６１４５  ＩＰ／ＩＣＭＰトランスレーションアルゴリズムを用いて、ＩＰｖ４パケットのヘッダを、ＩＰｖ６パケットのヘッダに変換する方法を例示する図である。図８に例示する「ＩＰｖ６ヘッダフィールド」は、図７（ｂ）に例示するＩＰｖ６パケットのヘッダの構成要素を示す。図８に例示する「ＩＰｖ４ヘッダからの変換方法」は、各ＩＰｖ６ヘッダフィールドについて、ＩＰｖ４ヘッダの内容から生成する方法を示す。フロースイッチ２０は、各ヘッダフィールドに対して、図８に示す通り変換処理を行う。
【００４１】
図９は、本実施形態に係るフロースイッチ２０が、ＲＦＣ６１４５  ＩＰ／ＩＣＭＰトランスレーションアルゴリズムを用いて、ＩＰｖ６パケットのヘッダを、ＩＰｖ４パケットのヘッダに変換する方法を例示する図である。図９に例示する「ＩＰｖ４ヘッダフィールド」は、図７（ａ）に例示するＩＰｖ４パケットのヘッダの構成要素を示す。図９に例示する「ＩＰｖ６ヘッダからの変換方法」は、各ＩＰｖ４ヘッダフィールドについて、ＩＰｖ６ヘッダの内容から生成する方法を示す。フロースイッチ２０は、各ヘッダフィールドに対して、図９に示す通り変換処理を行う。
【００４２】
次に図１０Ａ及び１０Ｂのフローチャートを参照して、本実施形態に係るフロー制御システム１の動作（処理）について詳細に説明する。
【００４３】
制御装置１０における条件情報登録部１１及び処理情報登録部１２は、端末装置３１及び４１について、ＩＰｖ４により表したアドレスとＩＰｖ６により表したアドレスとを、互いに変換可能に対応付けを行う（ステップＳ１０１）。条件情報登録部１１及び処理情報登録部１２は、フローエントリ２２に対して、ＭＡＣ解決用の情報を登録する（ステップＳ１０２）。
【００４４】
フロースイッチ２０は、端末装置３１から端末装置４１への通信開始に伴い、端末装置３１からＡＲＰリクエストを受信する（ステップＳ１０３）。フロースイッチ２０は、フローエントリ２２に登録されたＭＡＣ解決用の情報に基づいて、ステップＳ１０３にて受信したＡＲＰリクエストを、パケットインメッセージに設定して制御装置１０へ送信する（ステップＳ１０４）。条件情報登録部１１及び処理情報登録部１２は、フロースイッチ２０から受信したＡＲＰリクエストが、端末装置４１に対するＡＲＰリクエストであると認識する（ステップＳ１０５）。
【００４５】
条件情報登録部１１は、ＩＰｖ４からＩＰｖ６への変換用フローエントリ２２−１におけるマッチフィールド２２１に、端末装置３１及び端末装置４１のＩＰｖ４アドレスを関連付けて登録する（ステップＳ１０５）。処理情報登録部１２は、ＩＰｖ４からＩＰｖ６への変換用フローエントリ２２−１におけるインストラクション２２４に、端末装置３１及び端末装置４１のＩＰｖ４アドレスから変換されるＩＰｖ６アドレスを登録する（ステップＳ１０７）。
【００４６】
条件情報登録部１１は、ＩＰｖ６からＩＰｖ４への変換用フローエントリ２２−２におけるマッチフィールド２２１に、端末装置３１及び端末装置４１のＩＰｖ６アドレスを関連付けて登録する（ステップＳ１０８）。処理情報登録部１２は、ＩＰｖ６からＩＰｖ４への変換用フローエントリ２２−２におけるインストラクション２２４に、端末装置３１及び端末装置４１のＩＰｖ６アドレスから変換されるＩＰｖ４アドレスを登録する（ステップＳ１０９）。
【００４７】
制御装置１０は、ＡＲＰリプライを生成したのち、生成したＡＲＰリプライを、パケットアウトメッセージに設定してフロースイッチ２０へ送信する（ステップＳ１１０）。フロースイッチ２０は、制御装置１０から受信したＡＲＰリプライを、端末装置３１へ送信する（ステップＳ１１１）。
【００４８】
端末装置３１から端末装置４１に対するＩＰｖ４パケットの送信が開始する（ステップＳ１１２）。フロースイッチ２０は、当該ＩＰｖ４パケットをマッチフィールド２２１と照合することによって、当該ＩＰｖ４パケットが端末装置３１から端末装置４１に対するパケットであることを検出する（ステップＳ１１３）。フロースイッチ２０は、ＩＰｖ４からＩＰｖ６への変換用フローエントリ２２−１におけるインストラクション２２４に基づいて、当該ＩＰｖ４パケットにおけるＩＰｖ４アドレスをＩＰｖ６アドレスに変換したＩＰｖ６パケットを生成し、生成したＩＰｖ６パケットを端末装置４１に送信する（ステップＳ１１４）。
【００４９】
端末装置４１から端末装置３１に対するＩＰｖ６パケットによる返信が開始する（ステップＳ１１５）。フロースイッチ２０は、当該ＩＰｖ６パケットをマッチフィールド２２１と照合することによって、当該ＩＰｖ６パケットが端末装置４１から端末装置３１に対するパケットであることを検出する（ステップＳ１１６）。フロースイッチ２０は、ＩＰｖ６からＩＰｖ４への変換用フローエントリ２２−２におけるインストラクション２２４に基づいて、当該ＩＰｖ６パケットにおけるＩＰｖ６アドレスをＩＰｖ４アドレスに変換したＩＰｖ４パケットを生成し、生成したＩＰｖ４パケットを端末装置３１に送信し（ステップＳ１１７）、全体の処理は終了する。
【００５０】
本実施形態に係る制御装置１０は、異なる通信プロトコルを使用する通信ネットワークに接続された機器同士が、オープンフロー技術を使用した通信を行えるようにすることができる。その理由は、条件情報登録部１１は、端末装置３１のＩＰｖ４アドレスと端末装置４１のＩＰｖ４アドレスとを関連付けた条件情報を、フローエントリ２２におけるマッチフィールド２２１に登録し、処理情報登録部１２は、端末装置３１及び端末装置４１のＩＰｖ４アドレスを、対応するＩＰｖ６アドレスに変換することを示す処理情報を、フローエントリ２２におけるインストラクション２２４に登録するからである。
【００５１】
以下に、本実施形態に係る制御装置１０によって実現される効果について、詳細に説明する。
【００５２】
インターネットのプロトコルがＩＰｖ４からＩＰｖ６に移行していく過程において、ＩＰｖ４を使用したシステムと、ＩＰｖ６を使用したシステムとが共存することになる。そして、現在、オープンフローを使用した通信ネットワークシステムが増加しつつあることから、上述したＩＰｖ４とＩＰｖ６とが共存するシステムにおいても、オープンフローを使用できるようにする必要がある。しかしながら、現在のオープンフローには、ＩＰｖ４とＩＰｖ６との間でプロトコルを変換する機能が実装されていないので、ＩＰｖ４を使用した通信ネットワークに接続された機器と、ＩＰｖ６を使用した通信ネットワークに接続された機器とが、オープンフローを使用した通信を行うことができないという問題がある。
【００５３】
このような問題を解決するために、本実施形態に係る制御装置１０は、フロースイッチ２０に対する制御を行う。フロースイッチ２０における記憶部２１には、フローエントリ２２におけるマッチフィールド２２１とインストラクション２２４とが関連付けされて記憶されている。フロースイッチ２０は、端末装置３１から端末装置４１に対して発行された通信情報（パケット）の内容が、マッチフィールド２２１が示す条件を満たす場合に、インストラクション２２４が示す処理内容にしたがって、当該通信情報を処理する。
【００５４】
そして、制御装置１０が備える条件情報登録部１１は、端末装置３１がＩＰｖ４ネットワーク３０と接続され、かつ、端末装置４１がＩＰｖ６ネットワークと接続されている場合に、端末装置３１のＩＰｖ４アドレスと、端末装置４１のＩＰｖ４アドレスと、を関連付けて、マッチフィールド２２１に登録する。制御装置１０が備える処理情報登録部１２は、端末装置３１のＩＰｖ４アドレスをＩＰｖ６アドレスに変換するとともに、端末装置４１のＩＰｖ４アドレスをＩＰｖ６アドレスに変換することを、インストラクション２２４に登録する。これにより、本実施形態に係る制御装置１０は、異なる通信プロトコルを使用する通信ネットワークに接続された機器同士が、オープンフローを使用した通信を行えるようにすることができる。
【００５５】
また、本実施形態に係る処理情報登録部１２は、「ＩＰｖ６からＩＰｖ４、及び、ＩＰｖ４からＩＰｖ６への変換に際して、ＲＦＣ６１４５  ＩＰ／ＩＣＭＰトランスレーションアルゴリズムを用いること」を示す処理情報を、ＩＰｖ４からＩＰｖ６への変換用フローエントリ２２−１、及び、ＩＰｖ６からＩＰｖ４への変換用フローエントリ２２−２に登録する。すなわち、本実施形態に係る処理情報登録部１２は、パケットを変換する処理を、標準化された仕様に基づいて行うことができるので、パケット変換処理を行うソフトウェアを開発するコスト等を低減することができる。
【００５６】
また、本実施形態に係るフロースイッチ２０と通信可能に接続される、ＩＰｖ４ネットワーク３０、及び、ＩＰｖ６ネットワーク４０に含まれるスイッチは、オープンフロー制御を行うスイッチでもよいし、オープンフロー制御を行わないスイッチであってもよい。したがって、本実施形態に係るフロー制御システム１は、様々な構成の通信ネットワークに柔軟に対応することができる。
【００５７】
また、実施形態に係るフロー制御システム１は、最初に端末装置４１が端末装置３１に対して通信を行い、端末装置３１が当該通信に対する返信を端末装置４１に対して行う場合も、上述した処理と同様の処理を行う。
【００５８】
尚、フロー制御システム１が変換を行う対象とする通信プロトコルは、ＩＰｖ４及びＩＰｖ６に限定されない。本実施形態に係るフロー制御システム１は、ＩＰｖ４及びＩＰｖ６以外の異なる通信プロトコル間において、上述した処理と同様な変換処理を行ってもよい。
【００５９】
＜第２の実施形態＞
図１１は、本願発明の第２の実施形態に係るフロースイッチの制御装置５０の構成を概念的に示すブロック図である。フロースイッチの制御装置５０は、条件情報登録部５１、及び、処理情報登録部５２を備えている。
【００６０】
フロースイッチの制御装置５０は、フロースイッチ６０を制御する。フロースイッチ６０における記憶部６１には、条件情報６２と処理情報６３とが関連付けされて記憶されている。フロースイッチ６０は、第１の装置７１から第２の装置８１に対して発行された通信情報の内容が、条件情報６２が示す条件を満たす場合に、処理情報６３が示す処理内容にしたがって、当該通信情報を処理する。
【００６１】
第１の装置７１は、第１のプロトコルを使用する第１の通信ネットワーク７０と接続されている。第２の装置８１は、第２のプロトコルを使用する第２の通信ネットワーク８０と接続されている。
【００６２】
条件情報登録部５１は、第１の装置７１のアドレスを第１のプロトコルにより表した第１のアドレスと、第２の装置８１のアドレスを第２のプロトコルにより表した第２のアドレスと、を関連付けて、条件情報６２として記憶部６１に登録する。
【００６３】
処理情報登録部５２は、当該第１のアドレスを、第１の装置７１のアドレスが第２のプロトコルにより表された第３のアドレスに変換するとともに、当該第２のアドレスを、第２の装置８１のアドレスが第２のプロトコルにより表された第４のアドレスに変換することを、処理情報６３として記憶部６１に登録する。
【００６４】
本実施形態に係るフロースイッチの制御装置５０は、異なる通信プロトコルを使用する通信ネットワークに接続された機器同士が、オープンフロー技術を使用した通信を行えるようにすることができる。その理由は、条件情報登録部５１は、第１の装置７１の第１のアドレスと第２の装置８１の第２のアドレスとを関連付けた条件情報６２を、記憶部６１に登録し、処理情報登録部５２は、第１のアドレスを第３のアドレスに変換し、第２のアドレスを第４のアドレスに変換することを示す処理情報を、記憶部６１に登録するからである。
【００６５】
＜ハードウェア構成例＞
上述した各実施形態において図１、及び、図１１に示したフロースイッチの制御装置における各部は、専用のＨＷ（ＨａｒｄＷａｒｅ）（電子回路）によって実現することができる。また、図１、及び、図１１において、少なくとも、下記構成は、ソフトウェアプログラムの機能（処理）単位（ソフトウェアモジュール）と捉えることができる。
・条件情報登録部１１及び５１、
・処理情報登録部１２及び５２。
【００６６】
但し、これらの図面に示した各部の区分けは、説明の便宜上の構成であり、実装に際しては、様々な構成が想定され得る。この場合のハードウェア環境の一例を、図１２を参照して説明する。
【００６７】
図１２は、本願発明の各実施形態に係るフロースイッチの制御装置を実行可能な情報処理装置９００（コンピュータ）の構成を例示的に説明する図である。即ち、図１２は、図１、及び、図１１に示したフロースイッチの制御装置を実現可能なコンピュータ（情報処理装置）の構成であって、上述した実施形態における各機能を実現可能なハードウェア環境を表す。
【００６８】
図１２に示した情報処理装置９００は、構成要素として下記を備えている。
・ＣＰＵ（Ｃｅｎｔｒａｌ＿Ｐｒｏｃｅｓｓｉｎｇ＿Ｕｎｉｔ）９０１、
・ＲＯＭ（Ｒｅａｄ＿Ｏｎｌｙ＿Ｍｅｍｏｒｙ）９０２、
・ＲＡＭ（Ｒａｎｄｏｍ＿Ａｃｃｅｓｓ＿Ｍｅｍｏｒｙ）９０３、
・ハードディスク（記憶装置）９０４、
・外部装置との通信インタフェース９０５、
・バス９０６（通信線）、
・ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ＿Ｄｉｓｃ＿Ｒｅａｄ＿Ｏｎｌｙ＿Ｍｅｍｏｒｙ）等の記録媒体９０７に格納されたデータを読み書き可能なリーダライタ９０８、
・入出力インタフェース９０９。
【００６９】
即ち、上記構成要素を備える情報処理装置９００は、これらの構成がバス９０６を介して接続された一般的なコンピュータである。情報処理装置９００は、ＣＰＵ９０１を複数備える場合もあれば、マルチコアにより構成されたＣＰＵ９０１を備える場合もある。
【００７０】
そして、上述した実施形態を例に説明した本願発明は、図１２に示した情報処理装置９００に対して、次の機能を実現可能なコンピュータプログラムを供給する。その機能とは、その実施形態の説明において参照したブロック構成図（図１、及び、図１１）における上述した構成、或いはフローチャート（図１０Ａ及び１０Ｂ）の機能である。本願発明は、その後、そのコンピュータプログラムを、当該ハードウェアのＣＰＵ９０１に読み出して解釈し実行することによって達成される。また、当該装置内に供給されたコンピュータプログラムは、読み書き可能な揮発性のメモリ（ＲＡＭ９０３）、または、ＲＯＭ９０２やハードディスク９０４等の不揮発性の記憶デバイスに格納すれば良い。
【００７１】
また、前記の場合において、当該ハードウェア内へのコンピュータプログラムの供給方法は、現在では一般的な手順を採用することができる。その手順としては、例えば、ＣＤ−ＲＯＭ等の各種記録媒体９０７を介して当該装置内にインストールする方法や、インターネット等の通信回線を介して外部よりダウンロードする方法等がある。そして、このような場合において、本願発明は、係るコンピュータプログラムを構成するコード或いは、そのコードが格納された記録媒体９０７によって構成されると捉えることができる。
【００７２】
以上、上述した実施形態を模範的な例として本願発明を説明した。しかしながら、本願発明は、上述した実施形態には限定されない。即ち、本願発明は、本願発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。
【符号の説明】
【００７３】
１    フロー制御システム
１０    制御装置
１１    条件情報登録部
１２    処理情報登録部
１００    ｆｌｏｗ＿ｍｏｄメッセージ
２０    フロースイッチ
２１    記憶部
２２    フローエントリ
２２−１    ＩＰｖ４からＩＰｖ６への変換用フローエントリ
２２−２    ＩＰｖ６からＩＰｖ４への変換用フローエントリ
２２１    マッチフィールド
２２２    プライオリティ
２２３    カウンタ
２２４    インストラクション
２２５    タイムアウト
２２６    クッキー
３０    ＩＰｖ４ネットワーク
３１    端末装置
４０    ＩＰｖ６ネットワーク
４１    端末装置
５０    フロースイッチの制御装置
５１    条件情報登録部
５２    処理情報登録部
６０    フロースイッチ
６１    記憶部
６２    条件情報
６３    処理情報
７０    第１の通信ネットワーク
７１    第１の装置
８０    第２の通信ネットワーク
８１    第２の装置
９００    情報処理装置
９０１    ＣＰＵ
９０２    ＲＯＭ
９０３    ＲＡＭ
９０４    ハードディスク（記憶装置）
９０５    通信インタフェース
９０６    バス
９０７    記録媒体
９０８    リーダライタ
９０９    入出力インタフェース
【図１】
2018006847.tif 000003
【図２】
2018006847.tif 000004
【図３】
2018006847.tif 000005
【図４】
2018006847.tif 000006
【図５】
2018006847.tif 000007
【図６】
2018006847.tif 000008
【図７】
2018006847.tif 000009
【図８】
2018006847.tif 000010
【図９】
2018006847.tif 000011
【図１０Ａ】
2018006847.tif 000012
【図１０Ｂ】
2018006847.tif 000013
【図１１】
2018006847.tif 000014
【図１２】
2018006847.tif 000015