JP2016082344A - 制御装置、情報処理システム、制御方法、及び、プログラム - Google Patents

制御装置、情報処理システム、制御方法、及び、プログラム Download PDF

Info

Publication number
JP2016082344A
JP2016082344A JP2014210527A JP2014210527A JP2016082344A JP 2016082344 A JP2016082344 A JP 2016082344A JP 2014210527 A JP2014210527 A JP 2014210527A JP 2014210527 A JP2014210527 A JP 2014210527A JP 2016082344 A JP2016082344 A JP 2016082344A
Authority
JP
Japan
Prior art keywords
message
ofasc
application
unit
receiving
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.)
Withdrawn
Application number
JP2014210527A
Other languages
English (en)
Inventor
雄司 横山
Yuji Yokoyama
雄司 横山
飛 高
Fei Gao
飛 高
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 JP2014210527A priority Critical patent/JP2016082344A/ja
Priority to US14/874,412 priority patent/US9871859B2/en
Priority to CN201510666778.0A priority patent/CN105530186A/zh
Publication of JP2016082344A publication Critical patent/JP2016082344A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/64Routing or path finding of packets in data switching networks using an overlay routing layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】複数の制御装置からのフローの到着順を適切に確保できるシステム、方法及びプログラムを提供する。【解決手段】制御装置111,112は、OpenFlowネットワークを構成するいずれか1つのスイッチ装置から第2のメッセージを受信するP−in受信部201と、第2のメッセージを処理する受信パケット処理部202と、第2のメッセージに対応するアプリケーションを実行するAppSV203と、P−in受信部及びAppSVからメッセージを受信し、第1のメッセージを作成するOFメッセージ作成部204と、他の制御装置から第1のメッセージを受信するOFメッセージ受信部206と、OFメッセージ作成部からの第1のメッセージ又はOFメッセージ受信部からの第1のメッセージのいずれか1つを選択する判定部205と、判定部が選択した第1のメッセージを送信する送信部208とを含む。【選択図】図4

Description

