JP5717057B2 - ネットワークシステム、コントローラ、スイッチ、及びトラフィック監視方法 - Google Patents

ネットワークシステム、コントローラ、スイッチ、及びトラフィック監視方法 Download PDF

Info

Publication number
JP5717057B2
JP5717057B2 JP2012553577A JP2012553577A JP5717057B2 JP 5717057 B2 JP5717057 B2 JP 5717057B2 JP 2012553577 A JP2012553577 A JP 2012553577A JP 2012553577 A JP2012553577 A JP 2012553577A JP 5717057 B2 JP5717057 B2 JP 5717057B2
Authority
JP
Japan
Prior art keywords
flow
entry
statistical information
flow identifier
packet
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.)
Expired - Fee Related
Application number
JP2012553577A
Other languages
English (en)
Other versions
JPWO2012098786A1 (ja
Inventor
亮佑 河合
亮佑 河合
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2012553577A priority Critical patent/JP5717057B2/ja
Publication of JPWO2012098786A1 publication Critical patent/JPWO2012098786A1/ja
Application granted granted Critical
Publication of JP5717057B2 publication Critical patent/JP5717057B2/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
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/40Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5003Managing SLA; Interaction between SLA and QoS
    • H04L41/5019Ensuring fulfilment of SLA
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/026Capturing of monitoring data using flow identification
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/20Arrangements for monitoring or testing data switching networks the monitoring system or the monitored elements being virtualised, abstracted or software-defined entities, e.g. SDN or NFV
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Description

本発明は、ネットワークシステムに関し、特にネットワークシステムにおけるトラフィック監視方法に関する。
ネットワーク運用において、トラフィック監視はQoS(Quality of Service)確保のための重要な要因(factor)である。
主要なトラフィック監視の手法として、ギガビット級のネットワークでスイッチやルータ等のトラフィックを監視する技術である「sFlow」(RFC3176)がある。
sFlowは、パケット・サンプリングに基づくトラフィック管理技術であり、監視対象データを特定の割合で間引いて取得(採取)し、統計学的手法によりトラフィック情報を生成する手法である。IETF(Internet Engineering Task Force) RFC(Request For Comment)3176として2001年9月より公開され、無償提供されている。
[sFlow]
以下に、sFlowによる監視の概要について説明する。
sFlowによる監視が行われるネットワークでは、NW機器(ネットワーク接続機器)外部で動作するsFlowコレクタが、SNMP(Simple Network Management Protocol)に準拠した制御メッセージをNW機器に送信することで、NW機器内部で動作するsFlowエージェントを制御し、MIB(Management Information Base:管理情報データベース)に各種設定を行う。
sFlowでは、統計情報の取得対象となるパケットを特定するためのデータソースをMIBに指定できる。統計情報とは、サンプリング値に基づく統計情報である。sFlowでは、データソースとしてパケットのヘッダ情報の領域(フィールド)の全体を指定する。sFlowエージェントは、MIBに指定されたデータソースを基に、パケット照合を行う。
MIBに指定できるデータソースとして、以下のようなものを指定することができる。
・「iflndex.<l>」:ポート単位。<l>にはポート番号を指定。0を指定した場合は全ポートが対象。
・「smonVlanDataSource.<V>」:VLAN単位。<V>にはVLAN識別子(IEEE802.1Q)を指定。
・「entPhysicalEntry.<N>」:sFlowエージェントの物理エンティティ(構成要素)。
sFlowエージェントは、パケット照合時に、データソースを基にパケットを分類し、平均して閾値の割合(例えば1000件に1件)になるようにランダムにサンプリングし、サンプリング値を統計情報としてsFlowデータグラムでsFlowコレクタに送信する。例えば、sFlowエージェントは、サンプリングしたパケット(サンプルパケット)のヘッダのコピーや、物理ポート及びVLANポート等のインターフェース(I/F:interface)毎のカウンタ値を、統計情報としてsFlowデータグラムでsFlowコレクタに送信する。
sFlowコレクタは、統計情報を基に、統計処理を行う。
なお、sFlowエージェントは、スイッチ等のNW機器上で動作するソフトウェア/ハードウェアにより実現される。一般的には、ルータやスイッチ等のネットワーク接続機器にASIC(特定用途向けIC)として搭載される。また、sFlowコレクタは、サーバ等の計算機上で動作するソフトウェアにより実現される。
sFlowの詳細については、非特許文献1、2に記載されている。
sFlowの長所としては、シンプルなサンプリングメカニズムであり、ハードウェアで実装可能であるため、大した負荷はなく、ネットワークが性能劣化しにくいという点が挙げられる。
sFlowの短所としては、閾値に到達したパケットについて統計情報を取得するため、重要なパケットであっても閾値を超えないパケットの統計情報が取得できない(閾値を超えない重要なパケットの統計情報が漏れる)可能性がある点が挙げられる。
また、sFlowの他にも、有力なトラフィック監視の手法として、「オープンフロー」(OpenFlow)がある。
[オープンフロー]
以下に、オープンフローによる監視の概要について説明する。
オープンフローによる監視が行われるネットワークでは、OFC(OpenFlow Controller)等のコントローラが、オープンフロープロトコル(OpenFlow Protocol)に準拠した制御メッセージにより、OFS(OpenFlow Switch)等のスイッチのフローテーブルを操作することによりスイッチの挙動を制御・監視する。
フローテーブルとは、所定のマッチ条件(ルール)に適合(マッチ)するパケット(通信データ)に対して行うべき所定の動作(アクション)を定義したエントリ(entry)が登録されたテーブルである。ルールに適合するパケット群(パケット系列)をフロー(Flow)と呼ぶ。パケットは、フレームと読み替えても良い。
すなわち、オープンフローにおけるフローは、sFlowにおけるフローとは異なる概念である。
フローのルールは、パケットの各プロトコル階層のヘッダ情報の領域(フィールド)に含まれる宛先アドレス(Destination Address)、送信元アドレス(Source Address)、宛先ポート(Destination Port)、送信元ポート(Source Port)のいずれか又は全てを用いた様々な組み合わせにより定義され、区別可能である。なお、上記のアドレスには、MACアドレス(Media Access Control Address)やIPアドレス(Internet Protocol Address)を含むものとする。また、上記に加えて、入口ポート(Ingress Port)の情報も、フローのルールとして使用可能である。
フローのアクションは、通常、所定の転送先へのパケット転送である。無論、フローのアクションとして、パケット破棄を指定することも可能である。
オープンフローでは、スイッチを外部のコントローラから制御し、スイッチとコントローラとの間のプロトコルを規定することで、異なるベンダのスイッチであっても外部から自由に制御できる。
オープンフローでは、スイッチは、該当するエントリがないパケットを受信した場合、コントローラに対して、当該パケットについての問い合わせ(エントリ要求)を送信する。通常、スイッチは、当該パケットについての問い合わせとして、当該パケットをコントローラに転送する。
コントローラは、セキュアチャネル(Secure Channel)接続で、管理下にあるスイッチと接続されている。コントローラは、管理下にあるスイッチからパケットについての問い合わせを受けた場合、当該パケット群(フロー)の経路(パス)を計算し、この経路に基づき、当該スイッチのフローテーブルに、「当該パケット群(フロー)を所定の転送先へ転送する」という旨のエントリを登録する。このとき、コントローラは、当該エントリをフローテーブルに登録するための制御メッセージを、スイッチに対して送信する。
また、スイッチは、フローテーブルを参照し、統計情報を求めるフローのエントリに受信パケットが該当すれば、フロー毎にサンプリング値を取得し、統計情報として保持する。
コントローラは、オープンフロープロトコルに準拠した統計情報収集用の制御メッセージをスイッチに送信することで、スイッチからフロー毎の統計情報を取得し、トラフィック監視に利用する。
オープンフローの詳細については、非特許文献3、4に記載されている。
オープンフローの長所としては、統計情報を取得したいパケットに対して、フローのルールとしてsFlowよりも細かいマッチ条件が設定できるため、きめ細かいサンプリングが可能である点が挙げられる。
オープンフローの短所としては、統計情報の取得にはコントローラ主導でコントローラとスイッチとの間の通信が発生するため、sFlowと比べてネットワークの性能劣化が大きい点が挙げられる。
関連する技術として、特許文献1(特開2007−336512号公報)に統計情報収集システム及び統計情報収集装置が開示されている。この関連技術では、統計情報収集装置と、コレクタ装置と、を備え、統計情報収集装置が、パケットを受信し、受信パケットの統計情報を収集し、収集された統計情報をコレクタ装置に送信する通信情報収集システムにおいて、統計情報収集装置は、受信パケットが属するフローを識別するためのフロー識別条件を含むフロー情報が格納され、フロー識別条件によって識別されるフロー毎に、収集されたパケットの統計情報を分類し、フロー毎に分類された統計情報を参照し、統計情報収集装置が統計情報をコレクタ装置に送信する送信間隔をフロー毎に決定することを特徴とする。
また、特許文献2(特開2010−041471号公報)に通信データ統計装置、通信データ統計方法およびプログラムが開示されている。この関連技術では、ネットワークを流れる通信データについて、複数種類の条件の統計をとる通信データ統計装置は、パケットを受信する受信部と、予め定められた2種類以上のフロー識別子に関して、対応する識別子が一致するパケットを同一の集約フローに分類して、集約フローに属するパケットの集約統計情報を生成する集約部と、1つの統計の条件を定める識別子に関して、対応する識別子が一致する統計用フローに、1つの集約フローを分類し、分類された統計用フローに属するパケットの統計情報を、対応する集約統計情報に基づいて更新する更新処理を、複数の集約フローについて繰り返し行うことによって、複数種類の統計の条件について、各統計情報の更新処理を行う統計処理部と、を備える。
特開2007−336512号公報 特開2010−041471号公報
"第1章 sFlowとは − ネットワーク管理者のためのトラフィック管理入門:ITpro" <http://itpro.nikkeibp.co.jp/article/COLUMN/20070410/267869/> "InMon Corporation’s sFlow: A Method for Monitoring Traffic in Switched and Routed Networks" <http://www.ietf.org/rfc/rfc3176.txt> "The OpenFlow Switch Consortium" <http://www.openflowswitch.org/> "OpenFlow Switch Specification Version 1.0.0 (Wire Protocol 0x01) December 31, 2009" <http://www.openflowswitch.org/documents/openflow−spec−v1.0.0.pdf>
[sFlowとオープンフローの連携]
エンタープライズ領域のネットワークでは、きめ細かいトラフィック監視が必要となる。例えば、QoS確保や障害予防を目的としたトラフィック全体の監視や、トラフィックが極端に少ないが重要度の高いパケットの確認等が必要となる。
きめ細かいトラフィック監視を実現するために、sFlowとオープンフローを組み合わせて、お互いの短所を補うネットワーク運用を検討している。
sFlowを利用することで、高速なネットワークでもパフォーマンスを落とさずに統計処理(サンプリング)を行うことができる。
オープンフローを利用することで、sFlowで統計情報を取得できない重要なパケット(重要だがトラフィックが極端に少ないパケット)に対しても統計処理を行うことができる。
sFlowとオープンフローとの両方の出力結果を組み合わせて、有用な情報を得ることができる。例えば、トラフィック全体の傾向、重要なパケットが正常に伝達していること、重要なパケットが含まれるトラフィックにおける問題の有無について把握することができる。
しかし、sFlowとオープンフローを組み合わせたネットワークにおいて、きめ細かいトラフィック監視を行うためには、以下の課題がある。
sFlowでは、統計情報の取得対象となるパケットを特定するためのデータソースをMIBに指定できるが、データソースとしてパケットのヘッダ情報の領域(フィールド)の一部しか指定できない。すなわち、ヘッダ情報のうち、データソースに対応する情報しか指定できない。
そのため、オープンフローのようにヘッダ情報を構成する複数の領域(フィールド)の各々を任意に組み合わせてマッチ条件(ルール)を定義し、当該マッチ条件(ルール)に適合するフロー毎に統計情報を取得する技術には、sFlowは適用できなかった。
そこで、本発明では、フロー(パケット群)を特定するためのフロー識別子(Flow ID)を用意し、当該フロー識別子をフローテーブルのエントリに格納し、sFlowエージェントがデータソースとしてフロー識別子を指定できるようにする。
本発明に係るネットワークシステムは、コントローラと、スイッチとを含む。該コントローラは、所定のフローにフロー識別子を割り当てる機能を持つフロー識別子管理部と、該スイッチがフローを構成する各パケットを一律に制御するためのルールと動作が定義されたエントリを、該スイッチのフローテーブルに設定する機能、及び該フローテーブル内の所定のフローに関するエントリの所定の領域に、該フローに割り当てられたフロー識別子を登録する機能を持つエントリ管理部とを具備する。該スイッチは、該エントリに定義されたルールに適合する受信パケットに対して、該エントリに定義された動作を行い、該受信パケットの統計情報を該エントリに記録する機能を持つ転送処理部と、統計情報を取得する対象として指定されたフローに対応するフロー識別子を取得し、該フロー識別子を保持するエントリに適合したパケットの統計情報を所定の頻度で取得する機能を持つ統計処理部とを具備する。
本発明に係るコントローラは、所定のフローにフロー識別子を割り当てる機能を持つフロー識別子管理部と、スイッチがフローを構成する各パケットを一律に制御するためのルールと動作が定義されたエントリを、該スイッチのフローテーブルに設定する機能を持つエントリ管理部とを具備する。該エントリ管理部は、該フローテーブル内の所定のフローに関するエントリの所定の領域に、該フローに割り当てられたフロー識別子を登録し、統計情報を取得する対象として指定する機能を持つ。
本発明に係るスイッチは、フローを構成する各パケットを一律に制御するためのルールと動作が定義され、該フローに対応するフロー識別子を格納する領域を持つエントリを設定するためのエントリを設定するためのフローテーブルと、該フローテーブル内のエントリに定義されたルールに適合する受信パケットに対して、該エントリに定義された動作を行い、該受信パケットの統計情報を該エントリに記録する機能を持つ転送処理部と、統計情報を取得する対象として指定されたフローに対応するフロー識別子を取得し、該フロー識別子を保持するエントリに適合したパケットの統計情報を所定の頻度で取得する機能を持つ統計処理部とを具備する。
本発明に係るトラフィック監視方法では、コントローラにおいて、スイッチがフローを構成する各パケットを一律に制御するためのルールと動作が定義されたエントリを、該スイッチのフローテーブルに設定し、所定のフローにフロー識別子を割り当てることと、該フローテーブル内の所定のフローに関するエントリの所定の領域に、該フローに割り当てられたフロー識別子を登録する。また、該スイッチにおいて、該エントリに定義されたルールに適合する受信パケットに対して、該エントリに定義された動作を行い、該受信パケットの統計情報を該エントリに記録し、統計情報を取得する対象として指定されたフローに対応するフロー識別子を取得し、該フロー識別子を保持するエントリに適合したパケットの統計情報を所定の頻度で取得する。
本発明に係るプログラムは、上記のトラフィック監視方法における処理を、スイッチとして使用される通信機器や、コントローラとして使用される計算機に実行させるためのプログラムである。なお、本発明に係るプログラムは、記憶装置や記憶媒体に格納することが可能である。
これにより、sFlowとオープンフローを組み合わせたネットワークにおいて、きめ細かいトラフィック監視を行うことを実現する。
本発明の第1実施形態に係るネットワークシステムの構成及び動作の例を説明するための概念図である。 コントローラの構成例を示す概念図である。 sFlowコレクタの構成例を示す概念図である。 Cookieについて説明するための図である。 パケットのヘッダ情報について説明するための図である。 本発明の第1実施形態における処理を示すシーケンス図である。 本発明の第2実施形態に係るネットワークシステムの構成及び動作の例を説明するための概念図である。 コントローラの構成例を示す概念図である。 sFlowコレクタの構成例を示す概念図である。 本発明の第2実施形態における処理を示すシーケンス図である。
<第1実施形態>
以下に、本発明の第1実施形態について添付図面を参照して説明する。
[基本構成]
図1Aに示すように、本発明の第1実施形態に係るネットワークシステムは、スイッチ10(10−i、i=1〜n:nはスイッチ台数)と、コントローラ20と、sFlowコレクタ30を含む。
スイッチ10(10−i、i=1〜n)及びコントローラ20は、オープンフローネットワークを形成する。スイッチ10(10−i、i=1〜n)は、オープンフローネットワークにおけるノード(node)である。コントローラ20は、セキュアチャネル(Secure Channel)接続で、スイッチ10(10−i、i=1〜n)と接続されている。sFlowコレクタ30は、通常回線で、スイッチ10(10−i、i=1〜n)と接続されており、スイッチ10(10−i、i=1〜n)から通知された統計情報を収集する。
[スイッチ]
スイッチ10(10−i、i=1〜n)は、オープンフローに対応したスイッチである。
スイッチ10(10−i、i=1〜n)の各々は、オープンフロー処理部(転送処理部)11と、sFlow処理部(統計処理部)12を備える。
[オープンフロー処理部]
オープンフロー処理部11は、スイッチ上で動作するオープンフローエージェントにより実現される。当該オープンフローエージェントは、スイッチ10(10−i、i=1〜n)に常駐している。
オープンフロー処理部11は、データ転送部111と、フローテーブル112を備える。
[データ転送部]
データ転送部111は、スイッチ10(10−i、i=1〜n)がパケットを受信した際、当該受信パケットがフローテーブル112に登録されたエントリのいずれかに適合するか照合する。すなわち、データ転送部111は、エントリに定義されたマッチ条件(ルール)と当該受信パケットとを照合し、当該受信パケットのヘッダ情報がマッチ条件(ルール)と一致したエントリを、当該受信パケットに適合するエントリと判断する。
データ転送部111は、受信パケットに適合するエントリが存在する場合、適合したエントリに定義されたアクションに従って当該受信パケットを転送し、フロー毎にサンプリング値を取得し、統計情報として当該エントリに記録(格納)する。ここでは、データ転送部111は、当該エントリに定義されたルールに適合する受信パケットに対して、当該エントリに定義された動作を行い、当該動作を統計情報として当該エントリに記録する。
なお、適合したエントリに定義された処理内容(アクション)がパケットの破棄である場合、データ転送部111は、適合したエントリに従って、当該受信パケットを破棄する。
[フローテーブル]
フローテーブル112は、所定のマッチ条件(ルール)に適合するパケット(通信データ)に対して行うべき所定の処理内容(アクション)に加え、更に、統計情報としてフロー毎のサンプリング値を記録するための「統計値」(Statictics)と、フロー識別子(Flow ID)を設定するための「Cookie」(クッキー)を定義したエントリが登録されたテーブルである。「Cookie」を定義したエントリは、統計情報取得用エントリである。但し、実際には、エントリの「Cookie」以外の領域(フィールド)内に、フロー識別子を設定しても良い。「Cookie」は一例に過ぎない。
上記の「Cookie」は、エントリの追加・編集時に、任意の値を設定できるunit64_t型(64bit整数型)の領域(フィールド)である。
なお、オープンフローにおける「Cookie」は、エントリの追加・失効(削除)時にしか必要ない情報であるため、通常はオープンフロープロトコル経由以外では取得できない。
本発明では、フローテーブル112のエントリに「Cookie」の領域(フィールド)を用意し、オープンフロープロトコル経由以外でも取得できるようにする。
具体的には、フローテーブル112のエントリのうち、少なくとも「統計値」と「Cookie」をsFlow処理部12から可読にする。
[sFlow処理部]
sFlow処理部12は、スイッチ上で動作するsFlowエージェントにより実現される。当該sFlowエージェントは、スイッチ10(10−i、i=1〜n)に常駐している。
sFlow処理部12は、サンプリング処理部121と、MIB122を備える。
[サンプリング処理部]
サンプリング処理部121は、通常のsFlowの場合と同じく、sFlowでのパケット照合時に、データソースを基にパケットを分類し、平均して閾値の割合(例えば1000件に1件)になるようにランダムにサンプリングし、サンプリング値を統計情報としてsFlowデータグラムでsFlowコレクタ30に送信する。
また、サンプリング処理部121は、MIB122を参照し、MIB122のデータソースとしてフロー識別子が指定されているか確認する。
なお、確認するタイミングは、データ転送部111が受信パケットをフローテーブル112に照合する際でも良いし、通常のsFlowでのサンプリング値を統計情報としてsFlowデータグラムでsFlowコレクタ30に送信する際でも良い。
サンプリング処理部121は、MIB122のデータソースとしてフロー識別子が指定されている場合、フローテーブル112のエントリの「Cookie」の領域(フィールド)を参照し、同一のフロー識別子が格納されているエントリを検出し、当該エントリに統計情報として記録されているサンプリング値を取得し、サンプリング値を統計情報としてsFlowコレクタ30に送信する。
或いは、サンプリング処理部121は、MIB122のデータソースとしてフロー識別子が指定されている場合、当該フロー識別子をオープンフロー処理部11に通知する。オープンフロー処理部11は、「Cookie」の領域(フィールド)に当該フロー識別子が格納されているエントリの有無、及び当該エントリに記録された統計情報の有無を確認し、該当する統計情報があれば、この統計情報を応答としてサンプリング処理部121に送信する。サンプリング処理部121は、オープンフロー処理部11から応答として受け取った統計情報をsFlowコレクタ30に送信するようにしても良い。
これにより、本発明では、sFlowにおいて、オープンフローでの統計情報を取得し参照することができる。
[MIB]
本発明では、MIB122に指定できるデータソースとして、新たに、以下のようなものを用意する。
・「sFlowDataSource.<F>」:フロー単位。<F>には「Cookie」に指定したフロー識別子を指定。「0xffffffffffffffff」を指定した場合は全フローが対象。なお、「0x」で始まる表記は16進数とする。
但し、実際には、この例に限定されない。
[コントローラ]
コントローラ20は、オープンフローにおいてコントローラの役割を果たすサーバであり、当該サーバ上で動作するソフトウェアにより実現される。
図1Bに示すように、コントローラ20は、フロー識別子管理部21と、経路制御部22と、エントリ管理部23を備える。
[フロー識別子管理部]
フロー識別子管理部21は、フロー識別子を作成/取得し、フロー識別子をフロー単位に割り当てる。その後、フロー識別子管理部21は、フロー識別子をsFlowコレクタ30に通知する。
なお、本発明では、コントローラ20には、統計情報の取得対象となる重要フローが事前に登録されているものとする。すなわち、コントローラ20には、重要フローに該当するパケット群を特定するためのマッチ条件(ルール)が事前に登録されている。コントローラ20への事前登録は、外部のコンソール端末や管理サーバ等により実施される。フロー識別子管理部21は、統計情報の取得対象となる重要フローに対して、フロー識別子を割り当てる。
[経路制御部]
経路制御部22は、トポロジ(topology:接続形態)検知を行った際に、ネットワークを構成するスイッチ10(10−i、i=1〜n)を検知し、フロー毎の経路(パス)を計算し、経路情報を生成する。或いは、統計情報の取得対象となる重要フローと共に、当該重要フローの経路情報も事前に登録される場合、経路制御部22は、この経路情報を保持する。
[エントリ管理部]
エントリ管理部23は、フローテーブル112にエントリを登録する。具体的には、エントリ管理部23は、統計情報の取得対象となる重要フローを保持し、当該重要フローと経路情報を基にエントリを定義し、フローテーブル112に当該エントリを登録するための制御メッセージをスイッチ10(10−i、i=1〜n)に送信する。
[Cookie]
図2に示すように、本発明では、コントローラ20は、フローテーブル112のエントリを追加・修正する際、エントリ追加・修正用の制御メッセージ「Modify Frow Entry Message」に「Cookie」を設定することができる。これにより、コントローラ20は、フローテーブル112のエントリに「Cookie」の領域(フィールド)を設け、この領域(フィールド)に所定のフロー識別子を格納することができる。
また、コントローラ20は、状態取得用の制御メッセージ「Read State Message」若しくはエントリ削除用の制御メッセージ「Flow Removed Message」にも、設定された「Cookie」の値(フロー識別子)を含めることもできる。
なお、オープンフローにおいて、コントローラがフローテーブルにエントリを登録する方式は、大きく「Proactive型」と、「Reactive型」の2つの方式に分けられる。
「Proactive型」では、コントローラが「事前に」(データ通信が始まる前に)、所定のパケット群(フロー)の経路(パス)を計算し、フローテーブルにエントリを登録する。すなわち、ここでいう「Proactive型」とは、コントローラが自発的に行う「事前のエントリ登録」を指す。
「Reactive型」では、コントローラが「スイッチから1stパケット(適合するエントリがない新規のパケット)についての問い合わせを受けた際に」当該パケット群(フロー)の経路を計算し、フローテーブルにエントリを登録する。すなわち、ここでいう「Reactive型」とは、実際のデータ通信時に、コントローラがスイッチからの問い合わせに応じて行う「リアルタイムのエントリ登録」を指す。
ここでは、エントリ管理部23は、事前登録された重要フローの統計情報を取得するためのエントリの追加・修正用の制御メッセージ「Modify Frow Entry Message」に「Cookie」を設定し、「Cookie」にフロー識別子を格納し、「Proactive型」で、事前(通信開始前)にフローテーブル112に当該エントリを登録する。ここでいう「事前(通信開始前)」とは、「当該フローテーブルを保有するスイッチがパケットの受信・転送を開始する前」を意味する。
或いは、エントリ管理部23は、スイッチ10(10−i、i=1〜n)から1stパケットについての問い合わせを受けた際に、上記の制御メッセージ「Modify Frow Entry Message」に「Cookie」を設定し、「Cookie」にフロー識別子を格納し、「Reactive型」で、フローテーブル112に当該エントリを登録するようにしても良い。
更に、エントリ管理部23は、フローテーブル112にエントリを登録した際に、当該エントリの「Cookie」に格納したフロー識別子を、MIB122にデータソースとして設定するようにしても良い。
例えば、エントリ管理部23は、フローテーブル112にエントリを登録すると同時に、当該エントリの「Cookie」に格納したフロー識別子をsFlowコレクタ30に通知する。sFlowコレクタ30は、コントローラ20からフロー識別子を取得して、スイッチ10(10−i、i=1〜n)上のMIB122にデータソースとしてフロー識別子を設定する。
[sFlowコレクタ]
sFlowコレクタ30は、sFlowにおいてコレクタの役割を果たすサーバであり、当該サーバ上で動作するソフトウェアにより実現される。
図1Cに示すように、sFlowコレクタ30は、フロー識別子設定部31と、統計情報収集部32を備える。
[フロー識別子設定部]
フロー識別子設定部31は、コントローラ20側から通知されたフロー識別子を保持し、スイッチ10(10−i、i=1〜n)上のMIB122にデータソースとしてフロー識別子を設定する。
[統計情報収集部]
統計情報収集部32は、sFlow処理部12から送付される統計情報を集計・編集・表示する。更に、統計情報収集部32は、編集データをアナライザ(Analyzer)に送付するようにしても良い。図示しないが、アナライザは、sFlowコレクタ30から送付されるデータをグラフィカルに表示する。なお、アナライザは、sFlowコレクタ30と一体化している場合がある。
[ハードウェアの例示]
スイッチ10(10−i、i=1〜n)の例として、ネットワークスイッチ(network switch)、ルータ(router)、プロキシ(proxy)、ゲートウェイ(gateway)、ファイアウォール(firewall)、ロードバランサ(load balancer:負荷分散装置)、帯域制御装置(packet shaper)、セキュリティ監視制御装置(SCADA:Supervisory Control And Data Acquisition)、ゲートキーパー(gatekeeper)、基地局(base station)、アクセスポイント(AP:Access Point)、通信衛星(CS:Communication Satellite)、或いは、複数の通信ポートを有する計算機等が考えられる。また、スイッチ10(10−i、i=1〜n)は、物理マシン上に構築された仮想スイッチでも良い。
コントローラ20及びsFlowコレクタ30の例として、PC(パソコン)、アプライアンス(appliance)、ワークステーション、メインフレーム、スーパーコンピュータ等の計算機を想定している。また、コントローラ20及びsFlowコレクタ30は、物理マシン上に構築された仮想マシン(VM)でも良い。
スイッチ10(10−i、i=1〜n)の各々、コントローラ20、及びsFlowコレクタ30を接続するネットワークの例として、インターネット、LAN(Local Area Network)、無線LAN(Wireless LAN)、WAN(Wide Area Network)、バックボーン(Backbone)、ケーブルテレビ(CATV)回線、固定電話網、携帯電話網、WiMAX(IEEE 802.16a)、3G(3rd Generation)、専用線(lease line)、IrDA(Infrared Data Association)、Bluetooth(登録商標)、シリアル通信回線、データバス等が考えられる。
また、オープンフロー処理部11、sFlow処理部12、フロー識別子管理部21、経路制御部22、エントリ管理部23、フロー識別子設定部31、及び統計情報収集部32の各々は、プログラムに基づいて駆動し所定の処理を実行するプロセッサと、当該プログラムや各種データを記憶するメモリと、通信用インターフェース(I/F:interface)とによって実現される。
上記のプロセッサの例として、CPU(Central Processing Unit)、マイクロプロセッサ(microprocessor)、マイクロコントローラ、或いは、専用の機能を有する半導体集積回路(Integrated Circuit(IC))等が考えられる。
上記のメモリの例として、RAM(Random Access Memory)、ROM(Read Only Memory)、EEPROM(Electrically Erasable and Programmable Read Only Memory)やフラッシュメモリ等の半導体記憶装置、HDD(Hard Disk Drive)やSSD(Solid State Drive)等の補助記憶装置、又は、DVD(Digital Versatile Disk)等のリムーバブルディスクや、SDメモリカード(Secure Digital memory card)等の記憶媒体(メディア)等が考えられる。或いは、DAS(Direct Attached Storage)、FC−SAN(Fibre Channel − Storage Area Network)、NAS(Network Attached Storage)、IP−SAN(IP − Storage Area Network)等を用いたストレージ装置でも良い。
上記の通信用インターフェースの例として、ネットワーク通信に対応した基板(マザーボード、I/Oボード)やチップ等の半導体集積回路、NIC(Network Interface Card)等のネットワークアダプタや、同様の拡張カード、アンテナ等の通信装置、接続口(コネクタ)等の通信ポート等が考えられる。
なお、オープンフロー処理部11、sFlow処理部12、フロー識別子管理部21、経路制御部22、エントリ管理部23、フロー識別子設定部31、及び統計情報収集部32の各々は、モジュール(module)、コンポーネント(component)、或いは専用デバイス、又はこれらの起動(呼出)プログラムでも良い。
但し、実際には、これらの例に限定されない。
[フロー識別子の具体例]
ここで、フロー識別子の具体例について説明する。フロー識別子を払い出す方式としては、以下の(1)(2)の2通りが考えられる。
(1)パケットのヘッダ情報の領域(フィールド)とは無関係に一意な任意の値をフロー識別子としてコントローラから払い出す方式
フロー識別子の採番方法については、例えば、0から初めて1ずつインクリメント(increment)する方法が考えられる。なお、フロー識別子の中の任意の1bitで統計情報を取得するかどうかを示すようにすることで、特にMIB122に設定しなくてもサンプリング処理部121が統計情報を取得できるようにすることができる。
コントローラ20は、フローテーブル112にエントリを登録した際、sFlowコレクタ30に当該エントリを割り振る。このとき、コントローラ20は、フロー(パケット群)とフロー識別子との対応を基に、sFlowコレクタ30に対して統計情報を取得したいフローを指定する。
なお、実際には、外部のコンソール端末や管理サーバ等が、コントローラ20から割り振り予定のフロー識別子を取得して、sFlowコレクタ30に通知するようにしても良い。
sFlowコレクタ30は、フロー識別子を取得して、スイッチ10(10−i、i=1〜n)上のMIB122にデータソースとしてフロー識別子を設定し、サンプリング処理部121に統計情報取得を指示する。
或いは、外部のコンソール端末や管理サーバ等、又はコントローラ20が、直接、サンプリング処理部121に統計情報取得を指示するようにしても良い。
(2)パケットのヘッダ情報を圧縮してフロー識別子を作成し、コントローラから払い出す方式
図3に示すように、パケットのヘッダ情報は、「Ingress Port(入口ポート):任意」「MAC src(送信元MACアドレス):48bit」「MAC dst(宛先MACアドレス):48bit」「Etherタイプ:16bit」「VLAN ID:12bit」「VLAN priority:3bit」「IP src(送信元IPアドレス):32bit」「IP dst(宛先IPアドレス):32bit」「IP proto:8bit」「IP Tos bits:6bit」「TCP/UDP src port(送信元ポート):16bit」「TCP/UDP dst port(宛先ポート):16bit」等の領域(フィールド)を含む。
フローのルールは、上記のパケットのヘッダ情報にマスク情報を付加して、所定の情報(の組み合わせ)を利用したものである。
パケットのヘッダ情報の各々の領域(フィールド)の長さを加算すると、「Ingress Port」(入口ポート)以外の領域(フィールド)だけで237bit長となり、これに任意の「Ingress Port」(入口ポート)のbit長が加わるため、合計で237bit超(237bit長以上)になる。
コントローラ20は、ハッシュ関数等の圧縮アルゴリズムを用いて、237bit超のパケットのヘッダ情報を圧縮して64bit長のフロー識別子を算出し、sFlowコレクタ30に通知する。
なお、実際には、外部のコンソール端末や管理サーバ等が、統計情報の取得対象として事前に決定したパケットに対し、圧縮アルゴリズムを用いて、パケットのヘッダ情報から64bit長のフロー識別子を算出し、コントローラ20及びsFlowコレクタ30に通知するようにしても良い。
sFlowコレクタ30は、MIB122にデータソースとしてフロー識別子を設定し、サンプリング処理部121に統計情報取得を指示する。
或いは、外部のコンソール端末や管理サーバ等、又はコントローラ20が、直接、サンプリング処理部121に統計情報取得を指示するようにしても良い。
[本実施形態における処理]
図4を参照して、本実施形態における処理について説明する。
(1)ステップS101
コントローラ20のフロー識別子管理部21は、外部のコンソール端末や管理サーバ等から、統計情報の取得対象となるフローに対応するフロー識別子を取得する。なお、実際には、外部のコンソール端末や管理サーバ等から、統計情報の取得対象となるフローの情報を取得し、当該フローを構成するパケットのヘッダ情報を圧縮してフロー識別子を作成しても良い。
(2)ステップS102
コントローラ20の経路制御部22は、トポロジ(topology:接続形態)検知を行った際に、ネットワークを構成するスイッチ10(10−i、i=1〜n)を検知し、フロー毎の経路(パス)を計算し、経路情報を生成する。或いは、経路制御部22は、外部のコンソール端末や管理サーバ等から、統計情報の取得対象となるフローの情報と共に、当該重要フローの経路情報も事前に登録される場合、この経路情報を保持する。
(3)ステップS103
コントローラ20のエントリ管理部23は、統計情報の取得対象となるフローとその経路情報を基にエントリを定義し、当該フローに対応するフロー識別子を当該エントリに設定し、フローテーブル112に当該エントリを登録するための制御メッセージをスイッチ10(10−i、i=1〜n)に送信する。
(4)ステップS104
sFlowコレクタ30のフロー識別子設定部31は、外部のコンソール端末や管理サーバ等から、或いは、コントローラ20のエントリ管理部23から、統計情報の取得対象となるフローに対応するフロー識別子が指定された場合、当該フロー識別子を保持し、スイッチ10(10−i、i=1〜n)上のMIB122にデータソースとしてフロー識別子を設定する。
(5)ステップS105
スイッチ10(10−i、i=1〜n)のデータ転送部111は、スイッチ10(10−i、i=1〜n)がパケットを受信した際、当該受信パケットがフローテーブル112に登録されたエントリのいずれかに適合するか照合する。すなわち、データ転送部111は、エントリに定義されたマッチ条件(ルール)と当該受信パケットとを照合し、当該受信パケットのヘッダ情報がマッチ条件(ルール)と一致したエントリを、当該受信パケットに適合するエントリと判断する。
(6)ステップS106
データ転送部111は、受信パケットに適合するエントリが存在する場合、適合したエントリに定義されたアクション(動作)に従って当該受信パケットを転送し、フロー毎の統計情報を取得して当該エントリに記録する。ここでは、データ転送部111は、当該エントリに定義されたルールに適合する受信パケットに対して、当該エントリに定義された動作を行い、当該動作を統計情報として当該エントリに記録する。
(7)ステップS107
データ転送部111は、受信パケットに適合するエントリが存在しない場合、当該受信パケットを破棄する。或いは、データ転送部111は、全パケットを対象としたデフォルトエントリに従って当該受信パケットを処理する。
(8)ステップS108
スイッチ10(10−i、i=1〜n)のサンプリング処理部121は、通常のsFlowの場合と同じく、sFlowでのパケット照合時に、データソースを基にパケットを分類し、平均して閾値の割合(例えば1000件に1件)になるようにランダムにサンプリングし、サンプリング値を統計情報としてsFlowデータグラムでsFlowコレクタ30に送信する。但し、実際には、この処理を行わなくても良い。
(9)ステップS109
サンプリング処理部121は、MIB122を参照し、MIB122のデータソースとしてフロー識別子が指定されているか確認する。なお、確認するタイミングは、データ転送部111が受信パケットをフローテーブル112に照合する際でも良いし、上記のように、サンプリング処理部121が通常のsFlowでのサンプリング値を統計情報としてsFlowデータグラムでsFlowコレクタ30に送信する際でも良い。
(10)ステップS110
サンプリング処理部121は、MIB122のデータソースとしてフロー識別子が指定されている場合、フローテーブル112のエントリの「Cookie」の領域(フィールド)を参照し、同一のフロー識別子が格納されているエントリを検出し、当該エントリに統計情報として記録されているサンプリング値を取得し、サンプリング値を統計情報としてsFlowコレクタ30に送信する。
(11)ステップS111
sFlowコレクタ30の統計情報収集部32は、サンプリング処理部121から送付された統計情報を集計・編集・表示する。
<第2実施形態>
以下に、本発明の第2実施形態について添付図面を参照して説明する。
本実施形態では、スイッチ10(10−i、i=1〜n)の各々において、オープンフロー処理部11がフローテーブルのエントリと受信パケットを照合している際に、sFlow処理部12は、MIB122のデータソースとして指定されているフロー識別子をオープンフロー処理部11に通知し、応答として、フロー識別子を持つエントリと適合したパケットを受け取る。sFlow処理部12は、このパケットに対して、sFlowでのサンプリング処理を行う。
[本実施形態における構成]
図5Aに示すように、本発明の第2実施形態に係るネットワークシステムの構成は、基本的に、本発明の第1実施形態に係るネットワークシステムと同じである。
図5Aに示すように、本発明の第2実施形態に係るネットワークシステムは、スイッチ10(10−i、i=1〜n:nはスイッチ台数)と、コントローラ20と、sFlowコレクタ30を含む。
スイッチ10(10−i、i=1〜n)の各々は、オープンフロー処理部11と、sFlow処理部12を備える。
図5Bに示すように、コントローラ20は、フロー識別子管理部21と、経路制御部22と、エントリ管理部23を備える。
図5Cに示すように、sFlowコレクタ30は、フロー識別子設定部31と、統計情報収集部32を備える。
本実施形態では、オープンフロー処理部11とsFlow処理部12の処理が第1実施形態と異なる。
[本実施形態における処理]
図6を参照して、本実施形態における処理について説明する。
なお、当該処理は、図4に示す第1実施形態におけるステップS105からステップS110の処理に該当する。他の処理については、図4に示す第1実施形態と同じである。
(1)ステップS201
サンプリング処理部121は、通信開始前、或いはMIB122のデータソースに変更があった際に、MIB122のデータソースとして指定されているフロー識別子をデータ転送部111に通知する。
(2)ステップS202
通信が開始された際、データ転送部111は、受信パケットと通知されたフロー識別子とを基に、当該フロー識別子と「Cookie」に格納されたフロー識別子とが適合し、当該受信パケットとマッチ条件(ルール)とが適合するエントリの有無を確認する。
(3)ステップS203
データ転送部111は、当該フロー識別子と「Cookie」に格納されたフロー識別子とが適合し、当該受信パケットとマッチ条件(ルール)とが適合するエントリを検出した場合、適合したエントリに定義されたアクション(動作)に従って当該受信パケットを転送すると共に、当該受信パケットをサンプルパケットとしてサンプリング処理部121に通知する。このとき、サンプリング処理部121は、外部に転送される受信パケットを検出するようにしても良い。
(4)ステップS204
サンプリング処理部121は、データ転送部111から受け取ったパケット、又は外部に転送されるパケットに対して、平均して閾値の割合(例えば1000件に1件)になるようにランダムにサンプリング(sFlowに準拠したサンプリング処理を実行)し、サンプリング値を統計情報としてsFlowコレクタ30に送信する。例えば、サンプリング処理部121は、フロー毎に(フロー単位で)、閾値に到達したパケットのヘッダ情報と各種カウンタ値を取得し、統計情報としてsFlowコレクタ30に送信する。
なお、sFlowでMIBのデータソースに適合するパケットよりも、オープンフローでフローテーブルのエントリに適合するパケットのほうが、数が多くなるため、サンプリング処理を行う上でも有利である。
その理由は、sFlowでMIBのデータソースに適合するには、パケットのヘッダ情報が完全に一致しなければならないが、オープンフローでフローテーブルのエントリに適合するには、フローのルールとして定義されたパケットのヘッダ情報の一部の組み合わせが一致すれば十分だからである。
<各実施形態の関係>
なお、上記の各実施形態は、組み合わせて実施することも可能である。例えば、本発明のネットワークシステムにおいて、第1実施形態に対応するスイッチと、第2実施形態に対応するスイッチが混在していても良い。或いは、同一のスイッチで、第1実施形態に対応する機能を有効にするか、第2実施形態に対応する機能を有効にするか、ユーザが選択・設定等できるようにすることも考えられる。
<本発明の利点>
オープンフローを利用することにより、サンプリング対象のパケットを細かく指定できるようにすることで、細分化されたフロー毎にサンプリング値を取得できるようにし、sFlowでのサンプリング処理におけるフィルタリングを実現し、従来のsFlowでは取得できなかったサンプリング値を取得できるようにした。
<付記>
上記の実施形態の一部又は全部は、以下の付記のように記載することも可能である。但し、実際には、以下の記載例に限定されない。
[付記1]
オープンフロー及びsFlowに対応したスイッチと、
スイッチの経路を制御するコントローラと
を含み、
スイッチは、
コントローラからフローテーブルに登録されたエントリのCookieにフロー識別子を保持し、エントリのルールに適合する受信パケットに対し、エントリに定義されたアクションに従った動作を行うオープンフロー処理部と、
sFlowで使用されるMIBにデータソースとして指定されたフロー識別子を取得し、該フロー識別子を基に、エントリに適合したパケットの統計情報を取得するsFlow処理部と
を具備する
ネットワークシステム。
[付記2]
付記1に記載のネットワークシステムであって、
オープンフロー処理部は、エントリのルールに適合する受信パケットの統計情報をエントリに記録し、
sFlow処理部は、MIBにデータソースとして指定されたフロー識別子とエントリに保持されているフロー識別子が一致すれば、当該エントリに記録されている統計情報を取得する
ネットワークシステム。
[付記3]
付記1又は2に記載のネットワークシステムであって、
オープンフロー処理部は、sFlow処理部から通知されたフロー識別子を持つエントリのルールに適合する受信パケットを、応答としてsFlow処理部に通知し、
sFlow処理部は、MIBにデータソースとして指定されたフロー識別子をオープンフロー処理部に通知し、応答としてオープンフロー処理部から受け取ったパケットに対して、sFlowに準拠したサンプリング処理を行い、統計情報としてsFlowのサンプリング値を取得する
ネットワークシステム。
[付記4]
付記1乃至3のいずれか一項に記載のネットワークシステムであって、
コントローラは、パケットのヘッダ情報を圧縮してフロー識別子を作成し、該フロー識別子をフローテーブル及びMIBに設定する
ネットワークシステム。
<備考>
以上、本発明の実施形態を詳述してきたが、実際には、上記の実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の変更があっても本発明に含まれる。
なお、本出願は、日本出願番号2011−006719に基づく優先権を主張するものであり、日本出願番号2011−006719における開示内容は引用により本出願に組み込まれる。

Claims (8)

  1. コントローラと、
    スイッチと
    を含み、
    前記コントローラは、
    所定のフローにフロー識別子を割り当てる機能を持つフロー識別子管理部と、
    前記スイッチがフローを構成する各パケットを一律に制御するためのルールと動作が定義されたエントリを、前記スイッチのフローテーブルに設定する機能、及び前記フローテーブル内の所定のフローに関するエントリの所定の領域に、該フローに割り当てられたフロー識別子を登録する機能を持つエントリ管理部と
    を具備し、
    前記スイッチは、
    前記エントリに定義されたルールに適合する受信パケットに対して、前記エントリに定義された動作を行い、該受信パケットの統計情報を前記エントリに記録する機能を持つ転送処理部と、
    統計情報を取得する対象として指定されたフローに対応するフロー識別子を取得し、該フロー識別子を保持するエントリに適合したパケットの統計情報を所定の頻度で取得する機能を持つ統計処理部と
    を具備し、
    前記転送処理部は、前記統計処理部から通知されたフロー識別子を持つエントリのルールに適合する受信パケットを、応答として前記統計処理部に通知する機能をさらに持ち、
    前記統計処理部は、統計情報を取得する対象として指定されたフロー識別子を前記転送処理部に通知し、応答として前記転送処理部から受け取ったパケットに対して、サンプリング処理を行い、統計情報としてサンプリング値を取得する機能をさらに持つ
    ネットワークシステム。
  2. 請求項1に記載のネットワークシステムであって、
    前記統計処理部は、統計情報を取得する対象として指定されたフロー識別子と前記エントリに保持されているフロー識別子が一致すれば、当該エントリに記録されている統計情報を取得する機能を持つ
    ネットワークシステム。
  3. 請求項1又は2に記載のネットワークシステムであって、
    前記フロー識別子管理部は、パケットのヘッダ情報を圧縮してフロー識別子を作成する機能を持ち、
    前記エントリ管理部は、該フロー識別子を前記フローテーブルに設定し、統計情報を取得する対象として指定する機能を持つ
    ネットワークシステム。
  4. フローを構成する各パケットを一律に制御するためのルールと動作が定義され、該フローに対応するフロー識別子を格納する領域を持つエントリを設定するためのフローテーブルと、
    前記フローテーブル内のエントリに定義されたルールに適合する受信パケットに対して、前記エントリに定義された動作を行い、該受信パケットの統計情報を前記エントリに記録する機能を持つ転送処理部と、
    統計情報を取得する対象として指定されたフローに対応するフロー識別子を取得し、該フロー識別子を保持するエントリに適合したパケットの統計情報を所定の頻度で取得する機能を持つ統計処理部と
    を具備し、
    前記転送処理部は、前記統計処理部から通知されたフロー識別子を持つエントリのルールに適合する受信パケットを、応答として前記統計処理部に通知する機能をさらに持ち、
    前記統計処理部は、統計情報を取得する対象として指定されたフロー識別子を前記転送処理部に通知し、応答として前記転送処理部から受け取ったパケットに対して、サンプリング処理を行い、統計情報としてサンプリング値を取得する機能をさらに持つ
    スイッチ。
  5. コントローラにおいて、
    スイッチがフローを構成する各パケットを一律に制御するためのルールと動作が定義されたエントリを、前記スイッチのフローテーブルに設定することと、
    所定のフローにフロー識別子を割り当てることと、
    前記フローテーブル内の所定のフローに関するエントリの所定の領域に、該フローに割り当てられたフロー識別子を登録することと、
    前記スイッチにおいて、
    前記エントリに定義されたルールに適合する受信パケットに対して、前記エントリに定義された動作を行い、該受信パケットの統計情報を前記エントリに記録することと、
    統計情報を取得する対象として指定されたフローに対応するフロー識別子を取得し、該フロー識別子を保持するエントリに適合したパケットの統計情報を所定の頻度で取得することと、
    前記所定の領域内に、統計情報を取得する対象として指定されたフロー識別子と一致するフロー識別子を持つエントリを検索することと、
    該エントリがあれば、該エントリのルールに適合する受信パケットに対して、サンプリング処理を行い、統計情報としてサンプリング値を取得することと
    を含む
    トラフィック監視方法。
  6. 請求項に記載のトラフィック監視方法であって、
    前記スイッチにおいて、
    統計情報を取得する対象として指定されたフロー識別子と前記エントリに保持されているフロー識別子が一致すれば、当該エントリに記録されている統計情報を取得すること
    を更に含む
    トラフィック監視方法。
  7. 請求項5又は6に記載のトラフィック監視方法であって、
    前記コントローラにおいて、
    パケットのヘッダ情報を圧縮してフロー識別子を作成することと、
    該フロー識別子を前記フローテーブルに設定することと、
    該フロー識別子を統計情報を取得する対象として指定することと
    を更に含む
    トラフィック監視方法。
  8. パケットを受信した際、フローを構成する各パケットを一律に制御するためのルールと動作が定義され、該フローに対応するフロー識別子を格納する領域を持つエントリが設定されたフローテーブルを検索するステップと、
    前記フローテーブル内のエントリに定義されたルールに適合する受信パケットに対して、前記エントリに定義された動作を行い、該受信パケットの統計情報を前記エントリに記録するステップと、
    統計情報を取得する対象として指定されたフローに対応するフロー識別子を取得し、該フロー識別子を保持するエントリに適合したパケットの統計情報を所定の頻度で取得するステップと、
    前記領域内に、統計情報を取得する対象として指定されたフロー識別子と一致するフロー識別子を持つエントリを検索するステップと、
    該エントリがあれば、該エントリのルールに適合する受信パケットに対して、サンプリング処理を行い、統計情報としてサンプリング値を取得するステップと
    をスイッチに実行させるためのプログラムを格納した
    記憶媒体。
JP2012553577A 2011-01-17 2011-12-12 ネットワークシステム、コントローラ、スイッチ、及びトラフィック監視方法 Expired - Fee Related JP5717057B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012553577A JP5717057B2 (ja) 2011-01-17 2011-12-12 ネットワークシステム、コントローラ、スイッチ、及びトラフィック監視方法

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2011006719 2011-01-17
JP2011006719 2011-01-17
PCT/JP2011/078700 WO2012098786A1 (ja) 2011-01-17 2011-12-12 ネットワークシステム、コントローラ、スイッチ、及びトラフィック監視方法
JP2012553577A JP5717057B2 (ja) 2011-01-17 2011-12-12 ネットワークシステム、コントローラ、スイッチ、及びトラフィック監視方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2015013047A Division JP5958570B2 (ja) 2011-01-17 2015-01-27 ネットワークシステム、コントローラ、スイッチ、及びトラフィック監視方法

Publications (2)

Publication Number Publication Date
JPWO2012098786A1 JPWO2012098786A1 (ja) 2014-06-09
JP5717057B2 true JP5717057B2 (ja) 2015-05-13

Family

ID=46515423

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2012553577A Expired - Fee Related JP5717057B2 (ja) 2011-01-17 2011-12-12 ネットワークシステム、コントローラ、スイッチ、及びトラフィック監視方法
JP2015013047A Expired - Fee Related JP5958570B2 (ja) 2011-01-17 2015-01-27 ネットワークシステム、コントローラ、スイッチ、及びトラフィック監視方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2015013047A Expired - Fee Related JP5958570B2 (ja) 2011-01-17 2015-01-27 ネットワークシステム、コントローラ、スイッチ、及びトラフィック監視方法

Country Status (5)

Country Link
US (1) US20130304915A1 (ja)
EP (1) EP2667545A4 (ja)
JP (2) JP5717057B2 (ja)
CN (1) CN103314557B (ja)
WO (1) WO2012098786A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102066555B1 (ko) * 2018-11-01 2020-01-15 아토리서치(주) 소프트웨어 정의 네트워크를 이용하여 트래픽을 추적하는 방법, 장치 및 컴퓨터 프로그램

Families Citing this family (71)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012127894A1 (ja) * 2011-03-18 2012-09-27 日本電気株式会社 ネットワークシステム、及びスイッチ方法
US9246847B2 (en) * 2012-12-17 2016-01-26 Telefonaktiebolaget L M Ericsson (Publ) Extending the reach and effectiveness of header compression in access networks using SDN
US9100285B1 (en) 2012-12-18 2015-08-04 Juniper Networks, Inc. Dynamic control channel establishment for software-defined networks having centralized control
US9979595B2 (en) 2012-12-18 2018-05-22 Juniper Networks, Inc. Subscriber management and network service integration for software-defined networks having centralized control
CN103067245B (zh) * 2012-12-28 2015-10-28 中兴通讯股份有限公司 一种用于网络虚拟化的流表空间隔离装置及方法
WO2014107860A1 (zh) * 2013-01-10 2014-07-17 北京华为数字技术有限公司 报文处理方法、装置及系统
US9743371B2 (en) 2013-03-12 2017-08-22 Nec Corporation Control apparatus, communication system, synchronization method and program
EP2978172A4 (en) * 2013-03-22 2016-11-09 Nec Corp SYSTEM FOR PROVIDING NETWORK STATISTICS INFORMATION, METHOD FOR PROVIDING NETWORK STATISTICS INFORMATION AND PROGRAM
JP2014187521A (ja) * 2013-03-22 2014-10-02 Nec Corp トラフィック監視システム
KR20140134943A (ko) * 2013-05-15 2014-11-25 삼성전자주식회사 통신 망에서 소프트웨어 정의 네트워크를 이용한 데이터 전달 장치 및 방법
US9118571B2 (en) * 2013-07-08 2015-08-25 Telefonaktiebolaget L M Ericsson (Publ) Methods of operating load balancing switches and controllers using matching patterns with unrestricted characters
US9444683B2 (en) * 2013-07-19 2016-09-13 Verizon Patent And Licensing Inc. Traffic measurement system for wireless service providers
CN104579810B (zh) * 2013-10-23 2019-10-25 中兴通讯股份有限公司 软件定义网络流量采样方法和系统
CN103560951A (zh) * 2013-11-13 2014-02-05 华为技术有限公司 报文处理方法及物理转发设备
CN104639470B (zh) * 2013-11-14 2019-05-31 中兴通讯股份有限公司 流标识封装方法及系统
WO2015082016A1 (en) 2013-12-06 2015-06-11 Huawei Technologies Co., Ltd. Method and controller for chaining applications in a software defined network
WO2015119611A2 (en) * 2014-02-06 2015-08-13 Hewlett-Packard Development Company, L.P. Trace packet and path analysis in a software defined network
US9160631B1 (en) * 2014-03-04 2015-10-13 Google Inc. System and method for discovering impactful categories of traffic in live traffic experiments
WO2015143620A1 (zh) * 2014-03-25 2015-10-01 华为技术有限公司 一种数据流统计方法、系统和装置
CN106105153A (zh) * 2014-04-17 2016-11-09 华为技术有限公司 一种数据处理方法、控制方法及装置
CN105099721B (zh) * 2014-04-28 2018-12-07 华为技术有限公司 维护组播成员的方法及设备
US10003474B2 (en) 2014-05-01 2018-06-19 Metaswitch Networks Ltd Flow synchronization
US9491031B2 (en) * 2014-05-06 2016-11-08 At&T Intellectual Property I, L.P. Devices, methods, and computer readable storage devices for collecting information and sharing information associated with session flows between communication devices and servers
US10225195B2 (en) 2014-05-07 2019-03-05 Adtran, Inc. Telecommunication systems and methods using dynamic shaping for allocating network bandwidth
US10608940B2 (en) 2014-05-07 2020-03-31 Adtran, Inc. Systems and methods for allocating network bandwidth across access modules
US9729241B2 (en) * 2014-05-07 2017-08-08 Adtran, Inc. Telecommunication systems and methods using dynamic shaping for allocating network bandwidth
CN104104548B (zh) * 2014-08-01 2018-10-26 哈尔滨工程大学 一种基于sflow和owamp的网络安全态势信息获取系统及方法
KR101946173B1 (ko) 2014-08-19 2019-02-08 닛본 덴끼 가부시끼가이샤 통신 장치, 통신 시스템 및 통신 방법
WO2016029345A1 (zh) * 2014-08-25 2016-03-03 华为技术有限公司 网络流的信息统计方法和装置
US9634928B2 (en) * 2014-09-29 2017-04-25 Juniper Networks, Inc. Mesh network of simple nodes with centralized control
US20160142269A1 (en) * 2014-11-18 2016-05-19 Cisco Technology, Inc. Inline Packet Tracing in Data Center Fabric Networks
JP6462879B2 (ja) 2014-12-09 2019-01-30 華為技術有限公司Huawei Technologies Co.,Ltd. 適応的フローテーブルを処理する方法及び装置
US10142287B2 (en) 2015-04-06 2018-11-27 Nicira, Inc. Distributed network security controller cluster for performing security operations
US20160315866A1 (en) * 2015-04-27 2016-10-27 Telefonaktiebolaget L M Ericsson (Publ) Service based intelligent packet-in mechanism for openflow switches
JP6241450B2 (ja) 2015-06-02 2017-12-06 トヨタ自動車株式会社 タンクの製造方法
WO2017030054A1 (ja) * 2015-08-18 2017-02-23 株式会社ポコアポコネットワークス メモリ機器
JP6666686B2 (ja) * 2015-08-18 2020-03-18 株式会社ポコアポコネットワークス メモリ機器
WO2017071730A1 (en) * 2015-10-26 2017-05-04 Telefonaktiebolaget Lm Ericsson (Publ) Length control for packet header sampling
JP6556875B2 (ja) 2015-12-31 2019-08-07 華為技術有限公司Huawei Technologies Co.,Ltd. ソフトウェアディファインドデータセンタ及びそこにおけるサービスクラスタの配置方法
CN106101163A (zh) * 2016-08-29 2016-11-09 北京工业大学 基于OpenFlow的网络架构安全监控系统
WO2018066228A1 (ja) 2016-10-06 2018-04-12 日本電信電話株式会社 フロー情報解析装置、フロー情報解析方法及びフロー情報解析プログラム
TWI641251B (zh) 2016-11-18 2018-11-11 財團法人工業技術研究院 網路流量監控方法與系統
EP3619895A1 (en) * 2017-05-04 2020-03-11 Telefonaktiebolaget LM Ericsson (publ) Efficient troubleshooting in openflow switches
CN107317887B (zh) * 2017-08-23 2019-10-18 北京知道创宇信息技术股份有限公司 一种负载均衡方法、装置和系统
US11522797B2 (en) 2017-08-30 2022-12-06 Telefonaktiebolaget Lm Ericsson (Publ) Method and system for tracing packets in software defined networks
US11973784B1 (en) 2017-11-27 2024-04-30 Lacework, Inc. Natural language interface for an anomaly detection framework
US11785104B2 (en) 2017-11-27 2023-10-10 Lacework, Inc. Learning from similar cloud deployments
US12058160B1 (en) 2017-11-22 2024-08-06 Lacework, Inc. Generating computer code for remediating detected events
US12034754B2 (en) 2017-11-27 2024-07-09 Lacework, Inc. Using static analysis for vulnerability detection
US11818156B1 (en) 2017-11-27 2023-11-14 Lacework, Inc. Data lake-enabled security platform
US11765249B2 (en) 2017-11-27 2023-09-19 Lacework, Inc. Facilitating developer efficiency and application quality
US12126643B1 (en) 2017-11-27 2024-10-22 Fortinet, Inc. Leveraging generative artificial intelligence (‘AI’) for securing a monitored deployment
US11792284B1 (en) 2017-11-27 2023-10-17 Lacework, Inc. Using data transformations for monitoring a cloud compute environment
US10419469B1 (en) 2017-11-27 2019-09-17 Lacework Inc. Graph-based user tracking and threat detection
US11894984B2 (en) 2017-11-27 2024-02-06 Lacework, Inc. Configuring cloud deployments based on learnings obtained by monitoring other cloud deployments
US11849000B2 (en) 2017-11-27 2023-12-19 Lacework, Inc. Using real-time monitoring to inform static analysis
US20220232025A1 (en) 2017-11-27 2022-07-21 Lacework, Inc. Detecting anomalous behavior of a device
US11979422B1 (en) 2017-11-27 2024-05-07 Lacework, Inc. Elastic privileges in a secure access service edge
US11741238B2 (en) 2017-11-27 2023-08-29 Lacework, Inc. Dynamically generating monitoring tools for software applications
US20220232024A1 (en) 2017-11-27 2022-07-21 Lacework, Inc. Detecting deviations from typical user behavior
US12130878B1 (en) 2017-11-27 2024-10-29 Fortinet, Inc. Deduplication of monitored communications data in a cloud environment
US12095796B1 (en) 2017-11-27 2024-09-17 Lacework, Inc. Instruction-level threat assessment
US11770398B1 (en) 2017-11-27 2023-09-26 Lacework, Inc. Guided anomaly detection framework
US10965555B2 (en) * 2018-01-23 2021-03-30 Arista Networks, Inc. Accelerated network traffic sampling using an accelerated line card
US10938680B2 (en) 2018-01-23 2021-03-02 Arista Networks, Inc. Accelerated network traffic sampling using a network chip
US10756989B2 (en) 2018-01-23 2020-08-25 Arista Networks, Inc. Accelerated network traffic sampling for a non-accelerated line card
CN110300060B (zh) * 2018-03-23 2022-06-07 北京京东尚科信息技术有限公司 用于软件定义网络的通信方法和装置
CN112262553B (zh) 2018-06-13 2022-09-16 瑞典爱立信有限公司 在软件定义网络交换机的分组处理流水线中跟踪分组的装置和方法
CN111327485A (zh) * 2018-12-14 2020-06-23 中兴通讯股份有限公司 一种流表监测器管理方法、装置、网络设备及网络系统
US11201955B1 (en) 2019-12-23 2021-12-14 Lacework Inc. Agent networking in a containerized environment
US11256759B1 (en) 2019-12-23 2022-02-22 Lacework Inc. Hierarchical graph analysis

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008244640A (ja) * 2007-03-26 2008-10-09 Oki Electric Ind Co Ltd 監視情報解析システム、監視情報解析方法、監視情報解析プログラム、ネットワーク監視システム及び管理装置

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4636775B2 (ja) * 2002-10-15 2011-02-23 株式会社山武 ネットワーク監視システム
SE525800C2 (sv) * 2002-10-30 2005-04-26 Packetfront Sweden Ab Anordning och router i ett bredbandsnät som arbetar genom överföring av paketflöden, med ett av en central processorenhet omkopplat mjukvaruflöde och ett hårdvaruomkopplat accelerarat flöde
JP4341413B2 (ja) * 2003-07-11 2009-10-07 株式会社日立製作所 統計収集装置を備えたパケット転送装置および統計収集方法
US7266088B1 (en) * 2004-03-24 2007-09-04 The United States Of America As Represented By The National Security Agency Method of monitoring and formatting computer network data
US20070019548A1 (en) * 2005-07-22 2007-01-25 Balachander Krishnamurthy Method and apparatus for data network sampling
US7490392B2 (en) * 2005-12-07 2009-02-17 Steelcase Inc. Seating unit with formed cushion, and manufacturing method
JP4774357B2 (ja) 2006-05-18 2011-09-14 アラクサラネットワークス株式会社 統計情報収集システム及び統計情報収集装置
CA2669932A1 (en) * 2006-12-19 2008-06-26 International Business Machines Corporation Apparatus and method for analysing a network flow
US20080189769A1 (en) * 2007-02-01 2008-08-07 Martin Casado Secure network switching infrastructure
EP2597816B1 (en) * 2007-09-26 2019-09-11 Nicira Inc. Network operating system for managing and securing networks
US8169910B1 (en) * 2007-10-24 2012-05-01 Juniper Networks, Inc. Network traffic analysis using a flow table
US8072894B2 (en) * 2007-11-07 2011-12-06 Juniper Networks, Inc. Systems and methods for flow monitoring
JP5014282B2 (ja) 2008-08-06 2012-08-29 アラクサラネットワークス株式会社 通信データ統計装置、通信データ統計方法およびプログラム
JP5168166B2 (ja) * 2009-01-21 2013-03-21 富士通株式会社 通信装置および通信制御方法
JP5408243B2 (ja) * 2009-03-09 2014-02-05 日本電気株式会社 OpenFlow通信システムおよびOpenFlow通信方法
JP5612278B2 (ja) 2009-06-23 2014-10-22 パナソニック株式会社 三次元形状造形物の製造方法およびその製造装置
WO2011093288A1 (ja) * 2010-02-01 2011-08-04 日本電気株式会社 ネットワークシステム、コントローラ、ネットワーク制御方法
US9232011B2 (en) * 2010-03-26 2016-01-05 Microsoft Technology Licensing, Llc Tracking navigation flows within the same browser tab
US8503307B2 (en) * 2010-05-10 2013-08-06 Hewlett-Packard Development Company, L.P. Distributing decision making in a centralized flow routing system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008244640A (ja) * 2007-03-26 2008-10-09 Oki Electric Ind Co Ltd 監視情報解析システム、監視情報解析方法、監視情報解析プログラム、ネットワーク監視システム及び管理装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JPN6014037307; OpenFlow Switch Specification Version 1.0.0 ( Wire Protocol 0x01 ) , 20100917 *
JPN6014037308; David Erickson: [openflow-spec] Increasing Cookie Utility , 20100830 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102066555B1 (ko) * 2018-11-01 2020-01-15 아토리서치(주) 소프트웨어 정의 네트워크를 이용하여 트래픽을 추적하는 방법, 장치 및 컴퓨터 프로그램

Also Published As

Publication number Publication date
EP2667545A4 (en) 2017-08-23
JP2015111902A (ja) 2015-06-18
JP5958570B2 (ja) 2016-08-02
WO2012098786A1 (ja) 2012-07-26
CN103314557A (zh) 2013-09-18
EP2667545A1 (en) 2013-11-27
JPWO2012098786A1 (ja) 2014-06-09
CN103314557B (zh) 2017-01-18
US20130304915A1 (en) 2013-11-14

Similar Documents

Publication Publication Date Title
JP5958570B2 (ja) ネットワークシステム、コントローラ、スイッチ、及びトラフィック監視方法
JP6609024B2 (ja) ネットワーク中で、トラフィックを監視する方法、および、装置
JP4774357B2 (ja) 統計情報収集システム及び統計情報収集装置
US7995477B2 (en) Collecting network traffic information
JP5660198B2 (ja) ネットワークシステム、及びスイッチ方法
JP5557066B2 (ja) スイッチシステム、モニタリング集中管理方法
US10243862B2 (en) Systems and methods for sampling packets in a network flow
JP5300076B2 (ja) コンピュータシステム、及びコンピュータシステムの監視方法
JP5846221B2 (ja) ネットワークシステム、及びトポロジー管理方法
US7742406B1 (en) Coordinated environment for classification and control of network traffic
US10075371B2 (en) Communication system, control apparatus, packet handling operation setting method, and program
US9276852B2 (en) Communication system, forwarding node, received packet process method, and program
US9461893B2 (en) Communication system, node, statistical information collection device, statistical information collection method and program
JP2006254134A (ja) 通信統計収集装置
CN110278152B (zh) 一种建立快速转发表的方法及装置
JP7103883B2 (ja) 通信システム、通信制御方法、及び通信装置
US20130275620A1 (en) Communication system, control apparatus, communication method, and program
JP5534033B2 (ja) 通信システム、ノード、パケット転送方法およびプログラム
Krishnan et al. Mechanisms for optimizing link aggregation group (LAG) and equal-cost multipath (ECMP) component link utilization in networks
JP2012151689A (ja) トラヒック情報収集装置、ネットワーク制御装置およびトラヒック情報収集方法
Thien Fine-Grained and Distributed Traffic Monitoring Platform in Software-Defined Networks
Ghanwani et al. Internet Engineering Task Force (IETF) R. Krishnan Request for Comments: 7424 Brocade Communications Category: Informational L. Yong
JP2005025689A (ja) Snmp−mibを用いたサービス品質管理システム、その方法および品質管理プログラム
JP2007235813A (ja) ネットワーク帯域制御システム、管理装置及びネットワーク帯域制御方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140902

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141104

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141128

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150127

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

R150 Certificate of patent or registration of utility model

Ref document number: 5717057

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150308

LAPS Cancellation because of no payment of annual fees