JP2015198295A - 情報処理システム、その制御方法、及び制御装置 - Google Patents

情報処理システム、その制御方法、及び制御装置 Download PDF

Info

Publication number
JP2015198295A
JP2015198295A JP2014074426A JP2014074426A JP2015198295A JP 2015198295 A JP2015198295 A JP 2015198295A JP 2014074426 A JP2014074426 A JP 2014074426A JP 2014074426 A JP2014074426 A JP 2014074426A JP 2015198295 A JP2015198295 A JP 2015198295A
Authority
JP
Japan
Prior art keywords
packet
information processing
host
processing apparatus
port
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.)
Ceased
Application number
JP2014074426A
Other languages
English (en)
Inventor
松岡 直樹
Naoki Matsuoka
直樹 松岡
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2014074426A priority Critical patent/JP2015198295A/ja
Priority to US14/643,198 priority patent/US9819594B2/en
Publication of JP2015198295A publication Critical patent/JP2015198295A/ja
Ceased legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/122Avoiding congestion; Recovering from congestion by diverting traffic away from congested entities
    • 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
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Abstract

【課題】ネットワーク機器を直接的に制御することなく、VLAN−IDより制約が小さい資源であるトンネルIDを用いて、パケット転送を抑制させるべきリンクを介したパケット転送を抑制させるための技術を提供する。【解決手段】制御サーバ3は、ホスト1−1、1−2に対し、他方から送信されるARPパケットを廃棄させるフィルタ設定を行い(SC1)、ホスト1−1、及び1−2を対象にしたGARPパケットの送信をL2GW10−23に指示する(SC2)。その指示により、L2GW10−23は、GARPパケットを送信し(SD1、SD2)、ホスト1−1、1−2から送信されるARPパケットに応答する(SD3)。そのようにして、ホスト1−1、1−2間のパケット転送における通信先として、ホスト1−1、1−2にL2GW10−23を認識させる。【選択図】図12

Description

