JP2020113836A - 情報処理装置、情報処理システム、および設定プログラム - Google Patents

情報処理装置、情報処理システム、および設定プログラム Download PDF

Info

Publication number
JP2020113836A
JP2020113836A JP2019001762A JP2019001762A JP2020113836A JP 2020113836 A JP2020113836 A JP 2020113836A JP 2019001762 A JP2019001762 A JP 2019001762A JP 2019001762 A JP2019001762 A JP 2019001762A JP 2020113836 A JP2020113836 A JP 2020113836A
Authority
JP
Japan
Prior art keywords
packet
port
node
switch
monitoring
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
JP2019001762A
Other languages
English (en)
Other versions
JP7152665B2 (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 JP2019001762A priority Critical patent/JP7152665B2/ja
Priority to US16/715,522 priority patent/US10999178B2/en
Publication of JP2020113836A publication Critical patent/JP2020113836A/ja
Application granted granted Critical
Publication of JP7152665B2 publication Critical patent/JP7152665B2/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
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4604LAN interconnection over a backbone network, e.g. Internet, Frame Relay
    • H04L12/462LAN interconnection over a bridge based backbone
    • H04L12/4625Single bridge functionality, e.g. connection of two networks over a single bridge
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1886Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with traffic restrictions for efficiency improvement, e.g. involving subnets or subdomains
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • H04L12/4675Dynamic sharing of VLAN information amongst network nodes
    • H04L12/4679Arrangements for the registration or de-registration of VLAN attribute values, e.g. VLAN identifiers, port VLAN membership
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/12Network monitoring probes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/20Arrangements for monitoring or testing data switching networks the monitoring system or the monitored elements being virtualised, abstracted or software-defined entities, e.g. SDN or NFV
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5069Address allocation for group communication, multicast communication or broadcast communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/618Details of network addresses
    • H04L2101/622Layer-2 addresses, e.g. medium access control [MAC] addresses

Abstract

【課題】ミラーパケットの送信設定を容易に行えるようにする。【解決手段】情報処理装置4は、ミラーリング設定要求を受信すると、検出パケット5aをブロードキャストで送信する。情報処理装置4は、検出パケット5aに対する応答パケット6bを監視ノード3から受信した場合、ネットワークインタフェース4aに接続されたスイッチ2aにおける応答パケット6bの受信ポートがローカルポートかアップリンクポートかの状態を判定する。次に情報処理装置4は、応答パケット6bの有無と受信ポートの状態とに基づいて、自装置と監視ノード3との間のネットワーク1上の接続関係を判定する。そして情報処理装置4は、判定した接続関係に基づいて、複数のスイッチ2a,2b,・・・の少なくとも一部に対して、仮想マシン4fの通信パケットをコピーしたミラーパケットの監視ノード3への送信設定を行う。【選択図】図1

Description

本発明は、情報処理装置、情報処理システム、および設定プログラムに関する。
コンピュータネットワークでは、ネットワークを介して通信されたパケットをキャプチャすることで、通信状況を把握することができる。パケットのキャプチャには、例えばスイッチのポートミラーリング機能を利用することができる。ポートミラーリングとは、監視対象のコンピュータが接続されたポートに入出力されたパケットのコピー(ミラーパケット)を、監視を行うコンピュータが接続されたポートに出力することである。
また、コンピュータネットワークでは、コンピュータリソースの仮想化が進んでおり、監視対象のコンピュータが仮想マシン(VM:Virtual Machine)の場合もある。VMへの入出力パケットをキャプチャする場合、例えば仮想スイッチにポートミラーリングの設定を行うことよって、ミラーパケットを、他の監視用のVMに送信することができる。
なお、1台の物理マシンで動作する複数のVMは、物理マシンに搭載されたネットワークインタフェースカード(NIC)を介して通信を行う。NICの中には、内部に複数の仮想的なNICを生成できるものがある。NIC内での機能の仮想化は、例えばSR−IOV(Single Root I/O Virtualization)の技術を用いて実現できる。仮想的なNICは、VF(Virtual Function)と呼ぶこともある。NICが複数のVFを搭載している場合、複数のVMそれぞれに、例えば1つずつのVFが割り当てられる。VMそれぞれにVFが割り当てられることで、各VMはハイパーバイザを介さずにNIC内のVFを操作し、通信を行うことができる。その結果、仮想化によるオーバヘッドの発生を抑止し、通信の高速化を図ることができる。
監視対象となるVMがハイパーバイザを介さずに通信を行っている場合、そのVMに入出力されるパケットのミラーリングは、仮想スイッチで行うことはできず、ネットワーク上の物理スイッチの機能を用いて行うこととなる。このとき、ミラーパケットを送信先のVMに送信させるためのスイッチへの設定内容は、監視対象のVMと監視用のVMとの位置関係に依存する。例えば監視対象のVMと監視用のVMとが共通のスイッチに直接つながっている場合、管理者は、そのスイッチにポートミラーリングの設定を行えばよい。それに対し、監視対象のVMと監視用のVMとが、スイッチやルータ(レイヤ3スイッチを含む)などの複数の機器を介して接続されている場合、管理者は、より複雑な設定を行うこととなる。例えば管理者は、VLAN(Virtual Local Area Network)の設定またはパケットのカプセル化などの設定を、スイッチに対して行う。VLANは、仮想的なLANセグメントを構築する技術である。
ネットワークの管理技術としては、例えば、レイヤ2スイッチ(L2SW)に代表されるノードと、オープンフロースイッチに代表されるノードとが混在する環境においても、意図した経路に従ったパケット転送を行うことのできる通信システムが提案されている。また接続する仮想ネットワークの種類を検出し、仮想ネットワークへの接続性を向上する通信装置も提案されている。
特表2013−537769号公報 特開2017−46211号公報
ミラーパケットを送信先のVMに送信させるためのスイッチへの設定内容は監視対象のVMと監視用のVMとの位置関係に依存するが、VM間の位置関係を管理者が常に把握するのは困難である。例えばVMを生成する際には、仮想化マネージャによって、その時点で適切な物理マシンが自動で決定され、その物理マシン上にVMが生成される。またVMは、システムのメンテナンスや物理マシンの負荷の均等化などの理由で、マイグレーションによって別の物理マシン上に移動することもある。そのため、管理者は各VMが現在どの物理マシンで動作しているのかを把握できず、監視対象のVMと監視用のVMとの位置関係も分からない。その結果、管理者によるスイッチへのミラーパケットの送信設定が困難となっている。
1つの側面では、本件は、ミラーパケットの送信設定を容易に行えるようにすることを目的とする。
1つの案では、ネットワークインタフェースと、記憶部と、処理部とを有する情報処理装置が提供される。
ネットワークインタフェースは、ネットワークに含まれる複数のスイッチのうちの一スイッチに接続されている。記憶部は、一スイッチのポートごとの、ポート経由で接続された機器に付与されたノード識別子を示すノード識別子情報、およびポートそれぞれがローカルポートかアップリンクポートかの状態を示す状態情報を記憶する。処理部は、自装置上で動作している仮想マシンの通信パケットのミラーリング設定要求を受信すると、パケットの監視機能を有する監視ノードを検出するための検出パケットを、ネットワークインタフェースを介してブロードキャストで送信する。処理部は、検出パケットに対する応答パケットを監視ノードから受信した場合、監視ノードのノード識別子、ノード識別子情報、および状態情報に基づいて、一スイッチにおける応答パケットの受信ポートがローカルポートかアップリンクポートかの状態を判定する。さらに処理部は、応答パケットの有無と受信ポートの状態とに基づいて、自装置と監視ノードとの間のネットワーク上の接続関係を判定する。そして処理部は、判定した接続関係に基づいて、複数のスイッチの少なくとも一部に対して、仮想マシンの通信パケットをコピーしたミラーパケットの監視ノードへの送信設定を行う。
1態様によれば、ミラーパケットの送信設定が容易となる。
第1の実施の形態に係るミラーパケットの送信設定方法の一例を示す図である。 第2の実施の形態のシステム構成の一例を示す図である。 ノードのハードウェアの一構成例を示す図である。 監視用のVMと監視対象のVMとの位置関係の例を示す図である。 ノードが有する機能の一例を示すブロック図である。 スイッチ情報記憶部が記憶する情報の一例を示す図である。 ミラーリング設定のための連係動作の一例を示すシーケンス図である。 ミラーリング設定処理の手順の一例を示すフローチャートである。 ミラーリングの第1の設定例を示す図である。 ミラーリングの第2の設定例を示す図である。 ミラーリングの第3の設定例を示す図である。 GREパケットのフォーマットの一例を示す図である。
以下、本実施の形態について図面を参照して説明する。なお各実施の形態は、矛盾のない範囲で複数の実施の形態を組み合わせて実施することができる。
〔第1の実施の形態〕
まず第1の実施の形態について説明する。第1の実施の形態は、ミラーパケットの送信設定を容易に行える情報処理システムである。
図1は、第1の実施の形態に係るミラーパケットの送信設定方法の一例を示す図である。図1には、ネットワーク1内のスイッチ2a,2b,・・・へのミラーパケットの送信設定方法を、ネットワーク1に接続された監視ノード3と情報処理装置4とで実施した場合の例を示している。監視ノード3と情報処理装置4とは、それぞれ例えばミラーパケットの送信設定のために各装置が実行する処理の処理手順が記述されたプログラムを実行することにより、ミラーパケットの送信設定方法を実施することができる。
ミラーパケットの送信設定方法を実現するために、監視ノード3は処理部3aを有し、情報処理装置4はネットワークインタフェース4aと記憶部4bと処理部4eとを有する。監視ノード3の処理部3aは、例えば監視ノード3が有するプロセッサ、または演算回路である。情報処理装置4の記憶部4bは、例えば情報処理装置4が有するメモリ、またはストレージ装置である。情報処理装置4の処理部4eは、例えば情報処理装置4が有するプロセッサ、または演算回路である。
監視ノード3は、ネットワーク1上の通信パケットの監視機能を有し、監視機能を有するノードを検出するための検出パケット5aを受信すると、検出パケット5aに対する応答パケット6bを送信する。例えば監視ノード3の処理部3aは、通信パケットの監視用の仮想マシン3bを実行する。
情報処理装置4の処理部4eは、監視対象となる仮想マシン4fを実行している。またネットワークインタフェース4a内には、仮想的なネットワークインタフェースとして機能するVF4gが設けられている。仮想マシン4fは、処理部4eのハイパーバイザなどの管理機能を介さずに、VF4gを直接制御して、ネットワーク1を介した通信を行う。
記憶部4bは、ノード識別子情報4cと状態情報4dとを記憶する。ノード識別子情報4cは、スイッチ2aのポートごとの、ポート経由で接続された機器に付与されたノード識別子を示す。ノード識別子は、例えば通信機器のMAC(Media Access Control address)アドレスである。状態情報4dは、ノード識別子情報4c、およびポートそれぞれがローカルポートかアップリンクポートかの状態を示す。
仮想マシン4fに入出力される通信パケットを監視する場合、システムの管理者は、情報処理装置4に対して、自装置上で動作している仮想マシン4fの通信パケットのミラーリング設定要求を入力する。処理部4eは、ミラーリング設定要求を受信すると、パケットの監視機能を有する監視ノード3を検出するための検出パケット5aを、ネットワークインタフェース4aを介してブロードキャストで送信する。例えばブロードキャストフレーム5によって、検出パケット5aが送信される。ブロードキャストフレーム5は、情報処理装置4と同じセグメント内の機器それぞれに対して送信される。
監視ノード3が情報処理装置4と同じセグメント内に接続されていれば、ブロードキャストフレーム5は、監視ノード3に到達する。監視ノード3が情報処理装置4と別のセグメント内に接続されていれば、ブロードキャストフレーム5は、監視ノード3まで到達しない。
監視ノード3の処理部3aは、ブロードキャストフレーム5によって転送された検出パケット5aを受信すると、検出パケット5aに対する応答を行う。例えば処理部3aは、検出パケット5aの送信元である情報処理装置4に対して、応答パケット6bを送信する。応答パケット6bの送信用のフレーム6には、送信元ノード識別子6aとして監視ノード3のノード識別子が含まれる。
情報処理装置4の処理部4eは、検出パケット5aに対する応答パケット6bを含むフレーム6が監視ノード3から送信されると、フレーム6によって転送された応答パケット6bを受信する。処理部4eは、応答パケット6bを受信した場合、監視ノード3のノード識別子、ノード識別子情報4c、および状態情報4dに基づいて、スイッチ2aにおける応答パケット6bの受信ポートがローカルポートかアップリンクポートかの状態を判定する。例えば処理部4eは、ノード識別子情報4cを参照し、応答パケット6bの送信元ノード識別子6aに対応するポート番号を取得する。次に処理部4eは、状態情報4dを参照し、取得したポート番号に対応するポートの状態を取得する。
処理部4eは、応答パケット6bの有無と受信ポートの状態とに基づいて、自装置と監視ノード3との間のネットワーク1上の接続関係を判定する。例えば処理部4eは、応答パケット6bを受信しており、受信ポートがローカルポートの場合、監視ノード3が、情報処理装置4と同一のスイッチ2aに接続されていると判定する。また処理部4eは、応答パケット6bを受信しており、受信ポートがアップリンクポートの場合、監視ノード3が2以上のスイッチを介して、情報処理装置4と同一セグメント内に接続されていると判定する。さらに処理部4eは、応答パケット6bが受信できない場合、監視ノード3がルータを介して接続されていると判定する。
処理部4eは、判定した接続関係に基づいて、複数のスイッチ2a,2b,・・・の少なくとも一部に対して、仮想マシン4fの通信パケットをコピーしたミラーパケットの監視ノード3への送信設定を行う。例えば処理部4eは、同一スイッチに接続されていると判定した場合、ネットワークインタフェース4aに接続されたスイッチ2aに、ポートミラーリングの設定を行う。また処理部4eは、2以上のスイッチを介して同一セグメントに接続されていると判定した場合、ネットワークインタフェース4aに接続されたスイッチ2aと監視ノード3が接続されたスイッチとに、VLANによるミラーリングの設定を行う。さらに処理部4eは、別セグメントに接続されていると判定した場合、カプセル化してミラーパケットを転送する設定を行う。
このようにして、情報処理装置4は、監視ノード3との間の接続関係を自動認識し、接続関係に応じた適切なミラーリング設定をスイッチに対して行うことができる。その結果、ミラーリングの設定が容易となるとともに、スイッチに係る負荷を抑止できる。例えば、接続関係を無視し、すべての場合においてカプセル化によるミラーパケットの送信設定を行うと、ミラーパケットを送信するためのスイッチの負荷が過大となる。それに対して、情報処理装置4と監視ノード3とが同一スイッチに接続されている場合、処理部4eは、そのスイッチに対するポートミラーリングによるミラーパケットの送信設定を行う。ポートミラーリングは、スイッチ内の電子回路によって実現することができ、パケットのミラーリングのためのスイッチの負荷は、カプセル化に比べて少なくて済む。同様に、情報処理装置4と監視ノード3とが同一セグメントに接続されている場合、処理部4eは、VLANによるミラーパケットの送信設定を行う。VLANによるパケットの管理は、パケットのカプセル化に比べて単純であり、パケットのミラーリングのためのスイッチの負荷は少なくて済む。
〔第2の実施の形態〕
次に第2の実施の形態について説明する。
図2は、第2の実施の形態のシステム構成の一例を示す図である。コンピュータネットワークには、例えば複数のノード100,200,300,400,500および端末装置31が、スイッチ41〜44およびルータ45を介して接続されている。図2の例では、ノード100,200,300と端末装置31とはスイッチ41に接続されている。ノード400はスイッチ43に接続されている。ノード500はスイッチ44に接続されている。
スイッチ41〜43は、カスケード接続されている。カスケード接続は、複数のスイッチ41〜43を階層的に接続する接続形態である。複数のスイッチ41〜43をカスケード接続することで、ネットワークに収容する機器の台数を増やすことができる。図2の例では、スイッチ42の下位にスイッチ41,43が接続されている。
上位のスイッチ42において、下位のスイッチ41,43と接続するためのケーブルは、ローカルポートに接続される。それに対し、下位のスイッチ41,43において、上位のスイッチ42と接続するためのケーブルは、アップリンクポートに接続される。ローカルポートは、ノード100,200,300,400,500、ルータ45、端末装置31のような機器を接続するための通信ポートである。アップリンクポートは、上位のスイッチに接続するための通信ポートである。
カスケード接続されたスイッチ41〜43に接続された機器は、ネットワーク上、同一のセグメントに属する。同一セグメント内の機器同士の接続を、L2接続と呼ぶこともある。他方、スイッチ42とスイッチ44とは、ルータ45を介して接続されている。この場合、スイッチ41〜43に接続された機器とスイッチ44に接続された機器とは、別のセグメントに属する。機器同士のルータ45またはL3スイッチを介した接続を、L3接続と呼ぶこともある。
このようなコンピュータネットワークにおいて、管理者30は、例えば端末装置31を用いて、いずれかのノードに、VMの通信監視用のVMを生成することができる。このとき管理者30は、監視対象のVMに入出力されるパケットのコピー(ミラーパケット)を監視用のVMに送信するように、スイッチ41〜43の設定指示を入力する。管理者30からのミラーパケットの送信指示の入力があると、各ノード100,200,300,400,500が連係動作することで、その指示に従ってミラーパケットが送信されるように、スイッチ41〜44に対する設定を行う。
図3は、ノードのハードウェアの一構成例を示す図である。ノード100は、プロセッサ101によって装置全体が制御されている。プロセッサ101には、バス109を介してメモリ102と複数の周辺機器が接続されている。プロセッサ101は、マルチプロセッサであってもよい。プロセッサ101は、例えばCPU(Central Processing Unit)、MPU(Micro Processing Unit)、またはDSP(Digital Signal Processor)である。プロセッサ101がプログラムを実行することで実現する機能の少なくとも一部を、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)などの電子回路で実現してもよい。
メモリ102は、ノード100の主記憶装置として使用される。メモリ102には、プロセッサ101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、メモリ102には、プロセッサ101による処理に利用する各種データが格納される。メモリ102としては、例えばRAM(Random Access Memory)などの揮発性の半導体記憶装置が使用される。
バス109に接続されている周辺機器としては、ストレージ装置103、グラフィック処理装置104、入力インタフェース105、光学ドライブ装置106、機器接続インタフェース107およびNIC108がある。
ストレージ装置103は、内蔵した記録媒体に対して、電気的または磁気的にデータの書き込みおよび読み出しを行う。ストレージ装置103は、コンピュータの補助記憶装置として使用される。ストレージ装置103には、OSのプログラム、アプリケーションプログラム、および各種データが格納される。なお、ストレージ装置103としては、例えばHDD(Hard Disk Drive)やSSD(Solid State Drive)を使用することができる。
グラフィック処理装置104には、モニタ21が接続されている。グラフィック処理装置104は、プロセッサ101からの命令に従って、画像をモニタ21の画面に表示させる。モニタ21としては、有機EL(Electro Luminescence)を用いた表示装置や液晶表示装置などがある。
入力インタフェース105には、キーボード22とマウス23とが接続されている。入力インタフェース105は、キーボード22やマウス23から送られてくる信号をプロセッサ101に送信する。なお、マウス23は、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
光学ドライブ装置106は、レーザ光などを利用して、光ディスク24に記録されたデータの読み取りを行う。光ディスク24は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク24には、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。
機器接続インタフェース107は、ノード100に周辺機器を接続するための通信インタフェースである。例えば機器接続インタフェース107には、メモリ装置25やメモリリーダライタ26を接続することができる。メモリ装置25は、機器接続インタフェース107との通信機能を搭載した記録媒体である。メモリリーダライタ26は、メモリカード27へのデータの書き込み、またはメモリカード27からのデータの読み出しを行う装置である。メモリカード27は、カード型の記録媒体である。
NIC108は、スイッチ41に接続されている。NIC108は、スイッチ41を介して、他のノード200,300,400,500、または端末装置31との間でデータの送受信を行う。またNIC108は、SR−IOVを実現する機能を有しており、内部に複数の仮想的なNIC(VF)を生成することができる。
ノード100は、以上のようなハードウェアによって、第2の実施の形態の処理機能を実現することができる。他のノード200,300,400,500、および端末装置31も、ノード100と同様のハードウェアにより実現することができる。また、第1の実施の形態に示した監視ノード3および情報処理装置4も、ノード100と同様のハードウェアにより実現することができる。
ノード100は、例えばコンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、第2の実施の形態の処理機能を実現する。ノード100に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。例えば、ノード100に実行させるプログラムをストレージ装置103に格納しておくことができる。プロセッサ101は、ストレージ装置103内のプログラムの少なくとも一部をメモリ102にロードし、プログラムを実行する。またノード100に実行させるプログラムを、光ディスク24、メモリ装置25、メモリカード27などの可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、例えばプロセッサ101からの制御により、ストレージ装置103にインストールされた後、実行可能となる。またプロセッサ101が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。ノード200,300,400,500、および端末装置31も、ノード100と同様に、コンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、第2の実施の形態の処理機能を実現する。
上記のように、各ノード100,200,300,400,500が有するNICは、内部にVFを生成することができる。この場合、ノード100,200,300,400,500上で動作するVMは、各ノード100,200,300,400,500のハイパーバイザを介さずに、直接VFを操作し、ネットワークを介した通信を行う。VMがノード100,200,300,400,500のハイパーバイザを介さずに通信が行われるため、ハイパーバイザ上で提供される機能(例えば仮想スイッチ)を用いたパケットキャプチャを行うことはできない。そこで特定のVMに入出力されるパケットのキャプチャを行う場合、管理者30は、スイッチ41〜44に対してパケットのミラーリングの設定を行うこととなる。
スイッチ41〜44に対するパケットのミラーリングの設定内容は、モニタVMと管理対象のVMとの位置関係に依存する。
図4は、監視用のVMと監視対象のVMとの位置関係の例を示す図である。ノード100では、OS110およびVM120,130が動作している。ノード100のNIC108は、内部に仮想的なNICとして動作するVF108a,108bを有している。VM120,130それぞれに1つずつのVF108a,108bが割り当てられている。VM120は、割り当てられたVF108aをネットワークインタフェース(eth0)として認識し、VF108aを制御して通信を行う。VM130は、割り当てられたVF108bをネットワークインタフェース(eth0)として認識し、VF108bを制御して通信を行う。
ノード200では、OS210およびVM220が動作している。ノード200のNIC208は、内部に仮想的なNICとして動作するVF208aを有している。VM220は、VF208aをネットワークインタフェース(eth0)として認識し、VF208aを制御して通信を行う。
ノード400では、OS410およびVM420が動作している。ノード400のNIC408は、内部に仮想的なNICとして動作するVF408aを有している。VM420は、VF408aをネットワークインタフェース(eth0)として認識し、VF408aを制御して通信を行う。
ノード500では、OS510およびVM520が動作している。ノード500のNIC508は、内部に仮想的なNICとして動作するVF508aを有している。VM520は、VF508aをネットワークインタフェース(eth0)として認識し、VF508aを制御して通信を行う。
図4の例では、VM120が監視用のVM(モニタ)である。このとき、監視対象がVM130であれば、VM130が送受信したパケットのミラーパケット51は、スイッチ41を介して、VM120に送信される。監視対象がVM220であれば、VM220が送受信したパケットのミラーパケット52は、スイッチ41を介して、VM120に送信される。監視対象がVM420であれば、VM420が送受信したパケットのミラーパケット53は、スイッチ41〜43を介して、VM120に送信される。監視対象がVM520であれば、VM520が送受信したパケットのミラーパケット54は、スイッチ41,42,44、およびルータ45を介して、VM120に送信される。
ミラーパケット51,52のように、1つのスイッチ41のみを経由したミラーパケット51,52の送信は、スイッチ41へのパケットミラーリングの設定によって実現できる。ミラーパケット53のように、同一セグメント内の複数のスイッチ41〜43を経由したミラーパケット53の送信は、スイッチ41,43への、ミラーパケット送信用のVLANの設定により実現できる。ミラーパケット54のように、ルータ45またはL3スイッチを経由したミラーパケット54の送信は、スイッチ44に対するミラーパケットのカプセル化の設定により実現できる。
このように、監視用のVM120と監視対象のVM130,220,420,520とのネットワーク上の位置関係により、スイッチ41〜43への設定内容が異なる。なお、すべてのミラーパケット51〜54をカプセル化して送信することも可能ではあるが、すべてのミラーパケット51〜54をカプセル化してしまうと、スイッチ41〜44の処理負荷が過大となる。換言すると、監視用のVM120と監視対象のVM130,220,420,520とのネットワーク上の位置関係に応じて、適切なスイッチ41〜44の設定を行うことで、パケットミラーリングのためのスイッチ41〜44の負荷を軽減することができる。
次に、パケットミラーリングの設定を行うために各ノードが有する機能について説明する。
図5は、ノードが有する機能の一例を示すブロック図である。図5の例では、ノード300にシステムの管理機能が実装されており、ノード100,200にVMを用いたサービス提供機能が実装されている。
システムの管理に用いるノード300は、管理者30が使用する端末装置31からのミラーリング設定要求に従って、ノード100,200のVM120,130,220を管理する。ノード300では、例えばハードウェア300aによりハイパーバイザ300bが実行されている。そしてハイパーバイザ300bによってOS310が実行されている。なおハイパーバイザ300bを用いず、ハードウェア300aでOS310を直接実行してもよい。
OS310は、仮想化マネージャ311とポートミラーマネージャ312とを有する。仮想化マネージャ311は、ノード100,200上で動作するVM120,130,220を管理する。例えば仮想化マネージャ311は、端末装置31から新たなVMの生成が指示されると、負荷の少ないノードに対してVMの生成を指示する。また仮想化マネージャ311は、ノード100,200に対して、VMのマイグレーションを指示することもできる。例えば仮想化マネージャ311は、負荷が過大となったノードに対して、そのノードで動作しているVMの他のノードへのマイグレーションを指示する。
ポートミラーマネージャ312は、特定のVMに対して入出力されるパケットのミラーリングを管理する。例えばポートミラーマネージャ312は、端末装置31から監視対象のVMが指示されると、そのVMを実行しているノードへ、VMに入出力されるパケットのミラーリング設定要求を送信する。
ノード100は、VM120,130によりサービスを提供する。ノード100では、例えばハードウェア100aによりハイパーバイザ100bが実行されている。そしてハイパーバイザ100bによってOS110およびVM120,130が実行されている。例えばハイパーバイザ100bは、ノード300の仮想化マネージャ311からのVM生成指示に応じて、VM120,130を生成する。またハイパーバイザ100bは、仮想化マネージャ311から、監視用のVMの生成指示を受信し、そのVMを生成した場合、そのVMが監視用のVMであることをOS110に通知する。なおVM120,130それぞれは、それぞれに割り当てられたVF108a,108bを直接制御して、OS110やハイパーバイザ100bを経由せずに、ネットワーク20を介した通信を行う。
OS110は、監視用のVMの管理、およびノード100で動作しているVM120,130の通信の管理を行う。例えばOS110は、ノード300のポートミラーマネージャ312からのミラーリング設定要求に従って、VM120,130のうちの指定されたVMに入出力されるパケットのミラーリングの設定を行う。そのためにOS110は、スイッチ情報記憶部111、検出パケット送信部112、検出パケット受信部113、宛先判定部114、およびスイッチ制御部115を有する。
スイッチ情報記憶部111は、ネットワーク20上でパケットを中継するスイッチ41,42,・・・から収集した情報を記憶する。例えばノード100のメモリ102またはストレージ装置103の記憶領域の一部が、スイッチ情報記憶部111として使用される。
検出パケット送信部112は、ポートミラーマネージャ312から特定のVMのパケットのミラーリング設定要求を受信すると、監視機能を有するVM(宛先VM)を検出するための検出パケットを、同一セグメント内にブロードキャストで送信する。例えば検出パケット送信部112は、宛先のMACアドレスのすべてのビットを「1」にしたブロードキャストフレームによって、検出パケットを送信する。検出パケットとしては、例えばARP(Address Resolution Protocol)リクエストを用いることもできる。
検出パケット受信部113は、他のノード200からブロードキャストで送信された検出パケットを受信する。そして検出パケット受信部113は、自身が動作しているノード100上のVMが宛先VMである場合(監視機能を有するVMの場合)、検出パケットの送信元に対して、Ack(肯定応答)を示すパケットを送信する。検出パケットがARPリクエストの場合、検出パケット受信部113はARPリプライを応答する。
宛先判定部114は、検出パケット送信部112が送信した検出パケットに対する応答が、他のノード200から返されたとき、その応答パケットを受信する。そして宛先判定部114は、応答パケットの有無、および直近のスイッチにおける受信した応答パケットの受信ポートの結線の状態に応じて、監視対象のVMとミラーパケットの宛先VMとの位置関係を判定する。なお宛先判定部114は、受信ポートの結線の状態については、スイッチ情報記憶部111に格納されている情報を参照して判断する。
例えば宛先判定部114は、検出パケットのAckが返ってきた場合、Ackのパケットを受信したポートが、直近のスイッチの「ローカルポート」なら、ノード100と同じスイッチに宛先VMが接続されていると判定する。また宛先判定部114は、検出パケットのAckが返ってきた場合、Ackのパケットを受信したポートが、直近のスイッチの「アップリンクポート」なら、宛先VMが、複数のスイッチを跨ってL2接続されていると判定する。さらに宛先判定部114は、検出パケットのAckの待ち時間がタイムアウトとなり、Ackが返ってこなければ、宛先VMが、ルータ45を介してL3接続されていると判定する。
スイッチ制御部115は、スイッチ41,42,・・・を管理する。例えばスイッチ制御部115は、スイッチ41,42,・・・から内部の情報を収集し、スイッチ情報記憶部111に格納する。またスイッチ制御部115は、宛先判定部114による判定結果に基づいて、スイッチ41,42,・・・に対するパケットのミラーリングの設定を行う。
例えばスイッチ制御部115は、宛先VMがノード100と同じスイッチに接続されている場合、そのスイッチに対してポートミラーリングの設定を行う。具体的には、スイッチ制御部115は、宛先VMを有しているノードが接続されたポートをモニタポートとして設定し、監視対象のVMを有しているノード100が接続されたポートをミラーポートとして設定する。
またスイッチ制御部115は、宛先VMが、複数のスイッチを跨ってL2接続されている場合、監視対象のVMを有しているノード100が接続されたスイッチと、宛先VMが接続されたスイッチとに対して、ミラーリング用のVLANを設定する。具体的には、スイッチ制御部115は、監視対象のVMを有しているノード100が接続されたスイッチ41に対して、ノード100が接続されたポートをミラーポートに設定する。さらにスイッチ制御部115は、スイッチ41に対して、ミラーポートに入出力されたパケットのミラーパケットを、ミラーリング用のVLAN_IDを付与してアップリンクポートに送信するように設定する。また、スイッチ制御部115は、宛先VMを有しているノードが接続されたスイッチに対して、ミラーリング用のVLAN_IDを有するVLANのパケットを、そのノードが接続されたポートに送信するように設定する。
さらにスイッチ制御部115は、宛先VMが、ルータ45を介してL3接続されている場合、監視対象のVMを有しているノード100が接続されたスイッチに対して、監視対象のVMの入出力パケットをカプセル化して、宛先VMに送信するように設定する。
ノード200は、VM220によりサービスを提供する。ノード200では、例えばハードウェア200aによりハイパーバイザ200bが実行されている。そしてハイパーバイザ200bによってOS210およびVM220が実行されている。OS210は、スイッチ情報記憶部211、検出パケット送信部212、検出パケット受信部213、宛先判定部214、およびスイッチ制御部215を有する。ノード200内の各要素の機能は、ノード100内の同名の要素の機能と同様である。
なお図5に示していないノード400,500も、ノード100,200と同様の機能を有する。
図5に示した各要素間を接続する線は通信経路の一部を示すものであり、図示した通信経路以外の通信経路も設定可能である。また、図5に示した各要素の機能は、例えば、その要素に対応するプログラムモジュールをコンピュータに実行させることで実現することができる。
次に、スイッチ情報記憶部111が記憶する情報について説明する。
図6は、スイッチ情報記憶部が記憶する情報の一例を示す図である。スイッチ情報記憶部111には、スイッチ制御部115がスイッチ41〜44から収集した、スイッチごとのスイッチ情報111a,111b,・・・を記憶する。例えばノード100のスイッチ制御部115は、スイッチ41からMAC学習テーブル41aとポート状態テーブル41bとを取得し、スイッチ情報111aとしてスイッチ情報記憶部111に格納する。
MAC学習テーブル41aには、スイッチ41が有するポートのポート番号に対応付けて、そのポートを介して通信を行っている装置のMACアドレスが設定されている。図6の例では、スイッチ41のポート番号「1」のポートにノード100が接続されており、ポート番号「4」のポートにノード200が接続されている。またスイッチ41のポート番号「6」のポートにスイッチ42が接続されている。スイッチ42にはスイッチ43が接続されており、スイッチ43にノード400が接続されている。この場合、MAC学習テーブル41aには、ポート番号「1」に対応付けてノード100のMACアドレス「MAC_A」が設定される。またポート番号「4」に対応付けてノード100のMACアドレス「MAC_B」が設定される。さらに、ポート番号「6」に対応付けてノード100のMACアドレス「MAC_C」が設定される。
ポート状態テーブル41bには、スイッチ41が有するポートのポート番号に対応付けて、そのポートの結線の状態が設定されている。ポートの結線の状態には、ローカルポート用のMDI−X(Medium Dependent Interface Crossover)とアップリンクポート用のMDI(Medium Dependent Interface)とがある。図6の例では、ポート番号「1」〜「5」のポートはローカルポートであり、ポート番号「6」のポートはアップリンクポートである。
ここでVMを実行する各ノード100,200,400,500では、NICがSR−IOVをサポートしている。このような環境でポートミラーリングを行う場合、監視用のVMがどのノード上で実行されているのかが、簡単には分からない。監視用のVMの場所が分からないと、正しくミラーパケットを転送することができない。
なお、OpenFlowでは、すべてのノードがトンネルによってフルメッシュで接続されており、ミラーパケットもトンネルによって転送される。この場合、監視対象のVMを有するノードは、監視対象のVMに入出力されたパケットのミラーパケットを、すべてのトンネルポートで送信することができる。監視用のVMを有するノードは、例えばミラーパケットを受信したら、ミラーパケットの送信元に返信パケットを送信する。以後、監視対象のVMを有するノードは、返信があったトンネルのみから、ミラーパケットを送信する。このようにして、OpenFlowを用いれば、ミラーパケットを監視用のVMへ送信することが可能となる。しかし、OpenFlowを適用するには、すべてのスイッチがOpenFlowのパケットを解釈できることが条件となる。すなわち、OpenFlowに対応していないスイッチを含むネットワークでは、OpenFlowによるミラーパケットの送信を行うことができない。
そこで第2の実施の形態では、各ノードが連係して、OpenFlowに頼らずに監視用のVMを有するノードを特定し、そのノードに対してミラーパケットを送信するためのスイッチの設定を行う。
図7は、ミラーリング設定のための連係動作の一例を示すシーケンス図である。例えば、ノード100上に監視用のVMがあり、ノード200上のVMを監視対象として、ポートミラーリングを行うものとする。システム管理用のノード300は、ミラーリング設定の指示を、ノード200に送信する(ステップS11)。ミラーリング設定要求を受信したノード200は、監視用のVMの位置を探索するために、検出パケットを、ノード200と同じセグメント内にブロードキャストで送信する(ステップS12)。監視用のVMを有するノード100は、検出パケットに対してAckを応答する(ステップS13)。ノード200は、Ack応答の有無、およびAck応答を受信したポートの状態(ローカルポートかアップリンクポートか)に基づいて、監視用VMとの接続関係を判定する(ステップS14)。そしてノード200は、判定した接続関係に基づいて、ネットワーク上のスイッチ41〜44にミラーリング用の設定を行う(ステップS15)。スイッチ41〜44への設定は、例えばスイッチ41〜44に対して制御コマンドを送信することで行うことができる。
次にノード200によるミラーリング設定処理の手順について説明する。
図8は、ミラーリング設定処理の手順の一例を示すフローチャートである。以下、図8に示す処理をステップ番号に沿って説明する。
[ステップS101]検出パケット送信部212は、ポートミラーマネージャ312からのミラーリング設定要求を受信する。ミラーリング設定要求には、例えば監視対象のVMのIP(Internet Protocol)アドレスと監視を行う宛先VMのIPアドレスとが含まれる。検出パケット送信部212は、ミラーリング設定要求に示されるIPアドレスに対応するVMを、監視対象のVMと判断する。なお、ミラーリング設定要求には、ミラーリングするパケットのトラフィックの方向を指定することもできる。例えばミラーリング設定要求において、監視対象のVMに入力するパケット、または監視対象のVMが出力したパケットのいずれかをミラーリングの対象として指定することができる。
検出パケット送信部212がミラーリング設定要求を受信したとき、スイッチ制御部215が、スイッチ情報記憶部211内のスイッチ情報を、最新の情報に更新してもよい。例えばスイッチ制御部215は、ミラーリング設定要求の受信を検知すると、各スイッチ41〜44からスイッチ情報を取得し、取得したスイッチ情報をスイッチ情報記憶部211に格納する。
[ステップS102]検出パケット送信部212は、検出パケットをブロードキャストで送信する。検出パケットは、例えば宛先のMACアドレスのすべてのビットが「1」のブロードキャストフレームによって送信される。また検出パケットには、検出パケットであることを示す識別子が含められる。送信された検出パケットは、スイッチ41〜43を介して、ノード200と同一セグメント内の装置に送信される。スイッチ41は、ノード200が接続されたポートに対しても、検出パケットのブロードキャスト送信のフレームを出力する。
[ステップS103]宛先判定部214は、検出パケット送信部212が送信した検出パケットに対するAck応答を受信したか否かを判断する。Ack応答を受信した場合、宛先判定部214は、処理をステップS105に進める。またAck応答を受信しないまま、応答の待ち時間がタイムアウトとなった場合、宛先判定部214は、処理をステップS104に進める。
[ステップS104]宛先判定部214は、宛先VMが、ルータ45を介してL3接続されていることを、スイッチ制御部215に通知する。スイッチ制御部215は、ノード200に接続されているスイッチ41に対して、監視対象のVMの入出力パケットのミラーパケットをカプセル化して、カプセル化したパケットを宛先VMのIPアドレス宛に送信するように設定する。その後、スイッチ制御部215はミラーリング設定処理を終了する。
[ステップS105]宛先判定部214は、受信したAck応答の受信ポートの状態を、スイッチ41のMAC学習テーブルとポート状態テーブルとに基づいて探索する。例えば宛先判定部214は、Ack応答のパケットを含むフレームの送信元アドレスを参照し、送信元のMACアドレスを取得する。次に宛先判定部214は、スイッチ41のMAC学習テーブル41aを参照し、送信元のMACアドレスが登録されたポート番号を取得する。さらに宛先判定部214は、ポート状態テーブル41bを参照し、取得したポート番号の状態を取得する。
[ステップS106]宛先判定部214は、Ack応答の受信ポートがローカルポートかアップリンクポートかを判断する。宛先判定部214は、ローカルポートであれば、処理をステップS107に進める。また宛先判定部214は、アップリンクポートであれば、処理をステップS108に進める。
[ステップS107]宛先判定部214は、宛先VMが、同一のスイッチ41に接続されたノード上のVMであることを、スイッチ制御部215に通知する。スイッチ制御部215は、スイッチ41に対して、ポートミラーリングの設定を行う。例えばスイッチ制御部215は、スイッチ41に対して、ノード200が接続されているポートをミラーポートに設定する。さらにスイッチ制御部215は、スイッチ41に対して、宛先VMを実行しているノードが接続されているポート(Ack応答の受信ポート)を、モニタポートに設定する。その後、宛先判定部214はミラーリング設定処理を終了する。
[ステップS108]宛先判定部214は、宛先VMが、複数のスイッチを介して接続された、同一セグメント内のノード上のVMであることを、スイッチ制御部215に通知する。スイッチ制御部215は、ミラーリング用のVLANを設定する。例えばスイッチ制御部215は、スイッチ41に対して、ノード200が接続されたポートのミラーパケットを、ミラーリング用のVLAN_IDを付与してアップリンクポートに送信するように設定する。また、スイッチ制御部215は、宛先VMを有しているノードが接続されたスイッチに対して、ミラーリング用のVLAN_IDを有するVLANのパケットを、そのノードが接続されたポートに送信するように設定する。
このようにして、監視対象のVMと監視用のVMとのネットワーク上の接続関係に応じて、監視用のVMを宛先VMとする適切なミラーリング設定が行われる。そしてミラーリング設定の結果、監視対象のVMの入出力パケットのミラーパケットが、監視用のVMに送信される。
以下、図9〜図11を参照して、監視対象のVMと監視用のVMとの位置関係に応じたミラーリングの設定に基づくミラーパケットの送信例を説明する。
図9は、ミラーリングの第1の設定例を示す図である。図9の例では、VM120が監視用のVMである。
ここで、例えばVM130のIPアドレスを監視対象として指定したミラーリング設定要求が、ノード100に入力されたものとする。この場合、OS110は、検出パケットのブロードキャスト送信により、監視用のVM120が、OS110と同じノード100内にあること(スイッチ41の同じポートに接続されたノード100上にあること)を認識する。図9の例では、ノード100の接続ポートは、スイッチ41のポート番号「1」のポートである。この場合、OS110は、スイッチ41に対して、ポート番号「1」のポートをミラーポートおよびモニタポートとして設定する。
その後、VM130がNIC108によって生成されたVF108bを用いて通信を行う。VF108bは、スイッチ41のポート番号「1」のポートを介して、パケットの送信または受信を行う。すると、スイッチ41は、ポート番号「1」のポートを介して入出力されるパケットのミラーパケット51を生成し、ミラーパケット51をポート番号「1」のポートに送信する。送信されたミラーパケット51は、VF108aを介してVM120で受信される。
なお、ミラーポートとモニタポートとが同じポートに設定された場合、ミラーポートに対してミラーパケット51,52が送信される。スイッチ41は、モニタポートに対して送信されたミラーパケット51,52については、ミラーリングを抑止する。これにより、ミラーポートとモニタポートとが同じポートに設定された場合でも、ミラーパケットはミラーリングの対象とされずに済む。
また、例えばVM220のIPアドレスを監視対象として指定したミラーリング設定要求が、ノード200に入力されたものとする。この場合、OS210は、検出パケットのブロードキャスト送信により、監視用のVM120が、ノード200と同じスイッチ41に接続されたノード100内にあることを認識する。図9の例では、ノード100の接続ポートはスイッチ41のポート番号「1」のポートであり、ノード200の接続ポートはスイッチ41のポート番号「4」のポートである。この場合、OS210は、スイッチ41に対して、ポート番号「1」のポートをミラーポートとして設定し、ポート番号「4」のポートをモニタポートとして設定する。
その後、VM220がNIC208によって生成されたVF108aを用いて通信を行う。VF208aは、スイッチ41のポート番号「4」のポートを介して、パケットの送信または受信を行う。すると、スイッチ41は、ポート番号「4」のポートを介して入出力されるパケットのミラーパケット52を生成し、ミラーパケット52をポート番号「1」のポートに送信する。送信されたミラーパケット52は、VF108aを介してVM120で受信される。
図10は、ミラーリングの第2の設定例を示す図である。図10の例ではVM120が監視用のVMである。そして、例えばVM420のIPアドレスを監視対象として指定したミラーリング設定要求が、ノード400に入力されたものとする。この場合、OS410は、検出パケットのブロードキャスト送信により、監視用のVM120が、複数のスイッチ41〜43を介して接続されたノード100内にあることを認識する。図10の例では、ノード100の接続ポートは、スイッチ41のポート番号「1」のポートである。またノード400の接続ポートは、スイッチ43のポート番号「2」のポートである。さらにスイッチ43のポート番号「3」のポートがアップリンクポートであり、そのアップリンクポートにスイッチ42が接続されている。
この場合、OS410は、スイッチ41,43に対して、ミラーリング用のVLANを設定する。すなわちOS410は、スイッチ41,43にミラーリング用のVLANを定義し、そのVLANにVLAN_IDを設定する。またOS410は、スイッチ43のポート番号「2」に入出力されるパケットのミラーパケット53を、設定したVLAN_IDを付与してポート番号「3」のポートから送信することを設定する。具体的には、OS410は、スイッチ43のポート番号「2」のポートをミラーポートとし、そのミラーポートに入出力されるパケットのミラーパケット送信用のセッションを定義する。そのセッションには、ミラーリング用のVLAN_IDが設定される。そしてOS410は、スイッチ43に、そのセッションによるミラーパケット53の送信先のリフレクタポートとして、スイッチ43のポート番号「3」のポートを設定する。さらにOS410は、スイッチ41のポート番号「1」に、設定したVLAN_IDのミラーパケット53を送信することを設定する。具体的には、OS410は、スイッチ41に対して、ミラーリング用のVLANの通信用のセッションを定義する。そのセッションには、ミラーリング用のVLAN_IDが設定される。そしてOS410は、スイッチ41に、そのセッションで受信したパケットの宛先ポートとして、ポート番号「1」のポートを設定する。
その後、VM420がNIC408によって生成されたVF408aを用いて通信を行う。VF408aは、スイッチ43のポート番号「2」のポートを介して、パケットの送信または受信を行う。すると、スイッチ43は、ポート番号「2」のポートを介して入出力されたパケットのミラーパケット53を生成し、ミラーパケット53を、ミラーリング用のVLANのVLAN_IDを付与して、ポート番号「3」のポートから送信する。スイッチ42は、受信したミラーパケット53を、受信ポート以外のすべてのポートから送信する。スイッチ41は、ミラーパケット53を受信すると、VLAN_IDによってミラーパケット53であることを認識し、そのミラーパケット53をポート番号「1」のポートから送信する。
図11は、ミラーリングの第3の設定例を示す図である。図11の例では、VM120が監視用のVMである。そして、例えばVM520のIPアドレスを監視対象として指定したミラーリング設定要求が、ノード500に入力されたものとする。この場合、OS510は、検出パケットのブロードキャスト送信により、監視用のVM120が、ルータ45を介して接続されたノード100内にあることを認識する。図11の例では、ノード100の接続ポートは、スイッチ41のポート番号「1」のポートである。またノード500の接続ポートは、スイッチ44のポート番号「2」のポートである。
この場合、OS510は、スイッチ44に対して、ミラーパケットのカプセル化による送信を設定する。すなわちOS510は、スイッチ44に、ポート番号「2」のポートに入出力されたパケットのミラーパケット54をカプセル化するように設定する。またOS510は、スイッチ44に、カプセル化により生成されたカプセル化パケット55の宛先として、監視用のVM120のIPアドレスを設定する。またOS510は、スイッチ44に、カプセル化により生成されたカプセル化パケット55の送信に使用するセッションのセッションIDを設定する。
その後、VM520がNIC508によって生成されたVF508aを用いて通信を行う。VF508aは、スイッチ44のポート番号「2」のポートを介して、パケットの送信または受信を行う。すると、スイッチ44は、ポート番号「2」のポートを介して入出力されるパケットのミラーパケット54を生成し、そのミラーパケットをカプセル化する。そしてスイッチ44は、カプセル化によって生成したカプセル化パケット55を、VM120のIPアドレスを宛先として送信する。カプセル化パケット55は、ルータ45を介して、スイッチ42に転送される。スイッチ42は、カプセル化パケット55をスイッチ41に送信する。スイッチ41は、カプセル化パケット55を受信すると、カプセル化パケット55の宛先のIPアドレスが、スイッチ41自身に接続されたノード100のアドレスであることを確認し、カプセル化パケット55のカプセル化を解除する。そしてスイッチ41は、カプセル化の解除により得られたミラーパケット54を、カプセル化パケット55の宛先のIPアドレスを有するノード100が接続されたポートに送信する。
なお、ミラーパケット54のカプセル化は、例えばGRE(Generic Routing Encapsulation)と呼ばれるプロトコルを用いて行うことができる。GREを用いた場合、カプセル化パケット55を受信したスイッチ41は、GREヘッダのプロトコルタイプを参照して、ミラーリング用にカプセル化されたパケットであることを認識できる。
図12は、GREパケットのフォーマットの一例を示す図である。GREパケット60には、カプセル化ヘッダ61、GREヘッダ62、ミラーパケット情報63、およびミラーパケット64が含まれる。カプセル化ヘッダ61には、カプセル化されたパケットのイーサネット(登録商標)ヘッダとIPヘッダとが含まれる。GREヘッダには、カプセル化したパケットのプロトコルタイプを示す情報が含まれる。例えばプロトコルタイプが「0x88BE」であれば、カプセル化したのはミラーパケット64である。スイッチ41は、カプセル化パケット55としてGREパケットを受信した場合、GREヘッダ62に示されるプロトコルタイプを確認することで、受信したカプセル化パケット55に含まれるのがミラーパケット54であることを認識することができる。
ミラーパケット情報63には、セッションIDが含まれる。セッションIDは、送信元のスイッチ44で指定されたカプセル化ミラーリングのIDである。スイッチ41は、セッションIDが指定されたパケットの中で、カプセル化ヘッダ61に示される宛先IPアドレスがスイッチ41自身に接続されているノードであれば、カプセル化を解除する。
なお、OS510は、カプセル化の解除を行うスイッチ41に対して、予めカプセル化解除の設定を行ってもよい。例えばOS510は、カプセル化のセッションIDと、カプセル化されたミラーパケットの送信先のポート(ノード100が接続されたポート)のポート番号を、スイッチ41に設定する。この場合、スイッチ41は、カプセル化のセッションIDが付与されたカプセル化パケット55を受信すると、そのカプセル化パケット55のカプセル化を解除し、カプセル化パケット55から取り出されたミラーパケット54を、予め設定されたポートに送信する。
このようにして、OpenFlowをサポートしていないスイッチ間でミラーパケットを転送する場合であっても、SR−IOV環境で通信を行うVMへの入出力パケットのミラーパケットを、監視用のVMへ正しく送信することが可能となる。
〔その他の実施の形態〕
第2の実施の形態では、管理用のノード300以外のノード100,200,400,500それぞれにスイッチ制御部が設けられているが、スイッチ制御部は、少なくとも1つのノードに設けられていればよい。その場合、各ノード100,200,400,500の宛先判定部は、判定結果を、スイッチ制御部を有するノードにネットワーク経由で通知する。
以上、実施の形態を例示したが、実施の形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。さらに、前述した実施の形態のうちの任意の2以上の構成(特徴)を組み合わせたものであってもよい。
1 ネットワーク
2a,2b,・・・ スイッチ
3 監視ノード
3a,4e 処理部
3b,4f 仮想マシン
4 情報処理装置
4a ネットワークインタフェース
4b 記憶部
4c ノード識別子情報
4d 状態情報
4g VF
5 ブロードキャストフレーム
5a 検出パケット
6 フレーム
6a 送信元ノード識別子
6b 応答パケット

