JPWO2011049135A1 - ネットワークシステムとその制御方法、及びコントローラ - Google Patents
ネットワークシステムとその制御方法、及びコントローラ Download PDFInfo
- Publication number
- JPWO2011049135A1 JPWO2011049135A1 JP2011537284A JP2011537284A JPWO2011049135A1 JP WO2011049135 A1 JPWO2011049135 A1 JP WO2011049135A1 JP 2011537284 A JP2011537284 A JP 2011537284A JP 2011537284 A JP2011537284 A JP 2011537284A JP WO2011049135 A1 JPWO2011049135 A1 JP WO2011049135A1
- Authority
- JP
- Japan
- Prior art keywords
- relay processing
- processing devices
- network
- switch
- route
- 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.)
- Withdrawn
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/38—Flow based routing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
ネットワークシステムにおいて、各サーバは少なくとも1つの中継処理装置に割り当てられる。また、ネットワーク中には複数のスイッチが配置され、コントローラがそれらスイッチを制御する。具体的には、コントローラは、要求元スイッチからの要求に応答して、要求元スイッチから宛先アドレスまでのフローの経路を設計する。このとき、コントローラは、サーバと中継処理装置との割り当て関係を示す割当情報を参照して、宛先アドレスで指定されるサーバに割り当てられた中継処理装置のうちいずれか1つをターゲットとして選択し、そのターゲットを含むように経路を設計する。そして、コントローラは、設計経路上の各スイッチに対して、当該設計経路に沿ってパケットが転送されるようにフローテーブルを設定することを指示する。
Description
本発明は、ネットワークシステムとその制御方法に関する。
ネットワークシステムにおいて、負荷分散(load balancing)は重要な課題の1つである。例えば、非特許文献1に記載された技術は、エンタープライズネットワークのような非構造的なネットワークにおいて、ネットワーク輻輳状態とサーバ負荷状態を考慮することによって総合的な負荷分散を実現している。
特許文献1(特開2005−64882号公報)には、高位レイヤ処理システムが開示されている。その高位レイヤ処理システムにおいて、システムのスケーラビリティ確保のため、複数の高位レイヤ処理装置が並列に配置される。それら高位レイヤ処理装置群のリソースを均等に活用するために、高位レイヤ処理装置群の前段にパケット振分装置が設けられる。パケット振分装置は、受信パケットのL3以下の情報に基づいて、複数の高位レイヤ処理装置に対してパケットを振り分ける。具体的には、パケット振分装置は、ハッシュ値を受信パケットに組み込み、そのパケットを高位レイヤ処理装置に送信する。高位レイヤ処理装置は、そのパケットを受け取り、自分が輻輳するおそれがある場合にはその旨をパケット振分装置に通知する。その場合、パケット振分装置は、他の高位レイヤ処理装置を選択する。これにより、特定の高位レイヤ処理装置への負荷集中が防止される。
Nikhil Handigol et al., "Plug−n−Serve: Load−Balancing Web Traffic using OpenFlow", ACM SIGCOMM, 2009, (http://conferences.sigcomm.org/sigcomm/2009/demos/sigcomm-pd-2009-final26.pdf)
上記特許文献1に記載された技術によれば、複数の高位レイヤ処理装置の前段にパケット振分装置が設けられ、それにより、特定の高位レイヤ処理装置への負荷集中が抑制される。しかしながらこの場合、そのパケット振分装置自体がボトルネックとなる。従って、パケット振分装置自体のスケーラビリティも確保することが好ましい。
より一般的に、パケット振分装置に限らず、ロードバランサ(load balancer;負荷分散装置)やファイアウォール(fire wall)等の装置は、以下「中継処理装置」と参照される。本発明の1つの目的は、ネットワークシステムにおいて中継処理装置のスケーラビリティを容易に確保することにある。
本発明の1つの観点において、ネットワークシステムが提供される。ネットワークシステムは、ネットワークに接続された複数のサーバと、ネットワークに接続された複数の中継処理装置と、ネットワーク中に配置された複数のスイッチと、複数のスイッチを制御するコントローラと、を備える。複数のサーバの各々は、複数の中継処理装置のうち少なくとも1つに割り当てられる。複数の中継処理装置の各々は、自身に割り当てられたサーバへのパケットに対して所定の処理を実行する。複数のスイッチの各々は、パケットの入力元と転送先との対応関係をフロー毎に示すフローテーブルを有し、フローテーブルを参照することによって、入力元から受け取ったパケットを転送先に転送する。コントローラは、記憶部と、経路設計部と、スイッチ設定部とを備える。記憶部には、複数のサーバ、複数の中継処理装置、複数のスイッチ間の接続状態を示すネットワーク構成情報と、複数のサーバと複数の中継処理装置との間の割り当て関係を示す割当情報と、が格納される。経路設計部は、複数のスイッチのうち要求元スイッチからの要求に応答して、要求元スイッチから宛先アドレスまでのフローの経路を設計する。詳細には、経路設計部は、割当情報を参照して、宛先アドレスで指定されるサーバに割り当てられた中継処理装置のうちいずれか1つをターゲットとして選択する。そして、経路設計部は、ネットワーク構成情報を参照して、選択されたターゲットを含むように経路を設計する。スイッチ設定部は、設計経路上の各スイッチに対して、当該フローのパケットが設計経路に沿って転送されるようにフローテーブルを設定することを指示する。
本発明の他の観点において、ネットワーク中に配置された複数のスイッチを制御するコントローラが提供される。ネットワークには複数のサーバと複数の中継処理装置が接続される。複数のサーバの各々は、複数の中継処理装置のうち少なくとも1つに割り当てられる。複数の中継処理装置の各々は、自身に割り当てられたサーバへのパケットに対して所定の処理を実行する。複数のスイッチの各々は、パケットの入力元と転送先との対応関係をフロー毎に示すフローテーブルを有し、フローテーブルを参照することによって、入力元から受け取ったパケットを転送先に転送する。コントローラは、記憶部と、経路設計部と、スイッチ設定部とを備える。記憶部には、複数のサーバ、複数の中継処理装置、複数のスイッチ間の接続状態を示すネットワーク構成情報と、複数のサーバと複数の中継処理装置との間の割り当て関係を示す割当情報と、が格納される。経路設計部は、複数のスイッチのうち要求元スイッチからの要求に応答して、要求元スイッチから宛先アドレスまでのフローの経路を設計する。詳細には、経路設計部は、割当情報を参照して、宛先アドレスで指定されるサーバに割り当てられた中継処理装置のうちいずれか1つをターゲットとして選択する。そして、経路設計部は、ネットワーク構成情報を参照して、選択されたターゲットを含むように経路を設計する。スイッチ設定部は、設計経路上の各スイッチに対して、当該フローのパケットが設計経路に沿って転送されるようにフローテーブルを設定することを指示する。
本発明の更に他の観点において、ネットワークシステムの制御方法が提供される。ネットワークシステムは、ネットワークに接続された複数のサーバと、ネットワークに接続された複数の中継処理装置と、ネットワーク中に配置された複数のスイッチと、を備える。複数のサーバの各々は、複数の中継処理装置のうち少なくとも1つに割り当てられる。複数の中継処理装置の各々は、自身に割り当てられたサーバへのパケットに対して所定の処理を実行する。複数のスイッチの各々は、パケットの入力元と転送先との対応関係をフロー毎に示すフローテーブルを有し、フローテーブルを参照することによって、入力元から受け取ったパケットを転送先に転送する。制御方法は、(A)複数のスイッチのうち要求元スイッチからの要求に応答して、要求元スイッチから宛先アドレスまでのフローの経路を設計するステップと、(B)設計経路上の各スイッチに対して、当該フローのパケットが設計経路に沿って転送されるようにフローテーブルを設定することを指示するステップと、を含む。(A)経路を設計するステップは、(A1)ネットワーク構成情報と割当情報を記憶装置から読みだすステップと、ここで、ネットワーク構成情報は、複数のサーバ、複数の中継処理装置、複数のスイッチ間の接続状態を示し、割当情報は、複数のサーバと複数の中継処理装置との間の割り当て関係を示し、(A2)割当情報を参照して、宛先アドレスで指定されるサーバに割り当てられた中継処理装置のうちいずれか1つをターゲットとして選択するステップと、(A3)ネットワーク構成情報を参照して、選択されたターゲットを含むように経路を設計するステップと、を含む。
本発明によれば、ネットワークシステムにおいて中継処理装置のスケーラビリティを容易に確保することが可能となる。
上記及び他の目的、長所、特徴は、次の図面と共に説明される本発明の実施の形態により明らかになるであろう。
添付図面を参照して、本発明の実施の形態を説明する。
1.ネットワークシステム
図1は、本実施の形態に係るネットワークシステム1の構成例を示すブロック図である。ネットワークシステム1は、複数のスイッチ10、複数の中継処理装置20、複数のサーバ30、及びコントローラ100を備えている。
図1は、本実施の形態に係るネットワークシステム1の構成例を示すブロック図である。ネットワークシステム1は、複数のスイッチ10、複数の中継処理装置20、複数のサーバ30、及びコントローラ100を備えている。
中継処理装置20及びサーバ30は、スイッチ10を介してネットワークに接続されている。中継処理装置20は、サーバ30宛のフローを処理するための専用装置である。中継処理装置20としては、ロードバランサ(負荷分散装置)やファイアウォールといったネットワークアプライアンスが例示される。ネットワークアプライアンスは、専用のハードウェアによって、あるいは、汎用サーバにソフトウェアを実装することによって実現される。あるいは、ネットワークアプライアンスは、汎用サーバ上の仮想マシン(Virtual Machine)にソフトウェアを実装することによって実現されてもよい(仮想アプライアンスと呼ばれる)。
本実施の形態では、中継処理装置20のスケーラビリティを確保するため、複数の中継処理装置20が設けられる。また、複数の中継処理装置20と複数のサーバ30とは互いに関連付けられる。各サーバ30は、複数の中継処理装置20のうち少なくとも1つに割り当てられ、各中継処理装置20は、複数のサーバ30のうち少なくとも1つに割り当てられる。そして、各中継処理装置20は、自身に割り当てられたサーバ30へのフローのパケットに対して、所定の処理(ロードバランサとしての処理、ファイアウォールとしての処理、等)を実行する。
尚、中継処理装置20及びサーバ30は、管理装置(図示されない)によってそれぞれ管理される。それぞれの管理装置は、コントローラ100からの要求に応じて、中継処理装置20及びサーバ30の識別情報等をコントローラ100に通知する。
複数のスイッチ10は、ネットワーク内に分散的に配置されている。スイッチ10間はリンク(回線)で接続されており、複数のスイッチ10によってスイッチネットワークが構成される。このスイッチネットワークは、外部ネットワークと中継処理装置20、サーバ30との間、及び、中継処理装置20とサーバ30との間に介在している。各スイッチ10は、受信したパケットを指定された転送先に転送する機能を有している。その指定を行うのが、コントローラ100である。コントローラ100は、制御回線5を介してスイッチ10に接続されており、制御回線5を介して各スイッチ10を制御する機能を有している。
図2は、スイッチ10の構成例を示している。スイッチ10は、スイッチ処理部11、コントローラ通信部12、記憶部13、及び複数のポート15を備えている。外部からパケットが入力されるポート15は入力ポートであり、パケットが外部に出力されるポート15は出力ポートである。スイッチ処理部11は、入力ポートから出力ポートへのパケット転送等、スイッチの主要な処理を行う。コントローラ通信部12は、制御回線5を介してコントローラ100に接続されており、コントローラ100と通信を行う。
記憶部13には、フローテーブル(転送テーブル)TBLが格納されている。このフローテーブルTBLは、パケットの入力元(入力ポート)と転送先(出力ポート)との対応関係を、フロー毎に示している。スイッチ処理部11は、記憶部13に格納されているフローテーブルTBLを参照することによって、入力ポートから受け取ったパケットを指定された出力ポートに転送することができる。より詳細には、次の通りである。
図3は、フローテーブルTBLを示す概念図である。フローテーブルTBLは、フロー毎に異なるエントリを有している。1つのエントリは、入力ポート、ヘッダ情報、出力ポート、及びアクションの対応関係を示している。ヘッダ情報は、宛先MACアドレス、送信元MACアドレス、宛先IPアドレス、送信元IPアドレス等、パケットヘッダから得られる情報である。このヘッダ情報を用いることにより、フローを識別することができる。アクションは、受信パケットに対する処理内容(転送、消去等)を示す。
図4は、本実施の形態に係るネットワークシステム1の動作を示すフローチャートである。スイッチ10は、あるフローのパケットを受信する(ステップS11)。具体的には、スイッチ処理部11が、入力ポートを通してパケットを受信する。入力ポートからパケットを受け取ると、スイッチ処理部11は、受信パケットのヘッダ情報を抽出する。そして、スイッチ処理部11は、抽出したヘッダ情報と入力ポートを検索キーとして用いてフローテーブルTBLの検索を行う(ステップS12)。検索キーに一致するエントリが有る場合(ステップS13;Yes)、スイッチ処理部11は、該当エントリに示されているアクションを実行する(ステップS14)。典型的には、スイッチ処理部11は、該当エントリに示される出力ポートに受信パケットを出力する。
一方、検索キーに一致するエントリがフローテーブルTBLに無い場合(ステップS13;No)、それは、スイッチ10が当該フローのパケットを初めて受信したことを意味する。この場合、スイッチ処理部11は、当該フローのパケットの転送経路を設定するよう、コントローラ100に対して要求する。具体的には、スイッチ処理部11は、コントローラ通信部12を介して、受信パケット(あるいは受信パケットのヘッダ情報)をコントローラ100に送信する(ステップS15)。この経路設定要求をコントローラ100に送信したスイッチ10は、以下「要求元スイッチ」と参照される。
コントローラ100は、要求元スイッチから経路設定要求(パケットあるいはヘッダ情報)を受け取る。この経路設定要求に応答して、コントローラ100は、当該フローの経路を設計する(ステップS110)。より詳細には、コントローラ100は、経路設定要求からパケットの宛先アドレスを抽出し、要求元スイッチからその宛先アドレスまでの経路を設計(決定)する。このとき、本実施の形態に係るコントローラ100は、複数の中継処理装置20の中から最適なものを選び、最適な中継処理装置20を通過するようにフロー経路を設計する。詳細は後述される(第2節参照)。
次に、コントローラ100は、設計経路上のスイッチ10(要求元スイッチを含む)に対して、設計経路に沿ったフロー通信を実現するように指示する(ステップS120)。具体的には、コントローラ100は、設計経路上の各スイッチ10に対して、当該設計経路をフローテーブルTBLに反映するよう指示する。すなわち、コントローラ100は、設計経路上の各スイッチ10に対して、当該フローのパケットが設計経路に沿って転送されるようにフローテーブルTBLを設定することを指示する。この指示に応答して、設計経路上の各スイッチ10は、当該フローに関連するエントリを自身のフローテーブルTBLに追加する。
フローテーブルTBLの設定後、コントローラ100は、受信パケットを要求元スイッチに返送する(ステップS130)。それ以降、設計経路上の各スイッチ10は、当該フローのパケットを受け取った際に、そのパケットを指定された経路に沿って転送することができる。
このように、コントローラ100は、フロー経路を決定し、そのフロー経路に沿った通信が実現されるようにネットワーク中のスイッチ10を制御する。つまり、コントローラ100は、スイッチ10を制御することによって、ネットワーク通信を適宜制御することができる。このような処理を実現するためのコントローラ100とスイッチ10との間のインタフェース方式としては、例えば、Openflow(http://www.openflowswitch.org/を参照)が挙げられる。この場合、「Openflow Controller」がコントローラ100となり、「Openflow Switch」が各スイッチ10となる。Openflowの「Secure Channel」を利用することにより、各スイッチ10のフローテーブルTBLの設定が可能である。
尚、本実施の形態に係るネットワークシステム1は、例えばデータセンター(data center)に適用される。一般的に、データセンターではサーバ群はラックに収容される。単一テナントの場合、ラック内のサーバ、あるいは、サーバ内の仮想マシンは全て、同じテナントに属することになる。一方、マルチテナントの場合、ラック内に複数のテナント環境が混在し得る。その場合、VLANなどのネットワーク仮想化技術によって、物理ネットワーク上に仮想的なネットワークが多重される。そして、個々の仮想的なネットワークにおいて、中継処理装置及びサーバが接続管理される。
2.コントローラ
2−1.構成
次に、本実施の形態に係るコントローラ100を詳しく説明する。図5Aは、コントローラ100のハードウェア構成例を示すブロック図である。コントローラ100は、CPU(Central Processing Unit)101、メモリ102、二次記憶装置103、ネットワークインタフェース104等を備える計算機である。
2−1.構成
次に、本実施の形態に係るコントローラ100を詳しく説明する。図5Aは、コントローラ100のハードウェア構成例を示すブロック図である。コントローラ100は、CPU(Central Processing Unit)101、メモリ102、二次記憶装置103、ネットワークインタフェース104等を備える計算機である。
図5Bは、コントローラ100の機能構成を示す機能ブロック図である。コントローラ100は、経路設計部110、スイッチ設定部120、スイッチ通信部130、割当管理部140、管理インタフェース150、及び記憶部160を備えている。
経路設計部110は、上述のステップS110(経路設計)を実行する。スイッチ設定部120は、上述のステップS120(スイッチ設定)を実行する。スイッチ通信部130は、制御回線5を介して各スイッチ10に接続されており、各スイッチ10と通信を行う。割当管理部140は、後述される割当管理処理(ステップS140、S150、S160、S170)を実行する。管理インタフェース150は、中継処理装置20及びサーバ30の管理装置と通信を行う。スイッチ通信部130及び管理インタフェース150は、図5A中のネットワークインタフェース104に対応している。経路設計部110、スイッチ設定部120、割当管理部140等は、CPU101がコンピュータプログラムを実行することにより実現される。このコンピュータプログラムは、コンピュータ読み取り可能な記録媒体に記録されていてもよい。
記憶部160は、RAM(Random Access Memory)やHDD(Hard Disk Drive)といった記憶装置であり、図5A中のメモリ102及び二次記憶装置103に相当する。この記憶部160には、ネットワーク構成情報TPL、負荷情報LAD、リンク情報LNK、設計経路情報RTE、ポリシ情報POL、割当情報ASNなどが格納される。
ネットワーク構成情報TPLは、ネットワークの物理構成及び論理構成を示す。すなわち、ネットワーク構成情報TPLは、複数のサーバ30、複数の中継処理装置20、複数のスイッチ10間の接続状態(トポロジ)を示す。例えば、ネットワーク構成情報TPLは、各サーバ30がどのスイッチ10のどのポート15に接続されているか、各中継処理装置20がどのスイッチ10のどのポート15に接続されているか、などを示す。
負荷情報LADは、それぞれの中継処理装置20の負荷を示す。各中継処理装置20の負荷は、各中継処理装置20によって計測される。コントローラ100は、中継処理装置20の管理装置を通して、計測された負荷に関する情報を取得する。
リンク情報LNKは、ネットワークにおけるリンク(回線)の状態を示す。リンク状態は、リンク容量(通信能力)及び輻輳状態を含む。リンク容量は予め決まっている。輻輳状態は、各スイッチ10により計測され、コントローラ100に通知される。尚、ここでのリンクは、物理的な回線だけでなく、物理的な回線を分割した仮想リンクも含む。この場合、スイッチ間の通信能力は、仮想リンクの帯域幅で規定される。
設計経路情報RTEは、ステップS110の結果作成される情報であり、あるフローのパケットの転送経路を示す。
ポリシ情報POLは、中継処理装置20(ロードバランサ、ファイアウォール)のポリシを示す。このポリシ情報POLは、中継処理装置20へのポリシ設定に利用される。
割当情報ASNは、複数のサーバ30と複数の中継処理装置20との間の割り当て関係を示す。各サーバ30は、複数の中継処理装置20のうち少なくとも1つに割り当てられ、各中継処理装置20は、複数のサーバ30のうち少なくとも1つに割り当てられる。図6は、割当情報ASNを示す概念図である。例えば、割当情報ASNは、各中継処理装置20の識別情報と、各中継処理装置20に割り当てられたサーバ30の識別情報及びIPアドレスを示す。
2−2.経路設計(ステップS110)及びスイッチ設定(ステップS120)
ステップS110において、経路設計部110は、要求元スイッチから経路設定要求(パケットあるいはヘッダ情報)を受け取る。この経路設定要求に応答して、経路設計部110は、要求元スイッチから宛先までのフローの経路を設計する。図7に示されるフローチャートを参照して、本実施の形態におけるステップS110を以下に詳しく説明する。
ステップS110において、経路設計部110は、要求元スイッチから経路設定要求(パケットあるいはヘッダ情報)を受け取る。この経路設定要求に応答して、経路設計部110は、要求元スイッチから宛先までのフローの経路を設計する。図7に示されるフローチャートを参照して、本実施の形態におけるステップS110を以下に詳しく説明する。
ステップS111:
経路設計部110は、受け取った経路設定要求からパケットの宛先IPアドレスを抽出する。続いて、経路設計部110は、記憶部160に格納されている上記割当情報ASNを参照して、宛先IPアドレスに関連付けられている中継処理装置20を抽出する。つまり、経路設計部110は、割当情報ASNを参照することによって、宛先IPアドレスで指定されるサーバに対して割り当てられている中継処理装置20を抽出する。
経路設計部110は、受け取った経路設定要求からパケットの宛先IPアドレスを抽出する。続いて、経路設計部110は、記憶部160に格納されている上記割当情報ASNを参照して、宛先IPアドレスに関連付けられている中継処理装置20を抽出する。つまり、経路設計部110は、割当情報ASNを参照することによって、宛先IPアドレスで指定されるサーバに対して割り当てられている中継処理装置20を抽出する。
ステップS113:
抽出数が1の場合、すなわち、宛先IPアドレスが単一の中継処理装置20にだけ割り当てられている場合(ステップS112;Yes)、経路設計部110は、その単一の中継処理装置20を“ターゲット”として選択する。
抽出数が1の場合、すなわち、宛先IPアドレスが単一の中継処理装置20にだけ割り当てられている場合(ステップS112;Yes)、経路設計部110は、その単一の中継処理装置20を“ターゲット”として選択する。
ステップS114:
抽出数が複数の場合、すなわち、宛先IPアドレスが2以上の中継処理装置20に割り当てられている場合(ステップS112;No)、経路設計部110は、それら中継処理装置20のうちいずれか1つを“ターゲット”として選択する。このターゲット選択に際し、経路設計部110は、通信効率や中継処理装置20の負荷分散を考慮する。そのため、経路設計部110は、記憶部160に格納されているリンク情報LINKあるいは/及び負荷情報LADを参照する。そして、経路設計部110は、通信効率や負荷分散の観点から最適な1つの中継処理装置20をターゲットとして選択する。
抽出数が複数の場合、すなわち、宛先IPアドレスが2以上の中継処理装置20に割り当てられている場合(ステップS112;No)、経路設計部110は、それら中継処理装置20のうちいずれか1つを“ターゲット”として選択する。このターゲット選択に際し、経路設計部110は、通信効率や中継処理装置20の負荷分散を考慮する。そのため、経路設計部110は、記憶部160に格納されているリンク情報LINKあるいは/及び負荷情報LADを参照する。そして、経路設計部110は、通信効率や負荷分散の観点から最適な1つの中継処理装置20をターゲットとして選択する。
ステップS115:
経路設計部110は、ネットワーク構成情報TPLを参照して、要求元スイッチから宛先アドレスまでのパケット転送経路を設計する。このとき、経路設計部110は、上述の選択ターゲットを通過するように経路を設計(決定)する。
経路設計部110は、ネットワーク構成情報TPLを参照して、要求元スイッチから宛先アドレスまでのパケット転送経路を設計する。このとき、経路設計部110は、上述の選択ターゲットを通過するように経路を設計(決定)する。
ステップS116:
経路設計部110は、設計した経路を示す設計経路情報RTEを作成し、その設計経路設計情報RTEを記憶部160に格納する。
経路設計部110は、設計した経路を示す設計経路情報RTEを作成し、その設計経路設計情報RTEを記憶部160に格納する。
その後、スイッチ設定部120は、記憶部160に格納された設計経路情報RTEを参照して、ステップS120を実行する。具体的には、スイッチ設定部120は、設計経路上の各スイッチ10に対して、当該フローのパケットが設計経路に沿って転送されるようにフローテーブルTBLを設定することを指示する。この指示に応答して、設計経路上の各スイッチ10は、当該フローに関連するエントリを自身のフローテーブルTBLに追加する。
以上に説明されたように、本実施の形態によれば、中継処理装置20のスケーラビリティを確保するために、複数の中継処理装置20が設けられる。更に、それら複数の中継処理装置20の前段に複数のスイッチ10が設けられる。コントローラ100は、複数の中継処理装置20の中から宛先に応じた適切なものをターゲットとして選択し、そのターゲットを通過するように経路を設計する。そして、設計経路に沿ってパケットが転送されるように、中継処理装置20の前段に設けられたスイッチ10を制御する。これは、複数の中継処理装置20に対するフローの分配(振り分け)が、スイッチ10とコントローラ100によって実現されていることを意味する。従って、状況に応じて、中継処理装置20を簡単にスケールアウトすることができる。このように、本実施の形態によれば、中継処理装置20のスケーラビリティを容易に確保することができる。
2−3.割当管理
例えばサーバ30や中継処理装置20が新たに追加されると、ネットワーク構成が変わる。このようなネットワーク構成の変更に応答して、コントローラ100の割当管理部140は、割当情報ASNの更新を行う。
例えばサーバ30や中継処理装置20が新たに追加されると、ネットワーク構成が変わる。このようなネットワーク構成の変更に応答して、コントローラ100の割当管理部140は、割当情報ASNの更新を行う。
(ステップS140:サーバ追加)
図8を参照して、新規サーバをネットワークに追加登録する場合の処理(ステップS140)を説明する。典型的には、ネットワークシステムにおいてサーバをスケールアウトするために、新規のサーバが追加される。
図8を参照して、新規サーバをネットワークに追加登録する場合の処理(ステップS140)を説明する。典型的には、ネットワークシステムにおいてサーバをスケールアウトするために、新規のサーバが追加される。
ステップS141:
割当管理部140は、サーバ30の管理装置あるいはサーバ30の設定情報ファイルから新規サーバ情報を取得する。更に、サーバ探索処理等を行い、新規サーバの接続先情報(どのスイッチのどのポートに接続されたか)を取得する。
割当管理部140は、サーバ30の管理装置あるいはサーバ30の設定情報ファイルから新規サーバ情報を取得する。更に、サーバ探索処理等を行い、新規サーバの接続先情報(どのスイッチのどのポートに接続されたか)を取得する。
ステップS142:
割当管理部140は、ネットワーク構成情報TPL(論理的なネットワーク接続関係)と接続先情報及び新規サーバ情報に基づいて、新規サーバを担当する中継処理装置20を決定する。このとき、割当管理部140は、新規サーバに必要な機能を有する中継処理装置20を選択する。例えば、新規サーバに対してロードバランサが必要な場合、割当管理部140は、ロードバランサ機能をもつ中継処理装置20を選択する。
割当管理部140は、ネットワーク構成情報TPL(論理的なネットワーク接続関係)と接続先情報及び新規サーバ情報に基づいて、新規サーバを担当する中継処理装置20を決定する。このとき、割当管理部140は、新規サーバに必要な機能を有する中継処理装置20を選択する。例えば、新規サーバに対してロードバランサが必要な場合、割当管理部140は、ロードバランサ機能をもつ中継処理装置20を選択する。
ステップS143:
割当管理部140は、ステップS142で選択された中継処理装置20に、新規サーバ情報を登録する。新規サーバ情報は、複数の中継処理装置20に登録されてもよい。中継処理装置20がロードバランサの場合、新規サーバ情報はロードバランスグループに追加される。中継処理装置20がファイアウォールの場合、そのファイアウォールに後段のサーバ情報を明示的に登録する必要はないが、中継処理装置を介して転送する可能性のあるサーバについての情報をコントローラ100に保持しておく。
割当管理部140は、ステップS142で選択された中継処理装置20に、新規サーバ情報を登録する。新規サーバ情報は、複数の中継処理装置20に登録されてもよい。中継処理装置20がロードバランサの場合、新規サーバ情報はロードバランスグループに追加される。中継処理装置20がファイアウォールの場合、そのファイアウォールに後段のサーバ情報を明示的に登録する必要はないが、中継処理装置を介して転送する可能性のあるサーバについての情報をコントローラ100に保持しておく。
ステップS144:
割当管理部140は、割当情報ASNを更新する。
割当管理部140は、割当情報ASNを更新する。
(ステップS150:サーバ削除)
図9を参照して、サーバを登録から削除する場合の処理(ステップS150)を説明する。典型的には、サーバの性能が十分となった場合に、サーバが削除される。
図9を参照して、サーバを登録から削除する場合の処理(ステップS150)を説明する。典型的には、サーバの性能が十分となった場合に、サーバが削除される。
ステップS151:
割当管理部140は、サーバ30の管理装置あるいはサーバ30の設定情報ファイルから削除サーバ情報を取得する。
割当管理部140は、サーバ30の管理装置あるいはサーバ30の設定情報ファイルから削除サーバ情報を取得する。
ステップS152:
割当管理部140は、割当情報ASNを参照して、削除サーバに割り当てられている中継処理装置20を認識する。
割当管理部140は、割当情報ASNを参照して、削除サーバに割り当てられている中継処理装置20を認識する。
ステップS153:
割当管理部140は、ステップS152で得られた中継処理装置20から、サーバ情報を削除する。
割当管理部140は、ステップS152で得られた中継処理装置20から、サーバ情報を削除する。
ステップS154:
割当管理部140は、割当情報ASNを更新する。
割当管理部140は、割当情報ASNを更新する。
(ステップS160:中継処理装置の追加)
図10を参照して、新規中継処理装置を追加する場合の処理(ステップS160)を説明する。典型的には、典型的には、中継処理装置20の性能が足りなくなった場合や、サーバ30までの中継経路が輻輳した場合に、新規中継処理装置が追加される。
図10を参照して、新規中継処理装置を追加する場合の処理(ステップS160)を説明する。典型的には、典型的には、中継処理装置20の性能が足りなくなった場合や、サーバ30までの中継経路が輻輳した場合に、新規中継処理装置が追加される。
ステップS161:
割当管理部140は、中継処理装置20の管理装置あるいは中継処理装置20の設定情報ファイルから、新規中継処理装置の識別情報(機能、アドレス等)及び接続先情報(どのスイッチのどのポートに接続されたか)を取得する。
割当管理部140は、中継処理装置20の管理装置あるいは中継処理装置20の設定情報ファイルから、新規中継処理装置の識別情報(機能、アドレス等)及び接続先情報(どのスイッチのどのポートに接続されたか)を取得する。
ステップS162:
割当管理部140は、新規中継処理装置の識別情報及び接続先情報に基づいて、既存の中継処理装置20が担当していたサーバのうち新規中継処理装置へ担当を変更するサーバを選択する。
割当管理部140は、新規中継処理装置の識別情報及び接続先情報に基づいて、既存の中継処理装置20が担当していたサーバのうち新規中継処理装置へ担当を変更するサーバを選択する。
ステップS163:
割当管理部140は、ステップS162で選択されたサーバのサーバ情報を、新規中継処理装置に登録する。
割当管理部140は、ステップS162で選択されたサーバのサーバ情報を、新規中継処理装置に登録する。
ステップS164:
割当管理部140は、割当情報ASNを更新する。
割当管理部140は、割当情報ASNを更新する。
(ステップS170:割当サーバ数の変更)
図11を参照して、中継処理装置20に対する割当サーバ数を変更する場合の処理(ステップS170)を説明する。
図11を参照して、中継処理装置20に対する割当サーバ数を変更する場合の処理(ステップS170)を説明する。
ステップS171:
中継処理装置20は、自身の負荷を計測し、計測負荷を管理装置経由でコントローラ100に通知する。あるいは、コントローラ100の負荷情報収集部(図示されない)が、各中継処理装置20から計測負荷情報を収集してもよい。割当管理部140は、それぞれの中継処理装置20の負荷を示す上述の負荷情報LADを記憶部160に格納する。
中継処理装置20は、自身の負荷を計測し、計測負荷を管理装置経由でコントローラ100に通知する。あるいは、コントローラ100の負荷情報収集部(図示されない)が、各中継処理装置20から計測負荷情報を収集してもよい。割当管理部140は、それぞれの中継処理装置20の負荷を示す上述の負荷情報LADを記憶部160に格納する。
ステップS172:
割当管理部140は、負荷情報LADを参照し、各中継処理装置20の計測負荷を所定の閾値と比較する。計測負荷が閾値を超えていない場合(ステップS172;No)、処理は終了する。
割当管理部140は、負荷情報LADを参照し、各中継処理装置20の計測負荷を所定の閾値と比較する。計測負荷が閾値を超えていない場合(ステップS172;No)、処理は終了する。
ステップS173:
一方、ある中継処理装置20(移行元の中継処理装置)に関する計測負荷が閾値を超えている場合(ステップS172;Yes)、割当管理部140は、他の中継処理装置20に余裕があるかどうか調べる。余裕のある他の中継処理装置20が有る場合(ステップS173;Yes)、割当管理部140は、その中継処理装置20を移行先の中継処理装置とする。
一方、ある中継処理装置20(移行元の中継処理装置)に関する計測負荷が閾値を超えている場合(ステップS172;Yes)、割当管理部140は、他の中継処理装置20に余裕があるかどうか調べる。余裕のある他の中継処理装置20が有る場合(ステップS173;Yes)、割当管理部140は、その中継処理装置20を移行先の中継処理装置とする。
ステップS174:
一方、余裕のある中継処理装置20が他に無い場合(ステップS173;No)、上記ステップS160と同様に、新規中継処理装置が追加される。この場合、割当管理部140は、新規中継処理装置を移行先の中継処理装置とする。
一方、余裕のある中継処理装置20が他に無い場合(ステップS173;No)、上記ステップS160と同様に、新規中継処理装置が追加される。この場合、割当管理部140は、新規中継処理装置を移行先の中継処理装置とする。
ステップS175:
割当管理部140は、移行元の中継処理装置が担当していたサーバのうち、移行先の中継処理装置へ担当を変更するサーバを選択する。そして、割当管理部140は、選択されたサーバのサーバ情報を、移行元の中継処理装置から削除し、移行先の中継処理装置に登録する。
割当管理部140は、移行元の中継処理装置が担当していたサーバのうち、移行先の中継処理装置へ担当を変更するサーバを選択する。そして、割当管理部140は、選択されたサーバのサーバ情報を、移行元の中継処理装置から削除し、移行先の中継処理装置に登録する。
ステップS176:
割当管理部140は、割当情報ASNを更新する。このようにして、各中継処理装置20に割り当てるサーバ数を、各中継処理装置20の負荷に応じて増減させることが可能となる。それにより、中継処理装置20のリソースを効率的に利用することが可能となる。
割当管理部140は、割当情報ASNを更新する。このようにして、各中継処理装置20に割り当てるサーバ数を、各中継処理装置20の負荷に応じて増減させることが可能となる。それにより、中継処理装置20のリソースを効率的に利用することが可能となる。
3.具体例
3−1.第1の例:ロードバランサ
図12〜図14を参照して、本実施の形態の第1の例を説明する。図12は、第1の例におけるネットワークシステム1の構成を示している。図13は、第1の例におけるネットワークシステム1の論理構成を示している。図14は、第1の例における割当情報ASNを示している。
3−1.第1の例:ロードバランサ
図12〜図14を参照して、本実施の形態の第1の例を説明する。図12は、第1の例におけるネットワークシステム1の構成を示している。図13は、第1の例におけるネットワークシステム1の論理構成を示している。図14は、第1の例における割当情報ASNを示している。
第1の例では、中継処理装置20がロードバランサLBである。図12に示されるように、第1のロードバランサLB1がスイッチ10−1に接続されており、第2のロードバランサLB2がスイッチ10−2に接続されている。第1のロードバランサLB1には、20台のサーバSV1−1〜SV1−20が割り当てられており、第1のロードバランサLB1は、それらサーバSV1−1〜SV1−20に対する負荷分散を行う。第2のロードバランサLB2には、10台のサーバSV2−1〜SV2−10が割り当てられており、第2のロードバランサLB2は、それらサーバSV2−1〜SV2−10に対する負荷分散を行う。
図13及び図14に示されるように、ロードバランサLB1、LB2が処理するサーバ群の仮想IPアドレスは共通の「20.1.1.1」であるとする。各ロードバランサLB1、LB2は、宛先IPアドレスが「20.1.1.1」であるパケットを受信すると、配下の複数の実サーバ30のうち1つを選択し、その実サーバに受信パケットを振り分ける(どの実サーバに送信しても処理は可能である)。つまり、宛先IPアドレスは複数のサーバSV間で共通であり、その単一の宛先IPアドレスが2つのロードバランサLB1、LB2に対応付けられている。これは、各サーバSVが、2つのロードバランサLB1、LB2に割り当てられていることと等価である。
ここで、新規サーバSV3の追加(ステップS140)を考える。新規サーバSV3がスイッチ10−2に追加接続されると、コントローラ100は、その新規サーバSV3に関するサーバ情報及び接続先情報を取得する(ステップS141)。次に、コントローラ100は、新規サーバSV3を含むネットワーク構成を参照して、新規サーバSV3を、スイッチ10−2に近い第2のロードバランサLB2の配下に組み込む(ステップS142)。続いて、コントローラ100は、第2のロードバランサLB2のロードバランスグループに、新規サーバSV3のサーバ情報を追加する(ステップS143)。そして、コントローラ100は、図14で示されるように割当情報ASNを更新する(ステップS144)。
尚、並列で第1のロードバランサLB1にも、新規サーバSV3を少ない重み付けで登録してもよい。この場合、サーバSV3を利用するトラヒックのほとんどは第2のロードバランサLB2で処理されるが、第1のロードバランサLB1の配下のサーバSV1−1〜SV1−20が過負荷のときにサーバSV3を選択するといった処理も可能となる。
スイッチ10−4(図12参照)が、「宛先IPアドレス=20.1.1.1」のパケットを初めて受信した場合を考える。つまり、スイッチ10−4が要求元スイッチとなる場合を考える。このとき、要求元スイッチ10−4は、経路設定要求(パケットあるいはヘッダ情報)をコントローラ100に送る。
経路設計部110は、受け取った経路設定要求から「宛先IPアドレス=20.1.1.1」を抽出する。更に、経路設計部110は、図14に示される割当情報ASNを参照して、「宛先IPアドレス=20.1.1.1」に対応付けられている2台のロードバランサLB1、LB2を抽出する(ステップS111、ステップS112;No)。
この場合、経路設計部110は、通信効率や負荷分散を考慮して、2台のロードバランサLB1、LB2のうちいずれか1つをターゲットとして選択する(ステップS114)。例えば、図12に示されるように、第1のロードバランサLB1が接続されているスイッチ10−1と要求元スイッチ10−4との間のリンク容量が1Gbpsであり、第2のロードバランサLB2が接続されているスイッチ10−2と要求元スイッチ10−4との間のリンク容量が10Gbpsである場合を考える。経路設計部110は、ネットワーク構成情報TPLやリンク情報LNKに基づいて、第2のロードバランサLB2の方をターゲットとして選択する。
経路設計部110は、要求元スイッチ10−4から宛先IPアドレスまでのパケット転送経路を設計する(ステップS115)。このとき、経路設計部110は、第2のロードバランサLB2を通過するように経路を決定する。その後、スイッチ設定部120は、設計経路上の各スイッチ10−4、10−2に対して、当該フローのパケットが設計経路に沿って転送されるようにフローテーブルTBLを設定することを指示する(ステップS120)。この指示に応答して、設計経路上の各スイッチ10−4、10−2は、当該フローに関連するエントリを自身のフローテーブルTBLに追加する。第2のロードバランサLB2は、配下のサーバSV2−1〜2−10、SV3に対して分散処理を実施する。
3−2.第2の例:ファイアウォール
図15〜図17を参照して、本実施の形態の第2の例を説明する。図15は、第2の例におけるネットワークシステム1の構成を示している。図16は、第2の例におけるネットワークシステム1の論理構成を示している。図17は、第2の例における割当情報ASNを示している。
図15〜図17を参照して、本実施の形態の第2の例を説明する。図15は、第2の例におけるネットワークシステム1の構成を示している。図16は、第2の例におけるネットワークシステム1の論理構成を示している。図17は、第2の例における割当情報ASNを示している。
第2の例では、中継処理装置20がファイアウォールFWである。ファイアウォールFWは、個別の宛先サーバ30に対するパケットを中継する。図15に示されるように、第1のファイアウォールFW1がスイッチ10−1に接続されており、第2のファイアウォールFW2がスイッチ10−2に接続されている。第1のファイアウォールFW1には、20台のサーバSV1−1〜SV1−20が割り当てられており、第1のファイアウォールFW1は、それらサーバSV1−1〜SV1−20に対するパケットを中継する。第2のファイアウォールFW2には、10台のサーバSV2−1〜SV2−10が割り当てられており、第2のファイアウォールFW2は、それらサーバSV2−1〜SV2−10に対するパケットを中継する。
図16及び図17に示されるように、ファイアウォールFW1、FW2の各々のIPアドレスは「20.1.1.2」である。各ファイアウォールFW1、FW2は、「IPアドレス=20.1.1.2」が転送次ホップとして指定されたパケットを受信し、ファイアウォールポリシに従ってフィルタ処理を行ったのち、当該パケットを宛先IPアドレスで指定される個々のサーバ30へ転送する。尚、ファイアウォールポリシは、ポリシ情報POLに従って、コントローラ100によって各ファイアウォールFW1、FW2に設定される。
ここで、新規サーバSV3の追加(ステップS140)を考える。新規サーバSV3がスイッチ10−2に追加接続されると、コントローラ100は、その新規サーバSV3に関するサーバ情報及び接続先情報を取得する(ステップS141)。次に、コントローラ100は、新規サーバSV3を含むネットワーク構成を参照して、新規サーバSV3を、スイッチ10−2に近い第2のファイアウォールFW2の配下に組み込む(ステップS142)。そして、コントローラ100は、図17で示されるように割当情報ASNを更新する(ステップS144)。但し、第1のファイアウォールFW1からもサーバSV3に接続は可能である。サーバSV3を利用するトラヒックのほとんどが第2のファイアウォールFW2から接続されるが、第2のファイアウォールFW2が過負荷のときには、第1のファイアウォールFW1を介してサーバSV3に接続することも可能である。
スイッチ10−4(図15参照)が、「宛先IPアドレス=20.1.3.1」のパケットを初めて受信した場合を考える。つまり、スイッチ10−4が要求元スイッチとなる場合を考える。このとき、要求元スイッチ10−4は、経路設定要求(パケットあるいはヘッダ情報)をコントローラ100に送る。
経路設計部110は、受け取った経路設定要求から「宛先IPアドレス=20.1.3.1」を抽出する。更に、経路設計部110は、図17に示される割当情報ASNを参照して、「宛先IPアドレス=20.1.3.1」に対応付けられている第2のファイアウォールFW2を抽出する(ステップS111、ステップS112;Yes)。この場合、経路設計部110は、この第2のファイアウォールFW2をターゲットとして選択する(ステップS113)。
経路設計部110は、要求元スイッチ10−4から宛先IPアドレスまでのパケット転送経路を設計する(ステップS115)。このとき、経路設計部110は、第2のファイアウォールFW2を通過するように経路を決定する。その後、スイッチ設定部120は、設計経路上の各スイッチ10−4、10−2に対して、当該フローのパケットが設計経路に沿って転送されるようにフローテーブルTBLを設定することを指示する(ステップS120)。この指示に応答して、設計経路上の各スイッチ10−4、10−2は、当該フローに関連するエントリを自身のフローテーブルTBLに追加する。第2のファイアウォールFW2は、宛先IPアドレスで指定されるサーバSV3に対するパケットを中継する。
以上、本発明の実施の形態が添付の図面を参照することにより説明された。但し、本発明は、上述の実施の形態に限定されず、要旨を逸脱しない範囲で当業者により適宜変更され得る。
本出願は、2009年10月23日に出願された日本国特許出願2009−244872を基礎とする優先権を主張し、その開示の全てをここに取り込む。
Claims (9)
- ネットワークに接続された複数のサーバと、
前記ネットワークに接続された複数の中継処理装置と、
前記ネットワーク中に配置された複数のスイッチと、
前記複数のスイッチを制御するコントローラと
を備え、
前記複数のサーバの各々は、前記複数の中継処理装置のうち少なくとも1つに割り当てられ、
前記複数の中継処理装置の各々は、自身に割り当てられたサーバへのパケットに対して所定の処理を実行し、
前記複数のスイッチの各々は、パケットの入力元と転送先との対応関係をフロー毎に示すフローテーブルを有し、前記フローテーブルを参照することによって、前記入力元から受け取ったパケットを前記転送先に転送し、
前記コントローラは、
記憶部と、
前記複数のスイッチのうち要求元スイッチからの要求に応答して、前記要求元スイッチから宛先アドレスまでのフローの経路を設計する経路設計部と、
前記設計された経路上の各スイッチに対して、当該フローのパケットが前記設計された経路に沿って転送されるように前記フローテーブルを設定することを指示するスイッチ設定部と
を備え、
前記記憶部には、
前記複数のサーバ、前記複数の中継処理装置、前記複数のスイッチ間の接続状態を示すネットワーク構成情報と、
前記複数のサーバと前記複数の中継処理装置との間の割り当て関係を示す割当情報と
が格納され、
前記経路設計部は、前記割当情報を参照して、前記宛先アドレスで指定されるサーバに割り当てられた中継処理装置のうちいずれか1つをターゲットとして選択し、
前記経路設計部は、前記ネットワーク構成情報を参照して、前記ターゲットを含むように前記経路を設計する
ネットワークシステム。 - 請求項1に記載のネットワークシステムであって、
前記宛先アドレスで指定されるサーバは、前記複数の中継処理装置のうち2以上の中継処理装置に割り当てられており、
前記経路設計部は、前記2以上の中継処理装置のうちいずれか1つを前記ターゲットとして選択する
ネットワークシステム。 - 請求項2に記載のネットワークシステムであって、
前記記憶部には、更に、
前記複数の中継処理装置のそれぞれの負荷を示す負荷情報と、
前記ネットワークにおけるリンクの状態を示すリンク情報と
が格納され、
前記経路設計部は、前記負荷情報と前記リンク情報のうち少なくとも一方を参照することによって、前記2以上の中継処理装置のうち最適な1つを前記ターゲットとして選択する
ネットワークシステム。 - 請求項2又は3に記載のネットワークシステムであって、
前記各中継処理装置は、ロードバランサである
ネットワークシステム。 - 請求項1に記載のネットワークシステムであって、
前記宛先アドレスで指定されるサーバは、前記複数の中継処理装置のうち1つの中継処理装置に割り当てられており、
前記経路設計部は、前記1つの中継処理装置を前記ターゲットとして選択する
ネットワークシステム。 - 請求項5に記載のネットワークシステムであって、
前記各中継処理装置は、ファイアウォールである
ネットワークシステム。 - 請求項1乃至6のいずれか一項に記載のネットワークシステムであって、
前記コントローラは、更に、サーバあるいは中継処理装置の追加に応答して前記割当情報を更新する割当管理部を備える
ネットワークシステム。 - ネットワーク中に配置された複数のスイッチを制御するコントローラであって、
前記ネットワークには複数のサーバと複数の中継処理装置が接続され、
前記複数のサーバの各々は、前記複数の中継処理装置のうち少なくとも1つに割り当てられ、
前記複数の中継処理装置の各々は、自身に割り当てられたサーバへのパケットに対して所定の処理を実行し、
前記複数のスイッチの各々は、パケットの入力元と転送先との対応関係をフロー毎に示すフローテーブルを有し、前記フローテーブルを参照することによって、前記入力元から受け取ったパケットを前記転送先に転送し、
前記コントローラは、
記憶部と、
前記複数のスイッチのうち要求元スイッチからの要求に応答して、前記要求元スイッチから宛先アドレスまでのフローの経路を設計する経路設計部と、
前記設計された経路上の各スイッチに対して、当該フローのパケットが前記設計された経路に沿って転送されるように前記フローテーブルを設定することを指示するスイッチ設定部と
を備え、
前記記憶部には、
前記複数のサーバ、前記複数の中継処理装置、前記複数のスイッチ間の接続状態を示すネットワーク構成情報と、
前記複数のサーバと前記複数の中継処理装置との間の割り当て関係を示す割当情報と
が格納され、
前記経路設計部は、前記割当情報を参照して、前記宛先アドレスで指定されるサーバに割り当てられた中継処理装置のうちいずれか1つをターゲットとして選択し、
前記経路設計部は、前記ネットワーク構成情報を参照して、前記ターゲットを含むように前記経路を設計する
コントローラ。 - ネットワークシステムの制御方法であって、
前記ネットワークシステムは、
ネットワークに接続された複数のサーバと、
前記ネットワークに接続された複数の中継処理装置と、
前記ネットワーク中に配置された複数のスイッチと
を備え、
前記複数のサーバの各々は、前記複数の中継処理装置のうち少なくとも1つに割り当てられ、
前記複数の中継処理装置の各々は、自身に割り当てられたサーバへのパケットに対して所定の処理を実行し、
前記複数のスイッチの各々は、パケットの入力元と転送先との対応関係をフロー毎に示すフローテーブルを有し、前記フローテーブルを参照することによって、前記入力元から受け取ったパケットを前記転送先に転送し、
前記制御方法は、
前記複数のスイッチのうち要求元スイッチからの要求に応答して、前記要求元スイッチから宛先アドレスまでのフローの経路を設計するステップと、
前記設計された経路上の各スイッチに対して、当該フローのパケットが前記設計された経路に沿って転送されるように前記フローテーブルを設定することを指示するステップと
を含み、
前記経路を設計するステップは、
ネットワーク構成情報と割当情報を記憶装置から読みだすステップと、ここで、前記ネットワーク構成情報は、前記複数のサーバ、前記複数の中継処理装置、前記複数のスイッチ間の接続状態を示し、前記割当情報は、前記複数のサーバと前記複数の中継処理装置との間の割り当て関係を示し、
前記割当情報を参照して、前記宛先アドレスで指定されるサーバに割り当てられた中継処理装置のうちいずれか1つをターゲットとして選択するステップと、
前記ネットワーク構成情報を参照して、前記ターゲットを含むように前記経路を設計するステップと
を含む
制御方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009244872 | 2009-10-23 | ||
JP2009244872 | 2009-10-23 | ||
PCT/JP2010/068504 WO2011049135A1 (ja) | 2009-10-23 | 2010-10-20 | ネットワークシステムとその制御方法、及びコントローラ |
Publications (1)
Publication Number | Publication Date |
---|---|
JPWO2011049135A1 true JPWO2011049135A1 (ja) | 2013-03-14 |
Family
ID=43900358
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011537284A Withdrawn JPWO2011049135A1 (ja) | 2009-10-23 | 2010-10-20 | ネットワークシステムとその制御方法、及びコントローラ |
Country Status (3)
Country | Link |
---|---|
US (1) | US8832272B2 (ja) |
JP (1) | JPWO2011049135A1 (ja) |
WO (1) | WO2011049135A1 (ja) |
Families Citing this family (84)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7675854B2 (en) | 2006-02-21 | 2010-03-09 | A10 Networks, Inc. | System and method for an adaptive TCP SYN cookie with time validation |
US8312507B2 (en) | 2006-10-17 | 2012-11-13 | A10 Networks, Inc. | System and method to apply network traffic policy to an application session |
US8584199B1 (en) | 2006-10-17 | 2013-11-12 | A10 Networks, Inc. | System and method to apply a packet routing policy to an application session |
US9960967B2 (en) | 2009-10-21 | 2018-05-01 | A10 Networks, Inc. | Determining an application delivery server based on geo-location information |
WO2011074630A1 (ja) * | 2009-12-17 | 2011-06-23 | 日本電気株式会社 | 負荷分散システム、負荷分散方法、負荷分散システムを構成する装置およびプログラム |
US9215275B2 (en) | 2010-09-30 | 2015-12-15 | A10 Networks, Inc. | System and method to balance servers based on server load status |
US9609052B2 (en) | 2010-12-02 | 2017-03-28 | A10 Networks, Inc. | Distributing application traffic to servers based on dynamic service response time |
CN103348642B (zh) * | 2011-01-28 | 2016-07-20 | 日本电气株式会社 | 通信系统、转发节点、控制设备、通信控制方法 |
JP5668503B2 (ja) * | 2011-02-01 | 2015-02-12 | 日本電気株式会社 | 有害サイトフィルタリングシステム及びフィルタリング方法 |
JP5566952B2 (ja) * | 2011-06-14 | 2014-08-06 | 日本電信電話株式会社 | ネットワークシステム、中継制御装置、中継制御方法及び中継制御プログラム |
EP2712128B1 (en) | 2011-07-06 | 2016-01-13 | Huawei Technologies Co., Ltd. | Message processing method and related device thereof |
EP2761824B1 (en) * | 2011-09-28 | 2017-08-30 | Telefonaktiebolaget LM Ericsson (publ) | Centralized data plane flow control |
US8897154B2 (en) | 2011-10-24 | 2014-11-25 | A10 Networks, Inc. | Combining stateless and stateful server load balancing |
US9386088B2 (en) | 2011-11-29 | 2016-07-05 | A10 Networks, Inc. | Accelerating service processing using fast path TCP |
US9094364B2 (en) | 2011-12-23 | 2015-07-28 | A10 Networks, Inc. | Methods to manage services over a service gateway |
US10044582B2 (en) | 2012-01-28 | 2018-08-07 | A10 Networks, Inc. | Generating secure name records |
US8923296B2 (en) * | 2012-02-23 | 2014-12-30 | Big Switch Networks, Inc. | System and methods for managing network packet forwarding with a controller |
US9185166B2 (en) | 2012-02-28 | 2015-11-10 | International Business Machines Corporation | Disjoint multi-pathing for a data center network |
JP5967187B2 (ja) * | 2012-03-02 | 2016-08-10 | 日本電気株式会社 | 経路制御システム、コントロール装置及び経路制御方法 |
US9118618B2 (en) | 2012-03-29 | 2015-08-25 | A10 Networks, Inc. | Hardware-based packet editor |
US9013995B2 (en) * | 2012-05-04 | 2015-04-21 | Telefonaktiebolaget L M Ericsson (Publ) | Congestion control in packet data networking |
JP5975752B2 (ja) * | 2012-06-21 | 2016-08-23 | エヌ・ティ・ティ・コムウェア株式会社 | ノード管理装置、ノード管理方法、及びプログラム |
EP2680512B1 (en) * | 2012-06-25 | 2019-07-24 | Alcatel Lucent | Network entity of a communication network |
US8782221B2 (en) | 2012-07-05 | 2014-07-15 | A10 Networks, Inc. | Method to allocate buffer for TCP proxy session based on dynamic network conditions |
CN108027805B (zh) | 2012-09-25 | 2021-12-21 | A10网络股份有限公司 | 数据网络中的负载分发 |
US10021174B2 (en) * | 2012-09-25 | 2018-07-10 | A10 Networks, Inc. | Distributing service sessions |
US9843484B2 (en) | 2012-09-25 | 2017-12-12 | A10 Networks, Inc. | Graceful scaling in software driven networks |
US10002141B2 (en) | 2012-09-25 | 2018-06-19 | A10 Networks, Inc. | Distributed database in software driven networks |
US9042234B1 (en) * | 2012-10-31 | 2015-05-26 | Big Switch Networks, Inc. | Systems and methods for efficient network traffic forwarding |
US9338225B2 (en) * | 2012-12-06 | 2016-05-10 | A10 Networks, Inc. | Forwarding policies on a virtual service network |
US9531846B2 (en) | 2013-01-23 | 2016-12-27 | A10 Networks, Inc. | Reducing buffer usage for TCP proxy session based on delayed acknowledgement |
JP6032026B2 (ja) * | 2013-01-24 | 2016-11-24 | 富士通株式会社 | 中継プログラム、中継方法および中継処理装置 |
US8966586B2 (en) * | 2013-01-27 | 2015-02-24 | International Business Machines Corporation | Authentication within OpenFlow network |
US9374285B1 (en) * | 2013-02-07 | 2016-06-21 | Big Switch Networks, Inc. | Systems and methods for determining network topologies |
KR20140106235A (ko) * | 2013-02-26 | 2014-09-03 | 한국전자통신연구원 | 오픈플로우 스위치 및 그 패킷 처리 방법 |
US9900252B2 (en) | 2013-03-08 | 2018-02-20 | A10 Networks, Inc. | Application delivery controller and global server load balancer |
US9118984B2 (en) | 2013-03-15 | 2015-08-25 | International Business Machines Corporation | Control plane for integrated switch wavelength division multiplexing |
US9769074B2 (en) | 2013-03-15 | 2017-09-19 | International Business Machines Corporation | Network per-flow rate limiting |
US9444748B2 (en) | 2013-03-15 | 2016-09-13 | International Business Machines Corporation | Scalable flow and congestion control with OpenFlow |
US9609086B2 (en) | 2013-03-15 | 2017-03-28 | International Business Machines Corporation | Virtual machine mobility using OpenFlow |
US9596192B2 (en) | 2013-03-15 | 2017-03-14 | International Business Machines Corporation | Reliable link layer for control links between network controllers and switches |
US9104643B2 (en) | 2013-03-15 | 2015-08-11 | International Business Machines Corporation | OpenFlow controller master-slave initialization protocol |
US9407560B2 (en) | 2013-03-15 | 2016-08-02 | International Business Machines Corporation | Software defined network-based load balancing for physical and virtual networks |
US9992107B2 (en) | 2013-03-15 | 2018-06-05 | A10 Networks, Inc. | Processing data packets using a policy based network path |
US10038693B2 (en) | 2013-05-03 | 2018-07-31 | A10 Networks, Inc. | Facilitating secure network traffic by an application delivery controller |
US10027761B2 (en) | 2013-05-03 | 2018-07-17 | A10 Networks, Inc. | Facilitating a secure 3 party network session by a network device |
US9225638B2 (en) | 2013-05-09 | 2015-12-29 | Vmware, Inc. | Method and system for service switching using service tags |
CN104243337B (zh) | 2013-06-09 | 2017-09-01 | 新华三技术有限公司 | 一种跨集群负载均衡的方法及装置 |
US9391897B2 (en) * | 2013-07-31 | 2016-07-12 | Oracle International Corporation | Methods, systems, and computer readable media for mitigating traffic storms |
US10230770B2 (en) | 2013-12-02 | 2019-03-12 | A10 Networks, Inc. | Network proxy layer for policy-based application proxies |
US20150163072A1 (en) * | 2013-12-05 | 2015-06-11 | Broadcom Corporation | Virtual Port Extender |
US20150169345A1 (en) * | 2013-12-18 | 2015-06-18 | International Business Machines Corporation | Software-defined networking (sdn) for management of traffic between virtual processors |
WO2015133059A1 (ja) * | 2014-03-07 | 2015-09-11 | 日本電気株式会社 | 経路制御装置、経路制御方法および経路制御プログラム |
US9942152B2 (en) | 2014-03-25 | 2018-04-10 | A10 Networks, Inc. | Forwarding data packets using a service-based forwarding policy |
US9942162B2 (en) | 2014-03-31 | 2018-04-10 | A10 Networks, Inc. | Active application response delay time |
US9906422B2 (en) | 2014-05-16 | 2018-02-27 | A10 Networks, Inc. | Distributed system to determine a server's health |
US10129122B2 (en) | 2014-06-03 | 2018-11-13 | A10 Networks, Inc. | User defined objects for network devices |
US9992229B2 (en) | 2014-06-03 | 2018-06-05 | A10 Networks, Inc. | Programming a data network device using user defined scripts with licenses |
EP3142306B1 (en) * | 2014-06-03 | 2019-01-09 | Huawei Technologies Co., Ltd. | Openflow communication method, system, controller, and service gateway |
US9986061B2 (en) | 2014-06-03 | 2018-05-29 | A10 Networks, Inc. | Programming a data network device using user defined scripts |
US9531590B2 (en) * | 2014-09-30 | 2016-12-27 | Nicira, Inc. | Load balancing across a group of load balancers |
US9774537B2 (en) | 2014-09-30 | 2017-09-26 | Nicira, Inc. | Dynamically adjusting load balancing |
US10225137B2 (en) | 2014-09-30 | 2019-03-05 | Nicira, Inc. | Service node selection by an inline service switch |
US10268467B2 (en) | 2014-11-11 | 2019-04-23 | A10 Networks, Inc. | Policy-driven management of application traffic for providing services to cloud-based applications |
US10609091B2 (en) | 2015-04-03 | 2020-03-31 | Nicira, Inc. | Method, apparatus, and system for implementing a content switch |
US10581976B2 (en) | 2015-08-12 | 2020-03-03 | A10 Networks, Inc. | Transmission control of protocol state exchange for dynamic stateful service insertion |
US10243791B2 (en) | 2015-08-13 | 2019-03-26 | A10 Networks, Inc. | Automated adjustment of subscriber policies |
US10797966B2 (en) | 2017-10-29 | 2020-10-06 | Nicira, Inc. | Service operation chaining |
US11012420B2 (en) | 2017-11-15 | 2021-05-18 | Nicira, Inc. | Third-party service chaining using packet encapsulation in a flow-based forwarding element |
US10797910B2 (en) | 2018-01-26 | 2020-10-06 | Nicira, Inc. | Specifying and utilizing paths through a network |
US10659252B2 (en) | 2018-01-26 | 2020-05-19 | Nicira, Inc | Specifying and utilizing paths through a network |
US10728174B2 (en) | 2018-03-27 | 2020-07-28 | Nicira, Inc. | Incorporating layer 2 service between two interfaces of gateway device |
US10805192B2 (en) | 2018-03-27 | 2020-10-13 | Nicira, Inc. | Detecting failure of layer 2 service using broadcast messages |
US10944673B2 (en) | 2018-09-02 | 2021-03-09 | Vmware, Inc. | Redirection of data messages at logical network gateway |
US11595250B2 (en) | 2018-09-02 | 2023-02-28 | Vmware, Inc. | Service insertion at logical network gateway |
US11360796B2 (en) | 2019-02-22 | 2022-06-14 | Vmware, Inc. | Distributed forwarding for performing service chain operations |
US11283717B2 (en) | 2019-10-30 | 2022-03-22 | Vmware, Inc. | Distributed fault tolerant service chain |
US11140218B2 (en) | 2019-10-30 | 2021-10-05 | Vmware, Inc. | Distributed service chain across multiple clouds |
US11223494B2 (en) | 2020-01-13 | 2022-01-11 | Vmware, Inc. | Service insertion for multicast traffic at boundary |
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 |
US11212356B2 (en) | 2020-04-06 | 2021-12-28 | Vmware, Inc. | Providing services at the edge of a network using selected virtual tunnel interfaces |
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 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7055173B1 (en) * | 1997-12-19 | 2006-05-30 | Avaya Technology Corp. | Firewall pooling in a network flowswitch |
US6601084B1 (en) * | 1997-12-19 | 2003-07-29 | Avaya Technology Corp. | Dynamic load balancer for multiple network servers |
JP3898498B2 (ja) * | 2001-12-06 | 2007-03-28 | 富士通株式会社 | サーバ負荷分散システム |
JP3897603B2 (ja) * | 2002-01-28 | 2007-03-28 | 富士通株式会社 | フロントエンドプロセッサ、ルーティング管理方法、およびルーティング管理プログラム |
JP2004064490A (ja) * | 2002-07-30 | 2004-02-26 | Fujitsu Ltd | データ通信システム |
JP2004129156A (ja) * | 2002-10-07 | 2004-04-22 | Ntt Docomo Inc | 経路制御システム、経路制御装置、転送装置及び経路制御方法 |
JP2004140539A (ja) * | 2002-10-17 | 2004-05-13 | Hitachi Ltd | 情報ルーティング方式および情報中継装置 |
US20050169254A1 (en) * | 2003-04-14 | 2005-08-04 | Fujitsu Limited | Data relay apparatus, data relay method, data relay program, service selection apparatus, service selection method and service selection program |
JP4041038B2 (ja) | 2003-08-13 | 2008-01-30 | 富士通株式会社 | 高位レイヤ処理方法及びシステム |
US9019830B2 (en) * | 2007-05-15 | 2015-04-28 | Imagine Communications Corp. | Content-based routing of information content |
US9083609B2 (en) * | 2007-09-26 | 2015-07-14 | Nicira, Inc. | Network operating system for managing and securing networks |
-
2010
- 2010-10-20 JP JP2011537284A patent/JPWO2011049135A1/ja not_active Withdrawn
- 2010-10-20 WO PCT/JP2010/068504 patent/WO2011049135A1/ja active Application Filing
-
2011
- 2011-09-30 US US13/200,755 patent/US8832272B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US20120023231A1 (en) | 2012-01-26 |
US8832272B2 (en) | 2014-09-09 |
WO2011049135A1 (ja) | 2011-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2011049135A1 (ja) | ネットワークシステムとその制御方法、及びコントローラ | |
JP6335363B2 (ja) | 仮想クラウドインフラストラクチャへの仮想セキュリティ装置アーキテクチャの提供 | |
EP3435606B1 (en) | Message processing method, computing device, and message processing apparatus | |
JP5637148B2 (ja) | スイッチネットワークシステム、コントローラ、及び制御方法 | |
US10257066B2 (en) | Interconnect congestion control in a storage grid | |
JP5648926B2 (ja) | ネットワークシステム、コントローラ、ネットワーク制御方法 | |
US20170264677A1 (en) | Service Processing Apparatus and Method | |
US8218561B2 (en) | Flow redirection employing state information | |
JP6619096B2 (ja) | ファイアウォールクラスタ | |
WO2011074516A1 (ja) | ネットワークシステムとその制御方法、及びコントローラ | |
JP2015503274A (ja) | 仮想レーンの動的割り当てを用いてファットツリートポロジにおける輻輳を緩和するためのシステムおよび方法 | |
JP6277853B2 (ja) | 制御装置、通信装置、および、通信方法 | |
US9584422B2 (en) | Methods and apparatuses for automating return traffic redirection to a service appliance by injecting traffic interception/redirection rules into network nodes | |
JP5861772B2 (ja) | ネットワークアプライアンス冗長化システム、制御装置、ネットワークアプライアンス冗長化方法及びプログラム | |
Xie et al. | Supporting seamless virtual machine migration via named data networking in cloud data center | |
US8908702B2 (en) | Information processing apparatus, communication apparatus, information processing method, and relay processing method | |
JPWO2014112616A1 (ja) | 制御装置、通信装置、通信システム、スイッチの制御方法及びプログラム | |
JP2011159247A (ja) | ネットワークシステム、コントローラ、ネットワーク制御方法 | |
US20170228539A1 (en) | Control device, control system, control method, and control program | |
US20150319099A1 (en) | Storage area network system, controller, access control method and program | |
JP6888566B2 (ja) | 負荷分散システム及び負荷分散方法 | |
JP7052634B2 (ja) | 負荷分散システム及び負荷分散方法 | |
JP7003873B2 (ja) | 負荷分散システム及び負荷分散方法 | |
JPWO2014142094A1 (ja) | 通信システム、物理マシン、仮想ネットワーク管理装置、および、ネットワーク制御方法 | |
WO2020162185A1 (ja) | 負荷分散システム及び負荷分散方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20140107 |