本発明は、複数台の情報処理装置を備えた情報処理システム、その制御方法、及びその情報処理システムに用いられる制御装置に関する。
現在、情報処理装置はネットワークに接続可能となっている。ノードとしてネットワークに接続される情報処理装置とは、端末装置、端末装置等にサービス、若しくは処理能力等を提供するホストコンピュータ(以降「ホスト」と略記)、或いは情報収集等の何らかの処理を行う機器等である。ここでは、ホストは端末装置に対してサービスを提供するサーバを含む意味で用いる。また、以降、特に断らない限り、情報処理装置は、パケットの送信元(送信側)、或いは送信先(受信側)となる情報処理装置を指す意味で用いる。情報処理装置以外のノードは、大部分はハブ、或いはスイッチ等のネットワーク機器である。このことから、情報処理装置以外のノードは「ネットワーク機器」と表記する。
ネットワークに接続される情報処理装置の台数は増大傾向にある。現在では、1つのネットワークに多くの情報処理装置が接続されているのが普通となっている。また、情報処理装置間で送受信されるデータ量も増大傾向にある。このようなことから、ネットワーク上のトラフィック量も増大傾向にある。
各情報処理装置から送信されたパケットは、ネットワークの構成、及びパケットを送受信する各情報処理装置のネットワーク上の位置に応じた経路で転送される。比較的に多くの転送経路が重なるリンクは、他のリンクよりも通信トラフィックが集中しやすくなり易いことから、情報処理装置の性能ボトルネックとなる可能性が高い。
このようなネットワーク内でのトラフィックの集中は、ネットワークに接続された情報処理装置の処理能力を低下させる要因となる。このようなことから、ネットワーク内でのトラフィック集中は発生させないようにするのが望ましい。
ネットワーク内でのトラフィック集中発生の抑制は、パケットの転送経路を制御することで可能である。転送経路を制御する従来の方法としては、ネットワーク機器の管理を通して行う第1の方法、VLAN(Virtual Local Area Network)技術を用いて行う第2の方法、等が考えられる。
ネットワーク機器は、受信したパケットのヘッダを参照し、受信したパケットを送信するポートを決定する。パケットを送信すべきポートの決定には、通常、MAC(Media Access Control)アドレス、或いはIP(Internet Protocol)アドレスと、パケットを送信すべきポートとの関係を表すパケットフォワーディングテーブルが用いられる。このパケットフォワーディングテーブルの内容をネットワーク管理システム経由で変更することによってパケットの転送経路を変更することができる.しかし,ネットワーク管理システムを通してパケットの転送経路を制御する場合、外部からの直接的な制御によりパケットフォワーディングテーブルを更新可能なネットワーク機器が設置され、且つ任意のネットワーク機器を制御可能なネットワーク管理システムが存在することが前提となる。しかし、その前提をネットワーク(そのネットワークが構築されたデータセンタ等の施設)が満たしているとは限らない。管理システムの構築、及びその管理システムによる直接的な制御が可能なネットワーク機器への交換には多大なコストが発生する。このようなことから、第1の方法の適用は望ましくない面が多い。コストをより確実に抑えるためには、外部からの直接的な制御が可能なネットワーク機器の存在は想定すべきではないと云える。
ネットワークを論理的に複数のブロードキャストドメイン(VLAN)に分割するVLAN技術は、ネットワークに非常に多くの情報処理装置が接続されるようになっていることもあり、現在では広く用いられている。
VLANへの分割により、パケットの転送経路は変化する。第2の方法では、このことを利用する。第2の方法では、複数の経路毎に予めVLANを設定し、実際にボトルネックとなったリンクを通過しないように使用するVLANを切り替える。使用するVLANの切り替えにより、ボトルネックとなったリンクを介したパケット転送を回避させることができる。しかし、そのようなパケット転送の回避のためには、あらかじめ多くのVLANを設定しておかなければならない。
各VLANには、識別情報として、VLAN−ID(IDentifier)が割り当てられる。割り当て可能なVLAN−IDは有限な資源であり、現在では、ネットワークの規模から、割り当て可能なVLAN−IDの数は必ずしも十分ではなくなっている。このような現状から、第2の方法は適用できるとは限らない。これは、資源上の制約の程度は重視すべき事項であることを意味する。
上記のようなことから、ボトルネック等の理由によりパケット転送を抑制(ここでは回避を含む)させるべきリンクの存在、或いは発生への対応には、ネットワーク機器を制御することなく、制約がより小さい資源を用いて行うのが望ましいと思われる。
特許文献1には、第1のコンピュータ及び第2のコンピュータを含む複数のコンピュータと通信可能な対策機器であって、通信サービスの制限開始命令に応答して、前記第1のコンピュータに記録された前記第2のコンピュータの通信アドレスを、前記対策機器の通信アドレスに変更し、前記第2のコンピュータに記録された前記第1のコンピュータの通信アドレスを、前記対策機器の通信アドレスに変更する通信アドレス変更手段と、前記第1のコンピュータから前記第2のコンピュータへのパケットを取得する第1パケット取得手段と、前記第2のコンピュータから前記第1のコンピュータへのパケットを取得する第2パケット取得手段と、前記第1パケット取得手段が取得したパケットを前記第2のコンピュータに送信するかを判断する第1判断手段と、を備えることにより前記第1のコンピュータと前記第2のコンピュータとによる通信サービスを制限する対策機器が記載されている。
特許文献2には、自己のIPアドレス及びMACアドレスと、監視対象となる複数の端末のIPアドレスとを記憶するアドレス記憶手段と、アドレス記憶手段に記憶された複数の端末のIPアドレスを用いて当該複数の端末との間でARP要求メッセージ及びARP応答メッセージを送受信して、当該複数の端末が記憶しているIPアドレスとMACアドレスとの組を記述したARPテーブルを書き換える代理ARP処理手段と、複数の端末のうちの何れかの端末から送信されたパケットを受信するパケット受信手段と、パケット受信手段で受信したパケットを解析して所定の条件に合致する場合にパケットに所定のフィルタリング処理を施すフィルタリング手段と、フィルタリング手段によって処理されたパケットを他の端末に転送するパケット転送手段とを備えるパケット転送装置が記載されている。
特開2006−74705号公報 特開2008−109357号公報
一側面では、本発明は、ネットワーク機器を直接的に制御することなく、VLAN−IDより制約が小さい資源であるトンネルIDを用いて、パケット転送を抑制させるべきリンクを介したパケット転送を抑制させるための技術を提供することを目的とする。
本発明を適用した1システムは、パケットの送信元である第1の情報処理装置と、前記パケットの送信先である第2の情報処理装置と、第1のポートと第2のポートを備えるとともに前記パケットを前記第1のポートと前記第2のポート間で中継する第3の情報処理装置と、前記第1の情報処理装置と前記第2の情報処理装置と前記第3の情報処理装置を制御する制御装置とを有する。前記制御装置は、前記第2の情報処理装置を識別する第2の識別情報を含むアドレスを解決するための第1の要求パケットを受信しないように前記第2の情報処理装置に設定する設定部と、前記第3の情報処理装置に前記第1のポートから前記第1の識別情報を含む第1の確認パケットを送信させ、前記第1の情報処理装置に前記第1の要求パケットを送信させ、前記第3の情報処理装置に前記第1のポートから前記第1の要求パケットに対する第1の応答パケットを送信させる制御部とを有する。
本発明を適用した場合には、ネットワーク機器を直接的に制御することなく、VLAN−IDより制約が小さい資源であるトンネルIDを用いて、パケット転送を抑制させるべきリンクを介したパケット転送を抑制させることができる。
本実施形態による情報処理システムの構成例を説明する図である。 制御サーバによるパケットの転送経路の切り替え制御例を説明する図である。 トンネルを用いて送信されるパケットの構成例を説明する図である。 制御サーバ、ホスト、ホスト上に作成されるL2GW、及びスイッチの機能構成例を説明する図である。 GARPパケットの構成例を説明する図である。 L2GWを配備するホストの選択方法例を説明する図である。 VMフロー毎の経路テーブルの構成例を説明する図である。 VM稼働ホストテーブルの構成例を説明する図である。 ARPパケットのフィルタリング設定のために送信されるメッセージ例を説明する図である。 GARPパケットの送信のためのメッセージ例を説明する図である。 パケットの転送経路を切り替える場合の制御サーバ、ホスト、及びスイッチの動作例を説明する図である。 パケットの転送経路を切り替える場合の制御サーバ、ホスト、及びスイッチの動作例を表すシーケンス図である。 制御サーバが実行する転送経路切り替え処理のフローチャートである。 ホストが実行するパケット送信処理のフローチャートである。 ホストが実行するパケット受信処理のフローチャートである。 中継ホストが実行するパケット受信処理のフローチャートである。
以下、本発明の実施形態について、図面を参照しながら詳細に説明する。
図1は、本実施形態による情報処理システムの構成例を説明する図である。本実施形態による情報処理システムは、例えばデータセンタに構築されたシステムである。図1には、説明上、便宜的に、情報処理システムの一部を抜粋して表している。
図1に「Host0」〜「Host5」と表記のホストコンピュータ(以降「ホスト」と略記)1(1−0〜1−5)は、全て本実施形態による情報処理装置である。図1には、パケットの送信元、或いは送信先となる情報処理装置として、本実施形態による情報処理装置であるホスト1のみ表している。各ホスト1は、図1に表すように、複数のCPU(Central Processing Unit)11、FWH(Firm-Ware Hub)12、メモリ13、ハードディスク装置(HD)14、及び1つ以上のNIC(Network Interface Card)15(15−1、15−2)を備えている。
各ホスト1上には、VM(Virtual Machine)が作成される。図1中に表記の「VMa」「VMb」及び「L2GW」は何れもホスト1に作成されたVMを表している。「VMa」及び「VMb」は、サービス、若しくは処理能力等を提供するために作成されるVMであり、「L2GW」はパケットの転送経路を制御するために作成されるVMである。そのような用途の違いから、符号として、「VMa」及び「VMb」には10−1(10−11、10−12)、「L2GW」には10−2(10−23〜10−25)をそれぞれ付している。以降、各ホスト1上に作成される「VMa」及び「VMb」等は、作成されるホスト1を区別する必要のない場合「VMn」と表記する。また、作成されるホスト1、及び用途を区別する必要のないVMには符号として10を付すこととする。
ここでは、VM10が動作する仮想化環境は、ハイパーバイザー型と想定する。その想定では、仮想化環境は,ハードディスク装置14上のハイパーバイザーによって提供される。各VM10で動作するゲストOS(Operating System)101、及びアプリケーション・プログラム(以降「アプリケーション」と略記)は、例えばハードディスク装置14上に格納されている。ホストOS型の仮想化環境であった場合、ハードディスク装置14上にはホストOS110も格納される。
各ホスト1上に作成された各VM10上には、仮想的なNICである仮想NICが構築され、構築された仮想NICにはMACアドレスが割り当てられる。そのため、ホスト1間の通信、つまりパケットの送受信は、VM10単位で行われる。
図1に表記の「SW1」〜「SW6」は、ネットワーク機器2(2−1〜2−6)である。ネットワーク機器2の種類は特に限定されない。しかし、ここでは各ネットワーク機器2は、MACアドレスと、パケットを送信すべきポートとの関係を表すテーブル(以降「フォワーディングテーブル」と表記)2aを参照し、受信したパケットを送信すべきポートを選択すると想定する。そのフォワーディングテーブル2aの各エントリ(レコード)には、他に、自身が属するVLANを表すVLAN−IDが保存されている。以降、各ネットワーク機器2は「スイッチ」と表記する。
情報処理システムには、管理用として、制御サーバ3が設置されている。この制御サーバ3は、本実施形態による制御装置であり、図1に表すように、1つ以上のCPU31、FWH32、メモリ33、ハードディスク装置34、及び1つ以上のNIC35を備えている。
制御サーバ3は、少なくともホスト1を制御対象としている。例えばハードディスク装置34上には、情報処理システムを管理するための制御プログラム3cが格納されている。CPU31がその制御プログラム3cを実行することにより、制御サーバ3は情報処理システムの管理を行う。ここでは、図2に表すように、制御サーバ3はスイッチ2−1に接続されていると想定する。制御サーバ3と各ホスト1間の通信は、スイッチ2を介して行わせなくとも良い。
図2は、制御サーバによるパケットの転送経路の切り替え制御例を説明する図である。図2では、スイッチ2−4とスイッチ2−3を接続するリンクに輻輳が発生した場合に行われる、ホスト1−1とホスト1−2間で送受信されるパケットの転送経路の切り替え制御例を表している。
図2には、パケットの転送経路の切り替えに関係するノードのみを抜粋したネットワーク構成図を2つ表している。図2に向かって左側のネットワーク構成図には、輻輳が発生する前のパケットの転送経路51を実線で表している。その転送経路51から、ホスト1−1とホスト1−2間で送受信されるパケットは、スイッチ2−4、2−3、及び2−5を介して転送される。
スイッチ2−4とスイッチ2−3を接続するリンクに輻輳が発生した場合、ホスト1−1とホスト1−2間で送受信されるパケットは、輻輳が発生した輻輳リンクを避けて転送させる必要がある。そのため、本実施形態では、図2に向かって右側のネットワーク構成図に表すように、例えばホスト1−3を介し、ホスト1−1とホスト1−2間のパケット転送を行わせる。そのようなパケット転送を可能にするために、本実施形態では、ホスト1−1とホスト1−3間のパケットの転送経路55、及びホスト1−2とホスト1−3間のパケットの転送経路56を設定させる。ホスト1−3上に作成されたL2GW10−2(10−23)は、転送経路55と転送経路56間のパケットの中継(転送)を行う。転送経路55を介したパケットの受信、及びパケットの転送経路55への送信と、転送経路56を介したパケットの受信、及びパケットの転送経路55への送信とは、異なるNIC15を用いて行われる。
図2に表すような2つの転送経路55、及び56の設定により、ホスト1−1とホスト1−2間のパケット転送は、輻輳リンクを介さずに行われる。そのため、輻輳リンクが発生しても、より快適な通信環境が維持され、ホスト1−1、及び1−2によって提供されるサービスの質の低下等も抑制されることとなる。
本実施形態では、2つの転送経路55、及び56の設定は、トンネリング技術を用いて行われる。トンネリング技術は、ネットワーク上の2点間を結ぶ閉じられた仮想的な通信路であるトンネルを確立する技術である。
図3は、トンネルを用いて送信されるパケットの構成例を説明する図である。
トンネル通信用のパケット(以降「トンネル化パケット」と表記)は、本来の通信に使用するプロトコルで記述されたパケット(以降「通常パケット」と表記)をカプセル化して作成される。図3に表すトンネリングプロトコル情報40は、カプセル化のために通常パケットに付加される情報である。図3に表す例では、トンネリングプロトコル情報40は、送信先MACアドレス(図3中「Outer MAC DA」と表記)、送信元MACアドレス(図3中「Outer MAC SA」と表記)、VLAN−ID、送信先IPアドレス(図3中「Outer IP DA」と表記)、送信元IPアドレス(図3中「Outer IP SA」と表記)、及びトンネルIDを含む。
一方、通常パケットは、図3に表すように、例えば送信先MACアドレス(図3中「Inner MAC DA」と表記)、送信元MACアドレス(図3中「Inner MAC SA」と表記)、タイプデータ(図3中「TYPE」と表記)、及びIPパケットを含む。タイプフィールドに格納されるタイプデータは、プロトコルの種別を表すデータであり、図3に表す例ではIPを表している。
VLANの識別子であるVLAN−IDの格納フィールドには12ビットが割り当てられ、トンネルIDの格納フィールドには24ビットが割り当てられている。そのため、トンネルの設定は、VLANの設定と比較して、資源であるIDの制約が非常に小さく、非常に多くのトンネルの設定が可能である。多くのネットワークは、トンネルの設定に対応しており、トンネルの設定には、何れのスイッチ2にも直接的な制御を行う必要はない。このようなことから、ホスト1−1とホスト1−2間の輻輳リンクを避けたパケット転送は、何れのスイッチ2を直接的に制御することなく、VLAN−IDより制約の小さい資源を用いて実現させることができる。
なお、転送経路55、及び56のような転送経路の切り替えのための設定は、輻輳リンクの発生以外の理由により行っても良い。例えば何れかのスイッチ2、或いは何れかのリンクに障害が発生したことを契機に、転送経路の切り替えのための設定を行っても良い。或いは設定されたVLAN上でボトルネックとなりうるリンクの判明を契機に、転送経路の切り替えのための設定を行っても良い。このようなことから、転送経路の切り替えを行う契機は特に限定されない。しかし、ここでは、説明上、便宜的に、契機としては輻輳リンクの発生のみを想定する。
図4、制御サーバ、ホスト、ホスト上に作成されるL2GW、及びスイッチの機能構成例を説明する図である。次に図4を参照し、図2に表すような転送経路の切り替え制御を可能にする制御サーバ3、ホスト1、そのホスト1上に作成されるL2GW10−2、及びスイッチ2の機能について詳細に説明する。
図2に表すような転送経路の切り替えは、2台のホスト1間のパケット転送に、別のホスト1を介在させることで実現される。それにより、図2に表す例では、ホスト1−1とホスト1−2間を結ぶ転送経路51は、ホスト1−1とホスト1−3を結ぶ転送経路55と、ホスト1−3とホスト1−2を結ぶ転送経路56とに分割された形となっている。図4では、そのような転送経路の切り替えに特に係わる機能を表している。
スイッチ2は、状態検出機能201、テーブル更新機能202、及びパケット中継機能203を備える。
状態検出機能201は、リンクが接続されているポートの検出、及び接続されているリンクを介した通信状況の診断、等を行う。輻輳が発生しているか否かの診断は、この状態検出機能201によって行われ、輻輳が発生していると診断した場合、状態検出機能201は、その旨を制御サーバ3に通知する。輻輳が発生しているか否かの診断自体は、例えば所定のパケットを送信してから応答を受信するまでの時間を計時することで行われる。
上記のように、各スイッチ2は、MACアドレスと、パケットを送信すべきポートとの関係を表すフォワーディングテーブル2aを参照し、受信したパケットを送信すべきポートを選択する。テーブル更新機能202は、受信したパケットを用いた学習によるエントリの追加、或いは削除すべきエントリの削除、等により、フォワーディングテーブル2aを更新する。
送受信されるパケットには、ARP(Address Resolution Protocol)パケット、及びGARP(Gratuitous ARP)パケットがある。本実施形態では、図2に表すような転送経路の切り替えに、ARPパケット、及びGARPパケットを用いることを想定している。
ARPパケットは、IPアドレスからMACアドレスを確認するアドレス解決要求のためにブロードキャストされるパケットである。ARPパケットに格納されたIPアドレスを割り当てられているホスト1は、そのARPパケットの受信により、自身のMACアドレスを格納した応答パケットを送信する。このため、各ホスト1は、IPアドレスを格納したARPパケットの送信により、そのIPアドレスが割り当てられたホスト1のMACアドレスを確認するアドレス解決を行うことができる。
ARPパケットを送信、或いは受信したホスト1は、ARPパケットの送信、或いは受信によって得られた情報をテーブル(ARPテーブル)100に格納する。そのARPテーブル100のエントリには、例えばIPアドレス、及びMACアドレスが少なくとも格納される。ここでは、ARPパケット、或いはARP応答パケットを受信したNIC15を表すインターフェース情報も各エントリに格納されると想定する。
GARPパケットは、他のホスト1に同じアドレスが割り当てられているか否かの確認のためにブロードキャストされるARPパケットである。
図5は、GARPパケットの構成例を説明する図である。このGARPパケットは、非トンネル通信で送信されるパケットである。そのため、基本的な構成は、カプセル化を行っていない通常パケットと同じであり、図5に表すように、例えば送信先MACアドレス(図5中「MAC DA」と表記)、送信元MACアドレス(図5中「MAC SA」と表記)、タイプデータ(図5中「TYPE」と表記)、及びARPパケット(図5中「ARPペイロード」と表記)を含む。タイプフィールドに格納されるタイプデータは、プロトコルの種別を表すデータであり、図5に表記の「0x0806」は、ARPを表す値である。
ARPパケットは、ハードウェアタイプ、プロトコルタイプ、ハードウェアアドレス長(図5中「Hardware Length」と表記)、プロトコルアドレス長(図5中「Protocol Length」と表記)、オペレーション、送信元MACアドレス(図5中「Sender H/W Address」と表記)、送信元IPアドレス(図5中「Sender IP Address」と表記)、探索対象MACアドレス(図5中「Target H/W Address」と表記)、及び探索対象IPアドレス(図5中「Target IP Address」と表記)を含む。
ハードウェアタイプは、ハードウェアの種別を表す情報であり、図5中に表記の「1」はイーサネット(登録商標)の場合の値である。
プロトコルタイプは、プロトコルの種別を表す情報であり、図5中に表記の「0x0800」はIPを表している。
ハードウェアアドレス長は、MACアドレスのデータ長を表す情報であり、その値は固定値の「6」である。
プロトコルアドレス長は、プロトコルタイプで指定されるプロトコルのアドレス長(ここではIPアドレス長)を表す情報であり、その値は固定値の「4」である。
オペレーションは、ARPの動作の種類、及び要求か否かを表す情報である。
送信元MACアドレス、及び送信元IPアドレスは、GARPパケットを送信するホスト1に割り当てられたMACアドレス、及びIPアドレスである。探索対象MACアドレス、及び探索対象IPアドレスは、GARPパケットの応答をすべきホスト1を指定する。GARPパケットでは、探索対象MACアドレス、及び探索対象IPアドレスは、GARPパケットを送信するホスト1に割り当てられているMACアドレス、及びIPアドレスとなる。
上記のような構成のGARPパケットを受信したホスト1は、ARPパケットに格納されている探索対象MACアドレス、及び探索対象IPアドレスを確認し、削除すべきエントリを削除する。その結果、GARPパケットが送信された場合、何れかのホスト1でARPテーブル100の更新が行われる。
ホスト1は、ARPテーブル100の何れかのエントリに格納されているMACアドレスを探索対象MACアドレスとするGARPパケットを受信した場合、そのMACアドレスを格納したエントリを削除する。そのため、ホスト1は、削除したエントリにMACアドレスが格納されていた他のホスト1との通信を行う前に、ARPパケットの送信を行う。
スイッチ2もホスト1と同様に、GARPパケットの受信により、受信したGARPパケットで指定されたMACアドレスが格納されているエントリをフォワーディングテーブル2aから削除する。そのようなエントリのフォワーディングテーブル2aからの削除は、テーブル更新機能202によって実現される。
各ホスト1は、フィルタリング機能111、及びアドレス解決機能112を備える。これらは、例えばホストOS110によって実現される機能である。
アドレス解決機能112は、ARPパケットの作成・送信により、IPアドレスからMACアドレスを確認するアドレス解決を行う。ARPテーブル100の更新は、このアドレス解決機能112によって行われる。
上記GARPパケットの送信は、転送経路の切り替えのために行われる。図2に表す例では、GARPパケットの送信は、ホスト1−1上のVMa10−11とホスト1−2上のVMb10−12間のパケット転送が直接的に行えないようにする。
GARPパケットの受信によりARPテーブル100中のエントリを削除したホスト1は、削除したエントリにMACアドレスが格納されていた他のホスト1との通信を行えなくなる。そのため、エントリを削除したホスト1は、削除したエントリにMACアドレスが格納されていた他のホスト1との通信を行う前に、ARPパケットの送信を行う。しかし、ホスト1が送信したARPパケットに他のホスト1が応答した場合、ARPパケットを送信したホスト1は、削除したエントリを再びARPテーブル100に登録することになる。このことから、本実施形態では、各ホスト1に、廃棄すべきARPパケットを廃棄させるようにしている。フィルタリング機能111は、廃棄すべきARPパケットを廃棄するフィルタリングを行う。GARPパケットの受信によるARPテーブル100からのエントリの削除も、このフィルタリング機能111によって行われる。
制御サーバ3は、監視機能301、L2GW配備機能302、フィルタリング設定通知機能303、及びテーブルクリア送信指示通知機能304を備える。これらの機能301〜304は、制御プログラム3cによって実現される。
監視機能301は、各ノードを監視するための機能である。各スイッチ2は、状態検出機能201によってリンクの輻輳を検出した場合、その旨を制御サーバ3に通知する。その通知は、監視機能301によって処理され。認識される。
L2GW配備機能302は、監視機能301からリンクの輻輳が通知された場合に、輻輳が発生したリンクに応じて、パケットの転送を中継させるホスト1、つまりL2GW10−2を配備すべきホスト1を選択する。選択したホスト1にL2GW10−2が起動されていない場合、L2GW配備機能302は、選択したホスト1にL2GW10−2の起動を指示する。以降、便宜的に、作成されたL2GW10−2によりパケットの転送を中継するホスト1は「中継ホスト」と表記する。
図6は、L2GWを配備するホストの選択方法例を説明する図である。ここでは、図6に表すように、6台のスイッチ2(2−0〜2−5)、9台のホスト1(1−1〜1−c)を備えた情報処理システムを想定する。
その情報処理システムでは、ホスト1−1上には2つのVM10−11、10−12が作成されている。同様にホスト1−2、及び1−3上には1つのVM10−13、及び10−14、ホスト1−4上には2つのVM10−15、及び10−16、ホスト1−5、及び1−6上には1つのVM10−17、及び10−18がそれぞれ作成されている。ホスト1−1、及び1−2はスイッチ1−3と接続されている。同様に、ホスト1−3、及び1−4はスイッチ2−4、ホスト1−5、及び1−6はスイッチ2−5とそれぞれ接続されている。また、ホスト1−aはスイッチ2−0、ホスト1−bはスイッチ2−1、及びホスト1−cはスイッチ2―2とそれぞれ接続されている。
図6は、スイッチ2−0とスイッチ2−3を結ぶリンクが輻輳ポイントとなった場合の例を表している。ホスト1−1とホスト1−6間のパケットの転送経路80は、スイッチ2−3、スイッチ2−0、及びスイッチ2−5を含む。そのため、輻輳ポイントとなったリンクを介さずにパケットを転送できるように、ホスト1−a〜1−cの3台が中継ホスト1の候補となる。
制御サーバ3は、VMフロー毎の転送経路テーブル3a、及びVM稼働ホストテーブル3bを管理・保存している。これらのテーブル3a、及び3bは、中継ホスト1の選択に用いられるテーブルである。L2GW配備機能302は、これらのテーブル3a、及び3bを参照し、中継ホスト1を選択する。
図7は、VMフロー毎の経路テーブルの構成例を説明する図であり、図8は、VM稼働ホストテーブルの構成例を説明する図である。
VMフロー毎の経路テーブル3aは、通信を行う可能性のあるVMn10−1間毎に、そのVMn10−1間でパケットが転送されるリンクの集合(組み合わせ)を表すテーブルである。図7中、1つの括弧書きは1つのリンクを表している。例えば「(ホスト1,SW3)」は、ホスト1−1とスイッチ2−3を結ぶリンクを表している。
VM10はそれぞれ、1台の情報処理装置(コンピュータ)として動作する。それにより、各VM10は一意に特定できるようにする必要がある。このため、各VM10上に仮想的なNICである仮想NICが構築され、構築された仮想NICにはMACアドレスが割り当てられる。このことから、VMフロー毎の経路テーブル3aでは、VMn10−1間毎に、パケットが転送されるリンクの集合を表している。
VM稼働ホストテーブル3bは、VMn10−1毎に、そのVMn10−1が稼働しているホスト1を表すテーブルである。
L2GW配備機能302は、監視機能301から通知された輻輳ポイント(リンク))の情報を用いてVMフロー毎の経路テーブル3aを参照し、その輻輳ポイントを有するエントリを抽出する。次にL2GW配備機能302は、抽出したエントリ毎に、輻輳ポイントを介してパケットが転送される2台のVMn10−1を特定する。L2GW配備機能302は、特定したVMn10−1を用いてVM稼働ホストテーブル3bを参照し、特定したVMn10−1が稼働するホスト1を認識する。
中継ホスト1の候補は、認識したホスト1とは異なり、且つ認識したホスト1との間を転送されるパケットが輻輳ポイントを経由しないという中継条件を満たすホスト1である。このことから、L2GW配備機能302は、VMフロー毎の経路テーブル3a、及びVM稼働ホストテーブル3bを参照し、中継条件を満たすホスト1を抽出する。図6に表す例では、中継条件を満たすホスト1として、ホスト1−a〜1−cの3台が抽出される。
上記のような中継条件を満たすホスト1を抽出することにより、輻輳ポイントの発生に適切に対応し、発生した輻輳ポイントを経由しないパケット転送を実現させることができる。
本実施形態では、中継ホスト1の候補のなかでCPU負荷が最も小さいホスト1を中継ホスト1として選択するようにしている。これは、L2GW10−2を稼働させることによる影響を最小限に抑えるためである。そのため、ホスト1−a〜1−cのCPU使用率がそれぞれ5%、20%、及び10%であった場合、中継ホスト1としてホスト1−aが選択される。
各ホスト1のCPU使用率は、例えばハイパーバイザーによって測定され、予め定められたタイミングで制御サーバ3に通知される。その通知は、監視機能301によって処理される。
フィルタリング設定通知機能303は、輻輳ポイントを経由してパケットが転送される各ホスト1に対し、廃棄すべきARPパケットを廃棄させるための設定を行わせる機能である。その設定のために、フィルタリング設定通知機能303は、IPアドレスを通知する。通知されるIPアドレスは、図2に表す例では、ホスト1−1にはホスト1−2のIPアドレス、ホスト1−2にはホスト1−1のIPアドレスである。ホスト1が備えるフィルタリング機能111は、制御サーバ3から通知されたIPアドレスを用いてARPパケットのフィルタリングを行う。
図9は、ARPパケットのフィルタリング設定のために送信されるメッセージ例を説明する図である。図9に表す例は、HTTP(Hyper Text Transfer Protocol)を用いた場合の例であり、ホスト1−1宛を想定している。
POSTメソッドとして表記の「/filter」は、フィルタリングの設定を要求する。Hostリクエストヘッダフィールドに表記の「host2.com」は、ホスト1−2のURL(Uniform Resource Locator)を表している。MACフィールドに表記の「aa:bb:cc:dd:ee:20」及び「192,168,100,20」は、それぞれホスト1−2のMACアドレス、及びIPアドレスを表している。
ホスト1−2宛のメッセージでは、Hostリクエストヘッダフィールド、MACフィールド、及びIPフィールドに格納されるデータはホスト1−1のものとなる。図9に表すようなメッセージ(以降「フィルタリング設定要求メッセージ」と表記する)が制御サーバ3からホスト1−1、及び1−2宛にそれぞれ送信される。その結果、ホスト1−1、及び1−2はARPパケットのフィルタリングを行う。
そして,L2GW10−2がホスト1−1,ホスト1−2に代わって,ARP応答パケットをかえすことにより、ホスト1−1、及びホスト1−2に対し、代わりとなる通信相手として、L2GW10−23を確実に認識させることができる。
テーブルクリア送信指示通知機能304は、L2GW配備機能302によって中継ホスト1上で稼働するL2GW10−2に、GARPパケットを送信させる。
図10は、GARPパケットの送信のためのメッセージ例を説明する図である。図10に表す例も、HTTPを用いた場合の例であり、メッセージの宛先(送信先)は中継ホスト1上のL2GW10−2である。
POSTメソッドとして表記の「/garp」は、GARPパケットの送信を要求する。Hostリクエストヘッダフィールドに表記の「l2gw.com」は、中継ホスト1上のL2GW102のURLを表している。
2つのMACフィールドの一方、及び2つのIPフィールドの一方に表記の「aa:bb:cc:dd:ee:20」、及び「192,168,100,20」は、上記のように、ホスト1−2のMACアドレス、及びIPアドレスをそれぞれ表している。他方のMACフィールド、及び他方のIPフィールドに表記の「aa:bb:cc:dd:ee:10」、及び「192,168,100,10」は、ホスト1−1のMACアドレス、及びIPアドレスをそれぞれ表している。これら2組のMACアドレス、及びIPアドレスは、それぞれ別のGARPパケットの探索対象MACアドレス、及び探索対象IPアドレスとして格納される。それにより、テーブルクリア送信指示通知機能304は、図10に表すようなメッセージ(以降「GARP送信要求メッセージ」と表記)を中継ホスト1上のL2GW10−2宛に送信することにより、そのL2GW10−2に2種類のGARPパケットを送信させることができる。
ホスト1上に作成されるL2GW10−2は、イベント受信機能121、テーブルクリア送信機能122、及び転送機能123を備える。これらの機能121〜123は、例えばL2GW10−2上で実行される、パケットの転送のためのアプリケーション(以降「転送アプリケーション」と表記)105によって実現される。
イベント受信機能121は、制御サーバ3から転送経路の制御用に送信されるメッセージを受信する機能である。受信するメッセージには、上記GARP送信要求メッセージが含まれる。
テーブルクリア送信機能122は、イベント受信機能121がGARP送信要求メッセージを受信した場合に、受信されたGARP送信要求メッセージが送信を要求するGARPパケットを送信する。
GARP送信要求メッセージは、受信したARPパケットのなかで応答を返信すべきARPパケットを指定する。テーブルクリア送信機能122は、GARP送信要求メッセージ中の何れかのIPアドレスを探索対象IPアドレスとするARPパケットを受信した場合、応答を行う。応答により通知するMACアドレスは、自L2GW10−2に割り当てられたMACアドレスである。そのような応答を行うことにより、ホスト1−1は、ホスト1−2の代わりに、L2GW10−2を通信相手として認識する。この結果、図2に表すような転送経路55、及び56が実現される。
転送機能123は、2種類のGARPパケットにそれぞれ探索対象MACアドレスとして格納されたMACアドレスを有する2台のホスト1上のVMn10−1間のパケット転送を中継する。中継の対象となるパケットは、トンネル化パケットである。中継対象のトンネル化パケットのトンネリングプロトコル情報40では、送信先MACアドレスが中継ホスト1のMACアドレス、送信元MACアドレスが2台のホスト1上のVMn10−1のうちの一方のMACアドレスとなっている。中継対象となるトンネル化パケット中の通常パケットでは、送信先MACアドレスは、L2GW10−2に割り当てられたMACアドレスとなっている。
転送機能123は、そのようなパケットを転送するために、トンネリングプロトコル情報40、及び通常パケットの送信元MACアドレス、及び送信先MACアドレスを変更する。具体的には、転送機能123は、送信先MACアドレスを2台のホスト1の他方のMACアドレス、送信元MACアドレスを自L2GW10−2のMACアドレスにそれぞれ変更する。そのようにして、転送機能123は、図2に表す例では、転送経路55のパケットを転送経路56に転送するか、或いは転送経路56のパケットを転送経路55に転送する。
図11は、パケットの転送経路を切り替える場合の制御サーバ、ホスト、及びスイッチの動作例を説明する図であり、図12は、パケットの転送経路を切り替える場合の制御サーバ、ホスト、及びスイッチの動作例を表すシーケンス図である。次に、図11、及び図12を参照し、制御サーバ3、ホスト1、及びスイッチ2の動作について具体的に説明する。
図11、及び図12は、図2に表す転送経路の切り替えが行われる場合を例にとっている。そのため、図12では、転送経路の切り替えが行われるホスト1として、ホスト1−1、及び1−2を表している。これらのホスト1−1、及び1−2は、実際にはVMa10−11、及びVMb10−12である。図12に表記のL2GW10−23は、中継ホスト1としてホスト1−3が選択されたと想定していることを表している。スイッチ2としては、切り替えを行う前の転送経路51上、或いは切り替えを行った後の転送経路55、若しくは56上に存在するスイッチ2−1、2−3〜2−5の4台のみを表している。
スイッチ2−3とスイッチ2−4間のリンクに発生した輻輳は、スイッチ2−3,或いは2−4によって制御サーバ3に通知される。制御サーバ3は、その通知(以降「輻輳検出イベント」と表記)の受信により、ホスト1−1、及び1−2上の各VMa10−11、及びVMb10−12に対し、廃棄すべきARPパケットを廃棄させるためのフィルタ設定を行う(SC1)。このフィルタ設定により、図9に表すようなフィルタリング設定要求メッセージがホスト1−1、及び1−2上のVMa10−11、及びVMb10−12宛にそれぞれ送信される(S1)。
ホスト1−1、及び1−2は、それぞれ、フィルタリング設定要求メッセージの受信により、ホスト1−2、及び1−1から送信されるARPパケットを廃棄するためのフィルタ設定を行う(SA1、SB1)。
制御サーバ3は、フィルタリング設定要求メッセージを送信した後、中継ホスト1−3上のL2GW10−23に対し、GARPパケットの送信を指示する(SC2)。その送信指示は、図10に表すようなGARP送信要求メッセージを中継ホスト1−3上のL2GW10−23宛に送信することで行われる(S2)。
中継ホスト1−3上にL2GW10−23が作成されていない場合、制御サーバ3は、GARP送信要求メッセージを送信する前に、中継ホスト1−3にL2GW10−23の起動を指示する。図11、及び図12では、中継ホスト1−3上にL2GW10−23が既に起動していることを想定し、そのL2GW10−23を起動させる動作等を省いている。
L2GW10−23は、受信したGARP送信要求メッセージに従い、探索対象MACアドレスが異なる2種類のGARPパケットの送信のための処理を順次、行う。その処理は、例えばホスト1−1のMACアドレスを探索対象MACアドレスとするGARPパケットのための処理(SD1)が最初に行われる。次に、ホスト1−2のMACアドレスを探索対象MACアドレスとするGARPパケットのための処理(SD2)が行われる。その結果、ホスト1−1のMACアドレスを探索対象MACアドレスとするGARPパケットのブロードキャスト(S3a)が最初に行われる。次に、ホスト1−2のMACアドレスを探索対象MACアドレスとするGARPパケットのブロードキャスト(S3b)が行われる。
探索対象MACアドレスの異なる2種類のGARPパケットのブロードキャストにより、探索対象MACアドレスを格納したエントリは、ホスト1−1、及び1−2の各ARPテーブル100中から削除される。また、各スイッチ2も、該当するエントリをフォワーディングテーブル2aから削除することになる。
そのようなエントリの削除により、ホスト1−1,或いは1−2は、必要に応じてARPパケットを送信することになる。このため、例えばホスト1−1は、ホスト1−2のIPアドレスを格納したARPパケットを送信するための処理を行う(SA2)。その結果、ホスト1−1からARPパケットがブロードキャストされる(S4a)。
ホスト1−2には、ホスト1−1から送信されるARPパケットを廃棄させるためのフィルタ設定が行われている。そのため、ホスト1−1から送信されたARPパケットを受信しても、ホスト1−2は受信したARPパケットを廃棄する(SB2)。
ホスト1−2には、ホスト1−1から送信されるARPパケットを廃棄させるためのフィルタ設定が行われている。そのため、ホスト1−1から送信されたARPパケットを受信しても、ホスト1−2は受信したARPパケットを廃棄する(SB3)。
一方、ホスト1−2も、必要に応じて、ホスト1−1のIPアドレスを格納したARPパケットを送信するための処理を行う(SB3)。その結果、ホスト1−2からARPパケットがブロードキャストされる(S4b)。しかし、ホスト1−1には、ホスト1−2から送信されるARPパケットを廃棄させるためのフィルタ設定が行われている。そのため、ホスト1−2から送信されたARPパケットを受信しても、ホスト1−1は受信したARPパケットを廃棄する(SA3)。
L2GW10−23は、ホスト1−1、及び1−2からそれぞれ送信されたARPパケットに応答するための処理を行う(SD3)。それにより、ホスト1−1、及び1−2に対し、L2GW10−23に割り当てられたMACアドレスを格納したARP応答パケットがそれぞれ送信される(S5a、S5b)。
この結果、ホスト1−1は、ARPテーブル100に、ホスト1−2上と通信するためのエントリを追加する。そのエントリに格納されるMACアドレスは、L2GW10−23に割り当てられたMACアドレスである。同様に、ホスト1−2もARPテーブル100に、L2GW10−23のMACアドレスを格納したエントリを追加する。そのため、ホスト1−1上のVMa10−11とホスト1−2上のVMb10−12間のパケット転送は、転送経路55→転送経路56、或いは転送経路56→転送経路55で行われることとなる。
以降は、図13〜図16に表すフローチャートを参照し、制御サーバ3、ホスト1のVMn10−1、中継ホスト1のL2GW10−2の動作について、更に詳細に説明する。
図13は、制御サーバ3が実行する転送経路切り替え処理のフローチャートである。この転送経路切り替え処理は、CPU31が制御プログラム3cを実行することで実現される処理であり、何れかのスイッチ2から輻輳の検出を通知する輻輳検出イベントの受信を契機に実行される。輻輳ポイント(輻輳リンク)を避けた転送経路の設定は、この転送経路切り替え処理の実行により実現される。
輻輳ポイントを経由してパケット転送が行われるホスト1の組は普通、複数である。しかし、ここでは、便宜的に、輻輳ポイントを経由してパケット転送が行われる2台のホスト1(VMn10−1)のみを想定し、フローチャートを表している。始めに図13を参照し、制御サーバ3の動作について詳細に説明する。
先ず、CPU31は、スイッチ2から送信された輻輳検出イベントの受信のための処理を行う(SC11)。次にCPU31は、受信した輻輳検出イベントが表す輻輳ポイントから、中継ホスト1の候補を抽出し、抽出した候補のなかでCPU利用率が最も小さい候補を中継ホスト1に選択する(SC12)。この中継ホスト1の選択は、上記のように、VMフロー毎の経路テーブル3a(図7)、及びVM稼働ホストテーブル3b(図8)を参照して行われる。
CPU31は、次に、選択した中継ホスト1にL2GW10−2が起動されていない場合、L2GW10−2を起動させる(SC13)。その後、CPU31は、輻輳ポイントを経由してパケットが転送される2台のホスト1上で稼働している各VMn10−1宛に、廃棄すべきARPパケットを廃棄させるためのフィルタ設定を行う(SC14)。このフィルタ設定は、図12中、SC1として実行される処理であり、図9に表すようなフィルタリング設定要求メッセージが対象となる各VMn10−1宛に送信される。
次に、CPU31は、選択した中継ホスト1上のL2GW10−2宛に、図10に表すようなGARP送信要求メッセージを送信する(SC15)。このGARP送信要求メッセージを送信する処理は、図12中、SC2として実行される処理である。このGARP送信要求メッセージの送信により、1組のVMn10−1を対象にした転送経路の切り替えのための一連の処理が終了する。他に転送経路の切り替えが必要なVMn10−1の組が存在しない場合、ここで転送経路切り替え処理が終了する。
図14は、ホストが実行するパケット送信処理のフローチャートである。このパケット送信処理は、ホストOS110をCPU11が実行することによって実現される処理であり、パケット(図14中「Ethernetパケット」と表記)を送信すべき状況となった場合に実行される。次に図14を参照し、パケット送信処理について詳細に説明する。
先ず、CPU11は、例えばアプリケーションからパケットの送信依頼(イベント)を受け取る(SA11)。その送信依頼には、パケットの送信先として指定されたIPアドレスが含まれる。アプリケーション等からの送信依頼が渡されたCPU11は、ARPテーブル100を参照し、指定されたIPアドレスを含むエントリがあるか否か判定する(SA12)。指定されたIPアドレスを格納したエントリがARPテーブル100に存在する場合、SA12の判定はYesとなってSA14に移行する。指定されたIPアドレスを格納したエントリがARPテーブル100に存在しない場合、SA12の判定はNoとなってSA13に移行する。
指定されたIPアドレスに対応するMACアドレスが特定できなければ、送信すべきパケット(トンネル化パケット)を生成することはできない。このことから、SA13では、CPU11は、指定されたIPアドレスに対応するMACアドレスを確認するためのARPパケットを作成して送信する。その後、依頼されたパケット(トンネル化パケット)を送信することなく、パケット送信処理が終了する。このSA13は、図12中のSA2、及びSB3として実行される処理である。
一方、SA14では、CPU11は、指定されたIPアドレスが格納されたエントリを参照して、そのIPアドレスに対応するMACアドレスを取得し、依頼されたパケット(トンネル化パケット)を作成する。次に、CPU11は、作成したトンネル化パケットを、ARPテーブル100から特定されるNIC15から送信させる(SA15)。その後、このパケット送信処理が終了する。
図2に表すような転送経路の切り替えが行われても、各ホストはARPテーブル100を参照し、トンネル化パケットを作成し送信する。このことから、各ホストにおけるトンネル化パケットの作成方法は、転送経路の切り替えが行われたか否かによって変化しない。
図15は、ホストが実行するパケット受信処理のフローチャートである。このパケット受信処理も、ホストOS110をCPU11が実行することによって実現される処理であり、パケットの受信を契機に実行される。次に図15を参照し、パケット受信処理について詳細に説明する。
各ホスト1には、必要に応じて、制御サーバ3から転送経路の切り替えに係わるパケット(メッセージ。以降「制御サーバイベント」と表記)が送信される。ここでは、便宜的に、制御サーバイベントとして、図9に表すようなフィルタリング設定要求メッセージのみを想定している。
先ず、CPU11は、パケットを受信するための処理を行う(SA21)。次に、CPU11は、受信したパケットが制御サーバイベントか否か判定する(SA22)。図9に表すようなフィルタリング設定要求メッセージを受信した場合、SA22の判定はYesとなってSA23に移行する。フィルタリング設定要求メッセージを受信しなかった場合、SA22の判定はNoとなってSA24に移行する。このSA23は、図12中のSA3、及びSB2の一部として実行される処理に相当する。
SA23では、CPU11は、制御サーバイベント(フィルタリング設定要求メッセージ)に含まれるMACアドレスを送信元MACアドレスとするARPパケット(図15中「ARP要求」と表記)をフィルタ(廃棄)する設定を実施する。その後、このパケット受信処理が終了する。
SA24では、CPU11は、受信したパケットがARPパケットであり、且つそのARPパケットの送信元MACアドレスがフィルタ用に設定したMACアドレスと一致するか否か判定する。フィルタ用に設定したMACアドレスを送信元MACアドレスとするARPパケットを受信した場合、SA24の判定はYesとなってSA25に移行する。受信したパケットがARPパケットではない、或いはフィルタ用に設定したMACアドレスが送信元MACアドレスではないARPパケットを受信した場合、SA24の判定はNoとなってSA26に移行する。
SA25では、CPU11は、受信したARPパケットを廃棄する。その後、このパケット受信処理が終了する。そのARPパケットの廃棄により、L2GW10−2を介したパケットの転送がより確実に行えるように、転送経路の設定を行うことができる。
SA26では、CPU11は、受信したパケットがGARPパケットか否か判定する。GARPパケットを受信した場合、SA26の判定はYesとなってSA27に移行する。GARPパケットを受信していない場合、SA26の判定はNoとなってSA28に移行する。GARPパケットを受信した場合、SA26の判定はYesとなってSA27に移行する。
SA27では、CPU11は、ARPテーブル100から、GARPパケットに格納されている探索対象MACアドレスと同じMACアドレスを含むエントリを削除する。その後、このパケット受信処理が終了する。
SA28では、CPU11は、受信したパケットに含まれるペイロード、つまりIPパケット、或いはARPパケット等に対する処理を行う。その処理には、例えばパケットを渡すべきアプリケーションに渡す処理も含まれる。そのようなSA28の処理を実行した後、このパケット受信処理が終了する。
図16は、中継ホストが実行するパケット受信処理のフローチャートである。このパケット受信処理は、転送アプリケーション105をCPU11が実行することで実現される処理であり、パケットの受信を契機に実行される。最後に図16を参照し、中継ホスト1の動作として、L2GW10−2の動作について詳細に説明する。
各ホスト1には、必要に応じて、制御サーバ3から転送経路の切り替えに係わるパケット(制御サーバイベント)が送信される。ここでは、便宜的に、制御サーバイベントとして、図10に表すようなGARP送信要求メッセージのみを想定している。仮想MACアドレスの割り当てを含むL2GW10−2の起動(作成)自体は、ホスト1上で実行されるハイパーバイザーによって行われる。
先ず、CPU11は、パケットを受信するための処理を行う(SD11)。次に、CPU11は、受信したパケットが制御サーバイベントか否か判定する(SD22)。図10に表すようなGARP送信要求メッセージが受信された場合、SD12の判定はYesとなってSD13に移行する。GARP送信要求メッセージが受信されなかった場合、SD12の判定はNoとなってSD14に移行する。
SD13では、CPU11は、制御サーバイベント(GARP送信要求メッセージ)に含まれるIPアドレス、及びMACアドレスをそれぞれ探索対象IPアドレス、及び探索対象MACアドレスとする2つのGARPパケットを生成する。その後、CPU11は、生成した2つのGARPパケットを送信させる(SD14)。GARPパケットを送信させた後、このパケット受信処理が終了する。図12中のSD1、及びSD2は、このSD13によって実現される。
SD15では、CPU11は、受信したパケットが、制御サーバイベント(GARP送信要求メッセージ)に含まれるIPアドレス、及びMACアドレスを含むARPパケットか否か判定する。そのARPパケットとは、制御サーバイベント(GARP送信要求メッセージ)に含まれるIPアドレス、及びMACアドレスを有するホスト1から送信されたARPパケットである。そのようなARPパケットが受信された場合、SD15の判定はYesとなってSD16に移行する。そのようなARPパケットが受信されなかった場合、つまり転送対象とするパケットが受信された場合、SD15の判定はNoとなってSD18に移行する。
SD16では、CPU11は、ARPペイロード中の探索対象MACアドレスとして自L2GW10−2のMACアドレスを設定したARP応答パケットを生成する。その後、CPU11は、生成したARP応答パケットを送信させる(SD17)。ARP応答パケットを送信させた後、このパケット受信処理が終了する。図12中のSD3は、このSD13によって実現される。
SD18では、CPU11は、受信したパケットに含まれる送信元MACアドレス、及び送信先MACアドレスを書き換え、それらMACアドレスを書き換えた後のパケットを送信させる。トンネリングプロトコル情報40、及びそのトンネリングプロトコル情報40が付与された通常パケットともに、送信元MACアドレスは自L2GW10−2のMACアドレスに書き換えられる。送信先MACアドレスは、制御サーバイベント(GARP送信要求メッセージ)に含まれる2つのMACアドレスのなかで、送信元MACアドレスとは異なるMACアドレスに書き換えられる。MACアドレスを書き換えたパケットは、受信したNIC15とは異なるNIC15から送信される。そのようなパケットの転送を行った後、このパケット受信処理が終了する。
なお、本実施形態では、図2に表すように、輻輳ポイントの発生により、2台のホスト1上のVMn10−1からそれぞれ送信されるパケットを中継ホスト1に中継させているが、1方向のみ、パケットの転送を中継ホスト1に中継させるようにしても良い。これは、例えばホスト1−1上のVMa10−11から送信されたパケットのみ、中継ホスト1−3を中継させたとしても、スイッチ2−3とスイッチ2−4間のリンクのトラフィック量は低減すると期待できるからである。このようなこともあり、転送経路を切り替えるべき対象の選択は、その転送経路の切り替えを行う理由(輻輳、故障、等)、或いは目的(トラフィックの必要な低減量)等に応じて行っても良い。
転送を回避すべきリンクの数も1に限定されない。中継ホスト1の選択は、連続してパケットが転送される複数のリンク、或いは直接的にはパケットが転送されない複数のリンクを想定して行っても良い。
また、本実施形態では、中継ホスト1は、候補となるホスト1のなかからCPU使用率に着目して選択しているが、別のルールにより選択するようにしても良い。例えば候補となるホスト1のなかでL2GW10−2が既に作成されているホスト1を優先的に中継ホスト1として選択するようにしても良い。L2GW10−2が稼働しているホスト1を中継ホスト1として優先的に選択する場合、輻輳ポイントを回避したパケット転送をより迅速に開始させることができる。
また、本実施形態では、ホスト1とは別に制御サーバ3を設けているが、制御サーバ3は何れかのホスト1上に搭載させても良い。大規模な情報処理システムでは、制御サーバ3を複数台、設けて、対象範囲(例えばVLAN)毎に制御サーバ3を割り当てても良い。
上記以外にも、様々な変形を行うことができる。
以上の変形例を含む実施形態に関し、更に以下の付記を開示する。
(付記1)
パケットの送信元である第1の情報処理装置と、前記パケットの送信先である第2の情報処理装置と、第1のポートと第2のポートを備えるとともに前記パケットを前記第1のポートと前記第2のポート間で中継する第3の情報処理装置と、前記第1の情報処理装置と前記第2の情報処理装置と前記第3の情報処理装置を制御する制御装置とを有する情報処理システムにおいて、
前記制御装置は、
前記第2の情報処理装置を識別する第2の識別情報を含むアドレスを解決するための第1の要求パケットを受信しないように前記第2の情報処理装置に設定する設定部と、
前記第3の情報処理装置に前記第1のポートから前記第1の識別情報を含む第1の確認パケットを送信させ、前記第1の情報処理装置に前記第1の要求パケットを送信させ、前記第3の情報処理装置に前記第1のポートから前記第1の要求パケットに対する第1の応答パケットを送信させる制御部とを有することを特徴とする情報処理システム。
(付記2)
前記設定部はさらに、
前記第1の情報処理装置を識別する第1の識別情報を含むアドレスを解決するための第2の要求パケットを受信しないように前記第1の情報処理装置を設定し、
前記制御部はさらに、
前記第3の情報処理装置に前記第2のポートから前記第2の識別情報を含む第2の確認パケットを送信させ、前記第2の情報処理装置に前記第2の要求パケットを送信させ、前記第3の情報処理装置に前記第2のポートから前記第2の要求パケットに対する第2の応答パケットを送信させることを特徴とする付記1記載の情報処理システム。
(付記3)
前記情報処理システムは、
3台以上の複数の情報処理装置を有し、
前記制御装置はさらに、
前記ネットワークで輻輳が発生した場合、前記複数の情報処理装置のうち、発生した輻輳を回避できる経路上に存在する情報処理装置を、前記第3の情報処理装置として選択する選択部を有することを特徴とする付記1又は2記載の情報処理システム。
(付記4)
前記選択部は、
前記複数の情報処理装置のうち、前記第3の情報処理装置として選択可能な情報処理装置が複数存在する場合、選択可能な各情報処理装置が備える演算処理装置の使用率に基づいて、前記第3の情報処理装置を選択することを特徴とする付記3記載の情報処理システム。
(付記5)
パケットの送信元である第1の情報処理装置と、前記パケットの送信先である第2の情報処理装置と、第1のポートと第2のポートを備えるとともに前記パケットを前記第1のポートと前記第2のポート間で中継する第3の情報処理装置とを制御する制御装置において、
前記制御装置は、
前記第2の情報処理装置を識別する第2の識別情報を含むアドレスを解決するための第1の要求パケットを受信しないように前記第2の情報処理装置に設定する設定部と、
前記第3の情報処理装置に、前記第1のポートから前記第1の識別情報を含む第1の確認パケットを送信させ、前記第1の情報処理装置に、前記第1の要求パケットを送信させ、前記第3の情報処理装置に、前記第1のポートから前記第1の要求パケットに対する第1の応答パケットを送信させる制御部とを有することを特徴とする制御装置。
(付記6)
パケットの送信元である第1の情報処理装置と、前記パケットの送信先である第2の情報処理装置と、第1のポートと第2のポートを備えるとともに前記パケットを前記第1のポートと前記第2のポート間で中継する第3の情報処理装置と、前記第1の情報処理装置と前記第2の情報処理装置と前記第3の情報処理装置を制御する制御装置とを有する情報処理システムの制御方法において、
前記制御装置が、
前記第2の情報処理装置を識別する第2の識別情報を含むアドレスを解決するための第1の要求パケットを受信しないように前記第2の情報処理装置に設定し、
前記第3の情報処理装置に、前記第1のポートから前記第1の識別情報を含む第1の確認パケットを送信させ、
前記第1の情報処理装置に、前記第1の要求パケットを送信させ、
前記第3の情報処理装置に、前記第1のポートから前記第1の要求パケットに対する第1の応答パケットを送信させることを特徴とする情報処理システムの制御方法。
(付記7)
パケットの送信元である第1の情報処理装置と、前記パケットの送信先である第2の情報処理装置と、第1のポートと第2のポートを備えるとともに前記パケットを前記第1のポートと前記第2のポート間で中継する第3の情報処理装置とを制御する制御装置の制御プログラムにおいて、
前記制御装置に、
前記第2の情報処理装置を識別する第2の識別情報を含むアドレスを解決するための第1の要求パケットを受信しないように、前記第2の情報処理装置に設定させ、
前記第1のポートから前記第1の識別情報を含む第1の確認パケットを、前記第3の情報処理装置に送信させ、
前記第1の要求パケットを、前記第1の情報処理装置に送信させ、
前記第1のポートから前記第1の要求パケットに対する第1の応答パケットを、前記第3の情報処理装置に送信させることを特徴とする制御装置の制御プログラム。
1、1−0〜1−6、1−a〜1−c ホスト
2、2−1〜2−6 スイッチ
2a フォワーディングテーブル
3 制御サーバ
3c 制御プログラム
10−1、10−11〜10−18 VMn
11、31 CPU
12、32 FWH
13、33 メモリ
14、34 ハードディスク装置
15、15−1、15−2、35 NIC
100 ARPテーブル
101 ゲストOS
105 転送アプリケーション
111 フィルタリング機能
112 アドレス解決機能
121 イベント受信機能
122 テーブルクリア送信機能
123 転送機能
201 状態検出機能
202 テーブル更新機能
203 パケット中継機能
301 監視機能
302 L2GW配備機能
303 フィルタリング設定通知機能
304 テーブルクリア送信指示通知機能

