JP2018117193A - ポート切替プログラム、ポート切替方法、および情報処理装置 - Google Patents

ポート切替プログラム、ポート切替方法、および情報処理装置 Download PDF

Info

Publication number
JP2018117193A
JP2018117193A JP2017005442A JP2017005442A JP2018117193A JP 2018117193 A JP2018117193 A JP 2018117193A JP 2017005442 A JP2017005442 A JP 2017005442A JP 2017005442 A JP2017005442 A JP 2017005442A JP 2018117193 A JP2018117193 A JP 2018117193A
Authority
JP
Japan
Prior art keywords
mirror
port
migration
migration destination
packet
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2017005442A
Other languages
English (en)
Other versions
JP6740911B2 (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 JP2017005442A priority Critical patent/JP6740911B2/ja
Priority to PCT/JP2018/000119 priority patent/WO2018131547A1/ja
Publication of JP2018117193A publication Critical patent/JP2018117193A/ja
Priority to US16/448,115 priority patent/US11265266B2/en
Application granted granted Critical
Publication of JP6740911B2 publication Critical patent/JP6740911B2/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
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/253Routing or path finding in a switch fabric using establishment or release of connections between ports
    • H04L49/254Centralised controller, i.e. arbitration or scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/70Virtual switches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

【課題】パケットをロスすることなくミラーポートの切り替えを行うこと。
【解決手段】情報処理装置101は、仮想スイッチ113により、移行元ポートと移行先ポートとを特定するミラー切替指示を受け付ける。情報処理装置101は、仮想スイッチ113により、ミラー切替指示を受け付けたことに応じて、移行先ポートを有する仮想スイッチ122に対する第1ミラー切替通知を送信するとともに、移行元ポートにおける移行先ポートへの送信パケットのミラー設定を解除する。情報処理装置101は、仮想スイッチ113により、仮想スイッチ122からの第2ミラー切替通知を受け付けたことに応じて、移行元ポートにおける移行先ポートからの受信パケットのミラー設定を解除する。
【選択図】図1

Description

本発明は、ポート切替プログラム、ポート切替方法、および情報処理装置に関する。
従来、仮想マシン(VM:Virtual Machine)に接続された仮想スイッチのポートを流れるデータをミラーリングして蓄積し、解析する技術がある。ミラーリングはCPU(Central Processing Unit)や通信帯域などの各種リソースを消費するため、同一ホスト上の他のVMに影響を与えてしまうことがある。このため、ミラーリングする処理を負荷に応じて、他の仮想スイッチに切り替えることがある。
先行技術としては、例えば、計測装置Aから計測装置Bにキャプチャを交替させる際に、計測装置Bにキャプチャを開始するよう指示し、計測装置Bからパケットをキャプチャしたことを表す状況が通知された後に、計測装置Aにキャプチャの停止を指示するものがある。また、制御リンクからキャプチャデータを受信した場合に、そのキャプチャデータを上流ポートへミラーリングし、ユーザデータリンクから流入するトラフィックをキャプチャ処理の対象外とする技術がある。また、物理サーバ上に構築された仮想マシンに対応する仮想スイッチのポートとの間に設定されたトンネルの回線帯域が、ポートミラートラフィックの通信帯域を充足しないと判定された場合、仮想マシンを異なる物理サーバへ移動させる技術がある。
国際公開第2010/086907号 特開2009−130528号公報 特開2016−149686号公報
しかしながら、従来技術では、パケットをロスすることなくミラーポートの切り替えを行うことが難しい。例えば、パケットロスを防ぐために、二つのミラーポートでミラーリングを行ってパケットを重複させておき、パケットを収集して解析する側で重複したパケットを除去する方法では、重複除去に負荷や時間がかかり、後の解析に影響を及ぼすおそれがある。
一つの側面では、本発明は、パケットをロスすることなくミラーポートの切り替えを行うことを目的とする。
1つの実施態様では、移行元ポートと移行先ポートとを特定するミラー切替指示に応じて、前記移行先ポートを有する仮想スイッチに対して前記移行先ポートにおけるミラー設定の変更を要求する第1ミラー切替通知を送信するとともに、前記移行元ポートにおける前記移行先ポートへの送信パケットのミラー設定を解除し、前記仮想スイッチからの前記移行先ポートにおけるミラー設定の変更を示す第2ミラー切替通知に応じて、前記移行元ポートにおける前記移行先ポートからの受信パケットのミラー設定を解除する、ポート切替プログラムが提供される。
また、1つの実施態様では、移行元ポートを有する仮想スイッチからの移行先ポートにおけるミラー設定の変更を要求する第1ミラー切替通知に応じて、前記移行先ポートにおける前記移行元ポートからの受信パケットのミラー設定を行い、前記受信パケットのミラー設定が行われたことに応じて、前記仮想スイッチに対して前記移行先ポートにおけるミラー設定の変更を示す第2ミラー切替通知を送信するとともに、前記移行先ポートにおける前記移行元ポートへの送信パケットのミラー設定を行う、ポート切替プログラムが提供される。
本発明の一側面によれば、パケットをロスすることなくミラーポートの切り替えを行うことができる。
図1は、実施の形態にかかるポート切替方法の一実施例を示す説明図である。 図2は、システム200のシステム構成例を示す説明図である。 図3は、情報処理装置PMi等のハードウェア構成例を示すブロック図である。 図4は、ミラーポート管理テーブルTB1の記憶内容の一例を示す説明図である。 図5は、ポート間接続管理テーブルTB2の記憶内容の一例を示す説明図である。 図6は、ミラーフィルタ管理テーブルTB3の記憶内容の一例を示す説明図である。 図7は、管理装置201の機能的構成例を示すブロック図である。 図8は、情報処理装置PMiの機能的構成例を示すブロック図である。 図9は、ミラー切替通知CNのフォーマット例を示す説明図(その1)である。 図10は、ミラー切替通知CNのフォーマット例を示す説明図(その2)である。 図11は、パケットの追い越しが発生した場合のミラーリングの処理例を示す説明図である。 図12は、VM間の接続関係の一例を示す説明図である。 図13は、ミラーポートを切り替える際の各モジュールの動作例を示すシーケンス図である。 図14は、仮想マシン間で送受信されるパケットの流れを示す説明図(その1)である。 図15は、仮想マシン間で送受信されるパケットの流れを示す説明図(その2)である。 図16は、管理装置201のミラーポート切替管理処理手順の一例を示すフローチャートである。 図17は、情報処理装置PMiのミラー切替通知生成処理手順の一例を示すフローチャートである。 図18は、情報処理装置PMiのパケット送信処理手順の一例を示すフローチャートである。 図19は、情報処理装置PMiのパケット受信処理手順の一例を示すフローチャートである。 図20は、情報処理装置PMiのミラーフィルタ処理手順の一例を示すフローチャートである。
以下に図面を参照して、本発明にかかるポート切替プログラム、ポート切替方法、および情報処理装置の実施の形態を詳細に説明する。
(実施の形態)
図1は、実施の形態にかかるポート切替方法の一実施例を示す説明図である。図1において、情報処理装置101,102は、自装置のハードウェア資源を仮想化して、複数の異なるOS(Operating System)を実行可能なコンピュータである。自装置のハードウェア資源とは、例えば、CPU、メモリ、I/F(Interface)などである。
具体的には、例えば、情報処理装置101,102は、自装置のハードウェア資源を分割して構築される実行環境で動作する仮想マシンによってOSを稼働させることができる。仮想マシンとは、物理的なコンピュータのハードウェア資源を分割して構築される実行環境で動作する仮想的なコンピュータである。
図1の例では、情報処理装置101上で仮想マシン111,112が動作し、情報処理装置102上で仮想マシン121が動作する場合を想定する。
また、情報処理装置101,102は、仮想スイッチを有する。仮想スイッチとは、物理サーバ上の仮想マシン同士をつないだり、仮想マシンと外部のネットワークとをつないだりする仮想的なネットワークスイッチである。
図1の例では、情報処理装置101は、仮想マシン111,112に接続された仮想スイッチ113を有する。また、情報処理装置102は、仮想マシン121に接続された仮想スイッチ122を有する。仮想スイッチ113,122は、ポートミラーリングの機能を有する。ポートミラーリングとは、ポートの入力パケット、または、出力パケット、または、両方のパケットを、別のポートにミラーリングする機能である。
図1の例では、仮想マシン112,121間で送受信されるパケットが、仮想スイッチ113のポート114においてミラーリングされている場合を想定する。ポート114においてミラーリングされたパケットは、キャプチャツール130に送られて、各種解析に用いられる。
ここで、ミラーリングはCPUや通信帯域などの各種リソースを消費するため、同一ホスト上の別の仮想マシンに影響を与えてしまうことがある。図1の例では、仮想スイッチ113におけるミラーリングの処理により、例えば、仮想マシン111の性能に影響を与えてしまうことがある。
このため、負荷に応じてミラーリングする処理を、他の仮想スイッチに切り替えることがある。この際、パケットロスが生じると、解析に影響を及ぼすことになるため、二つのミラーポートでミラーリングを行ってパケットを重複させておき、パケットを収集して解析する側で重複したパケットを除去する方法がある。なお、ミラーポートとは、パケットをミラーするポートである。ところが、重複したミラーパケットを正確に除去するには負荷や時間がかかり、後の解析に影響を及ぼすおそれがある。
また、パケットのロスや重複を防ぐために、ミラーポートの切り替えが完了するまでの間、関連する全ての仮想マシンをサスペンドすることが考えられる。しかしながら、関連する全ての仮想マシンをサスペンドすると、ミラー対象以外の通信や通信以外の処理まで停止してしまうという問題がある。
そこで、本実施の形態では、パケットのロスも重複もさせることなく、ミラーポートの切り替えを行うことができるポート切替方法について説明する。以下、本ポート切替方法の処理例について説明する。ここでは、仮想スイッチ113のポート114を移行元ポートとし、仮想スイッチ122のポート123を移行先ポートとして、ミラーポートをポート114からポート123に切り替える場合を例に挙げて説明する。
(1)情報処理装置101は、仮想スイッチ113により、移行元ポートと移行先ポートとを特定するミラー切替指示を受け付ける。ミラー切替指示は、ミラーポートを移行元ポートから移行先ポートに切り替えるための指示である。具体的には、例えば、情報処理装置101は、仮想スイッチ113により、ポートミラーマネージャ140からのミラー切替指示を受け付ける。ポートミラーマネージャ140は、仮想スイッチのポートにおけるミラーリングを管理するソフトウェアである。
(2)情報処理装置101は、仮想スイッチ113により、ミラー切替指示を受け付けたことに応じて、移行先ポートを有する仮想スイッチ122に対する第1ミラー切替通知を送信するとともに、移行元ポートにおける移行先ポートへの送信パケットのミラー設定を解除する。
ここで、第1ミラー切替通知は、ミラーポートを移行元ポートから移行先ポートに切り替えるための通知であり、移行先ポートにおけるミラー設定の変更を要求するものである。また、送信パケットのミラー設定を解除するとは、移行元ポートから移行先ポートへ送信されるパケットのミラーリングを行わないように、ミラー設定を解除することである。
これにより、仮想スイッチ113において、仮想スイッチ122へ第1ミラー切替通知を送信したタイミングで、それ以降に移行元ポート(ポート114)から移行先ポート(ポート123)へ送信されるパケットをミラーリング対象から除外することができる。
(3)情報処理装置102は、仮想スイッチ122により、移行元ポートを有する仮想スイッチ113からの第1ミラー切替通知を受け付けたことに応じて、当該第1ミラー切替通知から特定される移行先ポートにおける移行元ポートからの受信パケットのミラー設定を行う。ここで、受信パケットのミラー設定とは、移行先ポートにおいて移行元ポートから受信されるパケットのミラーリングを行うようにミラー設定することである。
これにより、仮想スイッチ122において、仮想スイッチ113からの第1ミラー切替通知を受信したタイミングで、それ以降に移行先ポート(ポート123)において移行元ポート(ポート114)から受信されるパケットをミラーリング対象とすることができる。
(4)情報処理装置102は、仮想スイッチ122により、受信パケットのミラー設定が行われたことに応じて、仮想スイッチ113に対する第2ミラー切替通知を送信するとともに、移行先ポートにおける移行元ポートへの送信パケットのミラー設定を行う。
ここで、第2ミラー切替通知は、移行先ポートにおけるミラー設定の変更を示す通知である。送信パケットのミラー設定とは、移行先ポートから移行元ポートへ送信されるパケットのミラーリングを行うようにミラー設定することである。換言すれば、第2ミラー切替通知は、その送信前後で移行先ポートにおける受信パケットおよび送信パケットのミラー設定が行われるため、移行先ポートにおけるミラー設定の切替完了を示す通知であるといえる。
これにより、仮想スイッチ122において、仮想スイッチ113へ第2ミラー切替通知を送信したタイミングで、それ以降に移行先ポート(ポート123)から移行元ポート(ポート114)に送信されるパケットをミラーリング対象とすることができる。
(5)情報処理装置101は、仮想スイッチ113により、仮想スイッチ122からの第2ミラー切替通知を受け付けたことに応じて、移行元ポートにおける移行先ポートからの受信パケットのミラー設定を解除する。ここで、受信パケットのミラー設定を解除するとは、移行元ポートにおいて移行先ポートから受信されるパケットのミラーリングを行わないように、ミラー設定を解除することである。
これにより、仮想スイッチ113において、仮想スイッチ122からの第2ミラー切替通知を受け付けたタイミングで、それ以降に移行元ポート(ポート114)において移行先ポート(ポート123)から受信されるパケットをミラーリング対象から除外することができる。
このように、情報処理装置101,102によれば、第1、第2ミラー切替通知を送受信したタイミングで、移行元ポート、移行先ポートにおけるミラー設定を切り替えることができる。これにより、ミラーポートの切替タイミングを合わせて、パケットのロスも重複もさせることなく、ミラーポートの切り替えを行うことができる。また、ミラーポートの切替時に、関連する仮想マシン(例えば、仮想マシン112,121)をサスペンドしないため、ミラー対象以外の通信や通信以外の処理を停止させることなく、ミラーポートの切り替えを行うことができる。
(システム200のシステム構成例)
つぎに、実施の形態にかかるシステム200のシステム構成例について説明する。
図2は、システム200のシステム構成例を示す説明図である。図2において、システム200は、情報処理装置PM1〜PMn(n:2以上の自然数)と、管理装置201と、管理者端末202と、を含む。システム200において、情報処理装置PM1〜PMn、管理装置201および管理者端末202は、有線または無線のネットワーク210を介して接続される。ネットワーク210は、例えば、LAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどを含む。
以下の説明では、情報処理装置PM1〜PMnのうちの任意の情報処理装置を「情報処理装置PMi」と表記する場合がある(i=1,2,…,n)。また、情報処理装置PM1〜PMnのうち、キャプチャツールCを有する情報処理装置を「情報処理装置PMm」と表記する場合がある。キャプチャツールCは、ミラーパケットを蓄積して解析を行うソフトウェアである。
管理装置201は、ポートミラーマネージャMを有するコンピュータである。ポートミラーマネージャMは、仮想スイッチのポートにおけるミラーリングを管理するソフトウェアである。図1に示したポートミラーマネージャ140は、例えば、ポートミラーマネージャMに相当する。
また、管理装置201は、ミラーポート管理テーブルTB1およびポート間接続管理テーブルTB2を有する。ミラーポート管理テーブルTB1およびポート間接続管理テーブルTB2は、ポートミラーマネージャMが用いる情報である。ミラーポート管理テーブルTB1およびポート間接続管理テーブルTB2の記憶内容については、図4および図5を用いて後述する。
管理者端末202は、システム200の管理者が使用するコンピュータであり、例えば、PC(Personal Computer)である。
情報処理装置PMiは、自装置のハードウェア資源220を仮想化して、複数の異なるOSを実行可能なコンピュータである。具体的には、例えば、情報処理装置PMiは、ハイパーバイザ230と、ホストOS240と、仮想マシン250と、を含む。ハイパーバイザ230は、コンピュータを仮想化し、複数のOSを並列に実行できるようにするソフトウェアである。
ホストOS240は、仮想マシン250を動作させるための基盤となるOSである。ホストOS240は、仮想スイッチ260を有する。仮想マシン250は、フロントエンドドライバ270を有する。仮想スイッチ260は、バックエンドドライバ280を有する。フロントエンドドライバ270およびバックエンドドライバ280は、ハードウェアにアクセスするためのPV(paravirtual)ドライバである。
具体的には、例えば、フロントエンドドライバ270は、パケット送信時に、送信するパケットを共有メモリ290に書き込む。共有メモリ290は、例えば、後述の図3に示すメモリ302により実現される。そして、フロントエンドドライバ270は、共有メモリ290の書込先アドレスをリングバッファTXに書き込んで、バックエンドドライバ280に通知する。バックエンドドライバ280は、リングバッファTXから書込先アドレスを読み込んで、共有メモリ290の書込先アドレスからパケットを読み出して送信処理を行う。
また、バックエンドドライバ280は、パケット受信時に、受信されたパケットを共有メモリ290に書き込む。そして、バックエンドドライバ280は、共有メモリ290の書込先アドレスをリングバッファRXに書き込んで、フロントエンドドライバ270に通知する。フロントエンドドライバ270は、リングバッファRXから書込先アドレスを読み込んで、共有メモリ290の書込先アドレスからパケットを読み出して受信処理を行う。なお、リングバッファTXおよびリングバッファRXは、例えば、共有メモリ290に含まれる。
フロントエンドドライバ270およびバックエンドドライバ280によれば、I/O(Input/Output)処理のオーバーヘッドを小さくして、NIC(Network Interface Card)を高速化することができる。
また、情報処理装置PMiは、ミラーフィルタ管理テーブルTB3を有する。ミラーフィルタ管理テーブルTB3は、仮想スイッチ260が用いる情報である。ミラーフィルタ管理テーブルTB3の記憶内容については、図6を用いて後述する。図1に示した情報処理装置101,102は、例えば、情報処理装置PMiに相当する。
なお、ここではポートミラーマネージャMを、管理装置201上で動作させる場合を例に挙げて説明したが、これに限らない。例えば、情報処理装置PMi上あるいは管理者端末202上でポートミラーマネージャMを動作させることにしてもよい。
(情報処理装置PMiのハードウェア構成例)
つぎに、図2に示した情報処理装置PMi、管理装置201および管理者端末202のハードウェア構成例について説明する。ここでは、情報処理装置PMi、管理装置201および管理者端末202を「情報処理装置PMi等」と表記する。
図3は、情報処理装置PMi等のハードウェア構成例を示すブロック図である。図3において、情報処理装置PMi等は、CPU301と、メモリ302と、I/F(Interface)303と、ディスクドライブ304と、ディスク305と、を有する。また、各構成部は、バス300によってそれぞれ接続される。
ここで、CPU301は、情報処理装置PMi等の全体の制御を司る。メモリ302は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)およびフラッシュROMなどを有する。具体的には、例えば、フラッシュROMやROMが各種プログラムを記憶し、RAMがCPU301のワークエリアとして使用される。メモリ302に記憶されるプログラムは、CPU301にロードされることで、コーディングされている処理をCPU301に実行させる。
I/F303は、通信回線を通じてネットワーク210に接続され、ネットワーク210を介して他の装置に接続される。そして、I/F303は、ネットワーク210と自装置内部とのインターフェースを司り、他の装置からのデータの入出力を制御する。I/F303には、例えば、モデムやLANアダプタなどを採用することができる。
ディスクドライブ304は、CPU301の制御に従ってディスク305に対するデータのリード/ライトを制御する。ディスク305は、ディスクドライブ304の制御で書き込まれたデータを記憶する。ディスク305としては、例えば、磁気ディスク、光ディスクなどが挙げられる。
なお、情報処理装置PMi等は、上述した構成部のほか、例えば、SSD(Solid State Drive)、入力装置、ディスプレイなどを有することにしてもよい。
(ミラーポート管理テーブルTB1の記憶内容)
つぎに、管理装置201が有するミラーポート管理テーブルTB1の記憶内容について説明する。ミラーポート管理テーブルTB1は、例えば、図3に示した管理装置201のメモリ302、ディスク305等の記憶装置に記憶される。
図4は、ミラーポート管理テーブルTB1の記憶内容の一例を示す説明図である。図4において、ミラーポート管理テーブルTB1は、ポート名、ポートID、ポートミラー方向およびモニタポートIDのフィールドを有する。各フィールドに情報を設定することで、ミラーポート管理情報(例えば、ミラーポート管理情報400−1〜400−3)がレコードとして記憶される。
ここで、ポート名は、仮想マシン250に接続される仮想スイッチ260のポートの名称である。ポートIDは、仮想マシン250に接続される仮想スイッチ260のポートを一意に識別する識別子である。ポートミラー方向は、パケットのミラーリングを行う方向を示す。
具体的には、ポートミラー方向「双方向」は、ポートIDのポートを流れる受信パケットおよび送信パケットの両方のミラーリングを行うことを示す。なお、受信パケットとは、ポートで受信されるパケット(入力パケット)である。送信パケットとは、ポートから送信されるパケット(出力パケット)である。
また、ポートミラー方向「出力」は、ポートIDのポートを流れる送信パケットのミラーリングを行うことを示す。また、ポートミラー方向「入力」は、ポートIDのポートを流れる受信パケットのミラーリングを行うことを示す。モニタポートIDは、情報処理装置PMmのキャプチャツールCにつながるポートを一意に識別する識別子である。
例えば、ミラーポート管理情報400−1は、ポート名「“Port2”」およびポートID「P2」のポートのポートミラー方向「双方向」およびモニタポートID「Pm」を示す。なお、ミラーポート管理テーブルTB1には、ポート名の情報が含まれていなくてもよい。
(ポート間接続管理テーブルTB2の記憶内容)
つぎに、管理装置201が有するポート間接続管理テーブルTB2の記憶内容について説明する。ポート間接続管理テーブルTB2は、例えば、図3に示した管理装置201のメモリ302、ディスク305等の記憶装置に記憶される。
図5は、ポート間接続管理テーブルTB2の記憶内容の一例を示す説明図である。図5において、ポート間接続管理テーブルTB2は、ポート間の接続関係を示すポート間接続管理情報(例えば、ポート間接続管理情報500−1〜500−3)をレコードとして記憶する。
接続元/接続先のポートは、ポートID、VMIDおよびホストIDの組み合わせから特定される。ポートIDは、仮想スイッチ260が有するポートのポートIDである。VMIDは、ポートIDのポートに接続される仮想マシン250を一意に識別する識別子である。
VMIDとしては、例えば、IP(Internet Protocol)アドレス、MAC(Media Access Control)アドレスなどを用いることができる。ホストIDは、仮想マシン250が動作するホストOS240を一意に識別する識別子である。
以下の説明では、ホストID「H#」のホストOS240を「ホストH#」と表記する場合がある。また、ホストH#の仮想スイッチ260を「仮想スイッチSW#」と表記する場合がある。また、VMID「VM#」の仮想マシン250を「仮想マシンVM#」と表記する場合がある。また、ポートID「P#」のポートを「ポートP#」と表記する場合がある。
例えば、ポート間接続管理情報500−1は、ホストH1で動作する仮想マシンVM1に接続された仮想スイッチSW1のポートP1と、ホストH2で動作する仮想マシンVM3に接続された仮想スイッチSW2のポートP3との接続関係を示す。
なお、ポート間接続管理テーブルTB2内の各エントリ(レコード)は、例えば、仮想マシン250の生成時に作成される。仮想マシン250の通信相手は、例えば、アプリケーションに応じて決定してもよいし、また、仮想マシン間のパケットをキャプチャして特定することにしてもよい。
(ミラーフィルタ管理テーブルTB3の記憶内容)
つぎに、情報処理装置PMiが有するミラーフィルタ管理テーブルTB3の記憶内容について説明する。ミラーフィルタ管理テーブルTB3は、例えば、図3に示した情報処理装置PMiのメモリ302、ディスク305等の記憶装置に記憶される。ミラーフィルタ管理テーブルTB3は、ミラーポートを切り替える際に、ポートミラーマネージャMから、移行元/移行先の各ホストOS240の仮想スイッチ260に送信される。なお、移行元のホストOS240とは、移行元ポートを有するホストOS240である。移行先のホストOS240とは、移行先ポートを有するホストOS240である。
図6は、ミラーフィルタ管理テーブルTB3の記憶内容の一例を示す説明図である。図6において、ミラーフィルタ管理テーブルTB3(TB3−1〜TB3−3)は、ポートID、SRC VMID、DST VMID、送信フラグおよび受信フラグのフィールドを有する。各フィールドに情報を設定することで、ミラーフィルタ情報(610−1,610−2,620−1,630−1)がレコードとして記憶される。
ここで、ミラーフィルタ管理テーブルTB3−1は、移行元のホストH1の仮想スイッチSW1によって用いられる。ミラーフィルタ管理テーブルTB3−2は、移行先のホストH2の仮想スイッチSW2によって用いられる。ミラーフィルタ管理テーブルTB3−3は、移行先のホストH3の仮想スイッチSW3によって用いられる。
ポートIDは、ホストOS240の仮想スイッチ260が有するポートのポートIDである。SRC(source) VMIDは、ポートIDのポートに接続される仮想マシン250のVMIDである。DST(destination) VMIDは、ポートIDのポートを介して、SRC VMIDの仮想マシン250と通信する通信先の仮想マシン250のVMIDである。
送信フラグは、ポートIDのポートにおいて送信パケットをミラーリングするか否かを示す情報である。ここでは、送信パケットをミラーリングする場合に、送信フラグに「True」が設定され、送信パケットをミラーリングしない場合に、送信フラグに「False」が設定される。
受信フラグは、ポートIDのポートにおいて受信パケットをミラーリングするか否かを示す情報である。ここでは、受信パケットをミラーリングする場合に、受信フラグに「True」が設定され、受信パケットをミラーリングしない場合に、受信フラグに「False」が設定される。
各ミラーフィルタ管理テーブルTB3(TB3−1〜TB3−3)には、例えば、移行元ポートのポートミラー方向を特定する情報が含まれることにしてもよい。
例えば、ミラーフィルタ情報610−1は、仮想マシンVM2に接続されたポートP2において、仮想マシンVM3への送信パケット、および仮想マシンVM3からの受信パケットをミラーリングすることを示す。また、ミラーフィルタ情報620−1は、仮想マシンVM3に接続されたポートP3において、仮想マシンVM2への送信パケット、および仮想マシンVM2からの受信パケットをミラーリングしないことを示す。
なお、各ミラーフィルタ管理テーブルTB3(TB3−1〜TB3−3)には、例えば、移行元ポートのポートミラー方向を特定する情報が含まれることにしてもよい。ただし、初期状態では、例えば、ミラーフィルタ管理テーブルTB3−1の送信フラグおよび受信フラグから移行元ポートのポートミラー方向を特定することができる。
また、ミラーフィルタ管理テーブルTB3には、例えば、ミラーポートの切替対象となるポート以外のポートのミラーフィルタ情報についても記憶されることにしてもよい。また、ミラーポートの切替対象となるポート以外のポートのミラーフィルタ情報については、各ホストOS240においてミラーフィルタ管理テーブルTB3とは別テーブルで管理することにしてもよい。
(管理装置201の機能的構成例)
図7は、管理装置201の機能的構成例を示すブロック図である。図7において、管理装置201は、受付部701と、切替管理部702と、通知部703と、を含む構成である。受付部701〜通知部703は、ポートミラーマネージャMが有する機能部である。受付部701〜通知部703は制御部となる機能であり、具体的には、例えば、図3に示した管理装置201のメモリ302、ディスク305などの記憶装置に記憶されたプログラムをCPU301に実行させることにより、または、I/F303により、その機能を実現する。各機能部の処理結果は、例えば、管理装置201のメモリ302、ディスク305などの記憶装置に記憶される。
受付部701は、移行元ポートを指定したミラーポートの切替指示を受け付ける。ここで、ミラーポートの切替指示は、ミラーポートを切り替えるための指示である。ミラーポートの切替指示には、例えば、移行元ポートのポートIDが含まれる。具体的には、例えば、受付部701は、管理者端末202からミラーポートの切替指示を受信することにより、ミラーポートの切替指示を受け付ける。
なお、ミラーポートの切替指示には、例えば、移行先ポートのポートIDが含まれていてもよい。すなわち、受付部701は、移行元ポートと移行先ポートとを指定したミラーポートの切替指示を受け付けることにしてもよい。
切替管理部702は、ミラーポート管理テーブルTB1とポート間接続管理テーブルTB2とに基づいて、ミラーフィルタ管理テーブルTB3を生成する。具体的には、例えば、切替管理部702は、ミラーポートの切替指示を受け付けたことに応じて、ポート間接続管理テーブルTB2から、当該切替指示に含まれる移行元ポートのポートIDに対応する移行先ポートのポートIDを検索する。すなわち、移行先ポートは、移行元ポートと接続関係を有するポートである。
一例として、ミラーポートの切替指示に、移行元ポートのポートID「P2」が含まれる場合を想定する。この場合、図5の例では、ポート間接続管理テーブルTB2から、移行元ポートのポートID「P2」に対応する移行先ポートのポートID「P3,P4」が検索される。
なお、ここではポート間接続管理テーブルTB2から移行先ポートを特定することにしたが、これに限らない。例えば、ミラーポートの切替指示に移行先ポートのポートIDが含まれる場合、切替管理部702は、当該ポートIDを、移行先ポートのポートIDとして特定することにしてもよい。
つぎに、切替管理部702は、ミラーポート管理テーブルTB1を参照して、移行元ポートのポートミラー方向を特定する。そして、切替管理部702は、特定した移行元ポートのポートミラー方向に基づいて、移行元ポートのミラーフィルタ管理テーブルTB3を生成する。上述した例では、移行元ポートP2のミラーフィルタ管理テーブルTB3−1(図6参照)が生成される。
より詳細に説明すると、例えば、ミラーフィルタ管理テーブルTB3−1のポートIDには、移行元ポートP2のポートID「P2」が設定される。SRC VMIDには、移行元ポートP2に接続された仮想マシンVM2のVMID「VM2」が設定される。DST VMIDには、移行先ポートP3,P4に接続された仮想マシンVM3,VM4のVMID「VM3,VM4」がそれぞれ設定される。また、移行元ポートP2のポートミラー方向は「双方向」のため、送信フラグおよび受信フラグに「True」がそれぞれ設定される。この結果、ミラーフィルタ情報610−1,610−2がレコードとしてミラーフィルタ管理テーブルTB3−1に記憶される。
また、切替管理部702は、移行先ポートのミラーフィルタ管理テーブルTB3を生成する。上述した例では、移行先ポートP3,P4のミラーフィルタ管理テーブルTB3−2,TB3−3(図6参照)がそれぞれ生成される。
より詳細に説明すると、例えば、ミラーフィルタ管理テーブルTB3−2のポートIDに、移行先ポートP3のポートID「P3」が設定される。SRC VMIDに、移行先ポートP3に接続された仮想マシンVM3のVMID「VM3」が設定される。DST VMIDに、移行元ポートP2に接続された仮想マシンVM2のVMID「VM2」が設定される。送信フラグおよび受信フラグには、初期設定として「False」がそれぞれ設定される。この結果、ミラーフィルタ情報620−1がレコードとしてミラーフィルタ管理テーブルTB3−2に記憶される。なお、ミラーフィルタ情報620−1には、例えば、ミラーポートを切り替える前の移行元ポートP2のポートミラー方向「双方向」を特定する情報が含まれることにしてもよい。
切替管理部702は、生成した移行元ポートのミラーフィルタ管理テーブルTB3を、移行元ポートを有する仮想スイッチ260に送信する。移行元ポートを有する仮想スイッチ260(ホストOS240)は、例えば、ポート間接続管理テーブルTB2から特定される。具体的には、例えば、切替管理部702は、生成した移行元ポートP2のミラーフィルタ管理テーブルTB3−1を、移行元ポートP2を有する仮想スイッチSW1(ホストH1)に送信する。
また、切替管理部702は、生成した移行先ポートのミラーフィルタ管理テーブルTB3を、移行先ポートを有する仮想スイッチ260に送信する。移行先ポートを有する仮想スイッチ260のホストOS240は、例えば、ポート間接続管理テーブルTB2から特定される。具体的には、例えば、切替管理部702は、生成した移行先ポートP3,P4のミラーフィルタ管理テーブルTB3−2,TB3−3を、移行先ポートP3,P4を有する仮想スイッチSW2,SW3(ホストH2,H3)にそれぞれ送信する。
以下の説明では、移行元ポートを有する仮想スイッチ260を「移行元スイッチ」と表記する場合がある。また、移行先ポートを有する仮想スイッチ260を「移行先スイッチ」と表記する場合がある。
通知部703は、移行元ポートと移行先ポートとを特定するミラー切替指示CIを移行元スイッチに通知する。ここで、ミラー切替指示CIは、ミラーポートを移行元ポートから移行先ポートに切り替えるための指示である。ミラー切替指示CIには、例えば、移行元ポートのポートIDと移行先ポートのポートIDとが含まれる。
具体的には、例えば、通知部703は、移行元スイッチおよび移行先スイッチそれぞれにミラーフィルタ管理テーブルTB3を送信したことに応じて、移行元スイッチに対してミラー切替指示CIを送信する。より具体的には、例えば、通知部703は、リモート関数呼び出しにより、移行先ポートのポートIDを通知先パラメータとして、移行先スイッチの機能部(例えば、後述の図8に示す通知生成部801)を呼び出すことにしてもよい。
(情報処理装置PMiの機能的構成例)
図8は、情報処理装置PMiの機能的構成例を示すブロック図である。図8において、情報処理装置PMiは、通知生成部801と、送信処理部802と、設定変更部803と、受信処理部804と、ミラーフィルタ部805と、ミラーパケット生成部806と、を含む構成である。通知生成部801〜ミラーパケット生成部806は、仮想スイッチ260が有する機能部である。通知生成部801〜ミラーパケット生成部806は制御部となる機能であり、具体的には、例えば、図3に示した情報処理装置PMiのメモリ302、ディスク305などの記憶装置に記憶されたプログラムをCPU301に実行させることにより、または、I/F303により、その機能を実現する。各機能部の処理結果は、例えば、情報処理装置PMiのメモリ302、ディスク305などの記憶装置に記憶される。
・移行元スイッチ
まず、仮想スイッチ260が移行元スイッチとして動作する場合について説明する。移行元スイッチは、ミラーポートを切り替える際の移行元ポートを有する仮想スイッチ260である。
通知生成部801は、移行先スイッチに対するミラー切替通知CNを生成する。具体的には、例えば、通知生成部801は、ポートミラーマネージャMからのミラー切替指示CIに応じて、当該ミラー切替指示CIから特定される移行先ポートを有する移行先スイッチに対するミラー切替通知CNを生成する。
移行先スイッチに対するミラー切替通知CNは、移行先ポートにおけるミラー設定の変更を要求する通知であり、例えば、図1で説明した「第1ミラー切替通知」に相当する。ミラー切替通知CNには、例えば、ミラー切替通知CIに含まれる移行元ポートのポートIDと移行先ポートのポートIDとが含まれる。また、ミラー切替通知CNには、モニタポートIDが含まれていてもよい。モニタポートIDは、情報処理装置PMmのキャプチャツールCにつながるポートのポートIDである。
ここで、図9を用いて、ミラー切替通知CNのフォーマット例について説明する。
図9は、ミラー切替通知CNのフォーマット例を示す説明図(その1)である。図9において、ミラー切替通知CNは、ヘッダ部910と、ペイロード部920と、を含む。ヘッダ部910は、Etherヘッダ、IPヘッダおよびTCP(Transmission Control Protocol)ヘッダを含む。
ペイロード部920は、ミラー切替通知CNを識別する識別子Aを含む。識別子Aによれば、ミラー切替通知CNを通常のパケットと区別することができる。移行元ポートのポートIDと移行先ポートのポートIDは、例えば、ヘッダ部910(TCPヘッダの送信元ポート番号、宛先ポート番号)に含まれる。ただし、ペイロード部920に、移行元ポートのポートID、移行先ポートのポートID、およびモニタポートIDが含まれることにしてもよい。
図8の説明に戻り、送信処理部802は、データの送信処理を行う。具体的には、例えば、送信処理部802は、通知生成部801によって生成されたミラー切替通知CNを移行先スイッチに対して送信する。より詳細に説明すると、例えば、まず、通知生成部801は、生成したミラー切替通知CNを共有メモリ290(図2参照)の送信キューに書き込む。
そして、通知生成部801は、共有メモリ290上のリングバッファTXに送信通知を書き込む。送信通知には、例えば、共有メモリ290の書込先アドレスが含まれる。この場合、送信処理部802は、リングバッファTXへの送信通知の書き込みを検出すると、共有メモリ290の書込先アドレスからミラー切替通知CNを読み出して、移行先スイッチに対するミラー切替通知CNの送信処理を行う。
設定変更部803は、移行元ポートにおけるミラー設定を変更する。具体的には、例えば、設定変更部803は、移行先スイッチに対してミラー切替通知CNが送信された場合に、移行元ポートにおける移行先ポートへの送信パケットのミラー設定を解除する。より具体的には、例えば、設定変更部803は、ミラーフィルタ管理テーブルTB3内の該当レコードの送信フラグに「False」を設定する。
ここで、ミラーフィルタ管理テーブルTB3内の該当レコードとは、移行元ポートと移行先ポートとの組み合わせに対応するレコードである。例えば、移行元スイッチSW1の移行元ポートP2における移行先ポートP3への送信パケットのミラー設定を解除する場合を想定する。この場合、設定変更部803は、図6に示したミラーフィルタ管理テーブルTB3−1内のミラーフィルタ情報610−1の送信フラグに「False」を設定する。
これにより、移行元スイッチSW1において、移行先スイッチSW2へミラー切替通知CNを送信したタイミングで、それ以降に移行元ポートP2から移行先ポートP3へ送信されるパケットをミラーリング対象から除外することができる。
ただし、設定変更部803は、移行元ポートにおけるポートミラー方向が入力方向(受信)のみの場合は、送信パケットのミラー設定を解除する処理を行わない。移行元ポートにおけるポートミラー方向は、例えば、ミラーフィルタ管理テーブルTB3内の該当レコードの送信フラグおよび受信フラグから特定される。具体的には、例えば、設定変更部803は、ミラーフィルタ管理テーブルTB3内の該当レコードの送信フラグに「False」が設定されている場合に、移行元ポートにおけるポートミラー方向が入力方向(受信)のみであると判断することにしてもよい。
また、送信処理部802は、移行元ポートからミラー切替通知CNの次に送信されるパケットの送信処理を、設定変更部803による送信パケットのミラー設定を解除する処理の完了後に実行することにしてもよい。すなわち、送信処理部802は、ポートミラーの設定変更(ここでは、送信パケットのミラー設定の解除)が完了するまで、次のパケットの送信を停止することにしてもよい。
これにより、ミラー切替通知CNが送信されてからポートミラーの設定変更が完了するまでの間に、移行先スイッチに対して次のパケットが送信されるのを防ぐことができる。なお、送信処理部802は、例えば、設定変更部803に問い合わせる、あるいは、仮想スイッチ260におけるポートミラーの設定状態を管理するデータベースを参照して、ポートミラーの設定変更の完了を判断することにしてもよい。
受信処理部804は、データの受信処理を行う。具体的には、例えば、受信処理部804は、図2に示した共有メモリ290上のリングバッファRXへの受信通知(書込先アドレス)の書き込みを検出すると、共有メモリ290の書込先アドレスからパケットを読み出す。ここで、読み出したパケットが、通常パケットの場合は、受信処理部804は、通常パケットの受信処理を行う。
一方、読み出したパケットが、移行先スイッチからのミラー切替通知CNの場合は、受信処理部804は、ミラー切替通知CNを設定変更部803に通知する。移行先スイッチからのミラー切替通知CNは、移行先ポートにおけるミラー設定の変更を示す通知であり、例えば、図1で説明した「第2ミラー切替通知」に相当する。
設定変更部803は、移行先スイッチからのミラー切替通知CNに応じて、移行元ポートにおける移行先ポートからの受信パケットのミラー設定を解除する。具体的には、例えば、設定変更部803は、ミラーフィルタ管理テーブルTB3内の該当レコードの受信フラグに「False」を設定する。
例えば、移行元スイッチSW1の移行元ポートP2における移行先ポートP3からの受信パケットのミラー設定を解除する場合を想定する。この場合、設定変更部803は、図6に示したミラーフィルタ管理テーブルTB3−1内のミラーフィルタ情報610−1の受信フラグに「False」を設定する。
これにより、移行元スイッチSW1において、移行先スイッチSW2からのミラー切替通知CNを受信したタイミングで、それ以降に移行元ポートP2において移行先ポートP3から受信されるパケットをミラーリング対象から除外することができる。
ただし、設定変更部803は、移行元ポートにおけるポートミラー方向が出力方向(送信)のみの場合は、受信パケットのミラー設定を解除する処理を行わない。具体的には、例えば、設定変更部803は、ミラーフィルタ管理テーブルTB3内の該当レコードの受信フラグに「False」が設定されている場合に、移行元ポートにおけるポートミラー方向が出力方向(送信)のみであると判断することにしてもよい。
また、設定変更部803は、ミラーポートの切り替えが完了した場合、ミラーポートの切り替えが完了したことを示す切替完了通知をポートミラーマネージャMに送信する。具体的には、例えば、設定変更部803は、受信パケットのミラー設定の解除が完了した場合に、ポートミラーマネージャMに切替完了通知を送信することにしてもよい。
ミラーフィルタ部805は、移行元スイッチのポートを通過するパケットがミラーリング対象であるか否かを判断する。具体的には、例えば、ミラーフィルタ部805は、移行元ポートを通過するパケットを取得する。つぎに、ミラーフィルタ部805は、取得したパケットのヘッダ情報からアドレス(送信元アドレス、宛先アドレス)を取得する。
そして、ミラーフィルタ部805は、ミラーフィルタ管理テーブルTB3を参照して、移行元ポートのポートIDとアドレス(送信元アドレス、宛先アドレス)との組み合わせに対応するポートミラー方向を特定する。なお、アドレス(送信元アドレス、宛先アドレス)は、例えば、仮想マシンのVMIDに相当する。
例えば、ミラーフィルタ部805は、ポートIDとアドレスとの組み合わせに対応するミラーフィルタ情報の送信フラグ、受信フラグがともに「True」の場合は、ポートミラー方向「双方向」を特定する。また、ミラーフィルタ部805は、送信フラグが「True」、受信フラグが「False」の場合は、ポートミラー方向「出力」を特定する。また、ミラーフィルタ部805は、送信フラグが「False」、受信フラグが「True」の場合は、ポートミラー方向「入力」を特定する。また、ミラーフィルタ部805は、送信フラグ、受信フラグがともに「False」の場合は、ポートミラー方向「−(Null)」を特定する。ポートミラー方向「−」は、ミラーリングしないことを示す。
つぎに、ミラーフィルタ部805は、取得したパケットの方向が、特定したポートミラー方向と一致するか否かを判断する。ここで、パケットの方向がポートミラー方向と一致する場合、ミラーフィルタ部805は、取得したパケットがミラーリング対象であると判断する。そして、ミラーフィルタ部805は、取得したパケットをミラーパケット生成部806に出力する。一方、パケットの方向がポートミラー方向と一致しない場合、ミラーフィルタ部805は、取得したパケットがミラーリング対象ではないと判断する。この場合、ミラーフィルタ部805は、取得したパケットをミラーパケット生成部806に出力しない。
なお、ミラーフィルタ部805は、移行元ポート以外のポートについても、移行元ポートと同様に処理することにしてもよい。この際、ミラーポートの切替対象となるポート以外のポートのミラーフィルタ情報が、ミラーフィルタ管理テーブルTB3とは別テーブルで管理されている場合は、ミラーフィルタ部805は、別テーブルも参照して、ポートミラー方向を特定する。
ミラーパケット生成部806は、ミラーフィルタ部805から出力されるパケットをコピーしてミラーパケットを生成する。この際、ミラーパケット生成部806は、例えば、ミラーパケットの宛先のポートIDに、モニタポートIDを設定する。そして、ミラーパケット生成部806は、生成したミラーパケットを共有メモリ290の送信キューに書き込み、共有メモリ290上のリングバッファTXに送信通知を書き込む。
この結果、送信処理部802が、リングバッファTXへの送信通知の書き込みを検知すると、共有メモリ290の書込先アドレスからミラーパケットを読み出して、キャプチャツールCに対するミラーパケットの送信処理を行う。
・移行先スイッチ
つぎに、仮想スイッチ260が移行先スイッチとして動作する場合について説明する。移行先スイッチは、ミラーポートを切り替える際の移行先ポートを有する仮想スイッチ260である。ただし、移行元スイッチにおいて説明した箇所と同様の箇所については説明を省略する場合がある。
受信処理部804は、データの受信処理を行う。具体的には、例えば、受信処理部804は、共有メモリ290上のリングバッファRXへの受信通知(書込先アドレス)の書き込みを検出すると、共有メモリ290の書込先アドレスからパケットを読み出す。
ここで、読み出したパケットが、通常パケットの場合は、受信処理部804は、通常パケットの受信処理を行う。一方、読み出したパケットが、移行元スイッチからのミラー切替通知CNの場合は、受信処理部804は、移行元スイッチからのミラー切替通知CNを設定変更部803に通知する。
設定変更部803は、移行先ポートにおけるミラー設定を変更する。具体的には、例えば、設定変更部803は、移行元スイッチからのミラー切替通知CNに応じて、移行先ポートにおける移行元ポートからの受信パケットのミラー設定を行う。より具体的には、例えば、設定変更部803は、ミラーフィルタ管理テーブルTB3内の該当レコードの受信フラグに「True」を設定する。そして、設定変更部803は、移行元スイッチからのミラー切替通知CNを通知生成部801に出力する。
例えば、移行先スイッチSW2の移行先ポートP3における移行元ポートP1からの受信パケットのミラー設定を行う場合を想定する。この場合、設定変更部803は、図6に示したミラーフィルタ管理テーブルTB3−2内のミラーフィルタ情報620−1の受信フラグに「True」を設定する。
これにより、移行先スイッチSW2において、移行元スイッチSW1からのミラー切替通知CNを受信したタイミングで、それ以降に移行先ポートP3において移行元ポートP2から受信されるパケットをミラーリング対象とすることができる。
ただし、設定変更部803は、移行先ポートにおけるポートミラー方向が出力方向(送信)のみの場合は、受信パケットのミラー設定を行わない。なお、移行先ポートにおけるポートミラー方向を特定する情報は、例えば、ミラーフィルタ管理テーブルTB3に含まれていてもよい。移行先ポートにおけるポートミラー方向は、ミラーポートを切り替える前の移行先ポートにおけるポートミラー方向と同じである。
通知生成部801は、移行元スイッチに対するミラー切替通知CNを生成する。具体的には、例えば、通知生成部801は、移行元スイッチからのミラー切替通知CNに応じて、当該ミラー切替通知CNから特定される移行元ポートを有する移行元スイッチに対するミラー切替通知CNを生成する。
送信処理部802は、通知生成部801によって生成されたミラー切替通知CNを移行元スイッチに対して送信する。より詳細に説明すると、例えば、まず、通知生成部801は、生成したミラー切替通知CNを共有メモリ290の送信キューに書き込む。そして、通知生成部801は、共有メモリ290上のリングバッファTXに送信通知を書き込む。この場合、送信処理部802は、リングバッファTXへの送信通知の書き込みを検知すると、共有メモリ290の書込先アドレスからミラー切替通知CNを読み出して、移行元スイッチに対するミラー切替通知CNの送信処理を行う。
設定変更部803は、移行元スイッチに対してミラー切替通知CNが送信された場合に、移行先ポートにおける移行元ポートへの送信パケットのミラー設定を行う。より具体的には、例えば、設定変更部803は、ミラーフィルタ管理テーブルTB3内の該当レコードの送信フラグに「True」を設定する。
例えば、移行先スイッチSW2の移行先ポートP3における移行元ポートP2への送信パケットのミラー設定を行う場合を想定する。この場合、設定変更部803は、図6に示したミラーフィルタ管理テーブルTB3−2内のミラーフィルタ情報620−1の送信フラグに「True」を設定する。
これにより、移行先スイッチSW2において、移行元スイッチSW1へのミラー切替通知CNを送信したタイミングで、それ以降に移行先ポートP3から移行元ポートP2へ送信されるパケットをミラーリング対象とすることができる。
ただし、設定変更部803は、移行先ポートにおけるポートミラー方向が入力方向(受信)のみの場合は、送信パケットのミラー設定を行わない。
また、送信処理部802は、移行先ポートからミラー切替通知CNの次に送信されるパケットの送信処理を、設定変更部803による送信パケットのミラー設定を行う処理の完了後に実行することにしてもよい。すなわち、送信処理部802は、ポートミラーの設定変更(ここでは、送信パケットのミラー設定)が完了するまで、次のパケットの送信を停止することにしてもよい。
これにより、ミラー切替通知CNが送信されてからポートミラーの設定変更が完了するまでの間に、移行元スイッチに対して次のパケットが送信されるのを防ぐことができる。
ミラーフィルタ部805は、移行先スイッチのポートを通過するパケットがミラーリング対象であるか否かを判断する。具体的には、例えば、ミラーフィルタ部805は、移行先ポートを通過するパケットを取得する。つぎに、ミラーフィルタ部805は、取得したパケットのヘッダ情報からアドレス(送信元アドレス、宛先アドレス)を取得する。
そして、ミラーフィルタ部805は、ミラーフィルタ管理テーブルTB3を参照して、移行先ポートのポートIDとアドレス(送信元アドレス、宛先アドレス)との組み合わせに対応するポートミラー方向を特定する。つぎに、ミラーフィルタ部805は、取得したパケットの方向が、特定したポートミラー方向と一致するか否かを判断する。
ここで、パケットの方向がポートミラー方向と一致する場合、ミラーフィルタ部805は、取得したパケットがミラーリング対象であると判断する。そして、ミラーフィルタ部805は、取得したパケットをミラーパケット生成部806に出力する。一方、パケットの方向がポートミラー方向と一致しない場合、ミラーフィルタ部805は、取得したパケットがミラーリング対象ではないと判断する。この場合、ミラーフィルタ部805は、取得したパケットをミラーパケット生成部806に出力しない。
なお、ミラーフィルタ部805は、移行先ポート以外のポートについても、移行先ポートと同様に処理することにしてもよい。
(パケットの追い越しを考慮したミラー切替通知CN)
つぎに、パケットの追い越しを考慮したミラー切替通知CNについて説明する。移行元ポート/移行先ポート間で送受信されるパケットは、通信途中にルータ等のネットワーク機器があると、パケットの優先度などの条件で追い越しが発生することがある。このため、ミラー切替通知CNが、当該ミラー切替通知CNよりも後に送信されたパケットに追い越されることがある。
そこで、ミラー切替通知CNに、通常のパケットよりも高い優先度、例えば、最高の優先度を設定するとともに、当該ミラー切替通知CNの直前にポート(移行元ポートまたは移行先ポート)から送信されたパケットの送信順序を示す情報を含めることにしてもよい。パケットの送信順序を示す情報としては、例えば、TCPヘッダのシーケンス番号を用いることができる。
ここで、図10を用いて、直前に送信されたパケットのシーケンス番号を含むミラー切替通知CNのフォーマット例について説明する。
図10は、ミラー切替通知CNのフォーマット例を示す説明図(その2)である。図10において、ミラー切替通知CNは、ヘッダ部1010と、ペイロード部1020と、を含む。ヘッダ部1010は、Etherヘッダ、IPヘッダおよびTCPヘッダを含む。ペイロード部1020は、ミラー切替通知CNを識別する識別子Aと、ミラー切替通知CNの直前に送信されたパケットのシーケンス番号Bと、を含む。
シーケンス番号Bは、ミラー切替通知CNの直前にポート(移行元ポートまたは移行先ポート)から送信されたパケットの送信順序を示す情報であり、例えば、当該パケットのTCPヘッダに含まれるシーケンス番号である。
この場合、移行元スイッチは、移行元ポートにおいて、ミラー切替通知CNよりも後に受信された受信パケットのうち、移行先ポートから送信された送信順序を示すシーケンス番号がシーケンス番号B以下である受信パケットのミラーリングを行う。これにより、移行先スイッチからのミラー切替通知CNに応じて受信パケットのミラー設定を解除したとしても、通信途中でミラー切替通知CNに追い越されたパケットについてはミラーリングすることができ、ミラー漏れ(パケットロス)を防ぐことができる。
また、移行先スイッチは、移行先ポートにおいて、ミラー切替通知CNよりも後に受信された受信パケットのうち、移行元ポートから送信された送信順序を示すシーケンス番号がシーケンス番号B以下である受信パケットをミラーリング対象から除外する。これにより、移行元スイッチからのミラー切替通知CNに応じて受信パケットのミラー設定を行ったとしても、通信途中でミラー切替通知CNに追い越されたパケットについてはミラーリング対象から除外することができ、ミラーパケットの重複を防ぐことができる。
ここで、図11を用いて、移行元スイッチから移行先スイッチに送信されたパケットの追い越しが発生した場合のミラーリングの処理例について説明する。
図11は、パケットの追い越しが発生した場合のミラーリングの処理例を示す説明図である。図11において、送信側(移行元スイッチ)から、「パケットP1⇒パケットP2⇒パケットP3⇒ミラー切替通知CN⇒パケットP4」の順にパケットが受信側(移行先スイッチ)に送信されている。
図11中、「Seq.#」は、移行元スイッチの移行元ポートから送信されたパケットの送信順序を示すシーケンス番号である(#=1,2,3,4)。ミラー切替通知CNには、当該ミラー切替通知CNの直前に送信されたパケットP3のシーケンス番号B「Seq.3」が含まれている。
ここでは、パケットP3が通信途中でミラー切替通知CNに追い越された場合を想定する。このため、本来は先に受信側(移行先スイッチ)に到達すべきパケットP3が、ミラー切替通知CNよりも後に受信側(移行先スイッチ)に到達している。
この場合、受信側(移行先スイッチ)は、送信側(移行元スイッチ)からのミラー切替通知CNを受信したタイミングで、受信パケットのミラー設定を行う。ただし、受信側(移行先スイッチ)は、ミラー切替通知CNよりも後に受信されたパケットについては、ミラー切替通知CNに含まれるシーケンス番号「Seq.3」との比較を行う。
具体的には、受信側(移行先スイッチ)は、ミラー切替通知CNよりも後に受信されたパケットP3のシーケンス番号「Seq.3」と、ミラー切替通知CNに含まれるシーケンス番号B「Seq.3」との比較を行う。ここでは、パケットP3のシーケンス番号「Seq.3」がシーケンス番号B「Seq.3」以下である。このため、受信側(移行先スイッチ)は、パケットP3をミラーリング対象から除外する。
また、受信側(移行先スイッチ)は、ミラー切替通知CNよりも後に受信されたパケットP4のシーケンス番号「Seq.3」と、ミラー切替通知CNに含まれるシーケンス番号B「Seq.3」との比較を行う。ここでは、パケットP4のシーケンス番号「Seq.4」がシーケンス番号B「Seq.3」より大きい。このため、受信側(移行先スイッチ)は、パケットP4をミラーリング対象とする。
(ポート切替処理の具体例)
つぎに、図12および図13を用いて、ポート切替処理の具体例について説明する。
図12は、VM間の接続関係の一例を示す説明図である。図12において、ホストH1と、ホストH2と、ホストH3と、ホストHmと、管理装置201と、が示されている。ホストH2上では、仮想マシンVM3が動作している。ホストH3上では、仮想マシンVM4が動作している。ホストHm上では、キャプチャツールCが動作している。
ここで、仮想マシンVM1は、ポートP1を介して、仮想マシンVM3と通信する。仮想マシンVM2は、ポートP2を介して、仮想マシンVM3と通信する。また、仮想マシンVM2は、ポートP2を介して、仮想マシンVM4と通信する。仮想マシンVM3は、ポートP3を介して、仮想マシンVM1および仮想マシンVM2と通信する。仮想マシンVM4は、ポートP4を介して、仮想マシンVM2と通信する。
また、ポートP2は、ミラーポートである。具体的には、仮想スイッチSW1は、ポートP2において、VM2とVM3との間で送受信されるパケットのミラーリングを行っている。また、仮想スイッチSW1は、ポートP2において、VM2とVM4との間で送受信されるパケットのミラーリングを行っている。
以下、図13を用いて、ミラーポートをポートP2からポートP3,P4にそれぞれ切り替える場合を例に挙げて、各モジュール(ポートミラーマネージャM、仮想スイッチSW1〜SW3)の動作例について説明する。
図13は、ミラーポートを切り替える際の各モジュールの動作例を示すシーケンス図である。(13−1)ポートミラーマネージャMは、管理者端末202からミラーポートの切替指示に応じて、各ホストH1〜H3の仮想スイッチSW1〜SW3に、ミラーフィルタ管理テーブルTB3−1〜TB3−3(例えば、図6参照)をそれぞれ送信する。
この結果、各仮想スイッチSW1〜SW3において、ミラーフィルタ管理テーブルTB3−1〜TB3−3が格納される。そして、各仮想スイッチSW1〜SW3からポートミラーマネージャMに対して、ミラーフィルタ管理テーブルTB3−1〜TB3−3の格納処理が完了したことを示す完了応答が送信される。図13中、点線矢印は各種処理の完了応答を示す。
(13−2)ポートミラーマネージャMは、ミラー切替指示CIを仮想スイッチSW1に通知する。ミラー切替指示CIは、ミラーポートを、ポートP2からポートP3,P4にそれぞれ切り替えるための指示である。
(13−3)仮想スイッチSW1は、ポートミラーマネージャMからのミラー切替指示CIに応じて、移行先ポートP3を有する仮想スイッチSW2にミラー切替通知CNを送信する。
(13−4)仮想スイッチSW2は、仮想スイッチSW1からのミラー切替通知CNに応じて、移行先ポートP3における移行元ポートP2からの受信パケットのミラー設定を行う。
(13−5)仮想スイッチSW1は、仮想スイッチSW2に対してミラー切替通知CNを送信したことに応じて、移行元ポートP2における移行先ポートP3への送信パケットのミラー設定を解除する。
(13−6)仮想スイッチSW2は、移行先ポートP3における移行元ポートP2からの受信パケットのミラー設定が完了すると、移行元ポートP2を有する仮想スイッチSW1にミラー切替通知CNを送信する。
(13−7)仮想スイッチSW2は、仮想スイッチSW1に対してミラー切替通知CNを送信したことに応じて、移行先ポートP3における移行元ポートP2への送信パケットのミラー設定を行う。
(13−8)仮想スイッチSW1は、仮想スイッチSW2からのミラー切替通知CNを受信したことに応じて、移行元ポートP2における移行先ポートP3からの受信パケットのミラー設定を解除する。
(13−9)仮想スイッチSW1は、移行先ポートP4を有する仮想スイッチSW3にミラー切替通知CNを送信する。
(13−10)仮想スイッチSW3は、仮想スイッチSW1からのミラー切替通知CNに応じて、移行先ポートP4における移行元ポートP2からの受信パケットのミラー設定を行う。
(13−11)仮想スイッチSW1は、仮想スイッチSW3に対してミラー切替通知CNを送信したことに応じて、移行元ポートP2における移行先ポートP4への送信パケットのミラー設定を解除する。
(13−12)仮想スイッチSW3は、移行先ポートP4における移行元ポートP2からの受信パケットのミラー設定が完了すると、移行元ポートP2を有する仮想スイッチSW1にミラー切替通知CNを送信する。
(13−13)仮想スイッチSW3は、仮想スイッチSW1に対してミラー切替通知CNを送信したことに応じて、移行先ポートP4における移行元ポートP2への送信パケットのミラー設定を行う。
(13−14)仮想スイッチSW1は、仮想スイッチSW3からのミラー切替通知CNを受信したことに応じて、移行元ポートP2における移行先ポートP4からの受信パケットのミラー設定を解除する。そして、仮想スイッチSW1は、ミラーポートの切り替えが完了したことを示す完了応答をポートミラーマネージャMに送信する。
これにより、ミラーポートをポートP2からポートP3,P4にそれぞれ切り替えることができる。
ここで、図12に示した仮想マシンVM2と仮想マシンVM3との間で送受信されるパケットを例に挙げて、ミラー設定の変遷例について説明する。ただし、ここでは、パケットの追い越しやミラー切替通知CNのロスがない場合を想定する。
図14および図15は、仮想マシン間で送受信されるパケットの流れを示す説明図である。図14および図15において、マークmk1は、移行元ポートP2(図12参照)におけるミラー設定の状態を示す。また、マークmk2は、移行先ポートP3(図12参照)におけるミラー設定の状態を示す。
マークmk1,mk2は、丸印を二等分した図形である。半円が白塗りの場合は、ミラー設定がONの状態を示す。半円が黒塗りの場合は、ミラー設定がOFFの状態を示す。右側の半円は、仮想マシンVM2から仮想マシンVM3に送信されるパケットのミラー設定の状態を示す。左側の半円は、仮想マシンVM3から仮想マシンVM2に送信されるパケットのミラー設定の状態を示す。
(14−1)において、マークmk1の右側の半円は白塗りである。このため、仮想マシンVM2から仮想マシンVM3に送信されるパケット1は、移行元ポートP2においてミラーリングされてキャプチャツールCに送られる。
(14−2)において、マークmk1の右側の半円は白塗りである。このため、仮想マシンVM2から仮想マシンVM3に送信されるパケット2は、移行元ポートP2においてミラーリングされてキャプチャツールCに送られる。
(14−3)において、仮想マシンVM2側(仮想スイッチSW1)から仮想マシンVM3側(仮想スイッチSW3)にミラー切替通知CNが送信されている。
(14−4)において、マークmk1の右側の半円は黒塗りになっている。すなわち、ミラー切替通知CNが送信されたことに応じて、移行元ポートP2における移行先ポートP3への送信パケットのミラー設定が解除されている。このため、仮想マシンVM2から仮想マシンVM3に送信されるパケット3はミラーリング対象から除外される。
(14−5)において、仮想マシンVM3側(仮想スイッチSW3)で、仮想マシンVM2側(仮想スイッチSW1)からのミラー切替通知CNが受信されている。
(14−6)において、マークmk2の右側の半円は白塗りになっている。すなわち、ミラー切替通知CNが受信されたことに応じて、移行先ポートP3における移行元ポートP2からの受信パケットのミラー設定が行われている。このため、仮想マシンVM2から仮想マシンVM3に送信されるパケット3は、移行先ポートP3においてミラーリングされてキャプチャツールCに送られる。
(15−1)において、マークmk1の左側の半円は白塗りである。このため、仮想マシンVM2において受信される仮想マシンVM3からのパケットAは、移行元ポートP2においてミラーリングされてキャプチャツールCに送られる。
(15−2)において、仮想マシンVM3側(仮想スイッチSW3)から仮想マシンVM2側(仮想スイッチSW1)にミラー切替通知CNが送信されている。
(15−3)において、マークmk2の左側の半円は白塗りになっている。すなわち、ミラー切替通知CNが送信されたことに応じて、移行先ポートP3における移行元ポートP3への送信パケットのミラー設定が行われている。このため、仮想マシンVM3から仮想マシンVM2に送信されるパケットDは、移行先ポートP3においてミラーリングされてキャプチャツールCに送られる。
(15−4)において、仮想マシンVM2側(仮想スイッチSW1)で、仮想マシンVM3側(仮想スイッチSW3)からのミラー切替通知CNが受信されている。
(15−5)において、マークmk1の左側の半円は黒塗りになっている。すなわち、ミラー切替通知CNが受信されたことに応じて、移行元ポートP2における移行先ポートP3からの受信パケットのミラー設定が解除されている。このため、仮想マシンVM2で受信されるパケットDはミラーリング対象から除外される。
このように、ミラー切替通知CNの送受信のタイミングで、移行元ポートP2および移行先ポートP3のミラー設定を変更することで、パケットのロスや重複をさせることなく、ミラーポートを切り替えることができる。
(管理装置201のミラーポート切替管理処理手順)
つぎに、図16を用いて、管理装置201のミラーポート切替管理処理手順について説明する。ミラーポート切替管理処理は、管理装置201のポートミラーマネージャMにより実行される。
図16は、管理装置201のミラーポート切替管理処理手順の一例を示すフローチャートである。図16のフローチャートにおいて、まず、管理装置201のポートミラーマネージャMは、管理者端末202からミラーポートの切替指示を受信したか否かを判断する(ステップS1601)。ここで、ポートミラーマネージャMは、ミラーポートの切替指示を受信するのを待つ(ステップS1601:No)。
そして、ポートミラーマネージャMは、ミラーポートの切替指示を受信した場合(ステップS1601:Yes)、ポート間接続管理テーブルTB2から、移行元ポートのポートIDに対応するエントリを検索する(ステップS1602)。移行元ポートのポートIDは、ミラーポートの切替指示に含まれる。つぎに、ポートミラーマネージャMは、移行元ポートのポートIDに対応するエントリが検索されたか否かを判断する(ステップS1603)。
ここで、エントリが検索された場合(ステップS1603:Yes)、ポートミラーマネージャMは、ミラーポート管理テーブルTB1とポート間接続管理テーブルTB2とに基づいて、移行元ポートのミラーフィルタ管理テーブルTB3を生成する(ステップS1604)。そして、ポートミラーマネージャMは、移行元ポートのミラーフィルタ管理テーブルTB3を、移行元ポートを有する移行元スイッチに送信する(ステップS1605)。
つぎに、ポートミラーマネージャMは、ミラーポート管理テーブルTB1とポート間接続管理テーブルTB2とに基づいて、移行先ポートのミラーフィルタ管理テーブルTB3を生成する(ステップS1606)。そして、ポートミラーマネージャMは、移行先ポートのミラーフィルタ管理テーブルTB3を、移行先ポートを有する移行先スイッチに送信する(ステップS1607)。
つぎに、ポートミラーマネージャMは、移行先ポートのポートIDを通知先パラメータとして、移行元ポートと移行先ポートとを特定するミラー切替指示CIを移行元スイッチに送信して(ステップS1608)、本フローチャートによる一連の処理を終了する。
これにより、管理者端末202からミラーポートの切替指示に応じて、ミラーポートを移行元ポートから移行先ポートに切り替えるためのミラー切替指示CIを移行元スイッチに通知することができる。
また、ステップS1603において、移行元ポートのポートIDに対応するエントリが検索されなかった場合(ステップS1603:No)、ポートミラーマネージャMは、エラー処理を実行して(ステップS1609)、本フローチャートによる一連の処理を終了する。エラー処理は、例えば、切替対象のポートが存在しないことを管理者端末202に通知する処理である。
(情報処理装置PMiの各種処理手順)
つぎに、図17〜図21を用いて、情報処理装置PMiの各種処理手順について説明する。以下に説明する情報処理装置PMiの各種処理は、情報処理装置PMiの仮想スイッチ260(移行元スイッチ、移行先スイッチ)により実行される。
・ミラー切替通知生成処理手順
まず、図17を用いて、情報処理装置PMiのミラー切替通知生成処理手順について説明する。ミラー切替通知生成処理は、ポートミラーマネージャMからのミラー切替指示CI、または、後述の図19に示すステップS1912において呼び出される。
図17は、情報処理装置PMiのミラー切替通知生成処理手順の一例を示すフローチャートである。図17のフローチャートにおいて、まず、情報処理装置PMiの仮想スイッチ260は、通知先パラメータを取得する(ステップS1701)。なお、通知先パラメータは、ミラー切替通知生成処理がポートミラーマネージャMからのミラー切替指示CIに応じて起動された場合、移行先ポートのポートIDとなる。通知先パラメータは、ミラー切替通知生成処理が移行元スイッチからのミラー切替通知CNに応じて起動された場合、移行元ポートのポートIDとなる。
つぎに、仮想スイッチ260は、取得した通知先パラメータに基づいて、通知先に対するミラー切替通知CNを生成する(ステップS1702)。そして、仮想スイッチ260は、生成したミラー切替通知CNを共有メモリ290の送信キューに書き込む(ステップS1703)。
つぎに、仮想スイッチ260は、共有メモリ290上のリングバッファTXに送信通知を書き込む(ステップS1704)。そして、仮想スイッチ260は、ポートミラー方向が受信のみであるか否かを判断する(ステップS1705)。なお、ポートミラー方向は、ミラーポートを切り替える前の移行元ポートのポートミラー方向に相当する。ここで、ポートミラー方向が受信のみの場合(ステップS1705:Yes)、仮想スイッチ260は、本フローチャートによる一連の処理を終了する。
一方、ポートミラー方向が受信のみではない場合(ステップS1705:No)、仮想スイッチ260は、自スイッチが有する切替対象ポートが移行元ポートであるか否かを判断する(ステップS1706)。ここで、移行元ポートの場合(ステップS1706:Yes)、仮想スイッチ260は、移行元ポートにおける移行先ポートへの送信パケットのミラー設定を解除する(ステップS1707)。
そして、仮想スイッチ260は、ミラーフィルタ管理テーブルTB3内の該当レコードの送信フラグに「False」を設定して(ステップS1708)、本フローチャートによる一連の処理を終了する。なお、ミラーフィルタ管理テーブルTB3内の該当レコードとは、移行元ポートと移行先ポートとの組み合わせに対応するレコードである。
また、ステップS1706において、移行先ポートの場合(ステップS1706:No)、仮想スイッチ260は、移行先ポートにおける移行元ポートへの送信パケットのミラー設定を行う(ステップS1709)。そして、仮想スイッチ260は、ミラーフィルタ管理テーブルTB3内の該当レコードの送信フラグに「True」を設定して(ステップS1710)、本フローチャートによる一連の処理を終了する。
これにより、移行元スイッチにおいて、移行先スイッチへミラー切替通知CNを送信したタイミングで、それ以降に移行元ポートから移行先ポートへ送信されるパケットをミラーリング対象から除外することができる。また、移行先スイッチにおいて、移行元スイッチへミラー切替通知CNを送信したタイミングで、それ以降に移行先ポートから移行元ポートへ送信されるパケットをミラーリング対象とすることができる。
・パケット送信処理手順
つぎに、図18を用いて、情報処理装置PMiのパケット送信処理手順について説明する。
図18は、情報処理装置PMiのパケット送信処理手順の一例を示すフローチャートである。図18のフローチャートにおいて、まず、情報処理装置PMiの仮想スイッチ260は、共有メモリ290上のリングバッファTXへの送信通知の書き込みを検出する(ステップS1801)。
つぎに、仮想スイッチ260は、共有メモリ290の書込先アドレスからパケットを読み出す(ステップS1802)。そして、仮想スイッチ260は、読み出したパケットがミラー切替通知CNであるか否かを判断する(ステップS1803)。ここで、ミラー切替通知CNではない場合(ステップS1803:No)、仮想スイッチ260は、ステップS1807に移行する。
一方、ミラー切替通知CNの場合(ステップS1803:Yes)、仮想スイッチ260は、ミラー切替通知CNの送信処理を行う(ステップS1804)。そして、仮想スイッチ260は、リングバッファTXへの次のパケットの送信通知の書き込みを検出したか否かを判断する(ステップS1805)。
ここで、仮想スイッチ260は、次のパケットの送信通知の書き込みを検出するのを待つ(ステップS1805:No)。そして、仮想スイッチ260は、次のパケットの送信通知の書き込みを検出した場合(ステップS1805:Yes)、ポートミラーの設定変更が完了したか否かを判断する(ステップS1806)。
ここで、仮想スイッチ260は、ポートミラーの設定変更が完了するのを待つ(ステップS1806:No)。そして、仮想スイッチ260は、ポートミラーの設定変更が完了した場合(ステップS1806:Yes)、パケットの送信処理を行って(ステップS1807)、本フローチャートによる一連の処理を終了する。
これにより、ミラー切替通知CNの送信時に、ミラー切替通知CNが送信されてからポートミラーの設定変更が完了するまでの間に、次のパケットが送信されるのを防ぐことができる。
・パケット受信処理手順
つぎに、図19を用いて、情報処理装置PMiのパケット受信処理手順について説明する。
図19は、情報処理装置PMiのパケット受信処理手順の一例を示すフローチャートである。図19のフローチャートにおいて、まず、情報処理装置PMiの仮想スイッチ260は、共有メモリ290上のリングバッファRXへの受信通知の書き込みを検出する(ステップS1901)。
つぎに、仮想スイッチ260は、共有メモリ290の書込先アドレスからパケットを読み出す(ステップS1902)。そして、仮想スイッチ260は、読み出したパケットがミラー切替通知CNであるか否かを判断する(ステップS1903)。ここで、ミラー切替通知CNではない場合(ステップS1903:No)、仮想スイッチ260は、パケットの受信処理を行って(ステップS1904)、本フローチャートによる一連の処理を終了する。
一方、ミラー切替通知CNの場合(ステップS1903:Yes)、仮想スイッチ260は、ポートミラー方向が送信のみであるか否かを判断する(ステップS1905)。ここで、ポートミラー方向が送信のみの場合(ステップS1905:Yes)、仮想スイッチ260は、本フローチャートによる一連の処理を終了する。
一方、ポートミラー方向が送信のみではない場合(ステップS1905:No)、仮想スイッチ260は、自スイッチが有する切替対象ポートが移行元ポートであるか否かを判断する(ステップS1906)。ここで、移行元ポートの場合(ステップS1906:Yes)、仮想スイッチ260は、移行元ポートにおける移行先ポートからの受信パケットのミラー設定を解除する(ステップS1907)。
つぎに、仮想スイッチ260は、ミラーフィルタ管理テーブルTB3内の該当レコードの受信フラグに「False」を設定する(ステップS1908)。なお、ミラーフィルタ管理テーブルTB3内の該当レコードとは、移行元ポートと移行先ポートとの組み合わせに対応するレコードである。
そして、仮想スイッチ260は、ポートミラーマネージャMに、ミラーポートの切り替えが完了したことを示す切替完了通知を送信して(ステップS1909)、本フローチャートによる一連の処理を終了する。
また、ステップS1906において、移行先ポートの場合(ステップS1906:No)、仮想スイッチ260は、移行先ポートにおける移行元ポートからの受信パケットのミラー設定を行う(ステップS1910)。つぎに、仮想スイッチ260は、ミラーフィルタ管理テーブルTB3内の該当レコードの受信フラグに「True」を設定する(ステップS1911)。
そして、仮想スイッチ260は、移行元ポートのポートIDを通知先パラメータとして、図17に示したミラー切替通知生成処理を呼び出して(ステップS1912)、本フローチャートによる一連の処理を終了する。
これにより、移行元スイッチにおいて、移行先スイッチからのミラー切替通知CNを受信したタイミングで、それ以降に移行元ポートにおいて移行先ポートから受信されるパケットをミラーリング対象から除外することができる。また、移行先スイッチにおいて、移行元スイッチからのミラー切替通知CNを受信したタイミングで、それ以降に移行先ポートにおいて移行元ポートから受信されるパケットをミラーリング対象とすることができる。
・ミラーフィルタ処理手順
つぎに、図20を用いて、情報処理装置PMiのミラーフィルタ処理手順について説明する。ここでは、ミラーポートの切替対象となるポート(切替対象ポート)についてのミラーフィルタ処理について説明する。
図20は、情報処理装置PMiのミラーフィルタ処理手順の一例を示すフローチャートである。図20のフローチャートにおいて、まず、情報処理装置PMiの仮想スイッチ260は、自スイッチの切替対象ポート(移行元ポート、移行先ポート)を通過するパケットを取得する(ステップS2001)。
つぎに、仮想スイッチ260は、取得したパケットのヘッダ情報からアドレス(送信元アドレス、宛先アドレス)を取得する(ステップS2002)。そして、仮想スイッチ260は、ミラーフィルタ管理テーブルTB3を参照して、切替対象ポートとアドレス(送信元アドレス、宛先アドレス)との組み合わせに対応するポートミラー方向を特定する(ステップS2003)。
つぎに、仮想スイッチ260は、取得したパケットの方向が、特定したポートミラー方向と一致するか否かを判断する(ステップS2004)。ここで、パケットの方向がポートミラー方向と一致しない場合(ステップS2004:No)、仮想スイッチ260は、本フローチャートによる一連の処理を終了する。
一方、パケットの方向がポートミラー方向と一致する場合(ステップS2004:Yes)、仮想スイッチ260は、取得したパケットをコピーしてミラーパケットを生成する(ステップS2005)。つぎに、仮想スイッチ260は、生成したミラーパケットを共有メモリ290の送信キューに書き込む(ステップS2006)。
そして、仮想スイッチ260は、共有メモリ290上のリングバッファTXに送信通知を書き込んで(ステップS2007)、本フローチャートによる一連の処理を終了する。これにより、切替対象ポートにおけるミラー設定に応じて、切替対象ポートを通過するパケットをフィルタリングすることができる。
以上説明したように、実施の形態にかかる情報処理装置PMiによれば、ミラー切替指示CIに応じて、移行先スイッチに対してミラー切替通知CNを送信するとともに、移行元ポートにおける移行先ポートへの送信パケットのミラー設定を解除することができる。また、情報処理装置PMiによれば、移行先スイッチからのミラー切替通知CNに応じて、移行元ポートにおける移行先ポートからの受信パケットのミラー設定を解除することができる。
これにより、移行元スイッチにおいて、移行先スイッチへミラー切替通知CNを送信したタイミングで、それ以降に移行元ポートから移行先ポートへ送信されるパケットをミラーリング対象から除外することができる。また、移行元スイッチにおいて、移行先スイッチからのミラー切替通知CNを受信したタイミングで、それ以降に移行元ポートにおいて移行先ポートから受信されるパケットをミラーリング対象から除外することができる。
また、情報処理装置PMiによれば、ミラー切替通知CNの次に移行元ポートから送信されるパケットの送信処理を、移行元ポートにおける移行先ポートへの送信パケットのミラー設定を解除する処理の完了後に行うことができる。これにより、ミラー切替通知CNが送信されてからポートミラーの設定変更が完了するまでの間に、移行先スイッチに対して次のパケットが送信されるのを防いで、ミラーパケットの重複を防ぐことができる。
また、情報処理装置PMiによれば、移行先ポートからの受信パケットのミラー設定を解除した場合でも、移行先スイッチからのミラー切替通知CNよりも後に受信された受信パケットのうち、移行先ポートから送信された送信順序を示すシーケンス番号がシーケンス番号B以下である受信パケットのミラーリングを行うことができる。ただし、移行先スイッチからのミラー切替通知CNには、他のパケットよりも高い優先度が設定され、かつ、当該ミラー切替通知CNの直前に移行先ポートから送信されたパケットの送信順序を示すシーケンス番号Bが含まれる。
これにより、移行先スイッチからのミラー切替通知CNに応じて受信パケットのミラー設定を解除したとしても、通信途中でミラー切替通知CNに追い越されたパケットについてはミラーリングすることができ、ミラー漏れ(パケットロス)を防ぐことができる。
また、情報処理装置PMiによれば、移行元スイッチからのミラー切替通知CNに応じて、移行先ポートにおける移行元ポートからの受信パケットのミラー設定を行うことができる。また、情報処理装置PMiによれば、受信パケットのミラー設定が行われたことに応じて、移行元スイッチに対してミラー切替通知CNを送信するとともに、移行先ポートにおける移行元ポートへの送信パケットのミラー設定を行うことができる。
これにより、移行先スイッチにおいて、移行元スイッチからのミラー切替通知CNを受信したタイミングで、それ以降に移行先ポートにおいて移行元ポートから受信されるパケットをミラーリング対象とすることができる。また、移行先スイッチにおいて、移行元スイッチへのミラー切替通知CNを送信したタイミングで、それ以降に移行先ポートから移行元ポートへ送信されるパケットをミラーリング対象とすることができる。
また、情報処理装置PMiによれば、ミラー切替通知CNの次に移行先ポートから送信されるパケットの送信処理を、移行先ポートにおける移行元ポートへの送信パケットのミラー設定を行う処理の完了後に行うことができる。これにより、ミラー切替通知CNが送信されてからポートミラーの設定変更が完了するまでの間に、移行元スイッチに対して次のパケットが送信されるのを防いで、ミラー漏れ(パケットロス)を防ぐことができる。
また、情報処理装置PMiによれば、移行元ポートからの受信パケットのミラー設定を行った場合でも、移行元スイッチからのミラー切替通知CNよりも後に受信された受信パケットのうち、移行元ポートから送信された送信順序を示すシーケンス番号がシーケンス番号B以下である受信パケットをミラーリング対象から除外することができる。ただし、移行元スイッチからのミラー切替通知CNには、他のパケットよりも高い優先度が設定され、かつ、当該ミラー切替通知CNの直前に移行元ポートから送信されたパケットの送信順序を示すシーケンス番号Bが含まれる。
これにより、移行元スイッチからのミラー切替通知CNに応じて受信パケットのミラー設定を行ったとしても、通信途中でミラー切替通知CNに追い越されたパケットについてはミラーリング対象から除外して、ミラーパケットの重複を防ぐことができる。
これらのことから、実施の形態にかかるシステム200、情報処理装置PMiによれば、移行元/移行先スイッチにおいてミラー切替通知CNを送受信したタイミングで、移行元/移行先ポートにおけるミラー設定を切り替えることができる。これにより、移行元/移行先スイッチにおいて、ミラーポートの切替タイミングを合わせて、パケットのロスも重複もさせることなく、ミラーポートの切り替えを行うことができる。また、ミラーポートの切替時に関連する仮想マシン250をサスペンドしないため、ミラー対象以外の通信や通信以外の処理を停止させることなく、ミラーポートの切り替えを行うことができる。
なお、本実施の形態で説明したポート切替方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本ポート切替プログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO(Magneto−Optical disk)、DVD(Digital Versatile Disk)、USB(Universal Serial Bus)メモリ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本ポート切替プログラムは、インターネット等のネットワークを介して配布してもよい。
上述した実施の形態に関し、さらに以下の付記を開示する。
(付記1)コンピュータに、
移行元ポートと移行先ポートとを特定するミラー切替指示に応じて、前記移行先ポートを有する仮想スイッチに対して前記移行先ポートにおけるミラー設定の変更を要求する第1ミラー切替通知を送信するとともに、前記移行元ポートにおける前記移行先ポートへの送信パケットのミラー設定を解除し、
前記仮想スイッチからの前記移行先ポートにおけるミラー設定の変更を示す第2ミラー切替通知に応じて、前記移行元ポートにおける前記移行先ポートからの受信パケットのミラー設定を解除する、
処理を実行させることを特徴とするポート切替プログラム。
(付記2)前記コンピュータに、
前記第1ミラー切替通知の次に前記移行元ポートから送信されるパケットの送信処理を、前記送信パケットのミラー設定を解除する処理の完了後に実行させることを特徴とする付記1に記載のポート切替プログラム。
(付記3)前記第2ミラー切替通知には、他のパケットよりも高い優先度が設定され、かつ、当該第2ミラー切替通知の直前に前記移行先ポートから送信されたパケットの送信順序を示す所定の番号が含まれており、
前記コンピュータに、
前記移行先ポートからの受信パケットのミラー設定を解除した場合でも、前記第2ミラー切替通知よりも後に受信された受信パケットのうち、前記移行先ポートから送信された送信順序を示す番号が前記所定の番号以下である受信パケットのミラーリングを行う、処理を実行させることを特徴とする付記1または2に記載のポート切替プログラム。
(付記4)前記送信パケットのミラー設定を解除する処理は、前記移行元ポートにおけるポートミラー方向が入力方向のみの場合は行われない、ことを特徴とする付記1〜3のいずれか一つに記載のポート切替プログラム。
(付記5)前記受信パケットのミラー設定を解除する処理は、前記移行元ポートにおけるポートミラー方向が出力方向のみの場合は行われない、ことを特徴とする付記1〜4のいずれか一つに記載のポート切替プログラム。
(付記6)前記第2ミラー切替通知は、前記移行先ポートにおける前記移行元ポートからの受信パケットのミラー設定が行われたことに応じて前記仮想スイッチから送信される、ことを特徴とする付記1〜5のいずれか一つに記載のポート切替プログラム。
(付記7)前記移行先ポートにおける前記移行元ポートへの送信パケットのミラー設定は、前記仮想スイッチから前記第2ミラー切替通知が送信されたことに応じて行われる、ことを特徴とする付記1〜6のいずれか一つに記載のポート切替プログラム。
(付記8)コンピュータに、
移行元ポートを有する仮想スイッチからの移行先ポートにおけるミラー設定の変更を要求する第1ミラー切替通知に応じて、前記移行先ポートにおける前記移行元ポートからの受信パケットのミラー設定を行い、
前記受信パケットのミラー設定が行われたことに応じて、前記仮想スイッチに対して前記移行先ポートにおけるミラー設定の変更を示す第2ミラー切替通知を送信するとともに、前記移行先ポートにおける前記移行元ポートへの送信パケットのミラー設定を行う、
処理を実行させることを特徴とするポート切替プログラム。
(付記9)前記コンピュータに、
前記第2ミラー切替通知の次に前記移行先ポートから送信されるパケットの送信処理を、前記送信パケットのミラー設定を行う処理の完了後に実行させることを特徴とする付記8に記載のポート切替プログラム。
(付記10)前記第1ミラー切替通知には、他のパケットよりも高い優先度が設定され、かつ、当該第1ミラー切替通知の直前に前記移行元ポートから送信されたパケットの送信順序を示す所定の番号が含まれており、
前記コンピュータに、
前記移行元ポートからの受信パケットのミラー設定を行った場合でも、前記第1ミラー切替通知よりも後に受信された受信パケットのうち、前記移行元ポートから送信された送信順序を示す番号が前記所定の番号以下である受信パケットをミラーリング対象から除外する、ことを特徴とする付記8または9に記載のポート切替プログラム。
(付記11)前記受信パケットのミラー設定を行う処理は、前記移行先ポートにおけるポートミラー方向が出力方向のみの場合は行われない、ことを特徴とする付記8〜10のいずれか一つに記載のポート切替プログラム。
(付記12)前記送信パケットのミラー設定を行う処理は、前記移行先ポートにおけるポートミラー方向が入力方向のみの場合は行われない、ことを特徴とする付記8〜11のいずれか一つに記載のポート切替プログラム。
(付記13)コンピュータが、
移行元ポートと移行先ポートとを特定するミラー切替指示に応じて、前記移行先ポートを有する仮想スイッチに対して前記移行先ポートにおけるミラー設定の変更を要求する第1ミラー切替通知を送信するとともに、前記移行元ポートにおける前記移行先ポートへの送信パケットのミラー設定を解除し、
前記仮想スイッチからの前記移行先ポートにおけるミラー設定の変更を示す第2ミラー切替通知に応じて、前記移行元ポートにおける前記移行先ポートからの受信パケットのミラー設定を解除する、
処理を実行することを特徴とするポート切替方法。
(付記14)コンピュータが、
移行元ポートを有する仮想スイッチからの移行先ポートにおけるミラー設定の変更を要求する第1ミラー切替通知に応じて、前記移行先ポートにおける前記移行元ポートからの受信パケットのミラー設定を行い、
前記受信パケットのミラー設定が行われたことに応じて、前記仮想スイッチに対して前記移行先ポートにおけるミラー設定の変更を示す第2ミラー切替通知を送信するとともに、前記移行先ポートにおける前記移行元ポートへの送信パケットのミラー設定を行う、
処理を実行することを特徴とするポート切替方法。
(付記15)移行元ポートと移行先ポートとを特定するミラー切替指示に応じて、前記移行先ポートを有する仮想スイッチに対して前記移行先ポートにおけるミラー設定の変更を要求する第1ミラー切替通知を送信するとともに、前記移行元ポートにおける前記移行先ポートへの送信パケットのミラー設定を解除し、
前記仮想スイッチからの前記移行先ポートにおけるミラー設定の変更を示す第2ミラー切替通知に応じて、前記移行元ポートにおける前記移行先ポートからの受信パケットのミラー設定を解除する、
制御部を有することを特徴とする情報処理装置。
(付記16)移行元ポートを有する仮想スイッチからの移行先ポートにおけるミラー設定の変更を要求する第1ミラー切替通知に応じて、前記移行先ポートにおける前記移行元ポートからの受信パケットのミラー設定を行い、
前記受信パケットのミラー設定が行われたことに応じて、前記仮想スイッチに対して前記移行先ポートにおけるミラー設定の変更を示す第2ミラー切替通知を送信するとともに、前記移行先ポートにおける前記移行元ポートへの送信パケットのミラー設定を行う、
制御部を有することを特徴とする情報処理装置。
101,102 情報処理装置
111,112,121,250 仮想マシン
113,122,260 仮想スイッチ
114,123 ポート
130,C キャプチャツール
140,M ポートミラーマネージャ
200 システム
201 管理装置
202 管理者端末
210 ネットワーク
220 ハードウェア資源
230 ハイパーバイザ
240 ホストOS
270 フロントエンドドライバ
280 バックエンドドライバ
290 共有メモリ
701 受付部
702 切替管理部
703 通知部
801 通知生成部
802 送信処理部
803 設定変更部
804 受信処理部
805 ミラーフィルタ部
806 ミラーパケット生成部