Claims (6)

  1. ネットワークに含まれる複数のスイッチのうちの一スイッチに接続されたネットワークインタフェースと、
    前記一スイッチのポートごとの、前記ポート経由で接続された機器に付与されたノード識別子を示すノード識別子情報、および前記ポートそれぞれがローカルポートかアップリンクポートかの状態を示す状態情報を記憶する記憶部と、
    自装置上で動作している仮想マシンの通信パケットのミラーリング設定要求を受信すると、パケットの監視機能を有する監視ノードを検出するための検出パケットを、前記ネットワークインタフェースを介してブロードキャストで送信し、前記検出パケットに対する応答パケットを前記監視ノードから受信した場合、前記監視ノードのノード識別子、前記ノード識別子情報、および前記状態情報に基づいて、前記一スイッチにおける前記応答パケットの受信ポートがローカルポートかアップリンクポートかの状態を判定し、前記応答パケットの有無と前記受信ポートの状態とに基づいて、自装置と前記監視ノードとの間の前記ネットワーク上の接続関係を判定し、判定した接続関係に基づいて、前記複数のスイッチの少なくとも一部に対して、前記仮想マシンの通信パケットをコピーしたミラーパケットの前記監視ノードへの送信設定を行う処理部と、
    を有する情報処理装置。
  2. 前記処理部は、前記応答パケットを受信しており、前記受信ポートがローカルポートの場合、前記監視ノードが前記一スイッチに接続されていると判定する、
    請求項1記載の情報処理装置。
  3. 前記処理部は、前記応答パケットを受信しており、前記受信ポートがアップリンクポートの場合、前記監視ノードが2以上のスイッチを介して同一セグメント内に接続されていると判定する、
    請求項1または2記載の情報処理装置。
  4. 前記処理部は、前記応答パケットが受信できない場合、前記監視ノードがルータを介して接続されていると判定する、
    請求項1ないし3のいずれかに記載の情報処理装置。
  5. ネットワーク上の通信パケットの監視機能を有し、前記監視機能を有するノードを検出するための検出パケットを受信すると、前記検出パケットに対する応答パケットを送信する監視ノードと、
    前記ネットワークに含まれる複数のスイッチのうちの一スイッチに接続されたネットワークインタフェースと、前記一スイッチのポートごとの、前記ポート経由で接続された機器に付与されたノード識別子を示すノード識別子情報、および前記ポートそれぞれがローカルポートかアップリンクポートかの状態を示す状態情報を記憶する記憶部と、自装置上で動作している仮想マシンの通信パケットのミラーリング設定要求を受信すると、前記検出パケットを、前記ネットワークインタフェースを介してブロードキャストで送信し、前記検出パケットに対する応答パケットを前記監視ノードから受信した場合、前記監視ノードのノード識別子、前記ノード識別子情報、および前記状態情報に基づいて、前記一スイッチにおける前記応答パケットの受信ポートがローカルポートかアップリンクポートかの状態を判定し、前記応答パケットの有無と前記受信ポートの状態とに基づいて、自装置と前記監視ノードとの間の前記ネットワーク上の接続関係を判定し、判定した接続関係に基づいて、前記複数のスイッチの少なくとも一部に対して、前記仮想マシンの通信パケットをコピーしたミラーパケットの前記監視ノードへの送信設定を行う処理部と、を有する情報処理装置と、
    を具備する情報処理システム。
  6. コンピュータに、
    自装置上で動作している仮想マシンの通信パケットのミラーリング設定要求を受信すると、パケットの監視機能を有する監視ノードを検出するための検出パケットを、ネットワークに含まれる複数のスイッチのうちの一スイッチに接続されたネットワークインタフェースを介してブロードキャストで送信し、
    前記検出パケットに対する応答パケットを前記監視ノードから受信した場合、前記監視ノードのノード識別子、前記一スイッチのポートごとの、前記ポート経由で接続された機器に付与されたノード識別子を示すノード識別子情報、および前記ポートそれぞれがローカルポートかアップリンクポートかの状態を示す状態情報に基づいて、前記一スイッチにおける前記応答パケットの受信ポートがローカルポートかアップリンクポートかの状態を判定し、
    前記応答パケットの有無と前記受信ポートの状態とに基づいて、自装置と前記監視ノードとの間の前記ネットワーク上の接続関係を判定し、
    判定した接続関係に基づいて、前記複数のスイッチの少なくとも一部に対して、前記仮想マシンの通信パケットをコピーしたミラーパケットの前記監視ノードへの送信設定を行う、
    処理を実行させる設定プログラム。
