JP2019024272A - 制御装置、制御方法及びプログラム - Google Patents
制御装置、制御方法及びプログラム Download PDFInfo
- Publication number
- JP2019024272A JP2019024272A JP2018219234A JP2018219234A JP2019024272A JP 2019024272 A JP2019024272 A JP 2019024272A JP 2018219234 A JP2018219234 A JP 2018219234A JP 2018219234 A JP2018219234 A JP 2018219234A JP 2019024272 A JP2019024272 A JP 2019024272A
- Authority
- JP
- Japan
- Prior art keywords
- packet
- field
- ofs
- destination
- value
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims description 20
- 230000005540 biological transmission Effects 0.000 claims abstract description 87
- 230000008859 change Effects 0.000 claims abstract description 12
- 238000004364 calculation method Methods 0.000 abstract description 8
- 238000004891 communication Methods 0.000 description 44
- 238000012545 processing Methods 0.000 description 26
- 238000012546 transfer Methods 0.000 description 25
- 238000010586 diagram Methods 0.000 description 16
- 238000012986 modification Methods 0.000 description 12
- 230000004048 modification Effects 0.000 description 12
- 230000008569 process Effects 0.000 description 11
- 238000001514 detection method Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 3
- BCGWQEUPMDMJNV-UHFFFAOYSA-N imipramine Chemical compound C1CC2=CC=CC=C2N(CCCN(C)C)C2=CC=CC=C21 BCGWQEUPMDMJNV-UHFFFAOYSA-N 0.000 description 3
- 238000007689 inspection Methods 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 238000012790 confirmation Methods 0.000 description 2
- 235000014510 cooky Nutrition 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 206010048669 Terminal state Diseases 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
【課題】パケット送信時に設定された送信先情報を変更せずに当該パケットの送信先を変える。【解決手段】制御サーバの経路制御計算部は、OFS4を制御して、送信先IPアドレスが送信先IPフィールドに記述されているパケットをOFS4が受信した場合に、OFS4に当該パケットのCosフィールドにアプライアンスの識別番号を書き込ませ、かつ、OFS4にTosフィールドの値を、送信先IPフィールドを指定する値からCosフィールドを指定する値に変更させることで、当該パケットの送信先を、送信先IPアドレスに指定される送信先から上記のアプライアンスに変更させる。【選択図】図4
Description
本発明は、ネットワークの経路を制御する技術に関する。
近年、プログラムによるネットワーク制御を実現するネットワークアーキテクチャであるSDN(Software-Defined Networking)の普及と実用化が進みつつある。このSDNを実現するプロトコルの1つにOpenFlowがある。OpenFlowでは、OpenFlowスイッチがOpenFlowコントローラによって集中的に制御される。例えば、特許文献1に記載の技術では、OpenFlowを利用して、各スイッチがルーティングを行うためのフローエントリが制御サーバにより配信されている。
特許文献1では、通信パケットの特定のフィールドに付されているビット列を参照して、その結果に応じて検査用装置にパケットが転送されることが記載されている。しかし、特許文献1に記載の検査用のパケットは、その送信先が検査用装置に固定的に設定されており、その送信先をスイッチのフローエントリに応じて変更させることについては記載されていない。
本発明は、このような事情に鑑みてなされたものであり、パケット送信時に設定された送信先情報を変更せずに当該パケットの送信先を変えることを目的とする。
上記の課題を解決するため、本発明は、複数の装置の間でパケットを中継する複数の中継装置を制御する制御装置であって、前記複数の中継装置のうちの少なくとも一の中継装置が、第1送信先を識別する第1送信先情報が記述される第1フィールドと、第2送信先を識別する第2送信先情報が記述される第2フィールドと、前記第1フィールドと前記第2フィールドのうち送信先を特定するために参照すべきフィールドを決定する値が記述される第3フィールドとを有するパケットを受信し、前記第3フィールドの値を変更することで、当該パケットの送信先を変更させるように当該一の中継装置を制御する経路制御部を備えることを特徴とする制御装置を提供する。
好ましい態様において、所定の判断基準に基づいて、前記パケットが中継される経路を決定する経路決定部をさらに備え、前記経路制御部は、前記決定された経路上を前記パケットが中継されるように前記制御を行ってもよい。
さらに好ましい態様において、前記経路決定部は、前記経路上で前記パケットが転送される機器を決定してもよい。
さらに好ましい態様において、前記所定の判断基準は、前記複数の中継装置の間のトラフィックであり、前記経路決定部は、前記パケットが転送されるべき同種の機器が複数存在する場合には、当該複数の機器の中からトラフィックに基づいて一の機器を決定してもよい。
また、本発明は、複数の装置の間でパケットを中継する複数の中継装置を制御する制御装置によって実行される制御方法であって、前記複数の中継装置のうちの少なくとも一の中継装置が、第1送信先を識別する第1送信先情報が記述される第1フィールドと、第2送信先を識別する第2送信先情報が記述される第2フィールドと、前記第1フィールドと前記第2フィールドのうち送信先を特定するために参照すべきフィールドを決定する値が記述される第3フィールドとを有するパケットを受信し、前記第3フィールドの値を変更することで、当該パケットの送信先を変更させるように当該一の中継装置を制御するステップを備えることを特徴とする制御方法を提供する。
また、本発明は、複数の装置の間でパケットを中継する複数の中継装置を制御するコンピュータを、前記複数の中継装置のうちの少なくとも一の中継装置が、第1送信先を識別する第1送信先情報が記述される第1フィールドと、第2送信先を識別する第2送信先情報が記述される第2フィールドと、前記第1フィールドと前記第2フィールドのうち送信先を特定するために参照すべきフィールドを決定する値が記述される第3フィールドとを有するパケットを受信し、前記第3フィールドの値を変更することで、当該パケットの送信先を変更させるように当該一の中継装置を制御する経路制御部として機能させるためのプログラムを提供する。
本発明によれば、パケット送信時に設定された送信先情報を変更せずに当該パケットの送信先を変えることができる。
1.実施形態
1−1.通信システム100の構成
図1は、本発明の一実施形態に係る通信システム100の構成の一例を示す図である。通信システム100は、同図に示されるように、SDN(Software-Defined Networking)ネットワーク10と、Proxy(プロキシ)サーバ1と、管理サーバ2と、制御サーバ3とにより構成される。SDNネットワーク10は、OpenFlow仕様に準拠したネットワークであり、複数のOpenFlowスイッチ(以下、「OFS」という。)4A〜4D(以下、特に区別する必要がない場合には「OFS4」と総称する。)と、複数の端末5A〜5C(以下、特に区別する必要がない場合には「端末5」と総称する。)と、複数のIPS(Intrusion Prevention System、侵入防止システム)6A及び6B(以下、特に区別する必要がない場合には「IPS6」と総称する。)と、WAF(Web Application Firewall)7と、Capture(キャプチャ)ツール8とにより構成される。
1−1.通信システム100の構成
図1は、本発明の一実施形態に係る通信システム100の構成の一例を示す図である。通信システム100は、同図に示されるように、SDN(Software-Defined Networking)ネットワーク10と、Proxy(プロキシ)サーバ1と、管理サーバ2と、制御サーバ3とにより構成される。SDNネットワーク10は、OpenFlow仕様に準拠したネットワークであり、複数のOpenFlowスイッチ(以下、「OFS」という。)4A〜4D(以下、特に区別する必要がない場合には「OFS4」と総称する。)と、複数の端末5A〜5C(以下、特に区別する必要がない場合には「端末5」と総称する。)と、複数のIPS(Intrusion Prevention System、侵入防止システム)6A及び6B(以下、特に区別する必要がない場合には「IPS6」と総称する。)と、WAF(Web Application Firewall)7と、Capture(キャプチャ)ツール8とにより構成される。
1−2.OFS4の構成
OFS4は、OpenFlow仕様に準拠した伝送装置(又は中継装置、転送装置)であって、ハードウェアで行われるパケット伝送処理を行う伝送装置である。ここで、OpenFlowとは、通信ネットワークを構成するネットワーク機器を1つの制御装置で集中管理し、複雑な転送制御を行ったり柔軟にネットワーク構成を変更したりすることができる技術である。OpenFlowは、SDNを実現するプロトコルの1つである。なおここで、SDNとは、コンピュータネットワークを構成する通信機器を単一のソフトウェアによって集中的に制御し、ネットワークの構造や構成、設定などを柔軟かつ動的に変更することを可能とする技術の総称、または、そのような技術によって構築されたネットワークのことである。
OFS4は、OpenFlow仕様に準拠した伝送装置(又は中継装置、転送装置)であって、ハードウェアで行われるパケット伝送処理を行う伝送装置である。ここで、OpenFlowとは、通信ネットワークを構成するネットワーク機器を1つの制御装置で集中管理し、複雑な転送制御を行ったり柔軟にネットワーク構成を変更したりすることができる技術である。OpenFlowは、SDNを実現するプロトコルの1つである。なおここで、SDNとは、コンピュータネットワークを構成する通信機器を単一のソフトウェアによって集中的に制御し、ネットワークの構造や構成、設定などを柔軟かつ動的に変更することを可能とする技術の総称、または、そのような技術によって構築されたネットワークのことである。
OFS4は、複数の端末5の間で経路制御情報(又は中継制御情報、転送制御情報)に基づいて通信パケットを中継する。具体的には、記憶するフローテーブルを参照して、通信パケットの転送制御を行う。ここで、フローテーブルとは、制御サーバ3により計算された経路情報を保存するテーブルであって、OFS4がパケット転送を処理する際に参照されるテーブルである。このフローテーブルは1以上のフローエントリにより構成され、各フローエントリは、データ転送の条件(Match)と、条件合致時の動作指示(Instructions)とにより構成される。
条件部分には、例えば、送信元又は宛先IP(Internet Protocol)アドレスや、送信元又は宛先MAC(Media Access Control)アドレスや、ネットワークIDや、入力ポート番号等の、パケットのヘッダ情報が指定される。または、1以上のヘッダフィールド(Type of Service(Tos)フィールドや、Class of Service(Cos)フィールドも含む。)に設定される任意のビット値や複数の異なるビットが指定される。一方、動作指示部分には、例えば、データの転送(Output命令)、データの破棄(Drop命令)、データのヘッダ情報の書き換え(Set-Field命令)が指定される。なお、フローエントリには、優先度(Priority)や、カウンタ(Counters)や、有効期間(Timeouts)や、クッキー(Cookie)が指定されてもよい。
図2は、OFS4の機能構成の一例を示す図である。OFS4は、同図に示されるように、受信部41と、フィールド特定部42と、動作指示特定部43と、処理実行部44という機能を備える。これらの機能は、例えば、CPU等の演算装置によりプログラムが実行されることにより実現される。なお、これらの機能は、特にパケットの転送処理に係るものである。
受信部41は、入力ポートを介してパケットを受信する。ここで、パケットは、例えば、第1送信先を識別する第1送信先情報が記述される第1フィールドと、第2送信先を識別する第2送信先情報が記述される第2フィールドと、前記第1フィールドと前記第2フィールドのうち送信先を特定するために参照すべきフィールドを決定する値が記述される第3フィールドとを有する。ここで、第1送信先情報は、例えば、送信先IPアドレスや送信先MACアドレスであり、第1フィールドは、例えば、送信先IPアドレスや送信先MACアドレスのヘッダフィールドである。第2送信先情報は、例えばCosフィールドの値(Cos値)であり、第2フィールドは、例えばCosフィールドである。第3フィールドは、例えば、Tosフィールドである。
フィールド特定部42は、受信部41により受信されたパケットの第3フィールドに記述されている値に基づいて、第1及び第2フィールドのうち、当該パケットの送信先を特定するために参照すべきフィールドを特定する。具体的には、受信部41により受信されたパケットのTosフィールドを参照して、転送先を決定するために参照すべきフィールドを特定する。
動作指示特定部43は、フィールド特定部42により特定されたフィールドに記述されている送信先情報に対応する動作指示を経路制御テーブルにおいて特定する。具体的には、フィールド特定部42により特定されたフィールドの値と合致する条件がフローテーブルFT内に存在するか否かを調べ、存在する場合には当該条件に対応する動作指示を特定する。
処理実行部44は、動作指示特定部43により特定された動作指示に従って処理を実行する。
以上が、パケットの転送処理に係る機能構成についての説明である。
以上が、パケットの転送処理に係る機能構成についての説明である。
OFS4は、図示せぬOpenFlowチャネル(セキュアチャネル)を介して、OpenFlowプロトコルに従って制御サーバ3との間で通信を行う。OFS4は、制御サーバ3からフローエントリ変更メッセージ(Flow Modifyメッセージ)を受信すると、当該メッセージに従って、フローエントリの追加、更新、削除等の処理を行う。また、OFS4は、パケット受信時に、当該パケットのヘッダ情報と合致する条件がフローテーブルに存在しない場合には、制御サーバ3に対してPacketInメッセージを送信する。このPacketInメッセージは、受信したパケットに合致するフローエントリが存在しない場合に、制御サーバ3にパケットの処理方法を問い合わせるために送信されるメッセージである。このメッセージに対する応答として制御サーバ3からフローエントリ変更メッセージが送られてくると、OFS4は当該メッセージに従ってフローエントリの追加処理を行う。
1−3.端末5の構成
端末5は、OFS4を介して互いに通信を行うコンピュータ装置である。端末5は、例えば、CPU(Central Processing Unit)等の演算装置と、HDD(Hard Disk Drive)等の記憶装置と、キーボードやマウス等の入力装置と、液晶ディスプレイ等の表示装置と、ネットワークカード等の通信インタフェースを備える。
端末5は、OFS4を介して互いに通信を行うコンピュータ装置である。端末5は、例えば、CPU(Central Processing Unit)等の演算装置と、HDD(Hard Disk Drive)等の記憶装置と、キーボードやマウス等の入力装置と、液晶ディスプレイ等の表示装置と、ネットワークカード等の通信インタフェースを備える。
1−4.IPS6の構成
IPS6は、SDNネットワーク10への不正侵入を防止するセキュリティ機器である。IPS6は、侵入検知時には通信の遮断などの防御をリアルタイムに行い、管理者への通知やログの記録を行う。
IPS6は、SDNネットワーク10への不正侵入を防止するセキュリティ機器である。IPS6は、侵入検知時には通信の遮断などの防御をリアルタイムに行い、管理者への通知やログの記録を行う。
1−5.WAF7の構成
WAF7は、SDNネットワーク10への不正アクセスを防止するためのファイアウォールである。WAF7は特に、Webアプリケーションのやり取りを把握、管理することによって不正侵入を防止する。
WAF7は、SDNネットワーク10への不正アクセスを防止するためのファイアウォールである。WAF7は特に、Webアプリケーションのやり取りを把握、管理することによって不正侵入を防止する。
1−6.Captureツール8の構成
Captureツール8は、パケットキャプチャツールである。Captureツール8は、SDNネットワーク10を流れるパケットを捕獲して中身を表示したり解析、集計などを行う。
Captureツール8は、パケットキャプチャツールである。Captureツール8は、SDNネットワーク10を流れるパケットを捕獲して中身を表示したり解析、集計などを行う。
1−7.Proxyサーバ1の構成
Proxyサーバ1は、SDNネットワーク10内の端末5による外部ネットワークへのアクセスを中継する装置であって、そのアクセスログを記録する。
Proxyサーバ1は、SDNネットワーク10内の端末5による外部ネットワークへのアクセスを中継する装置であって、そのアクセスログを記録する。
1−8.管理サーバ2の構成
図3は、管理サーバ2の機能構成の一例を示す図である。管理サーバ2は、同図に示されるように、収集部21と、判断部22と、実行部23という機能を備える。これらの機能は、例えば、CPU等の演算装置によりプログラムが実行されることにより実現される。
図3は、管理サーバ2の機能構成の一例を示す図である。管理サーバ2は、同図に示されるように、収集部21と、判断部22と、実行部23という機能を備える。これらの機能は、例えば、CPU等の演算装置によりプログラムが実行されることにより実現される。
収集部21は、Proxyサーバ1とCaptureツール8からはsyslogを収集し、IPS6とWAF7からはsyslogとREST(Representational State Transfer)ベースのログを収集し、収集したログ情報をログデータベースDB1に記録する。
判断部22は、ログデータベースDB1に記録されたログ情報を基に、SDNネットワーク10内で発生する各通信の脅威を判断する。具体的には、以下に例示する判断基準を参照して各通信の脅威を判断する。各判断基準は、ノード、攻撃名、日時、ユーザ定義状態等の各パラメータにより定義される。なお、以下の判断基準に記載の「装置」は、アプライアンス(具体的には、IPS6、WAF7又はCaptureツール8)とProxyサーバ1のうちのいずれかを指す。
(1)カウントを用いた条件
[「何れかの端末」から「検出対象の何れかのログ」が「60分以内」に「5回以上」検出されたら]、[「端末状態をグレー」とする]
(2)複数ログ組合せを用いた条件
[「何れかの端末」から「60分以内」で「装置Aのログ1」と「装置Bのログ2」と「装置Cのログ3」が検出されたら]、[「端末状態をブラック」とする]
(3)端末状態を用いた条件
[「端末状態=グレーの端末」から「検出対象の何れかのログ」が検出されたら]、[「端末状態をブラック」とする]
(4)日付を用いた条件
[「何れかの端末」から「営業時間外19:00〜翌8:00」に「装置Aのログ4」が検出されたら]、[「端末状態をグレー」とする]
(5)特定端末を用いた条件
[「端末1」から「装置Aのログ3」が検出されたら]、[「端末状態をグレー」とする]
[「何れかの端末」から「検出対象の何れかのログ」が「60分以内」に「5回以上」検出されたら]、[「端末状態をグレー」とする]
(2)複数ログ組合せを用いた条件
[「何れかの端末」から「60分以内」で「装置Aのログ1」と「装置Bのログ2」と「装置Cのログ3」が検出されたら]、[「端末状態をブラック」とする]
(3)端末状態を用いた条件
[「端末状態=グレーの端末」から「検出対象の何れかのログ」が検出されたら]、[「端末状態をブラック」とする]
(4)日付を用いた条件
[「何れかの端末」から「営業時間外19:00〜翌8:00」に「装置Aのログ4」が検出されたら]、[「端末状態をグレー」とする]
(5)特定端末を用いた条件
[「端末1」から「装置Aのログ3」が検出されたら]、[「端末状態をグレー」とする]
判断部22は、各通信の脅威を判断すると、判断された脅威に基づいて、その通信のパケットを転送すべきアプライアンスを決定する。例えば、ブラックと判断された通信については、IPS6とCaptureツール8を選択し、グレーと判断された通信については、IPS6を選択し、いずれにも該当しない通信については、アプライアンスを選択しない。
実行部23は、判断部22により脅威を認められた通信を特定するための情報(送信元MACアドレスと送信元IPアドレス)と、当該通信のパケットを転送すべきアプライアンスの名称とを制御サーバ3に通知する。なお、実行部23は、判断部22により脅威を認められた通信を特定するための情報として、送信先MACアドレスと送信先IPアドレスとをさらに制御サーバ3に通知してもよい。
なお、本実施形態では、判断部22により各通信の脅威と、パケットが転送されるべきアプライアンスとが判断されているが、これらの判断は管理サーバ2の管理者によりなされてもよい。例えば、判断部22は、上記の判断基準に基づいて各通信のスコア値を算出し、実行部23は、判断部22により算出されたスコア値を管理者に提示して、管理者による判断を仰いでもよい。
1−9.制御サーバ3の構成
制御サーバ3は、OpenFlowコントローラである。より具体的には、OpenFlow仕様に準拠した制御装置であって、複数のOFS4の振る舞いを一括して管理する制御装置である。制御サーバ3は、SDNネットワーク10におけるデータ転送の経路計算を行って、計算した経路に沿ってデータ転送が行われるように各OFS4を制御する。
制御サーバ3は、OpenFlowコントローラである。より具体的には、OpenFlow仕様に準拠した制御装置であって、複数のOFS4の振る舞いを一括して管理する制御装置である。制御サーバ3は、SDNネットワーク10におけるデータ転送の経路計算を行って、計算した経路に沿ってデータ転送が行われるように各OFS4を制御する。
図4は、制御サーバ3の機能構成の一例を示す図である。制御サーバ3は、同図に示されるように、トポロジ情報テーブルDB2と、アプライアンス情報テーブルDB3と、経路制御テーブルDB4と、処理実施テーブルDB5とを備える。また、制御サーバ3は、情報取得部31と、機器特定部32と、経路制御情報取得部33と、処理取得部34と、トポロジ情報取得部35と、経路制御計算部36と、フローエントリ更新部37という機能を備える。これらの機能は、例えば、CPU等の演算装置によりプログラムが実行されることにより実現される。
トポロジ情報テーブルDB2は、SDNネットワーク10の構成図を示す情報を保存するテーブルである。言い換えると、SDNネットワーク10を構成するOFS4間の物理リンクを示す物理リンク情報を保存するテーブルである。このトポロジ情報テーブルDB2を構成する各レコードは、例えば、送信元OFS4のDPIDと、送信元OFS4の送信ポート番号と、宛先OFS4のDPIDと、宛先OFS4の受信ポート番号の各フィールドにより構成される。ここで、DPID(Datapath ID)は、OFS4を一意に識別するための識別情報である。トポロジ情報テーブルDB2は、OFS4がSDNネットワーク10に追加されると新たなレコードが追加され、OFS4が故障したりSDNネットワーク10から除去されるとレコードが削除される。また、OFS4間の物理リンクが追加されると新たなレコードが追加され、物理リンクが切断されるとレコードが削除される。
制御サーバ3は、死活監視パケットによりOFS4の故障等を検知する。具体的な手順としては、まず制御サーバ3は、全てのOFS4に対して一定の間隔で死活監視メッセージを送信する。OFS4は、当該メッセージを受信すると即座に制御サーバ3に対して応答する。しかし、故障しているOFS4については、制御サーバ3は応答メッセージを受信できないため、当該OFS4が故障していることを認識することができる。制御サーバ3は、逆に、死活監視パケットによりOFS4の追加を検知することもできる。
また、制御サーバ3は、トポロジ検出用パケットを利用してOFS4間のリンクが切断されたことを認識する。具体的な手順としては、まず制御サーバ3は、全てのOFS4に対して一定の間隔でトポロジ検出用パケットを送信する。OFS4は、トポロジ検出用パケットを受信すると隣接するOFS4に転送しようとする。しかし、リンクが切断されている場合には、隣接するOFS4にパケットを転送することができない。その結果、パケットの転送はそこで止まってしまい、制御サーバ3はトポロジ検出用パケットを受信できないため、リンクが切断されたことを認識することができる。制御サーバ3は、逆に、トポロジ検出用パケットを利用してOFS4間のリンクが追加されたことも認識することができる。
図5は、アプライアンス情報テーブルDB3の一例を示す図である。このアプライアンス情報テーブルDB3は、アプライアンスとOFS4の接続先情報とを対応付けて格納するテーブルである。このアプライアンス情報テーブルDB3を構成する各レコードは、対象機器と、接続先と、経路制御タイプと、機器IDの各フィールドにより構成される。ここで、アプライアンス(言い換えると、機器)とは、本実施形態では、セキュリティ機器(具体的には、IPS6、WAF7及びCaptureツール8)を指す。経路制御タイプは、パケットのTosフィールドに記述される値(Tos値)である。機器IDは、各機器を一意に識別する識別情報である。アプライアンス情報テーブルDB3は、アプライアンスがSDNネットワーク10に追加されると新たなレコードが追加され、アプライアンスが故障したりSDNネットワーク10から除去されるとレコードが削除される。
図6は、経路制御テーブルDB4の一例を示す図である。この経路制御テーブルDB4は、アプライアンスと、経路制御に使うパラメータとを対応付けて格納するテーブルである。この経路制御テーブルDB4を構成する各レコードは、機器名称と、機器IDと、IPアドレスと、Cosの各フィールドにより構成される。ここで、Cosは、パケットのCosフィールドに記述される値であって、機器を一意に識別する識別番号である。経路制御テーブルDB4は、アプライアンスがSDNネットワーク10に追加されると新たなレコードが追加され、アプライアンスが故障したりSDNネットワーク10から除去されるとレコードが削除される。
図7は、処理実施テーブルDB5の一例を示す図である。この処理実施テーブルDB5は、アプライアンスと、パケットの処理とを対応付けて格納するテーブルである。この処理実施テーブルDB5を構成する各レコードは、対象機器と処理の各フィールドにより構成される。ここで、同図に示される処理「迂回」は、パケットをアプライアンス経由で転送させることを指し、処理「コピー」は、コピーパケットをアプライアンスに転送させることを指す。迂回の場合は、送信元からアプライアンスを経由し宛先までの経路制御を行うようフローエントリが生成される。一方、コピーの場合は、送信元から宛先まで経路制御を行うようフローエントリが生成され、かつアプライアンスにパケットを複製して届けられるようにフローエントリが生成される。
情報取得部31は、管理サーバ2から通知された、脅威を認められた通信を特定するための情報(送信元MACアドレスと送信元IPアドレス)と、当該通信のパケットを転送すべきアプライアンスの名称を取得する。管理サーバ2から、送信先MACアドレスと送信先IPアドレスも通知された場合には、これらも取得する。
機器特定部32は、情報取得部31により取得されたアプライアンスの名称を検索キーとして、アプライアンス情報テーブルDB3から、接続先、経路制御タイプ及び機器IDを取得する。この際、アプライアンス情報テーブルDB3に該当する機器が複数存在する場合には、機器特定部32は、トポロジ情報テーブルDB2を参照して、送信元から各機器までの最短経路パスを計算して、送信元から近い方の機器の情報を取得する。例えば、図1に示されるSDNネットワーク10において、送信元が端末5Bであり、IPS6AとIPS6Bのうちのいずれかが選択される場合には、IPS6Bが選択される。なおここで、送信元は、情報取得部31により取得された送信元MACアドレスや送信元IPアドレスを用いて特定される。
経路制御情報取得部33は、機器特定部32により取得された機器IDを検索キーとして、経路制御テーブルDB4から、IPアドレス、Cos値またはこれらの組み合わせを取得する。
処理取得部34は、情報取得部31により取得されたアプライアンスの名称を検索キーとして、処理実施テーブルDB5から、処理を取得する。
トポロジ情報取得部35は、トポロジ情報テーブルDB2から現在のSDNネットワーク10の構成情報を取得する。
経路制御計算部36(本発明に係る「経路制御部」と「経路決定部」の一例である。)は、情報取得部31〜トポロジ情報取得部35により取得された情報に基づいて経路制御計算を行い、フローエントリを生成する。より具体的には、情報取得部31により取得された送信元MACアドレス及び送信元IPアドレスと、経路制御情報取得部33により取得されたIPアドレス及び/又はCos値と、処理取得部34により取得された処理(「迂回」、「コピー」等)とに基づいて経路制御計算を行い、フローエントリを生成する。ここで生成されるフローエントリは、例えば、OFS4Dを対象として生成されるが、必要に応じて、このフローエントリにより影響を受ける他のOFS4についてもフローエントリを生成する。
例えば、経路制御計算部36は、OFS4が、第1送信先情報が第1フィールドに記述されているパケットを受信した場合に、当該パケットの第2フィールドに第2送信先情報を書き込み、かつ、第3フィールドの値を、第1フィールドを指定する値から第2フィールドを指定する値に変更することで、当該パケットの送信先を第1送信先から第2送信先に変更させるように当該OFS4を制御するフローエントリを生成する。
ここで、第1送信先情報は、例えば、送信先IPアドレスや送信先MACアドレスであり、第1フィールドは、例えば、送信先IPアドレスや送信先MACアドレスのヘッダフィールドである。第2送信先情報は、例えばCos値であり、第2フィールドは、例えばCosフィールドである。第3フィールドは、例えば、Tosフィールドである。
フローエントリ更新部37は、OFS4に対してフローエントリ変更メッセージを送信して、フローエントリ更新部37により生成されたフローエントリをOFS4に記憶させる。
以上が、制御サーバ3の機能構成についての説明である。
以上が、制御サーバ3の機能構成についての説明である。
ここで、以上説明した制御サーバ3によるフローエントリの更新の例について説明する。まず、図8及び9を参照して、更新の第1の例について説明する。図8は、フローエントリの更新前の各OFS4のフローテーブルと、パケットの転送経路とを示す図であり、図9は、フローエントリの更新後の各OFS4のフローテーブルと、パケットの転送経路とを示す図である。この第1の例では、パケットの送信元が端末5Bであり(すなわち、送信元IPが「B」であり)、送信先が端末5Cである場合に(すなわち、宛先IPアドレスが「C」である場合に)、当該パケットがIPS6Bを迂回するようにフローエントリが更新される場合を想定している。また、パケットのTos値は送信時、「000000」である場合を想定している。
図8に示される更新前の状態では、端末5Bから送信されたパケットがポート2を介してOFS4Dにより受信されると、OFS4Dは、当該パケットのTos値は「000000」であることから、宛先情報としてCos値を参照しない。OFS4Dは、当該パケットの宛先IPアドレスのフィールド値「C」と合致する条件を有するフローエントリFE3を特定し、このフローエントリFE3の動作指示に従ってポート3からパケットを出力する。このポート3は端末5Cと接続されているため、パケットは端末5Cに転送されることになる。
図9に示される更新後の状態では、端末5Bから送信されたパケットがポート2を介してOFS4Dにより受信されると、OFS4Dは、当該パケットのTos値は「000000」であることから、宛先情報としてCos値を参照しない。本例では、当該パケットの宛先IPアドレスのフィールド値が「C」であることから、フローエントリFE3の条件に合致するとともに、入力ポートが「2」であり当該パケットの送信元IPアドレスのフィールド値が「B」であることから、フローエントリFE4の条件にもまた合致するが、フローエントリFE4の方が優先度が高いため、OFS4DはフローエントリFE4を特定する。そして、OFS4Dは、フローエントリFE4の動作指示に従って処理を実行する。具体的には、当該パケットのTos値を「000001」に変更し、Cos値を「000100」に変更し、変更したパケットをポート5から出力する。
ポート5から出力されたパケットは、ポート2を介してOFS4Bにより受信される。OFS4Bは、受信したパケットのTos値が「000001」であることから、宛先情報としてCos値を参照する。OFS4Bは、Cos値「000100」と合致する条件を有するフローエントリFE5を特定し、特定したフローエントリFE5の動作指示に従ってポート1からパケットを出力する。このポート1はIPS6Bと接続されているため、パケットはIPS6Bに転送されることになる。
IPS6Bを経由してポート1を介してパケットを受信したOFS4Bは、受信したパケットのTos値が「000001」であることから、宛先情報としてCos値を参照する。本例では、Cos値が「000100」であることから、フローエントリFE5の条件に合致するとともに、入力ポートが「1」であり当該パケットの宛先IPアドレスのフィールド値が「C」であることからフローエントリFE6の条件にもまた合致するが、フローエントリFE6の方が優先度が高いため、OFS4BはフローエントリFE6を特定する。そして、OFS4Bは、フローエントリFE6の動作指示に従って処理を実行する。具体的には、当該パケットのTos値を「000000」に戻し、変更したパケットをポート2から出力する。
ポート2から出力されたパケットは、ポート5を介してOFS4Dにより受信される。OFS4Dは、受信したパケットのTos値が「000000」であることから、宛先情報としてCos値を参照しない。OFS4Dは、当該パケット宛先IPアドレスのフィールド値「C」と合致する条件を有するフローエントリFE3を特定し、このフローエントリFE3の動作指示に従ってポート3からパケットを出力する。このポート3は端末5Cと接続されているため、パケットは端末5Cに転送される。
以上が、フローエントリ更新の第1の例についての説明である。
以上が、フローエントリ更新の第1の例についての説明である。
次に、フローエントリ更新の第2の例について、図8及び10を参照して説明する。図8は、上述のように、フローエントリの更新前の各OFS4のフローテーブルと、パケットの転送経路とを示す図であり、図10は、フローエントリの更新後の各OFS4のフローテーブルと、パケットの転送経路とを示す図である。この第2の例では、パケットの送信元が端末5Bであり(すなわち、送信元IPが「B」であり)、送信先が端末5Cである場合に(すなわち、宛先IPアドレスが「C」である場合に)、当該パケットのコピーパケットがCaptureツール8に転送されるようにフローエントリが更新される場合を想定している。また、パケットのTos値は送信時、「000000」である場合を想定している。
図8に示される更新前の状態については上述の通りである。
図10に示される更新後の状態では、端末5Bから送信されたパケットがポート2を介してOFS4Dにより受信されると、OFS4Dは、当該パケットのTos値は「000000」であることから、宛先情報としてCos値を参照しない。本例では、パケットの宛先IPアドレスのフィールド値が「C」であることから、フローエントリFE3の条件に合致するとともに、送信元IPアドレスが「B」であり宛先IPアドレスが「C」であることから、フローエントリFE7の条件にもまた合致するが、フローエントリFE7の方が優先度が高いため、OFS4DはフローエントリFE7を特定する。そして、OFS4Dは、フローエントリFE7の動作指示に従って処理を実行する。具体的には、当該パケットをポート3から出力する。このポート3は端末5Cと接続されているため、パケットは端末5Cに転送される。また、OFS4Dは、当該パケットのコピーを生成し、そのパケットのTos値を「000001」に変更し、Cos値を「000010」に変更し、変更したパケットをポート4から出力する。
ポート4から出力されたパケットは、ポート3を介してOFS4Cにより受信される。OFS4Cは、受信したパケットのTos値が「000001」であることから、宛先情報としてCos値を参照する。OFS4Cは、Cos値「000010」と合致する条件を有するフローエントリFE8を特定し、特定したフローエントリFE8の動作指示に従ってポート1からパケットを出力する。このポート1はCaptureツール8と接続されているため、パケットはCaptureツール8に転送されることになる。
以上が、フローエントリ更新の第2の例についての説明である。
以上が、フローエントリ更新の第2の例についての説明である。
次に、フローエントリ更新の第3の例について、図11及び12を参照して説明する。図11は、フローエントリの更新前の各OFS4のフローテーブルと、パケットの転送経路とを示す図であり、図12は、フローエントリの更新後の各OFS4のフローテーブルと、パケットの転送経路とを示す図である。
この第3の例では、2つの通信についてフローエントリが更新される場合を想定している。一方の通信は、パケットの送信元が端末5Bであり(すなわち、送信元IPが「B」であり)、送信先が端末5Cであり(すなわち、宛先IPアドレスが「C」であり)、パケットがIPS6Bを迂回するようにフローエントリが更新される場合を想定している。他の通信は、パケットの送信元が端末5Dであり(すなわち、送信元IPが「D」であり)、送信先が端末5Cであり(すなわち、宛先IPアドレスが「C」であり)、パケットがIPS6Aを迂回するようにフローエントリが更新される場合を想定している。なお、パケットのTos値は、いずれの通信においても送信時においては「000000」である。
図11に示される更新前の状態において、端末5Bから端末5Cへの通信については、上掲の図8を参照して説明した通りである。一方、端末5Dから端末5Cへの通信については、端末5Dから送信されたパケットがポート4を介してOFS4Cにより受信されると、OFS4Cは、当該パケットのTos値は「000000」であることから、宛先情報としてCos値を参照しない。OFS4Cは、当該パケットの宛先IPアドレスのフィールド値「C」と合致する条件を有するフローエントリFE10を特定し、このフローエントリFE10の動作指示に従ってポート3からパケットを出力する。
ポート3から出力されたパケットは、ポート4を介してOFS4Dにより受信される。OFS4Dは、受信したパケットのTos値が「000000」であることから、宛先情報としてCos値を参照しない。OFS4Dは、当該パケットの宛先IPアドレスのフィールド値「C」と合致する条件を有するフローエントリFE3を特定し、このフローエントリFE3の動作指示に従ってポート3からパケットを出力する。このポート3は端末5Cと接続されているため、パケットは端末5Cに転送される。
次に、図12に示される更新後の状態において、端末5Bから端末5Cへの通信については、上掲の図9を参照して説明した通りである。一方、端末5Dから端末5Cへの通信については、端末5Dから送信されたパケットがポート4を介してOFS4Cにより受信されると、OFS4Cは、当該パケットのTos値は「000000」であることから、宛先情報としてCos値を参照しない。本例では、当該パケットの宛先IPアドレスのフィールド値が「C」であることから、フローエントリFE10の条件に合致するとともに、入力ポートが「4」であり当該パケットの送信元IPアドレスのフィールド値が「D」であることから、フローエントリFE11の条件にもまた合致するが、フローエントリFE11の方が優先度が高いため、OFS4CはフローエントリFE11を特定する。そして、OFS4Cは、フローエントリFE11の動作指示に従って処理を実行する。具体的には、当該パケットのTos値を「000001」に変更し、Cos値を「000001」に変更し、変更したパケットをポート2から出力する。
ポート2から出力されたパケットは、ポート3を介してOFS4Aにより受信される。OFS4Aは、受信したパケットのTos値が「000001」であることから、宛先情報としてCos値を参照する。OFS4Aは、Cos値「000001」と合致する条件を有するフローエントリFE12を特定し、特定したフローエントリFE12の動作指示に従ってポート1からパケットを出力する。このポート1はIPS6Aと接続されているため、パケットはIPS6Aに転送されることになる。
IPS6Aを経由してポート1を介してパケットを受信したOFS4Aは、受信したパケットのTos値が「000001」であることから、宛先情報としてCos値を参照する。本例では、Cos値が「000001」であることから、フローエントリFE12の条件に合致するとともに、入力ポートが「1」であり当該パケットの宛先IPアドレスのフィールド値が「C」であることからフローエントリFE13の条件にもまた合致するが、フローエントリFE13の方が優先度が高いため、OFS4AはフローエントリFE13を特定する。そして、OFS4Aは、フローエントリFE13の動作指示に従って処理を実行する。具体的には、当該パケットのTos値を「000000」に戻し、変更したパケットをポート3から出力する。
ポート3から出力されたパケットは、ポート2を介してOFS4Cにより受信される。OFS4Cは、受信したパケットのTos値が「000000」であることから、宛先情報としてCos値を参照しない。OFS4Cは、当該パケットの宛先IPアドレスのフィールド値「C」と合致する条件を有するフローエントリFE10を特定し、このフローエントリFE10の動作指示に従ってポート3からパケットを出力する。
ポート3から出力されたパケットは、ポート4を介してOFS4Dにより受信される。OFS4Dは、受信したパケットのTos値が「000000」であることから、宛先情報としてCos値を参照しない。OFS4Dは、当該パケットの宛先IPアドレスのフィールド値「C」と合致する条件を有するフローエントリFE3を特定し、このフローエントリFE3の動作指示に従ってポート3からパケットを出力する。このポート3は端末5Cと接続されているため、パケットは端末5Cに転送される。
以上が、フローエントリ更新の第3の例についての説明である。
以上が、フローエントリ更新の第3の例についての説明である。
以上説明した実施形態によれば、パケット送信時に設定された送信先情報を変更せずに当該パケットの送信先を変えることができる。
2.変形例
上記の実施形態は、以下に示すように変形してもよい。また、以下の変形例は互いに組み合わせてもよい。
上記の実施形態は、以下に示すように変形してもよい。また、以下の変形例は互いに組み合わせてもよい。
2−1.変形例1
上記の実施形態において、制御サーバ3は、OFS4間のトラフィックをリアルタイムで収集し、所定の閾値を超えた場合に経路制御を行うようにしてもよい。例えば、SDNネットワーク10の各パスについて以下のように閾値を設定し、閾値未満である場合には最短経路パスに基づく経路制御を行い、閾値以上である場合には、送信元端末5に紐付いて経路制御を行うようにしてもよい。
上記の実施形態において、制御サーバ3は、OFS4間のトラフィックをリアルタイムで収集し、所定の閾値を超えた場合に経路制御を行うようにしてもよい。例えば、SDNネットワーク10の各パスについて以下のように閾値を設定し、閾値未満である場合には最短経路パスに基づく経路制御を行い、閾値以上である場合には、送信元端末5に紐付いて経路制御を行うようにしてもよい。
(1)OFS4A ⇔ OFS4B ≦ 900Mbps
(2)OFS4A ⇔ OFS4C ≦ 800Mbps
(3)OFS4B ⇔ OFS4D ≦ 800Mbps
(4)OFS4C ⇔ OFS4D ≦ 900Mbps
(2)OFS4A ⇔ OFS4C ≦ 800Mbps
(3)OFS4B ⇔ OFS4D ≦ 800Mbps
(4)OFS4C ⇔ OFS4D ≦ 900Mbps
以下、図13及び14を参照して、トラフィックに基づく経路制御の例について説明する。図13は、フローエントリの更新前の各OFS4のフローテーブルと、パケットの転送経路とを示す図であり、図14は、フローエントリの更新後の各OFS4のフローテーブルと、パケットの転送経路とを示す図である。本例ではOFS4B及びOFS4D間のトラフィックが閾値を越えている場合を想定している。
この例では、IPS6Bを経由する2つの通信のうちの一方の通信についてフローエントリが更新される場合を想定している。フローエントリが更新される通信は、パケットの送信元が端末5Bであり(すなわち、送信元IPが「B」であり)、送信先が端末5Cであり(すなわち、宛先IPアドレスが「C」であり)、パケットがIPS6Bに代えてIPS6Aを迂回するようにフローエントリが更新される場合を想定している。フローエントリが更新されない通信は、パケットの送信元が端末5Aであり(すなわち、送信元IPが「A」であり)、送信先が端末5Cである(すなわち、宛先IPアドレスが「C」である)通信である。なお、パケットのTos値は、いずれの通信においても送信時においては「000000」である。
図13に示される更新前の状態において、IPS6Bを経由する端末5Bから端末5Cへの通信については、上掲の図9を参照して説明した通りである。一方、IPS6Bを経由する端末5Aから端末5Cへの通信については、端末5Aから送信されたパケットがポート1を介してOFS4Dにより受信されると、OFS4Dは、当該パケットのTos値は「000000」であることから、宛先情報としてCos値を参照しない。本例では、当該パケットの宛先IPアドレスのフィールド値が「C」であることから、フローエントリFE3の条件に合致するとともに、入力ポートが「1」であり当該パケットの送信元IPアドレスのフィールド値が「A」であることから、フローエントリFE14の条件にもまた合致するが、フローエントリFE14の方が優先度が高いため、OFS4DはフローエントリFE14を特定する。そして、OFS4Dは、フローエントリFE14の動作指示に従って処理を実行する。具体的には、当該パケットのTos値を「000001」に変更し、Cos値を「000100」に変更し、変更したパケットをポート5から出力する。
ポート5から出力されたパケットは、ポート2を介してOFS4Bにより受信される。OFS4Bは、受信したパケットのTos値が「000001」であることから、宛先情報としてCos値を参照する。OFS4Bは、Cos値「000100」と合致する条件を有するフローエントリFE5を特定し、特定したフローエントリFE5の動作指示に従ってポート1からパケットを出力する。このポート1はIPS6Bと接続されているため、パケットはIPS6Bに転送される。
IPS6Bを経由してポート1を介してパケットを受信したOFS4Bは、受信したパケットのTos値が「000001」であることから、宛先情報としてCos値を参照する。本例では、Cos値が「000100」であることから、フローエントリFE5の条件に合致するとともに、入力ポートが「1」であり当該パケットの宛先IPアドレスのフィールド値が「C」であることからフローエントリFE6の条件にもまた合致するが、フローエントリFE6の方が優先度が高いため、OFS4BはフローエントリFE6を特定する。そして、OFS4Bは、フローエントリFE6の動作指示に従って処理を実行する。具体的には、当該パケットのTos値を「000000」に戻し、変更したパケットをポート2から出力する。
ポート2から出力されたパケットは、ポート5を介してOFS4Dにより受信される。OFS4Dは、受信したパケットのTos値が「000000」であることから、宛先情報としてCos値を参照しない。OFS4Dは、当該パケット宛先IPアドレスのフィールド値「C」と合致する条件を有するフローエントリFE3を特定し、このフローエントリFE3の動作指示に従ってポート3からパケットを出力する。このポート3は端末5Cと接続されているため、パケットは端末5Cに転送される。
次に、図14に示される更新後の状態において、IPS6Bを経由する端末5Bから端末5Cへの通信については、端末5Bから送信されたパケットがポート2を介してOFS4Dにより受信されると、OFS4Dは、当該パケットのTos値は「000000」であることから、宛先情報としてCos値を参照しない。本例では、当該パケットの宛先IPアドレスのフィールド値が「C」であることから、フローエントリFE3の条件に合致するとともに、入力ポートが「2」であり当該パケットの送信元IPアドレスのフィールド値が「B」であることから、フローエントリFE15の条件にもまた合致するが、フローエントリFE15の方が優先度が高いため、OFS4DはフローエントリFE15を特定する。そして、OFS4Dは、フローエントリFE15の動作指示に従って処理を実行する。具体的には、当該パケットのTos値を「000001」に変更し、Cos値を「000001」に変更し、変更したパケットをポート4から出力する。
ポート4から出力されたパケットは、ポート3を介してOFS4Cにより受信される。OFS4Cは、受信したパケットのTos値が「000001」であることから、宛先情報としてCos値を参照する。OFS4Cは、Cos値「000001」と合致する条件を有するフローエントリFE16を特定し、特定したフローエントリFE16の動作指示に従ってポート2からパケットを出力する。
ポート2から出力されたパケットは、ポート3を介してOFS4Aにより受信される。OFS4Aは、受信したパケットのTos値が「000001」であることから、宛先情報としてCos値を参照する。OFS4Aは、Cos値「000001」と合致する条件を有するフローエントリFE12を特定し、特定したフローエントリFE12の動作指示に従ってポート1からパケットを出力する。このポート1はIPS6Aと接続されているため、パケットはIPS6Bに転送される。
IPS6Aを経由してポート1を介してパケットを受信したOFS4Aは、受信したパケットのTos値が「000001」であることから、宛先情報としてCos値を参照する。本例では、Cos値が「000001」であることから、フローエントリFE12の条件に合致するとともに、入力ポートが「1」であり当該パケットの宛先IPアドレスのフィールド値が「C」であることからフローエントリFE13の条件にもまた合致するが、フローエントリFE13の方が優先度が高いため、OFS4AはフローエントリFE13を特定する。そして、OFS4Aは、フローエントリFE13の動作指示に従って処理を実行する。具体的には、当該パケットのTos値を「000000」に戻し、変更したパケットをポート3から出力する。
ポート3から出力されたパケットは、ポート2を介してOFS4Cにより受信される。OFS4Cは、受信したパケットのTos値が「000000」であることから、宛先情報としてCos値を参照しない。OFS4Cは、当該パケットの宛先IPアドレスのフィールド値「C」と合致する条件を有するフローエントリFE10を特定し、このフローエントリFE10の動作指示に従ってポート3からパケットを出力する。
ポート3から出力されたパケットは、ポート4を介してOFS4Dにより受信される。OFS4Dは、受信したパケットのTos値が「000000」であることから、宛先情報としてCos値を参照しない。OFS4Dは、当該パケットの宛先IPアドレスのフィールド値「C」と合致する条件を有するフローエントリFE3を特定し、このフローエントリFE3の動作指示に従ってポート3からパケットを出力する。このポート3は端末5Cと接続されているため、パケットは端末5Cに転送される。
以上が、トラフィックに基づく経路制御についての説明である。
以上が、トラフィックに基づく経路制御についての説明である。
以上説明したように、制御サーバ3の経路制御計算部36は、パケットが転送されるべき同種の機器が複数存在する場合には、当該複数の機器の中からトラフィックに基づいて一の機器を決定してもよい。本変形例によれば、上記の実施形態の係る経路制御の結果、特定のパスがトラフィックにより過密してしまい、エンド間の通信を行う上で支障をきたしてしまうといった問題が抑制される。すなわち、特定パスに対する帯域占有が防止される。
2−2.変形例2
上記の実施形態では、パケットのTos値として「000000」と「000001」が使用される例について説明したが、以下ではTos値として「000010」が使用される例について説明する。具体的には、Tos値を「000010」とするパケットを、上記の実施形態で説明したトポロジ検出又はリンク生死確認用のパケット(以下、「管理用パケット」という。)として利用する例について説明する。
上記の実施形態では、パケットのTos値として「000000」と「000001」が使用される例について説明したが、以下ではTos値として「000010」が使用される例について説明する。具体的には、Tos値を「000010」とするパケットを、上記の実施形態で説明したトポロジ検出又はリンク生死確認用のパケット(以下、「管理用パケット」という。)として利用する例について説明する。
図15は、Tos値を「000010」とするパケットを管理用パケットとして利用する場合について説明する図である。同図に示される例では、Cos値「000001」で識別されるルート1と、Cos値「000010」で識別されるルート2の2つのルートについてリンクの生死確認が行われる。なお、本例では、OFS4AからOFS4Bへのパケットの転送は制御サーバ3がその都度OFS4Aに直接指示をするため、OFS4Aにフローエントリは書き込まれない。
まず、ルート1については、OFS4Aのポート1から出力されたパケットは、ポート1を介してOFS4Bにより受信される。OFS4Bは、受信したパケットのTos値が「000010」であることから、宛先情報としてCos値を参照する。OFS4Bは、Cos値「000001」と合致する条件を有するフローエントリFE19を特定し、特定したフローエントリFE19の動作指示に従ってポート3からパケットを出力する。
ポート3から出力されたパケットは、ポート1を介してOFS4Cにより受信される。OFS4Cは、受信したパケットのTos値が「000010」であることから、宛先情報としてCos値を参照する。OFS4Cは、Cos値「000001」と合致する条件を有するフローエントリFE21を特定し、特定したフローエントリFE21の動作指示に従ってポート3からパケットを出力する。
ポート3から出力されたパケットは、ポート3を介してOFS4Aにより受信される。OFS4Aは、受信したパケットのTos値が「000010」であることから、宛先情報としてCos値を参照する。OFS4Aは、Cos値「000001」と合致する条件を有するフローエントリFE17を特定し、特定したフローエントリFE17の動作指示に従って制御サーバ3にパケットを出力する。
次に、ルート2については、ポート2から出力されたパケットは、ポート2を介してOFS4Bにより受信される。OFS4Bは、受信したパケットのTos値が「000010」であることから、宛先情報としてCos値を参照する。OFS4Bは、Cos値「000010」と合致する条件を有するフローエントリFE20を特定し、特定したフローエントリFE20の動作指示に従ってポート4からパケットを出力する。
ポート4から出力されたパケットは、ポート2を介してOFS4Cにより受信される。OFS4Cは、受信したパケットのTos値が「000010」であることから、宛先情報としてCos値を参照する。OFS4Cは、Cos値「000010」と合致する条件を有するフローエントリFE22を特定し、特定したフローエントリFE21の動作指示に従ってポート4からパケットを出力する。
ポート4から出力されたパケットは、ポート4を介してOFS4Aにより受信される。OFS4Aは、受信したパケットのTos値が「000010」であることから、宛先情報としてCos値を参照する。OFS4Aは、Cos値「000010」と合致する条件を有するフローエントリFE18を特定し、特定したフローエントリFE18の動作指示に従って制御サーバ3にパケットを出力する。
以上が、管理用パケットの利用例についての説明である。
以上が、管理用パケットの利用例についての説明である。
従来の管理用パケットでは、1パケットで1つのリンクしか生死確認することができず、リンク数が増えると管理用パケットが増大するという問題がある。しかし、Tos値を「000010」とするパケットを管理用パケットと定義することで、指定した任意のn個のリンクを1パケットで同時に生死確認を行うことができる。
なお、図15に示されるフローエントリFE17〜FE21は、Tos値を「000000」又は「000001」とするパケット転送用のフローエントリと共存可能である。また、本変形例では、上記の実施形態と同様にCosフィールドを利用しているが、別のフィールドの値を利用してもよい。
2−3.変形例3
上記の実施形態に係る管理サーバ2の機能は、制御サーバ3が備えてもよい。この場合、制御サーバ3の経路制御計算部36は、パケットが中継される通信のリスクの度合いに基づいて、パケットを転送すべきアプライアンスを決定してもよい。
上記の実施形態に係る管理サーバ2の機能は、制御サーバ3が備えてもよい。この場合、制御サーバ3の経路制御計算部36は、パケットが中継される通信のリスクの度合いに基づいて、パケットを転送すべきアプライアンスを決定してもよい。
2−4.変形例4
上記の実施形態ではアプライアンスとしてセキュリティ機器のみが想定されているが、通常のPC等のその他の機器もアプライアンスとして採用されてもよい。
上記の実施形態ではアプライアンスとしてセキュリティ機器のみが想定されているが、通常のPC等のその他の機器もアプライアンスとして採用されてもよい。
2−5.変形例5
上記の実施形態に係るSDNネットワーク10及び制御サーバ3は、OpenFlow仕様に準拠するものとなっているが、SDNを実現するものであれば他のプロトコルに準拠するものであってもよい。
上記の実施形態に係るSDNネットワーク10及び制御サーバ3は、OpenFlow仕様に準拠するものとなっているが、SDNを実現するものであれば他のプロトコルに準拠するものであってもよい。
2−6.変形例6
上記の実施形態又は変形例においてOFS4又は制御サーバ3において実行されるプログラムは、コンピュータ装置が読み取り可能な記録媒体を介して提供されてもよい。ここで、記録媒体とは、例えば、磁気テープや磁気ディスクなどの磁気記録媒体や、光ディスクなどの光記録媒体や、光磁気記録媒体や、半導体メモリ等である。また、このプログラムは、インターネット等のネットワークを介して提供されてもよい。
上記の実施形態又は変形例においてOFS4又は制御サーバ3において実行されるプログラムは、コンピュータ装置が読み取り可能な記録媒体を介して提供されてもよい。ここで、記録媒体とは、例えば、磁気テープや磁気ディスクなどの磁気記録媒体や、光ディスクなどの光記録媒体や、光磁気記録媒体や、半導体メモリ等である。また、このプログラムは、インターネット等のネットワークを介して提供されてもよい。
1…ログデータベースDB、1…Proxyサーバ、2…トポロジ情報テーブルDB、2…管理サーバ、3…アプライアンス情報テーブルDB、3…制御サーバ、4…経路制御テーブルDB、4…OFS、5…処理実施テーブルDB、5…端末、6…IPS、7…WAF、8…Captureツール、21…収集部、22…判断部、23…実行部、31…情報取得部、32…機器特定部、33…経路制御情報取得部、34…処理取得部、35…トポロジ情報取得部、36…経路制御計算部、37…フローエントリ更新部、41…受信部、42…フィールド特定部、43…動作指示特定部、44…処理実行部、100…通信システム
Claims (6)
- 複数の装置の間でパケットを中継する複数の中継装置を制御する制御装置であって、
前記複数の中継装置のうちの少なくとも一の中継装置が、第1送信先を識別する第1送信先情報が記述される第1フィールドと、第2送信先を識別する第2送信先情報が記述される第2フィールドと、前記第1フィールドと前記第2フィールドのうち送信先を特定するために参照すべきフィールドを決定する値が記述される第3フィールドとを有するパケットを受信し、前記第3フィールドの値を変更することで、当該パケットの送信先を変更させるように当該一の中継装置を制御する経路制御部を
備えることを特徴とする制御装置。 - 所定の判断基準に基づいて、前記パケットが中継される経路を決定する経路決定部をさらに備え、
前記経路制御部は、前記決定された経路上を前記パケットが中継されるように前記制御を行うことを特徴とする請求項1に記載の制御装置。 - 前記経路決定部は、前記経路上で前記パケットが転送される機器を決定することを特徴とする請求項2に記載の制御装置。
- 前記所定の判断基準は、前記複数の中継装置の間のトラフィックであり、
前記経路決定部は、前記パケットが転送されるべき同種の機器が複数存在する場合には、当該複数の機器の中からトラフィックに基づいて一の機器を決定する
ことを特徴とする請求項3に記載の制御装置。 - 複数の装置の間でパケットを中継する複数の中継装置を制御する制御装置によって実行される制御方法であって、
前記複数の中継装置のうちの少なくとも一の中継装置が、第1送信先を識別する第1送信先情報が記述される第1フィールドと、第2送信先を識別する第2送信先情報が記述される第2フィールドと、前記第1フィールドと前記第2フィールドのうち送信先を特定するために参照すべきフィールドを決定する値が記述される第3フィールドとを有するパケットを受信し、前記第3フィールドの値を変更することで、当該パケットの送信先を変更させるように当該一の中継装置を制御するステップを
備えることを特徴とする制御方法。 - 複数の装置の間でパケットを中継する複数の中継装置を制御するコンピュータを、
前記複数の中継装置のうちの少なくとも一の中継装置が、第1送信先を識別する第1送信先情報が記述される第1フィールドと、第2送信先を識別する第2送信先情報が記述される第2フィールドと、前記第1フィールドと前記第2フィールドのうち送信先を特定するために参照すべきフィールドを決定する値が記述される第3フィールドとを有するパケットを受信し、前記第3フィールドの値を変更することで、当該パケットの送信先を変更させるように当該一の中継装置を制御する経路制御部
として機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018219234A JP2019024272A (ja) | 2018-11-22 | 2018-11-22 | 制御装置、制御方法及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018219234A JP2019024272A (ja) | 2018-11-22 | 2018-11-22 | 制御装置、制御方法及びプログラム |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015060996A Division JP6441721B2 (ja) | 2015-03-24 | 2015-03-24 | 制御装置、制御方法及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2019024272A true JP2019024272A (ja) | 2019-02-14 |
Family
ID=65368718
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018219234A Pending JP2019024272A (ja) | 2018-11-22 | 2018-11-22 | 制御装置、制御方法及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2019024272A (ja) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008516557A (ja) * | 2004-10-13 | 2008-05-15 | シーエスシー ホールディングス インコーポレイテッド | ネットワークトラフィックを宛先変更する方法、及びシステム |
WO2011043312A1 (ja) * | 2009-10-06 | 2011-04-14 | 日本電気株式会社 | ネットワークシステムとコントローラ、方法とプログラム |
JP2012080414A (ja) * | 2010-10-04 | 2012-04-19 | Sony Corp | 通信装置、通信制御方法及び通信システム |
-
2018
- 2018-11-22 JP JP2018219234A patent/JP2019024272A/ja active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008516557A (ja) * | 2004-10-13 | 2008-05-15 | シーエスシー ホールディングス インコーポレイテッド | ネットワークトラフィックを宛先変更する方法、及びシステム |
WO2011043312A1 (ja) * | 2009-10-06 | 2011-04-14 | 日本電気株式会社 | ネットワークシステムとコントローラ、方法とプログラム |
JP2012080414A (ja) * | 2010-10-04 | 2012-04-19 | Sony Corp | 通信装置、通信制御方法及び通信システム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Kamisiński et al. | Flowmon: Detecting malicious switches in software-defined networks | |
US8705536B2 (en) | Methods of operating forwarding elements including shadow tables and related forwarding elements | |
JP4128974B2 (ja) | レイヤ2ループ検知システム | |
US11546266B2 (en) | Correlating discarded network traffic with network policy events through augmented flow | |
JP5050781B2 (ja) | マルウエア検出装置、監視装置、マルウエア検出プログラム、およびマルウエア検出方法 | |
US9544194B2 (en) | Network management service system, control apparatus, method, and program | |
US9813448B2 (en) | Secured network arrangement and methods thereof | |
US9060013B2 (en) | Network system, network relay method, and network relay device | |
US20130246655A1 (en) | Communication path control system, path control device, communication path control method, and path control program | |
US9461893B2 (en) | Communication system, node, statistical information collection device, statistical information collection method and program | |
JP2007006054A (ja) | パケット中継装置及びパケット中継システム | |
US20130250797A1 (en) | Communication control system, control device, communication control method, and communication control program | |
JP2017046149A (ja) | 通信装置 | |
CN113037731B (zh) | 基于sdn架构和蜜网的网络流量控制方法及系统 | |
US20140204726A1 (en) | Alarm management apparatus and method for managing alarms | |
JP4398316B2 (ja) | ネットワーク管理装置、ネットワーク管理方法、およびプログラム | |
JP2013223191A (ja) | 通信システム、制御装置、パケット採取方法及びプログラム | |
CN115885502A (zh) | 对中间网络节点进行诊断 | |
JP6441721B2 (ja) | 制御装置、制御方法及びプログラム | |
JP7060800B2 (ja) | 感染拡大攻撃検知システム及び方法、並びに、プログラム | |
JP2019024272A (ja) | 制御装置、制御方法及びプログラム | |
JP2006050442A (ja) | トラヒック監視方法及びシステム | |
KR101707073B1 (ko) | Sdn 기반의 에러 탐색 네트워크 시스템 | |
US10097515B2 (en) | Firewall control device, method and firewall device | |
TWI707565B (zh) | 網路攻擊者辨識方法及網路系統 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20181122 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20190820 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190917 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20200317 |