Claims (10)

  1. コンピュータに、
    移行元ポートと移行先ポートとを特定するミラー切替指示に応じて、前記移行先ポートを有する仮想スイッチに対して前記移行先ポートにおけるミラー設定の変更を要求する第1ミラー切替通知を送信するとともに、前記移行元ポートにおける前記移行先ポートへの送信パケットのミラー設定を解除し、
    前記仮想スイッチからの前記移行先ポートにおけるミラー設定の変更を示す第2ミラー切替通知に応じて、前記移行元ポートにおける前記移行先ポートからの受信パケットのミラー設定を解除する、
    処理を実行させることを特徴とするポート切替プログラム。
  2. 前記コンピュータに、
    前記第1ミラー切替通知の次に前記移行元ポートから送信されるパケットの送信処理を、前記送信パケットのミラー設定を解除する処理の完了後に実行させることを特徴とする請求項1に記載のポート切替プログラム。
  3. 前記第2ミラー切替通知には、他のパケットよりも高い優先度が設定され、かつ、当該第2ミラー切替通知の直前に前記移行先ポートから送信されたパケットの送信順序を示す所定の番号が含まれており、
    前記コンピュータに、
    前記移行先ポートからの受信パケットのミラー設定を解除した場合でも、前記第2ミラー切替通知よりも後に受信された受信パケットのうち、前記移行先ポートから送信された送信順序を示す番号が前記所定の番号以下である受信パケットのミラーリングを行う、処理を実行させることを特徴とする請求項1または2に記載のポート切替プログラム。
  4. コンピュータに、
    移行元ポートを有する仮想スイッチからの移行先ポートにおけるミラー設定の変更を要求する第1ミラー切替通知に応じて、前記移行先ポートにおける前記移行元ポートからの受信パケットのミラー設定を行い、
    前記受信パケットのミラー設定が行われたことに応じて、前記仮想スイッチに対して前記移行先ポートにおけるミラー設定の変更を示す第2ミラー切替通知を送信するとともに、前記移行先ポートにおける前記移行元ポートへの送信パケットのミラー設定を行う、
    処理を実行させることを特徴とするポート切替プログラム。
  5. 前記コンピュータに、
    前記第2ミラー切替通知の次に前記移行先ポートから送信されるパケットの送信処理を、前記送信パケットのミラー設定を行う処理の完了後に実行させることを特徴とする請求項4に記載のポート切替プログラム。
  6. 前記第1ミラー切替通知には、他のパケットよりも高い優先度が設定され、かつ、当該第1ミラー切替通知の直前に前記移行元ポートから送信されたパケットの送信順序を示す所定の番号が含まれており、
    前記コンピュータに、
    前記移行元ポートからの受信パケットのミラー設定を行った場合でも、前記第1ミラー切替通知よりも後に受信された受信パケットのうち、前記移行元ポートから送信された送信順序を示す番号が前記所定の番号以下である受信パケットをミラーリング対象から除外する、ことを特徴とする請求項4または5に記載のポート切替プログラム。
  7. コンピュータが、
    移行元ポートと移行先ポートとを特定するミラー切替指示に応じて、前記移行先ポートを有する仮想スイッチに対して前記移行先ポートにおけるミラー設定の変更を要求する第1ミラー切替通知を送信するとともに、前記移行元ポートにおける前記移行先ポートへの送信パケットのミラー設定を解除し、
    前記仮想スイッチからの前記移行先ポートにおけるミラー設定の変更を示す第2ミラー切替通知に応じて、前記移行元ポートにおける前記移行先ポートからの受信パケットのミラー設定を解除する、
    処理を実行することを特徴とするポート切替方法。
  8. コンピュータが、
    移行元ポートを有する仮想スイッチからの移行先ポートにおけるミラー設定の変更を要求する第1ミラー切替通知に応じて、前記移行先ポートにおける前記移行元ポートからの受信パケットのミラー設定を行い、
    前記受信パケットのミラー設定が行われたことに応じて、前記仮想スイッチに対して前記移行先ポートにおけるミラー設定の変更を示す第2ミラー切替通知を送信するとともに、前記移行先ポートにおける前記移行元ポートへの送信パケットのミラー設定を行う、
    処理を実行することを特徴とするポート切替方法。
  9. 移行元ポートと移行先ポートとを特定するミラー切替指示に応じて、前記移行先ポートを有する仮想スイッチに対して前記移行先ポートにおけるミラー設定の変更を要求する第1ミラー切替通知を送信するとともに、前記移行元ポートにおける前記移行先ポートへの送信パケットのミラー設定を解除し、
    前記仮想スイッチからの前記移行先ポートにおけるミラー設定の変更を示す第2ミラー切替通知に応じて、前記移行元ポートにおける前記移行先ポートからの受信パケットのミラー設定を解除する、
    制御部を有することを特徴とする情報処理装置。
  10. 移行元ポートを有する仮想スイッチからの移行先ポートにおけるミラー設定の変更を要求する第1ミラー切替通知に応じて、前記移行先ポートにおける前記移行元ポートからの受信パケットのミラー設定を行い、
    前記受信パケットのミラー設定が行われたことに応じて、前記仮想スイッチに対して前記移行先ポートにおけるミラー設定の変更を示す第2ミラー切替通知を送信するとともに、前記移行先ポートにおける前記移行元ポートへの送信パケットのミラー設定を行う、
    制御部を有することを特徴とする情報処理装置。
