JP5714187B2 - ミドルボックスを備えるネットワークのアーキテクチャ - Google Patents

ミドルボックスを備えるネットワークのアーキテクチャ Download PDF

Info

Publication number
JP5714187B2
JP5714187B2 JP2014541431A JP2014541431A JP5714187B2 JP 5714187 B2 JP5714187 B2 JP 5714187B2 JP 2014541431 A JP2014541431 A JP 2014541431A JP 2014541431 A JP2014541431 A JP 2014541431A JP 5714187 B2 JP5714187 B2 JP 5714187B2
Authority
JP
Japan
Prior art keywords
logical
middlebox
network
middle box
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.)
Active
Application number
JP2014541431A
Other languages
English (en)
Other versions
JP2014535252A (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.)
Nicira Inc
Original Assignee
Nicira Inc
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 Nicira Inc filed Critical Nicira Inc
Publication of JP2014535252A publication Critical patent/JP2014535252A/ja
Application granted granted Critical
Publication of JP5714187B2 publication Critical patent/JP5714187B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/177Initialisation or configuration control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • 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/08Configuration management of networks or network elements
    • 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/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • 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/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0806Configuration setting for initial configuration or provisioning, e.g. plug-and-play
    • 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/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0823Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
    • 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/08Configuration management of networks or network elements
    • H04L41/0889Techniques to speed-up the configuration process
    • 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/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements
    • 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/08Configuration management of networks or network elements
    • H04L41/0894Policy-based network configuration management
    • 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/08Configuration management of networks or network elements
    • H04L41/0895Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
    • 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/12Discovery or management of network topologies
    • 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/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/70Virtual switches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2517Translation of Internet protocol [IP] addresses using port numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2521Translation architectures other than single NAT servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/256NAT traversal
    • 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/0209Architectural arrangements, e.g. perimeter networks or demilitarized zones
    • H04L63/0218Distributed architectures, e.g. distributed firewalls
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances
    • 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
    • H04L49/00Packet switching elements
    • H04L49/15Interconnection of switching modules

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Description

