JP5510687B2 - ネットワークシステム、及び通信トラフィック制御方法 - Google Patents

ネットワークシステム、及び通信トラフィック制御方法 Download PDF

Info

Publication number
JP5510687B2
JP5510687B2 JP2012540733A JP2012540733A JP5510687B2 JP 5510687 B2 JP5510687 B2 JP 5510687B2 JP 2012540733 A JP2012540733 A JP 2012540733A JP 2012540733 A JP2012540733 A JP 2012540733A JP 5510687 B2 JP5510687 B2 JP 5510687B2
Authority
JP
Japan
Prior art keywords
packet
switch
storm
controller
packets
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
JP2012540733A
Other languages
English (en)
Other versions
JPWO2012056816A1 (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 JP2012540733A priority Critical patent/JP5510687B2/ja
Publication of JPWO2012056816A1 publication Critical patent/JPWO2012056816A1/ja
Application granted granted Critical
Publication of JP5510687B2 publication Critical patent/JP5510687B2/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/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • H04L47/323Discarding or blocking control packets, e.g. ACK packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • 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/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/55Prevention, detection or correction of errors
    • H04L49/555Error detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/55Prevention, detection or correction of errors
    • H04L49/557Error correction, e.g. fault recovery or fault tolerance
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/38Flow based routing
    • 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
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/70Routing based on monitoring results

Description

本発明は、ネットワークシステムに関し、特にオープンフロー(OpenFlow)対応機器に付随するトラフィックストームの制御を行うネットワークシステムに関する。
ネットワーク通信の経路制御方式の1つとして、通信機器の制御プロトコルであるオープンフロー(OpenFlow)技術を使用した経路制御方式が研究されている。オープンフロー技術の詳細については、非特許文献1、2に記載されている。オープンフロー技術による経路制御が行われるネットワークを、オープンフローネットワークと呼ぶ。
オープンフローネットワークでは、OFC(OpenFlow Controller)等のコントローラーが、OFS(OpenFlow Switch)等のスイッチのフローテーブル(Flow Table)を操作することによりスイッチの挙動を制御する。コントローラーとスイッチの間は、コントローラーがオープンフロープロトコルに準拠した制御メッセージを用いてスイッチを制御するためのセキュアチャネル(Secure Channel)により接続されている。
オープンフローネットワークにおけるスイッチとは、オープンフローネットワークを形成し、コントローラーの制御下にあるエッジスイッチ及びコアスイッチのことである。オープンフローネットワークにおける入力側エッジスイッチでのパケット(通信データ)の受信から出力側エッジスイッチでの送信までのパケットの一連の流れをフロー(Flow)と呼ぶ。
フローテーブルとは、所定のルール(マッチ条件)に適合するパケット群(パケット系列)に対して行うべき所定のアクション(処理内容)を定義したフローエントリ(Flow entry)が登録されたテーブルである。
フローエントリのルールは、パケットの各プロトコル階層のヘッダ(header)領域に含まれる宛先アドレス(Destination Address)、送信元アドレス(Source Address)、宛先ポート(Destination Port)、送信元ポート(Source Port)のいずれか又は全てを用いた様々な組合せにより定義され、区別可能である。なお、上記のアドレスには、MACアドレス(Media Access Control Address)やIPアドレス(Internet Protocol Address)を含むものとする。また、上記に加えて、入口ポート(Ingress Port)の情報も、フローエントリのルールとして使用可能である。
フローエントリのアクションは、「特定のポートに出力する」、「廃棄する」、「ヘッダを書き換える」といった動作を示す。例えば、スイッチは、フローエントリのアクションに出力ポートの識別情報(出力ポート番号等)が示されていれば、これに該当するポートにパケットを出力し、出力ポートの識別情報が示されていなければ、パケットを破棄する。或いは、スイッチは、フローエントリのアクションにヘッダ情報が示されていれば、当該ヘッダ情報に基づいてパケットのヘッダを書き換える。
オープンフローネットワークにおけるスイッチは、フローテーブルに登録されたフローエントリのルールに適合するパケット群に対して、当該フローエントリのアクションを実行する。
一般に、メッシュ(mesh:格子、網目)型トポロジー(topology:接続形態)等のネットワークでは、ループとなる経路が発生する場合がある。
例えば、図1に示すように、メッシュ型トポロジー等のネットワークで経路制御を誤ると、ブロードキャストが送信された場合にそのパケット(又はフレーム)がループし、更に増殖して、帯域を圧迫し通信に影響が出る。なお、フレームとは、OSI参照モデルのデータリンク層における通信データの伝送単位である。パケットとは、OSI参照モデルのネットワーク層における通信データの伝送単位である。
上記の問題を解決するための従来の手法として、ブロードキャストフレームがある一定の閾値に達したとき、閾値を越えたフレームを破棄(Drop)する、若しくはそのポートを遮断(Down)するというものがある。
しかし、上記の手法をオープンフローネットワークに適用した場合、本来は正常に転送(送受信)されるはずのフレームが破棄(又は遮断)され転送されない可能性がある。
関連する技術として、特許文献1(特開2006−352263号公報)に通信制御方法及び、これを適用する通信装置が開示されている。この関連技術では、サブネット内の中継スイッチに接続された複数のエンドホスト間でデータの送受を行う通信システムにおいて、中継スイッチにおけるL2レベルの誤接続により発生するパケットループによる通信障害を回復する通信制御方法であって、サブネットを構成する、通信させたいエンドホストの送信元MACアドレス以外のMACアドレスを送信元として、パケットを連続して送信し、これにより、パケットループを停止させ、ついで、送信先のエンドホストのMACアドレスを送信先MACアドレスとしてパケットデータを送信する。
また、特許文献2(特開平11−112544号公報)にLAN(Local Area Network)スイッチが開示されている。この関連技術では、装置単位VLAN(Virtual LAN:仮想LAN)機能を有するLANスイッチが、VLANマルチキャストフレームカウント部と、受信フレーム破棄部を備えている。VLANマルチキャストフレームカウント部は、単位時間当たりの値が一定の閾値以上になるVLANブロードキャストマルチキャストカウンタがある場合に該当VLANのVLANリミッタフラグを立てる。受信フレーム破棄部は、受信フレームの宛先アドレスがブロードキャストアドレス若しくはマルチキャストアドレスであり、かつVLANリミッタフラグが立っているVLANに該当している場合に受信フレームを破棄する。
特開2006−352263号公報 特開平11−112544号公報
"The OpenFlow Switch Consortium",[online],インターネット(URL:http://www.openflowswitch.org/) "OpenFlow Switch Specification, Version 1.0.0",[online],December 31,2009,インターネット(URL:http://www.openflowswitch.org/documents/openflow−spec−v1.0.0.pdf)
オープンフロー(OpenFlow)ネットワークのような自由度が高いルーティング環境においては、ネットワーク構築をする者がルーティングの誤設定を行ってしまう可能性があることが懸念される。
オープンフローネットワークでは、多岐に渡るキーの組合せでフロー毎の経路を選択するため、設定によってループを形成することは容易である。そのため、ルーティングの誤設定により、意図せず、ループを形成してしまう可能性もある。
仮に、ループを持つオープンフローネットワークにおいて、トラフィックストーム(ブロードキャストストーム、マルチキャストストーム、若しくはユニキャストストームのいずれか)が発生した場合、従来の手法で解決を図ると、本来破棄されるべきでないパケット(又はフレーム)が破棄されるという不具合や、ポート自体が遮断(Down)することで他の通信にまで影響が及ぶという不具合が生じる可能性がある。
本発明の目的は、オープンフローネットワークでトラフィックストームが発生した場合、フロー単位で原因のパケットを破棄し、無差別なパケットの破棄やポート自体のダウンを行わないネットワークシステムを提供することである。
本発明に係るネットワークシステムは、内部のフローテーブルに登録されたエントリに従って、パケットを転送するスイッチと、スイッチに対するパケットサンプリングの結果、サンプリングしたパケットがトラフィックストームの原因であると判明した場合、当該パケットを指定するマッチ条件と当該パケットを破棄するアクションとが定義された破棄用エントリを、スイッチに対して設定するコントローラーとを含む。スイッチは、トラフィックストームが発生した場合、破棄用エントリに従って、フロー単位で原因のパケットを破棄する。
本発明に係る通信トラフィック制御方法では、スイッチにおいて、内部のフローテーブルに登録されたエントリに従って、パケットを転送する。また、コントローラーにおいて、スイッチに対するパケットサンプリングの結果、サンプリングしたパケットがトラフィックストームの原因であると判明した場合、当該パケットを指定するマッチ条件と当該パケットを破棄するアクションとが定義された破棄用エントリを、スイッチに対して設定する。また、スイッチにおいて、トラフィックストームが発生した場合、破棄用エントリに従って、フロー単位で原因のパケットを破棄する。
本発明に係るプログラムは、上記の通信トラフィック制御方法におけるコントローラーとして処理を、計算機に実行させるためのプログラムである。なお、本発明に係るプログラムは、記憶装置や記憶媒体に格納することが可能である。
ポートのUP(接続状態)が維持されることにより、ループ環境にあっても、オープンフロー制御によってループせず、正常に転送されるパケットが存在する場合、それらのパケットに影響を出さない。
従来のネットワークシステムにおける課題を説明するための図である。 本発明に係るネットワークシステムの構成例を示す図である。 本発明に係るネットワークシステムの実施例を説明するための図である。 本発明に係るネットワークシステムにおける動作を示すフローチャートである。 本発明に係るネットワークシステムにおける動作を示すフローチャートである。 本発明に係るコントローラーの構成例を示す図である。
<実施形態>
以下に、本発明の実施形態について添付図面を参照して説明する。
[システム構成]
図2に示すように、本発明に係るネットワークシステムは、スイッチ(SW)10(10−i、i=1〜n:nはスイッチ数)と、コントローラー(Controller)20と、端末30を含む。
スイッチ10(10−i、i=1〜n)、及びコントローラー20は、オープンフローネットワークを形成する。スイッチ10(10−i、i=1〜n)は、オープンフローネットワークにおけるノード(node)である。
スイッチ10(10−i、i=1〜n)は、内部にフローテーブルを持ち、フローテーブルに登録されたエントリに従って、パケットを転送する。
また、スイッチ10(10−i、i=1〜n)は、定期的に、転送パケットの統計情報をコントローラー20に通知する。
スイッチ10(10−i、i=1〜n)は、ポート毎に、プロトコル(TCP、UDP、ICMP等)単位の統計、或いはアクション単位の統計を取り、統計情報として保持している。コントローラー20とスイッチ10(10−i、i=1〜n)間でのメッセージの送受信の統計も統計情報となる。コントローラー20とスイッチ10(10−i、i=1〜n)間では、オープンフロープロトコルで規定されたメッセージで通信が行われている。以下、オープンフロープロトコルで規定されたメッセージを、オープンフロープロトコルメッセージ(OpenFlow Protocol Message)と呼ぶ。
また、スイッチ10(10−i、i=1〜n)は、オープンフロー(OpenFlow)ネットワークでトラフィックストーム(ブロードキャストストーム、マルチキャストストーム、若しくはユニキャストストームのいずれか)が発生した場合、フロー単位で原因のパケット(又はフレーム)を破棄し、無差別なパケットの破棄やポート自体のダウンを行わない。なお、ユニキャストストームとは、フローテーブルに該当エントリが未登録のパケットが原因のストームである。
ここでは、スイッチ10(10−i、i=1〜n)として、スイッチ10−1(SW1)、スイッチ10−2(SW2)、スイッチ10−3(SW3)及びスイッチ10−4(SW4)を示す。
コントローラー20は、定期的に、配下のスイッチ10(10−i、i=1〜n)の各々から、転送パケットの統計情報を取得し、これらの統計情報から、トラフィックの短期間における増大を検知する。
また、コントローラー20は、トラフィックの増大を検知した場合、ストーム検知モードを起動する。コントローラー20は、ストーム検知モードでは、一定期間、無作為に該当スイッチ10から転送されてきたパケットを抽出する。ここでは、無作為に抽出されたパケットを、サンプルパケットと呼ぶ。すなわち、コントローラー20は、ストーム検知モードにおいて、パケットサンプリングを行う。
また、コントローラー20は、このサンプルパケットから、該当スイッチ10で転送されている膨大なパケットがトラフィックストームであるか判断する。
また、コントローラー20は、パケットがトラフィックストームである場合、解析したサンプルパケットの情報から、ストームの原因となるパケットを指定するマッチ条件と、そのパケットを破棄するアクションが定義されたエントリを「FlowMod」メッセージによって該当スイッチ10の該当ポートに対して設定する。
なお、「FlowMod」メッセージとは、オープンフロープロトコルメッセージ(OpenFlow Protocol Message)の1つであり、コントローラーからスイッチのフローテーブルにエントリを登録・変更するためのメッセージである。すなわち、コントローラー20は、スイッチ20に向けて「FlowMod」メッセージを送信することによって、スイッチ20のフローテーブルにエントリを登録・変更する。
端末30は、スイッチ10(10−i、i=1〜n)のいずれかと接続されており、オープンフローネットワーク内に、トラフィックストームの原因となるARP(Address Resolution Protocol)パケットを送信する。すなわち、端末30は、オープンフローネットワークに対して、パケットのフラッディング(Flooding)等を行う。
[ハードウェアの例示]
スイッチ10(10−i、i=1〜n)の例として、オープンフロースイッチを想定している。オープンフロースイッチの例として、ネットワークスイッチ(network switch)、マルチレイヤスイッチ(multi−layer switch)等が考えられる。マルチレイヤスイッチは、サポートするOSI参照モデルの層毎に、更に細かく分類されている。主な種別としては、ネットワーク層(第3層)のデータを読むレイヤ3スイッチ、トランスポート層(第4層)のデータを読むレイヤ4スイッチ、アプリケーション層(第7層)のデータを読むレイヤ7スイッチ(アプリケーションスイッチ)がある。なお、オープンフローネットワークでは、一般的なルータやスイッチングハブ等の中継装置をオープンフロースイッチとして使用することもできる。また、スイッチ10(10−i、i=1〜n)は、物理マシン上に構築された仮想スイッチでも良い。また、スイッチ10(10−i、i=1〜n)の代替例として、ルータ(router)、プロキシ(proxy)、ゲートウェイ(gateway)、ファイアウォール(firewall)、ロードバランサ(load balancer:負荷分散装置)、帯域制御装置(packet shaper)、セキュリティ監視制御装置(SCADA:Supervisory Control And Data Acquisition)、ゲートキーパー(gatekeeper)、基地局(base station)、アクセスポイント(AP:Access Point)、通信衛星(CS:Communication Satellite)、或いは、複数の通信ポートを有する計算機等も考えられる。
コントローラー20の例として、PC(パソコン)、アプライアンス(appliance)、ワークステーション、メインフレーム、スーパーコンピュータ等の計算機を想定している。また、コントローラー20は、物理マシン上に構築された仮想マシン(VM:Virtual Machine)でも良い。
端末30の例として、上記の計算機や、携帯電話機、カーナビ(カーナビゲーションシステム)、携帯型ゲーム機、家庭用ゲーム機、ガジェット(電子機器)、双方向テレビ、デジタルチューナー、デジタルレコーダー、情報家電(information home appliance)、OA(Office Automation)機器等が考えられる。端末30は、車両や船舶、航空機等の移動体に搭載されていても良い。
スイッチ10(10−i、i=1〜n)の各々、コントローラー20、及び端末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(登録商標)、シリアル通信回線、データバス等も考えられる。
図示しないが、スイッチ10(10−i、i=1〜n)の各々、コントローラー20、及び端末30は、プログラムに基づいて駆動し所定の処理を実行するプロセッサと、当該プログラムや各種データを記憶するメモリと、通信用インターフェース(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)等のネットワークアダプタや同様の拡張カード、アンテナ等の通信装置、接続口(コネクタ)等の通信ポート等が考えられる。
但し、実際には、これらの例に限定されない。
[実施例]
図3に示すように、スイッチ10−1(SW1)、スイッチ10−2(SW2)及びスイッチ10−3(SW3)によってループが構成されるネットワーク構成を例に説明する。
このネットワーク構成において、端末30がスイッチ10−4(SW4)と接続されており、スイッチ10−4(SW4)は、スイッチ10−2(SW2)と接続されている。
また、このネットワーク構成において、コントローラー20は、スイッチ10(10−i、i=1〜n)の各々と、セキュアチャネル(Secure Channel)によって接続され、各スイッチ10の制御をしている。
この状態において、端末30は、トラフィックストームの原因となるARPパケットを送信する。
[基本動作]
図4A、図4Bを参照して、本発明に係るネットワークシステムにおける各装置の動作について説明する。
(1)ステップS101
コントローラー20は、一定間隔で(定期的に)、各制御対象のスイッチ10のポート毎の統計情報を取得している。例えば、コントローラー20は、所定のオープンフロープロトコルメッセージ(OpenFlow Protocol Message)を各制御対象のスイッチ10に送信することで、スイッチ10の統計情報を取得することができる。コントローラー20は、スイッチ10の装置全体の統計情報だけでなく、ある程度選定した統計情報を取得するために統計情報要求メッセージで選択することも可能である。スイッチ10は、コントローラー20からの統計情報要求メッセージに従って、統計情報をコントローラー20に通知する。統計情報の要素として、統計情報自体の識別情報(統計情報を取得した時間帯等)、スイッチ識別情報(IPアドレス等)、ポート識別情報(ポート番号等)、マッチ条件(パケット識別情報)、パケット数(パケット流出量/流入量)、バイト数(データサイズ)、送受信されたパケットのプロトコル、或いは、実行されたアクション等が考えられる。スイッチ識別情報及びポート識別情報は、マッチ条件に含まれていても良い。但し、実際には、これらの例に限定されない。
(2)ステップS102
コントローラー20は、制御対象のスイッチ10でトラフィックストームが発生した場合、発生しているポートの統計情報から、時間毎(一定期間/単位時間当たり)の転送パケット数の差分が設定閾値を越え、更にパケット数の量が線形的に単純増加をしているか判断する。ここでは、コントローラー20は、パケット数をカウントしており、現在のパケット数と前回のパケット数との差分が設定閾値を越えて増大しているか判断する。
(3)ステップS103
コントローラー20は、現在のパケット数と前回のパケット数との差分が設定閾値を越えて増大している場合、前回のストーム検知モード終了時より所定時間(例えば1時間)が経過しているか判断する。
(4)ステップS104
コントローラー20は、前回のストーム検知モード終了時より所定時間が経過している場合、ストーム検知モードを起動する。
(5)ステップS105
コントローラー20は、該当スイッチ10にサンプルとして無作為に選択されたパケットのコピー(サンプルパケット)をコントローラー20に転送するよう要求し、パケットサンプリングを行う。コントローラー20は、このパケットサンプリングにより、高確率でARPパケットを検出する。
(6)ステップS106
コントローラー20は、パケットサンプリングの結果から、ブロードキャストストーム、マルチキャストストーム、若しくはユニキャストストームのいずれかであるか判断する。ここでは、コントローラー20は、パケットサンプリングの結果から、ARPパケットのブロードキャストストームが原因で、トラフィックがストームを発生していることを特定する。
(7)ステップS107
コントローラー20は、このARPパケットの情報を基に、このARPパケットに対する所定の処理(アクション)として「破棄処理(Drop Action)」が定義されたエントリを「FlowMod」メッセージによって該当スイッチ10の該当ポートに設定する。
(8)ステップS108
該当スイッチ10は、この「FlowMod」メッセージの内容に従って、フローテーブルに、このARPパケットに対する所定の処理(アクション)として「破棄処理(Drop Action)」が定義されたエントリを登録し、当該エントリのマッチ条件(ルール)に適合するARPパケットを破棄し、転送しない。よって、該当ARPパケットのみ消滅し、ネットワークはブロードキャストストームから復帰する。
(9)ステップS109
コントローラー20は、先の「FlowMod」メッセージを該当スイッチ10に送信した直後から、一定期間、該当スイッチ10のポートを監視する。
(10)ステップS110
コントローラー20は、該当スイッチ10のキュー或いは時間毎の転送パケット数の量が設定した閾値を下回っているか判断する。
(11)ステップS111
コントローラー20は、ブロードキャストストーム、マルチキャストストーム、若しくはユニキャストストームのいずれでもない場合、又は、該当スイッチ10のキュー或いは時間毎の転送パケット数の量が設定した閾値以上である場合、アラーム(Alarm)等で所定の通知先(管理者等)に警告を通知する。また、コントローラー20は、経路制御を行い、該当スイッチ10によるパケット転送を制限する。例えば、コントローラー20は、該当スイッチ10を避けて他のスイッチ10を経由する経路を、その経路上のスイッチ10に設定し、該当スイッチ10によるパケット転送を制限する。
(12)ステップS112
コントローラー20は、該当スイッチ10のキュー或いは時間毎の転送パケット数の量が設定した閾値を下回ったことを確認した場合、トラフィックストームが解消したと判断し、ストーム検知モードを終了する。
なお、コントローラー20は、トラフィックストームが解消したと判断し、ストーム検知モードを終了した場合、先の「FlowMod」メッセージ(「破棄処理」が指定された「FlowMod」メッセージ)により登録されたエントリを、該当スイッチ10のフローテーブルから削除するようにしても良い。
本発明は、上記のネットワーク構成以外でのループ構成、またはブロードキャストに限定しないトラフィックの増大によるネットワーク負荷(マルチキャスト/ユニキャストストーム)においても有効である。
更に、「FlowMod」メッセージによりストーム対象パケットを操作するため、そのアクションは破棄に限らず、ネットワークの管理者が選択できる。例えば、「FlowMod」メッセージに、ストーム対象パケットを特定のスイッチに転送するように定義しても良い。
[コントローラーの構成]
図5を参照して、コントローラー20の構成の詳細について説明する。
コントローラー20は、統計情報取得部21と、パケットサンプリング開始部22と、パケットサンプリング終了部23と、ストーム判定部24と、ストーム検知部25を備える。
統計情報取得部21は、定期的に、スイッチ10から転送パケットの統計情報を取得する。
パケットサンプリング開始部22は、統計情報から、転送パケットの増加量が設定閾値を超過した旨を検知した場合、前回のパケットサンプリングの終了時より所定時間が経過していれば、スイッチ10に対するパケットサンプリングを開始する。
パケットサンプリング終了部23は、統計情報から、転送パケットの増加量が設定閾値を下回った旨を検知したスイッチ10に対するパケットサンプリングを終了する。
ストーム判定部24は、パケットサンプリングの結果から、ブロードキャストストーム、マルチキャストストーム、若しくはユニキャストストームのいずれかであるか判断する。
ストーム検知部25は、ブロードキャストストーム、マルチキャストストーム、若しくはユニキャストストームのいずれかである場合、サンプリングしたパケットがトラフィックストームの原因であると判断する。
[まとめ]
以上のように、本発明は、オープンフローネットワークでトラフィックストームが発生した場合、フロー単位で原因のパケットを破棄し、無差別なパケットの破棄やポート自体のダウンを行わない手法である。
コントローラーが定期的に取得している制御配下の個々スイッチの統計情報から、トラフィックの短期間における増大を検知する。コントローラーは、トラフィックの増大を検知した場合、ストーム検知モードを起動する。ストーム検知モードでは、一定期間、該当スイッチから無作為にパケット(サンプルパケット)を抽出する。コントローラーは、このサンプルパケットから、該当スイッチで転送されている膨大なパケットが、ブロードキャストストーム、マルチキャストストーム、若しくはユニキャストストームのいずれかであるか判断する。コントローラーは、当該パケットがトラフィックストームである場合、解析したサンプルパケットの情報から、ストームの原因となるパケット情報と、そのパケットを破棄するアクションが定義されたエントリを「FlowMod」メッセージによって該当スイッチの該当ポートに対して設定する。
本発明では、ポートのUP(接続状態)が維持されることにより、ループ環境にあっても、オープンフロー制御によってループせず、正常に転送されるパケットが存在する場合、それらのパケットに影響を出さない。
よって、オープンフローの特性を損なうことがなく、更にオープンフローの特性を生かし、原因となるパケットに絞ったパケット破棄が可能である。更に、この発明を実施するにあたり、追加となる機器はなく、既存のオープンフロー環境で行うことができる。
<付記>
上記の実施形態の一部又は全部は、以下の付記のように記載することも可能である。但し、実際には、以下の記載例に限定されない。
(付記1)
内部のフローテーブルに登録されたエントリに従ってパケットを転送するスイッチを監視し、前記スイッチに対するパケットサンプリングを行う手段と、
前記スイッチに対するパケットサンプリングの結果、サンプリングしたパケットがトラフィックストームの原因であると判明した場合、当該パケットを指定するマッチ条件と当該パケットを破棄するアクションとが定義された破棄用エントリを、前記スイッチに対して設定し、前記スイッチ上でトラフィックストームが発生した場合、前記破棄用エントリに従って前記スイッチがフロー単位で原因のパケットを破棄するように制御する手段と
を具備する
コントローラー。
以上、本発明の実施形態を詳述してきたが、実際には、上記の実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の変更があっても本発明に含まれる。
なお、本出願は、日本出願番号2010−242248に基づく優先権を主張するものであり、日本出願番号2010−242248における開示内容は引用により本出願に組み込まれる。

Claims (8)

  1. 内部のフローテーブルに登録されたエントリに従って、パケットを転送するスイッチと、
    前記スイッチが他のスイッチと通信するパケットを無作為に抽出するパケットサンプリングの結果、サンプリングしたパケットがトラフィックストームの原因であると判明した場合、当該パケットを指定するマッチ条件と当該パケットを破棄するアクションとが定義された破棄用エントリを、前記スイッチに対して設定するコントローラーと
    を含み、
    前記スイッチは、トラフィックストームが発生した場合、前記破棄用エントリに従って、フロー単位で原因のパケットを破棄する
    ネットワークシステム。
  2. 請求項1に記載のネットワークシステムであって、
    前記コントローラーは、
    定期的に、前記スイッチから転送パケットの統計情報を取得する手段と、
    前記統計情報から、転送パケットの増加量が設定閾値を超過した旨を検知した場合、前回のパケットサンプリングの終了時より所定時間が経過していれば、前記スイッチに対するパケットサンプリングを開始する手段と、
    前記統計情報から、転送パケットの増加量が設定閾値を下回った旨を検知した前記スイッチに対するパケットサンプリングを終了する手段と
    を具備する
    ネットワークシステム。
  3. 請求項1又は2に記載のネットワークシステムであって、
    前記コントローラーは、
    前記パケットサンプリングの結果から、ブロードキャストストーム、マルチキャストストーム、若しくはユニキャストストームのいずれかであるか判断する手段と、
    ブロードキャストストーム、マルチキャストストーム、若しくはユニキャストストームのいずれかである場合、サンプリングしたパケットがトラフィックストームの原因であると判断する手段と
    を更に具備する
    ネットワークシステム。
  4. 請求項1乃至3のいずれか一項に記載のネットワークシステムで使用されるコントローラー。
  5. スイッチにおいて、内部のフローテーブルに登録されたエントリに従って、パケットを転送することと、
    コントローラーにおいて、前記スイッチが他のスイッチと通信するパケットを無作為に抽出するパケットサンプリングの結果、サンプリングしたパケットがトラフィックストームの原因であると判明した場合、当該パケットを指定するマッチ条件と当該パケットを破棄するアクションとが定義された破棄用エントリを、前記スイッチに対して設定することと、
    前記スイッチにおいて、トラフィックストームが発生した場合、前記破棄用エントリに従って、フロー単位で原因のパケットを破棄することと
    を含む
    通信トラフィック制御方法。
  6. 請求項5に記載の通信トラフィック制御方法であって、
    前記コントローラーにおいて、定期的に、前記スイッチから転送パケットの統計情報を取得する手段と、
    前記統計情報から、転送パケットの増加量が設定閾値を超過した旨を検知した場合、前回のパケットサンプリングの終了時より所定時間が経過していれば、前記スイッチに対するパケットサンプリングを開始することと、
    前記統計情報から、転送パケットの増加量が設定閾値を下回った旨を検知した前記スイッチに対するパケットサンプリングを終了することと
    を更に含む
    通信トラフィック制御方法。
  7. 請求項5又は6に記載の通信トラフィック制御方法であって、
    前記コントローラーにおいて、前記パケットサンプリングの結果から、ブロードキャストストーム、マルチキャストストーム、若しくはユニキャストストームのいずれかであるか判断することと、
    ブロードキャストストーム、マルチキャストストーム、若しくはユニキャストストームのいずれかである場合、サンプリングしたパケットがトラフィックストームの原因であると判断することと
    を更に含む
    通信トラフィック制御方法。
  8. 請求項5乃至7のいずれか一項に記載の通信トラフィック制御方法におけるコントローラーとしての処理を、計算機に実行させるためのプログラムを格納した記憶媒体。
JP2012540733A 2010-10-28 2011-09-12 ネットワークシステム、及び通信トラフィック制御方法 Expired - Fee Related JP5510687B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012540733A JP5510687B2 (ja) 2010-10-28 2011-09-12 ネットワークシステム、及び通信トラフィック制御方法

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2010242248 2010-10-28
JP2010242248 2010-10-28
JP2012540733A JP5510687B2 (ja) 2010-10-28 2011-09-12 ネットワークシステム、及び通信トラフィック制御方法
PCT/JP2011/070726 WO2012056816A1 (ja) 2010-10-28 2011-09-12 ネットワークシステム、及び通信トラフィック制御方法

Publications (2)

Publication Number Publication Date
JPWO2012056816A1 JPWO2012056816A1 (ja) 2014-03-20
JP5510687B2 true JP5510687B2 (ja) 2014-06-04

Family

ID=45993546

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012540733A Expired - Fee Related JP5510687B2 (ja) 2010-10-28 2011-09-12 ネットワークシステム、及び通信トラフィック制御方法

Country Status (8)

Country Link
US (1) US20130188489A1 (ja)
EP (1) EP2634977A4 (ja)
JP (1) JP5510687B2 (ja)
CN (1) CN103181128A (ja)
CA (1) CA2814830A1 (ja)
RU (1) RU2576480C2 (ja)
TW (1) TWI456950B (ja)
WO (1) WO2012056816A1 (ja)

Families Citing this family (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9787580B2 (en) 2011-01-13 2017-10-10 Nec Corporation Network system and routing method
US9270476B2 (en) * 2012-01-17 2016-02-23 Telefonaktiebolaget L M Ericsson Methods and apparatus for network protection
US9184995B2 (en) * 2012-04-11 2015-11-10 Gigamon Inc. Traffic visibility in an open networking environment
WO2013155535A1 (en) 2012-04-13 2013-10-17 Tekelec, Inc. Methods, systems, and computer readable media for performing diameter overload control
CN103929334B (zh) 2013-01-11 2018-02-23 华为技术有限公司 网络异常通知方法和装置
US9537904B2 (en) 2013-01-24 2017-01-03 Tekelec, Inc. Methods, systems, and computer readable media for using policy knowledge of or obtained by a policy and charging rules function (PCRF) for needs based forwarding of bearer session traffic to network nodes
US9769074B2 (en) 2013-03-15 2017-09-19 International Business Machines Corporation Network per-flow rate limiting
US9407560B2 (en) 2013-03-15 2016-08-02 International Business Machines Corporation Software defined network-based load balancing for physical and virtual networks
US9104643B2 (en) 2013-03-15 2015-08-11 International Business Machines Corporation OpenFlow controller master-slave initialization protocol
US9596192B2 (en) 2013-03-15 2017-03-14 International Business Machines Corporation Reliable link layer for control links between network controllers and switches
US9609086B2 (en) 2013-03-15 2017-03-28 International Business Machines Corporation Virtual machine mobility using OpenFlow
US9118984B2 (en) 2013-03-15 2015-08-25 International Business Machines Corporation Control plane for integrated switch wavelength division multiplexing
US9444748B2 (en) 2013-03-15 2016-09-13 International Business Machines Corporation Scalable flow and congestion control with OpenFlow
US20140301226A1 (en) * 2013-04-09 2014-10-09 Electronics And Telecommunications Research Institute Apparatus and method for network monitoring and packet inspection
JPWO2014175335A1 (ja) * 2013-04-24 2017-02-23 日本電気株式会社 制御装置、計算機システム、通信制御方法及びプログラム
CN104243337B (zh) * 2013-06-09 2017-09-01 新华三技术有限公司 一种跨集群负载均衡的方法及装置
US9450872B2 (en) 2013-06-24 2016-09-20 Oracle International Corporation Methods, systems and computer readable media for collecting and distributing diameter overload control information to non-adjacent nodes
US9369386B2 (en) 2013-07-31 2016-06-14 Oracle International Corporation Methods, systems, and computer readable media for destination-host defined overload scope
US9391897B2 (en) * 2013-07-31 2016-07-12 Oracle International Corporation Methods, systems, and computer readable media for mitigating traffic storms
US9240949B2 (en) 2013-07-31 2016-01-19 Oracle International Corporation Methods, systems and computer readable media for predicting overload conditions using load information
CN104348656B (zh) * 2013-08-07 2018-09-07 中国移动通信集团北京有限公司 一种数据采集方法和装置
EP3039843B1 (de) 2013-08-26 2023-01-11 Continental Automotive Technologies GmbH Filterverfahren zur anpassung einer rechenlast
US9537775B2 (en) 2013-09-23 2017-01-03 Oracle International Corporation Methods, systems, and computer readable media for diameter load and overload information and virtualization
JP6127900B2 (ja) * 2013-10-18 2017-05-17 富士通株式会社 パケット処理装置、パケット処理方法、パケット処理プログラム
CN104579810B (zh) * 2013-10-23 2019-10-25 中兴通讯股份有限公司 软件定义网络流量采样方法和系统
US9838483B2 (en) 2013-11-21 2017-12-05 Oracle International Corporation Methods, systems, and computer readable media for a network function virtualization information concentrator
CN104660565B (zh) 2013-11-22 2018-07-20 华为技术有限公司 恶意攻击的检测方法和装置
US11388082B2 (en) 2013-11-27 2022-07-12 Oracle International Corporation Methods, systems, and computer readable media for diameter routing using software defined network (SDN) functionality
CN103746928A (zh) * 2013-12-30 2014-04-23 迈普通信技术股份有限公司 利用访问控制列表控制流量的方法和系统
CN104796340B (zh) * 2014-01-22 2018-11-27 新华三技术有限公司 一种组播数据传输方法和设备
JP6076937B2 (ja) * 2014-03-28 2017-02-08 株式会社日立製作所 パケット伝送システムおよびネットワークコントローラ
CN104113839A (zh) * 2014-07-14 2014-10-22 蓝盾信息安全技术有限公司 基于sdn的移动数据安全保护系统及方法
US9800673B2 (en) 2014-08-20 2017-10-24 At&T Intellectual Property I, L.P. Service compiler component and service controller for open systems interconnection layer 4 through layer 7 services in a cloud computing system
US9473567B2 (en) 2014-08-20 2016-10-18 At&T Intellectual Property I, L.P. Virtual zones for open systems interconnection layer 4 through layer 7 services in a cloud computing system
US9749242B2 (en) 2014-08-20 2017-08-29 At&T Intellectual Property I, L.P. Network platform as a service layer for open systems interconnection communication model layer 4 through layer 7 services
US10291689B2 (en) 2014-08-20 2019-05-14 At&T Intellectual Property I, L.P. Service centric virtual network function architecture for development and deployment of open systems interconnection communication model layer 4 through layer 7 services in a cloud computing system
US9742690B2 (en) 2014-08-20 2017-08-22 At&T Intellectual Property I, L.P. Load adaptation architecture framework for orchestrating and managing services in a cloud computing system
WO2016116939A1 (en) * 2015-01-19 2016-07-28 Hewlett-Packard Development Company, L.P. Engines to prune overlay network traffic
US9917729B2 (en) 2015-04-21 2018-03-13 Oracle International Corporation Methods, systems, and computer readable media for multi-layer orchestration in software defined networks (SDNs)
US10027760B2 (en) 2015-05-22 2018-07-17 Oracle International Corporation Methods, systems, and computer readable media for short and long term policy and charging rules function (PCRF) load balancing
US9825850B2 (en) 2015-06-30 2017-11-21 Industrial Technology Research Institute Network controlling method and network controller
US10439929B2 (en) * 2015-07-31 2019-10-08 Avago Technologies International Sales Pte. Limited Graceful recovery of a multicast-enabled switch
CN105187324B (zh) * 2015-08-21 2018-01-30 上海斐讯数据通信技术有限公司 一种sdn流转发的数量限制方法和控制系统
TWI599204B (zh) * 2016-01-28 2017-09-11 神雲科技股份有限公司 伺服器的封包過濾方法及基板管理控制器
JP6724427B2 (ja) * 2016-03-07 2020-07-15 日本電気株式会社 コントローラ、通信スイッチ、通信システム、通信制御方法、及びプログラム
RU2618191C1 (ru) * 2016-04-22 2017-05-02 Федеральное государственное казенное военное образовательное учреждение высшего образования "Академия Федеральной службы охраны Российской Федерации" (Академия ФСО России) Система передачи трафика в мультисервисных сетях связи
US10264040B2 (en) * 2016-08-03 2019-04-16 Big Switch Networks, Inc. Systems and methods to manage multicast traffic
CN108156014B (zh) * 2016-12-06 2021-08-13 华为技术有限公司 一种环路故障处理方法和交换机
US11627111B2 (en) * 2020-03-02 2023-04-11 Cisco Technology, Inc. Systems and methods for implementing universal targets in network traffic classification
CN114050907B (zh) * 2020-07-23 2023-05-02 华为技术有限公司 网络数据包的过滤方法,终端设备和可读存储介质
CN112073333B (zh) * 2020-08-28 2022-05-06 苏州浪潮智能科技有限公司 一种基于SONiC开发的智能容器化流量风暴控制方法与系统
CN112187639B (zh) * 2020-08-31 2021-11-19 西安交通大学 一种基于流属性的数据包路径编码的生成方法及系统
CN115941534A (zh) * 2022-12-08 2023-04-07 贵州电网有限责任公司 一种针对电力系统局域网的网络风暴源溯源方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5636345A (en) * 1995-03-30 1997-06-03 Bay Networks, Inc. Method and apparatus for detecting and preventing broadcast storms on an emulated local area network
JPH11112544A (ja) 1997-10-01 1999-04-23 Hitachi Ltd Lanスイッチ
US7088701B1 (en) * 2000-04-14 2006-08-08 Qualcomm, Inc. Method and apparatus for adaptive transmission control in a high data rate communication system
JP3711965B2 (ja) * 2002-07-18 2005-11-02 日本電気株式会社 Ipフロー多段ハッシュ装置、ipフロー多段ハッシュ方法、ipフロー多段ハッシュプログラム及びその記録媒体
US7274665B2 (en) * 2002-09-30 2007-09-25 Intel Corporation Packet storm control
US7483390B2 (en) * 2003-06-30 2009-01-27 Intel Corporation System and method for dynamically configuring and transitioning wired and wireless networks
JP4667129B2 (ja) 2005-06-13 2011-04-06 富士通株式会社 通信制御方法及び,これを適用する通信装置
CN101286996A (zh) * 2008-05-30 2008-10-15 北京星网锐捷网络技术有限公司 一种风暴攻击抵抗方法与装置
CN101364999B (zh) * 2008-09-18 2012-07-04 华为技术有限公司 一种基于流的服务质量处理的方法、设备及系统
JP5100626B2 (ja) * 2008-12-12 2012-12-19 三菱電機株式会社 レイヤ2スイッチ
JP5408243B2 (ja) * 2009-03-09 2014-02-05 日本電気株式会社 OpenFlow通信システムおよびOpenFlow通信方法
JP2010242248A (ja) 2009-04-03 2010-10-28 Teijin Ltd 超微細炭素繊維の製造方法
US9124515B2 (en) * 2010-11-22 2015-09-01 Hewlett-Packard Development Company, L.P. Elephant flow detection in a computing device
US8879397B2 (en) * 2011-05-13 2014-11-04 Polytechnic Institute Of New York University Balancing load in a network, such as a data center network, using flow based routing

Also Published As

Publication number Publication date
TWI456950B (zh) 2014-10-11
EP2634977A4 (en) 2015-01-07
RU2013119723A (ru) 2014-12-10
CA2814830A1 (en) 2012-05-03
JPWO2012056816A1 (ja) 2014-03-20
WO2012056816A1 (ja) 2012-05-03
RU2576480C2 (ru) 2016-03-10
CN103181128A (zh) 2013-06-26
EP2634977A1 (en) 2013-09-04
TW201225587A (en) 2012-06-16
US20130188489A1 (en) 2013-07-25
KR20130060349A (ko) 2013-06-07

Similar Documents

Publication Publication Date Title
JP5510687B2 (ja) ネットワークシステム、及び通信トラフィック制御方法
JP5557066B2 (ja) スイッチシステム、モニタリング集中管理方法
JP5958570B2 (ja) ネットワークシステム、コントローラ、スイッチ、及びトラフィック監視方法
US9276852B2 (en) Communication system, forwarding node, received packet process method, and program
US8863269B2 (en) Frontend system and frontend processing method
CN105262683B (zh) 网络系统和路由控制方法
JP5660198B2 (ja) ネットワークシステム、及びスイッチ方法
EP2717520B1 (en) Communication path control system, and communication path control method
US9246815B2 (en) Load reducing system and load reducing method
KR101494565B1 (ko) 네트워크 시스템, 패킷 처리 방법 및 기억 매체
JP5966488B2 (ja) ネットワークシステム、スイッチ、及び通信遅延短縮方法
CN113037691A (zh) 报文处理方法、装置及系统
KR101476072B1 (ko) 네트워크 시스템, 및 통신 트래픽 제어 방법
JP2019029907A (ja) 転送システム、情報処理装置、転送方法及び情報処理方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131204

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140203

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140311

R150 Certificate of patent or registration of utility model

Ref document number: 5510687

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees