JP6724427B2 - コントローラ、通信スイッチ、通信システム、通信制御方法、及びプログラム - Google Patents

コントローラ、通信スイッチ、通信システム、通信制御方法、及びプログラム Download PDF

Info

Publication number
JP6724427B2
JP6724427B2 JP2016043009A JP2016043009A JP6724427B2 JP 6724427 B2 JP6724427 B2 JP 6724427B2 JP 2016043009 A JP2016043009 A JP 2016043009A JP 2016043009 A JP2016043009 A JP 2016043009A JP 6724427 B2 JP6724427 B2 JP 6724427B2
Authority
JP
Japan
Prior art keywords
address
communication
rule
communication control
controller
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016043009A
Other languages
English (en)
Other versions
JP2017163177A (ja
Inventor
谷村 聡
聡 谷村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2016043009A priority Critical patent/JP6724427B2/ja
Publication of JP2017163177A publication Critical patent/JP2017163177A/ja
Application granted granted Critical
Publication of JP6724427B2 publication Critical patent/JP6724427B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、コントローラ、通信スイッチ、通信システム、通信制御方法、及びプログラムに関する。
近年、無線ネットワークの環境(例えば、一店舗、展示会等の限られたエリア)において、当該無線ネットワークの環境に存在する端末に、アプリケーションのダウンロード等を提供するサービスが実現されている。具体的には、ネットワーク管理者等は、無線ネットワークの環境において、WiFi(Wireless Fidelity)等を利用したネットワークを構築する。そして、DHCP(Dynamic Host Configuration Protocol)サーバが、端末にIP(Internet Protocol)アドレスをリース(即ち、端末に、所定のIPアドレスの使用を許可)することで、当該端末が上記のサービスを利用することを可能にする。
ところで、上記のような無線ネットワークの環境においては、接続する端末の数、通信量等を予め予測することが困難である。そのため、効率的に通信を行うためには、状況に応じて、通信経路を適切に制御することが望まれる。そこで、通信経路を制御する技術が提案されている(特許文献1−3)。
特許文献1においては、オープンフロー(OpenFlow)(非特許文献1、2参照)に基づいて、一時停止状態の仮想サーバの稼働再開後における、通信ネットワークへの接続位置に基づいて、パケットを転送する通信経路を転送ノードに設定する技術が記載されている。
特許文献2においては、IPアドレスと、MAC(Media Access Control)アドレスと、DNS(Domain Name System)名と、ノードを識別するための情報とに基づいて、重複ノードを決定し、重複ノードを排除する技術が記載されている。
特許文献3においては、フローテーブルを参照し、パケットのプロトコルヘッダを修正する技術が記載されている。
特表2015−523747号公報 特開2015−092666号公報 特表2014−529926号公報
Nick McKeownほか7名、"OpenFlow: Enabling Innovation in Campus Networks"、[online]、[平成28(2016)年2月18日検索]、インターネット〈URL: http://www.openflow.org/documents/openflow-wp-latest.pdf〉 "OpenFlow Switch Specification" Version 1.1.0 Implemented (Wire Protocol 0x02)、[online]、[平成28(2016)年2月18日検索]、インターネット〈URL:http://www.openflow.org/documents/openflow-spec-v1.1.0.pdf〉
なお、上記先行技術文献の開示を、本書に引用をもって繰り込むものとする。以下の分析は、本発明の観点からなされたものである。
上記の通り、DHCP(Dynamic Host Configuration Protocol)サーバが、端末にIP(Internet Protocol)アドレスをリースしたとする。その後、一時的に、端末が、IPアドレスを保持した状態で、ネットワークエリア外に移動したとする。端末が、ネットワークエリア外に移動した場合、DHCPサーバは当該端末と通信不可能となるため、当該端末にリースしたIPアドレスを解放する。その後、他の新たな端末がネットワークに接続した場合、DHCPサーバは、当該新たな端末に、解放済みのIPアドレスをリースする。
しかし、一時的に、ネットワーク外に移動した端末が、再び、ネットワークエリア内に移動すると、当該端末のIPアドレスと、上記の新たな端末のIPアドレスとが重複し、通信エラーが発生する恐れがある。
ここで、特許文献1−3に記載された技術では、ネットワーク上で、IPアドレスが重複する場合については、一切記載されていない。そのため、特許文献1−3に記載された技術では、IPアドレスが重複する場合、通信エラーが発生する恐れがある。
そこで、本発明は、同一IPアドレスが、2以上の端末で同時に利用される状態であっても、適切な通信を実現することに貢献するコントローラ、通信スイッチ、通信システム、通信制御方法、及びプログラムを提供することを目的とする。
本発明の第1の視点によれば、コントローラが提供される。該コントローラは、パケットを処理する、通信スイッチを管理する。
さらに、該コントローラは、前記通信スイッチが実行する、1又は2以上のルールを含む、フローテーブルを備える。該ルールは、IP(Internet Protocol)アドレスを含んで構成され、前記通信スイッチは、前記コントローラにフロー情報を通知する、通信制御部を備える。
さらに、該コントローラは、パケットの送信元IPアドレスと同一のIPアドレスを有する重複ルールが、前記フローテーブルに登録されているか否かを判断する、重複ルール判断部を備える。
さらに、該コントローラは、前記重複ルールが前記フローテーブルに登録されている場合、新規の前記ルールを作成する、ルール管理部と、前記通信スイッチが通知する前記フロー情報に基づいて、通信量を解析し、フロー情報毎に、通信量がゼロであるか否かを示すフラグを設定するフロー情報監視部を備える。
さらに、前記ルール管理部は、前記フロー情報監視部が解析する前記通信量に基づいて、通信量が0になった通信に関する前記ルールを、前記フローテーブルから削除し、該ルールは、パケットの送信元IPアドレスを、異なるIPアドレスに変換する第1の処理を規定する。
さらに、該ルールは、変換後のIPアドレスを用いて、パケットを転送する第2の処理を規定する。
本発明の第2の視点によれば、通信システムが提供される。該通信システムは、1又は2以上の端末の通信を中継し、前記端末が送信するパケットを処理する、通信スイッチと、前記通信スイッチを管理する、コントローラと、を含む。
該コントローラは、パケットを処理する、通信スイッチを管理する。
さらに、該コントローラは、前記通信スイッチが実行する、1又は2以上のルールを含む、フローテーブルを備える。該ルールは、IP(Internet Protocol)アドレスを含んで構成され、前記通信スイッチは、前記コントローラにフロー情報を通知する、通信制御部を備える。
さらに、該コントローラは、パケットの送信元IPアドレスと同一のIPアドレスを有する重複ルールが、前記フローテーブルに登録されているか否かを判断する、重複ルール判断部を備える。
さらに、該コントローラは、前記重複ルールが前記フローテーブルに登録されている場合、新規の前記ルールを作成する、ルール管理部と、前記通信スイッチが通知する前記フロー情報に基づいて、通信量を解析し、フロー情報毎に、通信量がゼロであるか否かを示すフラグを設定するフロー情報監視部を備える。
さらに、前記ルール管理部は、前記フロー情報監視部が解析する前記通信量に基づいて、通信量が0になった通信に関する前記ルールを、前記フローテーブルから削除し、該ルールは、パケットの送信元IPアドレスを、異なるIPアドレスに変換する第1の処理を規定する。
さらに、該ルールは、変換後のIPアドレスを用いて、パケットを転送する第2の処理を規定する。
本発明の第3の視点によれば、通信スイッチが提供される。該通信スイッチは、1又は2以上の端末の通信を中継する。
さらに、該通信スイッチは、1又は2以上のルールを含む、フローテーブルを備える。該ルールは、IPアドレスとMACアドレスを含む。
さらに、該通信スイッチは、パケットの送信元IPアドレス、及び送信元MACアドレスに基づいて、前記フローテーブルを参照し、パケットの送信元IPアドレス及びMACアドレスを有する前記ルールが、前記フローテーブルに登録されているか否かを判断する、通信制御部を備える。
該通信制御部は、前記ルールに基づいて、パケットの送信元IPアドレスを、異なるIPアドレスに変換し、変換後のIPアドレスを用いて、パケットを転送する。
本発明の第4の視点によれば、通信制御方法が提供される。該通信制御方法は、1又は2以上のルールを含むフローテーブルに、パケットの送信元IPアドレスと同一のIPアドレスを有する重複ルールが登録されているか否かをパケットを処理する通信スイッチを管理するコントローラが判断する工程を含む。
さらに、該通信制御方法は、前記通信スイッチが、前記コントローラにフロー情報を通知する工程と、前記通信スイッチが通知する前記フロー情報に基づいて、通信量を解析し、フロー情報毎に、通信量がゼロであるか否かを示すフラグを設定する工程と、重複ルールが前記フローテーブルに存在する場合、前記コントローラが新規の前記ルールを作成する工程を含む。
さらに、該通信制御方法は、前記ルールに基づいて、前記コントローラが前記パケットの送信元IPアドレスを、異なるIPアドレスに変換する工程を含む。
さらに、該通信制御方法は、前記ルールに基づいて、変換後のIPアドレスを用いて、前記通信スイッチが前記パケットを転送する工程と、通信量が0になった通信に関する前記ルールを、前記コントローラが前記フローテーブルから削除する工程を含む。
なお、本方法は、通信スイッチを管理するコントローラという、特定の機械に結び付けられている。
本発明の第5の視点によれば、プログラムが提供される。該プログラムは、1又は2以上のルールを含む、フローテーブルを備え、通信スイッチを管理するコントローラを制御するコンピュータに実行させるプログラムであって、前記通信スイッチが、前記コントローラにフロー情報を通知する処理と、パケットの送信元IPアドレスと同一のIPアドレスを有する重複ルールが、前記フローテーブルに登録されているか否かを判断する処理と、前記通信スイッチが通知する前記フロー情報に基づいて、通信量を解析し、フロー情報毎に、通信量がゼロであるか否かを示すフラグを設定する処理と、前記コントローラーが通信量が0になった通信に関する前記ルールを、前記フローテーブルから削除する処理を、該コンピュータに実行させる。
さらに、該プログラムは、前記重複ルールが前記フローテーブルに存在する場合、新規の前記ルールを作成する処理を、該コンピュータに実行させる。
該ルールは、前記パケットの送信元IPアドレスを、異なるIPアドレスに変換する第1の処理を規定する。
さらに、該ルールは、変換後のIPアドレスを用いて、前記パケットを転送する第2の処理を規定する。
なお、本プログラムは、コンピュータが読み取り可能な記憶媒体に記録することができる。記憶媒体は、半導体メモリ、ハードディスク、磁気記録媒体、光記録媒体等の非トランジェント(non-transient)なものとすることができる。本発明は、コンピュータプログラム製品として具現することも可能である。
本発明の各視点によれば、同一IPアドレスが、2以上の端末で同時に利用される状態であっても、適切な通信を実現することに貢献するコントローラ、通信スイッチ、通信システム、通信制御方法、及びプログラムが提供される。
一実施形態の概要を説明するための図である。 通信システムの全体構成の一例を示すブロック図である。 コントローラ10、オープンフロースイッチ20の内部構成の一例を示すブロック図である。 通信制御ルールテーブル23の一例を示す図である。 通信制御ルール作成元情報の一例を示す図である。 通信制御対象IPアドレステーブル15の一例を示す図である。 IPアドレス使用管理テーブル16の一例を示す図である。 フロー情報テーブル18の一例を示す図である。 コントローラ10の構成要素間の関係の一例を示す図である。 通信制御対象IPアドレステーブル15、IPアドレス使用管理テーブル16を初期設定する処理の一例を示すフローチャートである。 パケットの送信元IPアドレスの競合を検知する処理の一例を示すフローチャートである。 通信制御ルール作成元情報を作成する処理の一例を示すフローチャートである。 重複ルールの有無を判断する処理の一例を示すフローチャートである。 通信制御ルールを作成する処理の一例を示すフローチャートである。 通信制御ルールを通知する処理の一例を示すフローチャートである。 通信制御ルールを通知する処理の一例を示すフローチャートである。 通信制御ルールに従って、パケットを転送する処理の一例を示すフローチャートである。 フロー情報を監視する処理の一例を示すフローチャートである。 通信制御ルールを削除する処理の一例を示すフローチャートである。 通信制御ルールを削除する処理の一例を示すフローチャートである。 通信制御ルールを削除する処理の一例を示すフローチャートである。 通信システムの全体構成の一例を示すブロック図である。
初めに、図1を用いて一実施形態の概要について説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、この概要の記載はなんらの限定を意図するものではない。
上述の通り、同一IPアドレスが、2以上の端末で同時に利用される状態であっても、適切な通信を実現することに貢献するコントローラが望まれる。
そこで、一例として、図1に示すコントローラ1000を提供する。コントローラ1000は、パケットを処理する、通信スイッチ2000を管理する。そして、コントローラ1000は、フローテーブル1001と、重複ルール判断部1002と、ルール管理部1003とを備える。
フローテーブル1001は、通信スイッチ2000が実行する、1又は2以上のルール1004を含む。ルール1004は、IPアドレス1005を含んで構成される。さらに、ルール1004は、第1の処理と、第2の処理とを規定する。具体的には、第1の処理は、通信スイッチ2000が受信した、パケットの送信元IPアドレス1006を、異なるIPアドレスに変換する処理である。第2の処理は、変換後のIPアドレスを用いて、パケットを転送する処理である。
重複ルール判断部1002は、パケットの送信元IPアドレス1006と同一のIPアドレスを有する重複ルールが、フローテーブル1001に登録されているか否かを判断する。
ルール管理部1003は、重複ルールがフローテーブル1001に登録されている場合、新規のルールを作成する。
例えば、通信スイッチ2000がパケット1200を受信した場合、通信スイッチ2000は、パケット1200の送信元IPアドレス1006を、コントローラ1000に通知する。重複ルール判断部1002は、パケットの送信元IPアドレス1006の通知を受信した場合、フローテーブル参照し、重複ルールの有無を判断する。
そして、ルール管理部1003は、重複ルールがフローテーブル1001に登録されている場合、新規のルールを作成する。具体的には、ルール管理部1003は、IPアドレスの重複を回避するための新規ルールを作成する。
そして、ルール管理部1003は、作成したルールを、ルール1007として、通信スイッチ2000に送信する。
通信スイッチ2000は、受信したルール1007に基づいて、第1の処理、及び第2の処理を実行し、パケット1201を転送する。具体的には、通信スイッチ2000は、受信したルール1007に基づいて、パケットの送信元IPアドレス1006を、異なるIPアドレスに変換する(第1の処理)。さらに、通信スイッチ2000は、受信したルール1007に基づいて、変換後のIPアドレスを用いて、パケット1201を転送する(第2の処理)。
以上の通り、コントローラ1000は、同一IPアドレスが、2以上の端末で同時に利用される場合、IPアドレスの重複を回避するためのルールを、通信スイッチ2000に転送する。そして、通信スイッチ2000は、受信したルールに基づいて、パケットを転送することで、パケットの送信元IPアドレスの重複を回避する。従って、コントローラ1000は、同一IPアドレスが、2以上の端末で同時に利用される状態であっても、適切な通信を実現することに貢献する。
[第1の実施形態]
第1の実施形態について、図面を用いてより詳細に説明する。なお、以下の説明においては、OpenFlowを用いた通信制御を例示して説明する。ただし、これは、本発明を、OpenFlowを用いた通信制御に限定する趣旨ではない。また、以下の説明においては、上記の通信スイッチをオープンフロースイッチと呼ぶ。また、以下の説明においては、上記のフローテーブルを、通信制御ルールテーブルと呼ぶ。また、以下の説明においては、上記のルール管理部を、通信制御ルール管理部と呼ぶ。また、以下の説明においては、上記のルールを、通信制御ルールと呼ぶ。
図2は、本実施形態に係る通信システムの全体構成の一例を示すブロック図である。図2を参照すると、通信システムは、コントローラ10と、オープンフロースイッチ20と、オープンフロースイッチ20を含むネットワークから構成される。さらに、図2を参照すると、ネットワークは、サービス提供サーバ30と、無線アクセスポイント40と、無線コントローラ50と、端末60a、60bとを含んで構成される。なお、以下の説明においては、各端末(60a、60b)を夫々、区別する必要がない場合には、単に、端末60と表記する。なお、図2においては、1つのコントローラ10、1つのオープンフロースイッチ20、2つの端末(60a、60b)を図示するが、コントローラ10、オープンフロースイッチ20、端末60は、夫々、任意の台数とすることができる。
コントローラ10は、オープンフロースイッチ20と物理的に分離されたサーバマシン又は当該サーバマシン上で動作する仮想マシンである。コントローラ10は、オープンフロースイッチ20を管理する。コントローラ10は、1又は2以上のオープンフロースイッチ20を管理しても良い。例えば、コントローラ10は、各オープンフロースイッチ20と専用線もしくは通常のネットワークを利用したセキュアチャネル(Secure Channel)で接続され、所定のプロトコル(例えば、sFlow、NetFlow、OpenFlow等)で通信を行う構成であっても良い。なお、上記のプロトコルの例示は、一例であり、上記のプロトコルに限定する趣旨ではない。
オープンフロースイッチ20は、1又は2以上の端末60の通信を中継し、端末60が送信するパケットを処理する。サービス提供サーバ30は、サービス提供機能(例えば、アプリケーションのダウンロード等)を有する。
次に、図3を参照しながら、コントローラ10、オープンフロースイッチ20の内部構成について、詳細に説明する。
[オープンフロースイッチの構成]
オープンフロースイッチ20は、通信制御部21と、命令監視部22と、通信制御ルールテーブル23と、を含んで構成される。
通信制御ルールテーブル23は、IPアドレスの変換を制御する、通信制御ルールに必要な情報を格納するテーブルである。ここで、具体的には、通信制御ルールテーブル23は、制御対象のパケットに関して、送信元MACアドレスと、送信先MACアドレスと、変換するか否かを示す情報と、変換対象の情報の種類と、変換後のIPアドレスと、を対応付けた情報を格納する。ここで、変換対象の情報の種類とは、送信元IPアドレス、又は送信先IPアドレスのいずれかの情報であるものする。以下の説明では、変換するか否かを示す情報を、「アクション」と呼ぶ。また、以下の説明では、変換対象の情報の種類を、「フィールド」と呼ぶ。なお、オープンフロースイッチ20は、当該オープンフロースイッチ20が受信したパケットに対する通信制御ルールを、通信制御ルールテーブル23として備えるものとする。
図4は、通信制御ルールテーブル23の一例を示す図である。例えば、図4に示す通信制御ルールテーブル23は、送信元MACアドレス「AA:BB:CC:DD:EE:FF」、及び送信先MACアドレス「NN:OO:PP:QQ:RR:SS」のパケットに関して、送信元IPアドレスを、「aaa.aaa.aaa.aaa」に変換することを示す。また、例えば、図4に示す通信制御ルールテーブル23は、送信元MACアドレス「NN:OO:PP:QQ:RR:SS」、送信先MACアドレス「AA:BB:CC:DD:EE:FF」のパケットに関して、送信先IPアドレスを、「XXX.XXX.XXX.XXX」に変換することを示す。
通信制御部21は、パケットの送信元IPアドレス及びMACアドレスを有する通信制御ルールが、通信制御ルールテーブル23に登録されているか否かを判断する。通信制御部21は、パケットの送信元IPアドレス及びMACアドレスを有する通信制御ルールが通信制御ルールテーブル23に登録されていない場合、通信制御ルール作成元情報をコントローラ10に通知する。つまり、通信制御部21は、通信制御ルールテーブル23のルールに合致しない通信を検知した場合、通信制御ルール作成元情報を、コントローラに通知する。なお、通信制御部21が、通信制御ルール作成元情報をコントローラ10に通知することは、オープンフロースイッチ20が、対象のパケットに関して、通信制御ルールの作成をコントローラ10に依頼することに相当する。
ここで、通信制御ルール作成元情報は、オープンフロースイッチ20が受信したパケットに関して、パケットの送信元に関する情報と、パケットの送信先に関する情報とを含む情報である。なお、通信制御ルール作成元情報は、制御対象のパケットの送信元IPアドレスを含んで構成されるものとする。
図5は、通信制御ルール作成元情報の一例を示す図である。図5に示すように、通信制御ルール作成元情報は、送信元MACアドレスと、送信元IPアドレスと、送信先MACアドレスと、送信先IPアドレスとを含む情報である。
また、通信制御部21は、通信制御ルールテーブル23に登録された通信制御ルールに従って、パケットの転送処理を制御する。具体的には、通信制御部21は、通信制御ルールに従って、パケットの送信元IPアドレス、送信先IPアドレスの少なくともいずれかを、異なるIPアドレスに変換する(第1の処理)。また、通信制御部21は、変換後のIPアドレスを用いて、パケットを転送する(第2の処理)。
また、通信制御部21は、コントローラ10にフロー情報を通知する。具体的には、通信制御部21は、通信パケット量を含むフロー情報を、コントローラ10に通知する。
命令監視部22は、コントローラ10から、通信制御ルールの削除命令を受信した場合、通信制御ルールテーブル23から、削除対象の通信制御ルールを削除する。具体的には、命令監視部22は、通信制御ルールの削除命令を受信した場合、通信制御ルールテーブル23を検索し、削除対象の通信制御ルールが存在するか否かを判断する。そして、削除対象の通信制御ルールが通信制御ルールテーブル23に存在する場合、命令監視部22は、削除対象の通信制御ルールを削除する。例えば、命令監視部22は、送信元MACアドレスをキーとして、通信制御ルールテーブル23を検索しても良い。そして、命令監視部22は、検索キーである送信元MACアドレスを含む、通信制御ルールを、削除対象の通信制御ルールであると判断しても良い。
[コントローラの構成]
コントローラ10は、情報管理部11と、重複ルール判断部12と、通信制御ルール管理部13と、フロー情報監視部14と、通信制御対象IPアドレステーブル15と、IPアドレス使用管理テーブル16と、通信制御ルールテーブル17と、フロー情報テーブル18と、を含んで構成される。
通信制御ルールテーブル17は、上記の通信制御ルールテーブル23と同様に、IPアドレスの変換を制御する、通信制御ルールに必要な情報を格納するテーブルである。通信制御ルールテーブル17は、上記の通信制御ルールテーブル23と同様の情報を含んで構成されるものとする。コントローラ10の通信制御ルールテーブル17と、オープンフロースイッチ20の通信制御ルールテーブル23との相違点は、通信制御ルールテーブル17は、オープンフロースイッチ20から独立した通信制御ルールを格納する点である。つまり、コントローラ10は、通信制御ルールテーブル17に格納される通信制御ルールを、異なるオープンフロースイッチ20に通知しても良いものとする。
情報管理部11は、通信制御の対象範囲であるIPアドレス(以下、通信制御対象IPアドレスと呼ぶ)を、通信制御対象IPアドレステーブル15に設定(格納)する。例えば、ネットワーク設計者が、初期設定として、通信制御の対象範囲であるIPアドレスを、コントローラ10に入力しても良い。
図6は、通信制御対象IPアドレステーブル15の一例を示す図である。図6に示すように、通信制御対象IPアドレステーブルは、通信制御対象の開始IPアドレスと、終了IPアドレスと、サブネットマスクとを対応付けた情報を格納する。
また、情報管理部11は、通信制御に利用するIPアドレス(以下、利用IPアドレスと呼ぶ)と、当該IPアドレスの使用状態とを対応付けた情報(以下、IPアドレス使用管理情報と呼ぶ)を、IPアドレス使用管理テーブル16に格納する。例えば、ネットワーク設計者が、初期設定として、IPアドレス使用管理情報をコントローラ10に入力しても良い。
図7は、IPアドレス使用管理テーブル16の一例を示す図である。図7に示すように、IPアドレス使用管理テーブル16は、IPアドレスと、当該IPアドレスの使用状況(ステータス)とを対応付けた情報を格納する。図7に示すように、IPアドレスの使用状況とは、対応するIPアドレスが、「使用中」であるか、「未使用」であるかを示す情報である。
重複ルール判断部12は、オープンフロースイッチ20がコントローラ10に送信する、通信制御ルール作成元情報に基づいて、通信制御ルールテーブル17を検索する。
コントローラ10が、通信制御ルール作成元情報を受信した場合、重複ルール判断部12は、パケットの送信元IPアドレスと同一のIPアドレスを有する重複ルールが、通信制御ルールテーブル17に登録されているか否かを判断する。具体的には、重複ルール判断部12は、通信制御ルール作成元情報に含まれる送信元IPアドレスを検索キーとして、当該送信元IPアドレスと同一のIPアドレスを有する通信制御ルールが、通信制御ルールテーブル17に登録されているか否かを判断する。
そして、重複ルール判断部12は、送信元IPアドレスが競合することを示すフラグ(以下、通信制御ルール競合フラグと呼ぶ)を設定する。重複ルールが通信制御ルールテーブル17に登録されている場合には、重複ルール判断部12は、通信制御ルール競合フラグをONに設定する。一方、重複ルールが通信制御ルールテーブル17に登録されていない場合には、重複ルール判断部12は、通信制御ルール競合フラグをOFFに設定する。
重複ルールが通信制御ルールテーブル17に登録されている、と重複ルール判断部12が判断した場合、通信制御ルール管理部13は、新規のルールを作成する。具体的には、重複ルールが通信制御ルールテーブル17に登録されている、と重複ルール判断部12が判断した場合、通信制御ルール管理部13は、IPアドレス使用管理テーブル16を参照し、未使用のIPアドレスを抽出する。
そして、通信制御ルール管理部13は、抽出したIPアドレスを含む、新規の通信制御ルールを作成する。具体的には、通信制御ルール管理部13は、パケットの送信元端末を識別する情報と、パケットの送信先端末を識別する情報と、IPアドレス使用管理テーブル16に格納されるIPアドレスのうち、未使用のIPアドレスのいずれか一のIPアドレスと、を含む通信制御ルールを作成する。より具体的には、通信制御ルール管理部13は、通信制御ルール作成元情報に含まれる送信元MACアドレスと、送信先MACアドレスと、抽出したIPアドレスと、を対応付けた、通信制御ルールを作成する。そして、通信制御ルール管理部13は、作成した通信制御ルールを、通信制御ルールテーブル17に登録する。
そして、通信制御ルール管理部13は、通信制御ルール作成元情報の送信元である、オープンフロースイッチ20に、作成した新規の通信制御ルールを通知する。
フロー情報監視部14は、オープンフロースイッチ20が通知するフロー情報に基づいて、通信量を解析する。具体的には、フロー情報監視部14は、フロー情報を受信した場合、受信したフロー情報を、フロー情報テーブル18に登録する。そして、フロー情報監視部14は、オープンフロースイッチ20が通知するフロー情報に基づいて、サービス提供サーバ30が利用するプロトコルの通信量を解析する。そして、フロー情報監視部14は、通信量が0である通信が存在するか否かを判断する。さらに、フロー情報監視部14は、フロー情報毎に、通信量が0であるか否かを示すフラグ(以下、通信量ゼロフラグと呼ぶ)を設定する。具体的には、フロー情報監視部14は、通信量が0であるフロー情報に対して、通信量ゼロフラグをONに設定する。一方、フロー情報監視部14は、通信量が0であるフロー情報に対して、通信量ゼロフラグをOFFに設定する。
図8は、フロー情報テーブル18の一例を示す図である。図8に示すフロー情報テーブル18は、送信元MACアドレスと、送信元IPアドレスと、プロトコルと、出力量(bit)を対応付けた情報である。例えば、図8に示すフロー情報テーブルの場合、フロー情報監視部14は、送信元MACアドレス「HH:II:JJ:KK:LL:MM」、送信元IPアドレス「XXX.XXX.XXX.XXX」、プロトコル「protoco1」の通信は、出力量「0bit」である。そのため、フロー情報監視部14は、送信元MACアドレス「HH:II:JJ:KK:LL:MM」、送信元IPアドレス「XXX.XXX.XXX.XXX」、プロトコル「protoco1」の通信を、通信量が0になった通信であると判断する。なお、図8は、フロー情報テーブル18の一例であり、フロー情報テーブル18を示す形式に限定する趣旨ではない。フロー情報テーブル18は、通信量を解析するために必要な情報であれば良く、その詳細は問わない。
フロー情報監視部14は、通信量が0になった通信が存在すると判断した場合、通信制御ルール管理部13は、通信量が0になった通信に関する通信制御ルールを、通信制御ルールテーブル17から削除する。さらに、通信制御ルール管理部13は、削除した通信制御ルールと同一の通信制御ルールを、通信制御ルールテーブル23から削除することを、オープンフロースイッチ20に指示する。具体的には、通信制御ルール管理部13は、通信量が0になった通信に対応する、フロー情報の送信元のオープンフロースイッチ20に、削除対象の通信制御ルールを削除することを指示する。
[通信システムの動作]
次に、通信システムの動作について、詳細に説明する。
まず、図9、図10を参照しながら、通信制御対象IPアドレステーブル15、及びIPアドレス使用管理テーブル16の初期設定処理について説明する。
まず、ネットワーク設計者が、オープンフロースイッチ20に関して、通信制御対象IPアドレス101、及び利用IPアドレス102を、コントローラ10に入力したとする。具体的には、ネットワーク設計者は、通信制御対象IPアドレス101として、図6に示すように、制御対象範囲の開始IPアドレス、終了IPアドレス、サブネットマスク等を入力する(図9に示す矢印201)。また、ネットワーク設計者は、利用IPアドレス102として、通信制御に利用する、1又は2以上のIPアドレスを入力する(図9に示す矢印202)。
そして、情報管理部11は、通信制御対象IPアドレス101を、通信制御対象IPアドレステーブルに登録する(ステップS1、図9に示す矢印203)。さらに、情報管理部11は、利用IPアドレス102を、IPアドレス使用管理テーブル16に登録する(ステップS2、図9に示す矢印204)。そして、情報管理部11は、IPアドレス使用管理テーブル16の各IPアドレスの使用状況(ステータス)を、「未使用」状態に設定し、IPアドレス使用管理テーブル16の初期設定を終了する。
次に図11を参照しながら、オープンフロースイッチ20が、パケットの送信元IPアドレスの競合を検知した場合の処理について説明する。
例えば、図2に示すように、無線アクセスポイント40に、端末60aが接続したとする。そして、端末60aは、オープンフロースイッチ20を介して、サービス提供サーバ30と通信を開始したとする。
さらに、端末60aがサービス提供サーバ30と通信中の状況において、端末60bが、無線アクセスポイント40、及びオープンフロースイッチ20を介して、サービス提供サーバ30と通信を試みたとする。
ここで、図2を参照すると、端末60aのIPアドレス、及び端末60bのIPアドレスは、共に、「XXX.XXX.XXX.XXX」である。つまり、上記の状況は、同一のIPアドレスの端末60aと端末60bとが、オープンフロースイッチ20を介して、サービス提供サーバ30に通信を試みている状況である。
その場合、当該オープンフロースイッチ20の通信制御部21は、送信元IPアドレスが競合している、パケットを検知する(ステップS11)。そして、通信制御部21は、送信元MACアドレス、送信元IPアドレスを検索キーにして、通信制御ルールテーブル23を検索する(ステップS12、ステップS13)。具体的には、通信制御部21は、検索キーである送信元MACアドレス及び送信元IPアドレスを含む、通信制御ルールが、通信制御ルールテーブル23に存在するか否かを判断する処理を繰り返す。
例えば、上記の状況である場合、通信制御部21は、端末60bのMACアドレス「HH:II:JJ:KK:LL:MM」、及び端末60bのIPアドレス「XXX.XXX.XXX.XXX」が、通信制御ルールテーブル23に存在するか否かを判断する。
検索キーを含む通信制御ルールが、通信制御ルールテーブル23に存在する場合(ステップS13のYes分岐)には、図11に示す「A」に遷移、即ち、図17に示すステップS71に遷移する。一方、検索キーを含む通信制御ルールが、通信制御ルールテーブル23に存在しない場合(ステップS13のNo分岐)には、図11に示す「B」に遷移、即ち、図12に示すステップS21に遷移する。
例えば、通信制御ルールテーブル23が、図4に示す情報を含んで構成されるとする。その場合、上記の状況である場合、通信制御部21は、端末60bのMACアドレス「HH:II:JJ:KK:LL:MM」、及び端末60bのIPアドレス「XXX.XXX.XXX.XXX」を検索キーとして、図4に示す通信制御ルールテーブル23を検索する。その結果、検索キーを含む通信制御ルールが、通信制御ルールテーブル23に存在しない、と通信制御部23は判断する。
次に、図12を参照しながら、オープンフロースイッチ20が、通信制御ルール作成元情報を、コントローラに送信する処理について説明する。
ステップS21において、通信制御部21は、パケットの送信元IPアドレス、送信元MACアドレス、送信先IPアドレス、送信先MACアドレスに基づいて、通信制御ルール作成元情報を作成する。
例えば、上記の状況である場合、通信制御部21は、端末60bのMACアドレス「HH:II:JJ:KK:LL:MM」及びIPアドレス「XXX.XXX.XXX.XXX」、サービス提供サーバ30のMACアドレス「NN:OO:PP:QQ:RR:SS」及びIPアドレス「ZZZ.ZZZ.ZZZ.ZZZ」に基づいて、通信制御ルール作成元情報を作成する。
そして、ステップS22において、通信制御部21は、通信制御ルール作成元情報を、コントローラ10に通知する。そして、通信制御部21は、コントローラ10からの通信制御ルールの通知を待ち受ける(ステップS23)。具体的には、コントローラ10から、通信制御ルールの通知を受信するまで、通信制御ルールの通知を受信したか否かを判断する処理を、通信制御部21は繰り返す。
次に、図9、図13を参照しながら、コントローラ10が、重複ルールの有無を判断する処理について説明する。
ここで、コントローラ10は、オープンフロースイッチ20からの通信制御ルール作成元情報103の通知を監視している状態であるとする。その場合、コントローラ10は、通信制御ルール作成元情報103を受信すると、重複ルール判断部12は、通信制御ルール作成元情報103を解析する(ステップS31、図9に示す矢印205)。具体的には、重複ルール判断部12は、通信制御ルール作成元情報103から、送信元IPアドレスを読み取る。
そして、重複ルール判断部12は、読み取った送信元IPアドレスを検索キーにして、通信制御ルールテーブル17を検索する(ステップS32、ステップS33)。具体的には、検索キーである送信元IPアドレスと同一の送信元IPアドレスを有する、通信制御ルールが、通信制御ルールテーブル17に存在するか否かを、重複ルール判断部12は判断する。
検索キーを含む通信制御ルールが、通信制御ルールテーブル17に存在する場合(ステップS33のYes分岐)には、重複ルール判断部12は、重複ルールの存在の有無を示す、通信制御ルール競合フラグをONに設定する(ステップS34)。そして、図13に示すステップS35に遷移する。一方、検索キーを含む通信制御ルールが、通信制御ルールテーブル17に存在しない場合(ステップS33のNo分岐)には、図13に示すステップS35に遷移する。なお、検索キーを含む通信制御ルールが、通信制御ルールテーブル17に存在しない場合には、通信制御ルール競合フラグをOFFに設定する。そして、ステップS35において、重複ルール判断部12は、通信制御ルール管理部13を呼び出す。
次に、図9、図14を参照しながら、通信制御ルールを作成する処理について説明する。
通信制御ルール管理部13は、フロー情報テーブル18を参照し(図9に示す矢印212)、通信制御ルール送信元情報103に対応する、フロー情報を特定する。そして、特定したフロー情報に対応する、通信量ゼロフラグがONであるか否かを、通信制御ルール管理部13は判断する(ステップS41)。通信量ゼロフラグがONである場合(ステップS41のYes分岐)には、図14に示す「D」に遷移、即ち、図19に示すステップS91に遷移する。一方、通信量ゼロフラグがOFFである場合(ステップS41のNo分岐)には、ステップS42に遷移する。
ステップS42において、通信制御ルール管理部13は、通信制御ルール作成元情報103に含まれる、送信元IPアドレス、送信元MACアドレス、送信先IPアドレス、送信先MACアドレスに基づいて、通信制御ルールを作成する。
ステップS43において、通信制御ルール競合フラグがゼロであるか否かを、通信制御ルール管理部13は判断する。通信制御ルール競合フラグがONである場合(ステップS43のYes分岐)には、図14に示す「E」に遷移、即ち、図15に示すステップS51に遷移する。
一方、通信制御ルール競合フラグがOFFである場合(ステップS43のNo分岐)には、通信制御ルール管理部13はオープンフロースイッチ20に通信制御ルールを通知する(ステップS44、図9に示す矢印210)。
次に、図9、図15、図16を参照しながら、コントローラ10が通信制御ルールをオープンフロースイッチに通知する処理について説明する。
通信制御ルール管理部13は、送信元IPアドレスを検索キーにして、通信制御対象IPアドレステーブル15を検索する(ステップS51、ステップS52、図9に示す矢印207)。例えば、図6に示すように、通信制御対象IPアドレステーブル15は、制御対象の開始IPアドレスと、終了IPアドレスとを含んで構成されるとする。その場合、通信制御対象IPアドレステーブル15に含まれる、開始IPアドレスから終了IPアドレスまでに、検索キーである送信元IPアドレスが含まれるか否かを、通信制御ルール管理部13は判断しても良い。
通信制御ルール管理部13は、検索キーである送信元IPアドレスが、制御対象範囲のIPアドレスに含まれる場合(ステップS52のYes分岐)には、図15に示す「F」に遷移、即ち、図16に示すステップS61に遷移する。
一方、通信制御ルール管理部13は、検索キーである送信元IPアドレスが、制御対象範囲のIPアドレスに含まれない場合(ステップS52のNo分岐)には、ステップS53に遷移する。ステップS53において、通信制御ルール管理部13は、検索キーとした送信元IPアドレスを、通信制御対象IPアドレステーブル15に追加登録する。そして、図15に示す「G」に遷移、即ち、図16に示すステップS61に遷移する。
ここで、検索キーである送信元IPアドレスが、制御対象範囲のIPアドレスに含まれないことは、オープンフロースイッチ20において、制御対象外のIPアドレスが競合したことを意味する。その場合、当該IPアドレスを制御対象に追加するために、通信制御対象IPアドレステーブル15に当該IPアドレスを追加する。
図16に示すステップS61において、通信制御ルール管理部13は、IPアドレス使用管理テーブル16を検索する。そして、IPアドレス使用管理テーブル16から、「未使用」のIPアドレスを読み込み、当該IPアドレスに対応するステータスを「使用中」に更新する(ステップS62、図9に示す矢印208)。
ステップS63において、通信制御ルール管理部13は、作成途中の通信制御ルールに、アクションとして「変換」を設定し、フィールドとして「送信元IPアドレス」を設定し、データとして、IPアドレス使用管理テーブル16から読み込んだIPアドレスを追加する。
換言すると、通信制御ルール管理部13は、変換するか否かを示す情報(上記のアクションに相当)として、変換することを示す情報を、作成途中の通信制御ルールに設定する。また、通信制御ルール管理部13は、変換対象の情報の種類(上記のフィールドに相当)として、送信元IPアドレスを変換することを示す情報を、作成途中の通信制御ルールに設定する。また、通信制御ルール管理部13は、変換後のデータ(上記のデータに相当)として、IPアドレス使用管理テーブル16から読み込んだIPアドレスを、作成途中の通信制御ルールに設定する。
そして、通信制御ルール管理部13は、通信制御ルールテーブル17に、作成した通信制御ルールを追加する(図9に示す矢印209)。そして、通信制御ルール管理部13は、オープンフロースイッチ20に、作成した通信制御ルールを通知する(ステップS64、図9に示す矢印210)。
再度、図12を参照すると、オープンフロースイッチ20の通信制御部21は、通信制御ルールの通知を受信した場合には、受信した通信制御ルールを、通信制御ルールテーブル23に登録する。そして、通信制御部21は、受信した通信制御ルールを参照する(ステップS24)。
次に、図17を参照しながら、オープンフロースイッチ20が、通信制御ルールに従って、パケットを転送する処理について説明する。
ここで、通信制御ルールテーブル23は、送信元MACアドレス、及び送信元IPアドレスと同一の送信元MACアドレス、及び送信元IPアドレスを有する、通信制御ルールを含む状態であるものとする。そして、通信制御部21は、当該通信制御ルールを参照する(図12に示すステップS24、図11に示すステップS13のYes分岐)とする。その場合、通信制御部21は、参照する通信制御ルールにおいて、アクションが「変換」であるか否かを判断する(ステップS71)。
参照する通信制御ルールにおいて、アクションが「変換」である場合(ステップS71のYes分岐)には、通信制御部21は、参照する通信制御ルールに基づいて、パケットの送信元IPアドレス、又は送信先IPアドレスを更新する(ステップS72)。そして、通信制御部21は、パケットを転送する(ステップS73)。具体的には、通信制御部21は、更新後の送信元IPアドレス、又は更新後の送信先IPアドレスに基づいて、パケットを転送する。
サービス提供サーバが端末1に送信する場合には、送信先IPアドレスを「aaa.aaa.aaa.aaa」、送信先MACアドレスを「AA:BB:CC:DD:EE:FF」に設定し、端末2に送信する場合には、送信先IPアドレスを「bbb.bbb.bbb.bbb」、送信先MACアドレスを「HH:II:JJ:KK:LL:MM」に設定し、送信元MACアドレスはいずれも「NN.OO.PP.QQ.RR.SS」に設定する。
オープンフロースイッチ1は、送信元MACアドレスが「NN.OO.PP.QQ.RR.SS」の通信について、送信先MACアドレス「AA:BB:CC:DD:EE:FF」の場合は送信先IPアドレスを「XXX.XXX.XXX.XXX」、送信先MACアドレス「HH:II:JJ:KK:LL:MM」の場合は送信先IPアドレスを「XXX.XXX.XXX.XXX」に変換して、パケットを転送する。
一方、参照する通信制御ルールにおいて、アクションが「変換」ではない場合(ステップS71のNo分岐)には、通信制御部21は、パケットの送信元IPアドレス、及び送信先IPアドレスを維持して、パケットを転送する(ステップS73)。
次に、図9、図18を参照しながら、コントローラ10が、フロー情報を監視する処理について説明する。
オープンフロースイッチ20の通信制御部21は、コントローラ10にフロー情報104を通知する。フロー情報監視部14は、フロー情報104をオープンフロースイッチ20から受信すると(図9に示す矢印213)、フロー情報104を解析する(ステップS81)。そして、フロー情報監視部14は、送信元MACアドレス、送信元IPアドレス、通信量等の情報を、フロー情報テーブル18に格納する(ステップS82、図9に示す矢印211)。
ステップS83において、フロー情報監視部14は、格納したフロー情報104の通信量が、ゼロより大きいか否かを判断する。つまり、フロー情報監視部14は、格納したフロー情報104の通信が継続中であるか否かを判断する。具体的には、フロー情報104の通信量がゼロより大きい場合には、フロー情報監視部14は、通信が継続中であると判断する。一方、フロー情報104の通信量がゼロである場合には、フロー情報監視部14は、通信が終了したと判断する。
例えば、上記に示すように、端末60aのIPアドレスと、端末60bのIPアドレスが競合した状況において、端末60bは通信を終了し、無線アクセスポイント40への接続を解放したとする。その場合、端末60bのMACアドレス「HH:II:JJ:KK:LL:MM」及びIPアドレス「XXX.XXX.XXX.XXX」が送信元に関する情報であって、サービス提供サーバ30のプロトコルを利用した通信において、通信量がゼロである情報が、オープンフロースイッチ20のフロー情報104に蓄積される。そして、オープンフロースイッチ20は、当該フロー情報104(即ち、通信量がゼロであることを示す情報)を、コントローラ10に通知する。そして、フロー情報監視部14は、受信したフロー情報104に基づいて、端末60bの通信が終了したと判断する。
フロー情報104の通信量がゼロより大きい場合(ステップS83のYes分岐)には、フロー情報監視部14は、ステップS81の処理に戻り、処理を継続する。この場合、対応するフロー情報に対して、通信量ゼロフラグはOFFであるものとする。フロー情報104の通信量がゼロである場合(ステップS83のNo分岐)には、フロー情報監視部14は、対応するフロー情報に対して、通信量ゼロフラグをONに設定する(ステップS84)。
ステップS85において、フロー情報監視部14は、通信制御ルール管理部13を呼び出す(ステップS85)。
次に、図19、図20を参照しながら、通信制御ルールテーブル17から、通信量がゼロである通信に対応する、通信制御ルールを削除する処理について説明する。
送信元MACアドレス及び送信元IPアドレスに対応する、フロー情報において、通信量ゼロフラグがONであるか否かを、通信制御ルール管理部13は判断する(図14に示すステップS41)。フロー情報において、通信量ゼロフラグがONである場合(図14に示すステップS41のYes分岐)には、通信制御ルール管理部13は、送信元IPアドレス、送信元MACアドレスを検索キーにして、通信制御ルールテーブル17を検索する(ステップS91、ステップS92)。
検索キーを含む、通信制御ルールが存在する場合(ステップS92のYes分岐)には、ステップS93に遷移する。一方、検索キーを含む、通信制御ルールが存在しない場合(ステップS92のNo分岐)には、図19に示す「H」に遷移、即ち、図20に示す「H」に遷移し、図20に示す通り、処理を終了する。
ステップS93において、検索キーを含む、通信制御ルールにおいて、アクションが「変換」であるか否かを、通信制御ルール管理部13は判断する。アクションが「変換」である場合(ステップS93のYes分岐)には、図19に示す「I」、即ち、図20に示すステップS101に遷移する。一方、アクションが「変換」ではない場合(ステップS93のNo分岐)には、図19に示す「J」、即ち、図20に示すステップS104に遷移する。
図20に示すステップS101において、通信制御ルール管理部13は、検索キーを含む、通信制御ルールから、データとして指定されたIPアドレスを読み込む。なお、ここで、検索キーとは、図19に示すステップS91の処理の検索キーである、送信元IPアドレス、送信元MACアドレスを意味する。つまり、ステップS101の処理において、通信制御ルールとは、図19に示すステップS91の処理で検索された、通信制御ルールを意味する。
ステップS102において、通信制御ルール管理部13は、ステップS101の処理で検索された、IPアドレスを検索キーとして、IPアドレス使用管理テーブル16を検索する。そして、ステップS103において、通信制御ルール管理部13は、当該IPアドレスに対応するステータスを、「未使用」に更新する。
ステップS104において、通信制御ルール管理部13は、対象の通信制御ルールを削除し、オープンフロースイッチ20に、対象の通信制御ルールの削除を通知する。
次に、図21を参照しながら、通信制御ルールテーブル23から、通信量がゼロである通信に対応する、通信制御ルールを削除する処理について説明する。
オープンフロースイッチ20の命令監視部22は、コントローラ10からの通信制御ルールの削除命令を待ち受ける(ステップS111)。具体的には、命令監視部22は、コントローラ10からの通信制御ルールの削除命令を受信するまで、当該削除命令を受信したか否かを判断する処理を繰り返す。命令監視部22は、コントローラ10からの通信制御ルールの削除命令を受信した場合、ステップS112に遷移する。
ステップS112において、命令監視部22は、削除対象の通信制御ルールを検索キーとして、通信制御ルールテーブル23を検索する。削除対象の通信制御ルールが、通信制御ルールテーブル23に登録されている場合には、命令監視部22は、通信制御ルールテーブル23から、削除対象の通信制御ルールを削除する。
なお、上記の説明においては、2つの端末60が、同一IPアドレスを有する場合を例示して説明した。しかし、図22に示すように、3つの端末60(又は、3つ以上の端末60)が、同一IPアドレスを有する場合に、コントローラ10は、パケットのIPアドレスを変更することで、通信制御しても良いことは勿論である。
以上のように、本実施形態に係る通信システムは、パケットの送信元IPアドレス、又は送信先IPアドレスが競合する場合に、送信元IPアドレス、送信先IPアドレスを変換し、パケットを転送する。従って、本実施形態に係るコントローラ10は、同一IPアドレスが、2以上の端末で同時に利用される状態であっても、適切な通信を実現することに貢献する。
なお、上記の説明においては、無線ネットワークを例示して説明したが、本発明の適用範囲を、無線ネットワークに限定する趣旨ではなく、上記の機能を実現できれば、有線ネットワークであっても良いことは勿論である。
上述の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
(付記1)第1の視点に係るコントローラの通りである。
(付記2)IPアドレスと、当該IPアドレスの使用状態とを対応付けた情報を格納する、IPアドレス使用管理テーブルをさらに備える、付記1に記載のコントローラ。
(付記3)前記ルール管理部は、パケットの送信元端末を識別する情報と、パケットの送信先端末を識別する情報と、前記IPアドレス使用管理テーブルに格納されるIPアドレスのうち、未使用のIPアドレスのいずれか一のIPアドレスと、を含む前記ルールを、前記新規のルールとして作成する、付記2に記載のコントローラ。
(付記4)前記第1の処理は、パケットの送信元IPアドレス、送信先IPアドレスの少なくともいずれかを、異なるIPアドレスに変換する、付記1乃至3のいずれか一に記載のコントローラ。
(付記5)制御対象のIPアドレスの範囲を格納する、通信制御対象IPアドレステーブルをさらに備える、付記1乃至4のいずれか一に記載のコントローラ。
(付記6)前記ルールは、変換対象の情報の種類として、パケットの送信元IPアドレス、送信先IPアドレスの少なくともいずれかを含む、付記1乃至5のいずれか一に記載のコントローラ。
(付記7)前記ルールは、前記第1の処理を実行するか否かを示す情報を含む、付記1乃至6のいずれか一に記載のコントローラ。
(付記8)上記第2の視点に係る通信システムの通りである。
(付記9)前記通信スイッチは、前記コントローラにフロー情報を通知する、通信制御部を備え、前記コントローラは、前記通信スイッチが通知する前記フロー情報に基づいて、通信量を解析する、フロー情報監視部をさらに備え、前記ルール管理部は、前記フロー情報監視部が解析する前記通信量に基づいて、通信量が0になった通信に関する前記ルールを、前記フローテーブルから削除する、付記8に記載の通信システム。
(付記10)上記第3の視点に係る通信スイッチの通りである。
(付記11)前記通信制御部は、パケットの送信元IPアドレス、及び送信元MACアドレスを有する前記ルールが、前記フローテーブルに登録されていない場合、当該パケットの送信元IPアドレスを、コントローラに通知する、付記10に記載の通信スイッチ。
(付記12)上記第4の視点に係る通信制御方法の通りである。
(付記13)IPアドレスと、当該IPアドレスの使用状態とを対応付けた情報を格納する工程をさらに含む、付記12に記載の通信制御方法。
(付記14)前記新規のルールを作成する工程において、パケットの送信元端末を識別する情報と、パケットの送信先端末を識別する情報と、未使用のIPアドレスのいずれか一のIPアドレスと、を含む前記ルールを、前記新規のルールとして作成する、付記13に記載の通信制御方法。
(付記15)前記異なるIPアドレスに変換する工程において、パケットの送信元IPアドレス、送信先IPアドレスの少なくともいずれかを、異なるIPアドレスに変換する、付記12乃至14のいずれか一に記載の通信制御方法。
(付記16)制御対象のIPアドレスの範囲を格納する工程をさらに含む、付記12乃至15のいずれか一に記載の通信制御方法。
(付記17)1又は2以上の端末の通信を中継し、1又は2以上のルールを含む、フローテーブルを備える通信スイッチを制御する制御方法であって、前記ルールは、IPアドレスとMACアドレスを含み、パケットの送信元IPアドレス、及び送信元MACアドレスに基づいて、前記フローテーブルを参照する工程と、パケットの送信元IPアドレス及びMACアドレスを有する前記ルールが、前記フローテーブルに登録されているか否かを判断する工程と、前記ルールに基づいて、パケットの送信元IPアドレスを、異なるIPアドレスに変換し、変換後のIPアドレスを用いて、パケットを転送する工程と、を含む通信スイッチの制御方法。
(付記18)前記判断する工程において、パケットの送信元IPアドレス及びMACアドレスを有する前記ルールが、前記フローテーブルに登録されていない場合、当該パケットの送信元IPアドレスを、コントローラに通知する、付記17に記載の通信スイッチの制御方法。
(付記19)上記第5の視点に係るプログラムの通りである。
(付記20)1又は2以上の端末の通信を中継し、1又は2以上のルールを含む、フローテーブルを備える通信スイッチを制御するコンピュータに実行させるプログラムであって、前記ルールは、IPアドレスとMACアドレスを含み、パケットの送信元IPアドレス、及び送信元MACアドレスに基づいて、前記フローテーブルを参照する処理と、パケットの送信元IPアドレス及びMACアドレスを有する前記ルールが、前記フローテーブルに登録されているか否かを判断する処理と、前記ルールに基づいて、パケットの送信元IPアドレスを、異なるIPアドレスに変換し、変換後のIPアドレスを用いて、パケットを転送する処理と、を前記コンピュータに実行させるプログラム。
上記の付記19に示す形態は、付記12に示す形態と同様に、付記13乃至16に示す形態に展開することが可能である。また、上記の付記20に示す形態は、付記18に示す形態に展開することが可能である。
なお、上記の特許文献等の開示を、本書に引用をもって繰り込むものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態の変更・調整が可能である。また、本発明の全開示の枠内において種々の開示要素(各請求項の各要素、各実施形態の各要素、各図面の各要素等を含む)の多様な組み合わせ、ないし、選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。
10、1000 コントローラ
11 情報管理部
12、1002 重複ルール判断部
13 通信制御ルール管理部
14 フロー情報監視部
15 通信制御対象IPアドレステーブル
16 IPアドレス使用管理テーブル
17、23 通信制御ルールテーブル
18 フロー情報テーブル
20 オープンフロースイッチ
21 通信制御部
22 命令監視部
30 サービス提供サーバ
40 無線アクセスポイント
50 無線コントローラ
60、60a、60b、60c 端末
101 通信制御対象IPアドレス
102 利用IPアドレス
103 通信制御ルール作成元情報
104 フロー情報
201〜2012 矢印
1001 フローテーブル
1003 ルール管理部
1004、1007 ルール
1005 IPアドレス
1006 パケットの送信元IPアドレス
1200、1201 パケット
2000 通信スイッチ

Claims (7)

  1. パケットを処理する通信スイッチを管理するコントローラであって、
    前記コントローラは、前記通信スイッチが実行する、1又は2以上のルールを含む、フローテーブルを備え、
    前記ルールは、IP(Internet Protocol)アドレスを含み、
    前記通信スイッチは、前記コントローラにフロー情報を通知する、通信制御部を備え、
    前記コントローラは、
    パケットの送信元IPアドレスと同一のIPアドレスを有する重複ルールが、前記フローテーブルに登録されているか否かを判断する、重複ルール判断部と、
    前記重複ルールが前記フローテーブルに登録されている場合、新規の前記ルールを作成する、ルール管理部と、
    前記通信スイッチが通知する前記フロー情報に基づいて、通信量を解析し、フロー情報毎に、通信量がゼロであるか否かを示すフラグを設定するフロー情報監視部と、
    を備え、
    前記ルール管理部は、前記フロー情報監視部が解析する前記通信量に基づいて、通信量が0になった通信に関する前記ルールを、前記フローテーブルから削除し、
    前記ルールは、
    パケットの送信元IPアドレスを異なるIPアドレスに変換する第1の処理と、
    変換後のIPアドレスを用いてパケットを転送する第2の処理と、
    を規定する、コントローラ。
  2. IPアドレスと当該IPアドレスの使用状態とを対応付けた情報を格納する、IPアドレス使用管理テーブルをさらに備える、請求項1に記載のコントローラ。
  3. 前記ルール管理部は、パケットの送信元端末を識別する情報と、パケットの送信先端末を識別する情報と、前記IPアドレス使用管理テーブルに格納されるIPアドレスのうち未使用のIPアドレスのいずれか一のIPアドレスと、を含む前記ルールを、前記新規のルールとして作成する、請求項2に記載のコントローラ。
  4. 前記第1の処理は、パケットの送信元IPアドレス及び送信先IPアドレスの少なくともいずれかを異なるIPアドレスに変換する、請求項1乃至3のいずれか一に記載のコントローラ。
  5. 1又は2以上の端末の通信を中継し、前記端末が送信するパケットを処理する、通信スイッチと、
    前記通信スイッチを管理する、コントローラと、
    を含む通信システムであって、
    前記コントローラは、前記通信スイッチが実行する、1又は2以上のルールを含む、フローテーブルを備え、
    前記ルールは、IPアドレスを含み、
    前記通信スイッチは、前記コントローラにフロー情報を通知する、通信制御部を備え、
    前記コントローラは、
    パケットの送信元IPアドレスと同一のIPアドレスを有する重複ルールが、前記フローテーブルに登録されているか否かを判断する、重複ルール判断部と、
    前記重複ルールが前記フローテーブルに登録されている場合、新規の前記ルールを作成する、ルール管理部と、
    前記通信スイッチが通知する前記フロー情報に基づいて、通信量を解析し、フロー情報毎に、通信量がゼロであるか否かを示すフラグを設定するフロー情報監視部と、
    を備え、
    前記ルール管理部は、前記フロー情報監視部が解析する前記通信量に基づいて、通信量が0になった通信に関する前記ルールを、前記フローテーブルから削除し、
    前記ルールは、
    パケットの送信元IPアドレスを異なるIPアドレスに変換する第1の処理と、
    変換後のIPアドレスを用いてパケットを転送する第2の処理と、
    を規定する、通信システム。
  6. 1又は2以上のルールを含むフローテーブルに、パケットの送信元IPアドレスと同一のIPアドレスを有する重複ルールが登録されているか否かを、パケットを処理する通信スイッチを管理するコントローラが判断する工程と、
    前記通信スイッチが、前記コントローラにフロー情報を通知する工程と、
    前記通信スイッチが通知する前記フロー情報に基づいて、通信量を解析し、フロー情報毎に、通信量がゼロであるか否かを示すフラグを設定する工程と、
    前記重複ルールが前記フローテーブルに存在する場合、前記コントローラが新規の前記ルールを作成する工程と、
    前記ルールに基づいて、前記コントローラが前記パケットの送信元IPアドレスを異なるIPアドレスに変換する工程と、
    前記ルールに基づいて、変換後のIPアドレスを用いて前記通信スイッチが前記パケットを転送する工程と、通信量が0になった通信に関する前記ルールを、前記コントローラが前記フローテーブルから削除する工程と、
    を含む、通信制御方法。
  7. 1又は2以上のルールを含む、フローテーブルを備え、通信スイッチを管理するコントローラを制御するコンピュータに実行させるプログラムであって、
    前記通信スイッチが、前記コントローラにフロー情報を通知する処理と、
    パケットの送信元IPアドレスと同一のIPアドレスを有する重複ルールが、前記フローテーブルに登録されているか否かを判断する処理と、
    前記通信スイッチが通知する前記フロー情報に基づいて、通信量を解析し、フロー情報毎に、通信量がゼロであるか否かを示すフラグを設定する処理と、
    前記重複ルールが前記フローテーブルに存在する場合、新規の前記ルールを作成する処理と、
    前記ルールを前記通信スイッチに通知する処理と、
    通信量が0になった通信に関する前記ルールを、前記フローテーブルから削除する処理とを、
    前記コンピュータに実行させ、
    前記ルールは、
    前記パケットの送信元IPアドレスを異なるIPアドレスに変換する第1の処理と、変換後のIPアドレスを用いて前記パケットを転送する処理と、を規定する、プログラム。
JP2016043009A 2016-03-07 2016-03-07 コントローラ、通信スイッチ、通信システム、通信制御方法、及びプログラム Active JP6724427B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016043009A JP6724427B2 (ja) 2016-03-07 2016-03-07 コントローラ、通信スイッチ、通信システム、通信制御方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016043009A JP6724427B2 (ja) 2016-03-07 2016-03-07 コントローラ、通信スイッチ、通信システム、通信制御方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2017163177A JP2017163177A (ja) 2017-09-14
JP6724427B2 true JP6724427B2 (ja) 2020-07-15

Family

ID=59854242

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016043009A Active JP6724427B2 (ja) 2016-03-07 2016-03-07 コントローラ、通信スイッチ、通信システム、通信制御方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP6724427B2 (ja)

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005073093A (ja) * 2003-08-27 2005-03-17 Fujitsu Ltd 統合監視システム及び統合監視方法
JP4763560B2 (ja) * 2006-09-14 2011-08-31 富士通株式会社 接続支援装置
JP2008219400A (ja) * 2007-03-02 2008-09-18 Fujitsu Ltd 中継装置およびパケット中継方法
JP4909392B2 (ja) * 2009-08-28 2012-04-04 日本電信電話株式会社 Ipアドレス払い出しシステム,ipアドレス払い出し装置、ipアドレス払い出し方法、およびipアドレス払い出しプログラム
JP5637148B2 (ja) * 2010-01-05 2014-12-10 日本電気株式会社 スイッチネットワークシステム、コントローラ、及び制御方法
WO2012056816A1 (ja) * 2010-10-28 2012-05-03 日本電気株式会社 ネットワークシステム、及び通信トラフィック制御方法
JPWO2014142278A1 (ja) * 2013-03-14 2017-02-16 日本電気株式会社 制御装置、通信システム、通信方法及びプログラム
JP2014179822A (ja) * 2013-03-15 2014-09-25 Japan Radio Co Ltd 無線通信システム
JP5916234B2 (ja) * 2013-11-01 2016-05-11 日本電気株式会社 通信装置、制御装置、通信システム、通信制御方法及びプログラム

Also Published As

Publication number Publication date
JP2017163177A (ja) 2017-09-14

Similar Documents

Publication Publication Date Title
US11134012B2 (en) Communication system, communication device, controller, and method and program for controlling forwarding path of packet flow
JP5850128B2 (ja) 通信システム、フロー制御装置、フローテーブルの更新方法およびプログラム
JP5640982B2 (ja) 通信システム、転送ノード、経路管理サーバ、通信方法およびプログラム
JP5935913B2 (ja) 通信システム、転送ノード、経路管理サーバおよび通信方法
JP5674107B2 (ja) 通信システム、制御装置、処理規則の設定方法およびプログラム
JP5304947B2 (ja) 通信システム、制御装置、ノードの制御方法およびプログラム
US10164862B2 (en) Communication system, control device, communication method and program
US20120093158A1 (en) Communication system, node, control device, communication method, and porgram
WO2011087085A1 (ja) 計算機、ネットワーク接続切替え方法およびプログラム
JP2014233091A (ja) 通信システム、制御装置、通信方法及びプログラム
JP6280223B2 (ja) 通信ネットワーク内の制御を提供する方法
JP5720162B2 (ja) 通信システム、スイッチングハブ、およびルータ
JP5747997B2 (ja) 制御装置、通信システム、仮想ネットワークの管理方法およびプログラム
JP6724427B2 (ja) コントローラ、通信スイッチ、通信システム、通信制御方法、及びプログラム
JP2014003408A (ja) 中継転送システム、経路制御装置およびエッジ装置
JP5854488B2 (ja) 通信システム、制御装置、処理規則の設定方法およびプログラム
JP2016225836A (ja) スイッチ装置および中継システム
JP2016035656A (ja) 通信装置およびその制御方法、プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190204

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191015

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191216

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200212

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200309

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200526

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200608

R150 Certificate of patent or registration of utility model

Ref document number: 6724427

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150