JPWO2011132568A1 - スイッチ、及びフローテーブル制御方法 - Google Patents

スイッチ、及びフローテーブル制御方法 Download PDF

Info

Publication number
JPWO2011132568A1
JPWO2011132568A1 JP2012511619A JP2012511619A JPWO2011132568A1 JP WO2011132568 A1 JPWO2011132568 A1 JP WO2011132568A1 JP 2012511619 A JP2012511619 A JP 2012511619A JP 2012511619 A JP2012511619 A JP 2012511619A JP WO2011132568 A1 JPWO2011132568 A1 JP WO2011132568A1
Authority
JP
Japan
Prior art keywords
flow
flow table
switch
regular
registered
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
JP2012511619A
Other languages
English (en)
Other versions
JP5299856B2 (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 JP2012511619A priority Critical patent/JP5299856B2/ja
Publication of JPWO2011132568A1 publication Critical patent/JPWO2011132568A1/ja
Application granted granted Critical
Publication of JP5299856B2 publication Critical patent/JP5299856B2/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
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/252Store and forward 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/02Topology update or discovery
    • H04L45/021Ensuring consistency of routing table updates, e.g. by using epoch numbers
    • 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/02Topology update or discovery
    • 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
    • H04L47/2441Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/253Routing or path finding in a switch fabric using establishment or release of connections between ports
    • H04L49/254Centralised controller, i.e. arbitration or scheduling
    • 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

Landscapes

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

Abstract

オープンフローシステムにおいて、フローテーブルへの登録に成功したフローと失敗したフローを確認できるようにする。具体的には、コントローラは、スイッチとの間で、オープンフローメッセージを送受信する。スイッチは、コントローラから登録されたフローを管理するフローテーブルと、フローテーブルを検索し、該当する情報を読み出すフローテーブル読み出し部と、フローエントリの追加・削除・変更処理を行うフローテーブル制御部と、フローテーブル制御部からの問い合わせに応じて対象フローエントリが有効か無効かを決定するプラットフォーム機能管理部とを備える。フローテーブルは、正規フローテーブルと退避フローテーブルを持っている。スイッチの持つ構成情報に一致した有効なフローエントリは、正規フローテーブルに登録される。スイッチの持つ構成情報と不一致となる無効なフローエントリは、退避フローテーブルに登録される。

Description

本発明は、スイッチに関し、特にオープンフローシステムのスイッチに関する。
従来のネットワークシステムでは、スイッチ単体で経路制御とパケット転送を行っていた。
近年、ネットワークの仮想化のために、スイッチの経路制御機能とパケット転送機能を分離し、経路制御機能をスイッチ外部のコントローラに集約したオープンフロー(OpenFlow)システムが提案されている(非特許文献1参照)。
オープンフローシステムにおいて、コントローラは、ネットワーク内のスイッチを監視し、通信状況に応じて、ネットワーク内のスイッチにパケットの配送経路を動的に設定する。コントローラは、オープンフロープロトコル(OpenFlow Protocol)メッセージを用いてフローをスイッチに登録し、フローテーブルを作成する。
フローとは、所定の規則(ルール)と整合するパケットに対して行うべき所定の処理(アクション)を定義したものである。フローのルールは、パケットを運ぶフレームのヘッダ領域に含まれる宛先アドレス(Destination Address)、送信元アドレス(Source Address)、宛先ポート(Destination Port)、送信元ポート(Source Port)のいずれか又は全てを用いた様々な組み合わせにより定義され、区別可能である。なお、上記のアドレスには、MACアドレス(Media Access Control Address)やIPアドレス(Internet Protocol Address)を含むものとする。また、上記に加えて、入力ポート(Ingress Port)の情報も、フローのルールとして使用可能である。
フローテーブルとは、スイッチ毎のフローの情報(フローエントリ)を格納したものである。
オープンフローシステムにおいて、スイッチは、作成したフローテーブルに従ってパケット転送を行う。スイッチは、オープンフロープロトコルメッセージによってコントローラから受信したフローについて、フローテーブルとして登録する前に、そのフローがスイッチのプラットフォーム機能と整合がとれているかどうかを確認する必要がある。スイッチは、整合のとれているフローを有効、整合のとれていないフローを無効と判断し、有効なフローをフローテーブルとして登録する。
オープンフローシステムのコントローラとスイッチを、それぞれオープンフローコントローラ(OpenFlow Controller)、オープンフロースイッチ(OpenFlow Switch)と呼ぶこともある。
オープンフロープロトコルにおいて、フローテーブル作成にはフロー変更(Flow Mod)メッセージを用いるが、フローエントリ作成に成功したか否かの応答メッセージは定義されていない。そのため、コントローラ側でフローエントリが登録できたかどうかの確認を行うには、登録要求をしたフロー情報と、統計要求(Statistics Request)メッセージで取得したフロー情報とを比較する必要がある。
また、既存ネットワークにオープンフローシステムを導入する場合、既存機能との不整合が生じる可能性がある。
また、オープンフロープロトコルにおいて、コントローラからスイッチに対してフロー設定を行うためのフロー変更(Flow Mod)メッセージには、その結果をコントローラに通知するための返送メッセージが定義されていない。そのため、設定結果をコントローラで知るためには、統計要求(Statistics Request)メッセージを用いて確認する必要がある。
一般に、オープンフローシステムでは、スイッチ内のフローテーブルは、有効なフローのエントリのみを保持するものであり、無効なフローのエントリを保持していない。
このため、コントローラは、スイッチ内のフローテーブルに登録しようとしたフローが実際に登録できたか、無効なため登録できなかったか、或いは他の要因で登録失敗したか、等の判別ができないという問題がある。
なお、特許文献1(特開2004−056340号公報)に、L3スイッチがフローテーブルを備える旨が記載されている。
また、特許文献2(特開2006−254134号公報)に、検索の結果、一致するフローエントリが存在する場合、フロー識別情報を出力し、一致するフローエントリが存在しない場合、フローテーブルのフローエントリの追加/削除を行う旨が記載されている。
また、特許文献3(特開2008−167340号公報)に、パケット中継装置が、フロー識別の対象となるパケットのパターンが記述されたフローテーブルを備える旨が記載されている。
また、特許文献4(特開2009−049592号公報)に、IPパケットが到着する毎に、検索キーとフローテーブルに登録されたいずれかのフローエントリとがマッチするかを比較し、一致するものについてはマッチ回数、総パケット長等の統計情報を更新する旨が記載されている。
特開2004−056340号公報 特開2006−254134号公報 特開2008−167340号公報 特開2009−049592号公報
OpenFlow Switch Specification Version 0.9.0(Wire Protocol 0x98) July 20, 2009 Current Maintainer: Brandon Heller(brandonh@stanford.edu) [online](http://www.openflowswitch.org/documents/openflow−spec−v0.9.0.pdf)
本発明の目的は、所定の機能と整合していないフローエントリを無効エントリとして保持するオープンフローシステムを提供することである。
本発明のスイッチは、コントローラからの制御に応じて、パケットをフローとして一律に制御するための規則(ルール)と処理(アクション)が定義されたフローエントリを、前記スイッチのフローテーブルに設定するスイッチであって、コントローラから通知されたフローが所定の機能と整合するか確認し、当該フローが有効か無効かを判定する手段と、有効なフローを正規フローテーブルに登録する手段と、無効なフローを退避フローテーブルに登録する手段と、ネットワークから受信したパケットをフローと認識し、当該フローが前記正規フローテーブルに登録されている場合、当該フローに対して指定された処理に基づいて、前記パケットを処理する手段とを具備する。
本発明のスイッチにより実施されるフローテーブル制御方法は、コントローラから通知されたフローが所定の機能と整合するか確認し、当該フローが有効か無効かを判定することと、有効なフローを正規フローテーブルに登録することと、無効なフローを退避フローテーブルに登録することと、ネットワークから受信したパケットをフローと認識し、当該フローが前記正規フローテーブルに登録されている場合、当該フローに対して指定された処理に基づいて、前記パケットを処理することとを含む。
本発明のフローテーブル制御用プログラムは、コントローラから通知されたフローが所定の機能と整合するか確認し、当該フローが有効か無効かを判定するステップと、有効なフローを正規フローテーブルに登録するステップと、無効なフローを退避フローテーブルに登録するステップと、ネットワークから受信したパケットをフローと認識し、当該フローが前記正規フローテーブルに登録されている場合、当該フローに対して指定された処理に基づいて、前記パケットを処理するステップとをスイッチに実行させるためのプログラムである。なお、本発明のフローテーブル制御用プログラムは、記憶装置や記憶媒体に格納することが可能である。
これにより、コントローラは、スイッチのフローテーブルに登録しようとしたフローが実際に登録できたか、無効であるため登録できなかったかを判別できるようになる。
本発明のオープンフローシステムの構成例を示すブロック図である。 フローテーブルへフローエントリを設定する際の処理を示すフローチャートである。 コントローラから通知されたフローがスイッチの持つ構成情報と整合し正規フローテーブルに登録する際の処理のシーケンス図である。 コントローラから通知されたフローがスイッチの持つ構成情報と整合せず退避フローテーブルに設定する際の処理のシーケンス図である。 フローテーブルからフローエントリを読み出す際の処理を示すフローチャートである。 コントローラから要求されたフローについて、正規フローテーブルからフローエントリを読み出す際の処理のシーケンス図である。 コントローラから要求されたフローについて、退避フローテーブルからフローエントリを読み出す際の処理のシーケンス図である。 フローエントリに示されたフローが有効か無効かを再確認する際の処理を示すフローチャートである。
本発明では、退避フローテーブルを実装したオープンフローシステムについて説明する。
<第1実施形態>
以下に、本発明の第1実施形態について添付図面を参照して説明する。
本実施形態では、本発明のオープンフローシステムにおける基本的な構成及び動作について説明する。
[システム構成]
図1に示すように、本発明のオープンフローシステムは、コントローラ10と、スイッチ20を含む。
コントローラ10は、スイッチ20との間で、1つのオープンフローシステムを形成しており、オープンフロープロトコルメッセージを送受信する。
スイッチ20は、メッセージ処理部21と、フローテーブル制御部22と、プラットフォーム機能管理部23と、構成情報24と、フローテーブル25と、フローテーブル読み出し部26を備える。
メッセージ処理部21は、コントローラ10からオープンフロープロトコルメッセージを受信し、メッセージ解析を行い、スイッチ20の内部モジュールのうち適切な内部モジュールにハンドリングを行い、内部モジュールからの要求に応じてオープンフロープロトコルメッセージを組み立てて、コントローラ10に送信する。
オープンフロープロトコルメッセージには、フロー変更(Flow Mod)メッセージと、統計要求(Statistics Request)メッセージが存在する。フロー変更(Flow Mod)メッセージは、スイッチ20のフローテーブル25に対してフローエントリを設定(追加、変更、削除)、或いはフローテーブル25を作成するためのものである。統計要求(Statistics Request)メッセージは、スイッチ20の持つフローエントリ、ポート、フローテーブル25についての統計情報を要求するためのものである。
フローテーブル制御部22は、プラットフォーム機能管理部23に対して、メッセージ処理部21から受け取ったフローの確認の問い合わせを行い、問い合わせの結果に基づいて、フローテーブル25に対して、フローエントリの追加・削除・変更処理を行う。
プラットフォーム機能管理部23は、フローテーブル制御部22からの問い合わせに応じて、対象となるフローが有効か無効かを決定する。ここでは、プラットフォーム機能管理部23は、フローテーブル制御部22からフローに関する問合せを受け取った際に、スイッチ20の持つ構成情報24を参照し、ネットワーク(NW:Network)設定を確認する。すなわち、プラットフォーム機能管理部23は、対象となるフローのルールやアクションが、スイッチ20の持つ構成情報24と整合しているか確認する。
構成情報24は、予め設定されており、スイッチ20の内部に保持されている。構成情報24の例として、スイッチ20が属するネットワーク(NW)内のノード構成に関する情報や、スイッチ20が持つ機能に関する情報等が考えられる。
フローテーブル25は、正規フローテーブル251と、退避フローテーブル252を有する。
正規フローテーブル251は、スイッチ20の持つ構成情報24と整合した有効なフローを登録するためのフローテーブルである。
退避フローテーブル252は、スイッチ20の持つ構成情報24と整合しない無効なフローを登録するためのフローテーブルである。
フローテーブル読み出し部26は、メッセージ処理部21から受け取ったフローのヘッダ領域の値を基に検索キーを作成し、この検索キーを用いてフローテーブル25内のフローエントリを検索し、該当するフローエントリを読み出す。
ここでは、メッセージ処理部21は、ネットワークからパケットを受信し、当該パケットに基づくフローをフローテーブル読み出し部26に通知し、当該フローについて正規フローテーブル251に該当するフローエントリがあれば、当該フローエントリに従って転送する。また、メッセージ処理部21は、当該フローについて正規フローテーブル251に該当するフローエントリがなければ、当該フローをコントローラ10に通知する。
このとき、メッセージ処理部21がネットワークと通信するための通信回線と、メッセージ処理部21がコントローラ10と通信するための通信回線は、異なる通信回線であると好適である。但し、実際には、同じ通信回線を用いることも可能である。
[ハードウェアの例示]
コントローラ10の例として、PC(パソコン)、アプライアンス(appliance)、ワークステーション、メインフレーム、スーパーコンピュータ等の計算機を想定している。また、コントローラ10は、物理マシン上に構築された仮想マシン(Virtual Machine(VM))環境でも良い。
スイッチ20の例として、ネットワークスイッチ(network switch)を想定している。ネットワークスイッチには、L3スイッチ(layer 3 switch)、L4スイッチ(layer 4 switch)、L7スイッチ/アプリケーションスイッチ(layer 7 switch)、或いは、マルチレイヤスイッチ(multi−layer switch)等がある。他にも、スイッチ20の例として、ルータ(router)、プロキシ(proxy)、ゲートウェイ(gateway)、ファイアウォール、ロードバランサ、帯域制御装置、セキュリティ監視制御装置、基地局、アクセスポイント、或いは、複数の通信ポートを有する計算機等が考えられる。
メッセージ処理部21、フローテーブル制御部22、フローテーブル読み出し部26、プラットフォーム機能管理部23は、プログラムで駆動されるプロセッサ等のハードウェアと、そのハードウェアを駆動して所望の処理を実行するためのプログラム等のソフトウェアと、そのソフトウェアや各種データを格納するメモリによって実現される。フローテーブル25、及び構成情報24は、上記のメモリに格納されているものとする。
上記のハードウェアの例として、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)等を用いたストレージ装置でも良い。
また、上記のハードウェア、及び上記のメモリは、一体化していても良い。例えば、近年では、マイコン等の1チップ化が進んでいる。従って、スイッチ20に搭載される1チップマイコンが、処理装置、及び記憶装置を備えている事例が考えられる。
但し、実際には、これらの例に限定されない。
[フローテーブルへの設定処理]
図2を参照して、フローテーブル25へフローエントリを設定する際の処理について説明する。
(1)ステップS101
メッセージ処理部21は、コントローラ10からオープンフロープロトコルメッセージとしてフロー変更(Flow Mod)メッセージを受信する。このとき、メッセージ処理部21は、コントローラ10から受信したオープンフロープロトコルメッセージの種別を判定するようにしても良い。
(2)ステップS102
メッセージ処理部21は、フロー変更(Flow Mod)メッセージに応じて、フローテーブル制御部22に、フロー変更(Flow Mod)メッセージにおいて指定された処理を要求する。ここでは、フロー変更(Flow Mod)メッセージにおいて指定された処理の内容は、フローエントリの追加・削除・変更処理のいずれかであるものとする。
(3)ステップS103
フローテーブル制御部22は、フロー変更(Flow Mod)メッセージに示されたフローについて、プラットフォーム機能管理部23に対して、ネットワーク(NW:Network)設定の確認を要求する。このとき、フローテーブル制御部22は、プラットフォーム機能管理部23を起動するようにしても良い。
(4)ステップS104
プラットフォーム機能管理部23は、スイッチ20の持つ構成情報24を参照し、ネットワーク(NW)設定確認を行い、当該フローが有効なフローか無効なフローかを判定し、ネットワーク(NW)設定確認結果(判定結果)をフローテーブル制御部22に返す。
(5)ステップS105
フローテーブル制御部22は、ネットワーク(NW)設定確認の結果、当該フローが有効なフローであれば、正規フローテーブル251に対して、フロー変更(Flow Mod)メッセージにおいて指定された処理(フローエントリの追加・削除・変更のいずれか)を行う。
(6)ステップS106
フローテーブル制御部22は、ネットワーク(NW)設定確認の結果、当該フローが無効なフローであれば、退避フローテーブル252に対して、フロー変更(Flow Mod)メッセージにおいて指定された処理(フローエントリの追加・削除・変更のいずれか)を行う。
なお、フローテーブル制御部22は、メッセージ処理部21から受け取ったフローを基にフローエントリの削除を行う場合には、プラットフォーム機能管理部23へのネットワーク(NW)設定確認の要求を行わず、正規フローテーブル251及び退避フローテーブル252の両方に対して、順番に/同時に、フローエントリの削除を指示するようにしても良い。正規フローテーブル251及び退避フローテーブル252のいずれかにフローエントリが登録された後に、ネットワーク(NW)設定が変更され、フローエントリの登録時と削除時で、ネットワーク(NW)設定確認結果(判定結果)が異なってしまう可能性もあるからである。
[正規フローテーブルへの登録処理]
図3を参照して、コントローラ10から通知されたフローがスイッチ20の持つ構成情報24と整合し正規フローテーブルに登録する際の処理について説明する。
(1)ステップS111
まず、コントローラ10は、メッセージ処理部21に、フロー登録を指示するフロー変更(Flow Mod)メッセージを送信する。
(2)ステップS112
メッセージ処理部21は、フロー変更(Flow Mod)メッセージに応じて、フローテーブル制御部22に、フロー登録を要求する。
(3)ステップS113
フローテーブル制御部22は、フロー変更(Flow Mod)メッセージに含まれるフローに基づいて、プラットフォーム機能管理部23に、ネットワーク(NW)設定確認を要求する。
(4)ステップS114
プラットフォーム機能管理部23は、スイッチ20の持つ構成情報24を参照し、ネットワーク(NW)設定確認を行い、フローテーブル制御部22に、ネットワーク(NW)設定確認結果を返す。ここでは、ネットワーク(NW)設定確認結果は、当該フローが有効なフローである旨を示すものとする。
(5)ステップS115
フローテーブル制御部22は、当該フローが有効なフローである場合、正規フローテーブル251に、当該フローのエントリを登録する。
[退避フローテーブルへの設定処理]
図4を参照して、コントローラ10から通知されたフローがスイッチ20の持つ構成情報24と整合せず退避フローテーブルに設定する処理について説明する。
(1)ステップS121
まず、コントローラ10は、メッセージ処理部21に、フロー登録を指示するフロー変更(Flow Mod)メッセージを送信する。
(2)ステップS122
メッセージ処理部21は、フロー変更(Flow Mod)メッセージに応じて、フローテーブル制御部22に、フロー登録を要求する。
(3)ステップS123
フローテーブル制御部22は、フロー変更(Flow Mod)メッセージに含まれるフローに基づいて、プラットフォーム機能管理部23に、ネットワーク(NW)設定確認を要求する。
(4)ステップS124
プラットフォーム機能管理部23は、スイッチ20の持つ構成情報24を参照し、ネットワーク(NW)設定確認を行い、フローテーブル制御部22に、ネットワーク(NW)設定確認結果を返す。ここでは、ネットワーク(NW)設定確認結果は、当該フローが無効なフローである旨を示すものとする。
(5)ステップS125
フローテーブル制御部22は、当該フローが無効なフローである場合、退避フローテーブル252に、当該フローのエントリを登録する。
[フローテーブルからの読み出し処理]
図5を参照して、フローテーブル25からフローエントリを読み出す際の処理について説明する。
(1)ステップS201
メッセージ処理部21は、コントローラ10からオープンフロープロトコルメッセージとして統計要求(Statistics Request)メッセージを受信する。このとき、メッセージ処理部21は、コントローラ10から受信したオープンフロープロトコルメッセージの種別を判定するようにしても良い。
(2)ステップS202
メッセージ処理部21は、統計要求(Statistics Request)メッセージに含まれるフローについて、フローテーブル読み出し部26にフロー状態読み出しを要求する。ここでは、メッセージ処理部21は、当該フローを、フローテーブル読み出し部26に通知する。このとき、メッセージ処理部21は、フローテーブル読み出し部26を起動するようにしても良い。
(3)ステップS203
フローテーブル読み出し部26は、フロー状態読み出しの要求に応じて、フロー状態確認を行う。ここでは、フローテーブル読み出し部26は、当該フローのヘッダ領域の値を基に検索キーを作成し、この検索キーを用いて正規フローテーブル251を検索し、正規フローテーブル251内での該当するフローエントリの有無を確認する。
(4)ステップS204
フローテーブル読み出し部26は、正規フローテーブル251内に該当するフローエントリがあれば、フロー状態確認結果により、正規フローテーブル251内に該当するフローエントリがあることを確認する。
(5)ステップS205
フローテーブル読み出し部26は、正規フローテーブル251内に該当するフローエントリがなければ、フロー状態確認結果により、正規フローテーブル251内に該当するフローエントリがないことを確認する。
(6)ステップS206
フローテーブル読み出し部26は、正規フローテーブル251内に該当するフローエントリがなかった場合、当該フローのヘッダ領域の値を基に検索キーを作成し、この検索キーを用いて退避フローテーブル252を検索し、退避フローテーブル252内での該当するフローエントリの有無を確認する。
(7)ステップS207
フローテーブル読み出し部26は、退避フローテーブル252内に該当するフローエントリがあれば、フロー状態確認結果により、退避フローテーブル252内に該当するフローエントリがあることを確認する。
(8)ステップS208
フローテーブル読み出し部26は、退避フローテーブル252内に該当するフローエントリがなければ、フロー状態確認結果により、退避フローテーブル252内に該当するフローエントリがないことを確認する。この場合、当該フローは、正規フローテーブル251及び退避フローテーブル252のいずれにも登録されていない未登録のフローであることが判明する。
(9)ステップS209
フローテーブル読み出し部26は、フロー状態確認結果に基づいて、メッセージ処理部21にフロー状態読み出し結果を通知する。例えば、フローテーブル読み出し部26は、当該フローが複数であった場合、これら複数のフローの全てについてフロー状態確認を完了した場合に、メッセージ処理部21にフロー状態読み出し結果を通知する。
(10)ステップS210
メッセージ処理部21は、フロー状態読み出し結果に基づいて、統計応答(Statistics Reply)メッセージを作成してコントローラ10に送信する。
[正規フローテーブルからの読み出し処理]
図6を参照して、コントローラ10から要求されたフローについて、正規フローテーブル251からフローエントリを読み出す際の処理について説明する。
(1)ステップS211
まず、コントローラ10は、メッセージ処理部21に、統計要求(Statistics Request)メッセージを送信する。
(2)ステップS212
メッセージ処理部21は、統計要求(Statistics Request)メッセージに含まれるフローに基づいて、フローテーブル読み出し部26に、フロー状態読み出しを要求する。
(3)ステップS213
フローテーブル読み出し部26は、当該フローに基づいて、正規フローテーブル251を検索し、該当するフローエントリの有無についてフロー状態確認を行う。ここでは、正規フローテーブル251内に該当するフローエントリがあるものとする。
(4)ステップS214
フローテーブル読み出し部26は、フロー状態確認結果として、正規フローテーブル251内に該当するフローエントリがあることを確認する。
(5)ステップS215
その後、フローテーブル読み出し部26は、メッセージ処理部21に、フロー状態読み出し結果を通知する。
(6)ステップS216
メッセージ処理部21は、統計応答(Statistics Reply)メッセージを作成してコントローラ10に送信する。
[退避フローテーブルからの読み出し処理]
図7を参照して、コントローラ10から要求されたフローについて、退避フローテーブル252からフローエントリを読み出す際の処理について説明する。
(1)ステップS221
まず、コントローラ10は、メッセージ処理部21に、統計要求(Statistics Request)メッセージを送信する。
(2)ステップS222
メッセージ処理部21は、統計要求(Statistics Request)メッセージに含まれるフローに基づいて、フローテーブル読み出し部26に、フロー状態読み出しを要求する。
(3)ステップS223
フローテーブル読み出し部26は、当該フローに基づいて、正規フローテーブル251を検索し、該当するフローエントリの有無についてフロー状態確認を行う。ここでは、正規フローテーブル251内に該当するフローエントリがないものとする。
(4)ステップS224
フローテーブル読み出し部26は、フロー状態確認結果として、正規フローテーブル251内に該当するフローエントリがないことを確認する。
(5)ステップS225
次に、フローテーブル読み出し部26は、当該フローに基づいて、退避フローテーブル252を検索し、該当するフローエントリの有無についてフロー状態確認を行う。ここでは、退避フローテーブル252内に該当するフローエントリがあるものとする。
(6)ステップS226
フローテーブル読み出し部26は、フロー状態確認結果として、退避フローテーブル252内に該当するフローエントリがあることを確認する。
(7)ステップS227
その後、フローテーブル読み出し部26は、メッセージ処理部21に、フロー状態読み出し結果を通知する。
(8)ステップS228
メッセージ処理部21は、統計応答(Statistics Reply)メッセージを作成してコントローラ10に送信する。
これにより、コントローラ10は、統計要求(Statistics Request)メッセージを送信するだけで、フローテーブル25への登録に成功したフローと失敗したフローを確認することができる。
例えば、コントローラ10は、あるフローについて、スイッチ20にフローテーブル25への設定処理を要求した後、当該フローについて、フローテーブル25への登録に成功したかどうか確認するために、当該フローについての統計要求(Statistics Request)メッセージをスイッチ20に送信する。コントローラ10は、スイッチ20からの統計応答(Statistics Reply)メッセージにより、フローテーブル25への登録に成功したか失敗したかを確認することができる。
<第2実施形態>
次に、本発明の第2実施形態について説明する。
本実施形態では、フローテーブルへの登録後に、フローテーブル内のフローエントリに示されたフローが有効か無効かを再確認する。
[フローエントリの有効性の再確認処理]
図8を参照して、フローエントリに示されたフローが有効か無効かを再確認する際の処理について説明する。
(1)ステップS301
プラットフォーム機能管理部23は、スイッチ20の持つ構成情報24に変更が加えられた場合、フローテーブル制御部22に通知する。フローテーブル制御部22は、プラットフォーム機能管理部23から通知を受けると、メッセージ処理部21に通知する。すなわち、プラットフォーム機能管理部23は、スイッチ20の持つ構成情報24に変更が加えられた場合、フローテーブル制御部22を介して、又は直接に、メッセージ処理部21に通知する。
(2)ステップS302
メッセージ処理部21は、フローテーブル読み出し部26に、正規フローテーブル251及び退避フローテーブル252に登録されている全てのフローエントリの読み出しを要求する。
(3)ステップS303
フローテーブル読み出し部26は、メッセージ処理部21からの要求に応じて、正規フローテーブル251及び退避フローテーブル252に登録されている全てのフローエントリを読み出し、メッセージ処理部21に通知する。なお、実際には、フローテーブル読み出し部26は、正規フローテーブル251内のフローエントリの読み出しと、退避フローテーブル252内のフローエントリの読み出しを、一括ではなく、別々に(独立して)行うようにしても良い。この場合、フローテーブル読み出し部26は、正規フローテーブル251内のフローエントリと、退避フローテーブル252内のフローエントリを、別々に、メッセージ処理部21に通知する。
(4)ステップS304
メッセージ処理部21は、フローテーブル読み出し部26から通知されたフローエントリに示された全てのフローを、フローテーブル制御部22に通知する。
(5)ステップS305
フローテーブル制御部22は、メッセージ処理部21から通知された全てのフローについて、プラットフォーム機能管理部23に対して、ネットワーク(NW)設定の確認を要求する。このとき、フローテーブル制御部22は、プラットフォーム機能管理部23を起動するようにしても良い。
(6)ステップS306
プラットフォーム機能管理部23は、スイッチ20の持つ構成情報24を参照し、ネットワーク(NW)設定確認を行い、それぞれのフローが有効なフローか無効なフローかを判定し、ネットワーク(NW)設定確認結果(判定結果)をフローテーブル制御部22に返す。
(7)ステップS307
フローテーブル制御部22は、ネットワーク(NW)設定確認の結果、それぞれのフローについて、対象フローが有効なフローであれば、正規フローテーブル251に対して、フローエントリの追加・変更を行う。
(8)ステップS308
更に、フローテーブル制御部22は、対象フローが退避フローテーブル252に登録されていたものであれば、退避フローテーブル252に対して、フローエントリの削除を行う。対象フローが退避フローテーブル252に登録されていたものでなければ、この動作は行われない。
(9)ステップS309
また、フローテーブル制御部22は、ネットワーク(NW)設定確認の結果、それぞれのフローについて、対象フローが無効なフローであれば、退避フローテーブル252に対して、フローエントリの追加・変更を行う。
(10)ステップS310
更に、フローテーブル制御部22は、対象フローが正規フローテーブル251に登録されていたものであれば、正規フローテーブル251に対して、フローエントリの削除を行う。対象フローが正規フローテーブル251に登録されていたものでなければ、この動作は行われない。
ここでは、対象フローが、正規フローテーブル251内のフローエントリと、退避フローテーブル252内のフローエントリのどちらに由来するものであるか分かっているものとする。例えば、それぞれのフローに、どちらのフローテーブルに登録されているものか(由来)を示す情報を対応付けている場合が考えられる。或いは、正規フローテーブル251内のフローエントリを対象とする処理と、退避フローテーブル252内のフローエントリを対象とする処理を、別々に(独立して)行っている場合も考えられる。
また、対象フローが、正規フローテーブル251内のフローエントリと、退避フローテーブル252内のフローエントリのどちらに由来するものであるか分かっていなかったとしても、対象フローをどちらかのフローテーブルに再登録する前に、既に登録されているフローエントリを事前に削除するようにすれば、重複登録を回避することができる。例えば、フローテーブル制御部22は、メッセージ処理部21からフローを通知された後、対象フローをそれぞれのフローテーブルに再登録する前に、対象フローのヘッダ領域の値を基に検索キーを作成し、この検索キーを用いてそれぞれのフローテーブルを検索して、該当するフローエントリを削除しておく。或いは、フローエントリ単位ではなく、既存のフローテーブル25(正規フローテーブル251及び退避フローテーブル252)自体を初期化・削除しておき、新規に正規フローテーブル251及び退避フローテーブル252を作成し直す。
更に、対象フローが、正規フローテーブル251内のフローエントリと、退避フローテーブル252内のフローエントリのどちらに由来するものであるか関係なく(判断せず)、無条件に、登録対象のフローテーブルへのフローエントリの追加・変更処理を行い、それ以外のフローテーブルへのフローエントリの削除処理を行うようにしても良い。もし、フローエントリの削除処理を行ったフローテーブルに、該当するフローエントリが存在していなくても、フローエントリの削除処理が失敗するだけである。
これにより、スイッチ20は、構成情報24に変更が加えられた場合、コントローラ10から指示を受けることなく、フローテーブル25に登録されている全てのフローエントリについて、構成情報24に整合するフローを再確認することができる。
本実施形態によれば、コントローラ10は、スイッチ20のフローテーブル25に予め無効なフローを登録しておくことで、構成情報24が変更したときに無効なフローを自動的に有効にすることができる。これにより、スイッチ20のフローテーブル25を冗長化することができる。
<第3実施形態>
次に、本発明の第3実施形態について説明する。
本実施形態では、第2実施形態に示した「フローエントリの有効性の再確認処理」において、スイッチ20の持つ構成情報24に変更が加えられた場合に限らず、定期的に、又は新たなフローを通知された際に、フローエントリの有効性の再確認処理を行う。
例えば、図8に示したステップS301のプラットフォーム機能管理部23からの通知を受けた際ではなく、毎日、特定の時間に、又は、コントローラ10からフロー変更(Flow Mod)メッセージを受信した際に、図8に示したステップS302以降の処理を行うようにする。
本実施形態によれば、構成情報24の変更を検知しなくても、構成情報24の変更に対応することができる。すなわち、構成情報24の変更を即座に検知するのではなく、再確認した際に、事後的に構成情報24の変更を認識する。
<第4実施形態>
次に、本発明の第4実施形態について説明する。
本実施形態では、第1実施形態に示した「フローテーブルからの読み出し処理」の直後に、第2実施形態に示した「フローエントリの有効性の再確認処理」を行う。
例えば、図5に示したステップS210の直後、又はステップS209とステップS210の間に、図8に示したステップS305以降の処理を行うようにする。
<第5実施形態>
次に、本発明の第5実施形態について説明する。
本実施形態では、第1実施形態に示した「フローテーブルからの読み出し処理」において、フローテーブルからの読み出しを開始する前に、統計要求(Statistics Request)メッセージに含まれるフローを対象フローとして、第2実施形態に示した「フローエントリの有効性の再確認処理」を行うようにすることも考えられる。
例えば、メッセージ処理部21は、図5に示したステップS201とステップS202の間に、統計要求(Statistics Request)メッセージに含まれるフローを対象フローとして、フローテーブル制御部22に通知する。その後、図8に示したステップS306以降の処理を行うようにする。
この場合、フローテーブル制御部22は、ステップS308〜ステップS311において、対象フローがどちらのフローテーブルに登録されているものか分からない。そのため、フローテーブル制御部22は、対象フローをそれぞれのフローテーブルに再登録する前に、対象フローのヘッダ領域の値を基に検索キーを作成し、この検索キーを用いてそれぞれのフローテーブルを検索して、該当するフローエントリを削除しておく。或いは、フローテーブル制御部22は、対象フローについて、無条件に、登録対象のフローテーブルへのフローエントリの追加・変更処理を行い、それ以外のフローテーブルへのフローエントリの削除処理を行う。
<第6実施形態>
次に、本発明の第6実施形態について説明する。
本実施形態では、障害が起きた際に、退避テーブルのフローエントリを有効にする。
例えば、メッセージ処理部21は、障害発生時に、フローテーブル読み出し部26に対して、退避フローテーブル252のフローエントリの読み出しを指示し、フローテーブル読み出し部26から退避フローテーブル252のフローエントリの通知を受ける。メッセージ処理部21は、フローテーブル制御部22に対して、当該フローエントリに示されたフローについて、正規フローテーブル251へのフローエントリの追加と、退避フローテーブル252からのフローエントリの削除を指示する。フローテーブル制御部22は、メッセージ処理部21からの指示に応じて、正規フローテーブル251へのフローエントリの追加と、退避フローテーブル252からのフローエントリの削除を実行する。
なお、障害発生時には、スイッチ20の持つ構成情報24に変更が発生する場合もあるため、第2実施形態における「フローエントリの有効性の再確認処理」で対応する事例も考えられる。
<各実施形態の関係>
なお、上記の各実施形態は、組み合わせて実施することも可能である。
<まとめ>
以上のように、本発明では、退避フローテーブルを用いたオープンフローシステムを提供する。
本発明のオープンフローシステムにおけるスイッチは、所定の機能と整合していないフローエントリを無効エントリとして保持することを特徴としている。無効エントリを保持するフローテーブルを退避フローテーブルとする。すなわち、本発明のオープンフローシステムにおけるスイッチは、スイッチのプラットフォーム機能と整合するフローを登録した正規フローテーブルと、スイッチのプラットフォーム機能と整合しないフローを登録した退避フローテーブルを備えたことを特徴とする。これにより、コントローラ側で、どのフローエントリが無効であるかを統計要求(Statistics Request)メッセージを用いて確認することができる。
本発明のオープンフローシステムにおけるコントローラは、統計要求(Statistics Request)メッセージを送信するだけで、登録に成功したフローと失敗したフローを確認することができる。また、コントローラは、スイッチのフローテーブルに登録しようとしたフローが実際に登録できたか、無効であるため登録できなかったかを判別できるようになる。
また、障害が起きた際に、退避テーブルのフローエントリを有効にするように実装することで、オープンフローシステムに冗長性を持たせることもできる。
<付記>
上記の実施形態の一部又は全部は、以下の付記のように記載することも可能である。但し、実際には、以下の記載例に限定されない。
(付記1)
コントローラから通知されたフローが所定の機能と整合するか確認し、当該フローが有効か無効かを判定するステップと、
有効なフローを正規フローテーブルに登録するステップと、
無効なフローを退避フローテーブルに登録するステップと、
ネットワークから受信したパケットをフローと認識し、当該フローが前記正規フローテーブルに登録されている場合、当該フローに対して指定された処理に基づいて、前記パケットを処理するステップと
をスイッチに実行させるための
フローテーブル制御用プログラム。
(付記2)
付記1に記載のフローテーブル制御用プログラムであって、
前記コントローラからのフロー登録の成否の問い合わせに対して、当該フローを前記正規フローテーブル及び前記退避フローテーブルのいずれかから読み出すステップと、
前記コントローラに対して、当該フローが前記正規フローテーブル及び前記退避フローテーブルのいずれに登録されているか応答するステップと
を更にスイッチに実行させるための
フローテーブル制御用プログラム。
(付記3)
付記1又は2に記載のフローテーブル制御用プログラムであって、
前記所定の機能の変更を検知するステップと、
前記所定の機能の変更に応じて、前記正規フローテーブル及び前記退避フローテーブルに登録済みのフローの各々について、各フローが前記所定の機能と整合するか確認し、各フローが有効か無効かを判定するステップと、
有効なフローを前記正規フローテーブルに登録するステップと、
有効なフローが前記退避フローテーブルに登録されている場合は前記退避フローテーブルから削除するステップと、
無効なフローを前記退避フローテーブルに登録するステップと、
無効なフローが前記正規フローテーブルに登録されている場合は前記正規フローテーブルから削除するステップと
を更にスイッチに実行させるための
フローテーブル制御用プログラム。
以上、本発明の実施形態を詳述してきたが、実際には、上記の実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の変更があっても本発明に含まれる。
<備考>
なお、本出願は、日本出願番号2010−095760に基づく優先権を主張するものであり、日本出願番号2010−095760における開示内容は引用により本出願に組み込まれる。

Claims (8)

  1. コントローラから通知されたフローが所定の機能と整合するか確認し、当該フローが有効か無効かを判定する手段と、
    有効なフローを正規フローテーブルに登録する手段と、
    無効なフローを退避フローテーブルに登録する手段と、
    ネットワークから受信したパケットをフローと認識し、当該フローが前記正規フローテーブルに登録されている場合、当該フローに対して指定された処理に基づいて、前記パケットを処理する手段と
    を具備する
    スイッチ。
  2. 請求項1に記載のスイッチであって、
    前記スイッチは、
    前記コントローラからのフロー登録の成否の問い合わせに対して、当該フローを前記正規フローテーブル及び前記退避フローテーブルのいずれかから読み出す手段と、
    前記コントローラに対して、当該フローが前記正規フローテーブル及び前記退避フローテーブルのいずれに登録されているか応答する手段と
    を更に具備する
    スイッチ。
  3. 請求項1又は2に記載のスイッチであって、
    前記所定の機能の変更を検知する手段と、
    前記所定の機能の変更に応じて、前記正規フローテーブル及び前記退避フローテーブルに登録済みのフローの各々について、各フローが前記所定の機能と整合するか確認し、各フローが有効か無効かを判定する手段と、
    有効なフローを前記正規フローテーブルに登録する手段と、
    有効なフローが前記退避フローテーブルに登録されている場合は前記退避フローテーブルから削除する手段と、
    無効なフローを前記退避フローテーブルに登録する手段と、
    無効なフローが前記正規フローテーブルに登録されている場合は前記正規フローテーブルから削除する手段と
    を更に具備する
    スイッチ。
  4. 請求項1乃至3のいずれか一項に記載のスイッチであって、
    障害発生時に、前記退避フローテーブルに登録済みのフローを有効にする手段と
    を更に具備する
    スイッチ。
  5. スイッチにより実施されるフローテーブル制御方法であって、
    コントローラから通知されたフローが所定の機能と整合するか確認し、当該フローが有効か無効かを判定することと、
    有効なフローを正規フローテーブルに登録することと、
    無効なフローを退避フローテーブルに登録することと、
    ネットワークから受信したパケットをフローと認識し、当該フローが前記正規フローテーブルに登録されている場合、当該フローに対して指定された処理に基づいて、前記パケットを処理することと
    を含む
    フローテーブル制御方法。
  6. 請求項5に記載のフローテーブル制御方法であって、
    前記コントローラからのフロー登録の成否の問い合わせに対して、当該フローを前記正規フローテーブル及び前記退避フローテーブルのいずれかから読み出すことと、
    前記コントローラに対して、当該フローが前記正規フローテーブル及び前記退避フローテーブルのいずれに登録されているか応答することと
    を更に含む
    フローテーブル制御方法。
  7. 請求項5又は6に記載のフローテーブル制御方法であって、
    前記所定の機能の変更を検知することと、
    前記所定の機能の変更に応じて、前記正規フローテーブル及び前記退避フローテーブルに登録済みのフローの各々について、各フローが前記所定の機能と整合するか確認し、各フローが有効か無効かを判定することと、
    有効なフローを前記正規フローテーブルに登録することと、
    有効なフローが前記退避フローテーブルに登録されている場合は前記退避フローテーブルから削除することと、
    無効なフローを前記退避フローテーブルに登録することと、
    無効なフローが前記正規フローテーブルに登録されている場合は前記正規フローテーブルから削除することと
    を更に含む
    フローテーブル制御方法。
  8. 請求項5乃至7のいずれか一項に記載のフローテーブル制御方法を、スイッチに実行させるためのフローテーブル制御用プログラムを格納した記憶媒体。
JP2012511619A 2010-04-19 2011-04-12 スイッチ、及びフローテーブル制御方法 Expired - Fee Related JP5299856B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012511619A JP5299856B2 (ja) 2010-04-19 2011-04-12 スイッチ、及びフローテーブル制御方法

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2010095760 2010-04-19
JP2010095760 2010-04-19
JP2012511619A JP5299856B2 (ja) 2010-04-19 2011-04-12 スイッチ、及びフローテーブル制御方法
PCT/JP2011/059086 WO2011132568A1 (ja) 2010-04-19 2011-04-12 スイッチ、及びフローテーブル制御方法

Publications (2)

Publication Number Publication Date
JPWO2011132568A1 true JPWO2011132568A1 (ja) 2013-07-18
JP5299856B2 JP5299856B2 (ja) 2013-09-25

Family

ID=44834092

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012511619A Expired - Fee Related JP5299856B2 (ja) 2010-04-19 2011-04-12 スイッチ、及びフローテーブル制御方法

Country Status (7)

Country Link
US (1) US8971342B2 (ja)
EP (1) EP2562970B1 (ja)
JP (1) JP5299856B2 (ja)
KR (1) KR101422381B1 (ja)
CN (1) CN102859952B (ja)
TW (1) TWI455532B (ja)
WO (1) WO2011132568A1 (ja)

Families Citing this family (79)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9769016B2 (en) 2010-06-07 2017-09-19 Brocade Communications Systems, Inc. Advanced link tracking for virtual cluster switching
US8867552B2 (en) 2010-05-03 2014-10-21 Brocade Communications Systems, Inc. Virtual cluster switching
US9716672B2 (en) 2010-05-28 2017-07-25 Brocade Communications Systems, Inc. Distributed configuration management for virtual cluster switching
US9270486B2 (en) 2010-06-07 2016-02-23 Brocade Communications Systems, Inc. Name services for virtual cluster switching
US9806906B2 (en) 2010-06-08 2017-10-31 Brocade Communications Systems, Inc. Flooding packets on a per-virtual-network basis
US9807031B2 (en) 2010-07-16 2017-10-31 Brocade Communications Systems, Inc. System and method for network configuration
US9736085B2 (en) 2011-08-29 2017-08-15 Brocade Communications Systems, Inc. End-to end lossless Ethernet in Ethernet fabric
EP3614631A1 (en) * 2011-09-22 2020-02-26 Nec Corporation Communication terminal, communication method, and program
US9450870B2 (en) 2011-11-10 2016-09-20 Brocade Communications Systems, Inc. System and method for flow management in software-defined networks
US8644149B2 (en) * 2011-11-22 2014-02-04 Telefonaktiebolaget L M Ericsson (Publ) Mechanism for packet forwarding using switch pools in flow-based, split-architecture networks
US8976661B2 (en) * 2012-01-11 2015-03-10 Nec Laboratories America, Inc. Network self-protection
US8995272B2 (en) 2012-01-26 2015-03-31 Brocade Communication Systems, Inc. Link aggregation in software-defined networks
US9742693B2 (en) 2012-02-27 2017-08-22 Brocade Communications Systems, Inc. Dynamic service insertion in a fabric switch
US8705536B2 (en) * 2012-03-05 2014-04-22 Telefonaktiebolaget L M Ericsson (Publ) Methods of operating forwarding elements including shadow tables and related forwarding elements
US9154416B2 (en) 2012-03-22 2015-10-06 Brocade Communications Systems, Inc. Overlay tunnel in a fabric switch
CN104205746A (zh) * 2012-03-28 2014-12-10 日本电气株式会社 计算机系统和通信路由改变方法
US9184995B2 (en) * 2012-04-11 2015-11-10 Gigamon Inc. Traffic visibility in an open networking environment
US9374301B2 (en) * 2012-05-18 2016-06-21 Brocade Communications Systems, Inc. Network feedback in software-defined networks
US10277464B2 (en) 2012-05-22 2019-04-30 Arris Enterprises Llc Client auto-configuration in a multi-switch link aggregation
US20140040459A1 (en) * 2012-08-01 2014-02-06 Hewlett-Packard Development Company, L.P. System and method for data communication using a classified flow table in openflow networks
CN102843299A (zh) * 2012-09-12 2012-12-26 盛科网络(苏州)有限公司 基于TCAM实现Openflow多级流表的方法及系统
US9401872B2 (en) 2012-11-16 2016-07-26 Brocade Communications Systems, Inc. Virtual link aggregations across multiple fabric switches
US9548926B2 (en) 2013-01-11 2017-01-17 Brocade Communications Systems, Inc. Multicast traffic load balancing over virtual link aggregation
US9413691B2 (en) 2013-01-11 2016-08-09 Brocade Communications Systems, Inc. MAC address synchronization in a fabric switch
CN104009930B (zh) * 2013-02-22 2017-09-22 上海贝尔股份有限公司 基于隐含的流信息进行sdn流匹配的方法和设备
US9565099B2 (en) 2013-03-01 2017-02-07 Brocade Communications Systems, Inc. Spanning tree in fabric switches
US9401818B2 (en) 2013-03-15 2016-07-26 Brocade Communications Systems, Inc. Scalable gateways for a fabric switch
CN104079492B (zh) * 2013-03-28 2017-10-10 华为技术有限公司 一种OpenFlow网络中流表配置的方法、装置和系统
CN105519052B (zh) * 2013-05-09 2019-06-11 华为技术有限公司 报文转发方法、设备和系统
TWI520530B (zh) * 2013-05-17 2016-02-01 智邦科技股份有限公司 封包交換裝置及方法
KR101404491B1 (ko) * 2013-06-05 2014-06-10 한국과학기술정보연구원 오픈플로우 망 기반의 서브넷별 동적 대역폭 설정 시스템 및 방법
US9699001B2 (en) 2013-06-10 2017-07-04 Brocade Communications Systems, Inc. Scalable and segregated network virtualization
CN104641606B (zh) * 2013-06-13 2017-11-17 华为技术有限公司 网络资源均衡处理的方法和虚拟网络管理实体
CN104604194B (zh) * 2013-08-30 2018-02-23 华为技术有限公司 流表控制方法、装置、交换机和控制器
US9806949B2 (en) 2013-09-06 2017-10-31 Brocade Communications Systems, Inc. Transparent interconnection of Ethernet fabric switches
CN104468357B (zh) * 2013-09-16 2019-07-12 中兴通讯股份有限公司 流表的多级化方法、多级流表处理方法及装置
US9912612B2 (en) 2013-10-28 2018-03-06 Brocade Communications Systems LLC Extended ethernet fabric switches
CN104683243B (zh) * 2013-11-26 2019-02-01 华为技术有限公司 一种数据处理方法、装置及系统
JP6480452B2 (ja) 2013-12-11 2019-03-13 華為技術有限公司Huawei Technologies Co.,Ltd. パケット処理方法および装置
CN104754560B (zh) 2013-12-30 2018-11-30 华为终端(东莞)有限公司 一种位置隐私保护方法、装置及系统
CN105247831B (zh) 2014-01-23 2018-10-30 华为技术有限公司 流表修改方法、流表修改装置和开放流网络系统
CN104811403B (zh) * 2014-01-27 2019-02-26 中兴通讯股份有限公司 基于开放流的组表处理方法、装置及组表配置单元
US10263903B2 (en) * 2014-02-05 2019-04-16 Ibasis, Inc. Method and apparatus for managing communication flow in an inter-network system
US9629018B2 (en) 2014-02-05 2017-04-18 Ibasis, Inc. Method and apparatus for triggering management of communication flow in an inter-network system
US9548873B2 (en) 2014-02-10 2017-01-17 Brocade Communications Systems, Inc. Virtual extensible LAN tunnel keepalives
CN104869057B (zh) * 2014-02-21 2019-03-01 中兴通讯股份有限公司 开放流交换机优雅重启处理方法、装置及开放流控制器
US10581758B2 (en) 2014-03-19 2020-03-03 Avago Technologies International Sales Pte. Limited Distributed hot standby links for vLAG
US10476698B2 (en) 2014-03-20 2019-11-12 Avago Technologies International Sales Pte. Limited Redundent virtual link aggregation group
CN103957157B (zh) * 2014-03-25 2017-03-22 中国人民解放军国防科学技术大学 一种网络接口可定义转发规则的路由方法
CN105191212B (zh) * 2014-03-25 2019-03-26 华为技术有限公司 一种数据流统计方法、系统和装置
JP6287443B2 (ja) 2014-03-26 2018-03-07 富士通株式会社 制御装置、及びそのテーブル作成方法
EP3119043B1 (en) 2014-04-16 2019-01-09 Huawei Technologies Co., Ltd. Flow table entry management method and device
US10063473B2 (en) 2014-04-30 2018-08-28 Brocade Communications Systems LLC Method and system for facilitating switch virtualization in a network of interconnected switches
US9800471B2 (en) 2014-05-13 2017-10-24 Brocade Communications Systems, Inc. Network extension groups of global VLANs in a fabric switch
US9935831B1 (en) * 2014-06-03 2018-04-03 Big Switch Networks, Inc. Systems and methods for controlling network switches using a switch modeling interface at a controller
US10616108B2 (en) 2014-07-29 2020-04-07 Avago Technologies International Sales Pte. Limited Scalable MAC address virtualization
US9807007B2 (en) 2014-08-11 2017-10-31 Brocade Communications Systems, Inc. Progressive MAC address learning
CN105684382A (zh) * 2014-08-11 2016-06-15 华为技术有限公司 报文的控制方法、交换机及控制器
US9699029B2 (en) 2014-10-10 2017-07-04 Brocade Communications Systems, Inc. Distributed configuration management in a switch group
CN104486119A (zh) * 2014-12-16 2015-04-01 盛科网络(苏州)有限公司 通过改进openflow协议实现批量管理交换机的方法及系统
US10003552B2 (en) 2015-01-05 2018-06-19 Brocade Communications Systems, Llc. Distributed bidirectional forwarding detection protocol (D-BFD) for cluster of interconnected switches
US9942097B2 (en) 2015-01-05 2018-04-10 Brocade Communications Systems LLC Power management in a network of interconnected switches
US9467378B1 (en) * 2015-03-01 2016-10-11 Netronome Systems, Inc. Method of generating subflow entries in an SDN switch
US9807005B2 (en) 2015-03-17 2017-10-31 Brocade Communications Systems, Inc. Multi-fabric manager
US10038592B2 (en) 2015-03-17 2018-07-31 Brocade Communications Systems LLC Identifier assignment to a new switch in a switch group
CN104821890A (zh) * 2015-03-27 2015-08-05 上海博达数据通信有限公司 一种基于普通交换芯片的OpenFlow多级流表的实现方法
US10579406B2 (en) 2015-04-08 2020-03-03 Avago Technologies International Sales Pte. Limited Dynamic orchestration of overlay tunnels
WO2017000235A1 (zh) * 2015-06-30 2017-01-05 华为技术有限公司 流表老化方法、交换机及控制器
US9948518B2 (en) * 2015-07-22 2018-04-17 International Business Machines Corporation Low latency flow cleanup of openflow configuration changes
US10439929B2 (en) 2015-07-31 2019-10-08 Avago Technologies International Sales Pte. Limited Graceful recovery of a multicast-enabled switch
CN105591934B (zh) * 2015-08-05 2019-07-09 新华三技术有限公司 一种流表的管理方法和装置
US10171303B2 (en) 2015-09-16 2019-01-01 Avago Technologies International Sales Pte. Limited IP-based interconnection of switches with a logical chassis
US9912614B2 (en) 2015-12-07 2018-03-06 Brocade Communications Systems LLC Interconnection of switches based on hierarchical overlay tunneling
US10979890B2 (en) 2016-09-09 2021-04-13 Ibasis, Inc. Policy control framework
US10237090B2 (en) 2016-10-28 2019-03-19 Avago Technologies International Sales Pte. Limited Rule-based network identifier mapping
CN110036656B (zh) 2017-03-30 2022-10-11 伊巴西斯公司 无需sms的esim简档切换
CN107547421A (zh) * 2017-05-24 2018-01-05 新华三技术有限公司 异步通信方法和装置
US10524116B2 (en) 2017-06-27 2019-12-31 Ibasis, Inc. Internet of things services architecture
CN115442292B (zh) * 2022-08-29 2023-10-03 中国联合网络通信集团有限公司 数据流表的调整方法、装置、设备及存储介质

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6650640B1 (en) * 1999-03-01 2003-11-18 Sun Microsystems, Inc. Method and apparatus for managing a network flow in a high performance network interface
US6851000B2 (en) 2000-10-03 2005-02-01 Broadcom Corporation Switch having flow control management
US7076594B2 (en) * 2000-12-22 2006-07-11 Cisco Technology, Inc. Apparatus and method for preventing one way connectivity loops in a computer network
US6654343B1 (en) 2001-03-19 2003-11-25 Turin Networks Method and system for switch fabric flow control
JP3965283B2 (ja) * 2001-07-02 2007-08-29 株式会社日立製作所 複数種類のパケット制御機能を備えたパケット転送装置
US7028098B2 (en) * 2001-07-20 2006-04-11 Nokia, Inc. Selective routing of data flows using a TCAM
CN1292567C (zh) 2002-06-22 2006-12-27 华为技术有限公司 Ip环分布式带宽处理方法
JP3711965B2 (ja) 2002-07-18 2005-11-02 日本電気株式会社 Ipフロー多段ハッシュ装置、ipフロー多段ハッシュ方法、ipフロー多段ハッシュプログラム及びその記録媒体
JP2004173136A (ja) 2002-11-22 2004-06-17 Fujitsu Ltd ネットワーク管理装置
EP1503548A1 (en) * 2003-08-01 2005-02-02 fg microtec GmbH Distributed Quality of Service Management System
US7164912B2 (en) * 2004-01-07 2007-01-16 Research In Motion Limited Apparatus, and associated method, for facilitating selection by a mobile node of a network through which to communicate using a hierarchical selection process
JP2006254134A (ja) 2005-03-11 2006-09-21 Alaxala Networks Corp 通信統計収集装置
US20080120286A1 (en) * 2006-11-22 2008-05-22 Dettinger Richard D Method and system for performing a clean operation on a query result
JP4791347B2 (ja) 2006-12-29 2011-10-12 富士通株式会社 エントリの圧縮伸長方法およびエントリの圧縮伸長を行う装置
JP2008177806A (ja) * 2007-01-18 2008-07-31 Hitachi Communication Technologies Ltd パケット交換ネットワークおよび障害完成装置
JP2009049592A (ja) 2007-08-16 2009-03-05 Nippon Telegr & Teleph Corp <Ntt> Ipフロー計測回路およびipフロー計測方法
EP2587736A3 (en) 2007-09-26 2013-08-28 Nicira, Inc. Network operating system for managing and securing networks
JP2009296230A (ja) 2008-06-04 2009-12-17 Nec Corp 伝送ネットワーク、伝送装置、伝送ネットワークの回線切替方法及びプログラム
JP4358892B1 (ja) 2008-10-16 2009-11-04 エア・ウォーター株式会社 フッ化処理方法およびフッ化処理装置ならびにフッ化処理装置の使用方法

Also Published As

Publication number Publication date
TW201218692A (en) 2012-05-01
WO2011132568A1 (ja) 2011-10-27
TWI455532B (zh) 2014-10-01
KR101422381B1 (ko) 2014-07-22
CN102859952B (zh) 2016-05-11
EP2562970A1 (en) 2013-02-27
EP2562970A4 (en) 2013-12-04
EP2562970B1 (en) 2015-01-07
US8971342B2 (en) 2015-03-03
US20130114615A1 (en) 2013-05-09
KR20120139824A (ko) 2012-12-27
JP5299856B2 (ja) 2013-09-25
CN102859952A (zh) 2013-01-02

Similar Documents

Publication Publication Date Title
JP5299856B2 (ja) スイッチ、及びフローテーブル制御方法
US11165869B2 (en) Method and apparatus for dynamic destination address control in a computer network
RU2562438C2 (ru) Сетевая система и способ управления сетью
JP5660211B2 (ja) 通信経路制御システム、及び通信経路制御方法
JP4886788B2 (ja) 仮想ネットワーク、データ・ネットワーク・システム、コンピュータ・プログラム、およびコンピュータ・プログラムを運用する方法
EP3070881B1 (en) Link health check method and device
JP5610247B2 (ja) ネットワークシステム、及びポリシー経路設定方法
JPWO2013150925A1 (ja) ネットワークシステム、コントローラ、及びパケット認証方法
WO2015079284A1 (en) Methods and systems for processing internet protocol packets
JP5966488B2 (ja) ネットワークシステム、スイッチ、及び通信遅延短縮方法
CN106254433B (zh) 一种建立tcp通信连接的方法及装置
WO2017054535A1 (zh) 流量转发方法及装置
JP5668503B2 (ja) 有害サイトフィルタリングシステム及びフィルタリング方法
JP5821641B2 (ja) ネットワークシステム、スイッチ、及びスイッチ間設定通知方法
JP2013115733A (ja) ネットワークシステム、及びネットワーク制御方法
JP6721733B2 (ja) 中継方法、および有効性確認応答方法、並びにコンピュータ・プログラム
US20180034734A1 (en) Network processing unit (npu) integrated layer 2 network device for layer 3 offloading
US20220150753A1 (en) Information processing apparatus and non-transitory computer readable medium
JP2009081789A (ja) 通信デバイス、macアドレスリンク情報更新方法およびmacアドレスリンク情報更新プログラム

Legal Events

Date Code Title Description
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: 20130527

R150 Certificate of patent or registration of utility model

Ref document number: 5299856

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

LAPS Cancellation because of no payment of annual fees