JP2017005442A 2017-01-16 2017-01-16 ポート切替プログラム、ポート切替方法、および情報処理装置 Active JP6740911B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2017005442A JP6740911B2 (ja) 2017-01-16 2017-01-16 ポート切替プログラム、ポート切替方法、および情報処理装置
PCT/JP2018/000119 WO2018131547A1 (ja) 2017-01-16 2018-01-05 ポート切替プログラム、ポート切替方法、および情報処理装置
US16/448,115 US11265266B2 (en) 2017-01-16 2019-06-21 Computer-readable recording medium recording port switching program and port switching method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017005442A JP6740911B2 (ja) 2017-01-16 2017-01-16 ポート切替プログラム、ポート切替方法、および情報処理装置

Publications (2)

Publication Number Publication Date
JP2018117193A true JP2018117193A (ja) 2018-07-26
JP6740911B2 JP6740911B2 (ja) 2020-08-19

Family

ID=62839410

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017005442A Active JP6740911B2 (ja) 2017-01-16 2017-01-16 ポート切替プログラム、ポート切替方法、および情報処理装置

Country Status (3)

Country Link
US (1) US11265266B2 (ja)
JP (1) JP6740911B2 (ja)
WO (1) WO2018131547A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11606313B2 (en) 2020-08-04 2023-03-14 Fujitsu Limited Network switch, non-transitory computer-readable storage medium, and control method
CN117294533A (zh) * 2023-11-24 2023-12-26 华信咨询设计研究院有限公司 一种基于云化环境的网络流量采集方法及系统

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7003562B2 (ja) * 2017-10-16 2022-01-20 富士通株式会社 ミラーパケット制御プログラム、ミラーパケット制御方法、およびミラーパケット制御装置
JP7104317B2 (ja) * 2018-08-09 2022-07-21 富士通株式会社 ミラーパケット転送プログラム及びミラーパケット転送方法
CN109450701B (zh) * 2018-12-07 2020-04-17 北京金山云网络技术有限公司 一种虚拟交换机切换方法、装置、宿主机及计算机可读存储介质
CN116366536A (zh) * 2019-02-18 2023-06-30 中兴通讯股份有限公司 一种链路聚合端口切换方法、网络设备和计算机存储介质
US11012365B2 (en) * 2019-09-27 2021-05-18 Intel Corporation Changing a time sensitive networking schedule implemented by a softswitch
CN111224899A (zh) * 2019-10-31 2020-06-02 北京浪潮数据技术有限公司 一种虚拟端口的流量镜像方法、装置、设备及介质
US11722436B2 (en) * 2021-08-24 2023-08-08 International Business Machines Corporation Transport control word architecture for physical port mirroring
CN114024922B (zh) * 2022-01-06 2022-06-07 北京国科天迅科技有限公司 一种针对光纤交换机的镜像端口冗余处理方法及装置
CN115499298B (zh) * 2022-11-15 2023-02-28 济南浪潮数据技术有限公司 一种虚拟机热迁移方法、装置、设备及介质
CN116662016B (zh) * 2023-07-25 2023-10-20 太平金融科技服务(上海)有限公司 端口切换方法、装置、计算机设备、存储介质和程序产品