本発明は、情報処理システムに関し、特に、情報の通信経路を制御する情報処理システム、情報処理方法、及びプログラムに関する。
一般的に、パケットの送信元から送信先への経路の決定とパケット転送処理は、経路上の複数のスイッチが行っていた。しかし、情報処理システムの多様化及び規模拡大に伴い、ネットワークの構成の変化に即応した適切な経路の決定及び経路決定の柔軟性が、必要となってきた。そこで、コンピュータネットワークにおいて、外部のコントローラが、各スイッチの転送動作等を一元的に制御する技術(オープンフロー:OpenFlow)が、提案されている(例えば、特許文献1参照)。
OpenFlow(OF)において、OFS(OpenFlow Switch)が、条件にマッチしたマッチフィールドのパケットに対して、アクションで設定された動作を行う。マッチフィールドは、ネットワーク階層のL1(Layer 1)〜L4で構成されている。OFSは、未知のマッチフィールド(unknownパケット)を受け取ると、それをOpenFlow Channel(OF−Ch)を経由して、OFC(OpenFlow Controller)に送信する。OFCは、パケットの宛先に応じて適切なOFSにフローを出力するとともに、フローを各OFSのフローテーブルに、flow-modメッセージを用いて登録する。一度フローが登録されると、OFSは、次回以降のIngress(入り口となるスイッチ)に入ってくるフローテーブルの条件にマッチしたフローについて、登録されたフローテーブルを参照して通信する。つまり、OFSは、OFCを経由せずに、直接通信する。OpenFlowは、OFCからOFSに適用するフローの設定に基づいて、経路制御及び負荷分散など、柔軟なネットワーク制御を実行できる。
つまり、OpenFlowプロトコルは、L1〜L4のパケットの中身を参照して、フローを決定する。例えば、OpenFlowでは、OFSが、P−in(Packet-in メッセージ)を用いて、通信パケットのL1〜L4のフィールド(マッチフィールド)をOFCへ渡す。そして、OFCが、決定したフローをOFSへ投入する。この動作を基に、OpenFlowは、経路制御を適切に行い、ネットワークトラフィックを分散させるなど、柔軟なネットワークの制御を実現している。
特開2011−166384号公報
上記のように、特許文献1に記載のOpenFlowは、通信パケットのL1〜L4のフィールド(マッチフィールド)を用いて、経路制御を実行している。
しかし、特許文献1に記載のOpenFlowにおいて、L5以上の処理については、その制御方法は、一般的なネットワークの制御方法と変わらない。例えば、L5以上のAppSV(Application Server)を利用する通信は、必ず、そのAppSVに到達しなければならない。
図8は、このような状態のOpenFlowの情報処理システムを示す図である。
図8に示す2つの端末装置121は、どちらも、通信先装置122への経路として、AppSV123を経由する必要がある。そのため、OFC124は、図8に示すように、OFS21に、両方の端末装置121からの通信に対し、AppSV123を経由する経路を指示する。この場合、図8に示すように、AppSV123への経路が、分散されない。
特許文献1に記載の技術において、AppSV123への経路を分散させるためには、例えば、図9に示すように、複数のAppSV123の設置場所を物理的に分散させるなど、AppSV123を冗長化させることが必要であった。そのため、特許文献1に記載の技術では、L5以上のAppSV123を利用する通信が、OpenFlowの持っているメリットを享受できなかった。
これを改善し効率化を図る方法として、L5以上の処理について、例えば、AppSV123で行った処理結果をOFC124へ直接投入する方法が、考えられる。
例えば、図10に示す情報処理システムは、AppSV123にコントローラの機能(OFC124の機能)を搭載したOFASC(Open Flow Application Server Controller)11を備える。そして、OFCAS11が、AppSV123及びOFC124として処理した結果であるフローを、OFI(OpenFlow Istaller)12経由でOFS21に登録する。この方法は、L5以上の処理結果をL1〜L4に落とし込み、処理をOpenFlowの制御配下に置く方法である。
しかし、この方式は、複数のOFASC11に適用しようとする際に、問題が生じる。すなわち、各OFASC11は、1つのunknownパケットが、IngressのOFS11から各OFASC11にP−inして処理した結果を、フローとしてOFS21に登録する。しかし、それぞれのOFASC11が投入するフローを整合する手段がない。例えば、あるOFASC11が、セキュリティ的にパケットを遮断するフローを、OFI12に入力したとする。さらに、別のOFASC11が、パケットを通すフローをOFI12に入力しれた場合を想定する。このとき、フローの到着順は、保障されていない。そのため、それぞれのフローの到着のタイミングに基づき、後者(通過)が、前者(遮断)を上書きする場合が発生する。その結果、通すべきではないパケットを通してしまうというセキュリティリスクが、発生する可能性がある。
つまり、特許文献1に記載の技術では、一つのOFSからのP−in(Packet-in メッセージ)を複数のコントローラ(図9ではOFASC11)へ渡して処理する場合、それぞれのコントローラでの処理結果を整合する手段がない。そのため、OFSにフローが投入される際に矛盾又は不正となる結果が登録される可能性がある。例えば、通すべきではないパケットが流れてしまうというという問題の発生の可能性もある。あるいは、意図していない動作が実行される可能性が考えられる。
なお、OpenFlowの版数が1.2以降の仕様は、複数のコントローラの動作をサポートしている。しかし、コントローラ間の連携動作に関しては、プロトコルとして規定されていない。そのため、OpenFlowの仕様に規定された複数のコントローラ間の連携動作は、利用が広がっていない。
また、OFS21からの1つのP−inは、各OFASC11へ入力される。しかし、OFI12は、各OFASC11での処理状態を把握する手段がない。その結果、例えば、flow-modメッセージが到着しない場合、OFI12は、OFASC11がP−inを不要なので無視したのか、又は、処理が遅れているのかを判断できない。
このように、特許文献1に記載の技術は、複数のOFASC11からのフローの到着順を適切に確保できないという問題点があった。言い換えると、特許文献1に記載の技術は、OpenFlowのフローを適切に設定できないという問題点があった。
本発明の目的は、上記問題点を解決し、OpenFlowのフローを適切に設定する制御装置、情報処理システム、制御方法、及びプログラムを提供することにある。
本発明の一形態のおける制御装置は、情報の送信元である端末装置と、情報の送信先である通信先装置とを接続する経路としてOpenFlowネットワークを構成する複数のスイッチ装置のいずれか1つのスイッチ装置から第2のメッセージを受信する第1の受信手段と、第2のメッセージを処理する第1の受信パケット処理手段と、第2のメッセージに対応する第1のアプリケーションを実行する第1のアプリケーション実行手段と、第1の受信パケット処理手段及び第1のアプリケーション実行手段からメッセージを受信し、第1のメッセージを作成する第1のメッセージ作成手段と、他の第1の制御装置から第1のメッセージを受信する第1のメッセージ受信手段と、第1のメッセージ作成手段からの第1のメッセージを基に、第1のメッセージ作成手段からの第1のメッセージ又は第1のメッセージ受信手段からの第1のメッセージのいずれか1つを選択する第1の判定手段と、第1の判定手段が選択した第1のメッセージを送信する第1の送信手段とを含む。
本発明の一形態のおける情報処理システムは、情報の通信元である端末装置と、情報を通信先である通信先装置と、端末装置と通信先装置との経路としてOpenFlowネットワークを構成する複数のスイッチ装置と、所定のアプリケーションを実行し、アプリケーションの実行結果を基にOpenFlowネットワークの制御のための第1のメッセージを作成し、アプリケーションの優先度順に第1のメッセージを論理的に直列に送信する複数の第1の制御装置と、第1のメッセージを基にスイッチ装置にOpenFlowネットワークとしての機能を設定する第2の制御装置とを含む。
本発明の一形態のおける制御方法は、情報の送信元である端末装置と、情報の送信先である通信先装置とを接続する経路としてOpenFlowネットワークを構成する複数のスイッチ装置のいずれか1つのスイッチ装置から第2のメッセージを受信し、第2のメッセージを処理し、第2のメッセージに対応するアプリケーションを実行し、第2のメッセージの処理結果及びアプリケーションの結果のメッセージを受信し、第1のメッセージを作成し、他の第1の制御装置から第1のメッセージを受信し、作成した第1のメッセージを基に、他の第1の制御装置から受信した第1のメッセージ又は作成した第1のメッセージのいずれか1つを選択し、選択した第1のメッセージを送信する。
本発明の一形態のおけるプログラムは、情報の送信元である端末装置と、情報の送信先である通信先装置とを接続する経路としてOpenFlowネットワークを構成する複数のスイッチ装置のいずれか1つのスイッチ装置から第2のメッセージを受信する処理と、第2のメッセージを処理する処理と、第2のメッセージに対応するアプリケーションを実行する処理と、第2のメッセージの処理結果及びアプリケーションの結果のメッセージを受信し、第1のメッセージを作成する処理と、他の第1の制御装置から第1のメッセージを受信する処理と、作成した第1のメッセージを基に、他の第1の制御装置から受信した第1のメッセージ又は作成した第1のメッセージのいずれか1つを選択する処理と、選択した第1のメッセージを送信する処理とをコンピュータに実行させる。
本発明に基づけば、OpenFlowのフローを適切に設定するとの効果を奏することができる。
図1は、第1の実施形態に関連する情報処理システムの構成の一例を示すブロック図である。 図2は、第1の実施形態に関連する情報処理システムの構成の一例を示すブロック図である。 図3は、本発明における第1の実施形態に係る情報処理システムの構成の一例を示すブロック図である。 図4は、第1の実施形態に係るOFASCの構成の一例を示すブロック図である。 図5は、第1の実施形態に係るOFCIの構成の一例を示すブロック図である。 図6は、第1の実施形態に係るOFASC及びOFCIの別の構成の一例を示すブロック図である。 図7は、第2の実施形態に係るOFCIの構成の一例を示すブロック図である。 図8は、L5以上のAppSVを経由する経路の一例を示す図である。 図9は、L5以上の複数のAppSVを経由する経路の一例を示す図である。 図10は、OFASCを用いたL5以上の経路の一例を示す図である。
次に、本発明の実施形態について図面を参照して説明する。
なお、各図面は、本発明の実施形態を説明するものである。ただし、本発明は、各図面の記載に限られるわけではない。また、各図面の同様の構成には、同じ番号を付し、その繰り返しの説明を、省略する場合がある。
また、以下の説明に用いる図面において、本発明の説明に関係しない部分の構成については、記載を省略し、図示しない場合もある。
まず、本実施形態の説明における用語及び略語(頭字語)について整理する。
OF:OpenFlow。
OFC:OpenFlow Controller。
OFS:OpenFlow Switch。
P−in:OpenFlowプロトコルのPacket-in message。メッセージ自体だけではなく、Packet-in messageの送信も、「P−inする」又は「P−in」と呼ぶ。
OFI:OpenFlow Installer。
OFN:OpenFlow Network。OFS同士で接続されたOpenFlowのCore Network。
Ingress:通信を行う端末から見て、OpenFlowNetwookの入り口となるスイッチ。なお、OpenFlowネットワークの出口となるスイッチは、Egressである。
App:Application。
AppSV:Application Server。
OFASC:Open Flow Application Server Controller(AppSV+OFC)
OFCI:Open Flow Controller Installer(OFC+OFI)
OF−Ch:OpenFlow Channel。OFSとOFCとを接続するOpenFlowの制御線。下記の実施形態では、OF−Chは、例えば、OFSと、OFASCと、OFCIとを接続する。
Cookie:ネットワークを介して接続した装置が残す情報である。
<第1の実施形態>
本実施形態の概要を説明する。
[構成の説明]
本発明のおける本実施形態に係る情報処理システムの構成について説明する。
最初に、本発明の実施形態に関連するOFASC(Open Flow Application Server Controller)を1つ含むOFの情報処理システム101について説明する。
図1は、第1の実施形態に関連する情報処理システム101の構成の一例を示すブロック図である。
図1に示すように、情報処理システム101は、端末装置121と通信先装置122とを接続するOpenFlow(OF)環境を実現する。そのため、情報処理システム101は、1つのOFASC11と、OFI(OpenFlow Installer)12と、複数のOFS(OpenFlow Switch)21とを含む。
端末装置121と通信先装置122は、一般的な通信が可能な情報処理機器で良いため、詳細な説明を省略する。
また、OFS21は、OF環境を実現するスイッチである。OFS21は、所定のネットワークを介して相互に接続し、OF環境としてのOFN(OpenFlow Network)141を構成する。そのため、OFS21は、スイッチ装置又はスイッチ手段でもある。OFS21は、一般的なOpenFlowスイッチで良いため、詳細な説明を省略する。
OFASC11は、OpenFlowのAppSV(Application Server)とOFC(OpenFlow Controller)との機能を含む。ここで、AppSVは、所定のアプリケーションを実行し、所定の機能を実現する装置である。また、OFCは、OpenFlowのフローを制御する装置である。そのため、OFASC11は、機能処理制御装置、又は、機能処理制御手段でもある。又は、OFASC11は、第1の制御装置とも呼ばれる。
OFASC11は、処理の結果となるフローを、OF−Ch(OpenFlow Channel)131を経由してOFI12に渡す。
OFI12は、フローをOFS21に登録する。そのため、OFI12は、設定装置、又は設定手段でもある。
この動作を基に、情報処理システム101は、OFASC11におけるAppSVとしての機能の処理結果をOFS21に、つまり、OFN141に学習させることができる。
次に、本発明の実施形態に関連する複数のOFASC11を含む情報処理システム102について説明する。
図2は、本実施形態に関連する複数のOFASC11を含む情報処理システム102の構成の一例を示す図である。
図2に示すように、複数のOFASC11が存在するOF環境では、それぞれのOFASC11が、1つのP−in(Packet-in message)に対応する処理を個別に実行する。その結果、図2に示すように、それぞれのOFASC11の結果が、バラバラ(タイミングを調整されず)に、OFI12に到着する。
言い換えると、1つのP−inが、複数のOFASC11に入力される。そして、それぞれのOFASC11からの異なるフロー設定の要求が、個別に、OFI12に到着する。この場合、上記のように、フロー設定が、矛盾又は不正となる可能性がある。
本発明における第1の実施形態に係る情報処理システム100は、上記の問題点を解決する。
図3は、本発明における第1の実施形態に係る情報処理システム100の構成の一例を示すブロック図である。
情報処理システム100の概要を説明すると、次のとおりである。
実施形態の情報処理システム100は、予め、OFASC111及びOFASC112のAppSVとして機能が登録しようとするフローに、優先度を付ける。そして、OFASC111及びOFASC112は、その優先度順にバケツリレー方式で接続する。さらに、OFASC111及びOFASC112でのAppSVとしての処理結果であるフロー設定要求がある場合、OFASC111及びOFASC112は、OFCI(Open Flow Controller Installer)113に自装置を識別する情報を送信する。より具体的には、OFASC111及びOFASC112は、OFCI113に発行するflow-modメッセージのcookie情報に、OFASC111及びOFASC112を識別する情報を付加する。そして、OFCI113が、OFS21へ投入するフローを管理する。このような構成を基に、情報処理システム100は、矛盾したフローのOFS21への登録を阻止する。
次に、このようなOFASC11を含む第1の実施形態の情報処理システム100の詳細について説明する。
まずは、情報処理システム100の構成について説明する。
図3に示すように、情報処理システム100は、複数のOFS21と、OFCI113と、OFASC111と、OFASC112とを含む。また、情報処理システム100は、OF環境を利用して通信する1つ又は複数の端末装置121、及び、1つ又は複数の通信先装置122を含む。
図3に示すOFASC111及びOFASC112は、同様の構成を含み、同様に動作する。ただし、以下の説明の便宜のため、第1のOFASCをOFASC111とし、第2以降のOFASCをOFASC112とする。なお、情報処理システム100は、1つに限らず、複数のOFASC112を含んでもよい。
また、図3に示すOFS21の数は、一例である。情報処理システム100は、4台未満のOFS21又は4台を超えるOFS21を含んでもよい。
OFS21は、OFASC111、OFASC112及びOFCI113に、OF−Ch131を介して接続されている。また、OFS21同士は、所定の通信手段を用いて接続し、OFN141を実現している。また、OFS21同士の接続形態は、特に制限はなく、様々な形態を用いることができる。図3は、一例として、1つのOFS21から2つの接続線が出るループ構成となっている。
OFASC111及びOFASC112は、図3に示すように、ネットワークにおいて論理的に直列に連結された構成となっている。具体的には、OFASC111が、OFASC112に接続され、さらに、OFASC112が、OFCI113に接続されている。これらの接続は、OF−Ch131を介している。そして、OFASC111及びOFASC112は、AppSVとしてOFS21へ投入するフローの優先度の低いものから高いものの順に接続されている。つまり、OFASC111のAppSVの優先度は、OFASC112のAppSVのそれよりも低い。
以下の説明では、本実施形態の説明におけるAppSVの機能を実現するApp(Application)として、「Stateful Firewall (FW)」及び「ロードバランサ」を想定する。この場合、セキュリティ的に重要度の高いStateful FWが、ロードバランサより優先される。そのため、最初のOFASC111は、ロードバランサを搭載する。また、OFASC112は、Stateful FWを搭載する。なお、これらのAppについては、後ほど説明する。
OFCI113は、一般的なOF環境におけるOFNを管理するOFC機能と、OFASC111から依頼を受けたフローを登録するOFI機能とを含む。そのため、OFCI113は、制御設定装置、又は、制御設定手段でもある。又は、OFCI113は、第2の制御装置とも呼ばれる。
[動作の説明]
次に、情報処理システム100の動作について説明する。
なお、以下の動作の説明におけるOFのプロトコルは、OpenFlowの版数1.3の仕様を用いる。
(cookieの使い方について)
OpenFlow1.3では、「flow-modメッセージ」のcookie値は、64ビットある。そして、利用者が、自由に、cookie値の使い方を定義できる。本実施形態では、先頭の16ビットが、OFASC111及びOFASC112の識別に用いられ、後方の48ビットが、フローの識別に用いられるとする。
OFASC111の識別ビットの定義は、1ビット目が1台目、2ビット目が2台目、nビット目がn台目(1≦n≦16)と定義する。つまり、本実施形態の説明では、OFASC112の最大数は、15台である。(1台目は、OFASC111である。)ただし、これは、一例である。情報処理システム100は、15台未満の本実施形態のOFASC112を含んでもよく、15台を超えるOFASC112を含んでもよい。
また、後方の48ビットは、投入したフローを一意に特定する。そのため、後方の48ビットは、例えば、投入するフローから完全ハッシュ関数を用いて計算したビットとする。
(第1のOFASC111)
第1のOFASC111の動作について説明する。
端末装置121が、通信先装置122への通信を開始すると、通信パケットが、端末装置121から第1のOFS21に入る。このOFS21が、「Ingress」となる。OFS21は、フローテーブルに存在しないマッチフィールドのパケットを受信すると、OFASC111、OFASC112及びOFCI113にP−inする。
図4は、本実施形態に係るOFASC111の構成の一例を示すブロック図である。
図4に示すように、OFASC111は、P−in受信部201と、受信パケット処理部202と、AppSV203と、OFメッセージ作成部204と、判定部205と、OFメッセージ受信部206と、送信部208とを含む。
P−in受信部201は、P−in(P−inパケット)を受信する。P−in受信部201は、受信したP−inを受信パケット処理部202に送信する。例えば、P−in受信部201は、P−inパケットのデータ部分を取り出し、受信パケット処理部202に送信する。なお、P−in受信部201は、他のメッセージを受信してもよい。そのため、P−in受信部201は、受信部又は受信手段でもある。
受信パケット処理部202は、データ部分の内容を判断する。内容(例えば、L4の部分)が自装置のAppSV203のポートに該当する場合、受信パケット処理部202は、受信したメッセージをAppSV203に送信する。L4部の情報がない、又は、ポートが該当しない場合、受信パケット処理部202は、受信したメッセージをOFメッセージ作成部204に送信する。
AppSV203は、一般的なOpenFlowのAppSVとして、通常のアプリケーション処理を実行する。そのため、AppSV203は、アプリケーション実行部又はアプリケーション実行手段でもある。AppSV203は、処理結果を、OFメッセージ作成部204に送信する。
OFメッセージ作成部204は、AppSV203で処理があった場合とAppSV203で処理がなかった場合とで、異なる処理を実行する。AppSV203の処理があった場合、OFメッセージ作成部204は、処理の結果をflow-modメッセージに入れ、判定部205に送信する。そのとき、OFメッセージ作成部204は、cookieの先頭ビットを、OFASC111を識別できるように立てる。AppSV203の処理がなかった場合、OFメッセージ作成部204は、メッセージを基に、直接受信パケット処理部202から受信した場合に応じた処理を実行する。具体的には、OFメッセージ作成部204は、AppSV203からの処理の結果を受信しないため、何もしないことを表すflow-modメッセージを判定部205に送信する。以下、何もしないことを表すflow-modメッセージを「null flow-mod」と呼ぶ。なお、null flow-modは、特に制限はない。予め、OFASC111、OFASC112及びOFCI113が、決めておけばよい。例えば、null flow-modは、OpenFlowの仕様におけるコマンド「OFPFC_MODIFY_STRICT」を指定し、ofc_match構造体の全てのフィールドを「0」にするメッセージでもよい。なお、OFメッセージ作成部204は、メッセージ作成部又はメッセージ作成手段でもある。
判定部205は、OFメッセージ作成部204からのメッセージとOFメッセージ受信部206からのメッセージとを判定する。しかし、第1のOFASCであるOFASC111は、前となるOFASCがない。そのため、OFメッセージ受信部206は、メッセージを受信しない。そのため、判定部205は、送信部208を経由して、OFメッセージ作成部204から受信したメッセージを、OFASC112に送信する。
(第2以降のOFASC112)
本実施形態の情報処理システム100は、OFS21が、OFASC112(及びOFASC111)にP−inしてから、flow-modメッセージがOFS21に登録するまでの一貫性を保つように動作する。
そのため、OFASC112のような第2番目以降のOFASC112は、自装置のメッセージに加え、1つ前のOFASC(図3ではOFASC111)からのflow-modメッセージを用いた処理を実行する。
OFASC112の動作について、詳細に説明する。
なお、OFASC112の構成は、図4に示すOFASC111の構成と同じである。また、P−in受信部201からOFメッセージ作成部204までの動作も同様である。
P−in受信部201は、受信したP−in(P−inパケット)のデータ部分を取り出し、受信パケット処理部202に送信する。
受信パケット処理部202は、受信したメッセージの情報を判断する。そして、受信パケット処理部202は、例えば、L4部がAppSV203に該当する場合、AppSV203にメッセージを送信する。該当しない場合、受信パケット処理部202は、メッセージをOFメッセージ作成部204へ送信する。
AppSV203は、アプリケーションの処理結果をOFメッセージ作成部204に送信する。
OFメッセージ作成部204は、AppSV203又は受信パケット処理部202から受信したメッセージに対応したflow-modメッセージを作成する。例えば、受信パケット処理部202からメッセージを受信した場合(つまり、AppSV203で処理がなかった場合)、OFメッセージ作成部204は、null flow-modメッセージを判定部205に送信する。一方、AppSV203の処理があった場合、OFメッセージ作成部204は、cookieのn番目(今の場合、2番目)のビットを立ててメッセージを作成する。OFメッセージ作成部204は、結果を判定部205に送信する。
OFメッセージ受信部206は、OFASC111(つまり、1つ前のOFASC)からメッセージを受信する。そして、OFメッセージ受信部206は、受信したメッセージを判定部205に送信する。なお、OFメッセージ受信部206は、メッセージ受信部又はメッセージ受信手段でもある。
判定部205は、OFメッセージ受信部206から受信したメッセージと、OFメッセージ作成部204から受信したメッセージとを受信し、以下に示す処理を実行する。すなわち、OFメッセージ作成部204からのメッセージが有効なメッセージである場合、判定部205は、OFメッセージ作成部204からのメッセージを、送信部208を経由して送信する。また、判定部205は、OFASC111からのメッセージを破棄する。一方、OFメッセージ作成部204からのメッセージがnull flow-modメッセージである場合、判定部205は、OFメッセージ受信部206からのメッセージを、送信部208を経由して送信する。つまり、判定部205は、自装置のメッセージの処理が有効である場合は、自装置のメッセージを選択して送信し、自装置のメッセージが有効でない場合は、前の装置のメッセージを送信する。
(OFCI113)
次に、OFCI113の動作について説明する。
図5は、本実施形態のOFCI113の構成の一例を示すブロック図である。
OFCI113は、P−in受信部301と、受信パケット処理部302と、OFメッセージ作成部304と、判定部305と、OFメッセージ受信部306と、管理部307と、送信部308とを含む。
なお、OFCI113は、予め、接続するOFASC(OFASC111及びOFASC112)で利用するアプリケーションのポート番号(L4)が登録されている。
P−in受信部301は、P−inを受信する。そして、P−in受信部301は、P−inを受信パケット処理部302に送信する。P−in受信部301は、P−in受信部201と同様に、受信部又は受信手段でもある。
受信パケット処理部302は、受信したP−inパケットのデータ部分を取り出して、それが予め設定されているOFASC111又はOFASC112が処理するメッセージであるか否か確認する。
OFASC111又はOFASC112が処理するメッセージである場合、受信パケット処理部302は、OFメッセージ作成部304に、空のメッセージを送信する。空のメッセージを受信したOFメッセージ作成部304は、null flow-modメッセージを、判定部305に送信する。
OFASC111又はOFASC112が処理するメッセージではない場合、つまり、OFCI113が処理するメッセージである場合、受信パケット処理部302は、メッセージをOFメッセージ作成部304に送信する。
OFメッセージ作成部304は、OpenFlowの処理を実行し、メッセージを作成し、判定部305に送信する。OFメッセージ作成部304は、OFメッセージ作成部204と同様に、メッセージ作成部又はメッセージ作成手段でもある。
OFメッセージ受信部306は、OFASC112(つまり、直前のOFASC)からメッセージを受信する。そして、OFメッセージ受信部306は、受信したメッセージを判定部305に送信する。OFメッセージ受信部306は、OFメッセージ受信部206と同様に、メッセージ受信部、又は、メッセージ受信手段でもある。
判定部305は、OFメッセージ受信部306から受信したメッセージと、OFメッセージ作成部304から受信したメッセージとを処理する。
すなわち、OFメッセージ作成部304から受信したメッセージが有効なメッセージである場合、判定部305は、OFメッセージ受信部306から受信したメッセージを破棄する。そして、判定部305は、OFメッセージ作成部304から受信したメッセージを管理部307に送信する。
OFメッセージ作成部304から受信したメッセージが有効なメッセージでない場合、判定部305は、OFメッセージ受信部306から受信したメッセージを管理部307に送信する。
つまり、判定部305は、判定部205と同様に、自装置のメッセージが有効である場合は自装置のメッセージを、無効な場合はひとつ前の装置のメッセージを、管理部307に送信する。
管理部307は、予め保持するテーブルに登録されているcookieと、受信したflow-modに設定されているcookieとを比較し、cookie情報が登録されているか否か確認する。この確認は、優先度の高いOFASC112が設定したフローを、優先度が低いOFASC111が設定するフローで上書きしないかの確認である。特に、否定(deny)設定したフローを許可(allow)設定に変更する場合、管理部307は、設定済みの優先度が高いOFASC112の設定が、優先度の低いOFASC111からの設定で上書きされないように注意する必要がある。優先度の高いcookie情報が登録されている場合、管理部307は、優先度の低いOFASC111からの許可(allow)の設定を破棄する。そして、新規のフロー登録又は有効なメッセージの場合、管理部307は、送信部308を経由して、メッセージをOFS21に送信し、OFS21にフローを登録する。
管理部307は、OFS21にフロー設定した装置をテーブルのcookieに設定する。
(アプリケーションの説明)
次に、上記の説明の用いたアプリケーションについて、説明する。
(1)Stateful FW
Stateful FWは、OFN141の外側のネットワークへ出ていくパケットを検出すると、その出ていくパケットに対する内側方向のパケットを許可するという、動的な設定機能を備えたファイアウォール(FW)である。Stateful FWは、外部から直接接続してくる通信を遮断し、必要な通信だけを通すことができる。本実施形態の情報処理システム100は、Stateful FWが動作しているOFASC112にP−inしたときに、その宛先から逆向きに入ってくる通信を許可するフローを登録することができる。
一般的なOFは、通信先サーバから戻ってくる通信についても、P−inの処理を実行し、所定のFWを経由する処理が必要であった。しかし、本実施形態の情報処理システム100は、パケットの送信時に、OFS21に戻りのフローを登録できる。そのため、戻りの通信は、FWを経由する必要がない。このように、情報処理システム100は、効率の良い通信を実現することができる。
(2)ロードバランサ
本実施形態のロードバランサは、OFN141の外部にWEBサーバを冗長化して複数台設置している場合に、接続先を決定する。WEBサーバ宛のパケット(L4のポート番号が(80番又は443番))が、P−inすると、OFASC111のロードバランサは、所定のアルゴリズムに基づいて、接続先を決定する。情報処理システム100は、決定した接続先へのフローをOFS21に設定する。この設定に基づいて、以後の同じ端末装置121は、ロードバランサを経由せずに、OFS21に登録されたフロー情報に基づいて、外部のWEBサーバと通信できる。
(3)アプリケーションのフロー設定の競合
1つのP−inに対してOFASC111及びOFASC112が、双方とも、フロー設定しようとした場合を想定する。この場合、本実施形態の情報処理システム100では、後段に接続されているOFASC112(つまり、Stateful FW)のフロー設定が、優先される。一方、前段にあるOFASC111(つまり、ロードバランサ)のフロー設定は、破棄される。このように、情報処理システム100は、優先度が高いアプリケーションの設定をOFS21に設定する。
また、ロードバランサのパケット自体は、OpenFlowのPacket-outメッセージに基づいて、宛先に届く。そのため、OFASC111(つまり、ロードバランサ)のフローは、次に入ってくるパケットのP−inにおける動作で、OFS21に反映される。このように、情報処理システム100は、優先度が低いアプリケーションが実行するOFASC111の設定もOFS21に投入できる。
(効果の説明)
本実施形態の効果について説明する。
まず、本実施形態の情報処理システム100は、OpenFlowのフローを適切に設定するとの効果を得ることができる。
その理由は、次のとおりである。
第1の制御装置であるOFASC111及びOFASC112は、実行するアプリケーションの優先度の順に、直列的に接続されている。そして、優先度が高いOFASC112の判定部205は、自装置のP−inに対する処理結果のメッセージが有効である場合、優先度が低い前の装置であるOFASC111のメッセージを破棄して、自装置のメッセージを次の装置(OFCI113)に送信する。つまり、最も優先度が高いOFASC112の有効なメッセージがOFCI113に送信される。
そして、第2の制御装置であるOFCI113の判定部305は、判定部205と同様に、自装置のメッセージが有効な場合は、自装置のメッセージを管理部307に送信し、無効な場合は、OFASC112のメッセージを管理部307に送信するためである。
つまり、情報処理システム100のOFASC111及びOFASC112は、優先度が低い装置から、メッセージをバケツリレー方式で送信するため、優先度の高い装置のメッセージに基づくフローが、OFS21に送信されるためである。
この動作を基に、情報処理システム100は、OFASC111及びOFASC112の処理の結果の取りこぼしを防止し、相反するフローのOFS21への投入を防ぐことができる。また、情報処理システム100は、優先度の高いOFASC112が設定したフローを、優先度の低いOFASC111で上書きされてしまうことを防ぐことができる。
また、上記構成を基に、情報処理システム100は、OF−Ch131の負荷を減らすとの効果を実現できる。
その理由は、次のとおりである。
情報処理システム100は、OFASC111及びOFASC112で処理した結果を、直接に、OFI(OFCI113)から、OFS21へ投入することができる。そのため、情報処理システム100は、Stateful FWのような双方向の通信を制御するアプリケーションの場合、P−inしてきた「行きのパケット」を基に、「帰りのパケット」に必要なフローをOFS21に登録できる。OF−Ch131は、フローの登録及び変更が大量に起こると、輻輳が起こる。OF−Ch131は、その輻輳に基づく障害が発生する可能性がある。しかし、情報処理システム100は、「行きのパケット」を基に、「帰りのパケット」のフローをOFS21に設定できるため、OF−Chの負荷を減らすことができる。
また、情報処理システム100は、アプリケーションの負荷を低減するとの効果を得ることができる。
その理由は、次のとおりである。
情報処理システム100において、複数のAppSV203は、並列に動作できる。そして、情報処理システム100は、負荷が重いAppSV203の処理又は専用装置を必要とするAppSV203の処理を、OFI(OFCI113)の外部で実行できる。そして、その場合でも、情報処理システム100は、フローの整合性を保つことができるためである。
[変形例]
以上のように説明したOFASC111、OFASC112及びOFCI113(以下、まとめて、制御装置と呼ぶ)は、次のように構成される。
例えば、制御装置の各構成部は、ハードウェア回路で構成されても良い。
また、制御装置は、制御装置の各構成部をネットワーク又はバスを介して接続した複数の情報処理装置を用いて構成されても良い。
また、制御装置は、複数の構成部を1つのハードウェアで構成しても良い。
また、制御装置は、CPU(Central Processing Unit)と、ROM(Read Only Memory)と、RAM(Random Access Memory)とを含むコンピュータ装置として実現しても良い。制御装置は、上記構成に加え、さらに、入出力接続回路(IOC:Input / Output Circuit)と、ネットワークインターフェース回路(NIC:Network Interface Circuit)とを含むコンピュータ装置として実現しても良い。
図6は、制御装置の変形例に係る情報処理装置600の構成の一例を示すブロック図である。
情報処理装置600は、CPU610と、ROM620と、RAM630と、内部記憶装置640と、IOC650と、NIC680とを含み、コンピュータ装置を構成している。
CPU610は、ROM620からプログラムを読み込む。そして、CPU610は、読み込んだプログラムに基づいて、RAM630と、内部記憶装置640と、IOC650と、NIC680とを制御する。そして、CPU610を含むコンピュータは、これらの構成を制御し、図4及び図5に示す各部としての各機能を実現する。ここで、図4に示す各部とは、P−in受信部201、受信パケット処理部202、AppSV203、OFメッセージ作成部204、判定部205、OFメッセージ受信部206、及び送信部208である。また、図5に示す各部とは、P−in受信部301、受信パケット処理部302、OFメッセージ作成部304、判定部305、OFメッセージ受信部306、管理部307、及び送信部308である。
CPU610は、各機能を実現する際に、RAM630又は内部記憶装置640を、プログラムの一時記憶として使用しても良い。
また、CPU610は、コンピュータで読み取り可能にプログラムを記憶した記憶媒体700が含むプログラムを、図示しない記憶媒体読み取り装置を用いて読み込んでも良い。あるいは、CPU610は、NIC680を介して、図示しない外部の装置からプログラムを受け取り、RAM630に保存して、保存したプログラムを基に動作しても良い。
ROM620は、CPU610が実行するプログラム及び固定的なデータを記憶する。ROM620は、例えば、P−ROM(Programable-ROM)又はフラッシュROMである。
RAM630は、CPU610が実行するプログラム及びデータを一時的に記憶する。RAM630は、例えば、D−RAM(Dynamic-RAM)である。
内部記憶装置640は、情報処理装置600が長期的に保存するデータ及びプログラムを記憶する。また、内部記憶装置640は、CPU610の一時記憶装置として動作しても良い。内部記憶装置640は、例えば、ハードディスク装置、光磁気ディスク装置、SSD(Solid State Drive)又はディスクアレイ装置である。
ここで、ROM620と内部記憶装置640は、不揮発性の記憶媒体である。一方、RAM630は、揮発性の記憶媒体である。そして、CPU610は、ROM620、内部記憶装置640、又は、RAM630に記憶されているプログラムを基に動作可能である。つまり、CPU610は、不揮発性記憶媒体又は揮発性記憶媒体を用いて動作可能である。
IOC650は、CPU610と、入力機器660及び表示機器670とのデータを仲介する。IOC650は、例えば、IOインターフェースカード又はUSB(Universal Serial Bus)カードである。
入力機器660は、情報処理装置600の操作者からの入力指示を受け取る機器である。入力機器660は、例えば、キーボード、マウス又はタッチパネルである。
表示機器670は、情報処理装置600の操作者に情報を表示する機器である。表示機器670は、例えば、液晶ディスプレイである。
NIC680は、ネットワークを介した図示しない外部の装置とのデータのやり取りを中継する。NIC680は、例えば、LAN(Local Area Network)カードである。
このように構成された情報処理装置600は、OFASC111、OFASC112及びOFCI113と同様の効果を得ることができる。
その理由は、情報処理装置600のCPU610が、プログラムに基づいて、OFASC111、OFASC112及びOFCI113と同様の機能を実現できるためである。
なお、情報処理装置600は、複数のプログラムを実行させ、OFASC111、OFASC112及びOFCI113としての複数の装置の機能を実現してもよい。
<第2の実施形態>
第1の実施形態では、OFASC111及びOFASC112が、AppSV203を含んでいる。しかし、AppSV203の位置は、これに限る必要はない。例えば、OFCI113が、AppSV203を含んでもよい。
例えば、OFASC112の数が増えて、多段接続となる構成の場合、情報処理システム100は、OFS21からのP−inの入力から、OFS21にメッセージを書き込むまでに掛かる時間が大きくなる場合が想定される。そのため、セキュリティに関連するなど優先度の高いAppSV203の結果の設定の時間の削減が、望まれている。
そこで、第2の実施形態として、OFCI113が、AppSV203を含む場合について説明する。
図7は、第2の実施形態に係るOFCI114の構成の一例を示すブロック図である。
本実施形態のOFCI114は、第1の実施形態のOFCI113の構成に加え、1つ又は複数のAppSV203を含む。このように、OFCI114に含まれる構成は、第1の実施形態で説明した構成と同様のため、構成の詳細な説明を省略する。また、OFCI114の動作は、AppSV203に関連する動作を除き、第1の実施形態のOFCI113と同様のため、AppSV203に関連する動作を中心に説明する。
OFCI114に含まれるAppは、セキュリティ的に優先度が高いアプリケーション、例えば、遮断系のフローを投入する必要があるアプリケーションが想定される。なお、重い処理が必要なアプリケーションは、OFASC111など、OFCI114の外部の装置の含ませた方がよい。
(OFCI114の動作の説明)
第1の実施形態の同様の動作の説明を適宜省略し、本実施形態の特有の動作を中心に説明する。
OFCI114は、予め、OFASC111及びOFASC112に含まれるAppSV203と内部に含むAppSV203とで利用するアプリケーションのポート番号(L4)を保持する。
本実施形態のP−in受信部301、判定部305、OFメッセージ受信部306、管理部307、及び送信部308は、第1に実施形態の同様のため、詳細な説明を省略する。
受信パケット処理部302は、OFCI114に含まれるAppSV203で処理するメッセージの場合、メッセージをAppSV203に送信する。その他の受信パケット処理部302の動作は、同様のため、詳細な説明を省略する。
AppSV203は、処理の結果をOFメッセージ作成部304に送信する。
OFメッセージ作成部304は、AppSV203からメッセージを受信した場合、そのメッセージを基にflow-modメッセージを作成する。その際、OFメッセージ処理部303は、処理をしたAppSV203が識別できるように、cookieを設定する。なお、本実施形態のcookieのビットは、第1の実施形態と同様でも良い。ただし、OFCI114は、含まれるAppSV203を識別できるように、cookieを設定してもよい。OFメッセージ303のその他の動作は、第1の実施形態と同様のため、詳細な説明を省略する。
このような構成を基に、本実施形態は、第1の実施形態の効果に加え、セキュリティなど優先度が高いAppSV203に対応したフローを適切に適用できるとの効果を得ることができる。
その理由は、次のとおりである。
OFCI114は、優先度が高いAppSV203を含む。そのため、OFCI114のOFIとしての機能は、他の装置を介さず、優先度の高いAppSV203の結果を、OFS21に適用可能なためである。
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成及び詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
11 OFASC
12 OFI
21 OFS
100 情報処理システム
101 情報処理システム
102 情報処理システム
111 OFASC
112 OFASC
113 OFCI
114 OFCI
121 端末装置
122 通信先装置
123 AppSV
124 OFC
131 OF−Ch
141 OFN
201 P−in受信部
202 受信パケット処理部
203 AppSV
204 OFメッセージ作成部
205 判定部
206 OFメッセージ受信部
208 送信部
301 P−in受信部
302 受信パケット処理部
304 OFメッセージ作成部
305 判定部
306 OFメッセージ受信部
307 管理部
308 送信部
600 情報処理装置
610 CPU
620 ROM
630 RAM
640 内部記憶装置
650 IOC
660 入力機器
670 表示機器
680 NIC
700 記憶媒体