Claims (5)

  1. パケットの送信元である第1の情報処理装置と、前記パケットの送信先である第2の情報処理装置と、第1のポートと第2のポートを備えるとともに前記パケットを前記第1のポートと前記第2のポート間で中継する第3の情報処理装置と、前記第1の情報処理装置と前記第2の情報処理装置と前記第3の情報処理装置を制御する制御装置とを有する情報処理システムにおいて、
    前記制御装置は、
    前記第2の情報処理装置を識別する第2の識別情報を含むアドレスを解決するための第1の要求パケットを受信しないように前記第2の情報処理装置に設定する設定部と、
    前記第3の情報処理装置に前記第1のポートから前記第1の識別情報を含む第1の確認パケットを送信させ、前記第1の情報処理装置に前記第1の要求パケットを送信させ、前記第3の情報処理装置に前記第1のポートから前記第1の要求パケットに対する第1の応答パケットを送信させる制御部とを有することを特徴とする情報処理システム。
  2. 前記設定部はさらに、
    前記第1の情報処理装置を識別する第1の識別情報を含むアドレスを解決するための第2の要求パケットを受信しないように前記第1の情報処理装置を設定し、
    前記制御部はさらに、
    前記第3の情報処理装置に前記第2のポートから前記第2の識別情報を含む第2の確認パケットを送信させ、前記第2の情報処理装置に前記第2の要求パケットを送信させ、前記第3の情報処理装置に前記第2のポートから前記第2の要求パケットに対する第2の応答パケットを送信させることを特徴とする請求項1記載の情報処理システム。
  3. 前記情報処理システムは、
    3台以上の複数の情報処理装置を有し、
    前記制御装置はさらに、
    前記ネットワークで輻輳が発生した場合、前記複数の情報処理装置のうち、発生した輻輳を回避できる経路上に存在する情報処理装置を、前記第3の情報処理装置として選択する選択部を有することを特徴とする請求項1又は2記載の情報処理システム。
  4. パケットの送信元である第1の情報処理装置と、前記パケットの送信先である第2の情報処理装置と、第1のポートと第2のポートを備えるとともに前記パケットを前記第1のポートと前記第2のポート間で中継する第3の情報処理装置とを制御する制御装置において、
    前記制御装置は、
    前記第2の情報処理装置を識別する第2の識別情報を含むアドレスを解決するための第1の要求パケットを受信しないように前記第2の情報処理装置に設定する設定部と、
    前記第3の情報処理装置に、前記第1のポートから前記第1の識別情報を含む第1の確認パケットを送信させ、前記第1の情報処理装置に、前記第1の要求パケットを送信させ、前記第3の情報処理装置に、前記第1のポートから前記第1の要求パケットに対する第1の応答パケットを送信させる制御部とを有することを特徴とする制御装置。
  5. パケットの送信元である第1の情報処理装置と、前記パケットの送信先である第2の情報処理装置と、第1のポートと第2のポートを備えるとともに前記パケットを前記第1のポートと前記第2のポート間で中継する第3の情報処理装置と、前記第1の情報処理装置と前記第2の情報処理装置と前記第3の情報処理装置を制御する制御装置とを有する情報処理システムの制御方法において、
    前記制御装置が、
    前記第2の情報処理装置を識別する第2の識別情報を含むアドレスを解決するための第1の要求パケットを受信しないように前記第2の情報処理装置に設定し、
    前記第3の情報処理装置に、前記第1のポートから前記第1の識別情報を含む第1の確認パケットを送信させ、
    前記第1の情報処理装置に、前記第1の要求パケットを送信させ、
    前記第3の情報処理装置に、前記第1のポートから前記第1の要求パケットに対する第1の応答パケットを送信させることを特徴とする情報処理システムの制御方法。
JP2014074426A 2014-03-31 2014-03-31 情報処理システム、その制御方法、及び制御装置 Ceased JP2015198295A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014074426A JP2015198295A (ja) 2014-03-31 2014-03-31 情報処理システム、その制御方法、及び制御装置
US14/643,198 US9819594B2 (en) 2014-03-31 2015-03-10 Information processing system and controlling method and controlling device for the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014074426A JP2015198295A (ja) 2014-03-31 2014-03-31 情報処理システム、その制御方法、及び制御装置

Publications (1)

Publication Number Publication Date
JP2015198295A true JP2015198295A (ja) 2015-11-09

Family

ID=54191947

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014074426A Ceased JP2015198295A (ja) 2014-03-31 2014-03-31 情報処理システム、その制御方法、及び制御装置

Country Status (2)

Country Link
US (1) US9819594B2 (ja)
JP (1) JP2015198295A (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10298494B2 (en) * 2014-11-19 2019-05-21 Strato Scale Ltd. Reducing short-packet overhead in computer clusters
US9716688B1 (en) * 2015-05-13 2017-07-25 Parallels International Gmbh VPN for containers and virtual machines in local area networks

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008109357A (ja) * 2006-10-25 2008-05-08 Matsushita Electric Works Ltd パケット転送装置及びパケット転送方法
JP2008172678A (ja) * 2007-01-15 2008-07-24 Hitachi Communication Technologies Ltd 冗長切り替え方法
JP2012217123A (ja) * 2011-03-31 2012-11-08 Ricoh Co Ltd 伝送管理システム、伝送システム、選択方法、プログラム、プログラム提供システム、及びメンテナンスシステム
US20140064148A1 (en) * 2012-09-04 2014-03-06 Cisco Technology, Inc. Distributed Proxy Addressing Operations

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4082613B2 (ja) 2004-09-06 2008-04-30 インターナショナル・ビジネス・マシーンズ・コーポレーション 通信サービスを制限するための装置
US8898782B2 (en) * 2012-05-01 2014-11-25 Harris Corporation Systems and methods for spontaneously configuring a computer network
JP2014027339A (ja) * 2012-07-24 2014-02-06 Fujitsu Ltd 情報処理システム、情報処理方法、情報処理装置及び中継装置。
US9483369B2 (en) * 2014-01-24 2016-11-01 Verizon Patent And Licensing Inc. Method and apparatus for failover detection and recovery using gratuitous address resolution messages

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008109357A (ja) * 2006-10-25 2008-05-08 Matsushita Electric Works Ltd パケット転送装置及びパケット転送方法
JP2008172678A (ja) * 2007-01-15 2008-07-24 Hitachi Communication Technologies Ltd 冗長切り替え方法
JP2012217123A (ja) * 2011-03-31 2012-11-08 Ricoh Co Ltd 伝送管理システム、伝送システム、選択方法、プログラム、プログラム提供システム、及びメンテナンスシステム
US20140064148A1 (en) * 2012-09-04 2014-03-06 Cisco Technology, Inc. Distributed Proxy Addressing Operations

Also Published As

Publication number Publication date
US20150281086A1 (en) 2015-10-01
US9819594B2 (en) 2017-11-14

Similar Documents

Publication Publication Date Title
JP7312210B2 (ja) ゲートウェイ装置、車載ネットワークシステム、転送方法及びプログラム
US11546288B2 (en) Techniques for managing software defined networking controller in-band communications in a data center network
US10171357B2 (en) Techniques for managing software defined networking controller in-band communications in a data center network
EP3586494B1 (en) Load balancing in distributed computing systems
US8856419B2 (en) Register access in distributed virtual bridge environment
EP2615782A1 (en) Computer system and communication method in computer system
CN111682927B (zh) 一种基于mlag环境的报文同步方法、装置、设备及介质
US9444723B1 (en) Passing data over virtual links
JP6355536B2 (ja) 中継システムおよびスイッチ装置
JP2006042368A (ja) スイッチングノードのスタック内のスイッチングノードのリモート制御
US9967140B2 (en) Virtual links for network appliances
JP2006262193A (ja) 制御装置、パケット転送方法およびパケット処理装置
EP3038296B1 (en) Pool element status information synchronization method, pool register and pool element
US11356372B2 (en) Data traffic processing method, device, and system
US9344352B2 (en) Transfer device, communication system, and roundabout path detecting method
US20140310377A1 (en) Information processing method and information processing apparatus
JP2015198295A (ja) 情報処理システム、その制御方法、及び制御装置
JP6402078B2 (ja) ネットワークシステムおよびパケット転送方法
JP5907252B2 (ja) 通信装置、通信方法、及び通信プログラム
JP2017511532A (ja) ソフトウェア定義pciエクスプレス(pci−e)スイッチを構成する方法
US10841221B2 (en) Stage one cache lookup for network node of mesh network
WO2023078031A1 (zh) 一种报文发送方法及装置
JP5703848B2 (ja) 通信方法、並びに通信システム、ルータ及びサーバ
WO2022135321A1 (zh) 报文传输方法、设备及系统
JP2017022579A (ja) 通信システム、通信ノード、および通信システムにおける代替処理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170110

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171012

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171017

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20171116

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171124

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20171116

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180109

A045 Written measure of dismissal of application [lapsed due to lack of payment]

Free format text: JAPANESE INTERMEDIATE CODE: A045

Effective date: 20180529