Family Cites Families (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6192514B1 (en) * 1997-02-19 2001-02-20 Unisys Corporation Multicomputer system
WO2001043354A2 (en) * 1999-12-07 2001-06-14 Broadcom Corporation Mirroring in a stacked network switch configuration
JP4718851B2 (ja) * 2004-05-10 2011-07-06 株式会社日立製作所 ストレージシステムにおけるデータ移行
JP4438582B2 (ja) * 2004-09-22 2010-03-24 株式会社日立製作所 データ移行方法
JP2007140699A (ja) * 2005-11-15 2007-06-07 Hitachi Ltd 計算機システム及びストレージ装置と管理サーバ並びに通信制御方法
TW200737843A (en) * 2006-03-31 2007-10-01 Hon Hai Prec Ind Co Ltd Network device and method for mirroring packets
US20080031259A1 (en) * 2006-08-01 2008-02-07 Sbc Knowledge Ventures, Lp Method and system for replicating traffic at a data link layer of a router
US20090006793A1 (en) * 2007-06-30 2009-01-01 Koichi Yamada Method And Apparatus To Enable Runtime Memory Migration With Operating System Assistance
JP4945363B2 (ja) * 2007-07-30 2012-06-06 株式会社日立製作所 バックエンドで接続されるストレージシステム
JP4498406B2 (ja) 2007-11-21 2010-07-07 株式会社東芝 ネットワーク仮想化システム、中継装置、およびプログラム
JP2009146106A (ja) * 2007-12-13 2009-07-02 Hitachi Ltd 物理的な通信ポートに付加される仮想的な通信ポートを移行する機能を有したストレージシステム
JP4774085B2 (ja) * 2008-07-31 2011-09-14 富士通株式会社 ストレージシステム
JP2010114665A (ja) * 2008-11-06 2010-05-20 Toshiba Corp 通信データ制御方法及び計算機システム
WO2010086907A1 (ja) * 2009-02-02 2010-08-05 富士通株式会社 パケットキャプチャシステム、パケットキャプチャ方法、情報処理装置およびプログラム
JP5717164B2 (ja) * 2009-10-07 2015-05-13 日本電気株式会社 コンピュータシステム、及びコンピュータシステムのメンテナンス方法
JP5347982B2 (ja) * 2010-01-18 2013-11-20 富士通株式会社 仮想ネットワーク制御プログラム、仮想ネットワーク制御方法および管理装置
US8412863B2 (en) * 2010-10-19 2013-04-02 Hitachi, Ltd. Storage apparatus and virtual port migration method for storage apparatus
US8762668B2 (en) * 2010-11-18 2014-06-24 Hitachi, Ltd. Multipath switching over multiple storage systems
US8473703B2 (en) * 2011-02-23 2013-06-25 Hitachi, Ltd. Storage system and management method of the storage system
JP5860462B2 (ja) * 2011-03-02 2016-02-16 株式会社日立製作所 計算機システム及びデータ移行方法
US9674074B2 (en) * 2011-04-08 2017-06-06 Gigamon Inc. Systems and methods for stopping and starting a packet processing task
US8635391B2 (en) * 2011-05-11 2014-01-21 Hitachi, Ltd. Systems and methods for eliminating single points of failure for storage subsystems
JP5776600B2 (ja) * 2011-09-05 2015-09-09 富士通株式会社 データ中継装置、データ中継プログラムおよびデータ中継方法
WO2013190590A1 (en) * 2012-06-18 2013-12-27 Hitachi, Ltd. Computer system and data migration method
JP2014007681A (ja) * 2012-06-27 2014-01-16 Hitachi Ltd ネットワークシステム、および、その管理装置、そのスイッチ
US9298388B2 (en) * 2012-07-26 2016-03-29 Hitachi, Ltd. Computer system, data management apparatus, and data management method
JP5971057B2 (ja) * 2012-09-27 2016-08-17 富士通株式会社 ストレージ装置、設定方法および設定プログラム
WO2014155673A1 (ja) * 2013-03-29 2014-10-02 株式会社日立製作所 テスト環境管理装置及びテスト環境構築方法
US10275276B2 (en) * 2013-08-19 2019-04-30 International Business Machines Corporation Migrating jobs from a source server from which data is migrated to a target server to which the data is migrated
US9401853B2 (en) * 2013-09-24 2016-07-26 International Business Machines Corporation Determining sampling rate from randomly sampled events
JP6095583B2 (ja) * 2014-01-09 2017-03-15 アラクサラネットワークス株式会社 データ転送装置システム及びネットワークシステム
US9311012B2 (en) * 2014-02-19 2016-04-12 Hitachi, Ltd. Storage system and method for migrating the same
JP6248763B2 (ja) * 2014-03-31 2017-12-20 富士通株式会社 キャプチャポイント決定方法、キャプチャポイント決定システムおよびキャプチャポイント決定プログラム
EP3221788A1 (en) * 2014-11-21 2017-09-27 Telefonaktiebolaget LM Ericsson (publ) Monitoring of virtual machines in a data center
US9672054B1 (en) * 2014-12-05 2017-06-06 Amazon Technologies, Inc. Managing virtual machine migration
US9372631B1 (en) * 2014-12-24 2016-06-21 Infinidat Ltd. Managing volume updates received during an execution of a volume migration process
JP6251205B2 (ja) 2015-02-13 2017-12-20 日本電信電話株式会社 モニタリング装置、モニタリング方法およびモニタリングプログラム
US9792138B2 (en) * 2015-02-18 2017-10-17 Red Hat Israel, Ltd. Virtual machine migration to hyper visors with virtual function capability
JP6500677B2 (ja) * 2015-07-27 2019-04-17 富士通株式会社 パケット取得方法、分析装置、中継装置及びプログラム
US9830105B1 (en) * 2015-12-21 2017-11-28 EMC IP Holding Company LLC Migrating data objects together with their snaps
US11121946B2 (en) * 2016-12-09 2021-09-14 Nicira, Inc. Capturing packets in a virtual switch

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11606313B2 (en) 2020-08-04 2023-03-14 Fujitsu Limited Network switch, non-transitory computer-readable storage medium, and control method
CN117294533A (zh) * 2023-11-24 2023-12-26 华信咨询设计研究院有限公司 一种基于云化环境的网络流量采集方法及系统
CN117294533B (zh) * 2023-11-24 2024-04-02 华信咨询设计研究院有限公司 一种基于云化环境的网络流量采集方法及系统

Also Published As

Publication number Publication date
US11265266B2 (en) 2022-03-01
JP6740911B2 (ja) 2020-08-19
WO2018131547A1 (ja) 2018-07-19
US20190306084A1 (en) 2019-10-03

Similar Documents

Publication Publication Date Title
JP6740911B2 (ja) ポート切替プログラム、ポート切替方法、および情報処理装置
JP6871957B2 (ja) エミュレートされたエンドポイントコンフィグレーション
US10924433B2 (en) Mirror packet control method and mirror packet control device
US9742671B2 (en) Switching method
US9916147B2 (en) Deployment of a tool for testing migrated applications
KR101196547B1 (ko) 결정론적 sas 검색 및 구성을 위한 방법
US6636908B1 (en) I/O system supporting extended functions and method therefor
US6735636B1 (en) Device, system, and method of intelligently splitting information in an I/O system
US10657232B2 (en) Information processing apparatus and method of controlling information processing apparatus
US20190132260A1 (en) Packet control method and packet control device
US8804543B2 (en) Test method for network system
CN114265666B (zh) 一种网络靶场数据采集系统及方法
US10097658B2 (en) Traffic control of packet transfer
JP6708007B2 (ja) ミラーパケット制御プログラム、ミラーパケット制御方法およびミラーパケット制御装置
US11487466B2 (en) Information processing apparatus reading data using host physcal address and guest physical address and computer-readable recording medium recording control program reading data using host physical address and guest physical address
US9436653B2 (en) Shared-bandwidth multiple target remote copy
US20180253371A1 (en) Resuming a remote debugging session using a backup node
US9733871B1 (en) Sharing virtual tape volumes between separate virtual tape libraries
CN114172789A (zh) 虚拟设备链路探测方法、装置、设备及存储介质
KR101499668B1 (ko) 가상 실행 환경에서 네트워크 프레임을 전달하기 위한 장치 및 방법
US10887251B2 (en) Fault-tolerant architecture for packet capture
US10452408B1 (en) System and method for intercepting data flow between a computer process and a file
US20190149448A1 (en) Network monitoring apparatus and network monitoring method
JP5698280B2 (ja) 仮想化装置、通信方法、およびプログラム
WO2019042005A1 (zh) 一种虚拟机的热迁移方法、装置和系统

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191008

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200623

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200706

R150 Certificate of patent or registration of utility model

Ref document number: 6740911

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150