Claims (7)

  1. 情報の送信元である端末装置と、前記情報の送信先である通信先装置とを接続する経路としてOpenFlowネットワークを構成する複数のスイッチ装置のいずれか1つのスイッチ装置から第2のメッセージを受信する第1の受信手段と、
    前記第2のメッセージを処理する第1の受信パケット処理手段と、
    前記第2のメッセージに対応する第1のアプリケーションを実行する第1のアプリケーション実行手段と、
    前記第1の受信パケット処理手段及び前記第1のアプリケーション実行手段からメッセージを受信し、第1のメッセージを作成する第1のメッセージ作成手段と、
    他の第1の制御装置から第1のメッセージを受信する第1のメッセージ受信手段と、
    前記第1のメッセージ作成手段からの第1のメッセージを基に、前記第1のメッセージ作成手段からの第1のメッセージ又は前記第1のメッセージ受信手段からの第1のメッセージのいずれか1つを選択する第1の判定手段と、
    前記第1の判定手段が選択した第1のメッセージを送信する第1の送信手段と
    を含む第1の制御装置。
  2. 前記第1のメッセージ受信手段が、
    優先度がより低い第2のアプリケーションを実行する他の第1の制御装置から前記第2のアプリケーションの実行結果を含む前記第1のメッセージを受信し、
    前記第1の判定手段が、
    前記アプリケーション実行手段が、前記第2のアプリケーションより高い優先度を持つ第1のアプリケーションを実行した場合は、前記第1のアプリケーションの実行結果を含むメッセージを選択し、前記第1のアプリケーションを実行しない場合は、前記第1のメッセージ受信手段が受信した前記第1のメッセージを選択する
    請求項1に記載の第1の制御装置。
  3. 請求項1又は2に記載の第1の制御装置から第1のメッセージを受信する第2のメッセージ受信手段と
    前記スイッチ装置から前記第2のメッセージを受信する第2の受信手段と、
    前記第2のメッセージを処理する第2の受信パケット処理手段と、
    前記第2の受信パケット処理手段からメッセージを受信し、第1のメッセージを作成する第2のメッセージ作成手段と、
    前記第2のメッセージ作成手段からの第1のメッセージを基に、前記第2のメッセージ作成手段からの第1のメッセージ及び前記第2のメッセージ受信手段からの第1のメッセージのいずれかを選択する第2の判定手段と、
    前記第2の判定手段が選択したメッセージを送信する第1の送信手段と
    既に前記スイッチ装置の設定に用いたメッセージを送信した第1の制御手段の優先度と前記第2の判定手段が選択したメッセージの優先度とを比較し、前記第2の判定手段が選択したメッセージの優先度が高い場合に前記スイッチ装置に設定に用いるメッセージとして前記第2の判定手段が選択したメッセージを選択する管理手段と、
    前記第1のメッセージを基に前記スイッチ装置がOpenFlowネットワークとしての機能を設定するために、前記管理手段が選択したメッセージを前記スイッチ装置に送信する第2の送信手段と
    含む第2の制御装置。
  4. 前記第2のメッセージに対応するアプリケーションを実行する第2のアプリケーション実行手段をさらに含む請求項3に記載の第2の制御装置。
  5. 情報の通信元である端末装置と、
    前記情報を通信先である通信先装置と、
    前記端末装置と前記通信先装置との経路としてOpenFlowネットワークを構成する複数のスイッチ装置と、
    所定のアプリケーションを実行し、前記アプリケーションの実行結果を基に前記OpenFlowネットワークの制御のための第1のメッセージを作成し、前記アプリケーションの優先度順に前記第1のメッセージを論理的に直列に送信する複数の第1の制御装置と、
    前記第1のメッセージを基に前記スイッチ装置にOpenFlowネットワークとしての機能を設定する第2の制御装置と
    を含む情報処理システム。
  6. 情報の送信元である端末装置と、前記情報の送信先である通信先装置とを接続する経路としてOpenFlowネットワークを構成する複数のスイッチ装置のいずれか1つのスイッチ装置から第2のメッセージを受信し、
    前記第2のメッセージを処理し、
    前記第2のメッセージに対応するアプリケーションを実行し、
    前記第2のメッセージの処理結果及び前記アプリケーションの結果のメッセージを受信し、第1のメッセージを作成し、
    他の第1の制御装置から第1のメッセージを受信し、
    前記作成した第1のメッセージを基に、前記他の第1の制御装置から受信した第1のメッセージ又は前記作成した第1のメッセージのいずれか1つを選択し、
    前記選択した第1のメッセージを送信する
    制御方法。
  7. 情報の送信元である端末装置と、前記情報の送信先である通信先装置とを接続する経路としてOpenFlowネットワークを構成する複数のスイッチ装置のいずれか1つのスイッチ装置から第2のメッセージを受信する処理と、
    前記第2のメッセージを処理する処理と、
    前記第2のメッセージに対応するアプリケーションを実行する処理と、
    前記第2のメッセージの処理結果及び前記アプリケーションの結果のメッセージを受信し、第1のメッセージを作成する処理と、
    他の第1の制御装置から第1のメッセージを受信する処理と、
    前記作成した第1のメッセージを基に、前記他の第1の制御装置から受信した第1のメッセージ又は前記作成した第1のメッセージのいずれか1つを選択する処理と、
    前記選択した第1のメッセージを送信する処理と
    をコンピュータに実行させるプログラム。