JP2019001762A 2019-01-09 2019-01-09 情報処理装置、情報処理システム、および設定プログラム Active JP7152665B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2019001762A JP7152665B2 (ja) 2019-01-09 2019-01-09 情報処理装置、情報処理システム、および設定プログラム
US16/715,522 US10999178B2 (en) 2019-01-09 2019-12-16 Information processing apparatus and information processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019001762A JP7152665B2 (ja) 2019-01-09 2019-01-09 情報処理装置、情報処理システム、および設定プログラム

Publications (2)

Publication Number Publication Date
JP2020113836A true JP2020113836A (ja) 2020-07-27
JP7152665B2 JP7152665B2 (ja) 2022-10-13

Family

ID=71403411

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019001762A Active JP7152665B2 (ja) 2019-01-09 2019-01-09 情報処理装置、情報処理システム、および設定プログラム

Country Status (2)

Country Link
US (1) US10999178B2 (ja)
JP (1) JP7152665B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11297037B2 (en) * 2019-07-22 2022-04-05 Arista Networks, Inc. Method and network device for overlay tunnel termination and mirroring spanning datacenters
US11711299B2 (en) * 2020-01-10 2023-07-25 Cisco Technology, Inc. Traffic mirroring in hybrid network environments

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007221285A (ja) * 2006-02-15 2007-08-30 Alaxala Networks Corp イーサネットネットワークトポロジー確認方式
JP2013258446A (ja) * 2012-06-11 2013-12-26 Hitachi Cable Ltd ネットワーク管理装置
JP2015171128A (ja) * 2014-03-11 2015-09-28 富士通株式会社 パケットの取得方法、パケット取得装置、及び、パケット取得プログラム
WO2017185878A1 (zh) * 2016-04-27 2017-11-02 新华三技术有限公司 报文转发

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6690668B1 (en) * 1998-10-19 2004-02-10 Texas Instruments Incorporated Modular interconnection of network switches
EP2606614A4 (en) 2010-08-20 2017-01-11 Nec Corporation Communication system, controller, node controlling method and program
JP2017046211A (ja) 2015-08-27 2017-03-02 株式会社日立製作所 通信装置、制御方法およびプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007221285A (ja) * 2006-02-15 2007-08-30 Alaxala Networks Corp イーサネットネットワークトポロジー確認方式
JP2013258446A (ja) * 2012-06-11 2013-12-26 Hitachi Cable Ltd ネットワーク管理装置
JP2015171128A (ja) * 2014-03-11 2015-09-28 富士通株式会社 パケットの取得方法、パケット取得装置、及び、パケット取得プログラム
WO2017185878A1 (zh) * 2016-04-27 2017-11-02 新华三技术有限公司 报文转发

