JP2011082834A - コンピュータシステム、及びコンピュータシステムの監視方法 - Google Patents

コンピュータシステム、及びコンピュータシステムの監視方法 Download PDF

Info

Publication number
JP2011082834A
JP2011082834A JP2009233888A JP2009233888A JP2011082834A JP 2011082834 A JP2011082834 A JP 2011082834A JP 2009233888 A JP2009233888 A JP 2009233888A JP 2009233888 A JP2009233888 A JP 2009233888A JP 2011082834 A JP2011082834 A JP 2011082834A
Authority
JP
Japan
Prior art keywords
application
switch
flow
port number
computer system
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.)
Granted
Application number
JP2009233888A
Other languages
English (en)
Other versions
JP5300076B2 (ja
Inventor
Koji Ebara
広治 江原
Takehisa Masuda
剛久 増田
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
NEC Solution Innovators Ltd
Original Assignee
NEC Corp
NEC Solution Innovators Ltd
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, NEC Solution Innovators Ltd filed Critical NEC Corp
Priority to JP2009233888A priority Critical patent/JP5300076B2/ja
Priority to CN201080045676.2A priority patent/CN102668467B/zh
Priority to US13/500,571 priority patent/US20120257529A1/en
Priority to PCT/JP2010/067523 priority patent/WO2011043366A1/ja
Priority to EP20100822036 priority patent/EP2487842A1/en
Publication of JP2011082834A publication Critical patent/JP2011082834A/ja
Application granted granted Critical
Publication of JP5300076B2 publication Critical patent/JP5300076B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways

Abstract

【課題】アプリケーションへのポート番号の割り当て方式に影響されずにアプリケーション毎の統計情報の監視を可能とする。
【解決手段】本発明によるコンピュータシステムは、受信したパケットデータを、自身に設定されたフローに従った宛先に転送するスイッチ4iと、スイッチ4iからのファーストパケットの受信通知に応じて、スイッチ4iに対するフローの設定を行うコントローラ3とを具備する。スイッチ4iは、コントローラ3に対して、ファーストパケットの受信通知を行うとともにパケットデータに含まれるポート番号を通知する。コントローラ3は、ポート番号を利用するアプリケーションのアプリケーション名をサーバ3から取得し、アプリケーション名とスイッチ3に設定したフローとを対応付けて記憶装置に記録する。
【選択図】図1

Description

本発明は、コンピュータシステム、及びコンピュータシステムの監視方法に関し、特に、アプリケーション毎の通信トラフィックを監視する方法に関する。
近年、ネットワークにおける回線毎の統計情報を収集し、これを監視することで、コンピュータシステム内で発生する障害の復旧や負荷分散等の対応を行うことが可能となっている。このような、統計情報の監視は、回線毎のみならずアプリケーション単位で実行できることが望まれている。
例えば、特開2000−209200には、パケットから抽出したポート番号とフローテーブルとによって通信フローを特定し、そのトラフィック量を監視(品質監視や課金)する装置が記載されている(特許文献1参照)。特許文献1には、ポート番号によってアプリケーションを識別することで、アプリケーションの使用状況に応じた課金が可能であることが記載されている。
又、特開2008−72496には、パケットデータのヘッダ情報に基づいてアプリケーションプロトコル、パケットの送信元及び送信先を判別し、アプリケーション別にトラフィック量や統計情報を集計する監視システムが記載されている(特許文献2参照)。
更に、特開2005−51736では、フローテーブルに設定されたTCP/UDP等のプロトコル種別、TCP/IPポート番号、あるいはIPアドレス等の組み合わせ(ルール)に対応するパケットデータの統計情報を収集することで、アプリケーション毎の統計情報を監視することを可能としている(特許文献3参照)。
一方、アプリケーション間通信で利用されるポート番号は、予め設定されている場合もあるが、セッション確立時において任意に設定される場合がある。このようにポート番号が任意に設定される場合、パケットのヘッダ情報に含まれるポート番号によってトラフィックを識別するシステムでは、ポート番号によってアプリケーションを特定することができない。例えば、1つのアプリケーションが複数のアプリケーションと通信を行う場合、送信元又は送信先のポート番号は任意に設定されることとなる。このような場合、従来技術では、アプリケーション間のトラフィック量等を回線単位で監視することはできても、アプリケーション単位で監視することはできない。従来技術において、監視対象回線とアプリケーションを対応づけるためには、ネットワーク上に回線トレース等を設置し、これによる解析により監視対象回線に対応するアプリケーションを特定する必要がある。
任意に設定されるポート番号によって、監視対象のアプリケーションを特定する方法が、例えば、特開2008−219383に記載されている(特許文献4参照)。特許文献4には、利用端末間におけるアプリケーション通信を、各利用端末に任意に割り当てたポート番号を利用して特定する技術が記載されている。ここでは、アプリケーション制御装置によってアプリケーションに割り当てられたポート番号が、マネージャ装置を介して収集プローブ装置に通知される。収集プローブ装置は通知されたポート番号を含むパケットデータを監視することで、アプリケーション毎のトラフィック量等を監視することが可能となる。
特開2000−209200 特開2008−72496 特開2005−51736 特開2008−219383
特許文献4に記載の技術では、システム内の全ての収集プローブ装置に対して、監視対象となるアプリケーションを特定する情報(例えばポート番号)を通知しなければならない。又、マネージャ装置は、ポート番号がアプリケーションに割り当られる度に、全ての収集プローブ装置にポート番号を通知する。
上述のように、セッションの確立において任意のポート番号がアプリケーションに割り当てられるコンピュータシステムの場合、新たなアプリケーション間通信が発生する度に、システム内の全ての収集プローブ装置にポート番号が通知される。すなわち、新たなアプリケーション間通信の発生に応じて、当該アプリケーション通信に関係のないトラフィックを監視する収集プローブ装置に対してもポート番号が通知される。この収集プローブ装置は、当該ポート番号を含むパケットデータが通過することがなくても、パケットデータが通過する度に、当該ポート番号を含むかどうかを判定する必要がある。このように、従来技術におけるマネージャ装置や収集プローブ装置の処理量は大きくなるため、処理能力の高いマネージャ装置や収集プローブを用意する必要がある。このため、従来技術を用いた場合、システム全体のコストが増加してしまう。
又、収集プローブ装置をスイッチに搭載した場合、上述と同様に、アプリケーション通信によるトラフィックが通過しないスイッチにもポート番号が通知され、当該スイッチは、通過しないパケットデータに対する監視処理を行わなければならない。特に、システム規模が大きく、監視対象となるアプリケーションの数やスイッチ(収集プローブ装置)の数が多くなる場合、ポート番号の通知に要する処理量や、スイッチ(収集プローブ装置)毎の無駄な監視量(通過しないトラフィックに対する監視量)は膨大な量となる。
以上のことから、本発明の目的は、アプリケーションへのポート番号の割り当て方式に影響されずにアプリケーション毎の統計情報を監視できるコンピュータシステムを提供することにある。
本発明の他の目的は、不要な監視処理を省略しつつアプリケーション毎の統計情報を監視するコンピュータシステムを提供することにある。
上記の課題を解決するために、本発明は、以下に述べられる手段を採用する。その手段を構成する技術的事項の記述には、[特許請求の範囲]の記載と[発明を実施するための形態]の記載との対応関係を明らかにするために、[発明を実施するための形態]で使用される番号・符号が付加されている。ただし、付加された番号・符号は、[特許請求の範囲]に記載されている発明の技術的範囲を限定的に解釈するために用いてはならない。
本発明によるコンピュータシステムは、受信したパケットデータを、自身に設定されたフローに従った宛先に転送するスイッチ(4i)と、スイッチ(4i)からのファーストパケットの受信通知に応じて、スイッチ(4i)に対するフローの設定を行うコントローラ(3)と、アプリケーション(101)を有するサーバ(1)とを具備する。スイッチ(4i)は、受信したパケットデータが、自身に設定されたフローに示されたルール(444)に適合しない場合、コントローラ(3)に対して、ファーストパケットの受信通知を行うとともにパケットデータに含まれるポート番号を通知する。コントローラ(3)は、ポート番号を利用するアプリケーションのアプリケーション名をサーバ(1)から取得し、アプリケーション名とスイッチ(4i)に設定したフローとを対応付けて記憶装置に記録する。
本発明によるコンピュータシステムの監視方法は、受信したパケットデータを、自身に設定されたフローに従った宛先に転送するスイッチ(4i)と、スイッチ(4i)からのファーストパケットの受信通知に応じて、スイッチ(4i)に対するフローの設定を行うコントローラ(3)とを具備するコンピュータシステムにて実行される。
本発明によるコンピュータシステムの監視方法は、スイッチ(4i)が、受信したパケットデータが、自身に設定されたフローに示されたルールに適合しない場合、コントローラ(3)に対して、ファーストパケットの受信通知を行うとともにパケットデータに含まれるポート番号を通知するステップと、
コントローラ(3)が、ポート番号を利用するアプリケーションのアプリケーション名をサーバから取得するステップと、コントローラが、アプリケーション名とスイッチ(4i)に設定したフローとを対応付けて記憶装置に記録するステップとを具備する。
本発明では、アプリケーションに割り当てられたポート番号が未知であっても、スイッチを通過するファーストパケットの通知によって得られたポート番号を利用してアプリケーションを特定することができる。このため、アプリケーションに対してポート番号が動的に割り当てられても、本発明によるコントローラ(3)は、当該アプリケーションとパケット転送を制御するフローとを対応付けることが可能となる。
以上のことから、本発明によれば、アプリケーションへのポート番号の割り当て方式に影響されずにアプリケーション毎の統計情報を監視することができる。
又、フロー毎に統計情報を収集することが可能となるため、不要な監視処理を省略しつつアプリケーション毎の統計情報を監視することができる。
図1は、本発明によるコンピュータシステムの実施の形態における構成を示す図である。 図2は、本発明によるオープンフローコントローラの構成を示す図である。 図3は、本発明によるオープンフローコントローラが保持するフローテーブルの構成の一例を示す図である。 図4は、本発明によるオープンフローコントローラが保持するアプリ/ポート対応テーブルの構成の一例を示す図である。 図5は、本発明によるオープンフローコントローラが保持する統計テーブルの構成の一例を示す図である。 図6は、本発明に係るオープンフロースイッチの構成を示す図である。 図7は、本発明によるスイッチが保持するフローテーブルの一例を示す図である。 図8は、本発明によるスイッチが保持する統計テーブルの構成の一例を示す図である。 図9は、本発明に係るオープンフロー制御を説明するための図である。 図10は、本発明によるシステム監視のための準備処理の動作を示すシーケンス図である。 図11は、本発明によるシステム監視のための統計情報取得処理の動作を示すシーケンス図である。 図12は、第1の実施例におけるアプリケーション間通信の監視方法を説明する図である。 図13は、第2の実施例におけるアプリケーション間通信の監視方法を説明する図である。 図14は、第3の実施例におけるアプリケーション間通信の監視方法を説明する図である。
以下、添付図面を参照しながら本発明の実施の形態を説明する。図面において同一、又は類似の参照符号は、同一、類似、又は等価な構成要素を示す。
(コンピュータシステムの構成)
図1から図9を参照して、本発明によるコンピュータシステムの構成を説明する。図1は、本発明によるコンピュータシステムの構成を示す図である。本発明によるコンピュータシステムは、オープンフローコントローラ3(以下、OFC3と称す)、スイッチ群4を含むネットワークを介して接続されたサーバ1及びクライアント端末2を具備する。クライアント端末2は、スイッチ群4を介して当該コンピュータシステムに接続された外部ネットワーク(例示:インターネット)内に設けられても構わない。スイッチ群4は少なくとも1つのオープンフロースイッチ4i(以下、OFS4iと称す)を備える。
サーバ1及びクライアント端末2は、複数設けられることが好ましい。図1では、説明を簡単化するため、サーバ1及びクライアント端末2が1つの形態を示している。サーバ1やクライアント端末2が複数ある場合、それぞれはスイッチ群4を介して相互に接続される。又、OFC3も1つとは限らず複数設けられても良い。この場合、制御対象となるスイッチ群4やサーバ1はOFC3毎に決められていても構わない。更に、後述するがクライアント端末2とスイッチ群との間には、複数のサーバ1に対して負荷分散を行うロードバランサ5が設けられていても構わない。
サーバ1は、図示しないCPU、主記憶装置、及び外部記憶装置を備えるコンピュータ装置であり、外部記憶装置に格納されたプログラムを実行することで、アプリ特定エージェント10や、複数のアプリケーション101、102の機能を実現する。以下では、アプリケーションソフトウェアを実行することで実現される機能を、アプリケーション101、102と称して説明する。サーバ1は、アプリケーション101、102に応じて、その働きを異にし、Webサーバ、ファイルサーバ、アプリケーションサーバ等に例示される機能を実現する。例えば、サーバ1がWebサーバとして機能する場合、アプリケーション101、102は、クライアント端末2のアプリケーション201(例示:Webブラウザ)の要求に従い、記憶装置(図示なし)内のHTML文書や画像データをクライアント端末2に転送する。又、アプリケーション101、102は、クライアント端末(アプリケーション201)からの要求に応じて、各種処理を実行し、各種データの生成や、データベースと連携したトランザクション処理を行っても良い。
アプリケーション101、102は、クライアント端末2(アプリケーション201)との間において、TCP又はUDPによる通信を行うことが好ましい。この場合、サーバ1とクライアント端末2との間でセッションを確立する際、OS(Operating System)によりアプリケーション101、102、201に対してポート番号(0〜65535番のいずれか)が割り当てられる。ポート番号の割り当て方法は、予め決められたポート番号(予約ポート番号)を固定的に割り当てる方法や、予約ポート番号又は非公式ポート番号をセッション確立毎に動的に割り当てる方法がある。
サーバ・クライアントモデルにおけるアプリケーション間通信では、通常、最初にクライアント側からサーバ側にパケットデータが送信される。このため、サーバ1のアプリケーション101、102には予約ポート番号が固定的に割り当てられていることが好ましい。例えば、サーバ1のアプリケーション101には、その機能に応じたウェルノウンポート番号(0〜1023番のいずれか)が割り当てられる。あるいは、サーバ1のアプリケーション101、102には、1024−49151番のいずれかが登録済みポートとして固定的に割り当てられていても構わない。更に、アプリケーション101、102には、プライベートポート番号として、49152〜65535番のいずれかが動的に割り当てられても良い。
アプリ特定エージェント10は、OFC3から通知されたポート番号をキーとして、当該ポート番号が割り当てられているアプリケーション名(以下、アプリ名と称す)を特定する。通知アプリ特定エージェント10は、特定したアプリ名をOFC3に送信する。詳細には、サーバ1上のOSによってアプリケーション101、102に割り当てられたポート番号は、そのプロセス毎に対応付けられたテーブルとしてサーバ1内の記憶装置に記録されている(図示なし)。アプリ特定エージェント10は、このテーブルを参照して、通知されたポート番号に対応するプロセスIDに応じたアプリケーション名を抽出し、OFC3に送信する。この際、OFC3から通知されるプロトコル識別子に応じてレイヤ4の使用プロトコル(例えばTCP又UDP)を識別する。
OFC3は、オープンフロー技術により、システム内の通信を制御する。オープンフロー技術とは、コントローラ(ここではOFC3)が、ルーティングポリシー(フロー:ルール+アクション)に従い、マルチレイヤ及びフロー単位の経路情報をスイッチに設定し、経路制御やノード制御を行う技術を示す。これにより、経路制御機能がルータやスイッチから分離され、コントローラによる集中制御によって最適なルーティング、トラフィック管理が可能となる。オープンフロー技術が適用されるスイッチ(OFS4i)は、従来のルータやスイッチのようにパケットやフレームの単位ではなく、END2ENDのフローとして通信を取り扱う。
詳細には、OFC3は、スイッチやノード毎にフロー(ルール+アクション)を設定することで当該スイッチやノードの動作(例えばパケットデータの中継動作)を制御する。ここで、OFC3によって制御されるスイッチは、OFS4iや仮想スイッチ等に例示され、OFC3によって制御されるノードは、サーバ1やサーバ1上で動作する仮想マシン等に例示される。
図2は、本発明によるOFC3の構成を示す図である。OFC3は、CPU及び記憶装置を備えるコンピュータによって実現されることが好適である。OFC3では、図示しないCPUが記憶装置に格納されたプログラムを実行することで、図2に示すスイッチ制御部331、フロー管理部332、フロー生成部333の各機能が実現される。
スイッチ制御部331は、フローテーブル334に従ってスイッチやノード毎にフロー(ルール+アクション)の設定又は削除を行う。本発明に係るOFS4iは、設定されたフローを参照し、受信パケットのヘッダ情報に応じたルールに対応するアクション(例えばパケットデータの中継や破棄)を実行する。ルール及びアクションの詳細は後述する。
図3は、本発明によるOFC3が保持するフローテーブル334の構成の一例を示す図である。図3を参照して、フローテーブル334には、フローを特定するためのフロー識別子441、当該フローの設定対象(スイッチやノード)を識別する識別子(対象装置442)、経路情報443、ルール444、アクション情報445、設定情報446が対応付けられて設定される。フローテーブル334には、OFC3の制御対象となる全てのスイッチやノードに対するフロー(ルール444+アクション情報445)が設定される。フローテーブル334には、フロー毎のQoSや暗号化に関する情報など、通信の扱い方が定義されてもかまない。
ルール444には、例えば、TCP/IPのパケットデータにおけるヘッダ情報に含まれる、OSI(Open Systems Interconnection)参照モデルのレイヤ1からレイヤ4のアドレスや識別子の組み合わせが規定される。例えば、図9に示すレイヤ1の物理ポート、レイヤ2のMACアドレス、レイヤ3のIPアドレス、レイヤ4のポート番号、VLANタグのそれぞれの組み合わせがルール444として設定される。ここで、ルール444に設定されるポート番号等の識別子やアドレス等は、所定の範囲が設定されても構わない。又、宛先や送信元のアドレス等を区別してルール444として設定されることが好ましい。例えば、MAC宛先アドレスの範囲や、接続先のアプリケーションを特定する宛先ポート番号の範囲、接続元のアプリケーションを特定する送信元ポート番号の範囲がルール444として設定される。更に、データ転送プロトコルを特定する識別子をルール444として設定してもよい。
アクション情報445には、例えばTCP/ IPのパケットデータを処理する方法が規定される。例えば、受信パケットデータを中継するか否かを示す情報や、中継する場合はその送信先が設定される。又、アクション情報445には、パケットデータの複製や、破棄することを指示する情報が設定されてもよい。
経路情報443は、フロー(ルール444+アクション情報445)を適用する経路を特定する情報である。これは、通信経路情報に対応付けられた識別子である。
設定情報446は、フロー(ルール444+アクション情報445)が現在設定されているか否かを示す情報である。設定情報446は、対象装置442や経路情報443に対応付けられているため、通信経路毎にフローが設定されているか否かを確認できるとともに、通信経路上のスイッチやノード毎にフローが設定されているか否かを確認することができる。又、設定情報446は、生成されたフローが使用可能な状態(有効)か使用不可能な状態(無効)かを示す情報を含む。OFC3は、設定情報446を参照し、有効なフローのみをOFSに設定し、無効なフローは設定しない。
フロー管理部332は、フローテーブル334を参照して、OFS4iから通知されたファーストパケットのヘッダ情報に対応するフロー(ルール444+アクション情報445)を抽出し、スイッチ制御部331に通知する。ここで、ファーストパケットとは、OFS4iで受信されるパケットのうち、OFS4iに設定されたフローに適合しないヘッダ情報を持つパケットを示す。OSF4iからファーストパケットの通知とともに送信されるヘッダ情報は、スイッチの受信ポート、VLAN番号、送信元MACアドレス、宛先MACアドレス、Ethernet(登録商標)タイプ情報 (上位プロトコルの種類。例示:IP, ARP, IPX等を識別する識別子)、送信元IPアドレス、宛先IPアドレス、L4プロトコル情報 (上位プロトコルの種類。例示:TCP, UDP, ICMP等を識別する識別子)、送信元TCP/IPポート番号、宛先TCP/IPポート番号を含む。フロー管理部332は、通知されたヘッダ情報内の送信元MACアドレス、宛先MACアドレス、送信元IPアドレス、宛先IPアドレスに基づいて、当該OFS4iが受信したファーストパケットの送信元と送信先の装置を特定する。そして、フロー管理部332は、特定した装置間の通信経路やトポロジを参照してOFS4iの処理すべきアクションを決定し(アクションが中継動作の場合は送信先の決定を含む)、当該OFSiに対応するフローをフローテーブル334から抽出する。
OFS4iから通知されたヘッダ情報に基づいて特定した装置間の通信に関するフローが、フローテーブル334に存在しない場合、フロー管理部332は、フロー生成部333にフローの生成を指示してもよい。フロー管理部332は、フロー生成部333によって生成されたフロー(ルール444+アクション情報445)にフロー識別子441をつけて記憶装置(フローテーブル334)に記録する。この際、フローを適用する通信経路の識別子(経路情報443)やフローを適用するスイッチやノードの識別子(対象装置442)が、フロー(ルール444+アクション情報445)に付されて記録される。その後、フロー管理部332は、新たに生成されたフローをOFS4iに設定するフローとしてスイッチ制御部331に通知する。
スイッチ制御部331は、フロー管理部332によってフローテーブル334から抽出されたフローを、ファーストパケットの通知元であるOFS4iに設定する。
ファーストパケットの通知を受けたフロー管理部332は、OFS4iから通知されるヘッダ情報をキーとして、当該OFS4iに新規に設定するフローに対応するアプリケーション名をサーバ1から取得する。上述のように、フロー管理部332は、ヘッダ情報に基づいてOFS4iが受信したファーストパケットの送信元と送信先の装置を特定する。例えば、宛先MACアドレス及び宛先IPアドレスに基づいて、クライアント端末2の接続先となるサーバ1を特定する。ヘッダ情報から特定したサーバ1のアプリ特定エージェント10に対して、アプリケーションの特定指示を発行するとともに、通知されたヘッダ情報内の送信元TCP/IPポート番号及び宛先TCP/IPポート番号の一方又は両方と、L4プロトコル情報(プロトコル識別子)とを送信する。そして、フロー管理部332は、アプリ特定エージェント10から特定指示の返信としてアプリケーション名(アプリ名)を取得する。フロー管理部332は、当該ファーストパケットの通知に応じて、上述のようにOFS4iに設定したフローと、アプリ特定エージェント10から取得したアプリ名とを対応付けてアプリ/フロー対応テーブル335に記録する。アプリ/フロー対応テーブル335には、図4に示すように、フロー毎に付与されたフロー識別子441と、アプリ名451とが対応付けられて記録される。
フロー管理部332は、更に、フロー毎の統計情報をOFS群4から収集する機能を有する。詳細には、図5を参照して、フロー管理部332は、OFS4iから送信される統計情報452(例えばトラフィック量)を、フロー毎(フロー識別子441毎)に統計テーブル336に記録する。収集された統計情報452はフロー識別子441に対応付けられているため、統計テーブル336とアプリ/フロー対応テーブル335とをリンクさせることで、アプリケーション毎の統計情報を集計することができる。又、図5に示すように、統計情報452は、当該統計情報452を通知したOFS4iを特定する情報(スイッチ情報453)に対応付けられても良い。これにより、スイッチ毎の統計情報を把握することが可能となる。スイッチ情報453には、OFS4iから通知されるスイッチの受信ポートを含んでも良い。これによりOFS4iの受信ポート毎の統計情報を監視することが可能となる。
OFC3は、システム全体、あるいはアプリケーション毎の統計情報を視認可能に表示する出力装置(モニタ)を備えることが好ましい。又、このような統計情報をアプリケーション毎に集計する機能や出力装置は、OFC3とは別の監視装置(図示なし)に搭載されても良い。
フロー生成部333は、トポロジ情報を用いて通信経路を算出し、算出結果を通信経路情報として記憶装置に記録する。ここでは、通信経路の端点となるノードと、通信経路上のスイッチ及びノードが設定される。又、フロー生成部333は、通信経路情報に基づいて通信経路上のスイッチやノードに設定するフロー(ルール444+アクション情報445)を設定する。
トポロジ情報は、OFS4iやノード(例えば、サーバ1、クライアント端末2、サーバ上1で動作する仮想サーバ等)、外部ネットワーク(例えばインターネット)等の接続状況に関する情報を含む。具体的には、トポロジ情報として、スイッチやノード(装置)を特定する装置識別子に、当該装置のポート数やポート接続先情報が対応付けられて記憶装置に記録される。ポート接続先情報は、接続相手を特定する接続種別(スイッチ/ノード/外部ネットワーク)や接続先を特定する情報(スイッチの場合はスイッチID、ノードの場合はMACアドレス、外部ネットワークの場合は外部ネットワークID)が含まれる。
通信経路情報は、通信経路を特定するための情報である。詳細には、通信経路情報として、ノード(例えば、サーバ1、クライアント端末2等)群、あるいは、外部ネットワークインタフェースを端点として指定する端点情報と、通過するOFS4iとポートの対群を指定する通過スイッチ情報とが対応付けられて記憶装置に記録される。例えば、通信経路がサーバ1とクライアント端末2とを接続する経路である場合、サーバ1とクライアント端末2のそれぞれのMACアドレスが端点情報として記録される。通過スイッチ情報は、端点情報で示される端点間の通信経路上に設けられるOFS4iの識別子を含む。又、通過スイッチ情報は、OFS4iに設定されるフロー(ルール444+アクション情報445)と当該OFS4iとを対応づけるための情報を含んでも良い。
図6は、本発明に係るオープンフロースイッチ4i(OFS4i)の構成を示す図である。OFS4iは、OFC3によって設定されたフローテーブル343に従って受信パケットの処理方法(アクション)を決定する。OFS4iは、転送処理部341とフロー管理部342を備える。転送処理部341とフロー管理部342は、ハードウェアで構成されても、CPUによって実行されるソフトウェアで実現してもどちらでも良い。
OFS4iの記憶装置には、図7に示すようなフローテーブル343が設定される。フロー管理部342は、OFC3から取得したフロー(ルール444+アクション情報445)をフローテーブル343に設定する。又、転送処理部341によって受信された受信パケットのヘッダ情報が、フローテーブル343に記録されたルール444に適合(一致)する場合、フロー管理部342は、当該ルール444に対応するアクション情報445を転送処理部341に通知する。一方、転送処理部341によって受信された受信パケットのヘッダ情報が、フローテーブル343に記録されたルール444に適合(一致)しない場合、フロー管理部342は、受信パケットをファーストパケットと認識し、当該ファーストパケットを受信したことをOFC3に通知するとともに、当該ヘッダ情報をOFC3に送信する。
転送処理部341は、受信パケットのヘッダ情報に応じた転送処理を行う。詳細には、転送処理部341は、受信したパケットデータからヘッダ情報を抽出し、フロー管理部342に通知する。フロー管理部342からアクション情報445を受け取ると、アクション情報445に従った処理を行う。例えば、アクション情報445に示された転送先のノードに受信パケットデータを転送する。又、フローテーブル343に規定されたルール444にないパケットデータが受信した場合、当該パケットデータを所定の期間保持し、OFC3からフローが設定される(フローテーブル343が更新される)まで待機する。
具体例として、ルール444:MAC送信元アドレス(L2)が“A1〜A3”、IP宛先アドレス(L3)が“B1〜B3”、プロトコルが“TCP”、宛先ポート番号(L4)が“C1〜C3”と、アクション情報445:“サーバ1のアプリケーション101に中継”とが対応付けられているフローが設定されたOFS4iの動作を説明する。MAC送信元アドレス(L2)が“A1”、IP宛先アドレス(L3)が“B2”、プロトコルが“TCP”、宛先ポート番号(L4)が“C3”であるパケットデータを受信した場合、OFS4iは、ヘッダ情報が当該ルール444に一致していると判断し、受信したパケットデータをアプリケーション101に転送する。一方、MAC送信元アドレス(L2)が“A5”、IP宛先アドレス(L3)が“B2”、プロトコルが“TCP”、宛先ポート番号(L4)が“C4”であるパケットデータを受信した場合、OFS4iは、ヘッダ情報が当該ルール444に一致しないと判断し、ファーストパケット受信の旨をOFC3に通知するとともに当該ヘッダ情報をOFC3に送信する。OFC3は、フローテーブル334から受信したヘッダ情報に対応するフロー(ルール444+アクション情報445)を抽出し、OFS4iに送信する。尚、フローテーブル334に適切なフローがない場合は、新たにフローを作成してもよい。OFSi4iは送信されたフローを自身のフローテーブル343に設定し、これに従った、受信パケットの中継処理を実行する。
通常、OFS4iに設定されるフローは所定の時間が経過するとフローテーブル343から削除される(削除されるまでの時間は、OFC3によってフローとともにOFS4iに設定される)。
OFS4iは、トラフィック監視機能を有していても良い。詳細には、図8を参照して、OFS4iは、所定の期間中にフローテーブル343に従ったパケット処理量(処理回数、例示:転送回数)やデータ長等の情報を、フロー毎に統計情報452(例えばトラフィック量)として統計テーブル344に記録する。そして、所定の周期毎又は、OFC3からの指示に応じて記録したフロー毎の統計情報452をOFC3に送信する。この際、統計情報452は、これに対応するフロー識別子441とともにOFC3に送信される。例えば、OFC3の指示に応じて統計情報を送信する場合、OFC3から送信対象となるフロー識別子が示され、これに応じたフローに対応する統計情報452をOFC3に送信する。OFS4iにおける記憶容量を考慮して、送信された統計情報は統計テーブル344から削除されることが好ましい。
例えば、sFlowでは、所定のサンプリング周期で取得されたパケットを解析することで、フロー毎の統計情報を求めている。この場合、データ転送のタイミングによっては、実際のトラフィック状況と異なる結果となる場合がある。一方、本発明によるOFS4iは、フローに応じた処理毎に、パケットに関するデータを取得し、これを用いて統計情報を求めているため、監視対象のフローに対する実際のトラフィック状況に応じた統計情報を得ることができる。又、OFS4iは、フローテーブル343に適合するフローのみを統計情報の収集対象とするため、sFlowのようにサンプリング処理を行うことなく処理負荷が低減される。
以下、上記コンピュータシステムにおけるアプリケーション単位の監視処理の動作の詳細を説明する。
(監視準備及びフロー設定処理)
図10は、本発明によるシステム監視のための準備処理の動作を示すシーケンス図である。本発明によるコンピュータシステムでは、ネットワークを監視する前に、アプリケーション間通信を行うアプリケーションと、フローとの対応付けが行われる。図10を参照して、アプリケーションとフローとを対応付ける動作の詳細を説明する。
ここでは、予めサーバ1(アプリケーション101)とクライアント端末2(アプリケーション201)との間でセッションが確立され、それぞれのアプリケーションにTCP/IPポート番号が割り当てられているものとして説明する。先ず、クライアント側から、サーバ1のアプリケーション101を利用するためのアクセスが発生する。この際、クライアント端末2のアプリケーション201からサーバ宛のパケットが転送される(ステップS101)。サーバ宛のパケットを受信したOFS4iは、当該パケットのヘッダ情報を読み出し、フローテーブル343に設定されたフローのルール444に適合しているかを確認する。ここで、受信パケットのヘッダ情報がフローテーブル343に設定された全てのルール444に適合しない場合、OFS4iは、受信パケットをファーストパケットとして認識し、記憶装置に記録する(ステップS102)。
OFS4iは、ファーストパケットを受信したことをOFC3に通知する(ステップS103)。この際、受信パケットのヘッダ情報や、OFS4iを識別するスイッチ情報453がOFC3に通知される。OFC3は、ファーストパケット受信通知に応じて、サーバ1のアプリ特定エージェント10に対しアプリケーション名の問い合わせを行う(ステップS104)。詳細には、OFS4iから通知されたヘッダ情報からアプリエーション間通信を行う端点となるサーバ1、クライアント端末2が特定される。OFC3は、パケットの送信先として特定したサーバ1のアプリ特定エージェント10に対して、アプリ名の問い合わせとともに、ヘッダ情報から抽出した宛先TCP/IPポート番号と送信元TCP/IPポート番号を通知する。
サーバ1のアプリ特定エージェント10は、OFC3から通知された宛先TCP/IPポート番号をキーとして、当該ポート番号が割り当てられているアプリケーション名を特定する(ステップS105)。特定されたアプリ名はOFC3に通知される(ステップS106)。
一方、OFC3は、ステップS103におけるファーストパケット受信通知に応じて、フローテーブル334から、OFS4iに設定するフロー(ルール444+アクション情報445)を抽出する(ステップS107)。詳細には、OFC3は、通知されたヘッダ情報及び、これに基づいて特定したアプリケーション間通信の端点に対応するフローをフローテーブルから抽出する。この際、対応するフローが存在しない場合は、ヘッダ情報及び特定した端点に基づき、トポロジ情報から通信経路を算出し、これを用いてOFS4iに設定するフローを生成する。OFC3は、フローテーブル334から抽出したフローの設定をOFS4iに指示する(ステップS108)。
フローの抽出又は生成の際、OFS4iの出力先の回線が混んでおり通信品質を確保できない場合、パケットのポート番号を参照して、より負荷の少ない回線に迂回させるフローを抽出又は生成してもよい。例えば、OFC3は、事前に設定された優先アプリケーションに関するポート番号とパケットのポート番号とを比較し、両者が一致した場合、より負荷に少ない回線に迂回させるフローを抽出又は生成する。
OFS4iは、OFC3から送信されたフローをフローテーブル(ルール444+アクション情報445)を自身のフローテーブル343に設定する(ステップS109)。フローの設定が完了したOFS4iは、ステップS102において記録したファーストパケット(サーバ宛パケット)を、ステップS109に設定されたフローに従った宛先に転送する(ステップS110)。ここでは、パケットはサーバ1宛となるポートに転送される。
OFC3は、ステップS107においてOFS4iに設定するフローを決定すると、当該フローと、ステップS106において通知されたアプリ名とを対応付けて、アプリ/フロー対応テーブル335に記録する(ステップS111)。これにより、OFS4iに設定され、アプリケーション101とアプリケーション201との間のデータ転送を制御するフローやその通信経路と、サーバ1のアプリケーション101とが対応付けられる。この情報(アプリ/フロー対応テーブル335)は、図示しない出力装置によって視認可能に表示されることが好ましい。
ステップS104におけるアプリ名の問い合わせと、ステップS107、S108におけるフロー選択(生成)及び設定指示の順はこれに限らず、逆順でも同時的に行われても良い。ただし、フローの設定前に、ポート番号に対応するアプリケーションを特定した場合、特定されたアプリケーションを考慮してOFS4iの出力先回線を決定し、それに応じたフローの選択又は生成が可能となる。この場合、アプリケーションと、OFS4iにおける出力先回線との対応表をOFC3の記憶装置に予め用意し、これを用いて、ステップS106によって特定されたアプリケーションに対応する出力先回線が判断されることが好ましい。これにより、従来、任意のポート番号を使うフローでは出力先回線を判断できなかった出力先回線を判断できるようになる。このような方法を利用する場合、ポート番号に対応するアプリケーションを特定する処理を、フローの設定より先行して行うことが好適となる。
以上の監視準備処理により、OFC3は、アプリケーション間通信のためにOFS4iに設定されるフローや、その通信経路と、通信を行うアプリケーションとを対応付けることができる。OFC3は、OFSiから当該フローに係る統計情報を取得することで、アプリケーション単位のトラフィック状況を監視することが可能となる。
本発明では、オープンフロー技術におけるファーストパケット通知によって取得されたポート番号をキーとして、当該ポート番号を利用するアプリケーション名を特定している。これにより、OFC3は、アプリケーション通信を制御するフロー(ルール444+アクション情報445)やその通信経路と、アプリケーションとを対応付けることができる。この結果、アプリケーションに対して動的にポート番号が割り当てられた場合(ポート番号がANYの場合)でも、OFC3は、OFS4iに設定したフローや、通信に利用する通信経路に対応するアプリケーションを特定することができる。
(監視処理)
図11は、本発明によるシステム監視のための統計情報取得処理の動作を示すシーケンス図である。図11を参照して、本発明によるシステム監視処理の詳細を説明する。
上述の監視準備処理によって、通信を行っているアプリケーションとOFS4iに設定されたフローとの対応付けを行ったOFC3は、OFS4iに対して当該フローに係るトラフィック監視を指示する(ステップS120)。監視指示には、監視対象のフローを指定するフロー識別子441が含まれる。この際、上述のように、特定されたアプリケーションに応じて、トラフィック監視を中止させる指示を発行してもよい。
OFS4iは、監視指示に応じてアプリケーション101とアプリケーション201に対するトラフィックの監視を開始する。OFS4iは、監視指示に含まれるフロー識別子441に基づいて監視対象となるフローを特定し、当該フローを利用して処理を行うパケットのトラフィック量やデータ長を取得し、統計テーブルに記録する。例えば、クライアント端末2のアプリケーション201から転送されたサーバ宛パケットを、監視対象フローに応じてサーバ1のアプリケーション101に転送する際、当該パケットに関する統計情報452をフロー識別子441に対応付けて統計テーブル344に記録する(ステップS121〜S123)。同様に、サーバ1のアプリケーション101から転送されたクライアント端末宛パケットを、監視対象フローに応じてクライアント端末2のアプリケーション201に転送する際、当該パケットに関する統計情報452をフロー識別子441に対応付けて統計テーブル344に記録する(ステップS124〜S126)。
OFS4iは、所定の周期毎に記録した統計情報452を対応するフロー識別子441とともに、OFC3に送信する(ステップS127)。この際、OFS4iを特定するスイッチ情報453も通知される。統計情報の送信は、OFC3からの指示に応じて行われてもよい。
OFC3は、OFS4iから取得した統計情報452を統計テーブル336に記録する(ステップS128)。統計テーブル336と、アプリ/フロー対応テーブル335は、フロー識別子441を介してリンクしているため、OFC3は、アプリケーション毎の統計情報を記録及び視認可能に表示することができる。
又、アプリケーションによっては、統計情報や通信経路等の可視化情報を収集する必要のない場合がある。このため、アプリケーションを特定した後、統計情報を収集するか否かの判定が行われてもよい。例えば、ステップS106において特定されたアプリ名を視認可能表示して、ユーザが統計情報の取得判定を行ってもよいし、予め統計情報を収集するアプリケーションを示した情報をOFC3に設定しておき、この情報を利用して統計情報の取得判定を行ってもよい。これにより、不要な統計情報の収集を省略することができる。尚、統計情報や通信経路を収集するか否かの判定は、OFS4iに設定するフローを用いて行ってもよい。
以上のように、本発明では、アプリケーションへのポート番号の割り当て方法が、固定的又は動的のいずれかに関わらず、アプリケーション単位のトラフィック監視や、フロー(ルール444+アクション情報445)の設定が可能となる。
次に、本発明によるコンピュータシステムの適用例を説明する。以下では、(1)サーバ側のアプリケーションにウェルノウンポート番号が割り当てられるアプリケーション間通信の監視、(2)両端点のアプリケーションに動的にポート番号が割り当てられるアプリケーション間通信の監視、(3)ロードバランサを介して行われるアプリケーション間通信の監視の、それぞれの監視準備処理について説明する。
(1)第1の実施例:サーバ側のアプリケーションにウェルノウンポート番号が割り当てられるアプリケーション間通信の監視
図12は、第1の実施例におけるアプリケーション間通信の監視方法を説明する図である。ここでは、Webサーバとして機能するサーバ1に複数のクライアント端末2−1、2−2が通信する形態を一例として説明する。サーバ1のアプリケーション101にはウェルノウンポート番号として80番が固定的に割り当てられている。
クライアント端末2−1のアプリケーションのポート番号として例えば30000番が固定的に割り当てられている場合、クライアント端末2−1からアプリケーション101へのアクセスに応じて、OFS4iは、OFC3に対し、ファーストパケットの受信通知とともに、受信パケットのヘッダ情報から抽出した送信先ポート番号“80番”と送信元ポート番号“30000番”を通知する。OFC3は、アプリ特定エージェント10に送信先ポート番号“80番”と送信元ポート番号“30000番”に対応するアプリケーション名を要求する。又、OFC3は、ファーストパケット受信通知に基づきサーバ1とクライアント端末2−1との通信を制御するためのフローをOFS4iに設定する。
アプリ特定エージェント10は、送信先ポート番号“80番”に対応するアプリケーション名(アプリケーション101)と、送信元ポート番号“30000番”に対応するアプリケーション名(クライアント端末2−1のアプリケーション)を特定し、OFC3に通知する。OFC3は、通知されたアプリケーション名と、OFS4iに設定したフローとを対応付けアプリ/フロー対応テーブル335に記録する。
尚、OFC3に、固定的に割り当てられたポート番号とアプリケーションの対応表を用意し、これを参照することで、上述のアプリ特定エージェント10にアプリ名を問い合わせることなく、アプリケーションとフローの対応付けが可能となる。
一方、クライアント端末2−2におけるアプリケーションの送信元ポート番号が“ANY”である場合、サーバ1のアプリケーション101との間でセッションが確立される際、アクセス先のサーバ1によって当該アプリケーションに対してポート番号が動的に割り当てられる。ここでは、“40000番”が割り当てられるものとする。
クライアント端末2−2からアプリケーション101へのアクセスに応じて、OFS4iは、OFC3に対し、ファーストパケットの受信通知とともに、受信パケットのヘッダ情報から抽出した送信先ポート番号“80番”と送信元ポート番号“40000番”を通知する。OFC3は、アプリ特定エージェント10に送信先ポート番号“80番”と送信元ポート番号“40000番”に対応するアプリケーション名を要求する。又、OFC3は、ファーストパケット受信通知に基づきサーバ1とクライアント端末2−1との通信を制御するためのフローをOFS4iに設定する。
アプリ特定エージェント10は、送信先ポート番号“80番”に対応するアプリケーション名(アプリケーション101)と、送信元ポート番号“40000番”に対応するアプリケーション名(クライアント端末2−2のアプリケーション)を特定し、OFC3に通知する。OFC3は、通知されたアプリケーション名と、OFS4iに設定したフローとを対応付けアプリ/フロー対応テーブル335に記録する。
以上のように、本発明によれば、アクセス元のクライアント端末2におけるアプリケーションに対してポート番号が固定的、又は動的に割り当てられる場合でも、通信を行うアプリケーションとフローとが対応付けられ、アプリケーション毎の統計情報の監視が可能となる。
(2)第2の実施例:両端点のアプリケーションに動的にポート番号が割り当てられるアプリケーション間通信の監視
図13は、第2の実施例におけるアプリケーション間通信の監視方法を説明する図である。ここでは、一例として1つのクライアントアプリケーションと複数のサーバアプリケーションとの間で通信が行われる形態について説明する。この場合、サーバ1のアプリケーション101、102のポート番号は“ANY”となり、クライアント端末2のアプリケーション201のポート番号も“ANY”となる。
アプリケーション202と、複数のアプリケーション101、102との間においてセッションが確立され際、アクセス先のサーバ1によって当該アプリケーション101、102、202に対してポート番号が動的に割り当てられる。ここでは、アプリケーション101とアプリケーション201との間の通信に関するポート番号として、アプリケーション101に“2000番”、アプリケーション201に“30000番”が割り当てられ、アプリケーション102とアプリケーション201との間の通信に関するポート番号として、アプリケーション102に“2004番”、アプリケーション201に“40000番”が割り当てられるものとする。
アプリケーション201からアプリケーション101へのアクセスに応じて、OFS4iは、OFC3に対し、ファーストパケットの受信通知とともに、受信パケットのヘッダ情報から抽出した送信先ポート番号“2000番”と送信元ポート番号“30000番”を通知する。OFC3は、アプリ特定エージェント10に送信先ポート番号“2000番”と送信元ポート番号“30000番”に対応するアプリケーション名を要求する。又、OFC3は、ファーストパケット受信通知に基づきアプリケーション101とアプリケーション201との通信を制御するためのフローをOFS4iに設定する。
アプリ特定エージェント10は、送信先ポート番号“2000番”に対応するアプリケーション名(アプリケーション101)と、送信元ポート番号“30000番”に対応するアプリケーション名(クライアント端末2のアプリケーション201)を特定し、OFC3に通知する。OFC3は、通知されたアプリケーション名と、OFS4iに設定したフローとを対応付けアプリ/フロー対応テーブル335に記録する。
同様に、アプリケーション201からアプリケーション102へのアクセスに応じて、OFS4iは、OFC3に対し、ファーストパケットの受信通知とともに、受信パケットのヘッダ情報から抽出した送信先ポート番号“2004番”と送信元ポート番号“40000番”を通知する。OFC3は、送信先ポート番号“2004番”と送信元ポート番号“40000番”に対応するアプリケーション名(アプリケーション102、201)をアプリ特定エージェント10から取得する。又、OFC3は、ファーストパケット受信通知に基づきアプリケーション102とアプリケーション201との通信を制御するためのフローをOFS4iに設定する。そして、OFC3は、通知されたアプリケーション名と、OFS4iに設定したフローとを対応付けアプリ/フロー対応テーブル335に記録する。
以上のように、本発明によれば、クライアント端末2が複数のサーバアプリケーションを同時に使用する場合のように、任意のTCP/IPポート番号を使用してパケットの送受信を行う場合でも、OFS4iに設定したフローに対応するアプリケーションを特定することができる。
(3)第3の実施例:ロードバランサを介して行われるアプリケーション間通信の監視
図14は、第3の実施例におけるアプリケーション間通信の監視方法を説明する図である。ここでは、クライアント端末2とOFS群4との間にロードバランサ5が設けられたシステムにおいて、アプリケーション間通信が行われる形態について説明する。図14を参照して、ロードバランサ5は、複数のクラインと端末2−1〜2−3と、OFS群4との間に設けられ、複数のサーバ1−1、1−2のそれぞれのアプリケーション101−1、102−2に対する負荷分散を行う。ここでは、サーバ1−1のアプリケーション101−1、とサーバ1−2のアプリケーション101−2には、それぞれ同じポート番号“2000番”が固定的に割り当てられるものとする。又、クライアント端末2−1〜2−3のそれぞれのアプリケーションのポート番号は“ANY”であるものとする。
サーバ1−1のアプリケーション101−1、101−2との間でセッションが確立される際、アクセス先のサーバによってクライアント端末2−1〜2−3のそれぞれのアプリケーションに対してポート番号が動的に割り当てられる。ここでは、クライアント端末2−1に“30000番”、クライアント端末2−2に“40000番”、クライアント端末2−3に“50000番”が割り当てられるものとする。
クライアント端末2−1からアプリケーション101へのアクセスに応じて、OFS4iは、OFC3に対し、ファーストパケットの受信通知とともに、受信パケットのヘッダ情報から抽出した送信先ポート番号“2000番”と送信元ポート番号“30000番”を通知する。OFC3は、ファーストパケットの受信通知に含まれる宛先IPアドレスや宛先MACアドレス等に基づき、送信先のサーバを特定する。ここでは、サーバ1−1が送信先として特定される。OFC3は、サーバ1−1のアプリ特定エージェント10−1に送信先ポート番号“2000番”と送信元ポート番号“30000番”に対応するアプリケーション名を要求する。又、OFC3は、ファーストパケット受信通知に基づきサーバ1−1とクライアント端末2−1(ロードバランサ5)との通信を制御するためのフローをOFS4iに設定する。
アプリ特定エージェント10−1は、送信先ポート番号“2000番”に対応するアプリケーション名(サーバ1−1のアプリケーション101)と、送信元ポート番号“30000番”に対応するアプリケーション名(クライアント端末2−1のアプリケーション)を特定し、OFC3に通知する。OFC3は、通知されたアプリケーション名と、OFS4iに設定したフローとを対応付けアプリ/フロー対応テーブル335に記録する。
同様にしてOFC3は、他のクライアント端末2−2、2−3と、サーバ1−1、1−2との間のアプリケーション間通信に係るアプリケーションとフローとを対応付け、アプリ/フロー対応テーブル335に記録する。
以上のように、本発明によるコンピュータシステムによれば、アプリケーションにポート番号が動的に割り当てられるようなアプリケーション間通信を監視することができる。これにより、アプリケーション単位のトラフィック量を可視化でき、例えば、トラフィックが混雑している原因が、サーバのCPUにおける負荷の増大にあるのか、アプリケーション通信のトラフィック量の増大にあるのかを明らかにすることができる。又、可視化されたアプリケーション毎の統計情報に応じて、フロー制御を行うことで、アプリケーション単位の障害復旧や輻輳回避を行うことができる。又、可視化及び障害復旧等の処理はOFC3において一元的に制御できる。従来は、サーバ側(IT側)のアプリケーション管理と、ネットワーク側の管理は別々に行われてきたが、本発明により、これらの管理を一元的に行うことが可能となった。すなわち、本発明によれば、通信フローを使用しているアプリケーションと通信フローを関連付け、IT系とネットワーク系を融合した可視化が可能となる。
又、OFS4iは、フローテーブル343に適合するフローのみを統計情報の収集対象とする。例えば、sFlowのように所定のサンプリングタイミングで統計情報を収集する場合、サンプリングタイミングからはずれたパケットはサンプリングの対象から外れてしまい、統計情報の精度が低下してしまう。本発明では、フローに応じた処理をする都度(すなわち、監視対象パケットの受信の都度)、パケットをサンプリングして統計情報を生成しているため、サンプリングの処理負荷を軽減しつつ統計情報の精度が向上される。
以上、本発明の実施の形態を詳述してきたが、具体的な構成は上記実施の形態に限られるものではなく、本発明の要旨を逸脱しない範囲の変更があっても本発明に含まれる。上述の第1〜第3の実施例における監視方法は、技術的に矛盾のない範囲内で組み合わせて適用され得る。又、アプリ特定エージェント10は、クライアント端末2に搭載されてもよい。この場合も、クライアント端末2は、上述と同様に、問い合わせのあったポート番号を利用するアプリ名をOFC3に通知する。上述の実施の形態では、サーバ1とクライアント端末2間の通信について説明したが、複数のサーバ1−1、1−2間の通信監視にも適用できる。
1、1−1、1−2:サーバ
2、2−1〜2−3:クライアント端末
3:オープンフローコントローラ(OFC)
4:スイッチ群
4i:オープンフロースイッチ(OFS)
5:ロードバランサ
10:アプリ特定エージェント
101、102、201、101−1、101−2:アプリケーション

Claims (13)

  1. 受信したパケットデータを、自身に設定されたフローに従った宛先に転送するスイッチと、
    前記スイッチからのファーストパケットの受信通知に応じて、前記スイッチに対するフローの設定を行うコントローラと、
    アプリケーションを有するサーバと、
    を具備し、
    前記スイッチは、受信したパケットデータが、自身に設定されたフローに示されたルールに適合しない場合、前記コントローラに対して、ファーストパケットの受信通知を行うとともに前記パケットデータに含まれるポート番号を通知し、
    前記コントローラは、前記ポート番号を利用するアプリケーションのアプリケーション名を前記サーバから取得し、前記アプリケーション名と前記スイッチに設定したフローとを対応付けて記憶装置に記録する
    コンピュータシステム。
  2. 請求項1に記載のコンピュータシステムにおいて、
    前記サーバは、前記コントローラから通知されたポート番号をキーとして前記通知されたポート番号が割り当てられたアプリケーションを特定し、特定したアプリケーションのアプリケーション名を前記コントローラに通知するアプリ特定エージェントを備える
    コンピュータシステム。
  3. 請求項1又は2に記載のコンピュータシステムにおいて、
    前記スイッチは、前記ファーストパケットの受信通知の際、受信パケットに含まれるポート番号とIPアドレスを前記コントローラに通知し、
    前記コントローラは、前記IPアドレスに基づいて決定したサーバから前記ポート番号に対応するアプリケーション名を取得する
    コンピュータシステム。
  4. 請求項1から3のいずれか1項に記載のコンピュータシステムにおいて、
    前記スイッチは、自身に設定されたフローに対応するパケットデータに関する統計情報を前記コントローラに通知し、
    前記コントローラは、前記統計情報を、前記スイッチに設定したフローに対応するアプリケーションに対応付けて前記記憶装置に記録する
    コンピュータシステム。
  5. 請求項1から4のいずれか1項に記載のコンピュータシステムにおいて、
    前記コントローラは、前記サーバから取得したアプリケーション名に基づいて、前記スイッチにおける前記受信パケットの送信先回線を決定し、前記送信先回線に応じたフローを前記スイッチに設定する
    コンピュータシステム。
  6. 請求項1から5のいずれか1項に記載のコンピュータシステムにおいて、
    前記サーバ宛に、前記スイッチを介してパケットデータを送信するクライアント端末を更に具備し、
    前記サーバは、前記クライアント端末との間におけるセッションの確立時毎に、前記アプリケーションに対してポート番号を動的に割り当てる
    コンピュータシステム。
  7. 請求項1から6のいずれか1項に記載のコンピュータシステムで利用されるコントローラ。
  8. 受信したパケットデータを、自身に設定されたフローに従った宛先に転送するスイッチと、
    前記スイッチからのファーストパケットの受信通知に応じて、前記スイッチに対するフローの設定を行うコントローラと
    を具備するコンピュータシステムにて実行されるコンピュータシステムの監視方法において、
    前記スイッチが、受信したパケットデータが、自身に設定されたフローに示されたルールに適合しない場合、前記コントローラに対して、ファーストパケットの受信通知を行うとともに前記パケットデータに含まれるポート番号を通知するステップと、
    前記コントローラが、前記ポート番号を利用するアプリケーションのアプリケーション名をサーバから取得するステップと、
    前記コントローラが、前記アプリケーション名と前記スイッチに設定したフローとを対応付けて記憶装置に記録するステップと
    を具備する
    コンピュータシステムの監視方法。
  9. 請求項8に記載のコンピュータシステムの監視方法において、
    前記アプリケーション名を取得するステップは、
    前記サーバが、前記コントローラから通知されたポート番号をキーとして前記通知されたポート番号が割り当てられたアプリケーションを特定するステップと、
    前記サーバが、特定したアプリケーションのアプリケーション名を前記コントローラに通知するステップと
    を備える
    コンピュータシステムの監視方法。
  10. 請求項8又は9に記載のコンピュータシステムの監視方法において、
    前記スイッチが、前記ファーストパケットの受信通知の際、受信パケットに含まれるポート番号とIPアドレスを前記コントローラに通知するステップを更に具備し、
    前記アプリケーション名を取得するステップは、
    前記コントローラが、前記IPアドレスに基づいて、アプリケーション名を要求する対象のサーバを決定するステップと
    を備える
    コンピュータシステムの監視方法。
  11. 請求項8から10のいずれか1項に記載のコンピュータシステムの監視方法において、
    前記スイッチが、自身に設定されたフローに対応するパケットデータに関する統計情報を前記コントローラに通知するステップと、
    前記コントローラが、前記統計情報を、前記スイッチに設定したフローに対応するアプリケーションに対応付けて前記記憶装置に記録するステップと
    を更に具備する
    コンピュータシステムの監視方法。
  12. 請求項8から11のいずれか1項に記載のコンピュータシステムの監視方法において、
    前記コントローラが、前記サーバから取得したアプリケーション名に基づいて、前記スイッチにおける前記受信パケットの送信先回線を決定するステップと、
    前記コントローラが、前記送信先回線に応じたフローを前記スイッチに設定するステップと
    を更に具備する
    コンピュータシステムの監視方法。
  13. 請求項8から12のいずれか1項に記載のコンピュータシステムの監視方法において、
    クライアント端末が、前記サーバ宛に、前記スイッチを介してパケットデータを送信するステップと、
    前記サーバが、前記クライアント端末との間におけるセッションの確立時毎に、前記アプリケーションに対してポート番号を動的に割り当てるステップと
    を更に具備する
    コンピュータシステムの監視方法。
JP2009233888A 2009-10-07 2009-10-07 コンピュータシステム、及びコンピュータシステムの監視方法 Expired - Fee Related JP5300076B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2009233888A JP5300076B2 (ja) 2009-10-07 2009-10-07 コンピュータシステム、及びコンピュータシステムの監視方法
CN201080045676.2A CN102668467B (zh) 2009-10-07 2010-10-06 计算机系统和监视计算机系统的方法
US13/500,571 US20120257529A1 (en) 2009-10-07 2010-10-06 Computer system and method of monitoring computer system
PCT/JP2010/067523 WO2011043366A1 (ja) 2009-10-07 2010-10-06 コンピュータシステム、及びコンピュータシステムの監視方法
EP20100822036 EP2487842A1 (en) 2009-10-07 2010-10-06 Computer system and monitoring method for computer system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009233888A JP5300076B2 (ja) 2009-10-07 2009-10-07 コンピュータシステム、及びコンピュータシステムの監視方法

Publications (2)

Publication Number Publication Date
JP2011082834A true JP2011082834A (ja) 2011-04-21
JP5300076B2 JP5300076B2 (ja) 2013-09-25

Family

ID=43856819

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009233888A Expired - Fee Related JP5300076B2 (ja) 2009-10-07 2009-10-07 コンピュータシステム、及びコンピュータシステムの監視方法

Country Status (5)

Country Link
US (1) US20120257529A1 (ja)
EP (1) EP2487842A1 (ja)
JP (1) JP5300076B2 (ja)
CN (1) CN102668467B (ja)
WO (1) WO2011043366A1 (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012173172A1 (ja) * 2011-06-16 2012-12-20 日本電気株式会社 通信システム、コントローラ、スイッチ、ストレージ管理装置、及び通信方法
WO2014038143A1 (en) * 2012-09-06 2014-03-13 Nec Corporation Flow information collecting system, method and program
JP2015518695A (ja) * 2012-06-25 2015-07-02 ヒューレット−パッカード デベロップメント カンパニー エル.ピー.Hewlett‐Packard Development Company, L.P. ネットワークパス提供のための変換済みセッション情報
JP2016515367A (ja) * 2013-03-13 2016-05-26 クゥアルコム・インコーポレイテッドQualcomm Incorporated 分配型フローテーブルを有するネットワーク要素
US9866500B2 (en) 2012-02-29 2018-01-09 Nec Corporation Communication apparatus, communication method, communication system and program
JP2018049640A (ja) * 2017-10-25 2018-03-29 富士通株式会社 監視支援装置、監視支援方法および監視支援プログラム
JP2019004357A (ja) * 2017-06-16 2019-01-10 富士通株式会社 通信制御装置、通信制御方法、及び、通信制御プログラム
US10237170B2 (en) 2015-08-25 2019-03-19 Fujitsu Limited Flow switch, controller and relay apparatus
US10412001B2 (en) 2011-09-22 2019-09-10 Nec Corporation Communication terminal, communication method, and program

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103477611B (zh) * 2011-02-09 2016-09-28 思杰系统有限公司 用于n层高速缓存重定向的系统和方法
US9853901B2 (en) * 2011-08-18 2017-12-26 Telefonaktiebolaget Lm Ericsson (Publ) Centralized control of data plane applications
JP6044637B2 (ja) * 2011-09-21 2016-12-14 日本電気株式会社 通信装置、通信システム、通信制御方法及びプログラム
WO2013044956A1 (en) * 2011-09-28 2013-04-04 Telefonaktiebolaget L M Ericsson (Publ) Centralized data plane flow control
JPWO2013146808A1 (ja) * 2012-03-28 2015-12-14 日本電気株式会社 コンピュータシステム、及び通信経路変更方法
CN102946325B (zh) * 2012-11-14 2015-06-03 中兴通讯股份有限公司 一种基于软件定义网络的网络诊断方法、系统及设备
US20140149572A1 (en) * 2012-11-28 2014-05-29 Microsoft Corporation Monitoring and diagnostics in computer networks
CN103905317B (zh) * 2012-12-28 2017-05-03 中兴通讯股份有限公司 一种软件定义网络的报文处理方法和系统
US20140301226A1 (en) * 2013-04-09 2014-10-09 Electronics And Telecommunications Research Institute Apparatus and method for network monitoring and packet inspection
US9882733B2 (en) 2013-06-14 2018-01-30 Telefonaktiebolaget Lm Ericsson (Publ) Migrating eMBMS into a cloud computing system
CN104468938A (zh) * 2013-09-12 2015-03-25 中国移动通信集团浙江有限公司 一种信息采集处理方法以及相关装置、移动终端和服务器
JP6111974B2 (ja) * 2013-10-22 2017-04-12 富士通株式会社 転送装置、制御装置、および、転送方法
US10212083B2 (en) * 2013-10-30 2019-02-19 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Openflow data channel and control channel separation
CN104734988B (zh) 2013-12-23 2018-10-30 杭州华为数字技术有限公司 软件定义网络中路由控制的方法和开放流控制器
CN104734877B (zh) * 2013-12-24 2018-12-14 杭州华为数字技术有限公司 一种获取配置服务器信息的方法、装置及系统
US9451095B2 (en) * 2014-06-17 2016-09-20 Alcatel Lucent Charging in a software defined network
CN104601432B (zh) * 2014-12-31 2018-03-13 新华三技术有限公司 一种报文传输方法和设备
CN104780088B (zh) * 2015-03-19 2018-07-31 新华三技术有限公司 一种业务报文的传输方法和设备
WO2016194123A1 (ja) * 2015-06-02 2016-12-08 三菱電機ビルテクノサービス株式会社 中継装置、ネットワーク監視システム及びプログラム
EP3281363A4 (en) * 2015-06-12 2018-02-21 Hewlett-Packard Enterprise Development LP Application identification cache
CN107454011B (zh) * 2016-05-31 2020-02-14 华为技术有限公司 一种报文转发方法、装置及系统
CN111386683A (zh) * 2017-11-27 2020-07-07 欧庞戈网络有限公司 基于实时传输网络拥塞状况来加速或减速数据传输网络协议的系统和方法
US10782981B2 (en) * 2018-01-26 2020-09-22 Avaya Inc. Systems and methods of dynamic port assignment
US20200112505A1 (en) * 2018-10-03 2020-04-09 Hewlett Packard Enterprise Development Lp Flow rules
CN109413675A (zh) * 2018-12-05 2019-03-01 斑马网络技术有限公司 车联网流量控制方法、装置及车载终端
CN113132308B (zh) * 2019-12-31 2022-05-17 华为技术有限公司 一种网络安全防护方法及防护设备
US11811638B2 (en) * 2021-07-15 2023-11-07 Juniper Networks, Inc. Adaptable software defined wide area network application-specific probing

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007096741A (ja) * 2005-09-29 2007-04-12 Nec Corp ポートホッピング検出システム、帯域制御システム、ポートホッピング検出方法、及びプログラム
JP2008219383A (ja) * 2007-03-02 2008-09-18 Oki Electric Ind Co Ltd ネットワーク監視システム、方法及びプログラム
JP2009163373A (ja) * 2007-12-28 2009-07-23 Canon It Solutions Inc クライアント端末装置、中継サーバ、情報処理システム、クライアント端末装置の制御方法、中継サーバの制御方法、及び、プログラム

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6141686A (en) * 1998-03-13 2000-10-31 Deterministic Networks, Inc. Client-side application-classifier gathering network-traffic statistics and application and user names using extensible-service provider plugin for policy-based network control
US6286052B1 (en) * 1998-12-04 2001-09-04 Cisco Technology, Inc. Method and apparatus for identifying network data traffic flows and for applying quality of service treatments to the flows
JP3230671B2 (ja) 1999-01-14 2001-11-19 日本電気株式会社 パケット課金装置
US7039715B2 (en) * 2002-05-21 2006-05-02 Microsoft Corporation Methods and systems for a receiver to allocate bandwidth among incoming communications flows
US7185345B2 (en) * 2002-06-20 2007-02-27 International Business Machines Corporation Data propagation in an activity service
EP1639763A1 (en) * 2003-04-21 2006-03-29 Siemens Aktiengesellschaft Network traffic control system
JP4341413B2 (ja) 2003-07-11 2009-10-07 株式会社日立製作所 統計収集装置を備えたパケット転送装置および統計収集方法
US7804787B2 (en) * 2005-07-08 2010-09-28 Fluke Corporation Methods and apparatus for analyzing and management of application traffic on networks
JP2007274467A (ja) * 2006-03-31 2007-10-18 Nec Corp ネットワーク中継装置、ネットワークシステム、データ中継方法及びデータ中継プログラム
JP4774357B2 (ja) * 2006-05-18 2011-09-14 アラクサラネットワークス株式会社 統計情報収集システム及び統計情報収集装置
JP2008072496A (ja) 2006-09-14 2008-03-27 Oki Electric Ind Co Ltd ネットワーク監視システム、通信品質測定システム及び通信品質測定方法
JP2009233888A (ja) 2008-03-26 2009-10-15 Noritsu Koki Co Ltd 画像形成装置
US20110228744A1 (en) * 2008-09-09 2011-09-22 Nokia Siemens Networks Oy Application Identification in Mobile Networks
US8572717B2 (en) * 2008-10-09 2013-10-29 Juniper Networks, Inc. Dynamic access control policy with port restrictions for a network security appliance

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007096741A (ja) * 2005-09-29 2007-04-12 Nec Corp ポートホッピング検出システム、帯域制御システム、ポートホッピング検出方法、及びプログラム
JP2008219383A (ja) * 2007-03-02 2008-09-18 Oki Electric Ind Co Ltd ネットワーク監視システム、方法及びプログラム
JP2009163373A (ja) * 2007-12-28 2009-07-23 Canon It Solutions Inc クライアント端末装置、中継サーバ、情報処理システム、クライアント端末装置の制御方法、中継サーバの制御方法、及び、プログラム

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9130886B2 (en) 2011-06-16 2015-09-08 Nec Corporation Communication system, controller, switch, storage managing apparatus and communication method
WO2012173172A1 (ja) * 2011-06-16 2012-12-20 日本電気株式会社 通信システム、コントローラ、スイッチ、ストレージ管理装置、及び通信方法
CN103608791A (zh) * 2011-06-16 2014-02-26 日本电气株式会社 通信系统、控制器、交换机、存储器管理设备和通信方法
JPWO2012173172A1 (ja) * 2011-06-16 2015-02-23 日本電気株式会社 通信システム、コントローラ、スイッチ、ストレージ管理装置、及び通信方法
EP2722766A4 (en) * 2011-06-16 2015-05-20 Nec Corp COMMUNICATION SYSTEM, CONTROL, SWITCH, MEMORY MANAGEMENT DEVICE AND COMMUNICATION METHOD
US10412001B2 (en) 2011-09-22 2019-09-10 Nec Corporation Communication terminal, communication method, and program
EP3614631A1 (en) 2011-09-22 2020-02-26 Nec Corporation Communication terminal, communication method, and program
US9866500B2 (en) 2012-02-29 2018-01-09 Nec Corporation Communication apparatus, communication method, communication system and program
JP2015518695A (ja) * 2012-06-25 2015-07-02 ヒューレット−パッカード デベロップメント カンパニー エル.ピー.Hewlett‐Packard Development Company, L.P. ネットワークパス提供のための変換済みセッション情報
WO2014038143A1 (en) * 2012-09-06 2014-03-13 Nec Corporation Flow information collecting system, method and program
JP2016515367A (ja) * 2013-03-13 2016-05-26 クゥアルコム・インコーポレイテッドQualcomm Incorporated 分配型フローテーブルを有するネットワーク要素
US10237170B2 (en) 2015-08-25 2019-03-19 Fujitsu Limited Flow switch, controller and relay apparatus
JP2019004357A (ja) * 2017-06-16 2019-01-10 富士通株式会社 通信制御装置、通信制御方法、及び、通信制御プログラム
JP2018049640A (ja) * 2017-10-25 2018-03-29 富士通株式会社 監視支援装置、監視支援方法および監視支援プログラム

Also Published As

Publication number Publication date
JP5300076B2 (ja) 2013-09-25
CN102668467A (zh) 2012-09-12
CN102668467B (zh) 2015-04-29
EP2487842A1 (en) 2012-08-15
US20120257529A1 (en) 2012-10-11
WO2011043366A1 (ja) 2011-04-14

Similar Documents

Publication Publication Date Title
JP5300076B2 (ja) コンピュータシステム、及びコンピュータシステムの監視方法
JP7375068B2 (ja) データパケット検出方法、デバイス、及びシステム
JP5958570B2 (ja) ネットワークシステム、コントローラ、スイッチ、及びトラフィック監視方法
JP5846221B2 (ja) ネットワークシステム、及びトポロジー管理方法
JP4774357B2 (ja) 統計情報収集システム及び統計情報収集装置
US7684382B2 (en) Provider network for providing L-2 VPN services and edge router
JP5811196B2 (ja) コンピュータシステム、及び仮想ネットワークの可視化方法
US8274898B2 (en) Communication route presumption technique
WO2021093465A1 (zh) 发送报文、接收报文以进行oam的方法、装置及系统
US10623278B2 (en) Reactive mechanism for in-situ operation, administration, and maintenance traffic
US9794170B2 (en) Communication method, communication system, information processing apparatus, communication terminal, and program
JP5870995B2 (ja) 通信システム、制御装置、計算機、ノードの制御方法およびプログラム
JP2014207594A (ja) 障害影響範囲を特定するためのプログラム及び情報処理装置
EP2940937A1 (en) Control apparatus, communication system, communication node control method and program
US9497296B2 (en) Communication method, information processing apparatus, communication system, program, node, and communication terminal for identifying packet flows as a group and adding identifier to a packet belonging to packet flows and setting rules for forwarding the packet
JP2006157313A (ja) 経路作成システム、経路作成装置及び経路作成プログラム
JP3740681B2 (ja) コンテンツ配信経路作成方法、コンテンツ配信経路の整合性確認方法、コンテンツ配信に影響を受けたユーザ端末の推定方法、コンテンツ配信経路管理装置用プログラムおよびコンテンツ配信経路管理装置
JP2003244217A (ja) 光電気パス統合網およびノード
US20200382399A1 (en) Trace routing in virtual networks
JP4165828B2 (ja) 通信ネットワーク、ネットワーク制御サーバ、トラヒック制御方法、およびプログラム
JP2009130572A (ja) ネットワークスイッチのポート別ネットワーク資源情報の獲得方法
JP3825761B2 (ja) Ip網のサービスリソース情報生成方法
JP2006014151A (ja) ネットワーク管理装置およびネットワーク管理プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120607

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: 20130524

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130614

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees