JP2020205571A - 情報処理システム、情報処理装置、及び情報処理プログラム - Google Patents

情報処理システム、情報処理装置、及び情報処理プログラム Download PDF

Info

Publication number
JP2020205571A
JP2020205571A JP2019113801A JP2019113801A JP2020205571A JP 2020205571 A JP2020205571 A JP 2020205571A JP 2019113801 A JP2019113801 A JP 2019113801A JP 2019113801 A JP2019113801 A JP 2019113801A JP 2020205571 A JP2020205571 A JP 2020205571A
Authority
JP
Japan
Prior art keywords
information
container
port
address
virtual
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2019113801A
Other languages
English (en)
Other versions
JP7226123B2 (ja
Inventor
鈴木 和宏
Kazuhiro Suzuki
和宏 鈴木
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 JP2019113801A priority Critical patent/JP7226123B2/ja
Priority to US16/884,114 priority patent/US11463379B2/en
Publication of JP2020205571A publication Critical patent/JP2020205571A/ja
Application granted granted Critical
Publication of JP7226123B2 publication Critical patent/JP7226123B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/20Support for services
    • H04L49/208Port mirroring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/354Switches specially adapted for specific applications for supporting virtual local area networks [VLAN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/70Virtual switches

Landscapes

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

Abstract

【課題】仮想マシン上で実行される第1コンテナにより送受信される情報を複製し第2コンテナに転送する処理を、適切に行なう。【解決手段】複数の仮想マシン4により実行される複数のコンテナ5のうちのいずれかから送信される第1情報を検出する検出部33と、予め指定された第1及び第2コンテナ5−1及び5−4のアドレスを対応付けた対応情報32を記憶する記憶部と、前記第1情報に含まれるアドレスと、前記第1又は第2コンテナ5のアドレスとが一致する場合、一致した前記第1又は第2コンテナ5と、前記第1情報に基づき特定される仮想マシン4−1のポート41と、を対応付けて前記対応情報32に設定する設定部34と、前記対応情報に基づき、前記第1コンテナ5−1に対応付けられた第1ポート41を通過する第2情報を複製し、前記第2コンテナ5−4に対応付けられた第2ポート41を宛先として転送する複製転送部31及び35と、を備える。【選択図】図9

Description

本発明は、情報処理システム、情報処理装置、及び情報処理プログラムに関する。
1以上の情報処理装置の物理ハードウェア(HW;Hardware)資源を利用して仮想的なサーバとして提供される仮想マシン(VM;Virtual Machine)が知られている。また、仮想マシンの監視等を行なうための手法として、パケットキャプチャが知られている。
パケットキャプチャの一態様として、ポートミラーリングがある。ポートミラーリングは、ホスト上の仮想スイッチのポートを通過する、VMへの入力パケット、出力パケット、又は両方のパケット、を別のポートにミラーリングする処理である。例えば、仮想スイッチは、ポートにおけるパケットに対する処理が完了したときに、当該パケットを複製してミラーパケットを生成し、ミラーパケットを別のポートに送信(転送)する。
また、仮想化技術の一例として、「コンテナ」が知られている。コンテナは、OS(Operating System)上に仮想的なOS空間を提供する技術である。1つのVM上に、複数のコンテナを起動することも可能である。
VM上でコンテナが実行される場合、送信元コンテナから送信されたパケットは、VMにおいて、IP(Internet Protocol)ルーティングによりアドレスが変換され、VMの仮想ポートから仮想スイッチに送信される。仮想スイッチは、パケットのヘッダに基づき送信元コンテナを実行するVMにパケットを転送する。宛先コンテナを実行するVMは、受信したパケットをIPルーティングによりアドレス変換し、宛先コンテナに送信する。
特開2017−22767号公報 特表2018−528725号公報
上述したVMのポートミラーリング機能では、VM上にコンテナが配備される環境において、コンテナ単位でポートミラーリングを行なうことが考慮されていない。このため、例えば、コンテナにより送受信されるパケット等の情報を複製し、監視を行なうコンテナに転送するミラーリングを、適切に行なうことが困難となる場合がある。
1つの側面では、本発明は、仮想マシン上で実行される第1コンテナにより送受信される情報を複製し第2コンテナに転送する処理を、適切に行なうことを目的の1つとする。
1つの側面では、情報処理システムは、1以上の情報処理装置を備えてよい。前記1以上の情報処理装置は、検出部と、記憶部と、設定部と、複製転送部と、を備えてよい。前記検出部は、複数の仮想マシンにより実行される複数のコンテナのうちのいずれかのコンテナから送信される第1情報であって、少なくとも1つのアドレスを含む前記第1情報を検出してよい。前記記憶部は、予め指定された第1コンテナのアドレスと、予め指定された第2コンテナのアドレスと、を対応付けた対応情報を記憶してよい。前記設定部は、前記第1情報に含まれるアドレスと、前記第1コンテナのアドレス、又は、前記第2コンテナのアドレスとが一致する場合、一致した前記第1コンテナ又は前記第2コンテナと、前記第1情報に基づき特定される仮想マシンのポートと、を対応付けて前記対応情報に設定してよい。前記複製転送部は、前記対応情報に基づき、前記第1コンテナに対応付けられた第1ポートを通過する第2情報を複製し、複製した前記第2情報を、前記第2コンテナに対応付けられた第2ポートを宛先として転送してよい。
1つの側面では、仮想マシン上で実行される第1コンテナにより送受信される情報を複製し第2コンテナに転送する処理を、適切に行なうことができる。
ポートミラーリングの一例を説明するためのブロック図である。 サーバ型仮想化の一例を示す図である。 コンテナ型仮想化の一例を示す図である。 コンテナネットワークの一例を示すブロック図である。 比較例に係る情報処理システムの動作を説明するためのブロック図である。 比較例に係る情報処理システムの動作を説明するためのブロック図である。 一実施形態の一例としての情報処理システムのHW構成例を示すブロック図である。 一実施形態の一例としてのコンピュータのHW構成例を示すブロック図である。 一実施形態の一例としての情報処理システムの機能構成例を示すブロック図である。 VMミラー管理テーブルの一例を示す図である。 コンテナミラー管理テーブルの初期状態の一例を示す図である。 一実施形態に係るポートミラーリングの一例を示すブロック図である。 コンテナミラー管理テーブルの一例を示す図である。 宛先コンテナに対するミラーパケットの転送経路の一例を示すブロック図である。 VXLAN(Virtual eXtensible Local Area Network)ポートによりカプセル化されたミラーパケットの一例を示す図である。 一実施形態に係る検出処理の動作例を示すフローチャートである。 一実施形態に係るトンネル生成処理の動作例を示すフローチャートである。 一実施形態に係るミラーリング処理の動作例を示すフローチャートである。 一実施形態に係るパケット転送処理の動作例を示すフローチャートである。 一実施形態に係るカプセル化処理の動作例を示すフローチャートである。 一実施形態に係る情報処理システムの動作例を示すブロック図である。
以下、図面を参照して本発明の実施の形態を説明する。ただし、以下に説明する実施形態は、あくまでも例示であり、以下に明示しない種々の変形や技術の適用を排除する意図はない。例えば、本実施形態を、その趣旨を逸脱しない範囲で種々変形して実施することができる。
なお、以下の説明で用いる図面において、同一符号を付した部分は、特に断らない限り、同一若しくは同様の部分を表す。
〔1〕一実施形態
図1は、ポートミラーリングの一例を説明するためのブロック図である。図1に示すように、情報処理システム1において、ホスト2上では、仮想スイッチ3、並びに、VM4−1及び4−2が実行される。以下、VM4−1及び4−2をそれぞれ区別しない場合には、符号のハイフン「−」以降を省略し、VM4と表記する。符号にハイフン「−」を含む、後述する他の機能ブロック又はHWブロックについても同様である。
なお、「ホスト」は、1以上の情報処理装置のHW資源を利用して実行されるOS(「ホストOS」又は「仮想OS」と称されてもよい)と、当該OS上で実行されるハイパバイザ等の仮想化管理機能とを含むものとする。仮想化管理機能にホストOSが不要である場合、「ホスト」は、HW資源を利用して実行される仮想化管理機能を含むものとする。
仮想スイッチ3は、VM4−1及び4−2の各々の仮想ポート(図1では「eth0」と表記)41−1及び41−2に対して、仮想ポート(図1では「vif1.0」及び「vif2.0」と表記)31−1及び31−2を備える。仮想ポート31は、仮想インタフェース(IF;Interface)と称されてもよい。
例えば、VM4−1の仮想ポート41−1にポートミラーリングが設定されている場合、仮想ポート31−1は、仮想ポート41−1からの出力パケット又は仮想ポート41−1への入力パケット、に対する処理が完了したときに、ミラーパケットを生成する。生成されたミラーパケットは、仮想スイッチ3及び仮想ポート31−2を経由して、監視を行なうVM4−2の仮想ポート41−2に転送される。
図2は、VM等のサーバ型仮想化の一例を示す図であり、図3は、コンテナ型仮想化の一例を示す図である。
図2に示すように、サーバ型仮想化では、HW資源やNW(Network)資源等の物理的なインフラ上でホストOSが実行され、ホストOS上で実行されるハイパバイザにより、複数のVMが実行される。VMは、ゲストOS、バイナリ及びライブラリ、アプリケーションを含む。
図3に示すように、コンテナ型仮想化では、HW資源やNW資源等の物理的なインフラ上でOSが実行され、OS上で実行されるコンテナエンジンにより、複数のコンテナが実行される。コンテナは、バイナリ及びライブラリ並びにアプリケーションを含んでよい。
図3に例示するように、コンテナ型仮想化では、OS上に仮想的なOS空間が提供される。このため、例えば、図2に示すVM(「ゲストOS」と称されてもよい)上に、複数のコンテナを起動することも可能である。
図4は、コンテナネットワークの一例を示すブロック図である。図4に示すように、VM4において、複数のコンテナ5−1及び5−2が実行される場合を想定する。コンテナネットワークでは、VXLANにより、オーバレイネットワークが構築される。
図4に示すように、コンテナ5−1及び5−2は、仮想ブリッジ(図4では「br0」と表記)42を介して、VXLANポート(図4では「vxlan0」と表記)43と接続される。VXLANポート43と仮想ポート41との間では、ブリッジ接続ではなく、IPルーティングによりパケットが転送される。
ここで、VM4上にコンテナ5が配備されている環境において、VM4のポートミラーリング機能を利用して、コンテナ5のポートミラーリングを行なう場合を想定する。
図5及び図6は、比較例に係る情報処理システム100の動作を説明するためのブロック図である。図5に示すように、ホスト201及び202でそれぞれ動作する仮想スイッチ301及び302は、コンテナ501〜504の配備先のVM401〜403を認識することが困難である。
例えば、仮想スイッチ301及び302は、監視対象であるコンテナ501を実行するVM401、及び、キャプチャされたパケットの宛先のコンテナ504を実行するVM403、を特定できない。このため、仮想スイッチ301及び302は、パケットキャプチャを設定する仮想ポート411及び412を特定できず、コンテナ501からコンテナ504へのポートミラーリングの実行が困難となる。
また、図6に例示するように、ホスト201及び202に配備されている全てのVM401〜403に対して、ポートミラーリング設定を行なうことも考えられる。しかしながら、図5の場合と同様に、いずれのコンテナ501〜505をミラーリングすればよいか不明であり、また、いずれのVM401〜403において、ミラーパケットの宛先のコンテナ505が起動しているのか不明である。
また、仮に、コンテナ505を実行する403を特定できたとしても、VM403において、複数のコンテナ504、505が起動していた場合、いずれのコンテナ504及び505にミラーパケットを転送すればよいか不明である。
さらに、図6の例では、監視対象以外の(例えば他のユーザの)コンテナ502〜504のパケットについてもミラーリングが行なわれる。このため、セキュリティの面で不都合が生じるとともに、ホスト201及び202を実行する情報処理装置において、不要なHWリソースやNWリソースが消費されることになる。
そこで、一実施形態では、1つの側面において、仮想マシン上で実行される第1コンテナにより送受信される情報を複製し第2コンテナに転送する処理を、適切に行なう手法を説明する。
〔1−1〕一実施形態の構成例
(ハードウェア構成例)
図7は、一実施形態の一例としての情報処理システム1のHW構成例を示すブロック図であり、図8は、一実施形態の一例としてのコンピュータ20のHW構成例を示すブロック図である。
図7に示すように、情報処理システム1は、複数のサーバ10−1及び10−2、及び、管理装置11を備えてよい。なお、図7の例では、便宜上、2台のサーバ10を示すが、情報処理システム1は、3以上のサーバ10を備えてもよい。
サーバ10は、情報処理装置の一例であり、図1に例示するホスト2を実行するためのHW資源を提供する。複数のサーバ10の間は、仮想化ネットワーク1aにより相互に通信可能に接続されてよい。
管理装置11は、情報処理装置の一例であり、図1に例示するホスト2、仮想スイッチ3、VM4、及び、コンテナ5の少なくとも1つの管理を行なう。管理装置11では、例えば、管理者等のオペレータにより、図示しない端末等を介して設定等の種々の処理が行なわれてもよい。なお、管理装置11は、複数のサーバ10のうちの1以上のサーバ10であってもよい。
管理装置11と複数のサーバ10との間は、管理ネットワーク1bにより相互に通信可能に接続されてよい。なお、管理ネットワーク1bに代えて、仮想化ネットワーク1aが用いられてもよい。
仮想化ネットワーク1a及び管理ネットワーク1bは、それぞれ、イーサネット(Ethernet;登録商標)に準拠したLAN(Local Area Network)等のネットワークであってもよい。
サーバ10及び管理装置11は、互いに同様のHW構成を備えてよい。以下、図8を参照して、サーバ10及び管理装置11を代表して、コンピュータ20のHW構成例を説明する。図8に示すように、コンピュータ20は、プロセッサ20a、メモリ20b、記憶装置20c、IF部20d、I/O(Input / Output)部20e、及び、読取部20fを備えてよい。
プロセッサ20aは、対応する各ブロック20b〜20fとバス20iを介して相互に通信可能に接続され、種々の制御や演算を行なう演算処理装置の一例である。プロセッサ20aは、メモリ20b、記憶装置20c、又は記録媒体20h等に格納されたプログラムを実行することにより、サーバ10又は管理装置11における種々の機能を実現する。
なお、プロセッサ20aは、複数のプロセッサを含むマルチプロセッサであってもよいし、複数のプロセッサコアを有するマルチコアプロセッサであってもよく、或いは、マルチコアプロセッサを複数有する構成であってもよい。
プロセッサ20aとしては、例えば、CPU、MPU、GPU、APU、DSP、ASIC、FPGA等の集積回路が挙げられる。CPUはCentral Processing Unitの略称であり、MPUはMicro Processing Unitの略称である。GPUはGraphics Processing Unitの略称であり、APUはAccelerated Processing Unitの略称である。DSPはDigital Signal Processorの略称であり、ASICはApplication Specific ICの略称であり、FPGAはField-Programmable Gate Arrayの略称である。
メモリ20bは、種々のデータやプログラムを格納する記憶装置である。プロセッサ20aは、プログラムを実行する際に、メモリ20bにデータやプログラムを格納し展開する。なお、メモリ20bとしては、例えばRAM(Random Access Memory)等の揮発性メモリが挙げられる。
記憶装置20cは、種々のデータやプログラム等を格納するHWである。記憶装置20cとしては、例えばHDD(Hard Disk Drive)等の磁気ディスク装置、SSD等の半導体ドライブ装置、不揮発性メモリ、等の各種デバイスが挙げられる。不揮発性メモリとしては、例えば、フラッシュメモリ、ストレージクラスメモリ(SCM;Storage Class Memory)、又はROM(Read Only Memory)等が挙げられる。
IF部20dは、有線又は無線による、仮想化ネットワーク1a又は管理ネットワーク1bや他のネットワークとの間の接続及び通信の制御等を行なう。
I/O部20eは、マウスやキーボード等の入力装置及びディスプレイやプリンタ等の出力装置の少なくとも一方を含んでよい。例えば、管理装置11において、I/O部20eは、管理者等による種々の操作に用いられてもよい。
読取部20fは、コンピュータ読取可能な記録媒体20hに記録されたデータやプログラムを読み出す装置である。記録媒体20hには、プログラム20gが格納されてもよい。例えば、プロセッサ20aは、読取部20fを介して記録媒体20hから読み出したプログラム20gを、メモリ20b等の記憶装置に展開して実行してもよい。
記録媒体20hとしては、例示的に、磁気/光ディスクやフラッシュメモリ等の非一時的な記録媒体が挙げられる。磁気/光ディスクとしては、例示的に、フレキシブルディスク、CD(Compact Disc)、DVD(Digital Versatile Disc)、ブルーレイディスク、HVD(Holographic Versatile Disc)等が挙げられる。フラッシュメモリとしては、例示的に、USBメモリやSDカード等が挙げられる。
なお、サーバ10及び管理装置11の上述したHW構成は例示である。従って、サーバ10及び管理装置11内でのHWの増減(例えば任意のブロックの追加や省略)、分割、任意の組み合わせでの統合、バスの追加又は省略等は適宜行なわれてもよい。
(機能構成例)
図9は、一実施形態の一例としての情報処理システム1の機能構成例を示すブロック図である。図9に示すように、情報処理システム1は、機能構成として、ホスト2−1及び2−2、並びに、管理マシン8を備えてよい。なお、図9に示す例では、便宜上、2つのホスト2−1及び2−2を例に挙げるが、情報処理システム1は、3つ以上のホスト2を備えてもよい。
ホスト2−1及び2−2は、複数のサーバ10(図7参照)が提供するHW構成を利用して実現されてよい。
ホスト2は、ホストOS6を実行し、ホストOS6上でハイパバイザ60を実行してよい。ハイパバイザ60は仮想化管理機能の一例である。なお、ハイパバイザ60にホストOS6が不要である場合、ホスト2は、ハイパバイザ60を実行してもよい。図9の例では、ホスト2−1は、ホストOS6−1及びハイパバイザ60−1を実行し、ホスト2−2は、ホストOS6−2及びハイパバイザ60−2を実行するものとする。
ホストOS6(ハイパバイザ60)上では、仮想スイッチ3及び1以上のVM4が実行されてよい。図9の例では、ホストOS6−1は、仮想スイッチ3−1並びにVM4−1及び4−2を実行し、ホストOS6−2は、仮想スイッチ3−2及びVM4−3を実行するものとする。仮想スイッチ3の詳細は後述する。
VM4は、サーバ10のHW資源を利用して動作する仮想マシンの一例であり、一実施形態においては、1以上のコンテナ5を実行(起動)可能である。VM4は、図4に例示するように、仮想ポート41、仮想ブリッジ42及びVXLANポート43を備えてよい。
仮想ブリッジ42は、VM4内で仮想ブリッジ42に接続されるコンテナ5間の通信を可能とする。
VXLANポート43は、コンテナ5から送信されるパケットに対して、VXLANヘッダを付加することでVXLANパケット(以下、単に「パケット」と表記する場合がある)を生成し、VXLANパケットを仮想ポート41に転送する。また、VXLANポート43は、仮想ポート41から受信するVXLANパケットからVXLANヘッダを除去して元のパケットを取り出し、取り出したパケットを仮想ブリッジ42に転送する。なお、VXLANヘッダは、仮想ネットワークを識別するためのVLAN IDを含んでよい。
管理マシン8は、管理装置11(図7参照)が提供するHW構成を利用して実現されてよい。
管理マシン8は、OS7(例えば仮想OS)を実行し、OS7上でハイパバイザ70を実行してよい。なお、管理マシン8において、OS7は実OSであってもよく、この場合、ハイパバイザ70が実行されなくてもよい。
OS7は、仮想化管理部71及びポートミラー管理部72を備えてよい。仮想化管理部71は、ホスト2におけるVM4、及び、VM4におけるコンテナ5の管理を行なう。
ポートミラー管理部72は、ホスト2におけるポートミラーリングの管理を行なう。例えば、ポートミラー管理部72は、ポートミラーリングの対象となるVMミラー管理テーブル(図9では「VMミラー管理TBL」と表記)73を管理し、ホスト2に対して、当該テーブル73に基づき、VM4単位のポートミラーリングの実行を指示してよい。
VMミラー管理テーブル73は、例えば、オペレータ等により設定されてよい。図10は、VMミラー管理テーブル73の一例を示す図である。
図10に示すように、VMミラー管理テーブル73は、例示的に、「ID」、「名前」、「ポートID」、「ミラー方向」、及び、「モニタポートID」を含んでよい。
「ID」(Identifier)は、ポートミラーリングのエントリを特定する識別情報の一例である。「名前」は、ポートミラーリングの対象となる対象VM4の仮想ポート41の名前、例えば“VM1_eth0”等が設定される。「ポートID」は、対象VM4の仮想ポート41の識別情報の一例である。「モニタポートID」は、ポートミラーリングによるミラーパケットの宛先となる宛先VM4の仮想ポート41の識別情報の一例である。
「ミラー方向」は、ポートミラーリングの対象となるパケットの、対象VM4に対する転送方向を示す、「出力」、「入力」、又は「双方向」等が設定される。「出力」は、対象VM4から出力されるパケットが対象となることを示し、「入力」は、対象VM4に入力されるパケットが対象となることを示す。「双方向」は、対象VM4に入力されるパケットと、対象VM4から出力されるパケットと、が対象となることを示す。
なお、図10では、VMミラー管理テーブル73に格納されるデータを、便宜上、テーブル形式として示すが、これに限定されるものではない。例えば、VMミラー管理テーブル73は、DB(Database)形式やXML(eXtensible Markup Language)形式、配列等の種々の形態でデータを記憶してよい。VMミラー管理テーブル73は、例えば、管理装置11のメモリ20b又は記憶装置20c(図8参照)の記憶領域に格納されてよい。
また、ポートミラー管理部72は、コンテナ5単位のポートミラーリングの対象となる対象コンテナ5、及び、ポートミラーリングによるミラーパケットの宛先となる宛先コンテナ5の情報を受け付けてよい。当該情報は、例えばオペレータ等から入力されてよい。そして、ポートミラー管理部72は、受け付けた情報を、ホスト2、例えば仮想スイッチ3に対して送信してよい。なお、対象コンテナ5及び宛先コンテナ5の情報としては、例えば、各コンテナ5のアドレス、一例としてIPアドレスが挙げられる。
〔1−2〕仮想スイッチの構成例
仮想スイッチ3は、複数のVM4の間の通信を制御する。また、一実施形態に係る仮想スイッチ3は、管理マシン8からの指示に応じて、VM4単位、又は、コンテナ5単位のポートミラーリングを実行する。以下、仮想スイッチ3によるコンテナ5単位のポートミラーリングに着目した構成について説明する。
図9に例示するように、仮想スイッチ3は、1以上の仮想ポート31、コンテナミラー管理テーブル(図9では「コンテナミラー管理TBL」と表記)32、アドレス検出部33、ミラー設定部34、ルーティング部35、及び、トンネル作成部36を備えてよい。図9の例では、仮想スイッチ3−1は、2つの仮想ポート31−1及び31−2を備え、仮想スイッチ3−2は、1つの仮想ポート31を備えるものとする。
ここで、一実施形態において、対象コンテナ5は、仮想スイッチ3−1上で動作するVM4−1のコンテナ5−1であるものとし、宛先コンテナ5は、仮想スイッチ3−2上で動作するVM4−3のコンテナ5−4であるものとする。この場合、宛先コンテナ5−4を実行するVM4を管轄する仮想スイッチ3−2は、後述するトンネル作成部36により作成される、VXLANポート37をさらに備えてよい。
仮想ポート31は、仮想スイッチ3が備える仮想的なIFであり、VM4の仮想ポート41と接続される。仮想ポート31は、対応するVM4の仮想ポート41からのパケットに対して所定の処理を行ない、ルーティング部35に転送するとともに、ルーティング部35からのパケットに対して所定の処理を行ない、対応するVM4の仮想ポート41に転送する。所定の処理には、一例として、パケットのヘッダの更新等の種々の処理が含まれてよい。
また、一実施形態に係る仮想ポート31は、所定の処理として、後述するコンテナミラー管理テーブル32に基づき、対象コンテナ5を実行するVM4の仮想ポート41を通過する、例えば宛先コンテナ5とは異なるIPアドレス宛のパケットを複製してよい。そして、仮想ポート31は、コンテナミラー管理テーブル32に基づき、複製したパケットを、宛先コンテナ5を実行するVM4の仮想ポート41を宛先として、ルーティング部35に転送してよい。
なお、仮想ポート31は、複製したパケットの転送の際に、当該パケット(VXLANパケット)のヘッダに、ミラーパケットであることを示す識別情報を付加してもよい。ミラーパケットであることを示す識別情報としては、例えば、予め指定された特定のVLAN ID等が挙げられる。
コンテナミラー管理テーブル(以下、「管理テーブル」と表記する場合がある)32は、コンテナ5のアドレスとVM4のポートとを対応付ける対応情報の一例であり、コンテナ5単位のポートミラーリングを管理するテーブルである。管理テーブル32は、例えば、仮想スイッチ3等により、管理マシン8から受信した対象コンテナ5及び宛先コンテナ5の情報に基づき生成及び更新されてよい。
図11は、コンテナミラー管理テーブル32の初期状態の一例を示す図である。図11に示すように、管理テーブル32は、例示的に、「ID」、「対象アドレス」、「対象ポートID」、「ミラー方向」、「宛先アドレス」及び、「宛先ポートID」を含んでよい。
「ID」は、コンテナ5単位のポートミラーリングのエントリを特定する識別情報の一例である。「対象アドレス」は、対象コンテナ5のアドレス、一例としてIPアドレスである。「宛先アドレス」は、宛先コンテナ5のアドレス、一例としてIPアドレスである。
「ミラー方向」は、ポートミラーリングの対象となるパケットの、対象コンテナ5(VM4)に対する転送方向を示す、「出力」、「入力」、又は「双方向」等が設定される。「出力」は、対象コンテナ5から出力されるパケットが対象となることを示し、「入力」は、対象コンテナ5に入力されるパケットが対象となることを示す。「双方向」は、対象コンテナ5に入力されるパケットと、対象コンテナ5から出力されるパケットと、が対象となることを示す。
「対象ポートID」は、対象コンテナ5が接続される「ポート」の識別情報の一例であり、「宛先ポートID」は、宛先コンテナ5が接続される「ポート」の識別情報の一例である。なお、「接続」とは、論理的な接続を含むものとする。一実施形態においては、「対象ポートID」及び「宛先ポートID」がそれぞれ、VM4における仮想ポート41のIDを示すものとするが、これに限定されるものではなく、仮想ポート41に接続される、仮想スイッチ3の仮想ポート31のIDであってもよい。
管理テーブル32の初期状態、例えば管理マシン8からの指示に応じた仮想スイッチ3による設定後、管理テーブル32は、「ID」、「対象アドレス」、「ミラー方向」、及び、「宛先アドレス」が設定された状態となる。換言すれば、管理テーブル32に対してエントリが追加される際には、対象コンテナ5及び宛先コンテナ5のアドレスの指定と、ポートミラーリングの対象となるパケットの指定とが行なわれる。
一方、管理テーブル32の初期状態において、「対象ポートID」及び「宛先ポートID」は、未設定(ブランク又は“NULL”)である。これは、図5及び図6に示す比較例のように、コンテナ501〜505がVM401〜403上で実行される場合に、対象コンテナ501及び宛先コンテナ504を特定することが困難であるためである。
そこで、一実施形態に係る仮想スイッチ3は、以下に説明する手法により、「対象ポートID」及び「宛先ポートID」を特定することで、図12に例示するように、管理テーブル73で指定されたコンテナ5間のポートミラーリングを実行可能とする。
なお、図11では、管理テーブル32に格納されるデータを、便宜上、テーブル形式として示すが、これに限定されるものではない。例えば、管理テーブル32は、DB形式やXML形式、配列等の種々の形態でデータを記憶してよい。管理テーブル32は、例えば、サーバ10のメモリ20b又は記憶装置20c(図8参照)の記憶領域に格納されてよい。管理テーブル32を記憶する、サーバ10のメモリ20b又は記憶装置20cは、記憶部の一例である。
アドレス検出部33は、検出部の一例であり、複数の仮想ポート31又は41の各々を監視し、コンテナ5が出力する特定種別のパケットを検出する。
特定種別のパケットとしては、例えば、パケットの送信元及び宛先の少なくとも一方のアドレス(例えばIPアドレス)を含むパケットであってよく、各コンテナ5の動作において、少なくとも1度は送信又は受信される可能性の高いパケットであってよい。
一例として、特定種別のパケットとしては、ARPパケット、又は、DHCP応答パケット等の、コンテナ5の起動後やアクセスの際等の所定のタイミングで送信又は受信されるパケットが挙げられる。ARPはAddress Resolution Protocolの略称であり、DHCPはDynamic Host Configuration Protocolの略称である。ARPパケットには、例えばソースIPアドレスとしてコンテナ5のIPアドレスが含まれ、DHCP応答パケットには、例えばDHCPサーバによるオファーIPアドレスとしてコンテナ5のIPアドレスが含まれる。
なお、特定種別のパケットとしては、ARPやDHCPのパケットに限定されるものではなく、所定のタイミングで、コンテナ5から送信され、又は、コンテナ5により受信される、種々の種別のパケットが利用されてよい。特定種別のパケットは、第1情報又は制御情報の一例である。
ミラー設定部34は、設定部の一例である。ミラー設定部34は、アドレス検出部33が検出した検出パケットに基づき、対象コンテナ5を起動する対象VM4、及び、宛先コンテナ5を起動する宛先VM4を、それぞれ特定する。
例えば、ミラー設定部34は、検出パケットに含まれるIPアドレスと、対象コンテナ5のIPアドレス、又は、宛先コンテナ5のIPアドレスとが一致するか否かを判定する。検出パケットに含まれるIPアドレスとは、例えば、ARPパケットのソースIPアドレス又はDHCP応答パケットのオファーIPアドレスである。
なお、対象コンテナ5のIPアドレスは、予め指定された第1コンテナ5のアドレスの一例であり、宛先コンテナ5のIPアドレスは、予め指定された第2コンテナ5のアドレスの一例である。
上記の判定により、例えば、検出パケットのIPアドレスが、管理テーブル32における対象コンテナ5のIPアドレスと一致すれば、当該検出パケットを検出した(検出パケットが通過する)仮想ポート41に対象コンテナ5が接続されていることがわかる。そこで、ミラー設定部34は、第1ポートの一例である当該仮想ポート41にポートミラーを設定する。
また、例えば、検出パケットのIPアドレスが、管理テーブル32における宛先コンテナ5のIPアドレスと一致すれば、当該検出パケットを検出した(検出パケットが通過する)仮想ポート41に宛先コンテナ5が接続されていることがわかる。そこで、ミラー設定部34は、第2ポートの一例である当該仮想ポート41をポートミラーの宛先ポートに決定する。
例えば、ミラー設定部34は、IPアドレスが一致した対象コンテナ5又は宛先コンテナ5と、送信されたパケットに基づき特定されるVM4の仮想ポート41(又は仮想ポート31)のポートIDと、を対応付けて、管理テーブル32に設定する。これにより、管理テーブル32においては、図13に例示するように、未設定であった「対象ポートID」及び「宛先ポートID」が設定される。
このように、ミラー設定部34によれば、管理テーブル32の設定により、対象コンテナ5のIPアドレスに一致したパケットを選択的にミラーリングするためのポートミラーを、仮想ポート41(例えば図9において丸で示すポイント)に設定することができる。
なお、ミラー設定部34は、例えば、管理テーブル32において未設定の「対象ポートID」及び「宛先ポートID」が無くなるまで、アドレス検出部33が特定種別のパケットを検出する都度、上述した判定及び管理テーブル32の更新を行なってよい。
以上のように、アドレス検出部33及びミラー設定部34によれば、仮想スイッチ3において、特定種別のパケットの監視を行なうことで、例えば、ホスト2ごとに管理テーブル32の情報を補完することができる。従って、ホスト2間での管理テーブル32の共有を不要とすることができ、HW資源やNW資源を効率的に利用できる。換言すれば、サーバ10の処理負荷や、仮想化ネットワーク1aの通信負荷を低減させることができる。
また、例えば、対象コンテナ5及び宛先コンテナ5が起動したタイミング等の予め設定されたタイミングで、対象コンテナ5と宛先コンテナ5との間で特定種別のパケットを送受信するように動作させてもよい。当該動作は、例えば管理マシン8、仮想スイッチ3、又はハイパバイザ60等により制御されてよい。これにより、ホスト2ごとに管理テーブル32の情報を容易に且つ確実に補完することができる。
ルーティング部35は、仮想ポート31間の通信を制御する。例えば、ルーティング部35は、仮想ポート31から転送されたパケットを、当該パケットのヘッダで指定されたVM4の仮想ポート41に転送する。
このように、仮想ポート31及びルーティング部35は、コンテナ5単位のポートミラーリングにおいて、以下の処理を行なう複製転送部の一例である。例えば、仮想ポート31及びルーティング部35は、管理テーブル32に基づき、対象コンテナ5に対応付けられた仮想ポート41を通過する、第2情報の一例であるパケットを複製する。また、例えば、仮想ポート31及びルーティング部35は、複製したパケットを、宛先コンテナ5に対応付けられた仮想ポート41を宛先として転送する。
ここで、ミラーパケットの宛先アドレスは、上述のように、宛先コンテナ5のIPアドレスとは異なる。このため、宛先コンテナ5に対応付けられた仮想ポート41に接続される仮想ポート31は、通常のルーティングでは、受信したミラーパケットを、宛先コンテナ5に転送することが困難である。
そこで、宛先コンテナ5−4を実行するVM4−3を管轄する仮想スイッチ3(図9の例では、仮想スイッチ3−2)は、受信したパケットのうちのミラーパケットを、宛先コンテナ5のVXLANに変換してから、宛先コンテナ5に転送する。
図14は、宛先コンテナ5に対するミラーパケットの転送経路の一例を示すブロック図である。図14では、図9に示す構成のうちの一部の構成を省略している。
図9に示す仮想ポート31−1は、管理テーブル32に基づき、対象ポートIDの仮想ポート41を通過するパケットのうち、対象コンテナ5−1のIPアドレスを送信元又は宛先に含み、且つ、ミラー方向が一致するパケットを検出する。そして、仮想ポート31−1は、検出したパケットを複製し、ルーティング部35を経由して、宛先ポートIDの仮想ポート41に転送する。
ルーティング部35により転送されたミラーパケットは、仮想スイッチ3−1から、ホスト2間の通信路(例えば仮想化ネットワーク1a)を経由して、仮想スイッチ3−2が備える、宛先ポートIDに対応する仮想ポート31により受信される。
仮想ポート31は、パケットを受信すると、当該パケットがミラーパケットか否かを判定する。例えば、仮想ポート31は、当該パケットのヘッダに含まれるVLAN IDを参照し、ミラーパケットを示すVLAN IDであるか否かを判定してよい。VLAN IDがミラーパケットを示すと判定した場合、仮想ポート31は、当該パケットを仮想ポート41に転送する代わりに、VXLANポート37に転送する。
このとき、仮想ポート31は、ミラーパケットに付加された第1ヘッダ情報、例えばVXLANヘッダを除去し、VXLANヘッダ除去後のミラーパケットを、VXLANポート37に転送してよい。このように、第2ポートを宛先として転送されたミラーパケットを、VXLANポート37に転送する転送部の一例である。
VXLANポート(図9及び図14では「vxlan1」と表記)37は、トンネル作成部36により生成されるポートであり、VM4のVXLANポート43との間でトンネル経路を形成するトンネルポートの一例である。
トンネル作成部36は、生成部の一例であり、例えば、ミラー設定部34により管理テーブル32の「宛先ポートID」が設定された場合に、当該宛先ポートIDのVM4が有するVXLANポート43に対応するVXLANポート37を生成してよい。このように、トンネル作成部36は、VXLANポート37を生成することで、VM4と仮想スイッチ3との間に、トンネル経路の一例であるVXLANトンネルを開設する。
VXLANポート37は、仮想ポート31から転送されたミラーパケットに対して、宛先コンテナ5−4を実行するVM4を宛先とする第2ヘッダ情報の一例であるVXLANヘッダを付加してカプセル化する。VXLANヘッダは、トンネル経路を識別するためのVLAN ID等の識別情報を含んでよい。
図15は、VXLANポート37によりカプセル化されたミラーパケットの一例を示す図である。図15に示すように、VXLANポート37は、仮想ポート31においてVXLANヘッダが除去されたミラーパケット(「オーバレイパケット」と称されてもよい)をペイロードとし、VXLANヘッダを付加することで、ミラーパケットをカプセル化する。カプセル化されたミラーパケットは、「アンダーレイパケット」と称されてもよい。
VXLANポート37は、カプセル化したミラーパケットを、トンネル経路、換言すれば、トンネル経路を経由してVM4のVXLANポート43に送信する。
VM4では、VXLANポート43により、ミラーパケットのVXLANヘッダが除去され、VXLANヘッダ除去後のミラーパケットが、仮想ブリッジ42を経由して、宛先コンテナ5に転送される。
以上により、一実施形態によれば、VM4上にコンテナ5が配備される環境において、VM4のポートミラーリング機能を利用してコンテナ5のポートミラーリングを行なう場合であっても、宛先コンテナ5に正しくミラーパケットを届けることが可能となる。
〔1−3〕動作例
次に、図16〜図21を参照して、上述の如く構成された一実施形態に係る情報処理システム1の動作例を説明する。
〔1−3−1〕検出処理
まず、図16及び図21を参照して、検出処理の動作例を説明する。なお、検出処理は、例えば、管理マシン8からの指示に基づき、主に、仮想スイッチ3のアドレス検出部33及びミラー設定部34により実行されてよい。
図16に例示するように、仮想スイッチ3は、管理マシン8からのコンテナミラーリングの実行指示に従い、実行指示で指定された対象コンテナ5及び宛先コンテナ5(図21の(i)参照)のIPアドレスを、管理テーブル32に設定する(ステップS1)。
アドレス検出部33は、管理テーブル32に「対象ポートID」又は「宛先ポートID」が未設定のエントリが存在する場合、各仮想ポート41(例えば各仮想ポート31)を監視し、仮想ポート41を通過するパケットを取得する(ステップS2)。
パケットを取得すると、アドレス検出部33は、取得パケットが特定種別のパケットか否かを判定する(図21の(ii)参照)。例えば、アドレス検出部33は、取得パケットがARPパケットか否かを判定する(ステップS3)。
取得パケットがARPパケットであると判定した場合(ステップS3でYes)、アドレス検出部33は、ARPパケット内のソースIPアドレスを取得し(ステップS4)、処理がステップS7に移行する。
取得パケットがARPパケットではないと判定した場合(ステップS3でNo)、アドレス検出部33は、取得パケットがDHCP応答パケットか否かを判定する(ステップS5)。取得パケットがDHCP応答パケットではないと判定した場合(ステップS5でNo)、処理がステップS11に移行する。
取得パケットがDHCP応答パケットであると判定した場合(ステップS5でYes)、アドレス検出部33は、DHCP応答パケット内のオファーIPアドレスを取得し(ステップS6)、処理がステップS7に移行する。
ステップS7では、ミラー設定部34は、アドレス検出部33が取得したIPアドレスが、管理テーブル32に設定された対象コンテナ5のIPアドレスと一致するか否かを判定する。一致すると判定した場合(ステップS7でYes)、ミラー設定部34は、取得パケットに基づき特定されるVM4の仮想ポート41をミラーポートに設定し(ステップS8;図21の(iii)参照)、処理がステップS11に移行する。例えば、ミラー設定部34は、管理テーブル32に対して「対象ポートID」に仮想ポート41のIDを設定してよい。
取得パケットと対象コンテナ5のIPアドレスとが一致しないと判定した場合(ステップS7でNo)、ミラー設定部34は、取得したIPアドレスが、管理テーブル32に設定された宛先コンテナ5のIPアドレスと一致するか否かを判定する(ステップS9)。一致しないと判定した場合(ステップS9でNo)、処理がステップS11に移行する。
取得したIPアドレスと宛先コンテナ5のIPアドレスとが一致すると判定した場合(ステップS9でYes)、ミラー設定部34は、取得パケットに基づき特定されるVM4の仮想ポート41を宛先ポートに設定する(ステップS10;図21の(iv)参照)。そして、処理がステップS11に移行する。宛先ポートの設定は、例えば、管理テーブル32に対して「宛先ポートID」に仮想ポート41のIDを設定することで行なわれてよい。
なお、ステップS7及びS9において、取得パケットに基づき特定されるVM4としては、例えば、取得パケットがARPパケットの場合は送信元のVM4であり、取得パケットがDHCP応答パケットの場合は宛先のVM4が挙げられる。
また、ステップS7及びS9における判定対象の対象コンテナ5及び宛先コンテナ5は、管理テーブル32においてポートID未設定のエントリに設定されたコンテナ5に制限されてもよい。
ステップS11では、ミラー設定部34は、管理テーブル32において、未設定のミラーポート又は未設定の宛先ポートが存在するか否かを判定する。未設定のミラーポート又は未設定の宛先ポートが存在すると判定した場合(ステップS11でYes)、処理がステップS2に移行し、アドレス検出部33によるパケットの監視が行なわれる。一方、未設定のミラーポート又は未設定の宛先ポートが存在しない、換言すれば、管理テーブル32における全てのミラーポート及び宛先ポートの設定が完了した、と判定した場合、処理が終了する。
なお、対象コンテナ5又は宛先コンテナ5が他のホスト2で実行される仮想スイッチ3の管轄である場合等、ポートIDが特定し難い場合を考慮し、ステップS11のYesのルートに遷移可能な回数又は時間を制限してもよい。例えば、所定回数実行又は所定時間経過しても管理テーブル32にポートIDが未設定のエントリが存在する場合、仮想スイッチ3は、他の仮想スイッチ3との間で管理テーブル32の同期を行なうことで、未設定のポートIDを取得してもよい。
〔1−3−2〕トンネル生成処理
次に、図17を参照して、トンネル生成処理の動作例を説明する。なお、トンネル生成処理は、例えば、主にトンネル作成部36により、管理テーブル32のエントリごとに、検出処理による設定の完了後に実行されてよい。
図17に例示するように、トンネル作成部36は、自身のホスト2で実行される各VM4の仮想ポート41が宛先ポートか否かを判定する(ステップS21)。例えば、トンネル作成部36は、検出処理が完了したエントリの宛先ポートIDを管理テーブル32から取得し、当該宛先ポートIDと、自身のホスト2で実行される各VM4の仮想ポート41のポートIDとを比較し、一致するか否かを判定してよい。
VM4の仮想ポート41が宛先ポートではないと判定した場合(ステップS21でNo)、処理が終了する。
VM4の仮想ポート41が宛先ポートであると判定した場合(ステップS21でYes)、トンネル作成部36は、当該VM4内のVXLANポート(図14等では「vxlan0」と表記)43のIPアドレスを取得する(ステップS22)。なお、トンネル作成部36は、VXLANポート43のIPアドレスを、管理マシン8の仮想化管理部71に問い合わせ、仮想化管理部71から取得してもよい。
トンネル作成部36は、VXLANポート37宛てのVXLANポート(図14等では「vxlan1」と表記)43を仮想スイッチ3に作成し(ステップS23)、処理が終了する。
〔1−3−3〕ミラーリング処理
次に、図18を参照して、ミラーリング処理の動作例を説明する。なお、ミラーリング処理は、例えば、主に、仮想ポート31及びルーティング部35により、パケットが到着するごとに実行されてよい。
図18に例示するように、仮想ポート31は、パケットの到着(受信)を待ち受ける(ステップS31、ステップS31でNo)。なお、パケットは、ルーティング部35から、自身の仮想ポート31に対応する仮想ポート41への入力方向、及び、自身の仮想ポート31に対応する仮想ポート41からルーティング部35への出力方向、の双方から到着し得る。
パケットが到着すると(ステップS31でYes)、仮想ポート31は、パケットに対する処理を実行し(ステップS32)、例えば当該パケットを宛先へ転送する。
また、仮想ポート31は、自身の仮想ポート31に対応する仮想ポート41、及び、パケットがミラーリング対象か否かを判定する(ステップS33)。例えば、仮想ポート31は、管理テーブル32を参照し、仮想ポート41が「対象ポートID」と一致するか否か、パケットの送信元又は宛先が「対象アドレス」と一致するか否か、及び受信したパケットの転送方向とミラー方向とが一致するか否かを判定してよい。
ミラーリング対象ではない(例えば上記のうちの少なくとも1つが一致しない)と判定した場合(ステップS33でNo)、処理がステップS31に移行する。
ミラーリング対象であると判定した場合(ステップS33でYes)、仮想ポート31は、パケットを複製し、複製パケットを、管理テーブル32のエントリで「宛先ポートID」に指定された仮想ポート41宛に転送する(ステップS34)。そして、処理がステップS31に移行する。
〔1−3−4〕パケット転送処理
次に、図19を参照して、パケット転送処理の動作例を説明する。なお、パケット転送処理は、例えば、主に、宛先コンテナ5を実行するVM4の仮想ポート41に対応する仮想ポート31により、パケットが到着するごとに実行されてよい。
図19に例示するように、仮想ポート31は、ルーティング部35からパケットの到着(受信)を待ち受ける(ステップS41、ステップS41でNo)。
パケットが到着すると(ステップS41でYes)、仮想ポート31は、受信したパケットがミラーパケットか否かを判定する(ステップS42)。例えば、仮想ポート31は、パケットのVLAN IDが、予め定められたミラーパケット用のVLAN IDであるか否かを判定してよい。或いは、ミラーパケットは、受信したパケットの宛先が宛先コンテナ5のIPアドレスとは異なる場合に、ミラーパケットであると判定してもよい。
受信したパケットがミラーパケットではないと判定した場合(ステップS42でNo)、仮想ポート31は、パケットに対する処理を実行し(ステップS43)、処理がステップS41に移行する。
受信したパケットがミラーパケットであると判定した場合(ステップS42でYes)、仮想ポート31は、ミラーパケット内のVXLANヘッダを取り除く(ステップS44)。そして、仮想ポート31は、VXLANヘッダを取り除いたパケットを、トンネル作成部36が生成したVXLANポート37に転送し(ステップS45)、処理がステップS41に移行する。
〔1−3−5〕カプセル化処理
次に、図20及び図21を参照して、カプセル化処理の動作例を説明する。なお、カプセル化処理は、例えば、主に、VXLANポート37(図21では「vxlan1」と表記)により、仮想ポート31からミラーパケットが到着するごとに実行されてよい。
図20に例示するように、VXLANポート37は、仮想ポート31からミラーパケットの到着(受信)を待ち受ける(ステップS51、ステップS51でNo)。
ミラーパケットが到着すると(ステップS51でYes)、VXLANポート37は、ミラーパケットにVXLANヘッダを付加してカプセル化、すなわちVXLANに変換する(ステップS52;図21の(v)参照)。
そして、VXLANポート37は、カプセル化したパケットを、トンネル経路を経由してVM4のVXLANポート(図21では「vxlan0」と表記)43に転送し(ステップS53)、処理がステップS51に移行する。
〔2〕その他
上述した一実施形態に係る技術は、以下のように変形、変更して実施することができる。
例えば、図9に示す情報処理システム1が備える各機能ブロックは、任意の組み合わせで併合してもよく、それぞれ分割してもよい。また、図9に示すホスト2又は管理マシン8が備える各機能ブロックは、任意の組み合わせで併合してもよく、それぞれ分割してもよい。さらに、図9に示す仮想スイッチ3が備える各機能ブロックは、任意の組み合わせで併合してもよく、それぞれ分割してもよい。
また、一実施形態では、対象コンテナ5が実行されるホスト2−1と、宛先コンテナ5が実行されるホスト2−2とが別々のホスト2であるものとしたが、これに限定されるものではない。対象コンテナ5及び宛先コンテナ5は、同一のホスト2且つ同一の仮想スイッチ3上で動作する異なるVM4により実行されてもよいし、さらに、同一のVM4により実行されてもよい。
〔3〕付記
以上の一実施形態に関し、さらに以下の付記を開示する。
(付記1)
1以上の情報処理装置を備える情報処理システムであって、
前記1以上の情報処理装置は、
複数の仮想マシンにより実行される複数のコンテナのうちのいずれかのコンテナから送信される第1情報であって、少なくとも1つのアドレスを含む前記第1情報を検出する検出部と、
予め指定された第1コンテナのアドレスと、予め指定された第2コンテナのアドレスと、を対応付けた対応情報を記憶する記憶部と、
前記第1情報に含まれるアドレスと、前記第1コンテナのアドレス、又は、前記第2コンテナのアドレスとが一致する場合、一致した前記第1コンテナ又は前記第2コンテナと、前記第1情報に基づき特定される仮想マシンのポートと、を対応付けて前記対応情報に設定する設定部と、
前記対応情報に基づき、前記第1コンテナに対応付けられた第1ポートを通過する第2情報を複製し、複製した前記第2情報を、前記第2コンテナに対応付けられた第2ポートを宛先として転送する複製転送部と、を備える、
情報処理システム。
(付記2)
前記複製転送部は、前記第1ポートを通過する前記第2情報であって、前記第1情報に含まれる前記アドレスと、前記第2コンテナのアドレスとは異なるアドレスと、の間で送信又は受信される前記第2情報を複製し、複製した前記第2情報を、前記第2ポートを宛先として転送する、
付記1に記載の情報処理システム。
(付記3)
前記1以上の情報処理装置は、
前記第2コンテナを実行する仮想マシンとの間のトンネル経路を形成するトンネルポートを生成する生成部と、
前記第2ポートを宛先として転送された前記第2情報を、前記トンネルポートに転送する転送部と、を備え、
前記トンネルポートは、前記転送部から受信した前記第2情報を、前記トンネル経路を経由して、前記第2コンテナを実行する仮想マシンに送信する、
付記1又は付記2に記載の情報処理システム。
(付記4)
前記転送部は、前記第2情報に付加された、前記複製転送部による転送で利用された第1ヘッダ情報を除去し、前記第1ヘッダ情報を除去した前記第2情報を前記トンネルポートに転送し、
前記トンネルポートは、受信した前記第2情報に対して、前記第2コンテナを実行する仮想マシンを宛先とする第2ヘッダ情報を付加し、前記第2ヘッダ情報を付加した前記第2情報を前記トンネル経路に送信する、
付記3に記載の情報処理システム。
(付記5)
前記トンネルポートは、前記複数の仮想マシンの間の通信を制御する仮想スイッチに備えられ、
前記転送部は、前記仮想スイッチに備えられ、前記第2コンテナを実行する仮想マシンの前記第2ポートに対応する、仮想ポートである、
付記3又は付記4に記載の情報処理システム。
(付記6)
前記第1情報は、予め設定されたタイミングで、前記第1コンテナと前記第2コンテナとの間で送受信される、
付記1〜4のいずれか1項に記載の情報処理システム。
(付記7)
複数の仮想マシンにより実行される複数のコンテナのうちのいずれかのコンテナから送信される第1情報であって、少なくとも1つのアドレスを含む前記第1情報を検出する検出部と、
予め指定された第1コンテナのアドレスと、予め指定された第2コンテナのアドレスと、を対応付けた対応情報を記憶する記憶部と、
前記第1情報に含まれるアドレスと、前記第1コンテナのアドレス、又は、前記第2コンテナのアドレスとが一致する場合、一致した前記第1コンテナ又は前記第2コンテナと、前記第1情報に基づき特定される仮想マシンのポートと、を対応付けて前記対応情報に設定する設定部と、
前記対応情報に基づき、前記第1コンテナに対応付けられた第1ポートを通過する第2情報を複製し、複製した前記第2情報を、前記第2コンテナに対応付けられた第2ポートを宛先として転送する複製転送部と、を備える、
情報処理装置。
(付記8)
前記複製転送部は、前記第1ポートを通過する前記第2情報であって、前記第1情報に含まれる前記アドレスと、前記第2コンテナのアドレスとは異なるアドレスと、の間で送信又は受信される前記第2情報を複製し、複製した前記第2情報を、前記第2ポートを宛先として転送する、
付記7に記載の情報処理装置。
(付記9)
前記第2コンテナを実行する仮想マシンとの間のトンネル経路を形成するトンネルポートを生成する生成部と、
前記第2ポートを宛先として転送された前記第2情報を、前記トンネルポートに転送する転送部と、を備え、
前記トンネルポートは、前記転送部から受信した前記第2情報を、前記トンネル経路を経由して、前記第2コンテナを実行する仮想マシンに送信する、
付記7又は付記8に記載の情報処理装置。
(付記10)
前記転送部は、前記第2情報に付加された、前記複製転送部による転送で利用された第1ヘッダ情報を除去し、前記第1ヘッダ情報を除去した前記第2情報を前記トンネルポートに転送し、
前記トンネルポートは、受信した前記第2情報に対して、前記第2コンテナを実行する仮想マシンを宛先とする第2ヘッダ情報を付加し、前記第2ヘッダ情報を付加した前記第2情報を前記トンネル経路に送信する、
付記9に記載の情報処理装置。
(付記11)
前記トンネルポートは、前記複数の仮想マシンの間の通信を制御する仮想スイッチに備えられ、
前記転送部は、前記仮想スイッチに備えられ、前記第2コンテナを実行する仮想マシンの前記第2ポートに対応する、仮想ポートである、
付記9又は付記10に記載の情報処理装置。
(付記12)
前記第1情報は、予め設定されたタイミングで、前記第1コンテナと前記第2コンテナとの間で送受信される、
付記7〜11のいずれか1項に記載の情報処理装置。
(付記13)
複数の仮想マシンにより実行される複数のコンテナのうちのいずれかのコンテナから送信される第1情報であって、少なくとも1つのアドレスを含む前記第1情報を検出し、
記憶部に、予め指定された第1コンテナのアドレスと、予め指定された第2コンテナのアドレスと、を対応付けた対応情報を記憶し、
前記第1情報に含まれるアドレスと、前記第1コンテナのアドレス、又は、前記第2コンテナのアドレスとが一致する場合、一致した前記第1コンテナ又は前記第2コンテナと、前記第1情報に基づき特定される仮想マシンのポートと、を対応付けて前記対応情報に設定し、
前記対応情報に基づき、前記第1コンテナに対応付けられた第1ポートを通過する第2情報を複製し、
複製した前記第2情報を、前記対応情報に基づき、前記第2コンテナに対応付けられた第2ポートを宛先として転送する、
処理をコンピュータに実行させる、情報処理プログラム。
(付記14)
前記複製は、前記第1ポートを通過する前記第2情報であって、前記第1情報に含まれる前記アドレスと、前記第2コンテナのアドレスとは異なるアドレスと、の間で送信又は受信される前記第2情報を複製する、
付記13に記載の情報処理プログラム。
(付記15)
前記第2コンテナを実行する仮想マシンとの間のトンネル経路を形成するトンネルポートを生成し、
前記第2ポートを宛先として転送された前記第2情報を、前記トンネルポートに転送し、
前記トンネルポートに転送した前記第2情報を、前記トンネル経路を経由して、前記第2コンテナを実行する仮想マシンに送信する、
処理を前記コンピュータに実行させる、
付記13又は付記14に記載の情報処理プログラム。
(付記16)
前記第2情報の前記トンネルポートへの転送は、前記第2情報に付加された、前記複製転送部による転送で利用された第1ヘッダ情報を除去し、前記第1ヘッダ情報を除去した前記第2情報を前記トンネルポートに転送し、
前記送信は、前記トンネルポートに転送した前記第2情報に対して、前記第2コンテナを実行する仮想マシンを宛先とする第2ヘッダ情報を付加し、前記第2ヘッダ情報を付加した前記第2情報を前記トンネル経路に送信する、
付記15に記載の情報処理プログラム。
(付記17)
前記トンネルポートは、前記複数の仮想マシンの間の通信を制御する仮想スイッチに備えられ、
前記第2情報の前記トンネルポートへの転送は、前記仮想スイッチに備えられ、前記第2コンテナを実行する仮想マシンの前記第2ポートに対応する、仮想ポートにおいて実行される、
付記15又は付記16に記載の情報処理プログラム。
(付記18)
前記第1情報は、予め設定されたタイミングで、前記第1コンテナと前記第2コンテナとの間で送受信される、
付記13〜17のいずれか1項に記載の情報処理プログラム。
1 情報処理システム
1a 仮想化ネットワーク
1b 管理ネットワーク
10、10−1、10−2 サーバ
11 管理装置
2、2−1、2−2 ホスト
20 コンピュータ
20a プロセッサ
20b メモリ
20c 記憶装置
20d IF部
20e I/O部
20f 読取部
20h 記録媒体
20g プログラム
3、3−1、3−2 仮想スイッチ
31、31−1、31−2、41、41−1〜41−3 仮想ポート
32 コンテナミラー管理テーブル
33 アドレス検出部
34 ミラー設定部
35 ルーティング部
36 トンネル作成部
37、43 VXLANポート
4、4−1〜4−3 VM
42 仮想ブリッジ
5、5−1〜5−5 コンテナ
6、6−1、6−2 ホストOS
60、60−1、60−2、70 ハイパバイザ
7 OS
71 仮想化管理部
72 ポートミラー管理部
73 VMミラー管理テーブル
8 管理マシン

Claims (8)

  1. 1以上の情報処理装置を備える情報処理システムであって、
    前記1以上の情報処理装置は、
    複数の仮想マシンにより実行される複数のコンテナのうちのいずれかのコンテナから送信される第1情報であって、少なくとも1つのアドレスを含む前記第1情報を検出する検出部と、
    予め指定された第1コンテナのアドレスと、予め指定された第2コンテナのアドレスと、を対応付けた対応情報を記憶する記憶部と、
    前記第1情報に含まれるアドレスと、前記第1コンテナのアドレス、又は、前記第2コンテナのアドレスとが一致する場合、一致した前記第1コンテナ又は前記第2コンテナと、前記第1情報に基づき特定される仮想マシンのポートと、を対応付けて前記対応情報に設定する設定部と、
    前記対応情報に基づき、前記第1コンテナに対応付けられた第1ポートを通過する第2情報を複製し、複製した前記第2情報を、前記第2コンテナに対応付けられた第2ポートを宛先として転送する複製転送部と、を備える、
    情報処理システム。
  2. 前記複製転送部は、前記第1ポートを通過する前記第2情報であって、前記第1情報に含まれる前記アドレスと、前記第2コンテナのアドレスとは異なるアドレスと、の間で送信又は受信される前記第2情報を複製し、複製した前記第2情報を、前記第2ポートを宛先として転送する、
    請求項1に記載の情報処理システム。
  3. 前記1以上の情報処理装置は、
    前記第2コンテナを実行する仮想マシンとの間のトンネル経路を形成するトンネルポートを生成する生成部と、
    前記第2ポートを宛先として転送された前記第2情報を、前記トンネルポートに転送する転送部と、を備え、
    前記トンネルポートは、前記転送部から受信した前記第2情報を、前記トンネル経路を経由して、前記第2コンテナを実行する仮想マシンに送信する、
    請求項1又は請求項2に記載の情報処理システム。
  4. 前記転送部は、前記第2情報に付加された、前記複製転送部による転送で利用された第1ヘッダ情報を除去し、前記第1ヘッダ情報を除去した前記第2情報を前記トンネルポートに転送し、
    前記トンネルポートは、受信した前記第2情報に対して、前記第2コンテナを実行する仮想マシンを宛先とする第2ヘッダ情報を付加し、前記第2ヘッダ情報を付加した前記第2情報を前記トンネル経路に送信する、
    請求項3に記載の情報処理システム。
  5. 前記トンネルポートは、前記複数の仮想マシンの間の通信を制御する仮想スイッチに備えられ、
    前記転送部は、前記仮想スイッチに備えられ、前記第2コンテナを実行する仮想マシンの前記第2ポートに対応する、仮想ポートである、
    請求項3又は請求項4に記載の情報処理システム。
  6. 前記第1情報は、予め設定されたタイミングで、前記第1コンテナと前記第2コンテナとの間で送受信される、
    請求項1〜4のいずれか1項に記載の情報処理システム。
  7. 複数の仮想マシンにより実行される複数のコンテナのうちのいずれかのコンテナから送信される第1情報であって、少なくとも1つのアドレスを含む前記第1情報を検出する検出部と、
    予め指定された第1コンテナのアドレスと、予め指定された第2コンテナのアドレスと、を対応付けた対応情報を記憶する記憶部と、
    前記第1情報に含まれるアドレスと、前記第1コンテナのアドレス、又は、前記第2コンテナのアドレスとが一致する場合、一致した前記第1コンテナ又は前記第2コンテナと、前記第1情報に基づき特定される仮想マシンのポートと、を対応付けて前記対応情報に設定する設定部と、
    前記対応情報に基づき、前記第1コンテナに対応付けられた第1ポートを通過する第2情報を複製し、複製した前記第2情報を、前記第2コンテナに対応付けられた第2ポートを宛先として転送する複製転送部と、を備える、
    情報処理装置。
  8. 複数の仮想マシンにより実行される複数のコンテナのうちのいずれかのコンテナから送信される第1情報であって、少なくとも1つのアドレスを含む前記第1情報を検出し、
    記憶部に、予め指定された第1コンテナのアドレスと、予め指定された第2コンテナのアドレスと、を対応付けた対応情報を記憶し、
    前記第1情報に含まれるアドレスと、前記第1コンテナのアドレス、又は、前記第2コンテナのアドレスとが一致する場合、一致した前記第1コンテナ又は前記第2コンテナと、前記第1情報に基づき特定される仮想マシンのポートと、を対応付けて前記対応情報に設定し、
    前記対応情報に基づき、前記第1コンテナに対応付けられた第1ポートを通過する第2情報を複製し、
    複製した前記第2情報を、前記対応情報に基づき、前記第2コンテナに対応付けられた第2ポートを宛先として転送する、
    処理をコンピュータに実行させる、情報処理プログラム。
JP2019113801A 2019-06-19 2019-06-19 情報処理システム、情報処理装置、及び情報処理プログラム Active JP7226123B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2019113801A JP7226123B2 (ja) 2019-06-19 2019-06-19 情報処理システム、情報処理装置、及び情報処理プログラム
US16/884,114 US11463379B2 (en) 2019-06-19 2020-05-27 Information processing system, information processing apparatus, and non-transitory computer-readable recording medium storing therein information processing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019113801A JP7226123B2 (ja) 2019-06-19 2019-06-19 情報処理システム、情報処理装置、及び情報処理プログラム

Publications (2)

Publication Number Publication Date
JP2020205571A true JP2020205571A (ja) 2020-12-24
JP7226123B2 JP7226123B2 (ja) 2023-02-21

Family

ID=73837065

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019113801A Active JP7226123B2 (ja) 2019-06-19 2019-06-19 情報処理システム、情報処理装置、及び情報処理プログラム

Country Status (2)

Country Link
US (1) US11463379B2 (ja)
JP (1) JP7226123B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022201544A1 (ja) * 2021-03-26 2022-09-29 日本電気株式会社 基盤システム及び通信方法

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11212262B2 (en) * 2019-03-04 2021-12-28 Cyxtera Cybersecurity, Inc. Management of network access request based on source address of device
JP2021141399A (ja) * 2020-03-04 2021-09-16 富士通株式会社 ネットワーク管理システム、ネットワーク管理装置、及びネットワーク管理プログラム
JP2022034934A (ja) * 2020-08-19 2022-03-04 富士通株式会社 情報処理プログラム、情報処理方法、および情報処理装置
EP4009160A1 (en) * 2020-12-07 2022-06-08 F5, Inc. Methods for application deployment across multiple computing domains and devices thereof

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012129648A (ja) * 2010-12-13 2012-07-05 Fujitsu Ltd サーバ装置、管理装置、転送先アドレス設定プログラムおよび仮想ネットワークシステム
JP2017022767A (ja) * 2014-06-23 2017-01-26 インテル コーポレイション ソフトウェア確定ネットワークにおける仮想マシンと仮想化コンテナを用いたローカルサービスチェーン
WO2018024187A1 (zh) * 2016-08-01 2018-02-08 新华三技术有限公司 报文监控
US20180349163A1 (en) * 2017-05-30 2018-12-06 Nicira, Inc. Port mirroring in a virtualized computing environment

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106559292B (zh) 2015-09-29 2020-03-06 新华三技术有限公司 一种宽带接入方法和装置
WO2018112918A1 (zh) * 2016-12-23 2018-06-28 富士通株式会社 上行传输控制方法及其装置、通信系统
US11184295B2 (en) * 2018-12-28 2021-11-23 Vmware, Inc. Port mirroring based on remote direct memory access (RDMA) in software-defined networking (SDN) environments

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012129648A (ja) * 2010-12-13 2012-07-05 Fujitsu Ltd サーバ装置、管理装置、転送先アドレス設定プログラムおよび仮想ネットワークシステム
JP2017022767A (ja) * 2014-06-23 2017-01-26 インテル コーポレイション ソフトウェア確定ネットワークにおける仮想マシンと仮想化コンテナを用いたローカルサービスチェーン
WO2018024187A1 (zh) * 2016-08-01 2018-02-08 新华三技术有限公司 报文监控
CN107682275A (zh) * 2016-08-01 2018-02-09 新华三技术有限公司 报文监控方法及装置
US20180349163A1 (en) * 2017-05-30 2018-12-06 Nicira, Inc. Port mirroring in a virtualized computing environment

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022201544A1 (ja) * 2021-03-26 2022-09-29 日本電気株式会社 基盤システム及び通信方法

Also Published As

Publication number Publication date
US11463379B2 (en) 2022-10-04
JP7226123B2 (ja) 2023-02-21
US20200403937A1 (en) 2020-12-24

Similar Documents

Publication Publication Date Title
JP7226123B2 (ja) 情報処理システム、情報処理装置、及び情報処理プログラム
US10581884B2 (en) Channel data encapsulation system and method for use with client-server data channels
US9641627B2 (en) Techniques for remapping sessions for a multi-threaded application
US11082515B2 (en) Technologies for offloading data object replication and service function chain management
US10924433B2 (en) Mirror packet control method and mirror packet control device
US8738756B2 (en) Enabling co-existence of hosts or virtual machines with identical addresses
JP6328134B2 (ja) クラスタ化されたコンピュータ・システムで通信チャネルのフェイルオーバを実行する方法、装置、およびプログラム
TWI439939B (zh) 有效率的將資料載入計算系統之記憶體中
WO2017068770A1 (ja) コンピュータ、デバイス割当管理方法及びプログラム記録媒体
JP2011113435A (ja) データ配信装置、データ配信方法および情報処理装置
CN101924693A (zh) 用于在虚拟机间迁移进程的方法和系统
EP3021223B1 (en) Method for enhancing memory fault tolerance
CN104021069A (zh) 基于分布式虚拟机系统的软件性能测试的管理方法和系统
CN112422357B (zh) 网络通信路径的状态检测方法以及设备
US20200053024A1 (en) Method of transferring mirror packet and system for transferring mirror packet
CN110348225A (zh) 针对应用程序接口的安全漏洞确定方法和装置
US20140298330A1 (en) Information processing device, transmission control method, and computer-readable recording medium
US20160188340A1 (en) System and method for performing parallel operations using a plurality of nodes
CN109656674B (zh) 一种计算机设备、虚拟化芯片及数据传输方法
US10909044B2 (en) Access control device, access control method, and recording medium containing access control program
US20160034548A1 (en) System and Method for Obtaining Automated Scaling of a Virtual Desktop Environment
US20170154004A1 (en) Information processing apparatus and method for generating coupling information
JP6573046B1 (ja) 情報処理装置、情報処理システムおよび情報処理プログラム
JP6318910B2 (ja) 管理装置,情報処理システム,プログラム
JPWO2018131550A1 (ja) コネクション管理ユニット、およびコネクション管理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220308

TRDD Decision of grant or rejection written
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20221228

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230110

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230123

R150 Certificate of patent or registration of utility model

Ref document number: 7226123

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150