JP2014210527A 2014-10-15 2014-10-15 制御装置、情報処理システム、制御方法、及び、プログラム Withdrawn JP2016082344A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2014210527A JP2016082344A (ja) 2014-10-15 2014-10-15 制御装置、情報処理システム、制御方法、及び、プログラム
US14/874,412 US9871859B2 (en) 2014-10-15 2015-10-03 Control apparatus, control method and medium
CN201510666778.0A CN105530186A (zh) 2014-10-15 2015-10-15 控制装置、控制方法和介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014210527A JP2016082344A (ja) 2014-10-15 2014-10-15 制御装置、情報処理システム、制御方法、及び、プログラム

Publications (1)

Publication Number Publication Date
JP2016082344A true JP2016082344A (ja) 2016-05-16

Family

ID=55749965

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014210527A Withdrawn JP2016082344A (ja) 2014-10-15 2014-10-15 制御装置、情報処理システム、制御方法、及び、プログラム

Country Status (3)

Country Link
US (1) US9871859B2 (ja)
JP (1) JP2016082344A (ja)
CN (1) CN105530186A (ja)

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5488980B2 (ja) 2010-02-08 2014-05-14 日本電気株式会社 コンピュータシステム、及び通信方法
CN103380600B (zh) * 2011-02-17 2016-11-09 日本电气株式会社 网络系统和网络流跟踪方法
US20140233577A1 (en) * 2011-09-29 2014-08-21 Nec Corporation Communication system, control apparatus, and control method thereof
US8705536B2 (en) * 2012-03-05 2014-04-22 Telefonaktiebolaget L M Ericsson (Publ) Methods of operating forwarding elements including shadow tables and related forwarding elements
US9178715B2 (en) * 2012-10-01 2015-11-03 International Business Machines Corporation Providing services to virtual overlay network traffic
EP2905929B1 (en) * 2012-10-03 2020-02-19 Nec Corporation Communication system, control apparatus, control method, and program
US9203748B2 (en) * 2012-12-24 2015-12-01 Huawei Technologies Co., Ltd. Software defined network-based data processing method, node, and system
CN103051629B (zh) * 2012-12-24 2017-02-08 华为技术有限公司 一种基于软件定义网络中数据处理的系统、方法和节点
US9299434B2 (en) * 2014-01-09 2016-03-29 Netronome Systems, Inc. Dedicated egress fast path for non-matching packets in an OpenFlow switch