Also Published As

Publication number Publication date
JP7152665B2 (ja) 2022-10-13
US10999178B2 (en) 2021-05-04
US20200220797A1 (en) 2020-07-09

Similar Documents

Publication Publication Date Title
US20210288828A1 (en) SDN Facilitated Multicast in Data Center
US9602375B2 (en) Tracing host-originated logical network packets
US10063470B2 (en) Data center network system based on software-defined network and packet forwarding method, address resolution method, routing controller thereof
US9448821B2 (en) Method and system for realizing virtual machine mobility
CN104272668B (zh) 层3覆盖网关
EP3197107B1 (en) Message transmission method and apparatus
JP5792894B2 (ja) ポート拡張トポロジ情報の取得用方法、システム及び制御ブリッジ並びにアップリンクポートの処理方法及びシステム
KR20210095890A (ko) 세분화된 네트워크 엘리먼트를 포함하는 로직 라우터
US20140075047A1 (en) Network-Assisted Virtual Machine Mobility
CN105681191A (zh) 基于路由器虚拟化的sdn平台及实现方法
US10050859B2 (en) Apparatus for processing network packet using service function chaining and method for controlling the same
CN107306215B (zh) 一种数据处理方法、系统及节点
CN108123819B (zh) 一种虚实网络无缝融合的仿真方法
US20190215191A1 (en) Deployment Of Virtual Extensible Local Area Network
JP2015211374A (ja) 情報処理システム、情報処理システムの制御方法及び管理装置の制御プログラム
JP7152665B2 (ja) 情報処理装置、情報処理システム、および設定プログラム
JP4193832B2 (ja) ネットワークシステム及びデータ転送方法
US11303701B2 (en) Handling failure at logical routers
US10924397B2 (en) Multi-VRF and multi-service insertion on edge gateway virtual machines
WO2020029928A1 (zh) Bgp会话建立、发送接口地址和别名的方法及网络设备
US10931565B2 (en) Multi-VRF and multi-service insertion on edge gateway virtual machines
CN109039909B (zh) 一种报文转发的方法及装置
JP6693141B2 (ja) パケット転送装置、パケット転送方法、および、プログラム
Maia An SDN-based Overlay Networking Solution for Transparent Multi-homed Vehicular Communications
CN117579428A (zh) 云网络跨技术栈互联互通的方法及装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20211007

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20211011

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20211011

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220726

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220912

R150 Certificate of patent or registration of utility model

Ref document number: 7152665

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150