現在の多くの企業は、大規模でかつ高度なネットワークを有していて、このネットワークは、スイッチ、ハブ、ルータ、ミドルボックス(例えば、ファイヤウォール、ロードバランサ(負荷分散装置)、ソースネットワークアドレストランスレータ(変換器)、等)、サーバ、ワークステーション及び他のネットワークデバイスを備え、これらは、様々な接続、アプリケーション及びシステムをサポートしている。より高度なコンピュータネットワーキングは、ネットワーク制御用のパラダイムを要求している。このコンピュータネットワーキングには、仮想マシーンマイグレーション、ダイナミックワークロード(動的作業負荷)、マルチテナント化、及び顧客専用サービス品質及びセキュリティコンフィグレーション(構成設定)が含まれる。ネットワークは、伝統的に、個々のネットワークコンポーネントの低レベルなコンフィグレーションを通じて管理されている。ネットワークコンフィグレーションは、たいていは、配下のネットワークに依存していて、例えば、アクセス制御リスト(「ACL」)エントリによるユーザのアクセスのブロックは、ユーザの現在のIPアドレスを把握していることを要求する。より複雑なタスクは、より広範囲のネットワークの知識を要求していて、ゲストユーザのポート80のトラフィックをHTTPプロキシを通過させることは、現在のネットワークトポロジーを把握し、かつ各ゲストのロケーション(位置)を把握することを要求する。このプロセスは、ネットワークスイッチング要素が複数のユーザに渡って共有されるというより困難を伴うプロセスとなっている。
これを受けて、ソフトウェア定義ネットワーキング(SDN)と呼ばれる新規のネットワーク制御パラダイムに向けて拡大している動きが存在する。このSDNパラダイムでは、ネットワーク内の1つ以上のサーバで動作するネットワークコントローラが、制御ロジックを制御し、維持し、かつ実現する。この制御ロジックは、ユーザ単位で、共有ネットワークスイッチング要素の転送行動を管理する。ネットワーク管理決定を行うことは、しばしば、ネットワーク状態の知識を要求する。管理決定を行うことを容易にするために、ネットワークコントローラは、ネットワーク状態の表示を作成して維持し、そして、管理アプリケーションがネットアーク状態の表示へアクセスすることができるアプリケーションプログラミングインタフェースを提供する。
大規模ネットワーク(データセンタ及び企業ネットワークの両方を含む)の維持の主要な目的のいくつかには、スケーラビリティ、モビリティ、及びマルチテナント性がある。これらの目的の1つに取り組まれている多くの方法は、それ以外の目的の少なくとも1つを阻害するものとなっている。例えば、1つには、L2ドメイン内の仮想マシーンに対してネットワークモビリティを容易に提供することができるが、L2ドメインは大きいサイズに変更することができない。また、ユーザの分離を大きく維持することはモビリティを複雑にする。このように、スケーラビリティ、モビリティ、及びマルチテナント性の目的を満足することができる改良されたソリューションが必要とされている。
いくつかの実施形態は、ユーザに、1つ以上のミドルボックス(例えば、ファイヤウォール、ロードバランサ(負荷分散装置)、ソースネットワークアドレストランスレータ、侵入検出システム(IDS)、ワイドエリアネットワークオプティマイザ等)を含む論理ネットワークを特定することを可能にするシステムを提供する。このシステムは、論理ネットワークの仮想マシーンも管理するいくつかの物理マシーン上で動作するいくつかの管理スイッチング要素に渡って、論理転送要素(例えば、論理スイッチ、論理ルータ等)を配信することによって論理ネットワークを実現する。このような論理ネットワークを実現する際には、いくつかの実施形態のシステムは、異なる方法で異なるミドルボックスを実現する。例えば、このシステムは、分散方法で(例えば、管理スイッチング要素と平行して物理マシーン上で動作するいくつかの管理ミドルボックス要素に渡って実現されるミドルボックスを用いる)第1のミドルボックスを実現することができ、また、集中方法で(例えば、単一の電子機器あるいは仮想マシーンとして、クラスタとして)第2のミドルボックスを実現することができる。いくつかの実施形態では、分散方法であるいは集中方法で特定のミドルボックスを実現するかどうかについての判定は、ミドルボックスが分散されている場合の異なるミドルボックス要素間の状態共有要件に基づいている。
いくつかの実施形態では、論理ミドルボックスの物理ネットワークへの取り得る実装に対するスペクトルは、完全分散されているミドルボックスから完全集中されているミドルボックスの範囲に渡る。加えて、単一のタイプのミドルボックスは、同一の管理論理ネットワーク内を含む、集中形式あるいは分散形式の両方で実現することができる。例えば、ユーザは、外部ネットワークからの到来するすべてのトラフィックをフィルタ処理するための第1のファイヤウォールと、論理ネットワークの異なるサブネット間のトラフィックをフィルタ処理するための第2のファイヤウォールとを要望する場合がある。いくつかの場合、最適なソリューションは、すべての外部の到来トラフィックが転送される単一の電子機器としてファイヤウォールを実現することができる一方で、論理ネットワークの仮想マシーン群が管理される物理マシーン群のすべてに渡る分散形式の第2のファイヤウォールを実現することができる。
このスペクトラムの一旦は、完全分散ミドルボックスアーキテクチャである。この場合、ミドルボックスは、いくつかのノード(物理ホストマシーン)に渡って実現される。物理ホストマシーンのそれぞれは、いくつかの実施形態では、論理ミドルボックスを含む論理ネットワーク内の少なくとも1つの仮想マシーンを管理する。加えて、管理スイッチング要素は、ホストマシーン群のそれぞれにおいて、論理ネットワークの論理転送要素を実現するために動作する。特定の物理ホストマシーンは、(例えば、異なるテナントに属する)複数の論理ネットワーク内で仮想マシーン群を管理することができるので、ホスト上で動作する、分散ミドルボックスと管理スイッチング要素は、異なる論理ネットワークからミドルボックス群と論理転送要素群とを実現するために仮想化することができる。
いくつかの実施形態では、ミドルボックスは、最小の共有の状態(あるいは完全に共有されていない状態)がミドルボックスインスタンス間で要求される場合に分散形式で実現することができる。少なくともいくつかのタイプのミドルボックスはステートフルであり、この場合、これらのミドルボックスは、マシーン間(例えば、ネットワーク内の2つの仮想マシーン間、ネットワーク内の仮想マシーンと外部マシーンとの間、等)での接続に対する状態を確立する。いくつかの実施形態では、ミドルボックスは、各トランスポートレイヤ接続(例えば、TCP接続、UDP接続)に対する状態を確立する。いくつかの実施形態の分散の場合、特定のホストマシーンで動作するミドルボックス要素は、これを介して通過するトランスポート接続に対する状態を作成するが、他のホストマシーン上で動作する他のミドルボックス要素との状態を共有する必要はない。特定のホストマシーン上で管理される仮想マシーンだけに状態を適用し、そのミドルボックスが他の仮想マシーンに対して確立されている状態情報を使用して任意の解析を実行する必要がない場合、ミドルボックスは分散され得る。このようなミドルボックスの例には、ソースネットワークアドレス変換(S−NAT)、宛先ネットワークアドレス変換(D−NAT)、及びファイヤウォールが含まれる。
加えて、いくつかの実施形態は、最小レベルの状態共有を有する、ミドルボックスの分散を可能にする。例えば、ロードバランサは、マシーン群にクエリを発行して、トラフィックの均衡を図って、そのマシーン群のそれぞれに送信される現在のレベルのトラフィックを判定し、それを他のロードバランサに分散する。しかしながら、各ロードバランス処理(balancing)要素は、ロードバランス処理アルゴリズムを実行して、定期的な間隔でクエリを実行することができる。これは、仮想マシーンの1つにパケットが転送される毎に、あるいはトランスポート(例えば、TCP、UDP等)接続が仮想マシーンの1つと確立される毎に、各他のロードバランス要素と状態情報を共有するものではない。
スペクトルの他方の側は、完全集中ミドルボックス実装である。このような集中実装では、ホスト内の管理スイッチング要素は、処理するためのミドルボックスに対するすべてのトラフィックを同一のミドルボックス電子機器へ送信する。この単一のミドルボックスは、自身が所有するホストマシーン内(あるいはネットワーク内の複数の仮想マシーンの1つとする同一のホスト内)の物理ネットワーク内で動作する、個別の物理マシーンあるいは個別の仮想マシーンとすることができる。管理スイッチング要素はパケットがミドルボックスへ送信されるべきであることを識別する場合、スイッチング要素は、パケットを物理ネットワークを介して(例えば、トンネルを介して)ミドルボックスへ送信する。ミドルボックスはパケットを処理して、そのパケット(実際には、新規のパケット)を処理用の別の管理スイッチング要素(例えば、プールノード)へ送信する。
いくつかの実施形態は、分散ミドルボックスがデータプレーン速度でパケット共有を要求する場合、そのような集中ミドルボックスを使用する。つまり、ミドルボックス要素によって処理される各トラフィックパケットに対して、このミドルボックス要素は、パケット処理から得られる状態変更ですべての他のミドルボックスインスタンスを更新しなければならないであろう。つまり、ミドルボックスを介して通過する各トラフィックパケットは、他のミドルボックスインスタンスのすべてを更新するために、追加のトラフィックが急増することになる。このようなミドルボックスの例は、IDS、及びWANオプティマイザが含まれる。例えば、侵入を適切に監視するために、IDSによる処理は、ネットワーク内の接続のほぼすべてを把握する必要がある。このように、IDSが分散されている場合、新規の状態の更新は、分散されているIDS要素によって処理されるパケット毎に送信される必要があろう。
第3のオプションとして、いくつかの実施形態は、完全集中アーキテクチャに類似するいくつかのミドルボックスに対するクラスタアーキテクチャを使用して、このクラスタは、単一の物理マシーンではなく集中リソースプールとして動作する。ミドルボックスクラスタ(例えば、IDSボックスのクラスタ)は、ミドルボックスを使用するネットワーク(あるいはネットワーク群)がより大きい場合に有益であり、単一の電子機器は、より大きな配備を取り扱うための十分なリソース(例えば、メモリ、処理電力等)を有していない場合がある。しかしながら、クラスタが状態情報のすべての知識を要求するミドルボックスである場合、この状態情報は、クラスタ内の様々なマシーン間で共有されることになる。いくつかの実施形態では、ミドルボックスクラスタは、解析が、トランスポート接続(あるいは、パケット毎の頻度よりも低い、接続毎のいくつかの更新)単位ではなく、パケット単位で状態更新を要求しない場合は、単一の電子機器よりも良好なオプションとなる。要求される高速な状態共有を実行するために、いくつかの実施形態は、状態情報を共有するための個別の専用高速接続を介してクラスタ内のミドルボックスマシーンとリンクする。
上述の要約は、本発明のいくつかの実施形態への簡潔な導入として供する。本明細書で開示される発明特定事項のすべてが導入あるいは概要であることを意味するものではない。以下に続く詳細説明と、その詳細説明で参照される図面は、要約で記載される実施形態と、他の実施形態を更に説明するものである。従って、本明細書によって記載されるすべての実施形態を理解するためには、要約、詳細説明及び図面の完全なる参照が必要とされる。また、請求する特定事項は、要約、詳細説明及び図面における例示の詳細によって制限されるものではなく、むしろ、添付の請求項によって定義されるものである。これは、請求する特定事項は、その特定事項の精神から逸脱することなく他の特定の形態で実施することができるからである。
本発明の新規な特徴は、添付の請求項で説明される。しかしながら、説明の目的のために、本発明のいくつかの実施形態が以下の図で説明される。
完全分散されているミドルボックスから完全集中されているミドルボックスの範囲に渡る、論理ミドルボックスの物理ネットワークへの実装に対するスペクトルを概念的に示す図である。 いくつかの実施形態の論理ネットワークトポロジーを概念的に示す図である。 いくつかの実施形態の分散ミドルボックスの実装を概念的に示す図である。 いくつかの実施形態のミドルボックスの完全集中実装を概念的に示す図である。 いくつかの実施形態のリソースのクラスタとしてのミドルボックスの実装を概念的に示す図である。 いくつかの実施形態の侵入検出システムを含む論理ネットワークを実現するネットワークを概念的に示す図である。 分散ソフトウェアミドルボックス要素及びソフトウェアスイッチング要素の両方を含むいくつかの実施形態のホストマシーンのアーキテクチャを概念的に示す図である。 論理ネットワークを実装するために、管理スイッチング要素及び分散ミドルボックス要素を構成設定するためのいくつかの実施形態のネットワーク制御システムを示す図である。 いくつかの実施形態のネットワーク制御システムを介するデータの伝搬を概念的に示す図である。 いくつかの実施形態のネットワークコントローラの例示のアーキテクチャを示す図である。 いくつかのミドルボックスを介在する複雑な論理ネットワークトポロジーを概念的に示す図である。 ホスト仮想化環境における図11のネットワークの1つの特定の物理実装を概念的に示す図である。 本発明のいくつかの実施形態が実現される電子システムを概念的に示す図である。
以下の本発明の詳細説明では、本発明のいくつかの詳細、例示及び実施形態を説明し、かつ記載する。しかしながら、本発明が説明される実施形態に限定されるものではなく、また、本発明が、議論されるいくつかの特定の詳細及び例示を伴わずに実現されても良いことを当業者には明らかでかつ明白であろう。
いくつかの実施形態は、ユーザに論理ネットワークを特定することを可能にするシステムを提供する。この論理ネットワークは、1つ以上のミドルボックス(例えば、ファイヤウォール、ロードバランサ、ネットワークアドレス変換器、侵入検出システム(IDS)、ワイドエリアネットワーク(WAN)オプティマイザ等)を含んでいる。このシステムは、いくつかの管理スイッチング要素に渡って論理転送要素(例えば、論理スイッチ、論理ルータ等)を分散させることによって論理ネットワークを実現する。この管理スイッチング要素は、その論理ネットワークのホスト仮想マシーンでもあるいくつかの物理マシーン上で動作する。
このような論理ネットワークの実現においては、いくつかの実施形態のシステムは、様々な方法で様々なミドルボックスを実現する。例えば、システムは、分散形式(例えば、管理スイッチング要素と並行して物理マシーン上で動作するいくつかの管理ミドルボックスに渡って実現されるミドルボックスを用いる)で第1のミドルボックスを実現し、集中形式(例えば、単一の電子機器あるいは仮想マシーンとして、クラスタとして)で第2のミドルボックスを実現することができる。いくつかの実施形態では、分散形式あるいは集中形式で特定のミドルボックスを実現するかどうかについての判定は、ミドルボックスが分散されている場合での異なるミドルボックスとの間での状態共有要件に基づいている。
図1は、完全分散されているミドルボックスから完全集中されているミドルボックスの範囲に渡る、論理ミドルボックスの物理ネットワークへの実装に対するスペクトル100を概念的に示す図である。上述のように、異なるミドルボックスを、このスペクトルに沿う異なる地点で実現することができる。加えて、シングルタイプ(単一型)のミドルボックスを、同一の管理論理ネットワーク内を含む、集中形式あるいは分散形式の両方で実現することができる。例えば、ユーザは、外部ネットワークから到来するすべてのトラフィックをフィルタリングするための第1のファイヤウォールと、論理ネットワークの異なるサブネットワーク間のトラフィックをフィルタリングするための第2のファイヤウォールを要望する場合がある。いくつかの場合、最適なソリューションは、外部から到来するすべてのトラフィックが転送される単一の電子機器として第1のファイヤウォールを実現し、一方で、論理ネットワークの仮想マシーンが実現されている物理マシーン群のすべてに渡る分散形式で第2のファイヤウォールを実現することである。
スペクトル100の左端では、いくつかの実施形態の完全分散されているミドルボックスアーキテクチャ105が示されている。図に示されるように、ミドルボックスは、いくつかのノード(物理ホストマシーン)に渡って実現されている。いくつかの実施形態では、物理ホストマシーンのそれぞれは、論理ミドルボックスを含む論理ネットワーク内で少なくとも1つの仮想マシーンを管理する。加えて、管理スイッチング要素は、ホストマシーンのそれぞれで動作して、論理ネットワークの論理転送要素(例えば、論理ルータ、論理スイッチ)を実現する。特定の物理ホストマシーンは、2つ以上の論理ネットワーク(例えば、異なるテナントに属している)内で仮想マシーンを管理することができるので、分散ミドルボックス及びホスト上で動作する管理スイッチング要素の両方を、異なる論理ネットワークからのミドルボックス及び論理転送要素を実現するために仮想化することができる。いくつかの実施形態では、ミドルボックスは、ホストマシーンのハイパーバイザとして動作するモジュールあるいはモジュールのセットとして実現される。
図で示されるように、ミドルボックスは、最小の共有の状態(あるいは完全に共有されていない状態)がミドルボックスインスタンス間で要求される場合に分散形式で実現することができる。少なくともいくつかのタイプのミドルボックスはステートフルであり、この場合、これらのミドルボックスは、マシーン間(例えば、ネットワーク内の2つの仮想マシーン間、ネットワーク内の仮想マシーンと外部マシーンとの間、等)での接続に対する状態を確立する。いくつかの実施形態では、ミドルボックスは、各トランスポートレイヤ接続(例えば、TCP接続、UDP接続)に対する状態を確立する。いくつかの実施形態の分散の場合、特定のホストマシーンで動作するミドルボックス要素は、これを介して通過するトランスポート接続に対する状態を作成するが、他のホストマシーン上で動作する他のミドルボックス要素との状態を共有する必要はない。特定のホストマシーン上で管理される仮想マシーンだけに状態を適用し、そのミドルボックスが他の仮想マシーンに対して確立されている状態情報を使用して任意の解析を実行する必要がない場合、ミドルボックスは分散され得る。このようなミドルボックスの例には、ソースネットワークアドレス変換(S−NAT)、宛先ネットワークアドレス変換(D−NAT)、及びファイヤウォールが含まれる。
加えて、いくつかの実施形態は、最小レベルの状態共有を有する、ミドルボックスの分散を可能にする。例えば、ロードバランサは、マシーン群にクエリを発行して、トラフィックの均衡を図って、そのマシーン群のそれぞれに送信される現在のレベルのトラフィックを判定し、それを他のロードバランサに分散する。しかしながら、各ロードバランス処理(balancing)要素は、ロードバランス処理アルゴリズムを実行して、定期的な間隔でクエリを実行することができる。これは、仮想マシーンの1つにパケットが転送される毎に、あるいはトランスポート(例えば、TCP、UDP等)接続が仮想マシーンの1つと確立される毎に、各他のロードバランス要素と状態情報を共有するものではない。
スペクトル100の他方の側は、完全集中ミドルボックス実装110である。この実装では、ホスト内の管理スイッチング要素は、処理するためのミドルボックスに対するすべてのトラフィックを同一のミドルボックス電子機器へ送信する。この単一のミドルボックスは、自身が所有するホストマシーン内(あるいはネットワーク内の複数の仮想マシーンの1つとする同一のホスト内)の物理ネットワーク内で動作する、個別の物理マシーンあるいは個別の仮想マシーンとすることができる。管理スイッチング要素はパケットがミドルボックスへ送信されるべきであることを識別する場合、スイッチング要素は、パケットを物理ネットワークを介して(例えば、トンネルを介して)ミドルボックスへ送信する。ミドルボックスはパケットを処理して、そのパケット(実際には、新規のパケット)を処理用の別の管理スイッチング要素へ送信する。
いくつかの実施形態では、新規のパケットが送信される管理スイッチング要素は、プールノードとなる。プールノードは、いくつかの実施形態では、エッジスイッチング要素(即ち、これらは、ホストマシーン上に配置されていて、仮想マシーンに直接接続されている)が処理することができないトラフィックを処理するための、ネットワーク内部に配置される(即ち、ネットワークエッジにある任意の仮想マシーンに直接節属されていない)特定のタイプの管理スイッチング要素である。他の実施形態では、パケットをプールノードへ送信するのではなく、ミドルボックスは、トラフィックを、ミドルボックス電子機器に直接構築されている管理スイッチング要素へ送信する。
いくつかの実施形態は、分散ミドルボックスがデータプレーン速度でパケット共有を要求する場合、そのような集中ミドルボックスを使用する。つまり、ミドルボックス要素によって処理される各トラフィックパケットに対して、このミドルボックス要素は、パケット処理から得られる状態変更ですべての他のミドルボックスインスタンスを更新しなければならないであろう。つまり、ミドルボックスを介して通過する各トラフィックパケットは、他のミドルボックスインスタンスのすべてを更新するために、追加のトラフィックが急増することになる。このようなミドルボックスの例は、IDS、及びWANオプティマイザが含まれる。例えば、侵入を適切に監視するために、IDSによる処理は、ネットワークの接続のほぼすべてを把握する必要がある。このように、IDSが分散されている場合、新規の状態の更新は、分散されているIDS要素によって処理されるパケット毎に送信される必要があろう。
ミドルボックスクラスタアーキテクチャ115は、単一の物理マシーンではなく集中リソースプールとして動作すること以外は、完全集中アーキテクチャ110と同様である。図に示されるように、ミドルボックスクラスタ(例えば、IDSボックスのクラスタ)は、ミドルボックスを使用するネットワーク(あるいはネットワーク群)がより大きい場合に有益であり、単一の電子機器は、より大きな配備を取り扱うための十分なリソース(例えば、メモリ、処理電力等)を有していない場合がある。しかしながら、クラスタが状態情報のすべての知識を要求するミドルボックスである場合、この状態情報は、クラスタ内の様々なマシーン間で共有されることになる。いくつかの実施形態では、ミドルボックスクラスタは、解析が、トランスポート接続(あるいは、パケット毎の頻度よりも低い、接続毎のいくつかの更新)単位ではなく、パケット単位で状態更新を要求しない場合は、単一の電子機器よりも良好なオプションとなる。要求される高速な状態共有を実行するために、いくつかの実施形態は、状態情報を共有するための個別の専用高速接続を介してクラスタ内のミドルボックスマシーンとリンクする。
上述の説明は、いくつかの実施形態のネットワーク内の様々な実装の論理ミドルボックスの例を示している。より詳細な実施形態のいくつかは以下で説明する。セクションIは、いくつかの実施形態の異なるミドルボックスアーキテクチャを記載している。セクションIIは、いくつかの実施形態の分散ミドルボックス実装を記載している。次に、セクションIIIは、1つ以上のミドルボックスを含む論理ネットワークを実現するために、ネットワークを構成設定するためのいくつかの実施形態のネットワーク制御システムを記載している。セクションIVは、いくつかの異なるミドルボックスを備えるネットワークの例を記載している。そして、セクションVは、本発明のいくつかの実施形態が実現される電子システムを記載している。
I.様々なミドルボックスアーキテクチャ
上述のように、いくつかの実施形態は、管理ネットワーク内の様々なアーキテクチャを使用して様々なミドルボックスを実現する。同一の論理ネットワークトポロジーに対してでさえも、いくつかのミドルボックスが分散形式(ネットワークの仮想マシーンが動作する各ホストで動作するミドルボックス要素を用いる)で実現され、一方で、他のミドルボックスは、(単一の電子機器を用いる、あるいは、ホスト上の管理スイッチング要素が接続するクラスタを用いる)集中形式で実現される。
図2は、いくつかの実施形態の論理ネットワークトポロジー200を概念的に示す図である。ネットワークトポロジー200は、説明のための簡略化ネットワークである。このネットワークは、2つの論理L2スイッチ205及び210を含み、これらは論理L3ルータ215に接続されている。論理スイッチ205は仮想マシーン220及び225と接続していて、一方で、論理スイッチ210は仮想マシーン230及び235と接続している。論理ルータ215は、また、外部ネットワーク250と接続している。
加えて、ミドルボックス240は、論理ルータ215に接続している。ネットワークトポロジー200は、ミドルボックスを組み込むことができる1つの特定の論理ネットワークトポロジーを単に示していることを、当業者は認識するであろう。様々な実施形態では、ミドルボックスは、2つの他のコンポーネント間に直接配置されていても良いし、あるいはゲートウェイと論理ルータ(例えば、論理ネットワークへ進入するあるいは退出するすべてのトラフィックを監視し処理するために)との間に直接配置されていても良いし、あるいはより複雑なネットワーク内の他のロケーション内に配置されていても良い。
図2に示されるアーキテクチャでは、ミドルボックス240は、1つのドメインから他のドメインへの、あるいは、外界とドメインとの間の、ダイレクトトラフィックフロー内には配置されていない。従って、どのパケットが処理用のミドルボックスへ送信されるべきかを判定する論理ルータ215に対して、ルーティングポリシーが(ネットワークアドミニストレータのようなユーザによって)特定されるまで、パケットはミドルボックスへ送信されることはない。いくつかの実施形態は、宛先アドレス(例えば、宛先IPあるいはMACアドレス)を越えるデータに基づいてデータを転送するポリシールーティングルールを使用することができる。例えば、ユーザは、例えば、ネットワークコントローラアプリケーションプログラミングインタフェース(API)を通じて、論理スイッチ205によってスイッチされる(切り替えられる)論理サブネットにおけるソースIPアドレスを含むすべてのパケットが、あるいは、論理スイッチ210によってスイッチされる(切り替えられる)論理サブネットに向けられている外部ネットワーク250からネットワークへ進入するすべてのパケットが、処理用のミドルボックス240へ向けられるべきであることを特定することができる。
異なるミドルボックスは、ネットワーク内で異なる機能を実行することができる。例えば、ファイヤウォールは、データパケットを解析して、そのデータパケットの通過(即ち、ACLフローエントリと同様に)を許可するべきであるか否かを判定する。ファイヤウォールはルールのセット(例えば、ユーザによって入力される)を記憶している。このルールのセットは、ファイヤウォールがパケットを破棄する(即ち、廃棄する)か、あるいはパケットの通過を許可するかを(あるいは、いくつかの場合、パケットを破棄して、送信元にエラー応答を返信することによってパケットを拒否する)判定する。いくつかの実施形態では、ファイヤウォールは、トランスポート(例えば、TCP及びUDPの少なくとも一方)接続の追跡を維持するステートフルファイヤウォールであり、そして、より高速なパケット処理決定を行うための記憶された状態情報を使用する。
ソースネットワークアドレス変換(S−NAT)は、パケットヘッダ内のパケットのソースIPアドレスを変更する。例えば、S−NATを使用することで、様々なマシーンからのパケットのソースを1つのIPアドレスへ変更することによって、異なるIPアドレスを有するいくつかの異なるマシーンのIPアドレスを宛先マシーンから隠蔽することができる。宛先ネットワークアドレス変換(D−NAT)は、同様に、実際のIPアドレスをソースマシーンから隠蔽するために、パケットの宛先IPアドレスを変更する。ロードバランス(負荷分散)処理は、様々なアルゴリズム(例えば、ラウンドロビン、ランダム割当等)を使用するD−NATの形式をとり、いくつかの宛先マシーンに渡るトラフィックの均衡を図る。ロードバランサは、ソースマシーンに晒される特定のIPアドレスに対するパケットを受信し、そのパケットの宛先IPアドレスを修正して、ロードバランス処理アルゴリズムによって選択される宛先マシーンの特定の1つと照合する。
侵入検出システム(IDS)は、いくつかの実施形態では、パッシブ(受動型)ミドルボックスであり、これは、悪意のある行動あるいはポリシー違反について、論理ネットワークを監視する。IDSは、トランスポート接続(例えば、TCP接続、UDP接続等)を検証して、ネットワーク上の攻撃が発生しているかどうかを判定することができる。
WANオプティマイザは、WANに渡るデータ転送の効率性を向上させる(例えば、WANに渡るデータのフローを促進させる)ためのミドルボックスデバイスである。WANオプティマイゼーション(最適化)技術の例は、データデデュプリケーション(重複除外)、データ圧縮、レイテンシーオプティマイゼーション(待ち時間最適化)、キャッシュ処理及びプロキシ処理、前方誤り訂正、プロトコルスプーフィング、トラフィックシェーピング、イコライジング、接続制限、単純レート制限等を含んでいる。上述の内容は、いくつかの異なるミドルボックスのいくつかのリストである一方で、いくつかの実施形態が、分散形式あるいは集中形式で実現することができる様々な異なるミドルボックスを含むことができることを、当業者は認識するであろう。
ミドルボックスのタイプに依存して、いくつかの場合、ユーザによって要求される実装のタイプに依存して、図2に示されるようなミドルボックスは、集中形式あるいは分散形式のどちらかで実現されることになる。図3は、いくつかの実施形態の分散実装300を概念的に示している。特に、図3は、いくつかのノードを示していて、これには、第1のホストマシーン305、第2のホストマシーン310、第3のホストマシーン315、及び第Nのホストマシーン320を含んでいる。最初の3つのノードのそれぞれはネットワーク200のいくつかの仮想マシーンを管理し、仮想マシーン220は第1のホストマシーン305上で管理され、仮想マシーン225及び235は第2のホストマシーン310上で管理され、仮想マシーン230は第3のホストマシーン315上で管理される。
加えて、ホストマシーンのそれぞれは、管理スイッチング要素(「MSE」)を含んでいる。いくつかの実施形態の管理スイッチング要素は、1つ以上の論理ネットワークに対する論理転送要素を実現するソフトウェア転送要素である。例えば、ホスト305−320内のMSEは、ネットワーク200の論理転送要素を実現する転送テーブル内のフローエントリを含んでいる。具体的には、ホストマシーン上のMSEは、論理スイッチ205及び210に加えて、論理ルータ215を実現する。一方、いくつかの実施形態だけが、論理スイッチに接続されている少なくとも1つの仮想マシーンが特定のノードに配置されている場合に、その特定ノードにおいて論理スイッチを実現する(即ち、ホスト305におけるMSE内で論理スイッチ205と論理ルータ215とだけを実現する)。第Nのホスト320は、ネットワーク200からの任意の仮想マシーンを含んでいないので、ホスト上に常駐するMSEは、ネットワーク200からの任意の論理転送要素を実現しない。
いくつかの実施形態の実装300は、また、ホストマシーンと接続するプールノード340を含んでいる。いくつかの実施形態では、ホストに常駐するMSEは、第1のホップ処理を実行する。つまり、これらのMSEは、仮想マシーンから送信された後にパケットが到達する第1の転送要素であり、また、この第1のホップで論理スイッチングと論理ルーティングのすべてを実行することを試行する。しかしながら、いくつかの場合、特定のMSEは、ネットワークに対する論理転送情報のすべてを含むフローエントリを記憶しない場合があるので、特定のパケットを用いて何をするかを知ることができない場合がある。このようないくつかの実施形態では、MSEは、パケットを、更に処理するためのプールノード340へ送信する。このプールノードは、内部の管理スイッチング要素であり、いくつかの実施形態では、エッジソフトウェアスイッチング要素よりも論理ネットワークのより大きな部分を網羅するフローエントリを記憶する。
ネットワーク200の仮想マシーンが常駐するホストに渡って論理スイッチング要素の分散と同様に、ミドルボックス240は、これらのホスト305−315上のミドルボックス要素に渡って分散される。いくつかの実施形態では、ミドルボックスモジュール(あるいはモジュールのセット)は、ホストマシーン上に常駐する(例えば、ホストのハイパーバイザ内で動作する)。ユーザが論理ネットワーク(例えば、ネットワーク200)をセットアップする場合、その入力には、ミドルボックスからのコンフィグレーション(構成設定)が含まれる。例えば、ファイヤウォールに対しては、ユーザは、パケットフィルタリングに対するルールのセットを(例えば、IPアドレス、TCP接続等に基づいて)入力することになるであろう。いくつかの実施形態では、論理転送要素を実現するために管理スイッチング要素を提供するために使用されるネットワーク制御システムは、ホストマシーン上で動作する様々なミドルボックス要素を提供するためにも使用することができる。ユーザがミドルボックスのコンフィグレーションをネットワーク制御システムのコントローラへ入力する場合、このコントローラは、ミドルボックスのコンフィグレーションが実現されるべき特定のノード群を識別し、そのコンフィグレーションをこれらのノード群へ配信する(例えば、コントローラ群のセットを通じて)。
仮想マシーン群の1つがパケットを(例えば、仮想マシーン群の別の1つへ、外部アドレスへ等)送信する場合、パケットは、最初に、処理用のローカル管理スイッチ要素へ進む。MSEは、自身に記憶されているフローエントリを使用して、パケットをミドルボックスへ送信するための転送決定を行うことができ、いくつかの実施形態では、パケットを同一のホスト上のローカルミドルボックス要素へ送信する。いくつかの実施形態では、ミドルボックス要素とMSEは、最小遅延でパケットを送信するためのソフトウェアポートをネゴシエートする。ミドルボックスがパケットを処理した後、いくつかの実施形態は、パケットを、この同一ポートを通じてMSEへ返信する。いくつかの実施形態では、このパケットは、新規のパケットとして、ミドルボックスからMSEへと送信される。そのため、MSEによって新規の処理を要求する。しかしながら、いくつかの状況では、パケットは返信されない。例えば、ミドルボックスがファイヤウォールである場合、ミドルボックスはパケットをブロックするあるいは破棄する。加えて、ミドルボックスのいくつかの実施形態はパッシブであり、また、パケットのデュプリケートが統計の追跡を維持するためにミドルボックスに順番に送信されるが、スイッチング要素へは返信されない。
図3は、ホスト305−320に渡って実現される1つだけの論理ネットワークを示している一方で、いくつかの実施形態は、ホスト群のセットに渡るいくつかの論理ネットワーク(例えば、異なるテナントに対する)を実現する。このように、特定のホスト上のミドルボックス要素は、いくつかの異なる論理ネットワークに属するいくつかの異なるミドルボックスに対するコンフィグレーションを実際に記憶することができる。例えば、ファイヤウォール要素は、2つ(以上の)異なるファイヤウォールを実現するために仮想化されていても良い。これらは、2つの個別のミドルボックスインスタンスとして効果的に動作することになり、そうすることで、ミドルボックス要素はいくつかの(同一タイプの)「仮想」ミドルボックスにスライス(分割)される。加えて、ホスト上のMSEがミドルボックスへパケットを送信する場合、いくつかの実施形態は、スライス識別子(あるいはタグ)をパケット上に付加する(プリペンドする)ことで、いくつかの仮想ミドルボックスの内、どの仮想ミドルボックスからパケットが送信されているかを識別する。複数のミドルボックスが単一の論理ネットワークに対して同一のミドルボックス要素上で実現される場合(例えば、2つの異なるロードバランサ)、スライス識別子は、パケットが属している論理ネットワークではなく特定のミドルボックスのスライスを識別することが必要となる。異なる実施形態は、ミドルボックスに対して異なるスライス識別子を使用することができる。
いくつかの実施形態で分散することができるミドルボックスの例は、ファイヤウォール、S−NAT、及びロードバランサを含んでいる。これらの場合のそれぞれは、ミドルボックスは、パケット処理における積極的な役割(アクティブロール)を果たす(即ち、S−NATとロードバランサは、パケットのソースアドレスと宛先アドレスとをそれぞれ修正する一方で、ファイヤウォールは、パケットを許可するかあるいは破棄するかについての決定を行う)。しかしながら、特定のノード上のこれらのミドルボックス要素のそれぞれは、他のノード上の対応するミドルボックス要素から情報を要求することなくそれ自身で所有するもので機能することができる。他のロードバランサ要素が同一のアルゴリズムを使用しない限り、どの仮想マシーンも過負荷状態になることはなさそうであるという仮定の下、分散されたロードバランサ要素でさえも、異なる仮想マシーン群に渡って到来するトラフィックを個別にロードバランス(負荷分散)を行うことができる。それでもなお、いくつかの実施形態では、ロードバランサ要素は、いくつかのレベルで状態を共有することになる(例えば、使用及び保健統計について宛先仮想マシーンへクエリを行った後)。
上述のように、図3は、論理ネットワーク200のミドルボックス240に対するいくつかの実施形態の分散実装を概念的に示している。一方、図4は、ミドルボックス240の完全集中実装400を概念的に示している。この実装は、図3の分散の例のように、仮想マシーン220−235を管理するいくつかのノード405−420を含んでいる。これらの仮想マシーンは、ここでは、ノード405で管理される第1の仮想マシーン220と、ノード410で管理される第2の仮想マシーン225と第4の仮想マシーン235と、ノード415で管理される第3の仮想マシーン230とで配置されている。同様に、ノード405−415に位置している管理スイッチング要素は、論理転送要素205−215を実現している。分散ミドルボックスの例のように、管理スイッチング要素は、仮想マシーンから発生するパケットについて第1のホップ処理を実行する。
しかしながら、この例では、ミドルボックス240は、ホスト405−415に渡って分散されていない。その代わり、ミドルボックスは、ホストの外部にある単一のマシーンとして実現される。異なる実施形態では、異なるタイプのミドルボックスに対して、この単一のミドルボックスは、物理的に単一の電子機器(例えば、個別の物理デバイス)、あるいは単一の仮想マシーン(実際には、ホストマシーン群の1つのホストマシーン上で動作する、あるいは別のホストマシーン上で動作する)とすることができる。例えば、いくつかの実施形態は、仮想マシーンとして第1のタイプのミドルボックス(例えば、WANオプティマイザ)を提供することができる一方で、単一の電子機器として第2のタイプのミドルボックス(例えば、IDS)を提供することができる。加えて、いくつかの実施形態は、単一のタイプのミドルボックスに対するオプション群も提供することができる。
分散ミドルボックスと同様に、いくつかの実施形態では、ネットワーク制御システムは、集中ミドルボックス電子機器あるいは仮想マシーンを提供するために使用される。コンフィグレーション情報を受信して、そのコンフィグレーション情報が分散されるべきいくつかのノードを識別するコントローラではなく、いくつかの実施形態のコントローラは、ミドルボックスが実現される電子機器を識別して、そのコンフィグレーションをその電子機器へ配信する(例えば、その電子機器を管理する中間コントローラを通じて)。いくつかの実施形態では、いくつかの物理的な電子機器は、物理ネットワーク内に存在し、そして、コントローラは、これらの電子機器の内の1つを選択して、ミドルボックスを実現する。ミドルボックスが仮想マシーンとして実現される場合、いくつかの実施形態は、仮想マシーンに対するホストノードを選択し、そして、コンフィグレーションをそのホストノードへ配信する。どちらの場合でも、ネットワーク制御システムは、ミドルボックスと、ホスト上の様々な管理スイッチング要素との間の接続あるいは連結を特定する。いくつかの実施形態では、ミドルボックス電子機器は、1つ以上のタイプのトンネリングをサポートし、管理スイッチング要素へ配信されるフローエントリは、パケットをミドルボックスへ送信するために使用するトンネルカプセル化を特定するエントリ群を含んでいる。
管理スイッチング要素におけるフローエントリがトラフィックをミドルボックスへ送信することを特定している場合、管理スイッチング要素は、また、このトンネル情報を使用してパケットをカプセル化して、自身のホスト以外のパケットを、トンネルを通じてミドルボックスへ送信する。分散ミドルボックスと同様に、いくつかの集中ミドルボックスは、アクティブなミドルボックスである。つまり、ミドルボックスは、自身のミドルボックスの処理を実行した後に、パケットをネットワークへ返信する。いくつかの実施形態では、このようなミドルボックスは、パケット(新規のパケットとして)をプールノード(例えば、いくつかのプールノードの内の、常に、同一のプールノード)へ常に送信するように構成設定されている。図4では、集中ミドルボックス425は、自身の発信トラフィックのすべてをプールノード430へ送信する。そして、論理転送要素205−215をも実現するプールノードは、パケットを適切な宛先マシーンへ転送する。
分散ミドルボックス要素が、いくつかの異なる論理ネットワークに対するミドルボックスインスタンスを実行するために仮想化されていても良いと同時に、集中ミドルボックス425もそうであっても良い。物理的に同一の電子機器(あるいは仮想マシーン)は、いくつかの異なる論理ネットワークによって使用することができる。いくつかの実施形態では、分散アーキテクチャで使用される技術と同様のスライス処理技術が使用される。つまり、管理スイッチング要素は、パケットが送信される論理ネットワーク(あるいは論理ネットワーク内の特定の論理ミドルボックス)を示すためのタグを追加して、ミドルボックス425は、このタグを使用して、パケットを処理するためにどのミドルボックスインスタンスが使用されるべきかを識別する。いくつかの実施形態では、集中ミドルボックス電子機器は、いくつかのポートを含み、それらのそれぞれは、異なる仮想ミドルボックスインスタンスを割り当てている。このような実施形態では、スライス処理技術は使用されず、代わりに、到来ポートが、正しい仮想ミドルボックスを識別するために使用される。
ミドルボックス425が単一のリソースであるのに対して、いくつかの実施形態では、図5の実装500で示されるように、ミドルボックスをリソース群の集中クラスタとして実現する。この例は、単一のミドルボックスデバイス以外は、図4に示されるものと同一であり、ネットワークは、3つのミドルボックスリソース510−520を備えるミドルボックスクラスタ505を含んでいる。いくつかの実施形態では、ミドルボックスリソース510−520のそれぞれは、個別のデバイスあるいは仮想マシーン(即ち、ミドルボックス425の等価物)である。
異なる実施形態では、ミドルボックスクラスタ内で異なるアーキテクチャを使用することができる。いくつかの実施形態は、リソースプールに渡ってパケットのロードバランス処理を行うクラスタへのエントリポイント(例えば、単一の物理デバイス)を含んでいる。他の実施形態は、クラスタ内の異なるリソースに直接接続される異なるホストマシーンを有している。例えば、ネットワーク500は、リソース510に接続される第1のホストマシーン405と、リソース515に接続される第2のホストマシーン410、及びリソース520に接続される第3のホストマシーン415でセットアップすることができる。他の実施形態は、クラスタが2つのデバイスを有しているマスタバックアップセットアップを使用する。ホストマシーン群はすべてマスタに接続していて、これは、ミドルボックス処理を実行しながら、バックアップリソースを伴う状態データを共有する。
図2を参照して説明されるように、いくつかの実施形態は、状態共有がパケット単位で要求される場合に集中ミドルボックス実装を使用する。つまり、一定のミドルボックスに対しては、ミドルボックス処理は、ミドルボックスによって処理されるパケット群のすべての知識を要求する。分散ミドルボックスに対しては、これは、ミドルボックス要素と接続しているネットワークを介して送信される状態更新の急増を招くことになる。しかしながら、ミドルボックスが単一の電子機器である場合、この単一の電子機器は、常に状態のすべてを記憶することになる。
クラスタ505のようなミドルボックスクラスタに対して、この要件は、状態が、高速でクラスタ内のミドルボックスリソース間で共有されなければならないことを意味する。いくつかの実施形態は、ミドルボックスリソース間の専用接続を使用して、この状態情報を共有する。つまり、各ミドルボックスデバイスにおける特定のポートは、クラスタ内のいくつかのデバイス間の状態共有だけに専用となっている。時には、ミドルボックスクラスタは2つのマシーンだけとなり、あるいは数個のマシーンだけとなり、これらは、専用接続をより実現可能になるように接近して動作する。3つ以上のミドルボックスを備える状況に対しては、いくつかの実施形態は、メッシュ型ネットワークを使用する。このネットワークでは、ミドルボックスリソースのそれぞれが、ネットワークを介して、すべての他のミドルボックスリソースへ状態更新をブロードキャストする。他の実施形態は、スター型ネットワークを使用する。このネットワークでは、ミドルボックスリソースが自身の状態更新を中央リソースへ送信し、この中央リソースは、その更新を併合して、それらを他のリソースへ送信する。ミドルボックスクラスタが、集中型と比べてこの追加のインフラストラクチャを要求する一方で、このクラスタは、より多くの数のパケットが処理される場合のより大規模配備を取り扱うことができるという利点を有している。
上述のように、WANオプティマイザと侵入検出システムは、ミドルボックスの例であり、いくつかの実施形態は、集中ミドルボックスとして実現する。これは、状態共有要件からの理由からである。WANオプティマイザは、例えば、様々なオプティマイゼーション(最適化)技術を使用してWANに渡るデータ転送の効率性を向上する。これらのオプティマイゼーション技術を実行することは、WANに渡って送信されるトラフィックのすべてのアクセスを要求する、つまり、集中実装はより最適なものとなる。また、WANオプティマイザは、WANに渡って送信されるコンテンツをキャッシュするために使用することができ、このキャッシュすることは、キャッシュがいくつかのホストに渡って分散されるのではなくまとまって記憶されている場合に、その目的を達成するためだけに機能する。
侵入検出システムは、パッシブシステム(即ち、パケットを破棄しないあるいは修正しない)であり、接続の総数、これらの接続におけるアドレス、各接続に対するパケットの数等を監視する。侵入を検出するために、IDSは、接続、経験則等でパターンを探索し、これらに対して、IDS処理は、監視されるトラフィックのすべてを関知しなければならない。1つの分散要素が第1の接続についての情報を有し、第2の分散要素が第2の接続についての情報を有している場合、どの要素も、侵入に対してネットワークを適切に評価するための十分な情報を有していない。
図6は、いくつかの実施形態の侵入検出システム625を含む論理ネットワークを実現するネットワーク600を概念的に示している。論理ネットワークは、3つのノード605、610及び620に渡って管理される4つの仮想マシーンを含んでいる。この場合の論理ネットワークの論理トポロジーは、(ミドルボックスとしてのIDSを備える)図2に示されるものと同一である。但し、本明細書に記載されるIDS実装の態様は、他のネットワークトポロジーにも等しく適用する。ネットワーク600は第5のノード615を含んでいるが、これは、特定の論理ネットワークの任意の仮想マシーンを管理しない(但し、別のネットワークからの少なくとも1つの仮想マシーンは管理する)。
上述の図とは異なり、図6は、システム内のマシーン間のパケット転送の方向を示す矢印を伴う接続を示している。こうして、例えば、ホスト605−620のすべては、両方に互いにパケットを送信することができる。つまり、ホスト605の仮想マシーンは、パケットを(ホスト605の管理スイッチング要素と、そして、ホスト620の管理スイッチング要素を介して)ホスト620の仮想マシンに送信し、ホスト620の管理マシーンは、パケットをホスト605の仮想マシーンへ送信する。加えて、ホストのMSEのすべては、プールノードを使用して、エッジMSEが転送決定を行うことができないパケットを処理する。
ホストマシーン605、610及び620のそれぞれは、特定の論理ネットワークからの仮想マシーンを管理し、パケットをIDSへ送信する。いくつかの実施形態では、論理ネットワーク上のすべてのトラフィックはIDSへ送信される。しかしながら、これらの矢印は、片方向である。これは、いくつかの実施形態の侵入検出システムはパッシブミドルボックスであるからである。いくつかの実施形態は、ミドルボックスを介してトラフィックを転送するのではなく、デュプリケートパケットをIDSボックス625へ送信する。IDSは、これらのデュプリケートパケット(即ち、ホスト間のネットワーク、及び外部ネットワークの少なくとも一方を通じて送信されるそれぞれのものに対するパケット)を受信して、自身の侵入検出解析を実行する。侵入検出システム625は任意のトラフィックパケットを出力しないので、この図においては、IDS625とプールノード630との間に必要とされる接続は存在しない。
II.分散ミドルボックス実装
上述のように、いくつかの実施形態は、分散形式で1つ以上の異なるミドルボックスを、ホストマシーン群のいくつかあるいはすべてで動作するミドルボックス要素とともに実現する。いくつかの実施形態の集中ミドルボックスの実装に対して、ホストマシーン群上では、論理ネットワークの仮想マシーンと管理スイッチング要素とが配置される。このセクションでは、ホストマシーン内のいくつかの実施形態の分散ミドルボックス実装を記載する。
図7は、分散ソフトウェアミドルボックス要素とソフトウェアスイッチング要素との両方を含む、いくつかの実施形態のホストマシーン700のアーキテクチャ図を概念的に示している。分散ソフトウェアミドルボックス要素は、ネットワークアドレス変換要素、ファイヤウォール要素、ロードバランス処理要素、あるいは分散形式で実現される任意の他のミドルボックスであっても良い。
この例では、ミドルボックス要素は、ホストマシーン上に3つのコンポーネントを含んでいて、これには、ホストマシーン700のユーザ空間で動作するミドルボックスデーモン790と、ホストマシーン700のカーネルで動作するミドルボックスカーネルモジュール795がある。この図は、説明の目的のために2つのコンポーネントとして分散ミドルボックス要素を示しているが、ミドルボックスデーモン790とミドルボックスカーネルモジュール795は、ホストマシーン700上で動作するミドルボックス要素を集約して形成している。ソフトウェアスイッチング要素(本例では、オープン仮想スイッチ(「OVS」))は3つのコンポーネントを含み、これには、ホストマシーン700のカーネルで動作するOVSカーネルモジュール745と、OVSデーモン765と、OVSデータベース(DB)デーモン767があり、後者の2つはホストマシーンのユーザ空間で動作する。
図7に示されるように、ホスト700は、ハードウェア705、カーネル720、ユーザ空間721、及びVM785−795を含んでいる。ハードウェア705は、典型的なコンピュータハードウェアを含んでいて、これには、処理ユニット、揮発性メモリ(例えば、ランダムアクセスメモリ(RAM))、不揮発性メモリ(例えば、ハードディスクドライブ、フラッシュメモリ、光学ディスク等)、ネットワークアダプタ、ビデオアダプタ、あるいは、任意の他のタイプのコンピュータハードウェアがある。図示されるように、ハードウェア705は、NIC710と715を含み、これらは、いくつかの実施形態では、コンピュータデバイスをネットワークに接続するための典型的なネットワークインタフェースコントローラである。
図7に示されるように、ホストマシーン700は、カーネル720とユーザ空間721を含んでいる。いくつかの実施形態では、カーネルは、オペレーティングシステムの最も基本的なコンポーネントであり、これは、個別のメモリ空間上で動作し、また、システムリソースを管理する(例えば、ハードウェアリソースとソフトウェアリソース間の通信)役割を果たしている。これに対して、ユーザ空間は、すべてのユーザモードアプリケーションが動作することができるメモリ空間である。
いくつかの実施形態のカーネル720はソフトウェア抽象化レイヤであり、これは、ハードウェア705の上位で動作し、かつ任意のオペレーティングシステムの配下で動作する。いくつかの実施形態では、カーネル720は、仮想化機能を実行する(例えば、ホストマシーン上で動作するいくつかの仮想マシーンに対するハードウェア705を仮想化するために)。そして、カーネル720は、いくつかの実施形態では、ハイパーバイザの一部である。カーネル720は、様々な管理タスクを取り扱う。これには、メモリ管理、プロセッサスケジューリング、あるいはホストマシーン上で動作するVM735及び738の実行を制御するための任意の他の動作がある。
図示されるように、カーネル720は、NIC710及び715それぞれに対するデバイスドライバ725及び730を含んでいる。デバイスドライバ725及び730は、オペレーティングシステム(例えば、仮想マシーンの)に、ホスト700のハードウェアと対話することを可能にする。この例では、デバイスドライバ725は、NIC71との対話を可能にし、一方、ドライバ730は、NIC715との対話を可能にする。カーネル720は、ホスト700内の他のハードウェア(不図示)と対話することを仮想マシーンに可能にするための他のデバイスドライバ(不図示)を含んでいても良い。
仮想マシーン735と738は、カーネル720によって仮想化されるリソースを使用して、ホストマシーン700上で動作する独立した仮想マシーン(例えば、図3−図6で示されるようなユーザ仮想マシーン)である。このように、VMは、任意の数の異なるオペレーティングシステムで動作する。このようなオペレーティングシステムの例には、ソラリス、FreeBSD、あるいは任意のタイプのユニックスベースのオペレーティングシステムが含まれる。他の例には、ウィンドウズ(登録商標)ベースのオペレーティングシステムも含まれる。
図示されるように、ホストマシーン700のユーザ空間721は、デーモン790、OVSデーモン765、及びOVS DBデーモン767を含んでいる。他のアプリケーション(不図示)もユーザ空間721に含まれていても良く、これには、追加の分散ミドルボックス(例えば、ファイヤウォール、ロードバランサ、ネットワークアドレス変換器等)用のデーモンが含まれる。OVSデーモン765は、ユーザ空間721で動作するアプリケーションである。いくつかの実施形態のOVSデーモン765は、以下で更に後述するように、仮想マシーン735及び738へ及びから送信されるパケットを処理し転送するための命令を受信するためにネットワークコントローラ780と通信する。いくつかの実施形態のOVSデーモン765は、オープンフロープロトコルを通じてネットワークコントローラ780と通信し、一方、他の実施形態では、物理制御プレーンデータを転送するための異なる通信プロトコルを使用する。加えて、いくつかの実施形態では、OVSデーモン765は、ネットワークコントローラ780がコンフィグレーション情報をOVS DBデーモンを送信した後に、OVS DBデーモン767からコンフィグレーション情報を取得する。
いくつかの実施形態では、OVS DBデーモン767も、ユーザ空間721で動作する。いくつかの実施形態のOVS DBデーモン767は、ネットワークコントローラ780と通信して、OVSスイッチング要素(例えば、OVSデーモン765及びOVSカーネルモジュール745の少なくとも一方)を構成設定する。例えば、OVS DBデーモン767は、ネットワークコントローラ780からコンフィグレーション情報を受信し、そのコンフィグレーション情報をデータベースのセットに記憶する。いくつかの実施形態では、OVS DBデーモン767は、データベース通信プロトコルを介してネットワークコントローラ780と通信する。いくつかの場合、OVS DBデーモン767は、OVSデーモン765からのコンフィグレーション情報に対するリクエストを受信する。OVS DBデーモン767は、これらの場合、リクエストされたコンフィグレーション情報(例えば、データベースのセットから)を取得し、そのコンフィグレーション情報をOVSデーモン765へ送信する。
OVSデーモン765は、オープンフロープロトコルモジュール770及びフロープロセッサ775を含んでいる。オープンフロープロトコルモジュール770は、ネットワークコントローラ780と通信して、ソフトウェアスイッチング要素を構成設定するためのコンフィグレーション情報(例えば、フローエントリ)をネットワークコントローラ780から受信する。モジュール770がネットワークコントローラ780からコンフィグレーション情報を受信する場合、これは、そのコンフィグレーション情報をフロープロセッサ775によって解釈可能な情報へ変換する。
フロープロセッサ775は、パケットを処理し、ルーティングするためのルールを管理する。例えば、フロープロセッサ775は、オープンフロープロトコルモジュール770から受信されるルール群を(例えば、ディスクドライブのような記憶媒体に)記憶する。いくつかの実施形態では、ルールは、それぞれがフローエントリのセットを含むフローテーブルのセットとして記憶される。フロープロセッサ775は、マッチングルールを有さない統合ブリッジ750(後述する)に対するパケットを取り扱う。このような場合、フロープロセッサ775は、自身に記憶されているルールとパケットとの照合を行う。パケットがルールに合致する場合、フロープロセッサ775は、合致したルールとそのパケットを、統合ブリッジ750で処理するために、その統合ブリッジ750へ送信する。このようにして、統合ブリッジ750が生成されたルールと合致する同様のパケットを受信すると、パケットは、統合ブリッジ750内の生成された的確なマッチングルールと照合されることになるので、フロープロセッサ775はパケットを処理する必要がなくなる。
いくつかの実施形態では、フロープロセッサ775は、パケットと合致するルールを有していない場合がある。このような場合、いくつかの実施形態のフロープロセッサ775は、エッジスイッチング要素で処理することができないパケットを取り扱うための別の管理スイッチング要素(例えば、プールノード)へ、そのパケットを送信する。しかしながら、他の場合、フロープロセッサ775は、ネットワークコントローラ780から、パケットと合致しないルールがフロープロセッサ775内に存在しない場合に、そのパケットを破棄するキャッチオール(catchall)ルールを受信することができる。
図7に示されるように、カーネル720は、ハイバーバイザネットワークスタック740とOVSカーネルモジュール745とを含んでいる。ハイパーバイザネットワークスタック740は、いくつかの実施形態では、インターネットプロトコル(IP)ネットワークスタック740である。ハイパーバイザネットワークスタック740は、IPパケットを処理し、ルーティングする。このIPパケットは、OVSカーネルモジュール745と、PIFブリッジ755及び760から受信される。ホスト700に対して外部にあるネットワークホストに向けられているパケットを処理する場合、ハイパーバイザネットワークスタック740は、どの物理インタフェース(PIF)ブリッジ755及び760に、パケットが送信されるべきであるかを判定する。
OVSカーネルモジュール745は、ホスト700上で動作するVMとホスト700の外部にあるネットワークホスト間のネットワークデータ(例えば、パケット)を処理し、ルーティングする(例えば、NIC710と715を介して受信されるネットワークデータ)。いくつかの実施形態では、OVSカーネルモジュール745は、1つ以上の論理ネットワークに対する物理制御プレーンの転送テーブルを実現する。ネットワークデータを処理しルーティングすることを容易にするために、OVSカーネルモジュール745はOVSデーモン765と通信する(例えば、OVSデーモン765からフローエントリを受信するために)。いくつかの実施形態では、OVSカーネルモジュール745は、ブリッジインタフェース(不図示)を含んでいて、このブリッジインタフェースは、ハイパーバイザネットワークスタック740にパケットをOVSカーネルモジュール745へ送信し、また、パケットをOVSカーネルモジュール745から受信することを可能にする。
図7は、統合ブリッジ750と、PIFブリッジ755及び760を含むOVSカーネルモジュール745を示している。いくつかの実施形態では、OVSカーネルモジュール745は、ハードウェア705における各NICに対するPIFブリッジを含んでいる。他の実施形態では、OVSカーネルモジュール745内のPIFブリッジは、ハードウェア705における複数のNICと対話することができる。PIFブリッジ755及び760は、ハイパーバイザネットワークスタック740とホスト700の外部にあるネットワークホストとの間のネットワークデータ(即ち、NIC710と715を介して受信されるネットワークデータ)をルーティングする。
統合ブリッジ750は、ネットワークスタック740と、VM735及び738(例えば、VIFを介して)と、PIFブリッジ755及び760から受信するパケットを処理し、ルーティングする。いくつかの実施形態では、統合ブリッジ750は、フロープロセッサ775に記憶されるルールのサブセット(及び/あるいは、フロープロセッサ775に記憶されるルールから導出されるルール群)を記憶し、これは、統合ブリッジ750が、パケットを処理し転送するために現在使用しているもの、あるいは直近で使用したものである。
いくつかの実施形態では、いくつかの実施形態のフロープロセッサ775は、統合ブリッジ750でルール群を管理する役割を担う。いくつかの実施形態では、統合ブリッジ750はアクティブなルールだけを記憶する。フロープロセッサ775は、統合ブリッジ750に記憶されているルール群を監視し、所定の時間量(例えば、1秒、3秒、5秒、10秒等)の間、アクセスしていないアクティブなルールを削除する。この方法では、フロープロセッサ775は、統合ブリッジ750を管理することで、統合ブリッジ750が使用中のあるいは最近使用されているルール群を記憶するようにしている。
図7は1つの統合ブリッジを示しているが、OVSカーネルモジュール745は、複数の統合ブリッジを含むことができる。例えば、いくつかの実施形態では、OVSカーネルモジュール745は、各論理スイッチング要素に対して個別の統合ブリッジを含んでいて、その論理スイッチング要素は、ソフトウェアスイッチング要素が属している管理ネットワークに渡って実現される。つまり、OVSカーネルモジュール745は、管理ネットワークに渡って実現される各論理スイッチング要素に対して、対応する統合ブリッジを有している。
上述の記載は、いくつかの実施形態の管理ソフトウェアスイッチング要素の転送機能に関するものである。ソフトウェアスイッチング要素が、制御プレーンを実現するユーザ空間コンポーネント(OVSデーモン765)とデータプレーンを実現するカーネルコンポーネント(OVSカーネルモジュール745)を含んでいると同時に、いくつかの実施形態の分散ミドルボックス要素は、ユーザ空間で動作する制御プレーンコンポーネント(ミドルボックスデーモン790)とカーネルで動作するデータプレーンコンポーネント(ミドルボックスカーネルモジュール795)とを含んでいる。
図示されるように、ミドルボックスデーモン790は、ミドルボックスコンフィグレーションレシーバ791とミドルボックスコンフィグレーションコンパイラ792を含んでいる。ミドルボックスコンフィグレーションレシーバ791はネットワークコントローラ780と通信して、ミドルボックス用のコンフィグレーションに加えて、スライス処理情報を受信する。いくつかの実施形態では、ミドルボックスコンフィグレーションは、ミドルボックスのパケット処理ルールを記述するレコードのセットである(例えば、OVSデーモンによって受信されるフローエントリレコードと同一の形式で)。例えば、ファイヤウォールコンフィグレーションは、パケットを破棄する場合、許可する場合等を記述するパケット処理ルールのセットを含んでいる(ACLエントリと同様のものであるが、決定を行うためのファクタとしてTCP接続状態を含んでいる)。ソースネットワークアドレス変換コンフィグレーションは、変換器によって晒されるIPアドレスへマッピングすべき仮想マシーンの隠蔽されているIPアドレスのセットを含んでいる。いくつかの実施形態では、ロードバランサコンフィグレーションは、晒されたIPアドレスをいくつかの異なる隠蔽された仮想マシーンアドレスへネットワークマッピングするアドレス変換と、いくつかのマシーンの内、どのマシーンに新規のTCP接続が送信されるべきかを判定するためのロードバランス処理(スケジューリング)アルゴリズムを含んでいる。
上述のように、スライス処理情報は、識別子を、分散ミドルボックス要素によって実行されるべき特定のミドルボックスインスタンスへ割り当てる。いくつかの実施形態では、この識別子は、特定のテナントの論理ネットワークにおける特定の論理ミドルボックスにバインドされる。つまり、特定の論理ネットワークが異なる処理ルールを有するいくつかの異なるミドルボックスを含んでいる場合、ミドルボックスデーモン790は、いくつかの異なるミドルボックスインスタンスを作成することになる。これらのインスタンスのそれぞれは、ミドルボックスに送信されるパケット上の異なるスライス識別子で識別される。加えて、いくつかの実施形態では、ミドルボックスデーモン790は、これらのインスタンスそれぞれに対して特定の内部識別子を割り当て、これは、ミドルボックスが自身の内部処理で使用する(例えば、アクティブなTCP接続の追跡を維持するために)。
ミドルボックスデーモン790は、また、ミドルボックスコンフィグレーションコンパイラ792を含んでいる。いくつかの実施形態では、ミドルボックスコンフィグレーションコンパイラ792は、第1の言語の特定のミドルボックスに対するミドルボックスコンフィグレーション(例えば、パケット処理、変更あるいは解析ルール群)を受信し、これらを、ミドルボックスの内部処理により最適となる第2の言語のルール群のセットにコンパイルする。ミドルボックスコンパイラ792は、コンパイルされたパケット処理ルールをミドルボックスカーネルモジュール795のミドルボックスプロセッサ796へ送信する。
ミドルボックスカーネルモジュール795は、ホスト700上で動作するVMへ送信する及び/あるいはVMから送信されるパケットを処理して、パケットの通過を許可する、パケットを破棄する等を判定する。図示されるように、ミドルボックスカーネル795は、これらの機能を実行するためのミドルボックスプロセッサ795を含んでいる。ミドルボックスプロセッサ795は、ミドルボックスコンフィグレーションコンパイラ792から、特定のミドルボックスインスタンスに対して変換されたミドルボックスルールを受信する。いくつかの実施形態では、これらの変換されたミドルボックスルールは、ミドルボックス内のパケット処理パイプラインを特定する。
管理スイッチング要素からパケットを受信するために、いくつかの実施形態のミドルボックスプロセッサ796は、OVSカーネルモジュールの統合ブリッジ750上に抽象ソフトウェアポートと接続する。統合ブリッジ上のこのポートを通じて、管理スイッチング要素は、(ミドルボックスがパケットを破棄しない限り)ミドルボックスによって処理された後に、ミドルボックスへパケットを送信し、また、ミドルボックスからパケットを受信する。上述のように、これらのパケットは、パケットに適用するコンパイル済のパケット処理ルールのセットを判定するための、ミドルボックスプロセッサ796によって使用されるスライス識別子タグを含んでいる。
図7に示される、分散ミドルボックスとソフトウェアスイッチング要素のアーキテクチャ図は、コンフィグレーションの一例である。当業者は、他のコンフィグレーションが可能であることを認識するであろう。例えば、いくつかの実施形態では、コンパイル済のパケット処理ルールを適用するミドルボックスプロセッサは、カーネル720でなくユーザ空間721に配置される。このような実施形態では、カーネルは、ユーザ空間によってフルコントロールするためにネットワークインタフェース710及び715に晒すことで、ミドルボックスプロセッサは、カーネルと比べて、速度を損なうことなく、ユーザ空間で自身の機能を実行することができる。
III.ネットワーク制御システム
上述のセクションIは、完全分散から完全集中までの異なるミドルボックス実装アーキテクチャを記載している。上述のように、いくつかの実施形態では、これらのミドルボックスは、ネットワーク制御システムを介して提供され、これは、ネットワークの論理転送要素を実現する管理スイッチング要素を提供するために使用される。いくつかの実施形態では、ネットワーク制御システムは、階層構造のネットワークコントローラのセットである。
図8は、論理ネットワークを実現するための、管理スイッチング要素と分散ミドルボックス要素とを構成設定するためのいくつかの実施形態のネットワーク制御システム800を示している。図示されるように、ネットワーク制御システム800は、入力変換コントローラ805、論理コントローラ810、物理コントローラ815及び820、ホスト825−840、集中ミドルボックス845を含んでいる。図示されるように、ホスト830−865は、管理スイッチング要素及びミドルボックス要素の両方を含んでいて、これらは、図7で示されるように実現されても良い。当業者は、様々なコントローラとホストの多くの他の異なる組み合わせをネットワーク制御システムに対して実現可能であることを理解するであろう。
いくつかの実施形態では、ネットワーク制御システムにおけるコントローラのそれぞれは、入力変換コントローラ、論理コントローラ及び物理コントローラの少なくとも1つとして機能する能力を有している。選択的には、いくつかの実施形態では、所与のコントローラが、様々なタイプのコントローラの内の特定の1つ(例えば、物理コントローラ)として動作する機能だけを有することができる。加えて、様々な組み合わせのコントローラを、同一の物理マシーン内で動作させることができる。例えば、入力変換コントローラ805と論理コントローラ810とを、ユーザと対話する同一のコンピュータデバイスで実行させることができる。
また、図8(及び後続の図9)に示されるコントローラのそれぞれは、単一のコントローラとして示されている。しかしながら、これらのコントローラのそれぞれは、実際には、論理コントローラ、物理コントローラあるいは入力変換コントローラの処理を実行する分散形式で動作するコントローラクラスタであっても良い。
いくつかの実施形態の入力変換コントローラ805は、ユーザから受信されるネットワークコンフィグレーション情報を変換する入力変換アプリケーションを含んでいる。例えば、ユーザは、図2に示されるようなネットワークトポロジーを特定することができ、これは、どのマシーンが論理ドメインに属性しているかについての特定情報を含んでいる。これは、論理データ経路のセット、あるいは論理転送要素のセットを効率的に特定する。論理スイッチのそれぞれに対して、ユーザは、論理スイッチに接続するマシーン(即ち、論理スイッチに対する論理ポートが割り当てられている)を特定する。いくつかの実施形態では、ユーザは、また、マシーンに対するIPアドレスを特定する。入力変換コントローラ805は、入力されるネットワークトポロジーを、ネットワークトポロジーを記述する論理制御プレーンデータへ変換する。例えば、エントリは、特定のMACアドレスAが特定の論理スイッチの特定の論理ポートXに配置されていることを記述する。
いくつかの実施形態では、各論理ネットワークは、特定の論理コントローラ(例えば、論理コントローラ810)によって管理される。いくつかの実施形態の論理コントローラ810は、論理制御プレーンデータを論理転送プレーンデータへ変換し、その論理転送プレーンデータをユニバーサル制御プレーンデータへ変換する。論理転送プレーンデータは、いくつかの実施形態では、論理レベルで記述されるフローエントリから構成される。論理ポートXでのMACアドレスAに対しては、論理転送プレーンデータは、パケットの宛先がMAC Aと合致する場合に、そのパケットをポートXへ転送することを特定するフローエントリを含むことができる。
いくつかの実施形態のユニバーサル物理制御プレーンデータは、いくつかの実施形態の制御システムが論理データ経路のセットを実現するための大量数(例えば、数千)の管理スイッチング要素を含んでいる場合でさえも、その制御システムに拡縮することを可能にするデータプレーンである。ユニバーサル物理制御プレーンは、管理スイッチング要素の違い及びその管理スイッチング要素のロケーション詳細を考慮することなく、物理制御プレーンデータを表現するために、異なる管理スイッチング要素の共通の特徴をまとめる。
上述のように、いくつかの実施形態の論理コントローラ510は、論理制御プレーンデータを論理転送プレーンデータ(例えば、論理フローエントリ)へ変換し、そして、その論理転送プレーンデータをユニバーサル制御プレーンデータへ変換する。いくつかの実施形態では、論理コントローラアプリケーションスタックは、第1の変換を実行するための制御アプリケーションと第2の変換を実行するための仮想化アプリケーションを含んでいる。これらのアプリケーションの両方は、いくつかの実施形態では、第1のテーブルのセットを第2のテーブルのセットへマッピングするためのルールエンジンを使用する。つまり、異なるデータプレーンはテーブル(例えば、nLogテーブル)として表現され、また、コントローラアプリケーションはテーブルマッピングエンジンを使用して、データプレーン間を変換する。
物理コントローラ815及び820のそれぞれは、1つ以上の管理スイッチング要素のマスタである(例えば、ホストマシーン内に配置される)。この例では、2つの物理コントローラのそれぞれは、2つの管理スイッチング要素のマスタである。また、物理コントローラ815は、集中ミドルボックス845のマスタである。いくつかの実施形態では、物理コントローラは、論理ネットワークに対するユニバーサル物理制御プレーン情報を受信して、そのデータを、物理コントローラが管理する特定の物理管理スイッチに対するカスタマイズ物理制御プレーン情報へ変換する。他の実施形態では、物理コントローラは、適切なユニバーサル物理制御プレーンデータを管理スイッチへ渡し、これは、変換自身を実行するための機能(例えば、ホストマシーンで動作するシャーシコントローラの形式で)を含んでいる。
ユニバーサル物理制御プレーンからカスタマイズ物理制御プレーンへの変換は、フローエントリ内の様々なデータのカスタマイズ処理を含んでいる。上述の例に対しては、ユニバーサル物理制御プレーンは、いくつかのフローエントリを含むことになる。第1のエントリは、パケットが特定の論理データ経路のセットと合致し(例えば、特定の論理進入ポートで受信されるパケットに基づいて)、かつ宛先アドレスがMAC Aと合致する場合、そのパケットを論理ポートXへ転送することを記述している。このフローエントリは、いくつかの実施形態では、ユニバーサル物理制御プレーンとカスタマイズ物理制御プレーン内で同一となる。追加のフローは、物理進入ポート(例えば、ホストマシーンの仮想インタフェース)と論理進入ポートX(MAC Aから受信されるパケットに対する)とを照合し、加えて、論理ポートXと物理管理スイッチの特定の退出ポートとを照合するために生成される。しかしながら、これらの物理進入ポート及び物理退出ポートは、管理スイッチング要素を含むホストマシーンに対して特定されている。このように、ユニバーサル制御プレーンエントリは、抽象化物理ポートを含む一方で、カスタマイズ物理制御プレーンエントリは、介在する実際の物理ポートを含んでいる。
いくつかの実施形態では、ネットワーク制御システムは、論理ネットワークのミドルボックスに関連するデータを流布する。ネットワーク制御システムは、ミドルボックスコンフィグレーションデータに加えて、管理スイッチにおけるミドルボックスに対するパケットの送受信、及びミドルボックスにおける管理スイッチに対するパケットの送受信の少なくとも一方に関連するデータを流布する。
図8に示されるように、同一のネットワーク制御システムが、いくつかの実施形態は、分散ミドルボックスと集中ミドルボックスの両方へデータを配信する。いくつかの物理コントローラは、分散ミドルボックスのコンフィグレーションを流布するために使用され、一方で、いくつかの実施形態は、特定の物理コントローラを集中ミドルボックス電子機器へ割り当てる。この例では、物理コントローラ815は集中ミドルボックス845のコンフィグレーションを流布するために割り当てられ、一方で、分散ミドルボックスに対するコンフィグレーションは、物理コントローラ815及び820の両方を介して流布される。
ミドルボックスを組み込むために、ネットワーク制御システムを介して管理スイッチに伝搬されるフローエントリは、適切なパケットを適切なミドルボックスへ送信するためのエントリ群を含むことになる(例えば、特定のミドルボックスへ転送される、特定のサブネット内のソースIPアドレスを有するパケットを特定するフローエントリ群)。加えて、管理スイッチに対するフローエントリ群は、どのようにしてそのようなパケットをミドルボックスへ送信するかを特定することを必要とすることになる。つまり、第1のエントリが、特定のミドルボックスにバインドされる論理ルータの論理退出ポートを一旦特定すると、その論理退出ポートをミドルボックスに接続するために追加のエントリが要求される。
集中ミドルボックス845に対しては、これらの追加のエントリは、論理ルータの論理退出ポートと、ホストマシーンの特定の物理ポート(例えば、物理ネットワークインタフェース)とを照合することになる。この特定の物理ポートを通じて、ホストマシーンはミドルボックスに接続する。加えて、エントリ群は、ホストマシーンとミドルボックスとの間のトンネルを介して、パケットを集中ミドルボックス電子機器へ送信するためのカプセル化情報を含んでいる。
分散ミドルボックスに対しては、ミドルボックスへ到達するために、パケットは、ホストマシーンから実際に退出する必要はない。しかしながら、管理スイッチ要素は、それにもかかわらず、ホストマシーン上のミドルボックスへパケットを送信するためのフローエントリ群を含んでいる必要がある。これらのフローエントリ群は、再度、管理スイッチ要素がミドルボックスと接続するポートに、論理ルータの論理退出ポートへマッピングするためのエントリを含んでいる。しかしながら、この場合、ミドルボックスは、ホストマシーンの物理(あるいは仮想)インタフェースではなく、管理スイッチ要素内のソフトウェア抽象ポートに接続する。つまり、ポートは、ミドルボックス要素が接続している「管理スイッチング要素内で作成される。管理スイッチング要素内のフローエントリ群は、ホストマシーン内でミドルボックスへ転送するためのパケットをこのポートへ送信する。
分散ミドルボックスと集中ミドルボックスの両方に対して、いくつかの実施形態では、管理スイッチング要素は、スライス処理情報をパケットへ追加する。基本的には、このスライス処理情報は、ミドルボックスによって動作する(潜在的な)いくつかのインスタンスのどれに、パケットが送信されるべきかを示すためのタグである。このようにして、ミドルボックスがパケットを受信する場合、タグは、ミドルボックスに、パケットの処理、解析、変更等の適切なルールのセットを使用して、パケットにおける動作を実行することを可能にする。いくつかの実施形態は、パケットへスライス処理情報を追加するのではなく、各ミドルボックスインスタンスに対して管理スイッチング要素の異なるポート群を定義して、実際にそのポート群を使用して、ファイヤウォールに向けられるトラフィックをスライスする(分散構成の場合)、あるいは、インスタンス間を区別するために、集中電子機器の異なるポート群へ接続する(集中構成の場合)。
上記の内容は、管理スイッチング要素への転送データの伝搬を記載している。加えて、いくつかの実施形態は、ネットワーク制御システムを使用して、コンフィグレーションデータをミドルボックスへ伝搬する。図9は、いくつかの実施形態のネットワーク制御システムを介するデータの伝搬を概念的に示している。図の左側は、論理ネットワークを実現する管理スイッチング要素へのデータフローであり、一方、図の右側は、ミドルボックスコンフィグレーションデータの伝搬と、ミドルボックスへのネットワーク接続及びスライス処理データの伝搬を示している。
左側において、入力変換コントローラ805は、APIを介してネットワークコンフィグレーションを受信し、これは、論理制御プレーンデータに変換される。このネットワークコンフィグレーションデータは、図2に示されるような論理トポロジーを含んでいる。加えて、いくつかの実施形態のネットワークコンフィグレーションデータは、ミドルボックスへ送信されるパケットを特定するルーティングポリシー群を含んでいる。ミドルボックスが2つの論理転送要素の間(例えば、論理ルータと論理スイッチの間)の論理回線上に配置されている場合、その論理回線を介して送信されるすべてのパケットは、自動的にミドルボックスへ転送されることになる。しかしながら、ネットワークアーキテクチャ200のような帯域外のミドルボックスに対しては、特定のポリシー群がユーザによって特定されている場合には、論理ルータはパケットをミドルボックスへ送信することだけを行うことになる。
ルータとスイッチが、パケットの宛先アドレス(例えば、MACアドレスあるいはIPアドレス)に従ってパケットを通常に転送することになる一方で、ポリシールーティングは、パケットによって記憶される他の情報(例えば、ソースアドレス、ソースアドレスと宛先アドレスの組み合わせ等)に基づいて行われる転送決定を可能にする。例えば、ユーザは、特定のサブネット内のソースIPアドレスを有する、あるいは特定のサブネットのセットと合致しない宛先IPアドレスを有する、パケットのすべてがミドルボックスへ転送されるべきであることを特定することができる。
図示されるように、論理制御プレーンデータは、論理コントローラ810によって(具体的には、論理コントローラの制御アプリケーションによって)論理転送プレーンデータへ変換され、続いて(論理コントローラの仮想アプリケーションによって)ユニバーサル物理制御プレーンデータへ変換される。いくつかの実施形態では、これらの変換は、フローエントリ(論理転送プレーンにおける)を生成し、論理データ経路のセットを介してマッチング情報を追加する(ユニバーサル物理制御プレーンにおける)。ユニバーサル物理制御プレーンは、また、汎用物理進入ポートを論理進入ポート(即ち、任意の特定の物理ホストマシーンに対して専用とはなっていない汎用抽象ポート)へマッピングするための追加のフローエントリ群を含んでいて、また、論理退出ポートを汎用物理退出ポートへマッピングするための追加のフローエントリ群を含んでいる。例えば、集中ミドルボックスへのマッピングに対しては、ユニバーサル物理制御プレーンにおけるフローエントリ群は、ルーティングポリシーに合致する場合にミドルボックスと接続する論理ポートへパケットを送信するための転送決定と、ミドルボックスへ接続するホストマシーンの汎用物理ポートへの論理ポートへのマッピングを含んでいる。
図示されるように、物理コントローラ815(いくつかの物理コントローラの1つ)は、ユニバーサル物理制御プレーンデータを、それが管理する特定の管理スイッチング要素830−840に対するカスタマイズ物理制御プレーンデータへ変換する。この変換は、ユニバーサル物理制御プレーンデータにおける汎用抽象に対する代替特定データ(例えば、特定の物理ポート)を含んでいる。例えば、上述の例では、ポート統合エントリは、特定のミドルボックスコンフィグレーションに対して適切な物理層ポートを特定するように構成設定されている。このポートは、ファイヤウォールがホストマシーン上の仮想マシーンとして動作する場合の仮想NICであり得り、あるいは、ファイヤウォールが仮想マシーン上のハイパーバイザ内のプロセス(例えば、デーモン)として動作する場合の管理スイッチング要素内の上述のソフトウェア抽象ポートであり得る。いくつかの実施形態では、後者の状況では、このポートはIPCチャネルあるいはTUN/TAPデバイスインタフェースである。いくつかの実施形態では、管理スイッチング要素は、ファイヤモジュールに対する1つの特定抽象ポートを含み、物理制御プレーンフローをカスタマイズするための物理コントローラに対するこの情報を、その物理コントローラへ送信する。一方で、集中ミドルボックス845へパケットを送信するためのフローエントリ群に対しては、挿入ポートが、管理スイッチング要素が動作する特定のホストマシーンの実際の物理ポートとなる。
加えて、いくつかの実施形態では、物理コントローラは、ミドルボックスに特定のスライス処理情報を特定するフローエントリ群を追加する。例えば、特定の管理スイッチング要素に対しては、フローエントリは、パケットを特定のファイヤウォールへ送信する前に、そのパケットに特定のタグ(例えば、VLANタグあるいは同様のタグ)を追加することを特定することができる。このスライス処理情報は、ミドルボックスに、パケットを受信して、自身のいくつかの独立しているインスタンスの内のどのインスタンスがパケットを処理するべきかを識別することを可能にする。
管理スイッチング要素825(物理コントローラ815によって管理されるいくつかのMSE群の1つ)は、カスタマイズ制御プレーンデータの物理転送プレーンデータへの変換を実行する。この物理転送プレーンデータは、いくつかの実施形態では、スイッチング要素が実際に合致する受信パケットに対する、スイッチング要素(物理ルータあるいはスイッチあるいはソフトウェアスイッチング要素)内に記憶されるフローエントリ群である。
図9の右側は、管理スイッチング要素ではなく、ミドルボックス(集中ミドルボックスあるいは分散ミドルボックス)へ伝搬される2つのデータのセットを示している。これらの第1のデータのセットは、特定の論理ミドルボックスの動作を特定する様々なルールを含む実際のミドルボックスコンフィグレーションデータである。このデータは、ミドルボックス実装に特定のAPIを介して、入力変換コントローラ805あるいは異なる入力インタフェースで受信される。いくつかの実施形態では、異なるミドルボックス実装は、ユーザに対して提示される異なるインタフェースを有することになる(即ち、ユーザは、異なる特定のミドルボックスに対する異なるフォーマットの情報を入力しなければならないことになる)。図示されるように、ユーザは、ミドルボックスコンフィグレーションを入力し、これは、ミドルボックスAPIによってミドルボックスコンフィグレーションデータへ変換される。
いくつかの実施形態では、ミドルボックスコンフィグレーションデータは、レコードのセットであり、各レコードは、特定のルールを特定している。これらのレコードは、いくつかの実施形態では、管理スイッチング要素に伝搬されるフローエントリと同様のフォーマットである。実際には、いくつかの実施形態は、コントローラ上の同一のアプリケーションを使用して、フローエントリに対するファイヤウォールコンフィグレーションレコードを伝搬し、また、そのレコードに対する同一のテーブルマッピング言語(例えば、nLog)を伝搬する。
ミドルボックスコンフィグレーションデータは、いくつかの実施形態では、論理コントローラあるいは物理コントローラによっては変換されず、一方、他の実施形態では、論理コントローラ及び物理コントローラの少なくとも一方は、ミドルボックスコンフィグレーションデータレコードの最小限の変換を少なくとも実行する。多くのミドルボックスのパケット処理、変更及び解析ルールは、パケットのIPアドレス(あるいはTCP接続状態)で動作し、また、ミドルボックスへ送信されるパケットは、この晒されている(即ち、論理ポート情報内でカプセル化されていない)情報を有することになるので、ミドルボックスコンフィグレーションは、論理データプレーンから物理データプレーンへの変換を要求しない。このように、同一のミドルボックスコンフィグレーションデータは、入力変換コントローラ805(あるいは他のインタフェース)から、論理コントローラ810及び物理コントローラ815への少なくとも一方へ渡される。
いくつかの実施形態では、論理コントローラ810は、論理ネットワークの記述と、物理ネットワークの物理実装の記述を記憶している。論理コントローラは、分散ミドルボックスに対する1つ以上のミドルボックスコンフィグレーションレコードを受信し、また、様々なノード(即ち、ホストマシーン)の内、どれが、コンフィグレーション情報を受信することが必要となるかを識別する。いくつかの実施形態では、ミドルボックスコンフィグレーション全体がホストマシーン群の全てにおけるミドルボックス要素に配信され、そうすることで、論理コントローラはパケットがミドルボックスの使用を要求している少なくとも1つの仮想マシーンが常駐しているホストマシーンのすべてを識別する。これは、ネットワーク内のすべての仮想マシーン(例えば、図2に示されるミドルボックスに対する)であっても良く、あるいは、ネットワーク内の仮想マシーン群のサブセットであっても良い(例えば、ネットワーク内の特定のドメインのトラフィックだけにファイヤウォールが適用される場合)。いくつかの実施形態は、どのホストマシーンがレコード単位でコンフィグレーションデータを送信するかについての決定を行う。つまり、各特定のルールは、仮想マシーンのサブセットだけに適用し、また、レコードを受信することを必要とするこれらの仮想マシーンを実行するホストだけに適用することができる。
論理コントローラがレコードを受信する特定のノードを一旦識別すると、論理コントローラは、これらの特定のノードを管理する特定の物理コントローラを識別する。上述のように、各ホストマシーンは、割当済のマスタ物理コントローラを有している。こうして、論理コントローラがコンフィグレーションデータに対する宛先として第1のホストと第2のホストとだけを識別する場合、これらのホストに対する物理コントローラは、論理コントローラからのデータを受信するために識別されることになる(及び、他の物理コントローラは、このデータを受信することはない)。集中ミドルボックスに対しては、論理コントローラは、ミドルボックスを実現する電子機器を管理する(単一の)物理コントローラを識別することだけを必要とする。
ミドルボックスコンフィグレーションデータをホストに供給するために、いくつかの実施形態の論理コントローラは、データを(論理コントローラ内のテーブルマッピングエンジンの出力へアクセスするエクススポートモジュールを使用して)物理コントローラへプッシュする。他の実施形態では、物理コントローラは、論理コントローラのエクスポートモジュールからコンフィグレーションデータ(例えば、コンフィグレーションデータが利用可能であることを示す信号に応じて)をリクエストする。
物理コントローラ群は、物理制御プレーンデータを渡す量と同じ量のデータを、それらが管理するホストマシーン上のミドルボックス要素へ渡す。いくつかの実施形態では、ミドルボックスコンフィグレーションデータと物理制御プレーンデータは、ホストマシーン上で動作する同一のデータベースへ送信され、管理スイッチング要素とミドルボックスモジュールはデータベースから適切な情報を取得する。同様に、集中ミドルボックス845に対して、物理コントローラ815は、ミドルボックスコンフィグレーションデータをミドルボックス電子機器(例えば、コンフィグレーションデータを記憶するデータベースへ)渡す。
いくつかの実施形態では、ミドルボックスは、コンフィグレーションデータを変換する。ミドルボックスコンフィグレーションデータは、パケット処理、解析、変更等のルールを表現するための特定の言語で受信されることになる。いくつかの実施形態のミドルボックス(分散型及び集中型の少なくとも一方)は、これらのルールを、より最適なパケット分類ルールへコンパイルする。いくつかの実施形態では、この変換は、物理制御プレーンデータの物理転送プレーンデータへの変換と同様である。パケットがミドルボックスによって受信される場合、これは、そのパケットにおける自身の動作を効率的にかつ高速に実行するために、コンパイルされた最適なルールを適用する。
ミドルボックスコンフィグレーションルールを追加するために、ミドルボックスモジュールは、スライス処理情報及び接続情報の少なくとも一方を受信して、管理スイッチング要素との間でパケットを送受信する。この情報は、管理スイッチング要素に送信される情報に対応する。図示されるように、いくつかの実施形態では、物理コントローラ815は、ミドルボックスに対するスライス処理情報及び接続情報の少なくとも一方を生成する(即ち、この情報は、ネットワーク制御システムの入力あるいは論理コントローラレベルでは生成されない)。
分散ミドルボックスに対しては、物理コントローラは、いくつかの実施形態では、管理スイッチング要素のソフトウェアポートについての情報を受信する。ここで、ミドルボックスは、管理スイッチング要素自身からその管理スイッチング要素へ接続し、そして、この情報をミドルボックスへ渡す。他の実施形態では、しかしながら、このポートの使用は、ホストマシーン内のミドルボックスモジュールと管理スイッチング要素との間で直接同意されていて、そうすることで、ミドルボックスは、物理コントローラから接続情報を受信することを必要としない。いくつかのこのような実施形態では、管理スイッチング要素は、それにもかかわらず、この情報を物理コントローラへ送信し、この物理コントローラは、ミドルボックスとの間でパケットを送受信するためにユニバーサル物理制御プレーンフローエントリをカスタマイズする。
集中ミドルボックスに対しては、いくつかの実施形態は、トンネリング接続データをミドルボックスへ提供する。このミドルボックスは、いくつかの実施形態では、様々なホストマシーンがパケットをミドルボックスへ送信するために使用することになる、トンネルカプセル化のタイプを知る必要がある。いくつかの実施形態では、ミドルボックスは、許容トンネリングプロトコル(例えば、STT、GRE等)のリストを有していて、選択されたプロトコルは、管理スイッチング要素(群)とミドルボックスとの間で調整される。トンネリングプロトコルは、ミドルボックスのコンフィグレーションの一部としてユーザによって入力することができる、あるいは、異なる実施形態ではネットワーク制御システムによって自動的に判定することができる。ホストマシーンへの接続に加えて、図4を参照して説明されるように、トンネルは、集中ミドルボックスとプールノードとの間でセットアップされることになり、このトンネルは処理後のパケットをそのプールノードへ送信する。
物理コントローラによって生成されるスライス処理情報は、いくつかの実施形態では、論理ネットワークに対して使用されるミドルボックスインスタンスに対する識別子から構成される。いくつかの実施形態では、上述のように、ホストマシーン上で動作する、あるいは集中電子機器として動作するミドルボックスは、複数の論理ネットワークによって使用するために仮想化される。ミドルボックスが管理スイッチング要素からパケットを受信すると、いくつかの実施形態では、パケットは、パケットを処理する際に使用するためのミドルボックスインスタンス(即ち、特定の構成設定されたルールのセット)の特定の1つを識別するプリペンドされたタグ(例えば、VLANタグと同様な)を含んでいる。
図9に示されるように、ミドルボックスは、このスライス処理情報を内部スライスバインディング情報へ変換する。いくつかの実施形態では、ミドルボックスは、自身が所有する内部識別子(パケットにプリペンドされているタグとは異なる)を使用して、ミドルボックス内の状態(例えば、アクティブなTCP接続、様々なIPアドレスについての統計情報等)を識別する。新規のインスタンスに対する新規のミドルボックスインスタンスと外部識別子(パケット上で使用される)を作成するための命令を受信すると、いくつかの実施形態は、自動的に新規のミドルボックスインスタンスを作成し、そのミドルボックスインスタンスを内部識別子に割り当てる。加えて、ミドルボックスは、外部スライス識別子を内部スライス識別子へマッピングする、そのミドルボックスインスタンスに対するバインディングを記憶する。
上述の図は、様々な物理ネットワークコントローラと論理ネットワークコントローラを示している。図10は、ネットワークコントローラ1000(例えば、論理コントローラあるいは物理コントローラ)のアーキテクチャの例を示している。いくつかの実施形態のネットワークコントローラは、テーブルマッピングエンジンを使用して、テーブルの入力のセットからのデータを、テーブルの出力のセットにおけるデータへマッピングする。このコントローラにおけるこのテーブルの入力のセットは、論理転送プレーン(LFP)データへマッピングされる論理制御プレーン(LCP)データ、ユニバーサル物理制御プレーン(UPCP)データへマッピングされるLFPデータ、及びカスタマイズ物理制御プレーン(CPCP)データへマッピングされるUPCPデータの少なくとも1つを含んでいる。このテーブルの入力のセットは、また、別のコントローラ及び分散ミドルボックスインスタンスの少なくとも一方に送信されるミドルボックスコンフィグレーションデータを含むことができる。ネットワークコントローラ1000は、図示されるように、入力テーブル1015、ルールエンジン1010、出力テーブル1020、インポータ1030、エクスポータ1035、トランスレータ1035及び永久データ記憶装置(PTD)1040を含んでいる。
いくつかの実施形態では、入力テーブル1015は、ネットワーク制御システム内のコントローラ1000の役割に依存する、様々なタイプのデータを有するテーブルを含んでいる。例えば、コントローラ1000がユーザの論理転送要素に対する論理コントローラとして機能する場合、入力テーブル1015は、LCPデータと、論理転送要素用のLFPデータを含んでいる。コントローラ1000が物理コントローラとして機能する場合、入力テーブル1015は、LFPデータを含んでいる。入力テーブル1015は、ユーザあるいは別のコントローラから受信されるミドルボックスコンフィグレーションデータを含んでいる。ミドルボックスコンフィグレーションデータは、ミドルボックスに統合される論理スイッチング要素を識別する論理データ経路設定パラメータに関連付けられる。
入力テーブル1015に加えて、制御アプリケーション1000は、自身のテーブルマッピング動作に対する入力を収集するために、ルールエンジン1010が使用する他の雑テーブル(不図示)を含んでいる。これらの雑テーブルは定数テーブルを含み、これは、自身のテーブルマッピング動作を実行するためにルールエンジン1010が必要とする定数に対する所定値を記憶している(例えば、値0、再実行用のディスパッチポート番号等)。定数テーブルは、更に、関数テーブルを含んでいて、これは、出力テーブル1025を投入するための値を計算するためにルールエンジン1010が使用する関数を記憶している。
ルールエンジン1010は、入力データを出力データへ変換するための1つの方法を特定するテーブルマッピング動作を実行する。入力テーブル群の1つが変更される(入力テーブルイベントとして参照される)ときはいつでも、ルールエンジンは、テーブルマッピング動作のセットを実行し、これにより、1つ以上の出力テーブルにおける1つ以上のデータタプルの変更をもらすことになる。
いくつかの実施形態では、ルールエンジン1010は、イベントプロセッサ(不図示)、いくつかのクエリプラン(不図示)、及びテーブルプロセッサ(不図示)を含んでいる。各クエリプランは、入力テーブルイベントの発生時に実行される結合演算のセットを特定するルールのセットである。ルールエンジン1010のイベントプロセッサは、このようなイベントのそれぞれの発生を検出する。いくつかの実施形態では、イベントプロセッサは、入力テーブル1015内のレコードに対する変更の通知のためのコールバックを入力テーブルに登録し、自身のレコードの1つが変更されている場合に入力テーブルから通知を受信することによって入力テーブルイベントを検出する。
検出された入力テーブルイベントに応じて、イベントプロセッサは、(1)その検出されたテーブルイベントに対する適切なクエリプランを選択し、(2)テーブルプロセッサにそのクエリプランを実行することを指示する。クエリプランを実行するために、テーブルプロセッサは、いくつかの実施形態では、クエリプランによって特定される結合動作を実行して、1つ以上の入力と雑テーブルからの1つ以上のデータ値のセットを示す1つ以上のレコードを生成する。いくつかの実施形態のテーブルプロセッサは、(1)選択動作を実行して、結合動作によって生成されたレコード(群)からデータ値のサブセットを選択し、(2)その選択されたデータ値のサブセットを1つ以上の出力テーブル1020に書き込む。
いくつかの実施形態は、データログデータベース言語の変形を使用して、アプリケーションデベロッパに、コントローラ用のルールエンジンを作成することを許容し、それによって、コントローラが論理データ経路のセットを、制御されている物理スイッチングインフラストラクチャにマッピングする方法を特定する。このデータログデータベース言語の変形は、本明細書では、nLogと読んでいる。同様のデータログ、nLogは、いくつかの宣言ルールと演算子を提供し、これは、デベロッパに、異なるイベントの発生に応じて実行されるべき異なる動作を特定することを可能にする。いくつかの実施形態では、nLogは、nLogの演算速度を向上するためにデータログによって提供される限定の演算子のサブセットを提供する。例えば、いくつかの実施形態では、nLogは、任意の宣言ルールの内、AND演算子だけを使用することを許可する。
nLogを通じて特定される宣言ルールと演算子は、nLogコンパイラによってより大規模なルールのセットにコンパイルされる。いくつかの実施形態では、このコンパイラは、イベントを扱うことを意味している各ルールを、いくつかのデータベースの結合動作のセットに変換する。こうして、大規模のルールのセットは、nLogエンジンと呼ばれるテーブルマッピングルールエンジンを形成する。
いくつかの実施形態は、論理データ経路設定パラメータに基づいている入力イベントに対するルールエンジンによって実行される第1の結合動作を指定する。この指定は、ルールエンジンが、コントローラによって管理されない論理データ経路セット(即ち、論理ネットワーク)に関連する結合動作のセットを開始している場合に、ルールエンジンの結合動作が直ちに中止して終了することを補償する。
同様に、入力テーブル1015、出力テーブル1020は、コントローラ1000の役割に依存する異なるタイプのデータを有するテーブルを含んでいる。コントローラ1000は論理コントローラとして機能し、出力テーブル1015は論理スイッチング要素に対するLFPデータとUPCPデータを含んでいる。コントローラ1000が物理コントローラとして機能する場合、出力テーブル1020はCPCPデータを含んでいる。入力テーブルと同様に、出力テーブル1015は、ミドルボックスコンフィグレーションデータを含んでいていても良い。また、出力テーブル1015は、コントローラ1000が物理コントローラとして機能する場合に、スライス識別子を含んでいても良い。
いくつかの実施形態では、出力テーブル1020は、いくつかの異なるカテゴリにグループ化することができる。例えば、いくつかの実施形態では、出力テーブル1020は、ルールエンジン(RE)入力テーブル及びRE出力テーブルの少なくとも一方とすることができる。出力テーブルは、出力テーブル内の変更がルールエンジンにクエリプランの実行を要求する入力イベントを検出させる場合のRE入力テーブルである。出力テーブルはRE入力テーブルでもあり、これは、ルールエンジンに別のクエリプランを実行させるイベントを生成する。出力テーブルは、出力テーブル内の変更がエクスポータ1025にその変更を別のコントローラあるいはMSEへエクスポートさせる場合のRE入力テーブルである。出力テーブルは、RE入力テーブル、RE出力テーブル、あるいはRE入力テーブル及びRE出力テーブルでもある。
エクスポータ1025は、出力テーブル1020のRE出力テーブルに対する変更を検出する。いくつかの実施形態では、エクスポータは、RE出力テーブルのレコードに対する変更の通知に対するコールバックをRE出力テーブルに登録する。いくつかの実施形態では、エクスポータ1025は、自身のレコードの1つが変更されていることを示す通知をRE出力テーブルから受信する場合の出力テーブルイベントを検出する。
検出された出力テーブルイベントに応じて、エクスポータ1025は、変更されたRE出力テーブル内の各変更されたデータタプルを取得して、この変更されたデータタプルを1つ以上の他のコントローラあるいは1つ以上のMSEへ伝搬する。出力テーブルレコードを別のコントローラへ送信する場合、エクスポータは、いくつかの実施形態では、通信の信号チャネル(例えば、RPCチャネル)を使用して、レコードに含まれるデータを送信する。RE出力テーブルレコードをMSEへ送信する場合、エクスポータは、いくつかの実施形態では、2つのチャネルを使用する。一方のチャネルは、MSEの制御プレーンにフローエントリを書き込むためのスイッチ制御プロトコル(例えば、オープンフロー)を使用して確立される。もう一方のチャネルは、コンフィグレーションデータ(例えば、ポートコンフィグレーション、トンネル情報)を送信するためのデータベース通信プロトコル(例えば、JSON)を使用して確立される。
いくつかの実施形態では、コントローラ1000は、コントローラが管理することを担当しない論理データ経路セット(即ち、他の論理コントローラによって管理される論理ネットワーク)に対するデータを出力テーブル1020に保持しない。しかしながら、このようなデータは、トランスレータ1035によって、PTD1040に記憶することができるフォーマットに変換され、そして、PTDに記憶される。PTD1040は、このデータを、1つ以上の他のコントローラのPTDへ伝搬し、そうすることで、論理データ経路セットを管理することを担当するこれらの他のコントローラは、このデータを処理することができる。
いくつかの実施形態では、コントローラは、また、出力テーブル1020に記憶されているデータを、データの弾力性をPTDにもたらす。それゆえ、これらの実施形態では、コントローラのPTDは、ネットワーク制御システムによって管理されるすべての論理データ経路セットに対するコンフィグレーションデータのすべてを有している。つまり、各PTDは、すべてのユーザの論理ネットワークのコンフィグレーションのグローバルビューを含んでいる。
インポータ1030は、いくつかの異なるソースの入力データのインタフェースであり、その入力データを使用して、入力テーブル1010を変更するあるいは作成する。いくつかの実施形態のインポータ1020は、別のコントローラから入力データを受信する。インポータ1020は、また、PTD1040のインタフェースであり、そうすることで、他のコントローラインスタンスからのPTDを通じて受信されるデータを、入力テーブル1010を変更するあるいは作成するための入力データとして、変換し、使用することができる。また、インポータ1020は、出力テーブル1030内のRE入力テーブルに伴う変更を検出する。
IV.いくつかのミドルボックスの例示の実装
上記では、分散ミドルボックスと集中ミドルボックスとを実装し、構成設定するための様々な原理を記載している。図2に示される例示のネットワークは、単一のミドルボックスだけを備える簡略化例である。一方、図11は、多数のミドルボックスを介在するより複雑な論理ネットワークトポロジー1100を概念的に示している。
論理ネットワーク1100は、3つの論理L2ドメインを含んでいて、これには、第1の論理L2スイッチ1140に接続されているウェブサーバ1105−1115、第2の論理L2スイッチ1145に接続されているアプリケーションサーバ1120及び1125、第3の論理スイッチ1150に接続されているデータサーバ1130及び1135がある。これらの論理スイッチ1140−1150のそれぞれは、論理ルータ1155(様々なミドルボックスを介して)に接続している。
各論理スイッチと論理ルータ1155との間にロードバランサがあり、このロードバランサは、特定の論理L2ドメインへの到来トラフィックをスケジュールする。つまり、第1のロードバランサ1160は、宛先ネットワークアドレス変換(D−NAT)を実行することで、これらの3つのウェブサーバ1105−1115との間のトラフィック(例えば、トランスポート接続単位で)の均衡を図り、第2のロードバランサ1165は、2つのアプリケーションサーバ1120と1125との間のトラフィックの均衡を図り、第3のロードバランサ1170は、D−NATを実行して、2つのデータサーバ1130と1135との間のトラフィックの均衡を図る。加えて、論理ルータ1155と第2の論理スイッチ1145はファイヤウォール1175である。
論理ルータ1155は、また、3つの論理L2ドメインを外部ネットワーク1195に接続し、これから、クライアントリクエストがそのネットワークに入ってくることができる。加えて、3つのミドルボックスは、管理ネットワークと外部ネットワークとの間のトラフィックを処理するためのL3ルータ1155を介在している。これらのミドルボックスは、到来トラフィックを処理するためのファイヤウォール1180と、発信トラフィックのIPアドレスを1つ以上の仮想IPアドレスへ変換するためのソースNAT1185を含んでいる。これらのミドルボックスは、管理ネットワークと外部ネットワークのとの間に効率的に配置されている。但し、物理実装が、ミドルボックスへパケットを送信すること、また、ミドルボックス(外部ネットワーク1195あるいは適切なホストマシーンへ送信するため)からのパケットを受信することを含んでいるので、論理トポロジーは、これらのミドルボックスを、ルータを介在する、帯域外ミドルボックスとして示している。そして、IDS119も、論理ルータ1155を介在している。ネットワーク1100では、論理ルータは、処理済パケットのすべての複製(デュプリケート)を解析用のIDS1190へ転送する。
図12は、ホスト化仮想環境内のネットワーク1100の1つの特定の物理実装1200を概念的に示している。図示されるように、7つの仮想マシーン1105−1135が、5つの異なるホストマシーン1205−1225に渡って分散されている。いくつかのホストマシーンが1つの仮想マシーンだけを管理している一方で、一方では、残りのホストマシーンは2つのVMを管理している。ホストマシーン1205−1225は互いに接続し、かつプールノード1230と接続していて、これは、ゲートウェイ1235(エクテンダ(拡張装置)とも呼ばれる)と接続している。ゲートウェイ1235は、管理ネットワーク1200を外部ネットワーク1240(例えば、インターネット、異なる管理ネットワーク、外部プライベートネットワーク等)に接続する。この例は、ゲートウェイ1235がプールノード1230を介してホストマシーン1205−1225にだけ接続されているように示しているが、いくつかの実施形態は、ゲートウェイとホストマシーン群との間の直接接続を実現する。
図示されるように、各ホストマシーン1205ー1225、更には、プールノード1230とゲートウェイ1235は、管理スイッチング要素を含んでいる。ホストマシーン1205−1225のすべては、論理ルータ1155だけはなく、論理スイッチ1140−1150に対するフローエントリ群を含むように構成されている。こうして、アプリケーションサーバ1125とアプリケーションサーバ1110を含む第2のホストマシーン1210と、データサーバ1130だけを含む第5のホストマシーン1225は、同一の管理スイッチング要素を実現する。ゲートウェイ1235内の管理スイッチング要素は、論理ルータ1155だけではなく、論理ネットワーク1100の3つの論理スイッチ1140−1150のすべてを実現する。プールノードは、いくつかの実施形態では、L3ルータ1155と3つの論理スイッチ1140ー1150を実現する管理スイッチング要素でもある。
実装1200では、いくつかの論理ミドルボックスが分散されていて、一方で、残りの論理ボックスは集中されている。例えば、侵入検出サービス1190は集中IDS電子機器1245として実現される。ホストマシーン1205−1225のそれぞれは、ゲートウェイ1235として、IDS電子機器1245に直接接続している。図示されるように、これらのマシーンは、IDS電子機器にパケットを送信するだけであり、パケットを受信しない。これは、IDSが複製パケット(ゲートウェイ1235からの到来パケットと、ホストマシーン1205−1225からの発信パケット)を受信して、脅威を検出するための解析を実行しているだけであり、それらの解析後にはそのパケットをどこにも送信しないからである。
S−NATミドルボックス1185は、ホストマシーン群(例えば、ハイパーバイザ内で動作するデーモンとして)のそれぞれに渡って分散される。これは、仮想マシーンのすべてがパケットを、仮想IPアドレスの配下に実際のIPアドレスを隠蔽するためのIPアドレス変換を要求する外部ネットワークへ送信することができる。ファイヤウォール1175も同様に分散されるが、ホストマシーン1210及び1220上のみで実現される。これは、これらが、このファイヤウォールの配下にあるアプリケーションサーバ仮想マシーン1120及び1125を管理するノードであるからである。
3つのロードバランサ1160−1170は、様々なホストマシーン1205−1225、ゲートウェイ1235に渡って実現される。図示されるように、ロードバランサは、ホストマシーンのそれぞれにおけるロードバランサ要素内で実現され、そうすることで、ロードバランサ要素は仮想化されて(即ち、スライス化されて)、いくつかの異なるロードバランサを実現する。ファイヤウォール1175がアプリケーションサーバがそれぞれ実現されているホストマシーン群において配置されているのに対して、各特定の論理ロードバランサは、特定のロードバランサを担当しないマシーンを管理する各ノードにおいて配置される。これは、例えば、ロードバランサ1170がデータサーバ1130及び1135を表す仮想IPアドレスに向けられている任意のパケットを受信して、2つのデータサーバのどちらにそのパケットを転送するかを判定し、そして、選択されたデータサーバへ反映するために宛先IPアドレスを修正するからである。可能ならいつでも第1のホップ(パケットソース)において処理が実行されるので、この機能はデータサーバ群を管理するノード群においては必要とされないが(他の仮想マシーンも管理されている限り)、むしろ、データサーバ1130及び1135へパケットを送信することができる他の仮想マシーンを管理するノードにおいて必要とされる。従って、ゲートウェイ1235内のロードバランサ要素は3つのロードバランサのすべてを実現するためにスライスされる。これは、外部ネットワーク1240からの到来パケットが、3つの論理L2ドメインの任意のものに向けられている場合があるからである。
加えて、図示されるように、いくつかの実施形態は、プールノード1230とゲートウェイ1235内の論理ネットワークに対する任意の分散ミドルボックスを実現する。これは、ミドルボックスが必要とされる時点でどのロケーションであるか(かつユーザが、続いてルーティングポリシー、ミドルボックスコンフィグレーションあるいはネットワークアーキテクチャを修正する場合がある)を判定することが難しい場合があるので、いくつかの実施形態は、一定の物理マシーン群が特定のミドルボックスを要求しないことになることを推定しない。これと同じに従って、いくつかの実施形態は、異なるミドルボックス群をホストの異なるサブセット群へ分散しない。代わりに、論理ネットワークに対するすべてのミドルボックスは、論理ネットワークに存在しているホストのそれぞれで実現される。
外部ネットワーク1180と管理ネットワークとの間での到来パケットを処理するためのファイヤウォール1180は、ゲートウェイ内の仮想マシーン(ハイパーバイザ内で動作するモジュールではなく)内で集中形式で実現される。ゲートウェイが到来パケットを受信する場合に、ゲートウェイは、いくつかの実施形態ではファイヤウォールVMへパケットをルーティングする。この例では、ファイヤウォールVMはゲートウェイ内に配置されている一方で、いくつかの実施形態は、ホストマシーン(例えば、ユーザVM群を管理するホストマシーンとは異なるホストマシーン)内の仮想マシーンとして、あるいはファイヤウォール電子機器を使用して、ファイヤウォールを実現する。
ネットワーク1100を構成設定するために、いくつかの実施形態では、図8及び図9を参照して示されるように、ユーザは、ネットワークトポロジーを(例えば、入力変換コントローラを介して)論理コントローラへ入力する。いくつかの実施形態では、ユーザは、スイッチ群、ルータ群、ミドルボックス群及び仮想マシーン群の間の接続を入力する。様々なネットワークコンポーネントの位置(ロケーション)に基づいて、入力変換コントローラあるいは論理コントローラは、論理制御プレーンデータを生成して、これを、論理転送プレーン内のフローエントリ群に変換する。しかしながら、ファイヤウォール1180、S−NAT1185及びIDS1190のようなミドルボックスに対しては、ユーザは、パケットをこれらのコンポーネントを送信する場合を示すポリシールーティングルールを入力しなければならない。例えば、ファイヤウォール1180に対するルーティングポリシーは、論理ネットワーク外のソースIPを伴うパケット群をすべて送信することになり、一方で、S−NAT1185に対するルーティングポリシーは、論理ネットワーク内のソースIPを伴うパケット群をすべて送信することになる。論理コントローラは、フローエントリ群をユニバーサル物理制御プレーンへ変換した後、どの物理コントローラがどのフローエントリを受信するべきかを識別し、これらのフローエントリを配信する。物理コントローラ群は、(ホストマシーン群がユニバーサル物理制御プレーンからカスタマイズ物理制御プレーンへの変換を実行するシャーシ(chassis)コントローラ群を含んでいる限り)特定のポート情報と他のカスタマイズ情報をフローエントリ群に追加し、そして、それらを管理スイッチング要素へ配信する。
加えて、ユーザは、様々なロードバランサ、ファイヤウォール等に対するミドルボックスコンフィグレーションを入力する。例えば、この情報は、異なるロードバランサ、S−NAT用の仮想IPから実IPへのマッピング、ファイヤウォール用のパケット処理ルール等のそれぞれについて使用するためのスケジューリングアルゴリズムを含むことになる。ユーザは、この情報を様々なミドルボックス用のAPIを通じて入力し、いくつかの実施形態は、この情報を、フローエントリ群として同一のフォーマットを有するレコード(例えば、nLog)へ変換する。この論理コントローラは、どのミドルボックスコンフィグレーションがホストマシーンあるいは集中ミドルボックス電子機器へ送信されることを必要としているかを識別する(例えば、ファイヤウォール1175に対するレコード群は、ホストマシーン1210と1220へ進むことだけを必要とする一方で、S−NATレコード群は、5つのホストマシーン1205−1225のすべてへ進む)。論理コントローラ群は、そのレコード群を適切な物理コントローラ群へ配信し、そこで、スライス処理情報(及び、いくつかの場合、トンネリング情報)を追加して、その情報を上述のミドルボックス群へ配信する。
ネットワークの動作は、外部ネットワークから到来するパケット群、外部ネットワークへ発信するパケット群、及び1つの論理L2ドメインから他の論理L2ドメインへ送信されるパケット群を参照することによって説明される。パケットがホストマシーン(例えば、ウェブサーバ)から送信される場合、それは、まず、ホスト上で動作するMSEに到達する。パケットは、まず、論理スイッチによって論理L2処理に投入され、この論理スイッチは、そのパケットを論理ルータ(これは、パケットが発信されるので、それは、ローカルロードバランサへ送信される必要がないからである)へ送信する。論理ルータ(ホストマシーンにおけるMSEによっても取り扱われる)は、パケットの複製をIDS電子機器1245へ送信するとともに、そのパケットをホスト上のS−NAT処理へ送信する。S−NAT処理は、ソースIPアドレスを修正して、新規のパケットをMSEへ返信する。いくつかの実施形態では、パケットがアクティブなTCPセッションの一部である場合、S−NATは、S−NAT処理を介在させることなく、MSEへその修正を実現可能にするフローエントリ群をMSEへ送信している場合がある。MSEによって実現される論理ルータは、論理出口ポートを外部ネットワークに面しているポートとして識別し、これは、パケットを送信するための物理ポートをプールノード1230へマッピングする。プールノードは、パケットをゲートウェイ1235へ転送し、これは、そのパケットを外部ネットワーク1240へ送信する。
パケットが外部ネットワーク1240からゲートウェイ1240で受信される場合、そのゲートウェイ内のスイッチング要素処理は、まず、パケットをファイヤウォール仮想マシーンへ送信する。ファイヤウォールがパケットを破棄しない場合、次に、そのパケットはスイッチング要素処理へ返信され、これは、ロードバランサの正しいスライスを識別し、そのパケットにスライス情報をタグ付けし、そして、そのパケットをロードバランサ(負荷分散)処理へ送信する。ロードバランサは、実際の宛先IPを選択し、選択された宛先マシーンへ反映するために修正されたIPアドレスを有する新規のパケットを送信する。この時点で、ゲートウェイ内のMSEは、パケットを正しいホストへ送信する。宛先VMがアプリケーションサーバ1120あるいは1125の内の1つである場合、ゲートウェイのMSE内の論理ルータは、まず、処理用のファイヤウォール1175へパケットを送信し、そして、ファイヤウォール要素からの返信を受信した後に、そのパケットを正しいホストへ送信する。次に、MSEは、パケットを宛先マシーンへ配信する。
1つの論理ドメインから別の論理ドメインへ進むパケット群は、ゲートウェイ1235を通じて進む必要はない。パケットは、まず、MSEにおいて受信され、そこで、L2スイッチングを実行し、更に、L3ルーティングを実行する。論理ルータは、宛先ドメインを識別し、パケットに正しいロードバランサスライス処理情報をタグ付けし、更に、そのタグ付けされたパケットをロードバランサへ送信する。ロードバランサは、宛先IPアドレスを修正して、そのパケットをMSEへ返信し、そして、MSEは、そのパケットを、VMへ配信するための正しいホストマシーンへ転送する。
V.電子システム
上述の特徴及びアプリケーションの多くは、コンピュータ可読記憶媒体(コンピュータ可読媒体としても呼ばれる)に記録されている命令のセットとして特定されるソフトウェアプロセスとして実現される。これらの命令群は、1つ以上のコンピュータあるいは処理ユニット(群)(例えば、1つ以上のプロセッサ、プロセッサのコア群、あるいは他の処理ユニット群)によって実行される場合、これらは、処理ユニット(群)に命令群で示される動作を実行させる。コンピュータ可読メディアの例には、限定するものではないが、CD−ROM、フラッシュドライブ、ランダムアクセスメモリ(RAM)チップ、ハードドライブ、消去可能プログラマブルリードオンリメモリ(EPROM)、電気的消去可能プログマブルリードオンリメモリ(EEPROM)等が含まれる。コンピュータ可読メディアには、搬送波、及び無線接続あるいは有線接続を通過する電子信号は含まれない。
この明細書では、用語「ソフトウェア」は、リードオンリメモリに常駐するファームウェア、あるいは磁気記憶装置に記憶されるアプリケーションを含むことを意味していて、これは、プロセッサによって処理するためにメモリに記憶することができる。また、いくつかの実施形態では、複数のソフトウェア発明は、大規模プログラムの一部分として実現することができ、一方で、別のソフトウェア発明を維持する。いくつかの実施形態では、複数のソフトウェア発明は別のプログラムとして実現することもできる。そして、本明細書で記載されるソフトウェア発明を共に実現する別々のプログラムの任意の組み合わせは、本発明の範囲内である。いくつかの実施形態では、1つ以上の電子システム上で動作するためにインストールされる場合、ソフトウェアプログラムは、そのソフトウェアプログラムの動作を実行し機能する1つ以上の特定マシーン実装を定義する。
図13は、本発明のいくつかの実施形態が実現される電子システム1300を概念的に示す図である。電子システム1300は、コンピュータ(例えば、デスクトップコンピュータ、パーソナルコンピュータ、タブレットコンピュータ等)、サーバ、専用スイッチ、電話、PDA、あるいは任意の他の種類の電子あるいはコンピュータデバイスとすることができる。このような電子システムは、様々なタイプのコンピュータ可読メディアと、様々な他のタイプのコンピュータ可読メディア用のインタフェースを含んでいる。電子システム1300は、バス1305、処理ユニット(群)1310、システムメモリ1325、リードオンリメモリ1330、永久記憶装置1335、入力デバイス1340、及び出力デバイス1345を含んでいる。
バス1305は、あらゆるシステムバス、周辺バス及びチップセットバスを集約的に示していて、これらは、電子システム1300のいくつかの内部デバイスを通信接続する。例えば、バス1305は、処理ユニット(群)1310と、リードオンリメモリ1330、システムメモリ1325及び永久記憶装置1335とを通信接続する。
これらの様々なメモリユニットから、処理ユニット(群)1310は、本発明のプロセスを実行するために、実行用の命令と、プロセス用のデータを取得する。この処理ユニット(群)は、様々な実施形態において単一のプロセッサあるいはマルチコアプロセッサとすることができる。
リードオンリメモリ(ROM)1330は、処理ユニット(群)1310及び電子システムの他のモジュールによって必要とされる静的データ及び命令を記憶している。永久記憶装置1335は、一方で、読出及び書込メモリデバイスである。このデバイスは、電子システム1330がオフである場合でも命令及びデータを記憶する不揮発性メモリユニットである。本発明のいくつかの実施形態は、永久記憶装置1335として、大容量記憶デバイス(例えば、磁気ディスクあるいは光学ディスク及びそれに対応するディスクドライブ)を使用する。
他の実施形態は、永久記憶装置としてリムーバル記憶デバイス(例えば、フロッピー(登録商標)ディスク、フラッシュメモリデバイス等、及びそれに対応するドライブ)を使用する。永久記憶装置1335と同様に、システムメモリ1325は、読出及び書込メモリデバイスである。しかしながら、記憶装置1335とは異なり、システムメモリ1325は不揮発性読出及び書込メモリ、例えば、ランダムアクセスメモリである。システムメモリ1325は、プロセッサがランタイムで必要とするいくつかの命令及びデータを記憶する。いくつかの実施形態では、本発明のプロセスは、システムメモリ1325、永久記憶装置1335及びリードオンリメモリ1330の少なくとも1つに記憶されている。これらの様々なメモリユニットから、処理ユニット(群)1310は、命令を取得して、プロセス用のデータを実行することで、いくつかの実施形態のプロセスを実行する。
バス1305は、入力デバイス1340及び出力デバイス1345にも接続している。この入力デバイス1340は、ユーザに、情報を通信して、電子システムに対するコマンドを選択することを可能にする。入力デバイス1340は、アルファベットキーボード及びポインティングデバイス(「カーソル制御デバイス」とも呼ばれる)、カメラ(例えば、ウェブカム)、マイクロフォンあるいは音声コマンドを受信するための同様のデバイス等を含んでいる。出力デバイス1345は、電子システムによって生成される画像を表示する、あるいは、そうでなければ、データを出力する。出力デバイス1345は、プリンタ、及び表示デバイス、例えば、陰極線管(CRT)あるいは液晶ディスプレイ(LCD)を含み、加えて、スピーカあるいは同様のオーディオ出力デバイスを含んでいる。いくつかの実施形態は、入力デバイス及び出力デバイスの両方として機能するタッチスクリーンのようなデバイスを含んでいる。
そして、図13に示されるように、バス1305は、電子システム1300を、ネットワークアダプタ(不図示)を介してネットワーク1365に接続している。この方法では、コンピュータは、コンピュータのネットワーク(例えば、ローカルエリアネットワーク(「LAN」)、ワイドエリアネットワーク(「WAN」)、あるいはイントラネットの一部とすることができる、あるいはネットワーク群のネットワーク、例えば、インターネットの一部とすることができる。電システム1300の任意のあるいはすべてのコンポーネントは、本発明とともに使用することができる。
いくつかの実施形態は、電子コンポーネント、例えば、マイクロプロセッサ、マシーン可読あるいはコンピュータ可読媒体(選択的には、コンピュータ可読記憶メディア、マシーン可読メディア、あるいはマシーン可読記憶メディアと呼ばれる)にコンピュータプログラム命令を記憶する記憶装置及びメモリを含んでいる。このようなコンピュータ可読メディアのいくつかの例には、RAM、ROM、リードオンリコンパクトディスク(CD−ROM)、記録可能コンパクトディスク(CD−R)、書換可能コンパクトディスク(CD−RW)、リードオンリデジタル多用途ディスク(例えば、DVD−ROM、デュアル層DVD−ROM)、様々な記録可能/書換可能DVD(例えば、DVD−RAM、DVD−RW、DVD+RW等)、フラッシュメモリ(例えば、SDカード、miniSDカード、microSDカード等)、磁気ハードドライブ及びソリッドステートハードドライブ、リードオンリ及び記録可能ブルーレイ(登録商標)ディスク、高密度光学ディスク、任意の他の光メディアあるいは磁気メディア、及びフロッピーディスクが含まれる。コンピュータ可読メディアは、少なくとも1つの処理ユニットによって実行可能であり、かつ、様々な動作を実行するための命令群のセットを含むコンピュータプログラムを記憶することができる。コンピュータプログラムあるいはコンピュータコードの例は、例えば、コンパイラによって生成されるマシーンコードを含み、また、コンピュータ、電子コンポーネントあるいはインタプリタを使用するマイクロプロセッサによって実行される高レベルコードを含むファイルを含んでいる。
上述の議論は、主に、ソフトウェアを実行するマイクロプロセッサあるいはマルチコアプロセッサに向けている一方で、いくつかの実施形態は、1つ以上の集積回路、例えば、特定用途集積回路(ASIC)あるいはフィールドプログマブルゲートアレイ(FPGA)によって実行される。いくつかの実施形態は、このような集積回路は、回路自身に記憶されている命令を実行する。加えて、いくつかの実施形態は、プログマブル論理デバイス(PLD)、ROMデバイス、RAMデバイスに記憶されるソフトウェアを実行する。
本願の明細書及び任意の請求項で使用されるように、用語「コンピュータ」、「サーバ」、「プロセッサ」、及び「メモリ」はすべて、電子デバイスあるいは他の技術的なデバイスを意味する。これらの用語は、人あるいは人のグループは除外している。明細書の目的のために、用語である表示あるいは表示することは、電子デバイス上で表示することを意味する。本願の明細書及び任意の請求項で使用されるように、用語「コンピュータ可読媒体」、「コンピュータ可読メディア」及び「マシーン可読媒体」は、コンピュータによって読出可能である形式で情報を記憶する、有形の物理的なオブジェクトに完全に制限される。これらの用語は、任意の無線信号、有線ダウンロード信号、及び任意の他の一時的な信号は除外する。
本発明はいくつかの特定の詳細を参照して説明しているが、当業者は、本発明が、本発明の範囲から逸脱することなく他の特定の形態で実現することができることを認識するであろう。つまり、当業者は、本発明が上述の図示の詳細に制限されるものではなく、添付の請求項によって定義されるものであることを理解するであろう。

Claims (25)

  1. 複数のノードを備えるホスティングシステムにおける論理ネットワークを構成設定するための方法であって、
    前記論理ネットワークの第1のミドルボックスに対する第1の構成設定と、前記論理ネットワークの第2のミドルボックスに対する第2の構成設定とを受信するステップであって、前記論理ネットワークは、前記複数のノードのサブセット上で管理されている複数の仮想マシーンを備えている、受信するステップと、
    前記複数のノードの前記サブセットを、前記第1のミドルボックスを実現するためのノード群として識別するステップと、
    前記識別されたノード群に実装するための前記第1の構成設定を配信するステップであって、前記識別されたノード群のそれぞれは、前記第1のミドルボックスに対して同一の第1の構成設定を受信する、配信するステップと、
    単一の物理マシーンに実装するための前記第2の構成設定を配信するステップと
    を備えることを特徴とする方法。
  2. 前記単一の物理マシーンは、前記第2のミドルボックスを実現するための仮想マシーンを管理する単一のノードを備える
    ことを特徴とする請求項1に記載の方法。
  3. 前記単一の物理マシーンは、前記複数のノードとは別の物理ミドルボックス電子機器を備える
    ことを特徴とする請求項1に記載の方法。
  4. 当該方法は、第1のネットワークコントローラによって実行される
    ことを特徴とする請求項1に記載の方法。
  5. 前記第1の構成設定を配信するステップは、
    前記識別されたノード群を管理する複数の追加のネットワークコントローラを自動的に識別するステップと
    前記識別されたノード群への次の配信のために、前記識別されたネットワークコントローラ群へ前記第1の構成設定を配信するステップと
    を含んでいる
    ことを特徴とする請求項4に記載の方法。
  6. 前記識別されたノード群は、前記識別されたネットワークコントローラ群の1つによって管理される
    ことを特徴とする請求項5に記載の方法。
  7. 前記第2の構成設定を配信するステップは、
    追加のネットワークコントローラ群のセットから、前記単一の物理マシーンを管理する特定の追加のネットワークコントローラを自動的に識別するステップと、
    前記単一の物理マシーンへの次の配信のために、前記識別された特定の追加ネットワークコントローラへ前記第2の構成設定を配信するステップと
    を含んでいる
    ことを特徴とする請求項4に記載の方法。
  8. 前記論理ネットワークの第1のミドルボックスに対する第1の構成設定と、前記論理ネットワークの第2のミドルボックスに対する第2の構成設定とを受信するステップは、前記第1のミドルボックスに対して専用の第1のアプリケーションプログラミングインタフェース(API)を通じて前記第1の構成設定を受信し、前記第2のミドルボックスに対して専用のアプリケーションプログラミングインタフェース(API)を通じて前記第2の構成設定を受信することを含んでいる
    ことを特徴とする請求項1に記載の方法。
  9. 前記第1の構成設定は、データベーステーブルのレコードのセットとして受信される
    ことを特徴とする請求項1に記載の方法。
  10. 当該方法は、前記レコードの配信前に該レコードを変換しない
    ことを特徴とする請求項9に記載の方法。
  11. エンドマシーン群のセットと、第1の論理ミドルボックスと、第2の論理ミドルボックスとを備える論理ネットワークを実現するためのシステムであって、前記エンドマシーン群と前記第1の論理ミドルボックスと前記第2の論理ミドルボックスとは、論理転送要素群のセットによって接続されている、システムであって、
    ノード群のセットであって、その内のいくつかのノード群のそれぞれは、
    前記論理ネットワークのエンドマシーンを実現するための仮想マシーンと、
    前記論理ネットワークの前記論理転送要素群のセットを実現するための管理スイッチング要素と、
    前記論理ネットワークの前記第1の論理ミドルボックスを実現するためのミドルボックス要素であって、第1のノードの第1のミドルボックス要素と第2のノードの第2のミドルボックス要素は、前記第1の論理ミドルボックスに対して同一の構成設定を実現する、ミドルボックス要素と
    を備えるノード群のセットと、
    前記第2の論理ミドルボックスを実現するための物理ミドルボックス電子機器と
    を備えることを特徴とするシステム。
  12. 当該システムは、更に、エンドマシーン群の第2のセットと、論理転送要素群の第2のセットによって接続される第3の論理ミドルボックスとを備える第2の論理ネットワークを実現する
    ことを特徴とする請求項11に記載のシステム。
  13. 前記ノード群のセットにおける特定のノードは、前記第2の論理ネットワークの第2のエンドマシーンを実現するための第2の仮想マシーンを備える
    ことを特徴とする請求項12に記載のシステム。
  14. 前記特定のノードの前記管理スイッチング要素は、更に、前記第2の論理ネットワークの前記論理転送要素の第2のセットを実現し、前記ミドルボックス要素は、更に、前記論理ネットワークの前記第3の論理ミドルボックスを実現する
    ことを特徴とする請求項13に記載のシステム。
  15. 前記第1の論理ミドルボックスと前記第2の論理ミドルボックスとは、異なるタイプのミドルボックスである
    ことを特徴とする請求項11に記載のシステム。
  16. 前記第1の論理ミドルボックスと前記第2の論理ミドルボックスとは、前記論理ネットワーク内で異なる機能を実行する同一のタイプのミドルボックスである
    ことを特徴とする請求項11に記載のシステム。
  17. 論理ネットワークを実現するためのシステムであって、
    前記論理ネットワークの第1の論理ミドルボックスを実現するための複数のホストマシーンであって、前記第1の論理ミドルボックスは、前記複数のホストマシーンの前記ミドルボックス要素との間で状態情報を通信することなく、前記複数のホストマシーンのそれぞれのミドルボックス要素上で個別に動作する、前記複数のホストマシーンと、
    前記論理ネットワークの第2の論理ミドルボックスを実現するための個別の物理ミドルボックス群のセットであって、前記第2の論理ミドルボックスは、前記論理ネットワークのエンドマシーン群のいくつかの異なるセットとの間でのパケットに関連する状態情報を要求する動作を実行する、前記個別の物理ミドルボックス群のセットと
    を備えることを特徴とするシステム。
  18. 特定のミドルボックス要素それぞれが、前記特定のミドルボックス要素によって処理されるパケットのトランスポート接続に関する状態情報を記憶する
    ことを特徴とする請求項17に記載のシステム。
  19. 特定のトランスポート接続に対する処理は、他のトランスポート接続に関する任意の状態情報を要求しない
    ことを特徴とする請求項18に記載のシステム。
  20. 前記個別の物理ミドルボックス群のセットは、単一の物理ミドルボックスを備える
    ことを特徴とする請求項17に記載のシステム。
  21. 前記個別の物理ミドルボックス群のセットは、リソースプールとして動作するミドルボックス群のクラスタを備える
    ことを特徴とする請求項17に記載のシステム。
  22. 前記クラスタ内の前記物理ミドルボックス群の間の状態情報を供給するための、前記クラスタのミドルボックス群の間に専用ネットワーク接続を更に備える
    ことを特徴とする請求項21に記載のシステム。
  23. 前記第1の論理ミドルボックスは、ファイヤウォール、ロードバランサ、及びソースネットワークアドレストランスレータの内の1つを備える
    ことを特徴とする請求項17に記載のシステム。
  24. 前記第2の論理ミドルボックスは、処理されるパケットそれぞれに対する状態情報を要求する動作を実行する侵入検出システムを備える
    ことを特徴とする請求項17に記載のシステム。
  25. 前記第2の論理ミドルボックスは、ワイドエリアネットワークオプティマイザを備える
    ことを特徴とする請求項17に記載のシステム。
JP2014541431A 2011-11-15 2012-11-15 ミドルボックスを備えるネットワークのアーキテクチャ Active JP5714187B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201161560279P 2011-11-15 2011-11-15
US61/560,279 2011-11-15
PCT/US2012/065339 WO2013074827A1 (en) 2011-11-15 2012-11-15 Architecture of networks with middleboxes

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2015046304A Division JP5961718B2 (ja) 2011-11-15 2015-03-09 ミドルボックスを備えるネットワークのアーキテクチャ

Publications (2)

Publication Number Publication Date
JP2014535252A JP2014535252A (ja) 2014-12-25
JP5714187B2 true JP5714187B2 (ja) 2015-05-07

Family

ID=48280562

Family Applications (5)

Application Number Title Priority Date Filing Date
JP2014541431A Active JP5714187B2 (ja) 2011-11-15 2012-11-15 ミドルボックスを備えるネットワークのアーキテクチャ
JP2014541432A Active JP5898780B2 (ja) 2011-11-15 2012-11-15 ミドルボックスを構成設定するネットワーク制御システム
JP2015046304A Active JP5961718B2 (ja) 2011-11-15 2015-03-09 ミドルボックスを備えるネットワークのアーキテクチャ
JP2016042758A Active JP6125682B2 (ja) 2011-11-15 2016-03-04 ミドルボックスを構成設定するネットワーク制御システム
JP2017075430A Active JP6346690B2 (ja) 2011-11-15 2017-04-05 ミドルボックスを構成設定するネットワーク制御システム

Family Applications After (4)

Application Number Title Priority Date Filing Date
JP2014541432A Active JP5898780B2 (ja) 2011-11-15 2012-11-15 ミドルボックスを構成設定するネットワーク制御システム
JP2015046304A Active JP5961718B2 (ja) 2011-11-15 2015-03-09 ミドルボックスを備えるネットワークのアーキテクチャ
JP2016042758A Active JP6125682B2 (ja) 2011-11-15 2016-03-04 ミドルボックスを構成設定するネットワーク制御システム
JP2017075430A Active JP6346690B2 (ja) 2011-11-15 2017-04-05 ミドルボックスを構成設定するネットワーク制御システム

Country Status (6)

Country Link
US (27) US10089127B2 (ja)
EP (8) EP2748714B1 (ja)
JP (5) JP5714187B2 (ja)
CN (3) CN103917967B (ja)
AU (2) AU2012340383B2 (ja)
WO (7) WO2013074855A1 (ja)

Families Citing this family (454)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8881099B2 (en) * 2004-09-10 2014-11-04 Oracle International Corporation Dynamic generation of wrapper classes to implement call-by-value semantics
US8392684B2 (en) 2005-08-12 2013-03-05 Silver Peak Systems, Inc. Data encryption in a network memory architecture for providing data based on local accessibility
US8171238B1 (en) 2007-07-05 2012-05-01 Silver Peak Systems, Inc. Identification of data stored in memory
US8095774B1 (en) 2007-07-05 2012-01-10 Silver Peak Systems, Inc. Pre-fetching data into a memory
US8489562B1 (en) * 2007-11-30 2013-07-16 Silver Peak Systems, Inc. Deferred data storage
US8929402B1 (en) 2005-09-29 2015-01-06 Silver Peak Systems, Inc. Systems and methods for compressing packet data by predicting subsequent data
US8811431B2 (en) 2008-11-20 2014-08-19 Silver Peak Systems, Inc. Systems and methods for compressing packet data
US8755381B2 (en) 2006-08-02 2014-06-17 Silver Peak Systems, Inc. Data matching using flow based packet data storage
US8885632B2 (en) 2006-08-02 2014-11-11 Silver Peak Systems, Inc. Communications scheduler
US8307115B1 (en) 2007-11-30 2012-11-06 Silver Peak Systems, Inc. Network memory mirroring
US9717021B2 (en) 2008-07-03 2017-07-25 Silver Peak Systems, Inc. Virtual network overlay
US8743683B1 (en) 2008-07-03 2014-06-03 Silver Peak Systems, Inc. Quality of service using multiple flows
US10164861B2 (en) 2015-12-28 2018-12-25 Silver Peak Systems, Inc. Dynamic monitoring and visualization for network health characteristics
US10805840B2 (en) 2008-07-03 2020-10-13 Silver Peak Systems, Inc. Data transmission via a virtual wide area network overlay
CN103563300A (zh) * 2011-05-25 2014-02-05 惠普发展公司,有限责任合伙企业 网络设备中网络设备组件的实现
US9130991B2 (en) 2011-10-14 2015-09-08 Silver Peak Systems, Inc. Processing data packets in performance enhancing proxy (PEP) environment
US9626224B2 (en) 2011-11-03 2017-04-18 Silver Peak Systems, Inc. Optimizing available computing resources within a virtual environment
WO2013074855A1 (en) 2011-11-15 2013-05-23 Nicira, Inc. Control plane interface for logical middlebox services
KR102006179B1 (ko) * 2011-12-15 2019-08-02 삼성전자주식회사 단말간 통신을 위한 접속 식별자 할당 방법 및 장치
EP2814205A4 (en) * 2012-02-10 2015-09-16 Nec Corp COMPUTER SYSTEM AND METHOD FOR VISUALIZING A VIRTUAL NETWORK
EP2814204B1 (en) 2012-02-10 2016-05-25 Nec Corporation Computer system and method for visualizing a virtual network
US9264295B1 (en) 2012-03-02 2016-02-16 Big Switch Networks, Inc. Systems and methods for forwarding broadcast network packets with a controller
EP2829024B1 (en) * 2012-03-19 2020-07-08 Intel Corporation Techniques for packet management in an input/output virtualization system
US9350671B2 (en) * 2012-03-22 2016-05-24 Futurewei Technologies, Inc. Supporting software defined networking with application layer traffic optimization
AU2013249152B2 (en) 2012-04-18 2016-04-28 Nicira, Inc. Using transactions to minimize churn in a distributed network control system
US9237188B1 (en) 2012-05-21 2016-01-12 Amazon Technologies, Inc. Virtual machine based content processing
US8789135B1 (en) * 2012-06-15 2014-07-22 Google Inc. Scalable stateful firewall design in openflow based networks
US10177957B1 (en) * 2012-07-06 2019-01-08 Cradlepoint, Inc. Connecting a cloud network to the internet
US10135677B1 (en) 2012-07-06 2018-11-20 Cradlepoint, Inc. Deployment of network-related features over cloud network
US10110417B1 (en) 2012-07-06 2018-10-23 Cradlepoint, Inc. Private networks overlaid on cloud infrastructure
US10560343B1 (en) 2012-07-06 2020-02-11 Cradlepoint, Inc. People centric management of cloud networks via GUI
US9992062B1 (en) 2012-07-06 2018-06-05 Cradlepoint, Inc. Implicit traffic engineering
US10880162B1 (en) 2012-07-06 2020-12-29 Cradlepoint, Inc. Linking logical broadcast domains
US10601653B2 (en) 2012-07-06 2020-03-24 Cradlepoint, Inc. Implicit traffic engineering
EP2874358A4 (en) * 2012-07-13 2016-03-23 Nec Corp CONTROL DEVICE, COMMUNICATION SYSTEM, COMMUNICATION PROCESS AND PROGRAM
US8972971B2 (en) 2012-08-09 2015-03-03 International Business Machines Corporation Image instance mapping
US10430216B1 (en) * 2012-08-23 2019-10-01 Scale Computing Inc Virtual machine automated selection
US9787570B2 (en) * 2012-10-17 2017-10-10 Verizon Patent And Licensing Inc. Dynamic feature peer network for application flows
US20140115126A1 (en) * 2012-10-19 2014-04-24 Electronics And Telecommunications Research Institute System for controlling and verifying open programmable network and method thereof
US9813295B2 (en) * 2012-11-02 2017-11-07 International Business Machines Corporation Wireless network optimization appliance
WO2014077615A1 (en) * 2012-11-19 2014-05-22 Samsung Sds Co., Ltd. Anti-malware system, method of processing packet in the same, and computing device
US9417922B2 (en) 2012-12-03 2016-08-16 Cutting Edge Consulting Associates, Inc. Systems and methods for protecting an identity in network communications
US8989194B1 (en) * 2012-12-18 2015-03-24 Google Inc. Systems and methods for improving network redundancy and for facile initialization in a centrally-controlled network
US9253117B1 (en) 2012-12-18 2016-02-02 Google Inc. Systems and methods for reducing network hardware of a centrally-controlled network using in-band network connections
WO2014106945A1 (ja) 2013-01-04 2014-07-10 日本電気株式会社 制御装置、通信システム、トンネルエンドポイントの制御方法及びプログラム
US9372726B2 (en) 2013-01-09 2016-06-21 The Research Foundation For The State University Of New York Gang migration of virtual machines using cluster-wide deduplication
US9350558B2 (en) * 2013-01-09 2016-05-24 Dell Products L.P. Systems and methods for providing multicast routing in an overlay network
US9203806B2 (en) * 2013-01-11 2015-12-01 Centripetal Networks, Inc. Rule swapping in a packet network
US9817728B2 (en) 2013-02-01 2017-11-14 Symbolic Io Corporation Fast system state cloning
FR3001849B1 (fr) * 2013-02-05 2016-06-24 Byo Networks Procede pour router des donnees, programme d'ordinateur, controleur de reseau et reseaux associes
US9395960B2 (en) * 2013-02-19 2016-07-19 PLUMgrid, Inc. Method and system for data plane abstraction to enable a dynamic creation of network applications
WO2014131462A1 (en) * 2013-03-01 2014-09-04 Nokia Solutions And Networks Oy Software defined networking for edge nodes
US9258254B2 (en) * 2013-03-15 2016-02-09 Oracle International Corporation Virtual router and switch
EP2976711A4 (en) * 2013-03-21 2016-09-14 Storone Ltd DEPLOYING EXTENSION MODULES RELATING TO A DATA PATH
US10291515B2 (en) * 2013-04-10 2019-05-14 Huawei Technologies Co., Ltd. System and method for a control plane reference model framework
US9436716B2 (en) * 2013-05-07 2016-09-06 PLUMgrid, Inc. Method and system for data plane abstraction to enable a network storage platform ecosystem
US9225638B2 (en) 2013-05-09 2015-12-29 Vmware, Inc. Method and system for service switching using service tags
US10218622B2 (en) * 2013-05-13 2019-02-26 Vmware, Inc. Placing a network device into a maintenance mode in a virtualized computing environment
CN104184842A (zh) * 2013-05-24 2014-12-03 中兴通讯股份有限公司 一种转发报文的方法及装置
US9521028B2 (en) * 2013-06-07 2016-12-13 Alcatel Lucent Method and apparatus for providing software defined network flow distribution
JPWO2014208538A1 (ja) * 2013-06-25 2017-02-23 日本電気株式会社 通信システムと装置と方法とプログラム
AU2014203463B2 (en) * 2013-06-25 2016-04-28 Ditno. Pty Ltd Method and system for managing a host-based firewall
US9197529B2 (en) * 2013-07-12 2015-11-24 Nicira, Inc. Tracing network packets through logical and physical networks
US9282019B2 (en) 2013-07-12 2016-03-08 Nicira, Inc. Tracing logical network packets through physical network
US9979622B2 (en) * 2013-07-30 2018-05-22 Cisco Technology, Inc. Elastic WAN optimization cloud services
US9887960B2 (en) 2013-08-14 2018-02-06 Nicira, Inc. Providing services for logical networks
US9374308B2 (en) 2013-08-30 2016-06-21 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Openflow switch mode transition processing
US9577845B2 (en) 2013-09-04 2017-02-21 Nicira, Inc. Multiple active L3 gateways for logical networks
US9503371B2 (en) * 2013-09-04 2016-11-22 Nicira, Inc. High availability L3 gateways for logical networks
WO2015041651A1 (en) 2013-09-19 2015-03-26 Hewlett-Packard Development Company, L.P. Software defined optical network
US10033693B2 (en) 2013-10-01 2018-07-24 Nicira, Inc. Distributed identity-based firewalls
US9455901B2 (en) 2013-10-04 2016-09-27 Nicira, Inc. Managing software and hardware forwarding elements to define virtual networks
US9910686B2 (en) 2013-10-13 2018-03-06 Nicira, Inc. Bridging between network segments with a logical router
US9998530B2 (en) 2013-10-15 2018-06-12 Nicira, Inc. Distributed global load-balancing system for software-defined data centers
US9298848B2 (en) * 2013-11-01 2016-03-29 International Business Machines Corporation Managing a template in an operator graph
US9876715B2 (en) * 2013-11-05 2018-01-23 Cisco Technology, Inc. Network fabric overlay
US9634938B2 (en) * 2013-11-05 2017-04-25 International Business Machines Corporation Adaptive scheduling of data flows in data center networks for efficient resource utilization
CN103593322B (zh) * 2013-11-11 2017-07-07 曙光信息产业(北京)有限公司 驱动组件的配置方法和装置
JPWO2015079612A1 (ja) * 2013-11-26 2017-03-16 日本電気株式会社 仮想ミドルボックス管理システム、仮想ミドルボックス管理方法および仮想ミドルボックス管理用プログラム
CN104683428B (zh) * 2013-11-26 2019-02-19 华为技术有限公司 网络业务处理方法与装置
EP3068081B1 (en) * 2013-12-10 2018-10-10 Huawei Technologies Co., Ltd. Method and apparatus for generating flow table
US9407504B1 (en) 2014-01-15 2016-08-02 Cisco Technology, Inc. Virtual links for network appliances
EP3007064A4 (en) * 2014-01-16 2016-09-28 Huawei Tech Co Ltd METHOD FOR LOADING A CODE AND NETWORK DEVICE
BR112016017555A2 (pt) * 2014-01-29 2017-08-08 Huawei Tech Co Ltd Aparelho de processamento de dados em rede sem fio, e sistema de rede sem fio
US10282346B1 (en) * 2014-02-05 2019-05-07 Cisco Technology, Inc. Scalable network device self-configuration in large networks
US9276904B2 (en) 2014-02-20 2016-03-01 Nicira, Inc. Specifying point of enforcement in a firewall rule
WO2015131929A1 (en) * 2014-03-04 2015-09-11 Huawei Technologies Co., Ltd. State-dependent data forwarding
US9590901B2 (en) 2014-03-14 2017-03-07 Nicira, Inc. Route advertisement by managed gateways
US9225597B2 (en) * 2014-03-14 2015-12-29 Nicira, Inc. Managed gateways peering with external router to attract ingress packets
US9419855B2 (en) 2014-03-14 2016-08-16 Nicira, Inc. Static routes for logical routers
CN114726786A (zh) * 2014-03-14 2022-07-08 Nicira股份有限公司 受管理网关的路由通告
US9313129B2 (en) * 2014-03-14 2016-04-12 Nicira, Inc. Logical router processing by network controller
US9647883B2 (en) 2014-03-21 2017-05-09 Nicria, Inc. Multiple levels of logical routers
WO2015147780A1 (en) * 2014-03-24 2015-10-01 Hewlett-Packard Development Company, L.P. Client-based port filter table
US9893988B2 (en) 2014-03-27 2018-02-13 Nicira, Inc. Address resolution using multiple designated instances of a logical router
US9338091B2 (en) * 2014-03-27 2016-05-10 Nicira, Inc. Procedures for efficient cloud service access in a system with multiple tenant logical networks
US9825854B2 (en) 2014-03-27 2017-11-21 Nicira, Inc. Host architecture for efficient cloud service access
US9794186B2 (en) 2014-03-27 2017-10-17 Nicira, Inc. Distributed network address translation for efficient cloud service access
US9503427B2 (en) 2014-03-31 2016-11-22 Nicira, Inc. Method and apparatus for integrating a service virtual machine
US9906494B2 (en) 2014-03-31 2018-02-27 Nicira, Inc. Configuring interactions with a firewall service virtual machine
US9215210B2 (en) 2014-03-31 2015-12-15 Nicira, Inc. Migrating firewall connection state for a firewall service virtual machine
WO2015152435A1 (ko) * 2014-03-31 2015-10-08 쿨클라우드㈜ Sdn 기반의 분할 계층적 네트워크 시스템
US9838253B2 (en) * 2014-04-10 2017-12-05 Fujitsu Limited Object-oriented network virtualization
KR102169302B1 (ko) * 2014-04-30 2020-10-23 삼성전자주식회사 통신 서비스를 제공하기 위한 방법, 단말, 그리고 서버
US10277422B2 (en) * 2014-05-06 2019-04-30 International Business Machines Corporation Virtual port support in a logical switch architecture
US9648121B2 (en) * 2014-05-27 2017-05-09 Ravello Systems Ltd. Source-destination network address translation (SDNAT) proxy and method thereof
US10171370B1 (en) * 2014-05-30 2019-01-01 Amazon Technologies, Inc. Distribution operating system
US9729512B2 (en) 2014-06-04 2017-08-08 Nicira, Inc. Use of stateless marking to speed up stateful firewall rule processing
US9825913B2 (en) 2014-06-04 2017-11-21 Nicira, Inc. Use of stateless marking to speed up stateful firewall rule processing
US10171337B2 (en) * 2014-06-17 2019-01-01 Sercel Method for managing a network, and node for implementing said method
US9686140B2 (en) * 2014-07-02 2017-06-20 Verizon Patent And Licensing Inc. Intelligent network interconnect
US9948496B1 (en) 2014-07-30 2018-04-17 Silver Peak Systems, Inc. Determining a transit appliance for data traffic to a software service
TW201605198A (zh) 2014-07-31 2016-02-01 萬國商業機器公司 智慧網路管理裝置以及管理網路的方法
EP3183831B1 (en) * 2014-08-22 2021-05-12 Level 3 Communications, LLC Software defined networking portal
US10079694B2 (en) * 2014-08-29 2018-09-18 Nokia Of America Corporation Scalable virtual networks in SDN-based ethernet networks using VLANs
US9875344B1 (en) 2014-09-05 2018-01-23 Silver Peak Systems, Inc. Dynamic monitoring and authorization of an optimization device
US9923827B2 (en) 2014-09-05 2018-03-20 At&T Intellectual Property I, L.P. Load balancing and migration of transport connections
CN105471726B (zh) * 2014-09-05 2019-08-27 华为技术有限公司 转发参数传递的方法及设备
US10516608B2 (en) 2014-09-11 2019-12-24 Oath Inc. Systems and methods for directly responding to distributed network traffic
US10511458B2 (en) 2014-09-30 2019-12-17 Nicira, Inc. Virtual distributed bridging
US10516568B2 (en) * 2014-09-30 2019-12-24 Nicira, Inc. Controller driven reconfiguration of a multi-layered application or service model
US9774537B2 (en) 2014-09-30 2017-09-26 Nicira, Inc. Dynamically adjusting load balancing
US9768980B2 (en) 2014-09-30 2017-09-19 Nicira, Inc. Virtual distributed bridging
US9531590B2 (en) 2014-09-30 2016-12-27 Nicira, Inc. Load balancing across a group of load balancers
US9798810B2 (en) 2014-09-30 2017-10-24 At&T Intellectual Property I, L.P. Methods and apparatus to track changes to a network topology
US10020960B2 (en) 2014-09-30 2018-07-10 Nicira, Inc. Virtual distributed bridging
US10250443B2 (en) 2014-09-30 2019-04-02 Nicira, Inc. Using physical location to modify behavior of a distributed virtual network element
US9311811B1 (en) 2014-10-08 2016-04-12 Google Inc. Alarm profile for a fabric network
US10469342B2 (en) 2014-10-10 2019-11-05 Nicira, Inc. Logical network traffic analysis
US9971620B2 (en) 2014-10-15 2018-05-15 Keysight Technologies Singapore (Holdings) Pte Ltd Methods and systems for network packet impairment within virtual machine host systems
US9971619B2 (en) * 2014-10-15 2018-05-15 Keysight Technologies Singapore (Holdings) Pte Ltd Methods and systems for forwarding network packets within virtual machine host systems
US9985882B2 (en) * 2014-10-29 2018-05-29 Metaswitch Networks Ltd Packet data routing
JP2016092485A (ja) * 2014-10-30 2016-05-23 富士通株式会社 情報処理システム、管理装置及び情報処理システムの制御方法
US20160142285A1 (en) * 2014-11-13 2016-05-19 Industrial Technology Research Institute Openflow switch and method for packet exchanging thereof, sdn controller and data flow control method thereof
US11533255B2 (en) 2014-11-14 2022-12-20 Nicira, Inc. Stateful services on stateless clustered edge
EP3219058B1 (en) * 2014-11-14 2020-11-18 Nicira Inc. Stateful services on stateless clustered edge
US9954775B2 (en) * 2014-11-25 2018-04-24 Electronics And Telecommunications Research Institute Software-defined network (SDN) system using host abstraction, and method for implementing the same
US9692727B2 (en) * 2014-12-02 2017-06-27 Nicira, Inc. Context-aware distributed firewall
CN113190495A (zh) 2014-12-08 2021-07-30 安博科技有限公司 从远程网络区域进行内容检索的系统及方法
US9733846B1 (en) * 2014-12-18 2017-08-15 EMC IP Holding Company LLC Integrated backup performance enhancements by creating affinity groups
CN104580168B (zh) * 2014-12-22 2019-02-26 华为技术有限公司 一种攻击数据包的处理方法、装置及系统
US10681145B1 (en) * 2014-12-22 2020-06-09 Chelsio Communications, Inc. Replication in a protocol offload network interface controller
US10439908B2 (en) * 2014-12-23 2019-10-08 Talari Networks Incorporated Methods and apparatus for providing adaptive private network centralized management system time correlated playback of network traffic
US9891940B2 (en) 2014-12-29 2018-02-13 Nicira, Inc. Introspection method and apparatus for network access filtering
WO2016110785A1 (en) 2015-01-06 2016-07-14 Umbra Technologies Ltd. System and method for neutral application programming interface
EP3251301A4 (en) * 2015-01-28 2018-10-10 Umbra Technologies Ltd. System and method for a global virtual network
US10079779B2 (en) 2015-01-30 2018-09-18 Nicira, Inc. Implementing logical router uplinks
US20160234234A1 (en) * 2015-02-05 2016-08-11 Cisco Technology, Inc. Orchestrating the Use of Network Resources in Software Defined Networking Applications
US10609091B2 (en) 2015-04-03 2020-03-31 Nicira, Inc. Method, apparatus, and system for implementing a content switch
US10038628B2 (en) 2015-04-04 2018-07-31 Nicira, Inc. Route server mode for dynamic routing between logical and physical networks
US9967134B2 (en) 2015-04-06 2018-05-08 Nicira, Inc. Reduction of network churn based on differences in input state
US10142287B2 (en) * 2015-04-06 2018-11-27 Nicira, Inc. Distributed network security controller cluster for performing security operations
EP4325804A2 (en) 2015-04-07 2024-02-21 Umbra Technologies Ltd. Multi-perimeter firewall in the cloud
US10061514B2 (en) 2015-04-15 2018-08-28 Formulus Black Corporation Method and apparatus for dense hyper IO digital retention
US9942058B2 (en) 2015-04-17 2018-04-10 Nicira, Inc. Managing tunnel endpoints for facilitating creation of logical networks
US10374904B2 (en) 2015-05-15 2019-08-06 Cisco Technology, Inc. Diagnostic network visualization
US9558029B2 (en) 2015-05-17 2017-01-31 Nicira, Inc. Logical processing for containers
US10021066B2 (en) * 2015-05-18 2018-07-10 Morgan Stanley Clustered server sharing
US9916174B2 (en) * 2015-05-27 2018-03-13 International Business Machines Corporation Updating networks having virtual machines with migration information
US9378043B1 (en) * 2015-05-28 2016-06-28 Altera Corporation Multilayer quality of service (QOS) for network functions virtualization platforms
US9967158B2 (en) 2015-06-05 2018-05-08 Cisco Technology, Inc. Interactive hierarchical network chord diagram for application dependency mapping
US10536357B2 (en) 2015-06-05 2020-01-14 Cisco Technology, Inc. Late data detection in data center
US10142353B2 (en) 2015-06-05 2018-11-27 Cisco Technology, Inc. System for monitoring and managing datacenters
EP3308504A4 (en) 2015-06-11 2019-01-02 Umbra Technologies Ltd. System and method for network tapestry multiprotocol integration
US10554484B2 (en) 2015-06-26 2020-02-04 Nicira, Inc. Control plane integration with hardware switches
US10243848B2 (en) 2015-06-27 2019-03-26 Nicira, Inc. Provisioning logical entities in a multi-datacenter environment
US9680706B2 (en) * 2015-06-30 2017-06-13 Nicira, Inc. Federated firewall management for moving workload across data centers
US10348625B2 (en) 2015-06-30 2019-07-09 Nicira, Inc. Sharing common L2 segment in a virtual distributed router environment
US10185599B2 (en) * 2015-07-07 2019-01-22 Openvpn Technologies, Inc. Kernel mode accelerator
US9985837B2 (en) * 2015-07-23 2018-05-29 Cisco Technology, Inc. Refresh of the binding tables between data-link-layer and network-layer addresses on mobility in a data center environment
US9819581B2 (en) 2015-07-31 2017-11-14 Nicira, Inc. Configuring a hardware switch as an edge node for a logical router
US9967182B2 (en) 2015-07-31 2018-05-08 Nicira, Inc. Enabling hardware switches to perform logical routing functionalities
US10154009B2 (en) 2015-08-11 2018-12-11 At&T Intellectual Property I, L.P. Providing a basic firewall using a virtual networking function
US10129142B2 (en) 2015-08-11 2018-11-13 Nicira, Inc. Route configuration for logical router
US10581976B2 (en) * 2015-08-12 2020-03-03 A10 Networks, Inc. Transmission control of protocol state exchange for dynamic stateful service insertion
US9906560B2 (en) * 2015-08-28 2018-02-27 Nicira, Inc. Distributing remote device management attributes to service nodes for service rule processing
US10313186B2 (en) 2015-08-31 2019-06-04 Nicira, Inc. Scalable controller for hardware VTEPS
US10075363B2 (en) 2015-08-31 2018-09-11 Nicira, Inc. Authorization for advertised routes among logical routers
US9917902B2 (en) * 2015-09-09 2018-03-13 Honeywell International Inc. System and method for scalable and efficient deployment of wireless infrastructure nodes for multiple collocated wireless field device networks
US10985990B2 (en) * 2015-09-15 2021-04-20 Huawei Technologies Co., Ltd. Software defined topology (SDT) for user plane
US9998324B2 (en) 2015-09-30 2018-06-12 Nicira, Inc. Logical L3 processing for L2 hardware switches
US10204122B2 (en) 2015-09-30 2019-02-12 Nicira, Inc. Implementing an interface between tuple and message-driven control entities
US10230576B2 (en) 2015-09-30 2019-03-12 Nicira, Inc. Managing administrative statuses of hardware VTEPs
US10263828B2 (en) 2015-09-30 2019-04-16 Nicira, Inc. Preventing concurrent distribution of network data to a hardware switch by multiple controllers
US9948577B2 (en) 2015-09-30 2018-04-17 Nicira, Inc. IP aliases in logical networks with hardware switches
EP3369211B1 (en) * 2015-10-26 2020-11-25 Nokia Solutions and Networks Oy Method and apparatus for virtualized network function decomposition
US10095535B2 (en) 2015-10-31 2018-10-09 Nicira, Inc. Static route types for logical routers
US10078526B2 (en) 2015-11-01 2018-09-18 Nicira, Inc. Securing a managed forwarding element that operates within a data compute node
US10250553B2 (en) 2015-11-03 2019-04-02 Nicira, Inc. ARP offloading for managed hardware forwarding elements
US10324746B2 (en) 2015-11-03 2019-06-18 Nicira, Inc. Extended context delivery for context-based authorization
US10986039B2 (en) * 2015-11-11 2021-04-20 Gigamon Inc. Traffic broker for routing data packets through sequences of in-line tools
US10462101B2 (en) * 2015-11-13 2019-10-29 Nanning Fugui Precision Industrial Co., Ltd. Network communication method based on software-defined networking and server using the method
US9961014B2 (en) * 2015-11-13 2018-05-01 Nanning Fugui Precision Industrial Co., Ltd. Network communication method based on software-defined networking and server using the method
ES2931177T3 (es) 2015-12-11 2022-12-27 Umbra Tech Ltd Sistema y método para lanzamiento de información a través de un tapiz de red y granularidad de una marca
US10225149B2 (en) 2015-12-15 2019-03-05 Nicira, Inc. Method and tool for diagnosing logical networks
US9992112B2 (en) * 2015-12-15 2018-06-05 Nicira, Inc. Transactional controls for supplying control plane data to managed hardware forwarding elements
US9998375B2 (en) * 2015-12-15 2018-06-12 Nicira, Inc. Transactional controls for supplying control plane data to managed hardware forwarding elements
US9917799B2 (en) 2015-12-15 2018-03-13 Nicira, Inc. Transactional controls for supplying control plane data to managed hardware forwarding elements
US10063469B2 (en) 2015-12-16 2018-08-28 Nicira, Inc. Forwarding element implementation for containers
US10355969B2 (en) 2015-12-25 2019-07-16 KN Install Solutions (N.IRE) Limited Data driven orchestrated network using a light weight distributed sdn controller
US10075567B1 (en) 2016-02-08 2018-09-11 Barefoot Networks, Inc. Packet generation in the data plane of a forwarding element
US10873566B2 (en) * 2016-02-23 2020-12-22 Nicira, Inc. Distributed firewall in a virtualized computing environment
US11038845B2 (en) 2016-02-23 2021-06-15 Nicira, Inc. Firewall in a virtualized computing environment using physical network interface controller (PNIC) level firewall rules
US10243797B2 (en) * 2016-03-14 2019-03-26 Nicira, Inc. Identifying the realization status of logical entities based on a global realization number
AU2017233504B2 (en) * 2016-03-14 2021-01-14 Nicira, Inc. Identifying the realization status of logical entities based on a global realization number
US10313271B2 (en) 2016-03-16 2019-06-04 At&T Intellectual Property I, L.P. Providing and using a distributed forwarding service
EP3223456B1 (en) * 2016-03-24 2018-12-19 Alcatel Lucent Method for migration of virtual network function
JP6992959B2 (ja) 2016-03-30 2022-01-13 日本電気株式会社 通信処理システム、通信処理装置、通信処理方法および通信処理プログラム
CN105791315B (zh) * 2016-04-25 2019-05-14 网宿科技股份有限公司 一种udp协议加速方法和系统
WO2017187263A1 (en) 2016-04-26 2017-11-02 Umbra Technologies Ltd. Sling-routing logic and load balancing
US10333849B2 (en) 2016-04-28 2019-06-25 Nicira, Inc. Automatic configuration of logical routers on edge nodes
CN105978952B (zh) * 2016-04-28 2019-04-30 中国科学院计算技术研究所 一种基于网络功能虚拟化场景的流迁移方法及系统
US10348685B2 (en) 2016-04-29 2019-07-09 Nicira, Inc. Priority allocation for distributed service rules
US10484515B2 (en) * 2016-04-29 2019-11-19 Nicira, Inc. Implementing logical metadata proxy servers in logical networks
US11019167B2 (en) 2016-04-29 2021-05-25 Nicira, Inc. Management of update queues for network controller
US10841273B2 (en) 2016-04-29 2020-11-17 Nicira, Inc. Implementing logical DHCP servers in logical networks
US10135727B2 (en) 2016-04-29 2018-11-20 Nicira, Inc. Address grouping for distributed service rules
US10547588B2 (en) 2016-04-30 2020-01-28 Nicira, Inc. Method of translating a logical switch into a set of network addresses
US10091161B2 (en) 2016-04-30 2018-10-02 Nicira, Inc. Assignment of router ID for logical routers
US10944722B2 (en) 2016-05-01 2021-03-09 Nicira, Inc. Using activities to manage multi-tenant firewall configuration
US11171920B2 (en) 2016-05-01 2021-11-09 Nicira, Inc. Publication of firewall configuration
US10205651B2 (en) * 2016-05-13 2019-02-12 128 Technology, Inc. Apparatus and method of selecting next hops for a session
US10243845B2 (en) 2016-06-02 2019-03-26 International Business Machines Corporation Middlebox tracing in software defined networks
JP6773458B2 (ja) 2016-06-08 2020-10-21 日本電気通信システム株式会社 パケット処理装置、パケット処理方法、およびプログラム
US11210121B2 (en) * 2016-06-09 2021-12-28 Nicira, Inc. Management of advanced connection state during migration
US10432484B2 (en) 2016-06-13 2019-10-01 Silver Peak Systems, Inc. Aggregating select network traffic statistics
US10149193B2 (en) 2016-06-15 2018-12-04 At&T Intellectual Property I, L.P. Method and apparatus for dynamically managing network resources
US10289438B2 (en) 2016-06-16 2019-05-14 Cisco Technology, Inc. Techniques for coordination of application components deployed on distributed virtual machines
US11088990B2 (en) 2016-06-29 2021-08-10 Nicira, Inc. Translation cache for firewall configuration
US10182035B2 (en) 2016-06-29 2019-01-15 Nicira, Inc. Implementing logical network security on a hardware switch
US11258761B2 (en) 2016-06-29 2022-02-22 Nicira, Inc. Self-service firewall configuration
US10560320B2 (en) 2016-06-29 2020-02-11 Nicira, Inc. Ranking of gateways in cluster
US10153973B2 (en) 2016-06-29 2018-12-11 Nicira, Inc. Installation of routing tables for logical router in route server mode
US10708183B2 (en) 2016-07-21 2020-07-07 Cisco Technology, Inc. System and method of providing segment routing as a service
US9967056B1 (en) 2016-08-19 2018-05-08 Silver Peak Systems, Inc. Forward packet recovery with constrained overhead
US10397136B2 (en) 2016-08-27 2019-08-27 Nicira, Inc. Managed forwarding element executing in separate namespace of public cloud data compute node than workload application
JP6744985B2 (ja) * 2016-08-27 2020-08-19 ニシラ, インコーポレイテッド ネットワーク制御システムのパブリッククラウドへの拡張
US10341371B2 (en) 2016-08-31 2019-07-02 Nicira, Inc. Identifying and handling threats to data compute nodes in public cloud
US9762619B1 (en) 2016-08-30 2017-09-12 Nicira, Inc. Multi-layer policy definition and enforcement framework for network virtualization
US10938837B2 (en) 2016-08-30 2021-03-02 Nicira, Inc. Isolated network stack to manage security for virtual machines
US10454758B2 (en) 2016-08-31 2019-10-22 Nicira, Inc. Edge node cluster network redundancy and fast convergence using an underlay anycast VTEP IP
US10341236B2 (en) 2016-09-30 2019-07-02 Nicira, Inc. Anycast edge service gateways
US11895177B2 (en) * 2016-09-30 2024-02-06 Wisconsin Alumni Research Foundation State extractor for middlebox management system
US10419394B2 (en) * 2016-10-24 2019-09-17 Nubeva, Inc. Providing scalable cloud-based security services
US10367623B2 (en) * 2016-10-31 2019-07-30 Cisco Technology, Inc. Data traffic management in virtual access point (VAP) enabled networks
US10454836B2 (en) 2016-11-01 2019-10-22 At&T Intellectual Property I, L.P. Method and apparatus for dynamically adapting a software defined network
US10284730B2 (en) 2016-11-01 2019-05-07 At&T Intellectual Property I, L.P. Method and apparatus for adaptive charging and performance in a software defined network
US10505870B2 (en) 2016-11-07 2019-12-10 At&T Intellectual Property I, L.P. Method and apparatus for a responsive software defined network
US10469376B2 (en) 2016-11-15 2019-11-05 At&T Intellectual Property I, L.P. Method and apparatus for dynamic network routing in a software defined network
US10972388B2 (en) 2016-11-22 2021-04-06 Cisco Technology, Inc. Federated microburst detection
US10193862B2 (en) 2016-11-29 2019-01-29 Vmware, Inc. Security policy analysis based on detecting new network port connections
US10039006B2 (en) 2016-12-05 2018-07-31 At&T Intellectual Property I, L.P. Method and system providing local data breakout within mobility networks
US10609160B2 (en) 2016-12-06 2020-03-31 Nicira, Inc. Performing context-rich attribute-based services on a host
US10237123B2 (en) 2016-12-21 2019-03-19 Nicira, Inc. Dynamic recovery from a split-brain failure in edge nodes
US10742746B2 (en) 2016-12-21 2020-08-11 Nicira, Inc. Bypassing a load balancer in a return path of network traffic
US10581960B2 (en) 2016-12-22 2020-03-03 Nicira, Inc. Performing context-rich attribute-based load balancing on a host
US10803173B2 (en) 2016-12-22 2020-10-13 Nicira, Inc. Performing context-rich attribute-based process control services on a host
US11032246B2 (en) 2016-12-22 2021-06-08 Nicira, Inc. Context based firewall services for data message flows for multiple concurrent users on one machine
US10812451B2 (en) 2016-12-22 2020-10-20 Nicira, Inc. Performing appID based firewall services on a host
US10805332B2 (en) 2017-07-25 2020-10-13 Nicira, Inc. Context engine model
US10616045B2 (en) 2016-12-22 2020-04-07 Nicira, Inc. Migration of centralized routing components of logical router
US10802858B2 (en) 2016-12-22 2020-10-13 Nicira, Inc. Collecting and processing contextual attributes on a host
CN108270823B (zh) * 2016-12-30 2022-02-22 华为技术有限公司 一种服务提供方法、装置和系统
US11537419B2 (en) * 2016-12-30 2022-12-27 Intel Corporation Virtual machine migration while maintaining live network links
CN110741610B (zh) * 2017-01-09 2021-11-12 马维尔亚洲私人有限公司 具有本地交换的端口扩展器
US11405335B2 (en) * 2017-01-13 2022-08-02 Nicira, Inc. Managing network traffic in virtual switches based on logical port identifiers
US10771394B2 (en) 2017-02-06 2020-09-08 Silver Peak Systems, Inc. Multi-level learning for classifying traffic flows on a first packet from DNS data
US10892978B2 (en) 2017-02-06 2021-01-12 Silver Peak Systems, Inc. Multi-level learning for classifying traffic flows from first packet data
US11044202B2 (en) 2017-02-06 2021-06-22 Silver Peak Systems, Inc. Multi-level learning for predicting and classifying traffic flows from first packet data
US10257082B2 (en) 2017-02-06 2019-04-09 Silver Peak Systems, Inc. Multi-level learning for classifying traffic flows
US10264075B2 (en) * 2017-02-27 2019-04-16 At&T Intellectual Property I, L.P. Methods, systems, and devices for multiplexing service information from sensor data
US10469286B2 (en) 2017-03-06 2019-11-05 At&T Intellectual Property I, L.P. Methods, systems, and devices for managing client devices using a virtual anchor manager
US10200306B2 (en) 2017-03-07 2019-02-05 Nicira, Inc. Visualization of packet tracing operation results
US10708152B2 (en) 2017-03-23 2020-07-07 Cisco Technology, Inc. Predicting application and network performance
US10523512B2 (en) 2017-03-24 2019-12-31 Cisco Technology, Inc. Network agent for generating platform specific network policies
US10250446B2 (en) 2017-03-27 2019-04-02 Cisco Technology, Inc. Distributed policy store
US10764141B2 (en) 2017-03-27 2020-09-01 Cisco Technology, Inc. Network agent for reporting to a network policy system
US10594560B2 (en) 2017-03-27 2020-03-17 Cisco Technology, Inc. Intent driven network policy platform
US10873794B2 (en) 2017-03-28 2020-12-22 Cisco Technology, Inc. Flowlet resolution for application performance monitoring and management
US11463404B2 (en) * 2017-04-12 2022-10-04 Avaya Inc. Quarantined communications processing at a network edge
US20180302490A1 (en) * 2017-04-13 2018-10-18 Cisco Technology, Inc. Dynamic content delivery network (cdn) cache selection without request routing engineering
US10819606B2 (en) 2017-04-27 2020-10-27 At&T Intellectual Property I, L.P. Method and apparatus for selecting processing paths in a converged network
US10673751B2 (en) 2017-04-27 2020-06-02 At&T Intellectual Property I, L.P. Method and apparatus for enhancing services in a software defined network
US10212289B2 (en) 2017-04-27 2019-02-19 At&T Intellectual Property I, L.P. Method and apparatus for managing resources in a software defined network
US10749796B2 (en) 2017-04-27 2020-08-18 At&T Intellectual Property I, L.P. Method and apparatus for selecting processing paths in a software defined network
US10084825B1 (en) * 2017-05-08 2018-09-25 Fortinet, Inc. Reducing redundant operations performed by members of a cooperative security fabric
US10257668B2 (en) 2017-05-09 2019-04-09 At&T Intellectual Property I, L.P. Dynamic network slice-switching and handover system and method
US10382903B2 (en) 2017-05-09 2019-08-13 At&T Intellectual Property I, L.P. Multi-slicing orchestration system and method for service and/or content delivery
EP3632064B1 (en) * 2017-05-24 2023-01-11 Telefonaktiebolaget LM Ericsson (publ) Routing table selection in a policy based routing system
US20190020559A1 (en) * 2017-07-17 2019-01-17 Nicira, Inc. Distributed health check in virtualized computing environments
US10680887B2 (en) 2017-07-21 2020-06-09 Cisco Technology, Inc. Remote device status audit and recovery
US10070344B1 (en) 2017-07-25 2018-09-04 At&T Intellectual Property I, L.P. Method and system for managing utilization of slices in a virtual network function environment
US11570092B2 (en) 2017-07-31 2023-01-31 Nicira, Inc. Methods for active-active stateful network service cluster
US11296984B2 (en) 2017-07-31 2022-04-05 Nicira, Inc. Use of hypervisor for active-active stateful network service cluster
CN107491340B (zh) * 2017-07-31 2020-07-14 上海交通大学 跨物理机的巨型虚拟机实现方法
US10567482B2 (en) 2017-08-24 2020-02-18 Nicira, Inc. Accessing endpoints in logical networks and public cloud service providers native networks using a single network interface and a single routing table
US10491516B2 (en) 2017-08-24 2019-11-26 Nicira, Inc. Packet communication between logical networks and public cloud service providers native networks using a single network interface and a single routing table
US10778579B2 (en) 2017-08-27 2020-09-15 Nicira, Inc. Performing in-line service in public cloud
US10652281B1 (en) * 2017-08-31 2020-05-12 Vmware, Inc. Network policy implementation in a tag-based policy architecture
US10516650B2 (en) 2017-09-13 2019-12-24 Netabstraction, Inc. Dynamic, user-configurable virtual private network
US11212210B2 (en) 2017-09-21 2021-12-28 Silver Peak Systems, Inc. Selective route exporting using source type
US10437647B2 (en) * 2017-09-26 2019-10-08 Verizon Patent And Licensing Inc. Cluster configuration with zero touch provisioning
US10116671B1 (en) * 2017-09-28 2018-10-30 International Business Machines Corporation Distributed denial-of-service attack detection based on shared network flow information
US10506560B2 (en) * 2017-10-04 2019-12-10 Huawei Technologies Co., Ltd. Method and apparatus for control layer communication between network nodes having multiple interfaces
WO2019069120A1 (en) * 2017-10-06 2019-04-11 Telefonaktiebolaget Lm Ericsson (Publ) REMOTE CONTROL OF NETWORK TRANCHES IN A NETWORK
US10608887B2 (en) 2017-10-06 2020-03-31 Nicira, Inc. Using packet tracing tool to automatically execute packet capture operations
US10554501B2 (en) 2017-10-23 2020-02-04 Cisco Technology, Inc. Network migration assistant
CN107949019B (zh) * 2017-10-24 2021-09-21 上海连尚网络科技有限公司 一种无线接入点的负载均衡方法
US10523541B2 (en) 2017-10-25 2019-12-31 Cisco Technology, Inc. Federated network and application data analytics platform
US10594542B2 (en) 2017-10-27 2020-03-17 Cisco Technology, Inc. System and method for network root cause analysis
US10805181B2 (en) 2017-10-29 2020-10-13 Nicira, Inc. Service operation chaining
US10374827B2 (en) 2017-11-14 2019-08-06 Nicira, Inc. Identifier that maps to different networks at different datacenters
US10511459B2 (en) 2017-11-14 2019-12-17 Nicira, Inc. Selection of managed forwarding element for bridge spanning multiple datacenters
US10778651B2 (en) 2017-11-15 2020-09-15 Nicira, Inc. Performing context-rich attribute-based encryption on a host
US11012420B2 (en) 2017-11-15 2021-05-18 Nicira, Inc. Third-party service chaining using packet encapsulation in a flow-based forwarding element
US10805420B2 (en) * 2017-11-29 2020-10-13 Forcepoint Llc Proxy-less wide area network acceleration
US10887131B1 (en) * 2017-11-29 2021-01-05 Riverbed Technology, Inc. High availability (HA) network device
US10841192B1 (en) * 2017-11-29 2020-11-17 Riverbed Technology, Inc. Estimating data transfer performance improvement that is expected to be achieved by a network optimization device
US10601705B2 (en) * 2017-12-04 2020-03-24 Nicira, Inc. Failover of centralized routers in public cloud logical networks
US10862753B2 (en) 2017-12-04 2020-12-08 Nicira, Inc. High availability for stateful services in public cloud logical networks
US10572186B2 (en) 2017-12-18 2020-02-25 Formulus Black Corporation Random access memory (RAM)-based computer systems, devices, and methods
US10104548B1 (en) 2017-12-18 2018-10-16 At&T Intellectual Property I, L.P. Method and apparatus for dynamic instantiation of virtual service slices for autonomous machines
US10616321B2 (en) 2017-12-22 2020-04-07 At&T Intellectual Property I, L.P. Distributed stateful load balancer
US10523748B2 (en) * 2017-12-22 2019-12-31 A10 Networks, Inc. Managing health status of network devices in a distributed global server load balancing system
US10791019B2 (en) * 2017-12-28 2020-09-29 Intel Corporation Edge or fog gateway assisted out-of-band remote management for managed client devices
US11233821B2 (en) 2018-01-04 2022-01-25 Cisco Technology, Inc. Network intrusion counter-intelligence
US10798015B2 (en) * 2018-01-25 2020-10-06 Cisco Technology, Inc. Discovery of middleboxes using traffic flow stitching
US10826803B2 (en) 2018-01-25 2020-11-03 Cisco Technology, Inc. Mechanism for facilitating efficient policy updates
US10574575B2 (en) 2018-01-25 2020-02-25 Cisco Technology, Inc. Network flow stitching using middle box flow stitching
US10999149B2 (en) 2018-01-25 2021-05-04 Cisco Technology, Inc. Automatic configuration discovery based on traffic flow data
US10802893B2 (en) 2018-01-26 2020-10-13 Nicira, Inc. Performing process control services on endpoint machines
US10797910B2 (en) 2018-01-26 2020-10-06 Nicira, Inc. Specifying and utilizing paths through a network
US11128700B2 (en) 2018-01-26 2021-09-21 Cisco Technology, Inc. Load balancing configuration based on traffic flow telemetry
US10862773B2 (en) 2018-01-26 2020-12-08 Nicira, Inc. Performing services on data messages associated with endpoint machines
US10659252B2 (en) 2018-01-26 2020-05-19 Nicira, Inc Specifying and utilizing paths through a network
US10044691B1 (en) 2018-02-12 2018-08-07 Symantec Corporation Decrypting network traffic on a middlebox device using a trusted execution environment
US11153122B2 (en) 2018-02-19 2021-10-19 Nicira, Inc. Providing stateful services deployed in redundant gateways connected to asymmetric network
US10637721B2 (en) 2018-03-12 2020-04-28 Silver Peak Systems, Inc. Detecting path break conditions while minimizing network overhead
TWI668973B (zh) * 2018-03-23 2019-08-11 中華電信股份有限公司 基於軟件定義網路的可排程安全防護系統及其方法
US10805192B2 (en) 2018-03-27 2020-10-13 Nicira, Inc. Detecting failure of layer 2 service using broadcast messages
US10728174B2 (en) 2018-03-27 2020-07-28 Nicira, Inc. Incorporating layer 2 service between two interfaces of gateway device
US11349587B2 (en) * 2018-03-30 2022-05-31 Intel Corporation Generating a timestamp
US11063903B2 (en) * 2018-04-11 2021-07-13 Vmware, Inc. Port and loopback IP addresses allocation scheme for full-mesh communications with transparent TLS tunnels
US10749751B2 (en) * 2018-05-02 2020-08-18 Nicira, Inc. Application of profile setting groups to logical network entities
US10742503B2 (en) * 2018-05-02 2020-08-11 Nicira, Inc. Application of setting profiles to groups of logical network entities
JP6981367B2 (ja) * 2018-06-04 2021-12-15 日本電信電話株式会社 ネットワークシステムおよびネットワーク帯域制御管理方法
US10942788B2 (en) 2018-06-15 2021-03-09 Vmware, Inc. Policy constraint framework for an sddc
US10812337B2 (en) 2018-06-15 2020-10-20 Vmware, Inc. Hierarchical API for a SDDC
US11343229B2 (en) 2018-06-28 2022-05-24 Vmware, Inc. Managed forwarding element detecting invalid packet addresses
US10826770B2 (en) * 2018-07-26 2020-11-03 Cisco Technology, Inc. Synthesis of models for networks using automated boolean learning
US11196591B2 (en) 2018-08-24 2021-12-07 Vmware, Inc. Centralized overlay gateway in public cloud
US11374794B2 (en) 2018-08-24 2022-06-28 Vmware, Inc. Transitive routing in public cloud
JP2021535681A (ja) * 2018-08-27 2021-12-16 ドライブネッツ リミテッド ネットワーククラウドソフトウェアを使用するためのシステム及び方法
US10708082B1 (en) * 2018-08-31 2020-07-07 Juniper Networks, Inc. Unified control plane for nested clusters in a virtualized computing infrastructure
US11595250B2 (en) 2018-09-02 2023-02-28 Vmware, Inc. Service insertion at logical network gateway
US10944673B2 (en) 2018-09-02 2021-03-09 Vmware, Inc. Redirection of data messages at logical network gateway
KR102160187B1 (ko) 2018-11-20 2020-09-25 광주과학기술원 에스디엔의 방화벽 전개 장치, 에스디엔의 방화벽 전개 방법, 및 이 장치 또는 방법이 적용되는 네트워크
US10931560B2 (en) 2018-11-23 2021-02-23 Vmware, Inc. Using route type to determine routing protocol behavior
GB2579233A (en) * 2018-11-27 2020-06-17 Edwards Ltd A method relating to controllers of a vacuum pumping and/or abatement system
US10735541B2 (en) * 2018-11-30 2020-08-04 Vmware, Inc. Distributed inline proxy
US10797998B2 (en) 2018-12-05 2020-10-06 Vmware, Inc. Route server for distributed routers using hierarchical routing protocol
US10938788B2 (en) 2018-12-12 2021-03-02 Vmware, Inc. Static routes for policy-based VPN
US11070475B2 (en) * 2018-12-13 2021-07-20 Google Llc Transparent migration of virtual network functions
CN109726592B (zh) * 2018-12-31 2021-02-23 联动优势科技有限公司 一种数据沙盒的处理方法及装置
CN109726593B (zh) * 2018-12-31 2021-02-23 联动优势科技有限公司 一种数据沙盒的实现方法及装置
WO2020142431A1 (en) 2019-01-02 2020-07-09 Formulus Black Corporation Systems and methods for memory failure prevention, management, and mitigation
US10979314B2 (en) 2019-01-24 2021-04-13 Vmware, Inc. Dynamic inter-cloud placement of virtual network functions for a slice
US10944647B2 (en) 2019-01-24 2021-03-09 Vmware, Inc. Dynamic inter-cloud placement of virtual network functions for a slice
US11483762B2 (en) 2019-02-22 2022-10-25 Vmware, Inc. Virtual service networks
US11042397B2 (en) 2019-02-22 2021-06-22 Vmware, Inc. Providing services with guest VM mobility
US11146964B2 (en) 2019-02-22 2021-10-12 Vmware, Inc. Hierarchical network slice selection
US11024144B2 (en) * 2019-02-22 2021-06-01 Vmware, Inc. Redirecting traffic from mobile device to initial slice selector for connection
US11246087B2 (en) 2019-02-22 2022-02-08 Vmware, Inc. Stateful network slice selection using slice selector as connection termination proxy
CN111641515B (zh) * 2019-03-01 2021-11-19 华为技术有限公司 Vnf的生命周期管理方法及装置
US11310202B2 (en) 2019-03-13 2022-04-19 Vmware, Inc. Sharing of firewall rules among multiple workloads in a hypervisor
US10880159B1 (en) * 2019-03-18 2020-12-29 Amazon Technologies, Inc. Centralized access of configuration data for computing resources
US10897423B2 (en) 2019-05-14 2021-01-19 Vmware, Inc. Congestion avoidance in a slice-based network
US11012288B2 (en) 2019-05-14 2021-05-18 Vmware, Inc. Congestion avoidance in a slice-based network
US10892994B2 (en) 2019-05-14 2021-01-12 Vmware, Inc. Quality of service in virtual service networks
US10958579B2 (en) 2019-05-14 2021-03-23 Vmware, Inc. Congestion avoidance in a slice-based network
US11588733B2 (en) 2019-05-14 2023-02-21 Vmware, Inc. Slice-based routing
CN110134495B (zh) * 2019-05-21 2022-08-12 山东大学 一种容器跨主机在线迁移方法、存储介质及终端设备
US10652081B1 (en) * 2019-06-24 2020-05-12 Capital One Services, Llc Facilitating resilient and fault tolerant asynchronous messaging
US11057348B2 (en) * 2019-08-22 2021-07-06 Saudi Arabian Oil Company Method for data center network segmentation
US11563722B2 (en) * 2019-08-22 2023-01-24 Hewlett Packard Enterprise Development Lp Firewall coordination in a network
US11522764B2 (en) 2019-08-26 2022-12-06 Vmware, Inc. Forwarding element with physical and virtual data planes
US11153119B2 (en) 2019-10-15 2021-10-19 Cisco Technology, Inc. Dynamic discovery of peer network devices across a wide area network
US11140218B2 (en) 2019-10-30 2021-10-05 Vmware, Inc. Distributed service chain across multiple clouds
US11283717B2 (en) 2019-10-30 2022-03-22 Vmware, Inc. Distributed fault tolerant service chain
CN111092876B (zh) * 2019-12-12 2021-10-01 北京首都在线科技股份有限公司 多主机系统、电子设备、存储介质、用于多主机系统的信息处理方法及装置
CN113132142B (zh) * 2019-12-31 2022-08-09 华为技术有限公司 用于获取网络切片标识的方法和装置
US11539718B2 (en) 2020-01-10 2022-12-27 Vmware, Inc. Efficiently performing intrusion detection
US11223494B2 (en) 2020-01-13 2022-01-11 Vmware, Inc. Service insertion for multicast traffic at boundary
US11283699B2 (en) 2020-01-17 2022-03-22 Vmware, Inc. Practical overlay network latency measurement in datacenter
US11153406B2 (en) 2020-01-20 2021-10-19 Vmware, Inc. Method of network performance visualization of service function chains
US11659061B2 (en) 2020-01-20 2023-05-23 Vmware, Inc. Method of adjusting service function chains to improve network performance
US11599395B2 (en) 2020-02-19 2023-03-07 Vmware, Inc. Dynamic core allocation
CN116761208A (zh) * 2020-03-17 2023-09-15 华为技术有限公司 报文处理方法、装置、设备及存储介质
CN115380514B (zh) * 2020-04-01 2024-03-01 威睿有限责任公司 为异构计算元件自动部署网络元件
US11277331B2 (en) 2020-04-06 2022-03-15 Vmware, Inc. Updating connection-tracking records at a network edge using flow programming
US11374817B2 (en) * 2020-04-06 2022-06-28 Vmware, Inc. Determining span of logical network element
US11088919B1 (en) 2020-04-06 2021-08-10 Vmware, Inc. Data structure for defining multi-site logical network
US11088902B1 (en) 2020-04-06 2021-08-10 Vmware, Inc. Synchronization of logical network state between global and local managers
US11777793B2 (en) 2020-04-06 2023-10-03 Vmware, Inc. Location criteria for security groups
US11394634B2 (en) 2020-04-06 2022-07-19 Vmware, Inc. Architecture for stretching logical switches between multiple datacenters
US11522834B2 (en) 2020-04-11 2022-12-06 Juniper Networks, Inc. Autotuning a virtual firewall
US11425043B2 (en) * 2020-06-16 2022-08-23 T-Mobile Usa, Inc. Duplex load balancing for massive IoT applications
US11606294B2 (en) 2020-07-16 2023-03-14 Vmware, Inc. Host computer configured to facilitate distributed SNAT service
US11616755B2 (en) * 2020-07-16 2023-03-28 Vmware, Inc. Facilitating distributed SNAT service
US11108728B1 (en) 2020-07-24 2021-08-31 Vmware, Inc. Fast distribution of port identifiers for rule processing
US11611613B2 (en) 2020-07-24 2023-03-21 Vmware, Inc. Policy-based forwarding to a load balancer of a load balancing cluster
US11451413B2 (en) 2020-07-28 2022-09-20 Vmware, Inc. Method for advertising availability of distributed gateway service and machines at host computer
US11902050B2 (en) 2020-07-28 2024-02-13 VMware LLC Method for providing distributed gateway service at host computer
US11196628B1 (en) 2020-07-29 2021-12-07 Vmware, Inc. Monitoring container clusters
US11558426B2 (en) 2020-07-29 2023-01-17 Vmware, Inc. Connection tracking for container cluster
US11803408B2 (en) 2020-07-29 2023-10-31 Vmware, Inc. Distributed network plugin agents for container networking
US11570090B2 (en) 2020-07-29 2023-01-31 Vmware, Inc. Flow tracing operation in container cluster
US11863352B2 (en) 2020-07-30 2024-01-02 Vmware, Inc. Hierarchical networking for nested container clusters
US11539633B2 (en) * 2020-08-31 2022-12-27 Vmware, Inc. Determining whether to rate limit traffic
US11792134B2 (en) 2020-09-28 2023-10-17 Vmware, Inc. Configuring PNIC to perform flow processing offload using virtual port identifiers
US11829793B2 (en) 2020-09-28 2023-11-28 Vmware, Inc. Unified management of virtual machines and bare metal computers
US11343283B2 (en) 2020-09-28 2022-05-24 Vmware, Inc. Multi-tenant network virtualization infrastructure
US11474880B2 (en) * 2020-10-19 2022-10-18 Pensando Systems Inc. Network state synchronization for workload migrations in edge devices
US11637737B2 (en) * 2020-10-23 2023-04-25 Dell Products L.P. Network data management framework
US11611625B2 (en) 2020-12-15 2023-03-21 Vmware, Inc. Providing stateful services in a scalable manner for machines executing on host computers
US11734043B2 (en) 2020-12-15 2023-08-22 Vmware, Inc. Providing stateful services in a scalable manner for machines executing on host computers
US11909721B2 (en) 2020-12-29 2024-02-20 Mastercard International Incorporated Systems and methods for automated firewall provisioning for virtual machines
US11736436B2 (en) 2020-12-31 2023-08-22 Vmware, Inc. Identifying routes with indirect addressing in a datacenter
US11336533B1 (en) 2021-01-08 2022-05-17 Vmware, Inc. Network visualization of correlations between logical elements and associated physical elements
US11836551B2 (en) 2021-03-05 2023-12-05 Vmware, Inc. Active and standby RICs
US20220286915A1 (en) 2021-03-05 2022-09-08 Vmware, Inc. Distributed ric
US11700179B2 (en) 2021-03-26 2023-07-11 Vmware, Inc. Configuration of logical networking entities
US11799784B2 (en) 2021-06-08 2023-10-24 Vmware, Inc. Virtualized QoS support in software defined networks
US11606254B2 (en) 2021-06-11 2023-03-14 Vmware, Inc. Automatic configuring of VLAN and overlay logical switches for container secondary interfaces
US11687210B2 (en) 2021-07-05 2023-06-27 Vmware, Inc. Criteria-based expansion of group nodes in a network topology visualization
US11477270B1 (en) * 2021-07-06 2022-10-18 Vmware, Inc. Seamless hand-off of data traffic in public cloud environments
US11711278B2 (en) 2021-07-24 2023-07-25 Vmware, Inc. Visualization of flow trace operation across multiple sites
CN113965347B (zh) * 2021-09-09 2024-03-15 山石网科通信技术股份有限公司 防火墙的数据处理方法及装置
US11706109B2 (en) 2021-09-17 2023-07-18 Vmware, Inc. Performance of traffic monitoring actions
CN113612807B (zh) * 2021-10-09 2021-12-03 苏州浪潮智能科技有限公司 一种分布式防火墙定义方法及系统
US11936621B2 (en) * 2021-11-19 2024-03-19 The Bank Of New York Mellon Firewall drift monitoring and detection
US11973644B2 (en) * 2021-12-30 2024-04-30 King Fahd University Of Petroleum And Minerals Distributed software-defined networking (SDN) control plane framework
US11799761B2 (en) 2022-01-07 2023-10-24 Vmware, Inc. Scaling edge services with minimal disruption
US20230231741A1 (en) 2022-01-14 2023-07-20 Vmware, Inc. Per-namespace ip address management method for container networks
US11962564B2 (en) 2022-02-15 2024-04-16 VMware LLC Anycast address for network address translation at edge
CN114629790B (zh) * 2022-03-11 2023-06-06 苏州浪潮智能科技有限公司 一种服务器网络集群配置方法及系统
US11928367B2 (en) 2022-06-21 2024-03-12 VMware LLC Logical memory addressing for network devices
US11928062B2 (en) 2022-06-21 2024-03-12 VMware LLC Accelerating data message classification with smart NICs
US11899594B2 (en) 2022-06-21 2024-02-13 VMware LLC Maintenance of data message classification cache on smart NIC
WO2024037924A1 (en) * 2022-08-18 2024-02-22 Signify Holding B.V. A method for migrating nodes in a distributed network to a centralized network
US11848910B1 (en) 2022-11-11 2023-12-19 Vmware, Inc. Assigning stateful pods fixed IP addresses depending on unique pod identity
US11870695B1 (en) * 2022-12-16 2024-01-09 Microsoft Technology Licensing, Llc Virtual machine migration on hypervisor network
US11838176B1 (en) 2022-12-19 2023-12-05 Vmware, Inc. Provisioning and deploying RAN applications in a RAN system
US11831511B1 (en) 2023-01-17 2023-11-28 Vmware, Inc. Enforcing network policies in heterogeneous systems

Family Cites Families (310)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0737921B1 (en) 1990-09-17 2000-06-28 Cabletron Systems, Inc. System and method for modelling a computer network
JPH06250869A (ja) 1993-03-01 1994-09-09 Hitachi Ltd 分散制御システム
JPH0779233A (ja) 1993-06-29 1995-03-20 Synoptics Commun Inc トポロジを確定する装置及びトポロジ情報を通信する方法及び装置
US5473771A (en) 1993-09-01 1995-12-05 At&T Corp. Fault-tolerant processing system architecture
SE9402059D0 (sv) 1994-06-13 1994-06-13 Ellemtel Utvecklings Ab Sätt och anordning vid telekommunikation
US5751967A (en) 1994-07-25 1998-05-12 Bay Networks Group, Inc. Method and apparatus for automatically configuring a network device to support a virtual network
US5550816A (en) 1994-12-29 1996-08-27 Storage Technology Corporation Method and apparatus for virtual switching
US5586121A (en) 1995-04-21 1996-12-17 Hybrid Networks, Inc. Asymmetric hybrid access system and method
US6035105A (en) 1996-01-02 2000-03-07 Cisco Technology, Inc. Multiple VLAN architecture system
US5898830A (en) 1996-10-17 1999-04-27 Network Engineering Software Firewall providing enhanced network security and user transparency
US6108304A (en) 1996-03-08 2000-08-22 Abe; Hajime Packet switching network, packet switching equipment, and network management equipment
IL131831A (en) 1997-03-12 2002-12-01 Nomadix Inc Translator or roaming router
US6295299B1 (en) 1997-08-29 2001-09-25 Extreme Networks, Inc. Data path architecture for a LAN switch
US6128279A (en) 1997-10-06 2000-10-03 Web Balance, Inc. System for balancing loads among network servers
US6092121A (en) 1997-12-18 2000-07-18 International Business Machines Corporation Method and apparatus for electronically integrating data captured in heterogeneous information systems
US7055173B1 (en) 1997-12-19 2006-05-30 Avaya Technology Corp. Firewall pooling in a network flowswitch
US6353614B1 (en) 1998-03-05 2002-03-05 3Com Corporation Method and protocol for distributed network address translation
JP3609256B2 (ja) 1998-05-19 2005-01-12 株式会社日立製作所 ネットワーク管理装置,ノード装置及びネットワーク管理システム
US6424659B2 (en) 1998-07-17 2002-07-23 Network Equipment Technologies, Inc. Multi-layer switching apparatus and method
US7055027B1 (en) 1999-03-22 2006-05-30 Microsoft Corporation System and method for trusted inspection of a data stream
JP2000332817A (ja) 1999-05-18 2000-11-30 Fujitsu Ltd パケット処理装置
US6573369B2 (en) * 1999-05-21 2003-06-03 Bioforce Nanosciences, Inc. Method and apparatus for solid state molecular analysis
US6970913B1 (en) 1999-07-02 2005-11-29 Cisco Technology, Inc. Load balancing using distributed forwarding agents with application based feedback for different virtual machines
US6678274B1 (en) 1999-07-30 2004-01-13 Riverstone Networks, Inc. Method and system for managing forwarding tables
US6505192B1 (en) 1999-08-12 2003-01-07 International Business Machines Corporation Security rule processing for connectionless protocols
US7020697B1 (en) 1999-10-01 2006-03-28 Accenture Llp Architectures for netcentric computing systems
US6963585B1 (en) 1999-10-21 2005-11-08 International Business Machines Corporation Method and system for establishing a virtual path capability in a frame relay network
US6680934B1 (en) 1999-12-02 2004-01-20 Nortel Networks Limited System, device and method for expediting control flow in a communication system
US6880089B1 (en) 2000-03-31 2005-04-12 Avaya Technology Corp. Firewall clustering for multiple network servers
US9444785B2 (en) * 2000-06-23 2016-09-13 Cloudshield Technologies, Inc. Transparent provisioning of network access to an application
US20020093952A1 (en) 2000-06-30 2002-07-18 Gonda Rumi Sheryar Method for managing circuits in a multistage cross connect
US7725602B2 (en) 2000-07-19 2010-05-25 Akamai Technologies, Inc. Domain name resolution using a distributed DNS network
US7389358B1 (en) 2000-09-13 2008-06-17 Fortinet, Inc. Distributed virtual system to support managed, network-based services
US6973023B1 (en) 2000-12-30 2005-12-06 Cisco Technology, Inc. Method for routing information over a network employing centralized control
US6785843B1 (en) 2001-02-23 2004-08-31 Mcrae Andrew Data plane restart without state change in a control plane of an intermediate network node
US7069337B2 (en) 2001-03-20 2006-06-27 Mci, Inc. Policy-based synchronization of per-class resources between routers in a data network
US7209439B2 (en) 2001-03-20 2007-04-24 Mci, Llc Pool-based resource management in a data network
US7240106B2 (en) 2001-04-25 2007-07-03 Hewlett-Packard Development Company, L.P. System and method for remote discovery and configuration of a network device
US7343410B2 (en) 2001-06-28 2008-03-11 Finisar Corporation Automated creation of application data paths in storage area networks
US7126944B2 (en) 2001-07-05 2006-10-24 Intel Corporation Routing packets across multiple forwarding elements
US20030009559A1 (en) * 2001-07-09 2003-01-09 Naoya Ikeda Network system and method of distributing accesses to a plurality of server apparatus in the network system
US7765313B2 (en) 2001-10-09 2010-07-27 Alcatel Lucent Hierarchical protocol classification engine
JP3879471B2 (ja) 2001-10-10 2007-02-14 株式会社日立製作所 計算機資源割当方法
US20030079000A1 (en) 2001-10-19 2003-04-24 Chamberlain Robert L. Methods and apparatus for configuring multiple logical networks of devices on a single physical network
US7133365B2 (en) 2001-11-02 2006-11-07 Internap Network Services Corporation System and method to provide routing control of information over networks
JP3879594B2 (ja) 2001-11-02 2007-02-14 日本電気株式会社 スイッチ方法、装置およびプログラム
US8095668B2 (en) 2001-11-09 2012-01-10 Rockstar Bidco Lp Middlebox control
US7042912B2 (en) 2001-12-18 2006-05-09 Nortel Networks Limited Resynchronization of control and data path state for networks
US6895429B2 (en) 2001-12-28 2005-05-17 Network Appliance, Inc. Technique for enabling multiple virtual filers on a single filer to participate in multiple address spaces with overlapping network addresses
US20050060365A1 (en) 2002-01-24 2005-03-17 Robinson Scott L. Context-based information processing
US6781990B1 (en) 2002-02-11 2004-08-24 Extreme Networks Method and system for managing traffic in a packet network environment
JP3904968B2 (ja) 2002-04-19 2007-04-11 日本電信電話株式会社 Vpnシステムおよびルータ
US7197572B2 (en) 2002-05-06 2007-03-27 Qlogic, Corporation System and method for implementing logical switches in a network system
US20030223379A1 (en) 2002-05-28 2003-12-04 Xuguang Yang Method and system for inter-domain loop protection using a hierarchy of loop resolving protocols
US7340535B1 (en) 2002-06-04 2008-03-04 Fortinet, Inc. System and method for controlling routing in a virtual router system
US7925661B2 (en) 2002-06-27 2011-04-12 International Business Machines Corporation Method and system for information processing using meta-archives
US7206861B1 (en) 2002-07-29 2007-04-17 Juniper Networks, Inc. Network traffic distribution across parallel paths
FR2844415B1 (fr) 2002-09-05 2005-02-11 At & T Corp Systeme pare-feu pour interconnecter deux reseaux ip geres par deux entites administratives differentes
US20040054793A1 (en) 2002-09-16 2004-03-18 Richard Coleman System and method for high performance shared web hosting
US20040131059A1 (en) 2002-09-19 2004-07-08 Ram Ayyakad Single-pass packet scan
US20040073659A1 (en) 2002-10-15 2004-04-15 Carl Rajsic Method and apparatus for managing nodes in a network
US7606229B1 (en) 2002-11-08 2009-10-20 Cisco Technology, Inc. Generic bridge packet tunneling
US20040098505A1 (en) 2002-11-20 2004-05-20 Clemmensen Daniel G. Forwarding system with multiple logical sub-system functionality
US7283465B2 (en) 2003-01-07 2007-10-16 Corrigent Systems Ltd. Hierarchical virtual private LAN service protection scheme
US20050021683A1 (en) 2003-03-27 2005-01-27 Chris Newton Method and apparatus for correlating network activity through visualizing network data
JP4157409B2 (ja) 2003-03-31 2008-10-01 富士通株式会社 仮想パス構築装置および仮想パス構築方法
US20040199587A1 (en) * 2003-04-01 2004-10-07 Mcknight Russell F. Company-only electronic mail
US7283473B2 (en) 2003-04-10 2007-10-16 International Business Machines Corporation Apparatus, system and method for providing multiple logical channel adapters within a single physical channel adapter in a system area network
US8473620B2 (en) 2003-04-14 2013-06-25 Riverbed Technology, Inc. Interception of a cloud-based communication connection
US7792987B1 (en) 2003-04-21 2010-09-07 Juniper Networks, Inc. Supporting virtual private networks using a first network topology for forwarding and a subset of the first network topology or a smaller topology for signaling
US7710874B2 (en) 2003-06-04 2010-05-04 International Business Machines Corporation System and method for automatic management of many computer data processing system pipes
US20050022017A1 (en) 2003-06-24 2005-01-27 Maufer Thomas A. Data structures and state tracking for network protocol processing
US7774597B2 (en) 2003-06-27 2010-08-10 Ram Gopal Lakshmi Narayanan System and method for nodes communicating in a shared network segment
US7453852B2 (en) 2003-07-14 2008-11-18 Lucent Technologies Inc. Method and system for mobility across heterogeneous address spaces
US20050018669A1 (en) 2003-07-25 2005-01-27 International Business Machines Corporation Infiniband subnet management queue pair emulation for multiple logical ports on a single physical port
US7697527B2 (en) 2003-07-30 2010-04-13 Nortel Networks Limited Method and apparatus for direct frame switching using frame contained destination information
US7363528B2 (en) 2003-08-25 2008-04-22 Lucent Technologies Inc. Brink of failure and breach of security detection and recovery system
US7342916B2 (en) 2003-09-10 2008-03-11 Intel Corporation Method, apparatus and system for optimizing routing of mobile IP packets
US8009556B2 (en) 2003-10-17 2011-08-30 Ip Infusion, Inc. System and method for providing redundant routing capabilities for a network node
US7246174B2 (en) * 2003-10-28 2007-07-17 Nacon Consulting, Llc Method and system for accessing and managing virtual machines
US7555002B2 (en) 2003-11-06 2009-06-30 International Business Machines Corporation Infiniband general services queue pair virtualization for multiple logical ports on a single physical port
US7447775B1 (en) 2003-11-07 2008-11-04 Cisco Technology, Inc. Methods and apparatus for supporting transmission of streaming data
US8572249B2 (en) 2003-12-10 2013-10-29 Aventail Llc Network appliance for balancing load and platform services
US7450598B2 (en) 2003-12-15 2008-11-11 At&T Intellectual Property I, L.P. System and method to provision MPLS/VPN network
US7478173B1 (en) 2003-12-18 2009-01-13 Wmware, Inc. Method and system for sharing a network connection in a virtual computer system
CN1898917B (zh) * 2003-12-22 2011-06-08 艾利森电话股份有限公司 移动分组流的控制
US7706325B2 (en) 2003-12-30 2010-04-27 Telefonaktiebolaget Lm Ericsson (Publ) Method and system for handling context of data packet flows
US7627692B2 (en) 2004-01-30 2009-12-01 Nokia Corporation Multiplexing of compressed control and user-plane messages
JP3972338B2 (ja) 2004-03-09 2007-09-05 株式会社シンクチューブ 移動通信装置及び移動通信プログラム
US7742398B1 (en) 2004-04-12 2010-06-22 Azul Systems, Inc. Information redirection
US7664818B2 (en) * 2004-04-21 2010-02-16 Sap (Ag) Message-oriented middleware provider having multiple server instances integrated into a clustered application server infrastructure
EP1745631A1 (en) 2004-05-12 2007-01-24 Alcatel Automated containment of network intruder
US7761259B1 (en) 2004-05-26 2010-07-20 William Brian Seymour Methods and systems for testing evaluation modules
JP4403396B2 (ja) * 2004-07-13 2010-01-27 ソニー株式会社 撮像装置及び撮像素子の集積回路
DE602004011928T2 (de) 2004-08-02 2009-02-12 Alcatel Lucent Verfahren zur Steuerung einer gemeinsamen genutzten Ressource durch verschiedene Manager
US20060059551A1 (en) * 2004-09-13 2006-03-16 Utstarcom Inc. Dynamic firewall capabilities for wireless access gateways
GB2419701A (en) 2004-10-29 2006-05-03 Hewlett Packard Development Co Virtual overlay infrastructure with dynamic control of mapping
GB2419703A (en) * 2004-10-29 2006-05-03 Hewlett Packard Development Co Isolated virtual overlay infrastructures each having an interface to control interaction with others
US8068408B2 (en) 2004-11-01 2011-11-29 Alcatel Lucent Softrouter protocol disaggregation
US9014181B2 (en) 2004-11-01 2015-04-21 Alcatel Lucent Softrouter separate control network
JP2008524916A (ja) 2004-12-21 2008-07-10 テレフオンアクチーボラゲット エル エム エリクソン(パブル) 通信システムにおけるパケットフローに関する装置及び方法
JP2008527772A (ja) 2004-12-31 2008-07-24 ブリティッシュ・テレコミュニケーションズ・パブリック・リミテッド・カンパニー コネクションレス通信トラフィックのためのコネクション型通信スキーム
US7730486B2 (en) 2005-02-28 2010-06-01 Hewlett-Packard Development Company, L.P. System and method for migrating virtual machines on cluster systems
US7646775B2 (en) 2005-03-08 2010-01-12 Leaf Networks, Llc Protocol and system for firewall and NAT traversal for TCP connections
US7936770B1 (en) 2005-03-08 2011-05-03 Enterasys Networks, Inc. Method and apparatus of virtual class of service and logical queue representation through network traffic distribution over multiple port interfaces
FR2883437B1 (fr) 2005-03-16 2007-08-03 Wavestorm Sarl Dispositif et procede de communication dans un reseau
US7697536B2 (en) 2005-04-01 2010-04-13 International Business Machines Corporation Network communications for operating system partitions
US7192306B2 (en) * 2005-07-06 2007-03-20 Ultra Volt, Inc. High voltage connector
US7802000B1 (en) 2005-08-01 2010-09-21 Vmware Virtual network in server farm
US7855950B2 (en) 2005-08-01 2010-12-21 Cisco Technology, Inc. Congruent forwarding paths for unicast and multicast traffic
US8149737B2 (en) 2005-08-09 2012-04-03 Motorola Solutions, Inc. Method and system for data transmission in a wireless network
US8645964B2 (en) 2005-08-23 2014-02-04 Mellanox Technologies Ltd. System and method for accelerating input/output access operation on a virtual machine
US20070101323A1 (en) 2005-10-28 2007-05-03 Microsoft Corporation Automatic virtual machine adjustments to network changes
JP2007135109A (ja) 2005-11-11 2007-05-31 Hitachi Ltd 仮想ネットワーク管理方法、仮想ネットワーク管理プログラム、仮想ネットワーク管理システムおよび仮想ネットワーク管理手段
US7945658B1 (en) 2005-12-05 2011-05-17 Narus, Inc. Method for real-time visualization of BGP analysis and trouble-shooting
US7710872B2 (en) 2005-12-14 2010-05-04 Cisco Technology, Inc. Technique for enabling traffic engineering on CE-CE paths across a provider network
US7647426B2 (en) 2006-01-12 2010-01-12 Cisco Technology, Inc. Method and apparatus for achieving Border Gateway Protocol convergence using alternate route information
US20070174429A1 (en) 2006-01-24 2007-07-26 Citrix Systems, Inc. Methods and servers for establishing a connection between a client system and a virtual machine hosting a requested computing environment
US8533808B2 (en) * 2006-02-02 2013-09-10 Check Point Software Technologies Ltd. Network security smart load balancing using a multiple processor device
US20070266433A1 (en) 2006-03-03 2007-11-15 Hezi Moore System and Method for Securing Information in a Virtual Computing Environment
US7840398B2 (en) * 2006-03-28 2010-11-23 Intel Corporation Techniques for unified management communication for virtualization systems
JP4519098B2 (ja) 2006-03-30 2010-08-04 株式会社日立製作所 計算機の管理方法、計算機システム、及び管理プログラム
US7801128B2 (en) 2006-03-31 2010-09-21 Amazon Technologies, Inc. Managing communications between computing nodes
US8838756B2 (en) 2009-07-27 2014-09-16 Vmware, Inc. Management and implementation of enclosed local networks in a virtual lab
US7839847B2 (en) 2006-05-08 2010-11-23 Cisco Technology, Inc. Methods and apparatus providing VPN traffic matrix construction
CA2547047A1 (en) 2006-05-15 2007-11-15 Embotics Corporation Management of virtual machines using mobile autonomic elements
US8060875B1 (en) 2006-05-26 2011-11-15 Vmware, Inc. System and method for multiple virtual teams
JP4714081B2 (ja) 2006-06-01 2011-06-29 アラクサラネットワークス株式会社 ネットワーク接続装置
US7761596B2 (en) 2006-06-30 2010-07-20 Telefonaktiebolaget L M Ericsson (Publ) Router and method for server load balancing
US8543808B2 (en) 2006-08-24 2013-09-24 Microsoft Corporation Trusted intermediary for network data processing
US8204982B2 (en) 2006-09-14 2012-06-19 Quova, Inc. System and method of middlebox detection and characterization
JP2008107176A (ja) * 2006-10-25 2008-05-08 Hitachi High-Technologies Corp 分離カラム及びそれを用いた液体クロマトグラフ
US8185893B2 (en) * 2006-10-27 2012-05-22 Hewlett-Packard Development Company, L.P. Starting up at least one virtual machine in a physical machine by a load balancer
US7826482B1 (en) 2006-11-17 2010-11-02 Juniper Networks, Inc. Service-specific forwarding in an LDP-RSVP hybrid network
WO2008071227A1 (en) 2006-12-12 2008-06-19 Telefonaktiebolaget Lm Ericsson (Publ) Ip address distribution in middleboxes
US20090070877A1 (en) * 2006-12-18 2009-03-12 Carol Davids Method for securing streaming multimedia network transmissions
US7738457B2 (en) 2006-12-20 2010-06-15 Oracle America, Inc. Method and system for virtual routing using containers
US8381209B2 (en) 2007-01-03 2013-02-19 International Business Machines Corporation Moveable access control list (ACL) mechanisms for hypervisors and virtual machines and virtual port firewalls
US7793148B2 (en) 2007-01-12 2010-09-07 International Business Machines Corporation Using virtual copies in a failover and failback environment
US7856549B2 (en) 2007-01-24 2010-12-21 Hewlett-Packard Development Company, L.P. Regulating power consumption
US20080189769A1 (en) 2007-02-01 2008-08-07 Martin Casado Secure network switching infrastructure
EP2109965B1 (en) 2007-02-02 2015-04-08 Groupe Des Ecoles Des Telecommunications (GET) Institut National Des Telecommunications (INT) Autonomic network node system
US20080186990A1 (en) 2007-02-02 2008-08-07 International Business Machines Corporation Translation module, method and computer program product for providing multiple infiniband address support for vm migration using infiniband address translation
US8910275B2 (en) 2007-02-14 2014-12-09 Hewlett-Packard Development Company, L.P. Network monitoring
US7796594B2 (en) 2007-02-14 2010-09-14 Marvell Semiconductor, Inc. Logical bridging system and method
US7925850B1 (en) 2007-02-16 2011-04-12 Vmware, Inc. Page signature disambiguation for increasing the efficiency of virtual machine migration in shared-page virtualized computer systems
US9661112B2 (en) 2007-02-22 2017-05-23 International Business Machines Corporation System and methods for providing server virtualization assistance
US7706266B2 (en) 2007-03-12 2010-04-27 Citrix Systems, Inc. Systems and methods of providing proxy-based quality of service
US7936677B2 (en) * 2007-03-22 2011-05-03 Sharp Laboratories Of America, Inc. Selection of an audio visual stream by sampling
US8055789B2 (en) 2007-03-27 2011-11-08 Amazon Technologies, Inc. Configuring intercommunications between computing nodes
US8111707B2 (en) 2007-12-20 2012-02-07 Packeteer, Inc. Compression mechanisms for control plane—data plane processing architectures
US7941837B1 (en) * 2007-04-18 2011-05-10 Juniper Networks, Inc. Layer two firewall with active-active high availability support
US7903655B2 (en) 2007-04-19 2011-03-08 Hewlett-Packard Development Company, L.P. Marked packet forwarding
EP2153340A4 (en) 2007-05-08 2015-10-21 Riverbed Technology Inc HYBRID SEGMENT ORIENTED FILE SERVER, AND WAN ACCELERATOR
US8014409B1 (en) 2007-05-30 2011-09-06 Foundry Networks, Llc Virtual router identifier that spans multiple interfaces in a routing device
US8402529B1 (en) 2007-05-30 2013-03-19 M86 Security, Inc. Preventing propagation of malicious software during execution in a virtual machine
US8132248B2 (en) 2007-07-18 2012-03-06 Trend Micro Incorporated Managing configurations of a firewall
US8031633B2 (en) 2007-08-13 2011-10-04 Honeywell International Inc. Virtual network architecture for space data processing
US8671256B2 (en) 2007-08-27 2014-03-11 International Business Machines Corporation Migrating contents of a memory on a virtual machine
US8528070B2 (en) * 2007-09-05 2013-09-03 Hewlett-Packard Development Company, L.P. System and method for secure service delivery
US8798056B2 (en) 2007-09-24 2014-08-05 Intel Corporation Method and system for virtual port communications
JP5427181B2 (ja) 2007-10-03 2014-02-26 ヴァーテラ テクノロジー サーヴィシズ インコーポレイテッド 仮想化アプリケーション加速化インフラストラクチャ
US8848544B2 (en) 2007-11-08 2014-09-30 Cisco Technology, Inc. Event correlation using network data flow simulation over unmanaged network segments
US7855982B2 (en) 2007-11-19 2010-12-21 Rajesh Ramankutty Providing services to packet flows in a network
US7984123B2 (en) 2007-12-10 2011-07-19 Oracle America, Inc. Method and system for reconfiguring a virtual network path
US8199750B1 (en) 2007-12-18 2012-06-12 World Wide Packets, Inc. Communicating with a control plane using a forwarding information format and control plane processing of packets devoid of a virtual switch identifier
EP2220851A4 (en) * 2007-12-19 2013-07-31 Ericsson Telefon Ab L M METHOD OF ENABLING IP CONNECTIONS TO HOSTS BEHIND MIDDLEBOXES
US8194674B1 (en) 2007-12-20 2012-06-05 Quest Software, Inc. System and method for aggregating communications and for translating between overlapping internal network addresses and unique external network addresses
US9432213B2 (en) 2007-12-31 2016-08-30 Rpx Clearinghouse Llc IP forwarding across a link state protocol controlled ethernet network
US7826390B2 (en) 2008-01-15 2010-11-02 At&T Intellectual Property I, L.P. Method and apparatus for providing a distributed subscriber load distribution
GB2459433B (en) 2008-03-07 2012-06-06 Hewlett Packard Development Co Distributed network connection policy management
US8155028B2 (en) 2008-03-17 2012-04-10 Alcatel Lucent Method and apparatus for providing full logical connectivity in MPLS networks
JP5125659B2 (ja) 2008-03-24 2013-01-23 富士通株式会社 情報処理装置、情報処理方法及びコンピュータプログラム
US8146147B2 (en) 2008-03-27 2012-03-27 Juniper Networks, Inc. Combined firewalls
US8429739B2 (en) 2008-03-31 2013-04-23 Amazon Technologies, Inc. Authorizing communications between computing nodes
US8972978B2 (en) 2008-05-02 2015-03-03 Skytap Multitenant hosted virtual machine infrastructure
US8339959B1 (en) 2008-05-20 2012-12-25 Juniper Networks, Inc. Streamlined packet forwarding using dynamic filters for routing and security in a shared forwarding plane
US8195774B2 (en) 2008-05-23 2012-06-05 Vmware, Inc. Distributed virtual switch for virtualized computer systems
US8849971B2 (en) 2008-05-28 2014-09-30 Red Hat, Inc. Load balancing in cloud-based networks
US8996683B2 (en) 2008-06-09 2015-03-31 Microsoft Technology Licensing, Llc Data center without structural bottlenecks
US8160063B2 (en) 2008-06-09 2012-04-17 Microsoft Corporation Data center interconnect and traffic engineering
US8031606B2 (en) 2008-06-24 2011-10-04 Intel Corporation Packet switching
US8108467B2 (en) 2008-06-26 2012-01-31 International Business Machines Corporation Load balanced data processing performed on an application message transmitted between compute nodes of a parallel computer
US8099615B2 (en) 2008-06-30 2012-01-17 Oracle America, Inc. Method and system for power management in a virtual machine environment without disrupting network connectivity
US8027260B2 (en) 2008-07-23 2011-09-27 Verizon Patent And Licensing Inc. Mixed integer programming model for minimizing leased access network costs
US8005015B2 (en) * 2008-07-28 2011-08-23 Telefonaktiebolaget L M Ericsson (Publ) Signaling framework for negotiating and executing composition of registries
US20100036903A1 (en) * 2008-08-11 2010-02-11 Microsoft Corporation Distributed load balancer
US8064362B2 (en) * 2008-08-21 2011-11-22 Cisco Technology, Inc. Wide area network optimization proxy routing protocol
US8018866B1 (en) * 2008-08-26 2011-09-13 Juniper Networks, Inc. Adaptively applying network acceleration services with an intermediate network device
US8265071B2 (en) 2008-09-11 2012-09-11 Juniper Networks, Inc. Methods and apparatus related to a flexible data center security architecture
US7885276B1 (en) 2008-09-30 2011-02-08 Emc Corporation Isolating network traffic in multi-tenant virtualization environments
US7808929B2 (en) 2008-09-30 2010-10-05 Oracle America, Inc. Efficient ACL lookup algorithms
US7873060B2 (en) * 2008-10-18 2011-01-18 Fortinet, Inc. Accelerating data communication using tunnels
JP2010114665A (ja) 2008-11-06 2010-05-20 Toshiba Corp 通信データ制御方法及び計算機システム
US7921197B2 (en) 2008-11-19 2011-04-05 Vmware, Inc. Dynamic configuration of virtual machines
US7962647B2 (en) 2008-11-24 2011-06-14 Vmware, Inc. Application delivery control module for virtual network switch
US8171124B2 (en) 2008-11-25 2012-05-01 Citrix Systems, Inc. Systems and methods for GSLB remote service monitoring
US8493871B2 (en) * 2008-11-26 2013-07-23 Riverbed Technology, Inc. End-to end analysis of transactions in networks with traffic-altering devices
US8868675B2 (en) * 2008-12-04 2014-10-21 Cisco Technology, Inc. Network optimization using distributed virtual resources
US8055770B2 (en) 2008-12-15 2011-11-08 At&T Intellectual Property I, L.P. Method and apparatus for providing network virtualization
US8392496B2 (en) 2008-12-19 2013-03-05 Watchguard Technologies, Inc. Cluster architecture for network security processing
US8054832B1 (en) 2008-12-30 2011-11-08 Juniper Networks, Inc. Methods and apparatus for routing between virtual resources based on a routing location policy
US8565118B2 (en) * 2008-12-30 2013-10-22 Juniper Networks, Inc. Methods and apparatus for distributed dynamic network provisioning
US8255496B2 (en) 2008-12-30 2012-08-28 Juniper Networks, Inc. Method and apparatus for determining a network topology during network provisioning
US8331362B2 (en) 2008-12-30 2012-12-11 Juniper Networks, Inc. Methods and apparatus for distributed dynamic network provisioning
US7995483B1 (en) 2009-01-20 2011-08-09 Juniper Networks, Inc. Simultaneously testing connectivity to multiple remote maintenance endpoints of the same maintenance association
EP2219045B1 (en) * 2009-01-28 2012-03-14 Siemens Aktiengesellschaft Radar high frequency module
US7948986B1 (en) 2009-02-02 2011-05-24 Juniper Networks, Inc. Applying services within MPLS networks
JP5561173B2 (ja) 2009-02-03 2014-07-30 日本電気株式会社 アプリケーションスイッチシステム、及びアプリケーションスイッチ方法
US8213336B2 (en) 2009-02-23 2012-07-03 Cisco Technology, Inc. Distributed data center access switch
JP5544097B2 (ja) 2009-02-23 2014-07-09 株式会社日立国際電気 ネットワーク間接続装置
EP2408155A4 (en) 2009-03-09 2015-01-28 Nec Corp OPENFLOW COMMUNICATION SYSTEM AND OPENFLOW COMMUNICATION METHOD
US8265075B2 (en) 2009-03-16 2012-09-11 International Business Machines Corporation Method and apparatus for managing, configuring, and controlling an I/O virtualization device through a network switch
JP5477378B2 (ja) 2009-03-30 2014-04-23 日本電気株式会社 通信フロー制御システム、通信フロー制御方法及び通信フロー処理プログラム
EP2804350B1 (en) * 2009-04-01 2019-07-24 Nicira, Inc. Method and apparatus for implementing and managing virtual switches
US20100254385A1 (en) 2009-04-07 2010-10-07 Cisco Technology, Inc. Service Insertion Architecture (SIA) in a Virtual Private Network (VPN) Aware Network
US8589919B2 (en) 2009-04-28 2013-11-19 Cisco Technology, Inc. Traffic forwarding for virtual machines
US8027354B1 (en) 2009-04-29 2011-09-27 Cisco Technology, Inc. Network consolidation for virtualized servers
US8429647B2 (en) 2009-05-06 2013-04-23 Vmware, Inc. Virtual machine migration across network by publishing routes to the associated virtual networks via virtual router after the start of migration of the virtual machine
US9497039B2 (en) 2009-05-28 2016-11-15 Microsoft Technology Licensing, Llc Agile data center network architecture
US9210065B2 (en) 2009-06-22 2015-12-08 Alcatel Lucent Providing cloud-based services using dynamic network virtualization
US9621516B2 (en) * 2009-06-24 2017-04-11 Vmware, Inc. Firewall configured with dynamic membership sets representing machine attributes
US8644188B1 (en) 2009-06-25 2014-02-04 Amazon Technologies, Inc. Providing virtual networking functionality for managed computer networks
US8572609B2 (en) 2009-07-01 2013-10-29 Riverbed Technology, Inc. Configuring bypass functionality of a network device based on the state of one or more hosted virtual machines
US8634437B2 (en) 2009-07-01 2014-01-21 Riverbed Technology, Inc. Extended network protocols for communicating metadata with virtual machines
US8990433B2 (en) 2009-07-01 2015-03-24 Riverbed Technology, Inc. Defining network traffic processing flows between virtual machines
US8954957B2 (en) 2009-07-01 2015-02-10 Riverbed Technology, Inc. Network traffic processing according to network traffic rule criteria and transferring network traffic metadata in a network device that includes hosted virtual machines
US8650618B2 (en) 2009-07-22 2014-02-11 Cisco Technology, Inc. Integrating service insertion architecture and virtual private network
US9270542B2 (en) 2009-07-31 2016-02-23 Ixia Apparatus and methods for forwarding data packets captured from a network
US8339994B2 (en) 2009-08-27 2012-12-25 Brocade Communications Systems, Inc. Defining an optimal topology for a group of logical switches
US8619779B2 (en) 2009-09-30 2013-12-31 Alcatel Lucent Scalable architecture for enterprise extension in a cloud topology
US8571031B2 (en) 2009-10-07 2013-10-29 Intel Corporation Configurable frame processing pipeline in a packet switch
US8599864B2 (en) 2009-10-08 2013-12-03 Brocade Communications Systems, Inc. Transit switches in a network of logical switches
US20110085557A1 (en) 2009-10-08 2011-04-14 Brocade Communications Systems, Inc. Partitioning of Switches and Fabrics into Logical Switches and Fabrics
US8693485B2 (en) 2009-10-14 2014-04-08 Dell Products, Lp Virtualization aware network switch
EP2497234B1 (en) 2009-11-02 2018-09-19 Marvell World Trade Ltd. Network device and method based on virtual interfaces
US9531674B2 (en) 2009-11-11 2016-12-27 Microsoft Technology Licensing, Llc Virtual host security profiles
US7937438B1 (en) 2009-12-07 2011-05-03 Amazon Technologies, Inc. Using virtual networking devices to manage external connections
US9203747B1 (en) * 2009-12-07 2015-12-01 Amazon Technologies, Inc. Providing virtual networking device functionality for managed computer networks
US7991859B1 (en) 2009-12-28 2011-08-02 Amazon Technologies, Inc. Using virtual networking devices to connect managed computer networks
US8224971B1 (en) 2009-12-28 2012-07-17 Amazon Technologies, Inc. Using virtual networking devices and routing information to initiate external actions
US7953865B1 (en) 2009-12-28 2011-05-31 Amazon Technologies, Inc. Using virtual networking devices to manage routing communications between connected computer networks
US8887266B2 (en) 2010-01-08 2014-11-11 Board Of Trustees Of Michigan State University Method for computing network reachability
US8874749B1 (en) 2010-02-03 2014-10-28 Citrix Systems, Inc. Network fragmentation and virtual machine migration in a scalable cloud computing environment
US8751738B2 (en) 2010-02-08 2014-06-10 Microsoft Corporation Background migration of virtual storage
US8913661B2 (en) 2010-02-19 2014-12-16 Skype Motion estimation using block matching indexing
US8612627B1 (en) 2010-03-03 2013-12-17 Amazon Technologies, Inc. Managing encoded multi-part communications for provided computer networks
JP5651970B2 (ja) 2010-03-11 2015-01-14 日本電気株式会社 通信装置、通信制御方法、及び通信制御用プログラム
US8863144B2 (en) 2010-03-15 2014-10-14 International Business Machines Corporation Method and apparatus for determining resources consumed by tasks
JP5505707B2 (ja) 2010-03-30 2014-05-28 日本電気株式会社 ネットワークシステム及びその運用方法
US8224931B1 (en) 2010-03-31 2012-07-17 Amazon Technologies, Inc. Managing use of intermediate destination computing nodes for provided computer networks
US8599854B2 (en) * 2010-04-16 2013-12-03 Cisco Technology, Inc. Method of identifying destination in a virtual environment
US8989186B2 (en) 2010-06-08 2015-03-24 Brocade Communication Systems, Inc. Virtual port grouping for virtual cluster switching
US8811153B1 (en) 2010-05-03 2014-08-19 Pluribus Networks Inc. Switch fabric for network devices
US8813209B2 (en) 2010-06-03 2014-08-19 International Business Machines Corporation Automating network reconfiguration during migrations
US8374183B2 (en) 2010-06-22 2013-02-12 Microsoft Corporation Distributed virtual network gateways
CN103270736B (zh) 2010-06-29 2016-08-10 华为技术有限公司 一种网络设备
US8717895B2 (en) * 2010-07-06 2014-05-06 Nicira, Inc. Network virtualization apparatus and method with a table mapping engine
US8456984B2 (en) 2010-07-19 2013-06-04 Ciena Corporation Virtualized shared protection capacity
US8473557B2 (en) 2010-08-24 2013-06-25 At&T Intellectual Property I, L.P. Methods and apparatus to migrate virtual machines between distributive computing networks across a wide area network
JP5476261B2 (ja) 2010-09-14 2014-04-23 株式会社日立製作所 マルチテナント型情報処理システム、管理サーバ及び構成管理方法
US9104458B1 (en) 2010-09-30 2015-08-11 Amazon Technologies, Inc. Managing virtual computing nodes using isolation and migration techniques
CN102457583B (zh) 2010-10-19 2014-09-10 中兴通讯股份有限公司 一种虚拟机移动性的实现方法及系统
US8621058B2 (en) 2010-10-28 2013-12-31 Hewlett-Packard Development Company, L.P. Providing cloud-based computing services
US8533285B2 (en) 2010-12-01 2013-09-10 Cisco Technology, Inc. Directing data flows in data centers with clustering services
US8699499B2 (en) * 2010-12-08 2014-04-15 At&T Intellectual Property I, L.P. Methods and apparatus to provision cloud computing network elements
US9329886B2 (en) 2010-12-10 2016-05-03 Amazon Technologies, Inc. Virtual machine morphing for heterogeneous migration environments
US8819678B2 (en) 2010-12-15 2014-08-26 Red Hat Israel, Ltd. Live migration of a guest from a source hypervisor to a target hypervisor
US8755283B2 (en) 2010-12-17 2014-06-17 Microsoft Corporation Synchronizing state among load balancer components
US8468548B2 (en) 2010-12-17 2013-06-18 Microsoft Corporation Multi-tenant, high-density container service for hosting stateful and stateless middleware components
US8615579B1 (en) 2010-12-28 2013-12-24 Amazon Technologies, Inc. Managing virtual machine migration
US8863256B1 (en) 2011-01-14 2014-10-14 Cisco Technology, Inc. System and method for enabling secure transactions using flexible identity management in a vehicular environment
US9264868B2 (en) 2011-01-19 2016-02-16 Qualcomm Incorporated Management of network access requests
US8612744B2 (en) * 2011-02-10 2013-12-17 Varmour Networks, Inc. Distributed firewall architecture using virtual machines
US8776207B2 (en) * 2011-02-16 2014-07-08 Fortinet, Inc. Load balancing in a network with session information
US8665739B2 (en) 2011-03-16 2014-03-04 Juniper Networks, Inc. Packet loss measurement at service endpoints of a virtual private LAN service
US8959569B2 (en) 2011-03-18 2015-02-17 Juniper Networks, Inc. Security enforcement in virtualized systems
US8676980B2 (en) 2011-03-22 2014-03-18 Cisco Technology, Inc. Distributed load balancer in a virtual machine environment
CN103460653A (zh) 2011-03-31 2013-12-18 日本电气株式会社 计算机系统和通信方法
US8743885B2 (en) 2011-05-03 2014-06-03 Cisco Technology, Inc. Mobile service routing in a network environment
US9043452B2 (en) * 2011-05-04 2015-05-26 Nicira, Inc. Network control apparatus and method for port isolation
US9100298B2 (en) 2011-05-23 2015-08-04 Cisco Technology, Inc. Host visibility as a network service
US8739244B1 (en) * 2011-06-07 2014-05-27 Riverbed Technology, Inc. Configuring and authenticating WAN optimization devices for accessing content delivery networks
US8923294B2 (en) * 2011-06-28 2014-12-30 Polytechnic Institute Of New York University Dynamically provisioning middleboxes
US20130019015A1 (en) 2011-07-12 2013-01-17 International Business Machines Corporation Application Resource Manager over a Cloud
US9424144B2 (en) 2011-07-27 2016-08-23 Microsoft Technology Licensing, Llc Virtual machine migration to minimize packet loss in virtualized network
WO2013020126A1 (en) 2011-08-04 2013-02-07 Midokura Pte. Ltd. System and method for implementing and managing virtual networks
US8813074B2 (en) 2011-08-05 2014-08-19 Vmware, Inc. Detecting and correcting network interruptions using network address translation
US9384030B2 (en) 2011-08-11 2016-07-05 Ca, Inc. System and method for deploying a dynamic virtual network address translation appliance
CN106850444B (zh) 2011-08-17 2020-10-27 Nicira股份有限公司 逻辑l3路由
US8762501B2 (en) * 2011-08-29 2014-06-24 Telefonaktiebolaget L M Ericsson (Publ) Implementing a 3G packet core in a cloud computer with openflow data and control planes
US8856518B2 (en) 2011-09-07 2014-10-07 Microsoft Corporation Secure and efficient offloading of network policies to network interface cards
US20130074181A1 (en) 2011-09-19 2013-03-21 Cisco Technology, Inc. Auto Migration of Services Within a Virtual Data Center
US9319459B2 (en) 2011-09-19 2016-04-19 Cisco Technology, Inc. Services controlled session based flow interceptor
US20130074066A1 (en) 2011-09-21 2013-03-21 Cisco Technology, Inc. Portable Port Profiles for Virtual Machines in a Virtualized Data Center
US9069586B2 (en) * 2011-10-13 2015-06-30 Mcafee, Inc. System and method for kernel rootkit protection in a hypervisor environment
US20130103834A1 (en) 2011-10-21 2013-04-25 Blue Coat Systems, Inc. Multi-Tenant NATting for Segregating Traffic Through a Cloud Service
AU2015258160B2 (en) 2011-11-15 2017-04-20 Nicira, Inc. Network control system for configuring middleboxes
AU2015255293B2 (en) 2011-11-15 2018-03-15 Nicira, Inc. Architecture of networks with middleboxes
WO2013074855A1 (en) 2011-11-15 2013-05-23 Nicira, Inc. Control plane interface for logical middlebox services
US8830834B2 (en) 2011-12-21 2014-09-09 Cisco Technology, Inc. Overlay-based packet steering
US8521905B2 (en) 2011-12-22 2013-08-27 Telefonaktiebolaget L M Ericsson (Publ) System for flexible and extensible flow processing in software-defined networks
US8711860B2 (en) 2011-12-22 2014-04-29 Telefonaktiebolaget L M Ericsson (Publ) Controller for flexible and extensible flow processing in software-defined networks
US9690605B2 (en) 2012-04-09 2017-06-27 Hewlett Packard Enterprise Development Lp Configuration of an edge switch downlink port with a network policy of a published network configuration service type
AU2013249152B2 (en) 2012-04-18 2016-04-28 Nicira, Inc. Using transactions to minimize churn in a distributed network control system
WO2013184941A1 (en) * 2012-06-06 2013-12-12 Huawei Technologies Co., Ltd. Method of seamless integration and independent evolution of information-centric networking via software defined networking
US9304801B2 (en) 2012-06-12 2016-04-05 TELEFONAKTIEBOLAGET L M ERRICSSON (publ) Elastic enforcement layer for cloud security using SDN
US9094459B2 (en) 2012-07-16 2015-07-28 International Business Machines Corporation Flow based overlay network
US9104492B2 (en) 2012-09-04 2015-08-11 Wisconsin Alumni Research Foundation Cloud-based middlebox management system
US10263916B2 (en) 2012-12-03 2019-04-16 Hewlett Packard Enterprise Development Lp System and method for message handling in a network device

Also Published As

Publication number Publication date
US20160070588A1 (en) 2016-03-10
US20130128891A1 (en) 2013-05-23
US10922124B2 (en) 2021-02-16
US20200081732A1 (en) 2020-03-12
US9697030B2 (en) 2017-07-04
JP2015146598A (ja) 2015-08-13
WO2013074828A1 (en) 2013-05-23
US11740923B2 (en) 2023-08-29
JP6125682B2 (ja) 2017-05-10
CN103930882A (zh) 2014-07-16
US10949248B2 (en) 2021-03-16
EP2748750B1 (en) 2020-03-18
CN103917967A (zh) 2014-07-09
US20150124651A1 (en) 2015-05-07
EP2748713A1 (en) 2014-07-02
US20130125120A1 (en) 2013-05-16
JP2014533901A (ja) 2014-12-15
US20130125230A1 (en) 2013-05-16
US9697033B2 (en) 2017-07-04
US20210200572A1 (en) 2021-07-01
US8966029B2 (en) 2015-02-24
US20170277557A1 (en) 2017-09-28
EP2748716A4 (en) 2015-02-11
US9558027B2 (en) 2017-01-31
JP6346690B2 (ja) 2018-06-20
JP5898780B2 (ja) 2016-04-06
US9306909B2 (en) 2016-04-05
US20220326980A1 (en) 2022-10-13
US8913611B2 (en) 2014-12-16
EP2748750A4 (en) 2015-04-08
US20130132531A1 (en) 2013-05-23
JP2014535252A (ja) 2014-12-25
EP2748717A4 (en) 2015-01-21
US20130132532A1 (en) 2013-05-23
EP2748713B1 (en) 2021-08-25
US20170126493A1 (en) 2017-05-04
EP3373560B1 (en) 2022-08-10
US9195491B2 (en) 2015-11-24
US10191763B2 (en) 2019-01-29
AU2012340387B2 (en) 2015-08-20
US9172603B2 (en) 2015-10-27
US20150081861A1 (en) 2015-03-19
EP2748717A1 (en) 2014-07-02
US20130132536A1 (en) 2013-05-23
JP2017153118A (ja) 2017-08-31
US20130132533A1 (en) 2013-05-23
US20190258507A1 (en) 2019-08-22
WO2013074844A1 (en) 2013-05-23
WO2013074847A1 (en) 2013-05-23
US11593148B2 (en) 2023-02-28
US8966024B2 (en) 2015-02-24
US20190034220A1 (en) 2019-01-31
US20150098360A1 (en) 2015-04-09
EP2748714B1 (en) 2021-01-13
EP2748750A1 (en) 2014-07-02
US11372671B2 (en) 2022-06-28
WO2013074855A1 (en) 2013-05-23
US20210191750A1 (en) 2021-06-24
US9552219B2 (en) 2017-01-24
US20230205568A1 (en) 2023-06-29
US10514941B2 (en) 2019-12-24
EP2748717B1 (en) 2021-03-24
WO2013074842A1 (en) 2013-05-23
US20190138343A1 (en) 2019-05-09
US20210149708A1 (en) 2021-05-20
CN103930882B (zh) 2017-10-03
AU2012340387A1 (en) 2014-04-10
WO2013074831A1 (en) 2013-05-23
US10884780B2 (en) 2021-01-05
AU2012340383A1 (en) 2014-04-10
EP3846043A1 (en) 2021-07-07
EP3846043B1 (en) 2024-02-14
WO2013074827A1 (en) 2013-05-23
US20150222598A1 (en) 2015-08-06
US20150142938A1 (en) 2015-05-21
US20130121209A1 (en) 2013-05-16
JP2016146644A (ja) 2016-08-12
US10977067B2 (en) 2021-04-13
EP2748714A1 (en) 2014-07-02
AU2012340383B2 (en) 2015-08-20
EP2748978A1 (en) 2014-07-02
US10310886B2 (en) 2019-06-04
CN107395445A (zh) 2017-11-24
EP2748713A4 (en) 2015-02-11
US9015823B2 (en) 2015-04-21
CN107395445B (zh) 2021-04-13
CN103917967B (zh) 2016-10-05
EP2748714A4 (en) 2015-01-21
EP2748716A1 (en) 2014-07-02
US20230359479A1 (en) 2023-11-09
EP2748978A4 (en) 2015-05-20
EP3373560A1 (en) 2018-09-12
EP2748978B1 (en) 2018-04-25
EP2748716B1 (en) 2018-05-16
US10235199B2 (en) 2019-03-19
JP5961718B2 (ja) 2016-08-02
US20170116023A1 (en) 2017-04-27
US10089127B2 (en) 2018-10-02

Similar Documents

Publication Publication Date Title
JP5961718B2 (ja) ミドルボックスを備えるネットワークのアーキテクチャ
AU2018204247B2 (en) Architecture of networks with middleboxes
AU2017204765B2 (en) Network control system for configuring middleboxes

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

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20150216

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150310

R150 Certificate of patent or registration of utility model

Ref document number: 5714187

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250