Also Published As

Publication number Publication date
US9871859B2 (en) 2018-01-16
US20160112330A1 (en) 2016-04-21
CN105530186A (zh) 2016-04-27

Similar Documents

Publication Publication Date Title
EP3586494B1 (en) Load balancing in distributed computing systems
EP3254447B1 (en) Service function chaining across multiple subnetworks
KR102233645B1 (ko) 가상 네트워크 기반 분산 다중 도메인 라우팅 제어 시스템 및 라우팅 제어 방법
KR20200135780A (ko) 인터커넥트와 연관된 가상 채널을 통한 트랜잭션의 부분들 중재하기
US9876712B2 (en) Method and device for processing address resolution protocol in software-defined networking environment
US20150281207A1 (en) Method and apparatus for dynamic destination address control in a computer network
KR20170059379A (ko) 가상 라우터 클러스터, 데이터 전달 방법 및 장치
US8509077B2 (en) Method for congestion management of a network, a switch, and a network
JP2007109040A (ja) 情報処理装置、情報処理システム、通信中継装置および通信制御方法
US20170048157A1 (en) Intelligent Software-Defined Networking Based Service Paths
WO2012078575A1 (en) Technique for managing traffic at a router
US9614749B2 (en) Data processing system and method for changing a transmission table
US10135761B2 (en) Switch device, control method, and storage medium
JP2008092542A (ja) パケット無限ループを防止可能なリングトポロジーイーサネットネットワークの通信パケット処理装置及び通信パケット処理方法
JP4964666B2 (ja) 冗長化された通信経路を切り替える計算機、プログラム及び方法
JP5251716B2 (ja) パケット中継装置
KR20180062607A (ko) 가상 코어 자동 스케일링을 지원하는 병렬 처리 방법 및 이를 위한 장치
US9609572B2 (en) Method and system for supporting mobility of a mobile terminal in a software-defined network
US9413654B2 (en) System, relay device, method, and medium
JP2016082344A (ja) 制御装置、情報処理システム、制御方法、及び、プログラム
CN111800340B (zh) 数据包转发方法和装置
US10476956B1 (en) Adaptive bulk write process
US20070008970A1 (en) Packet data router apparatus and method
WO2022208856A1 (ja) 通信システム、切替装置、切替方法、及びプログラム
WO2020184381A1 (ja) 処理装置、情報処理システム、情報処理方法、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170915

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180731

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20180806