JP2016201690A - Information processing device, program, and control method - Google Patents
Information processing device, program, and control method Download PDFInfo
- Publication number
- JP2016201690A JP2016201690A JP2015080974A JP2015080974A JP2016201690A JP 2016201690 A JP2016201690 A JP 2016201690A JP 2015080974 A JP2015080974 A JP 2015080974A JP 2015080974 A JP2015080974 A JP 2015080974A JP 2016201690 A JP2016201690 A JP 2016201690A
- Authority
- JP
- Japan
- Prior art keywords
- network interface
- data
- estimation
- information processing
- processing apparatus
- 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.)
- Pending
Links
Images
Abstract
Description
本発明は、情報処理装置、プログラム、及び制御方法に関する。 The present invention relates to an information processing apparatus, a program, and a control method.
近年、様々な環境で仮想マシン技術が導入されている。仮想マシン技術とは、1つの物理マシン上で複数の仮想的なマシンを動作させる技術である。この仮想的なマシンは、仮想マシン(Virtual Machine(VM))と呼ばれる。VM は、物理マシンと同様に OS(Operating System)を動作させることができ、OS に対して物理マシンと同様のハードウエア環境を提供する。 In recent years, virtual machine technology has been introduced in various environments. The virtual machine technique is a technique for operating a plurality of virtual machines on one physical machine. This virtual machine is called a virtual machine (VM). A VM can operate an operating system (OS) like a physical machine, and provides the OS with a hardware environment similar to that of a physical machine.
一方で、VM はソフトウエアで実現される仮想的なマシンであるため、物理的な実体を有する物理マシンとは異なる性質も有する。例えば VM は、物理マシンと比較し、生成や削除が容易に行える。 On the other hand, a VM is a virtual machine realized by software, and therefore has a different property from a physical machine having a physical entity. For example, VMs can be created and deleted more easily than physical machines.
また近年、ネットワークを介してマシン同士を接続することが一般的となっている。例えばオフィス環境では、各社員の PC(Personal Computer)がネットワークに接続されている。 In recent years, it has become common to connect machines via a network. For example, in an office environment, each employee's PC (Personal Computer) is connected to the network.
ネットワークに接続されている物理マシン上で VM が利用されると、ネットワーク上において VM と物理マシンが混在することとなる。前述したように VM は生成が容易であるため、データセンタの様な特殊な環境だけでなく、オフィス環境などの一般的な環境においても、VM と物理マシンが混在するネットワーク環境が容易に生じうる。 When VMs are used on physical machines connected to the network, VMs and physical machines are mixed on the network. As mentioned above, VMs are easy to create, so network environments that include VMs and physical machines can easily occur not only in special environments such as data centers, but also in general environments such as office environments. .
このように VM と物理マシンが混在するネットワークを適切に管理するためには、VM と物理マシンの性質の違いを考慮できることが好ましい。そのためには、ネットワーク上に存在する各マシンが VM と物理マシンのどちらなのかを把握する必要がある。 In order to properly manage a network in which VMs and physical machines are mixed in this way, it is preferable to be able to consider differences in the properties of VMs and physical machines. To do so, you need to know whether each machine on the network is a VM or a physical machine.
しかし、あるマシンが VM と物理マシンのどちらであるのかを、外部の装置などから判別することは難しい。前述したように VM はその上で動作する OS 等に物理マシンと同等の環境を提供するため、VM 上で動作するソフトウエアと物理マシン上で動作するソフトウエアは同様の動作をしうるためである。例えば、VM から送信されるパケットと物理マシンから送信されるパケットのフォーマットは同じであるため、あるマシンから受信するパケットのフォーマットに基づいて、そのマシンが VM と物理マシンのどちらであるかを判別することは難しい。 However, it is difficult to determine whether a machine is a VM or a physical machine from external devices. As mentioned above, the VM provides the same environment as the physical machine to the OS running on it, so the software running on the VM and the software running on the physical machine can operate in the same way. is there. For example, the packet sent from the VM and the packet sent from the physical machine have the same format, so it is determined whether the machine is a VM or a physical machine based on the format of the packet received from a machine. Difficult to do.
非特許文献1は、ネットワーク上で特定の物理マシンや VM が起動したことを検出するシステムを開示している。しかし、このシステムを利用する者(ネットワークの管理者など)は、検出対象の各物理マシンや各 VM を特定するための情報(UUID(Universally Unique Identifier)など)を予め把握し、この情報を予めシステムの設定ファイルに記述しておかなければならない。そのため、非特許文献1のシステムを利用するためには、各マシンが物理マシンと VM のどちらなのかということを予め把握しておかなければならない。また、非特許文献1のシステムは、管理者の知らないところで導入される物理マシンや VM を検出することができない。
Non-Patent
本発明は、以上の課題に鑑みてなされたものである。本発明の目的は、ネットワークの管理を容易にする技術を提供することである。 The present invention has been made in view of the above problems. An object of the present invention is to provide a technique for facilitating network management.
本発明の情報処理装置は、データを受信する受信手段と、前記受信されたデータを用いて、そのデータの送信元のネットワークインタフェースが、物理的なネットワークインタフェースと仮想的なネットワークインタフェースのどちらであるかの推定を行う推定手段と、を有する。 The information processing apparatus according to the present invention uses a receiving unit that receives data, and a network interface that is a transmission source of the data using the received data, which is a physical network interface or a virtual network interface. And estimating means for performing such estimation.
本発明の制御方法は、コンピュータによって実行される。当該制御方法は、データを受信する受信ステップと、前記受信されたデータを用いて、そのデータの送信元のネットワークインタフェースが、物理的なネットワークインタフェースと仮想的なネットワークインタフェースのどちらであるかの推定を行う推定ステップと、を有する。 The control method of the present invention is executed by a computer. The control method includes a reception step of receiving data, and using the received data, estimating whether a network interface of a transmission source of the data is a physical network interface or a virtual network interface. An estimation step.
本発明によれば、ネットワークの管理を容易にする技術が提供される。 According to the present invention, a technique for facilitating network management is provided.
以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings. In all the drawings, the same reference numerals are given to the same components, and the description will be omitted as appropriate.
[前提事項の説明]
まず、各実施形態に共通する前提事項について説明する。
[Description of assumptions]
First, assumptions common to the embodiments will be described.
ネットワークインタフェースは、ネットワーク回線を介してデータを送受信するためのインタフェースである。例えば一般の PC は、マザーボードに予め搭載されているネットワークインタフェース(いわゆるオンボードのネットワークインタフェース)や、PCI(Peripheral Component Interconnect)カードで実装されたネットワークインタフェースを有する。以下、このように物理的に実装されたネットワークインタフェースを、物理ネットワークインタフェースと呼ぶ。 The network interface is an interface for transmitting and receiving data via a network line. For example, a general PC has a network interface (so-called on-board network interface) preinstalled on a motherboard or a network interface implemented by a PCI (Peripheral Component Interconnect) card. Hereinafter, the network interface physically mounted in this manner is referred to as a physical network interface.
ネットワークインタフェースをソフトウエアで仮想的に実現する技術がある。以下、このようにソフトウエアで仮想的に実現されるネットワークインタフェースを、仮想ネットワークインタフェースと呼ぶ。このような技術の1つに、仮想マシン技術がある。仮想マシン技術は、1つの物理マシン上で複数の VM を動作させる技術である。VMは、仮想的なハードウエアで構成される仮想的なマシンである。仮想ネットワークインタフェースは、仮想マシンを構成する仮想的なハードウエアの1つである。 There is a technology for virtually realizing a network interface with software. Hereinafter, such a network interface virtually realized by software is referred to as a virtual network interface. One such technology is virtual machine technology. The virtual machine technology is a technology for operating a plurality of VMs on one physical machine. The VM is a virtual machine composed of virtual hardware. The virtual network interface is one of virtual hardware that constitutes a virtual machine.
仮想マシン技術を利用するためには、仮想マシンモニタ(VMM(Virtual Machine Monitor))と呼ばれるソフトウエアレイヤを導入する。VMM は、物理ハードウエア上で直接動作することで物理ハードウエアを管理する。そして、VMM は、物理ハードウエアを抽象化した仮想ハードウエアを生成することで、VM を構築する。各 VM はそれぞれ、物理マシンと同様に OS を動作させることができる。ここで、VM 上で動作する OS は、一般にゲスト OS と呼ばれる。 In order to use the virtual machine technology, a software layer called a virtual machine monitor (VMM) is introduced. VMM manages physical hardware by operating directly on the physical hardware. VMM constructs VM by generating virtual hardware that abstracts physical hardware. Each VM can run an OS like a physical machine. Here, the OS running on the VM is generally called a guest OS.
VM 上で動作するゲスト OS は、VM が持つ仮想ネットワークインタフェースを利用して、同じ物理マシン上で動作する VM、他の物理マシン、又は他の物理マシン上で動作する VM と通信する。ただし、VM が他の物理マシンや他の物理マシン上で動作する VM と通信するためには、 VM を動作させる物理マシンが有する物理ネットワークインタフェースを利用する必要がある。VM のネットワークインタフェースはあくまでソフトウエアで実現された仮想的なハードウエアであるためである。 A guest OS running on a VM communicates with a VM running on the same physical machine, another physical machine, or a VM running on another physical machine, using the virtual network interface of the VM. However, in order for a VM to communicate with another physical machine or a VM running on another physical machine, it is necessary to use the physical network interface of the physical machine that operates the VM. This is because the VM network interface is virtual hardware implemented by software.
以下、仮想マシン技術を導入された物理マシンにおけるネットワーク環境について説明する。図1及び図2は、仮想マシン技術が導入された物理マシン10におけるネットワーク環境を例示する図である。物理マシン10は物理ネットワークインタフェース30を有する。物理ネットワークインタフェース30は物理ネットワーク100に接続している。物理マシン10は、物理ネットワーク100を介して外部の物理マシンや VM と通信する。また、物理マシン10は、その上で VMM 20を動作させている。
Hereinafter, a network environment in a physical machine in which virtual machine technology is introduced will be described. 1 and 2 are diagrams illustrating a network environment in a
VMM 20は4つの VM 50を動作させている。各 VM 50は仮想ネットワークインタフェース70を有している。各仮想ネットワークインタフェース70は、物理ネットワークインタフェース30の MAC(Media Access Control)アドレスとはそれぞれ異なる MAC アドレスを持つ。各VM 50はその上でゲスト OS 60を動作させている。
The
なお、上述の MAC アドレスは、MAC アドレス以外のレイヤ2アドレスであってもよい。レイヤ2アドレスとは、OSI(Open Systems Interconnection)参照モデルのデータリンク層(レイヤ2)で扱われるアドレスである。以降の各記載についても同様に、MAC アドレスは、MAC アドレス以外のレイヤ2アドレスであってもよい。 Note that the MAC address described above may be a layer 2 address other than the MAC address. The layer 2 address is an address handled in the data link layer (layer 2) of the OSI (Open Systems Interconnection) reference model. Similarly in the following descriptions, the MAC address may be a layer 2 address other than the MAC address.
図1は、物理マシン10内のネットワーク環境が仮想ブリッジ80を用いて構築される形態を例示する図である。仮想ブリッジ80は、ソフトウエアで実現された仮想的なブリッジである。VMM 20は、物理マシン10の内部に仮想ネットワーク110を構築している。各仮想ネットワークインタフェース70は、仮想ネットワーク110を介して仮想ブリッジ80と接続されている。仮想ブリッジ80が有するネットワークインタフェースの1つは、物理ネットワークインタフェース30である。仮想ネットワーク110は、物理ネットワーク100と同じネットワークセグメントに属する。そのため、各仮想ネットワークインタフェース70にはそれぞれ、物理ネットワーク100で利用可能な IP アドレスが割り当てられている。
FIG. 1 is a diagram illustrating a form in which a network environment in the
仮想ブリッジ80は、物理的なブリッジと同様の動作を行う。具体的には、仮想ブリッジ80は、取得したデータを送信先の MAC アドレスに基づいてディスパッチする。例えば仮想ブリッジ80は、仮想ネットワークインタフェース70から取得したデータの送信先 MAC アドレスが、各仮想ネットワークインタフェース70の MAC アドレス以外を示している場合、物理ネットワークインタフェース30を介して、そのデータを外部へ送信する。
The
また例えば仮想ブリッジ80は、仮想ネットワークインタフェース70から取得したデータの送信先 MAC アドレスが、別の仮想ネットワークインタフェース70の MAC アドレスを示している場合、その仮想ネットワークインタフェース70へそのデータを渡す。この場合、データを受け取った仮想ネットワークインタフェース70を有する VM 50上で動作しているゲスト OS 60が、そのデータをハンドルする。
For example, when the transmission destination MAC address of data acquired from the
また例えば、仮想ブリッジ80は、物理ネットワークインタフェース30から取得したデータを、その送信先の MAC アドレスを持つ仮想ネットワークインタフェース70へ渡す。この場合も、データを受け取った仮想ネットワークインタフェース70を有する VM 50上で動作しているゲスト OS 60が、そのデータをハンドルする。
Further, for example, the
図2は、物理マシン10内のネットワーク環境が NAT(Network Address Translation) 環境として構築される形態を例示する図である。VMM 20は、物理マシン10の内部に仮想ネットワーク110を構築している。この形態の場合、仮想ネットワーク110のネットワークセグメントは、物理ネットワーク100とは異なるネットワークセグメントである。そのため、仮想ネットワークインタフェース70には、物理ネットワーク100で利用可能な IP アドレスではなく、仮想ネットワーク110におけるローカルな IP アドレスが割り当てられている。
FIG. 2 is a diagram illustrating a form in which the network environment in the
各仮想ネットワークインタフェース70は、仮想ルータ90を介して物理ネットワーク100に接続する。仮想ルータ90は、ソフトウエアで仮想的に実現されたルータである。仮想ルータ90は、物理ネットワーク100に接続する物理ネットワークインタフェース30と、仮想ネットワーク110に接続する NAT インタフェース40という2つのネットワークインタフェースを有する。つまり、仮想ルータ90は、仮想ネットワーク110と物理ネットワーク100とを繋ぐゲートウェイとして機能する。
Each
仮想ルータ90は、一般の NAT 環境におけるゲートウェイが行う動作と同様の動作を行う。これにより、各仮想ネットワークインタフェース70は、物理ネットワーク100で利用可能な IP アドレスを個別に持たず、物理ネットワークインタフェース30の IP アドレスを利用して外部のマシンとデータの送受信を行う。
The
なお、物理ネットワークインタフェース30によってデータが受信された場合、まず VMM 20は、それが VMM 20に宛てたデータであるか否かを判定する。この判定は、データが示す宛先 MAC アドレスや宛先 IP アドレスを調べることによって行われる。そして VMM 20は、物理ネットワークインタフェース30によって受信されたデータがVMM 20に宛てたデータでない場合、そのデータを仮想ルータ90や仮想ブリッジ80に処理させる。一方、VMM 20は、物理ネットワークインタフェース30によって受信されたデータがVMM 20に宛てたデータである場合、そのデータの中身を取り出す等、適切な処理を行う。
When data is received by the
ここで、仮想マシン環境におけるネットワーク環境の形態は、上述の例に限定されない。その他の例については、必要に応じて後述の実施形態で説明する。 Here, the form of the network environment in the virtual machine environment is not limited to the above-described example. Other examples will be described in later-described embodiments as necessary.
仮想マシン技術が導入される目的は様々である。例えば仮想マシン技術は、デスクトップマシンやサーバマシンを仮想的に実現するために導入される。また例えば、仮想マシンは、ルータやレイヤ2スイッチなどのネットワーク機器を仮想的に実現するために導入される。このように、仮想マシン技術を導入してネットワーク機器を仮想化する技術は、NFV(Network Functions Virtualization)と呼ばれる。本発明において、仮想マシン環境の導入目的は特定の目的に限定されない。そのため、VM の導入目的は、上述したいずれかの目的であってもよいし、それ以外の目的であってもよい。 The purpose of introducing virtual machine technology is various. For example, the virtual machine technology is introduced to virtually realize a desktop machine and a server machine. For example, a virtual machine is introduced in order to virtually realize network devices such as routers and layer 2 switches. In this way, a technology for virtualizing network devices by introducing virtual machine technology is called NFV (Network Functions Virtualization). In the present invention, the purpose of introducing the virtual machine environment is not limited to a specific purpose. Therefore, the purpose of introducing the VM may be any of the above-mentioned purposes, or may be other purposes.
また、本発明における仮想ネットワークインタフェースは、仮想マシン技術によって実現される仮想的なネットワークインタフェースに限定されない。例えば、仮想ネットワークインタフェースは、エミュレータによるエミュレートによって実現される仮想的なネットワークインタフェースでもよい。エミュレータによって仮想ネットワークインタフェースを実現する場合でも、物理マシン内のネットワークは、例えば仮想ブリッジや仮想ルータを用いて実現される。この実現方法の詳細については省略する。 Further, the virtual network interface in the present invention is not limited to a virtual network interface realized by virtual machine technology. For example, the virtual network interface may be a virtual network interface realized by emulation by an emulator. Even when a virtual network interface is realized by an emulator, a network in a physical machine is realized using, for example, a virtual bridge or a virtual router. Details of this realization method are omitted.
以上の事項を前提に、本発明の各実施形態について説明する。 Based on the above matters, each embodiment of the present invention will be described.
[実施形態1]
図3は、実施形態1に係る情報処理装置2000を例示するブロック図である。図3において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を表している。
[Embodiment 1]
FIG. 3 is a block diagram illustrating the
情報処理装置2000は、ネットワーク130を介してネットワークインタフェース120と接続されている。情報処理装置2000は、受信部2020及び推定部2040を有する。受信部2020はデータを受信する。推定部2040は、受信されたデータを用いて、そのデータの送信元のネットワークインタフェース120が、物理ネットワークインタフェースと仮想ネットワークインタフェースのどちらであるかの推定を行う。
The
<ハードウエア構成例>
実施形態2の情報処理装置2000の各機能構成部は、各機能構成部を実現するハードウエア(例:ハードワイヤードされた電子回路など)で実現されてもよいし、ハードウエアとソフトウエアとの組み合わせ(例:電子回路とそれを制御するプログラムの組み合わせなど)で実現されてもよい。
<Hardware configuration example>
Each functional component of the
情報処理装置は、PC、携帯型端末、又はサーバマシンなどの種々の計算機として実装される。ここで情報処理装置2000は、情報処理装置2000を実装するための専用の計算機に実装されてもよいし、その他のアプリケーション等も含まれている汎用の計算機に実装されてもよい。
The information processing apparatus is implemented as various computers such as a PC, a portable terminal, or a server machine. Here, the
図4は、情報処理装置2000のハードウエア構成を例示するブロック図である。情報処理装置2000は、バス1020、プロセッサ1040、メモリ1060、ストレージ1080、入出力インタフェース1100、ネットワークインタフェース1120を有する。バス1020は、プロセッサ1040、メモリ1060、ストレージ1080、入出力インタフェース1100、及びネットワークインタフェース1120が、相互にデータを送受信するためのデータ伝送路である。ただし、プロセッサ1040などを互いに接続する方法は、バス接続に限定されない。プロセッサ1040は、例えば CPU (Central Processing Unit) や GPU (Graphics Processing Unit) などの演算処理装置である。メモリ1060は、例えば RAM (Random Access Memory) や ROM (Read Only Memory) などのメモリである。ストレージ1080は、例えばハードディスク、SSD (Solid State Drive)、又はメモリカードなどの記憶装置である。また、ストレージ1080は、RAM や ROM 等のメモリであってもよい。
FIG. 4 is a block diagram illustrating a hardware configuration of the
入出力インタフェース1100は、情報処理装置2000と入出力デバイスとを接続するためのインタフェースである。入出力デバイスは、例えばキーボード、マウス、又はディスプレイなどである。
The input /
ネットワークインタフェース1120は、ネットワーク130と接続するための物理ネットワークインタフェースである。ネットワークインタフェース1120は、有線回線と接続するためのネットワークインタフェースでもよいし、無線回線と接続するためのネットワークインタフェースでもよい。
The
ストレージ1080は、情報処理装置2000の機能を実現するためのプログラムを記憶している。具体的には、受信部2020及び推定部2040の機能を実現するプログラムモジュールを記憶している。プロセッサ1040は、これら各プログラムモジュールを実行することで、受信部2020及び推定部2040の機能をそれぞれ実現する。ここでプロセッサ1040は、上記各モジュールを実行する際、これらのモジュールをメモリ1060上に読み出してから実行してもよいし、メモリ1060上に読み出さずに実行してもよい。
The
情報処理装置2000のハードウエア構成は図4に示した構成に限定されない。例えば、各プログラムモジュールはメモリ1060に格納されてもよい。この場合、情報処理装置2000は、ストレージ1080を備えていなくてもよい。
The hardware configuration of the
<受信部2020について>
受信部2020が受信するデータは、各ネットワークインタフェース120から送信されるデータである。このデータの生成元は様々である。例えばこのデータは、そのデータを送信したネットワークインタフェース120を管理する OS や VMM 又はその OS や VMM の上で動作しているアプリケーションによって生成される。
<
Data received by the receiving
受信部2020が受信するデータの宛先は様々である。例えばこのデータの宛先は、情報処理装置2000が有するネットワークインタフェース1120である。この場合、受信部2020によって受信されるデータは、例えば情報処理装置2000から送信したリクエスト等に対する応答を表すデータである。情報処理装置2000からリクエスト等を送信する方法の詳細については、後述の各実施形態で説明する。なお、ネットワークインタフェース1120を宛先とするデータは、情報処理装置2000から送信されたリクエストへの応答を表すデータ以外であってもよい。
There are various destinations of data received by the receiving
また例えば、受信部2020が受信するデータの宛先は、ネットワークインタフェース1120やネットワークインタフェース120を含む複数のネットワークインタフェースである。複数のネットワークインタフェースを宛先とするデータは、例えばマルチキャストパケットやブロードキャストパケットである。
Further, for example, the destination of data received by the receiving
また、受信部2020が受信するデータの宛先は、ネットワークインタフェース1120を含まなくてもよい。自身を宛先としないデータを受信する方法には、様々な方法がある。例えば、L2スイッチのミラーポートを介してネットワークインタフェース1120をネットワーク130に接続させる方法がある。ミラーポートに接続されているネットワークインタフェースは、そのネットワークインタフェースを宛先としないデータも受信することができる。ここで、ミラーポートを利用してデータを受信する方法は既知であるため、詳細な説明は省略する。また、ネットワークインタフェース1120を宛先としないデータを受信部2020が受信する方法は、ミラーポートを利用する方法に限定されない。
The destination of data received by the receiving
以下、「情報処理装置2000が有するネットワークインタフェース1120を宛先とする」ことを、単に「情報処理装置2000を宛先とする」とも表記する。
Hereinafter, “addressing the
<推定部2040について>
推定部2040の動作の詳細については、後述の各実施形態で説明する。
<About the
Details of the operation of the
<処理の流れ>
図5は、実施形態1の情報処理装置2000によって実行される処理の流れを例示するフローチャートである。受信部2020は、ネットワークインタフェースからデータを受信する(S102)。推定部2040は、受信したデータを用いて、ネットワークインタフェースが物理ネットワークインタフェースと仮想ネットワークインタフェースのどちらであるかを推定する(S104)。
<Process flow>
FIG. 5 is a flowchart illustrating the flow of processing executed by the
<作用・効果>
本実施形態によれば、情報処理装置2000によって受信されるデータに基づいて、ネットワーク130に接続しているネットワークインタフェース120が物理ネットワークインタフェースと仮想ネットワークインタフェースのどちらであるかが推定される。ここで、物理ネットワークインタフェースを持つマシンは物理マシンである。一方、仮想ネットワークインタフェースを持つマシンは、仮想マシンなど、ソフトウエアで実現されたマシンである。よって、本実施形態の情報処理装置2000を用いることにより、ネットワーク130に接続されている各マシンが、物理マシンと仮想マシンなどのどちらであるかを推定することができる。よって、ネットワーク130の管理者やネットワーク130を管理する装置などは、ネットワーク130上の各マシンが物理マシンと仮想マシンなどのどちらであるかを把握して上で、ネットワーク130を適切に管理できるようになる。
<Action and effect>
According to the present embodiment, based on the data received by the
[実施形態2]
実施形態2の情報処理装置2000は、例えば実施形態1の情報処理装置2000と同様に、図1で表される。下記で説明する点を除き、実施形態2の情報処理装置2000は、実施形態1の情報処理装置2000と同様の機能を有する。
[Embodiment 2]
An
実施形態2の受信部2020が受信するデータは、送信元のネットワークインタフェース120の MAC アドレス(送信元 MAC アドレス)を含む。具体的にはこのデータは、イーサネット(登録商標)フレームを含むデータである。送信元のネットワークインタフェース120の MAC アドレスは、イーサネット(登録商標)フレームのイーサネット(登録商標)ヘッダに示されている。
The data received by the receiving
推定部2040は、受信部2020が受信したデータによって示される送信元 MAC アドレスに含まれる OUI(Organizationally Unique Identifier)を利用して推定を行う。以下、物理ネットワークインタフェースの MAC アドレスが示す OUI(物理ネットワークインタフェースの OUI)と仮想ネットワークインタフェースの MAC アドレスが示す OUI(仮想ネットワークインタフェースの OUI)についてそれぞれ説明する。
The
<物理ネットワークインタフェースの OUI について>
物理ネットワークインタフェースの MAC アドレスは、そのネットワークインタフェースの製造時に、そのネットワークインタフェースに割り当てられる。そのため一般に、物理ネットワークインタフェースの MAC アドレスは、そのネットワークインタフェースを利用する OS 等によって変更されない。
<About OUI of physical network interface>
The MAC address of the physical network interface is assigned to the network interface when the network interface is manufactured. Therefore, in general, the MAC address of a physical network interface is not changed by the OS that uses the network interface.
物理ネットワークインタフェースの OUI は、そのネットワークインタフェースを製造したベンダを特定するための識別子である。ネットワークインタフェースを製造するベンダは、製造したネットワークインタフェースに対し、そのベンダに割り当てられた OUI を含む MAC アドレスを割り当てる。なお、各ベンダは、OUI の管理を行っている IEEE(登録商標)(The Institute of Electrical and Electronics Engineers, Inc.)に申請を行うことで、OUI の割り当てを受ける。 The OUI of the physical network interface is an identifier for identifying the vendor that manufactured the network interface. A vendor that manufactures a network interface assigns a MAC address including the OUI assigned to that vendor to the manufactured network interface. Each vendor receives an OUI assignment by applying to the IEEE (the Institute of Electrical and Electronics Engineers, Inc.), which manages the OUI.
図6は、MAC アドレスの構成を例示する図である。MAC アドレスは48ビットの値である。一般に、MAC アドレスの上位24ビットが OUI を表す。ベンダは、製造する各ネットワークインタフェースに対し、重複しない MAC アドレスを割り当てる。こうすることで、物理ネットワークインタフェース同士では MAC アドレスが重複しないようになっている。 FIG. 6 is a diagram illustrating a configuration of the MAC address. The MAC address is a 48-bit value. In general, the upper 24 bits of the MAC address represent OUI. Vendors assign unique MAC addresses to each network interface they manufacture. This prevents MAC addresses from overlapping between physical network interfaces.
ただし、本実施形態の情報処理装置2000は、MAC アドレスの桁数及び OUI の桁数には依存しない。そのため情報処理装置2000は、将来 MAC アドレスの桁数や OUI の桁数が変更された場合でも動作可能である。
However, the
<仮想ネットワークインタフェースの OUI について>
仮想ネットワークインタフェースは物理的に製造されるハードウエアではない。例えば仮想マシンの仮想ネットワークインタフェースは、VMM によって仮想的に実現されるものである。原理的には、VMM は、仮想ネットワークインタフェースに対して任意の MAC アドレスを割り当てることができる。そのため、仮想ネットワークインタフェースの OUI も任意の値を取り得る。
<About OUI of virtual network interface>
A virtual network interface is not physically manufactured hardware. For example, the virtual network interface of a virtual machine is virtually realized by VMM. In principle, VMM can assign any MAC address to a virtual network interface. Therefore, the OUI of the virtual network interface can take any value.
しかし、VMM が仮想ネットワークインタフェースに対して完全に任意の MAC アドレスを割り当てると、ネットワーク内に同じ MAC アドレスを持つ複数のネットワークインタフェースが存在しうることとなる。その結果、データが目的のネットワークインタフェースに到達しないなどの問題が生じうる。 However, if VMM completely assigns an arbitrary MAC address to a virtual network interface, there may be multiple network interfaces with the same MAC address in the network. As a result, problems such as data not reaching the target network interface may occur.
そこで、仮想ネットワークインタフェースには、特定の OUI 含む MAC アドレスを割り当てることが一般的になっている。そのために、各 VMM を作成しているソフトウエアベンダの中にも、IEEE(登録商標)に申請を行って OUI の割り当てを受けているベンダがある。このように予め割り当てられた OUI を仮想ネットワークインタフェースに用いることで、異なる種類の VMM によって生成される仮想ネットワークインタフェースには、それぞれ異なる OUI を示すネットワークインタフェースが割り当てられるようにしている。例えば VMM を作成するベンダは、VM の設定ファイルのひな形を用意し、そのひな形に記述されている MAC アドレスの OUI を、そのベンダに割り当てられた OUI にしておく。一般に、ユーザはこのひな形を利用して VM の設定を記述することが多い。そのため、仮想ネットワークインタフェースに割り当てられる MAC アドレスに、ベンダ固有の OUI が含まれる確率が高いといえる。 Therefore, it is common to assign a MAC address including a specific OUI to a virtual network interface. For this reason, some software vendors that create each VMM apply to IEEE (registered trademark) and are assigned an OUI. By using the OUI assigned in advance as the virtual network interface in this way, network interfaces indicating different OUIs are assigned to virtual network interfaces generated by different types of VMMs. For example, a vendor who creates VMM prepares a template for the VM configuration file, and sets the OUI of the MAC address described in the template to the OUI assigned to the vendor. In general, users often use this template to describe VM settings. Therefore, it can be said that there is a high probability that the MAC address assigned to the virtual network interface includes a vendor-specific OUI.
また、MAC アドレスの重複を避ける必要があることは、エミュレータによって生成される仮想ネットワークインタフェースについても同様である。そのため、エミュレータを生成するベンダについても、同様の仕組みによって MAC アドレスが重複しないようにすると考えられる。 Similarly, it is necessary to avoid duplication of MAC addresses for virtual network interfaces generated by emulators. For this reason, it is thought that vendors that generate emulators will also avoid duplicating MAC addresses using a similar mechanism.
<OUI を利用した推定>
本実施形態の推定部2040は、上述した OUI の特徴に着目して推定を行う。例えば推定部2040は、仮想ネットワークインタフェースの MAC アドレスに含まれうる OUI のリストを取得する。推定部2040は、推定対象のネットワークインタフェース120(受信部2020が受信したデータの送信元の MAC アドレスを持つネットワークインタフェース120)の OUI がこのリストに含まれているか否かを判定する。そして、推定部2040は、推定対象のネットワークインタフェース120の OUI がこのリストに含まれている場合、このネットワークインタフェース120は仮想ネットワークインタフェースであると推定する。一方、推定部2040は、推定対象のネットワークインタフェース120の OUI がこのリストに含まれていない場合、このネットワークインタフェース120は物理ネットワークインタフェースであると推定する。
<Estimation using OUI>
The
図7は、仮想ネットワークインタフェースの MAC アドレスに含まれうる OUI のリストを例示する図である。このリストをリスト200と表記する。例えばリスト200は、VMM を作成するソフトウエアベンダに割り当てられた OUI を列挙したリストである。推定部2040は、推定対象のネットワークインタフェース120の OUI がリスト200に列挙されている OUI のいずれかと合致する場合、このネットワークインタフェース120が仮想ネットワークインタフェースであると推定する。
FIG. 7 is a diagram exemplifying a list of OUIs that can be included in the MAC address of the virtual network interface. This list is referred to as a
なお、推定部2040は、物理ネットワークインタフェースの MAC アドレスに含まれうる OUI のリストを取得してもよい。例えばこのリストは、物理ネットワークインタフェースを製造する各ハードウエアベンダに割り当てられた OUI を列挙したリストである。推定部2040は、推定対象のネットワークインタフェース120の OUI がこのリストに含まれている場合、このネットワークインタフェース120は物理ネットワークインタフェースであると推定する。一方、推定部2040は、推定対象のネットワークインタフェース120の OUI がこのリストに含まれていない場合、このネットワークインタフェース120は仮想ネットワークインタフェースであると推定する。
Note that the
<OUI のリストの取得方法>
推定部2040が上述した各 OUI のリストを取得する方法は様々である。例えば、前述した仮想ネットワークインタフェースの MAC アドレスに含まれうる OUI や物理ネットワークインタフェースの MAC アドレスに含まれうる OUI のリストを予め作成しておき、情報処理装置2000の内部又は外部に設けられた記憶部に記憶しておく。そして、推定部2040は、この記憶部からこれら OUI のリストを取得する。ここで、物理ネットワークインタフェースの MAC アドレスに含まれうる OUI や仮想ネットワークインタフェースの OUI のリストは、物理ネットワークインタフェースを製造するベンダや VMM 等を作成するベンダに問い合わせたり、OUI を管理する IEEE(登録商標)に問い合わせたりすることで知ることができる。
<OUI list acquisition method>
There are various methods by which the
また、推定部2040は、上述の各ベンダや IEEE(登録商標)から自動で OUI に関する情報を取得することで、上述した OUI のリストを作成してもよい。例えば、各ベンダや IEEE(登録商標)によって OUI のデータベースなどが公開される場合、推定部2040はこのデータベースから OUI に関する情報を取得して利用する。
Further, the
<処理の流れ>
図8は、実施形態2の情報処理装置2000によって実行される処理の流れを例示するフローチャートである。以下、処理の対象となるネットワークインタフェース120をネットワークインタフェースXと表記する。
<Process flow>
FIG. 8 is a flowchart illustrating the flow of processing executed by the
受信部2020は、ネットワークインタフェースXからデータを受信する(S202)。推定部2040は、受信したデータから送信元ネットワークインタフェース(ネットワークインタフェースX)の OUI を抽出する(S204)。推定部2040は、仮想ネットワークインタフェースの OUI のリストを取得する(S206)。推定部2040は、S204で抽出した OUI が、ステップS206で取得したリストに含まれるか否かを判定する(S208)。含まれる場合(S208:YES)、図8の処理はステップS210に進む。一方、含まれない場合(S208:NO)、図8の処理はステップS212に進む。
The receiving
S210において、推定部2040は、ネットワークインタフェースXは仮想ネットワークインタフェースであると推定する。一方、S212において、推定部2040は、ネットワークインタフェースXは物理ネットワークインタフェースであると推定する。
In S210, the
<ハードウエア構成例>
例えば実施形態2の情報処理装置2000のハードウエア構成は、実施形態1の情報処理装置2000と同様に、図4で表される。本実施形態において、前述したストレージ1080に記憶される各プログラムモジュールには、本実施形態で説明した各機能を実現するプログラムがさらに含まれる。また、仮想ネットワークインタフェースの OUI のリストや物理ネットワークインタフェースの OUI のリストを情報処理装置2000の内部に記憶する場合、メモリ1060やストレージ1080などがこれらのリストを記憶する。
<Hardware configuration example>
For example, the hardware configuration of the
<作用・効果>
本実施形態の情報処理装置2000によれば、ネットワークインタフェース120から受信したデータが示すそのネットワークインタフェース120の OUI に基づいて、そのネットワークインタフェース120が仮想ネットワークインタフェースと物理ネットワークインタフェースのどちらであるかという推定が行われる。具体的には、推定部2040は、ネットワークインタフェース120の OUI が仮想ネットワークインタフェースの OUI のリストや物理ネットワークインタフェースのリストなどに含まれるか否かという判定を行うことで、上記推定を行う。この方法によれば、受信したデータから抽出したネットワークインタフェース120の OUI をリスト等に含まれる OUI と比較するという簡単な処理で、上記推定を行える。そのため、推定に要する時間が短く、かつ推定に要する計算機資源が少ないという利点がある。
<Action and effect>
According to the
[実施形態3]
図9は、実施形態3に係る情報処理装置2000を例示するブロック図である。図9において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を表している。下記で説明する点を除き、実施形態3の情報処理装置2000は、実施形態1の情報処理装置2000と同様の機能を有する。
[Embodiment 3]
FIG. 9 is a block diagram illustrating an
実施形態3の情報処理装置2000は送信部2060をさらに有する。送信部2060は、複数のネットワークインタフェースそれぞれに対してデータを送信する。以下、送信部2060によって送信されるデータを送信データと呼ぶ。
The
実施形態3の受信部2020は、各ネットワークインタフェース120から、送信データに対する応答を表すデータ(以下、応答データ)を受信する。実施形態3の推定部2040は、送信データが送信されてから応答データが受信されるまでの時間(Round Trip Time(RTT))を用いて推定を行う。
The receiving
<着目点>
実施形態3の推定部2040は、物理ネットワークインタフェースに対して送信データを送信した場合における RTT と、仮想ネットワークインタフェースに対して送信データを送信した場合における RTT との違いに着目して推定を行う。以下、この違いについて説明する。
<Points of interest>
The
物理ネットワークインタフェースと仮想ネットワークインタフェースとでは、データのハンドリングに要する時間が原理的に異なる。前述したように、仮想ネットワークインタフェースでデータを受信する場合であっても、まずは物理ネットワークインタフェースによってデータが受信される。そして、物理ネットワークインタフェースよって受信されたデータが仮想ネットワークインタフェースへ受け渡される。 The time required for data handling differs in principle between the physical network interface and the virtual network interface. As described above, even when data is received by the virtual network interface, data is first received by the physical network interface. Then, the data received by the physical network interface is transferred to the virtual network interface.
例えば図1の場合、仮想ネットワークインタフェース70を宛先とするデータは、まず物理ネットワークインタフェース30によって受信され、VMM 20によって処理される。VMM 20は、このデータの宛先が物理ネットワークインタフェース30でないことを割り出すと、仮想ブリッジ80による処理を実行する。仮想ブリッジ80による処理が行われた結果、データは宛先の仮想ネットワークインタフェース70へ渡される。そして、そのデータは、その仮想ネットワークインタフェース70を用いて動作しているゲスト OS 60によって処理される。一方、データの宛先が物理ネットワークインタフェース30である場合、仮想ブリッジ80による処理は実行されない。
For example, in the case of FIG. 1, data destined for the
このように、送信データの宛先が仮想ネットワークインタフェースである場合、仮想化やエミュレーションに起因するオーバヘッド(仮想ブリッジ80による処理など)が生じる。そのため、送信データの宛先が仮想ネットワークインタフェースである場合における RTT は、送信データの宛先が物理ネットワークインタフェースである場合における RTT よりも長くなる。
As described above, when the destination of the transmission data is the virtual network interface, overhead (processing by the
また、ネットワークインタフェース120に対して複数回送信データを送信した場合における各 RTT にはばらつきがある。そして、送信データの送信先が物理ネットワークインタフェースである場合よりも、送信データの送信先が仮想ネットワークインタフェースである場合の方が、RTT のばらつきが大きくなる。一般に、データの処理にかかる時間のばらつきは、その処理が複雑なほど大きくなる傾向にある。そのため、仮想化やエミュレーションの処理を伴う仮想ネットワークインタフェースに対して送信データが送信される場合の方が、これらの処理を伴わない物理ネットワークインタフェースに対して送信データが送信される場合よりも RTT のばらつきが大きくなる。 In addition, there is variation in each RTT when transmission data is transmitted to the network interface 120 a plurality of times. The variation in RTT is larger when the transmission destination of the transmission data is a virtual network interface than when the transmission destination of the transmission data is a physical network interface. In general, variation in time required for data processing tends to increase as the processing becomes more complicated. For this reason, when sending data is sent to a virtual network interface with virtualization or emulation processing, the RTT is sent more than when sending data is sent to a physical network interface without these processing. The variation becomes large.
<RTT の具体例>
以下、RTT の大きさ及びばらつきの実測値を例示する。図10から図12は、ネットワークインタフェースに対して送信データを送信した場合における RTT を例示するグラフである。図10から図12はいずれも、X軸が試行回数を表しており、Y軸が RTT を表している。図10における送信データは ARP(Address Resolution Protocol)リクエストであり、図11における送信データは NS(Neighbor Solicitation) メッセージであり、図12における送信データは ICMP(Internet Control Message Protocol) echo リクエストである。これらの各送信データについての説明は後述する。
<Specific examples of RTT>
The following are examples of measured values of RTT size and variation. 10 to 12 are graphs illustrating the RTT when transmission data is transmitted to the network interface. In each of FIGS. 10 to 12, the X axis represents the number of trials, and the Y axis represents RTT. The transmission data in FIG. 10 is an ARP (Address Resolution Protocol) request, the transmission data in FIG. 11 is an NS (Neighbor Solicitation) message, and the transmission data in FIG. 12 is an Internet Control Message Protocol (ICMP) echo request. A description of each of these transmission data will be given later.
図10から図12のいずれのグラフにおいても、物理ネットワークインタフェースが送信先である場合の RTT の方が、仮想ネットワークインタフェースが送信先である場合の RTT よりも小さい。また、いずれのグラフにおいても、物理ネットワークインタフェースが送信先である場合の RTT の方が、仮想ネットワークインタフェースが送信先である場合の RTT よりもばらつきが小さい。 10 to 12, the RTT when the physical network interface is the transmission destination is smaller than the RTT when the virtual network interface is the transmission destination. Also, in any graph, the RTT when the physical network interface is the transmission destination has less variation than the RTT when the virtual network interface is the transmission destination.
そこで、実施形態3の推定部2040は、例えば以下に示す方法で推定を行う。
Therefore, the
<RTT の大きさを用いる推定方法>
前述したように、物理ネットワークインタフェースに対して送信データを送信する場合の方が、仮想ネットワークインタフェースに対して送信データを送信する場合よりも RTT が小さくなる。そこで推定部2040は、RTT の大きさを用いて推定を行う。
<Estimation method using RTT size>
As described above, the RTT is smaller when transmission data is transmitted to the physical network interface than when transmission data is transmitted to the virtual network interface. Therefore, the
例えば推定部2040は、各ネットワークインタフェース120に対して送信データを送信し、RTT が最も小さいネットワークインタフェース120が、物理ネットワークインタフェースであると推定する。また例えば、推定部2040は、RTT が最も大きいネットワークインタフェースが、仮想ネットワークインタフェースであると推定する。
For example, the
また例えば、推定部2040は、RTT の大きさに基づいてネットワークインタフェース120を複数のグループにクラスタリングしてもよい。そして、推定部2040はこれらのグループを用いて推定を行う。例えば推定部2040は、RTT の大きさが小さい順にグループを並べた場合において所定順位以上にあるグループに属するネットワークインタフェース120が、物理ネットワークインタフェースであると推定する。また、推定部2040は、順位が上記所定順位未満であるグループに属するネットワークインタフェース120が、仮想ネットワークインタフェースであると推定する。例えば上記所定順位は1である。この場合、推定部2040は、RTT の大きさが最も小さいグループに属するネットワークインタフェース120が、物理ネットワークインタフェースであると推定する。上記所定順位は、推定部2040に予め設定されていてもよいし、情報処理装置2000の内部又は外部の記憶部に記憶されていてもよい。後者の場合、推定部2040は、推定を行う際に上記所定順位を記憶部から取得する。
For example, the
なお、推定部2040は、複数のネットワークインタフェース120それぞれに対して複数の送信データを送信してもよい。この場合、推定部2040は、各ネットワークインタフェース120それぞれについて、RTT の統計値を算出する。そして、推定部2040は、この統計値を用いて、上述の各推定を行う。例えば推定部2040は、RTT の平均値が最も小さいネットワークインタフェース120が、物理ネットワークインタフェースであると推定する。また例えば推定部2040は、RTT の平均値が最も大きいネットワークインタフェース120が、仮想ネットワークインタフェースであると推定する。また、推定部2040は、この統計値を用いて、前述のクラスタリングによる推定を行ってもよい。
Note that the
RTT の大きさを表す統計値は様々である。例えばこの統計値は、RTT の平均値、中央値、又は最頻値などである。 There are various statistics representing the magnitude of RTT. For example, the statistical value is an average value, median value, or mode value of RTT.
<RTT のばらつきを用いる推定方法>
前述したように、物理ネットワークインタフェースに対して送信データを送信する場合の方が、仮想ネットワークインタフェースに対して送信データを送信する場合よりも RTT のばらつきが小さいと考えられる。そこで推定部2040は、RTT のばらつきを用いて推定を行う。
<Estimation method using RTT variation>
As described above, it is considered that the variation in RTT is smaller when transmission data is transmitted to the physical network interface than when transmission data is transmitted to the virtual network interface. Therefore, the
例えば推定部2040は、RTT のばらつきが最も小さいネットワークインタフェースが、物理ネットワークインタフェースであると推定する。また例えば、推定部2040は、RTT のばらつきが最も大きいネットワークインタフェース120が、仮想ネットワークインタフェースであると推定する。
For example, the
また例えば、推定部2040は、RTT のばらつきに基づいてネットワークインタフェース120を複数のグループにクラスタリングしてもよい。そして、推定部2040はこれらのグループを用いて推定を行う。例えば推定部2040は、RTT のばらつきが小さい順にグループを並べた場合において所定順位以上にあるグループに属するネットワークインタフェース120が、物理ネットワークインタフェースであると推定する。また、推定部2040は、順位が上記所定順位未満であるグループに属するネットワークインタフェース120が、仮想ネットワークインタフェースであると推定する。例えば上記所定順位は1である。この場合、推定部2040は、RTT のばらつきが最も小さいグループに属するネットワークインタフェース120が、物理ネットワークインタフェースであると推定する。上記所定順位は、推定部2040に予め設定されていてもよいし、情報処理装置2000の内部又は外部の記憶部に記憶されていてもよい。後者の場合、推定部2040は、推定を行う際に上記所定順位を記憶部から取得する。
For example, the
RTT のばらつきを用いる場合、送信部2060は、複数のネットワークインタフェース120それぞれに対して複数の送信データを送信する。そして、推定部2040は、各ネットワークインタフェース120それぞれについて、RTT のばらつきを表す統計値を算出する。そして推定部2040は、このばらつきを表す統計値を用いて上記推定を行う。
When using variation in RTT, the
RTT のばらつきを表す統計値は様々である。例えばこの統計値は、RTT の分散や標準偏差などである。 There are various statistics that represent the variation in RTT. For example, this statistic is RTT variance or standard deviation.
<推定部2040が行うその他の処理>
推定部2040は、推定の確度を高くするために、以下で示す処理を行ってもよい。
<Other processing performed by the
The
例えば推定部2040は、各ネットワークインタフェース120から受信するデータのうち、最初の所定数(例えば1つ)のデータについては、RTT の統計値やばらつきの算出に利用しない。ネットワークインタフェース120に対して最初に送信データを送信する場合、ネットワークインタフェース120のアドレス解決が行われうる。そのため、観測される RTT が、その後に観測される RTT と比較して大きくなる可能性がある。よって、最初に観測される RTT を除外して RTT の統計値の算出等を行った方が、推定部2040による推定の確度が高くなる。
For example, the
また、推定部2040は、ネットワークインタフェース120ごとに、RTT の外れ値を除外してもよい。例えば推定部2040は、ネットワークインタフェースXについて観測された RTT の集合について、平均値μ及び標準偏差σを算出する。推定部2040は、この RTT の集合から、平均値μとの距離がσよりも大きい RTT(μ+σより大きい RTT 又はμ-σより小さい RTT)を外れ値として除外する。そして、推定部2040は、外れ値を除外した集合を用いて推定を行う。なお、統計処理を行う際に外れ値を除外する方法には様々な既知の手法があり、推定部2040はこれら既知の様々な手法を利用できる。そのため、外れ値を除外する方法は例示した方法に限定されない。
The
<送信部2060の動作の詳細>
送信部2060は、各ネットワークインタフェース120に対して、そのネットワークインタフェース120から応答を得られる送信データを送信する。このような送信データの種類は様々である。例えば送信部2060は、ARP リクエストを送信する。ネットワークインタフェース120を用いて動作する OS や VMM などは、ARP リクエストを受信すると、ARP リプライを送信する。受信部2020は、応答データとして ARP リプライを受信する。よって、RTT は、送信部2060が ARP リクエストを送信してから受信部2020が ARP リプライを受信するまでの時間となる。なお、ARP リクエスト及び ARP リプライは、RFC 826(非特許文献2)で定義されている。
<Details of Operation of
The
例えば送信部2060は、ICMP echo リクエストを送信する。ネットワークインタフェース120を用いて動作する OS や VMM などは、ICMP echo リクエストを受信すると、 ICMP echo リプライを送信する。受信部2020は、応答データとして ICMP echo リプライを受信する。よって、RTT は、送信部2060が ICMP echo リクエストを送信してから受信部2020が ICMP echo リプライを受信するまでの時間となる。
For example, the
なお、IPv6 アドレスを持つネットワークインタフェースに対しては、ICMPv6(ICMP version 6)echo リクエストを送信してもよい。この場合、受信部2020は、応答データとして ICMPv6 echo リプライを受信する。
An ICMPv6 (ICMP version 6) echo request may be sent to a network interface having an IPv6 address. In this case, the receiving
なお、ICMP は RFC792(非特許文献3)で定義されている。また、ICMPv6 は RFC4443(非特許文献4)で定義されている。 ICMP is defined in RFC792 (Non-Patent Document 3). ICMPv6 is defined in RFC4443 (Non-Patent Document 4).
また例えば、送信部2060は、NS メッセージを送信する。ネットワークインタフェース120を用いて動作する OS などは、NS メッセージを受信すると、NA(Neighbor Advertisement)メッセージを送信する。受信部2020は、応答メッセージとして NA メッセージを受信する。よって、RTT は、送信部2060が NS メッセージを送信してから受信部2020が NA メッセージを受信するまでの時間となる。なお、NS メッセージを受信するネットワークインタフェース120は、IPv6 アドレスを持つネットワークインタフェースである。NS メッセージ及び NA メッセージは RFC4861(非特許文献5)で定義されている。
For example, the
なお、送信データは、その送信データを受信したネットワークインタフェース120から応答を得られるデータであればよく、上述した ARP リクエスト等に限定されない。
The transmission data is not limited to the above-described ARP request or the like as long as it is data that can obtain a response from the
<ネットワーク130の構成について>
ネットワーク130の構成次第で、送信データして利用できるデータが異なる。具体的には、情報処理装置2000とネットワークインタフェース120が同一リンク内にあるか否かによって異なる。ネットワークインタフェース120が情報処理装置2000と異なるリンクに存在する場合、レイヤ2レベルで送信される送信データ(ARP リクエストなど)は、ネットワークインタフェース120に到達できないためである。
<Configuration of
Depending on the configuration of the
図13はネットワーク130の構成を例示する第1の図である。図13において、各ネットワークインタフェース120はいずれも、情報処理装置2000と同一のリンク内に存在する。この場合、送信部2060から送信するデータは、前述したいずれの種類のデータでも構わない。
FIG. 13 is a first diagram illustrating the configuration of the
図14はネットワーク130の構成を例示する第2の図である。図14において、各ネットワークインタフェース120は、情報処理装置2000と異なるリンク内に存在する。この場合、送信部2060は、異なるリンクに存在するネットワークインタフェース120へ到達できるデータを送信する。具体的には、送信部2060は、レイヤ3レベルのプロトコルのデータ(ICMP echo リクエストなど)を送信する。
FIG. 14 is a second diagram illustrating the configuration of the
なお、図13及び図14を用いて説明した事項は、情報処理装置2000からネットワークインタフェース120に対してデータの送信を行う後述の各実施形態についても同様である。
The items described with reference to FIGS. 13 and 14 are the same for each of the embodiments described later that transmits data from the
<処理の流れ:概要>
図15は、実施形態3の情報処理装置2000によって実行される処理の流れの概要を例示するフローチャートである。S302からS308は、複数のネットワークインタフェース120それぞれについて行うループ処理である。S302において、送信部2060は、まだ送信データの送信先としていないネットワークインタフェース120があるか否かを判定する。既に全てのネットワークインタフェース120が送信データの送信先とされた場合、図15の処理はS310に進む。一方、まだ送信データの送信先とされていないネットワークインタフェース120がある場合、図15の処理はS304に進む。この際、送信部2060は、まだ送信データの送信先とされていないネットワークインタフェース120の中から1つを選択する。図15において、ここで選択されたネットワークインタフェース120はネットワークインタフェースiと表記されている。
<Process flow: Overview>
FIG. 15 is a flowchart illustrating an overview of the flow of processing executed by the
S304において、送信部2060はネットワークインタフェースiに対して送信データを送信する。S306において、受信部2020はネットワークインタフェースiから応答データを受信する。ただし、受信部2020は、ネットワークインタフェースiから非同期に受信データを受信してもよい。この場合、図15の処理は、S304の後にS308に進む。S308はループ処理Aの終端である。図15の処理は、S302に戻る。
In S304, the
前述したように、全てのネットワークインタフェース120が送信データの送信先とされた場合、図15の処理はS310に進む。S310において、推定部2040は、各ネットワークインタフェースについて得られた RTT を用いて推定を行う。
As described above, when all the network interfaces 120 are the transmission destinations of the transmission data, the processing in FIG. 15 proceeds to S310. In S310, the
なお、各ネットワークインタフェース120に対して複数回送信データを送信する場合、各ネットワークインタフェース120についてS304及びS306を複数回実行する。
When transmitting transmission data to each network interface 120 a plurality of times, S304 and S306 are executed a plurality of times for each
前述したように、推定部2040による推定には、例えばRTT の大きさを利用する方法と、RTT のばらつきを利用する方法がある。以下、それぞれの方法の流れを、フローチャートを用いて例示する。
As described above, the estimation by the
<RTT の大きさを用いる推定処理の流れ>
図16は、RTT の大きさに基づいて行う推定処理の流れを例示するフローチャートである。推定部2040は、RTT の大きさでネットワークインタフェースを複数のグループにクラスタリングする(S402)。推定部2040は、RTT の大きさの昇順にグループをソートする(S404)。推定部2040は、所定順位以上のグループに属するネットワークインタフェース120が物理ネットワークインタフェースであると推定する(S406)。推定部2040は、所定順位未満であるネットワークインタフェース120が物理ネットワークインタフェースであると推定する(S408)。
<Flow of estimation process using RTT size>
FIG. 16 is a flowchart illustrating the flow of estimation processing performed based on the size of RTT. The
<RTT のばらつきを用いる推定処理の流れ>
図17は、RTT のばらつきに基づいて行う推定処理の流れを例示するフローチャートである。推定部2040は、RTT のばらつき度合いでネットワークインタフェースを複数のグループにクラスタリングする(S502)。推定部2040は、RTT のばらつきの大きさの昇順にグループをソートする(S504)。推定部2040は、所定順位以上のグループに属するネットワークインタフェース120が物理ネットワークインタフェースであると推定する(S506)。推定部2040は、所定順位未満のグループに属するネットワークインタフェース120が仮想ネットワークインタフェースであると推定する(S508)。
<Flow of estimation processing using RTT variation>
FIG. 17 is a flowchart illustrating the flow of estimation processing performed based on the variation in RTT. The
<物理ネットワークインタフェースの数が1つに限定される環境の構築>
物理ネットワークインタフェースの数が1つに限定される環境を構築した上で情報処理装置2000による推定を行うと、推定の精度を高くすることができる。物理ネットワークインタフェースの数が未知の場合、例えば RTT が2番目に小さいネットワークインタフェース120や RTT が3番目に小さいネットワークインタフェース120が、物理ネットワークインタフェースなのか仮想ネットワークインタフェースなのかを、判断しかねる場合もありうる。一方、物理ネットワークインタフェースの数が1つに限定されれば、「RTT が最も小さいネットワークインタフェース120が物理ネットワークインタフェースであり、それ以外のネットワークインタフェース120が仮想ネットワークインタフェースである」という推定を高い精度で行うことができる。
<Building an environment where the number of physical network interfaces is limited to one>
When the
そこで情報処理装置2000は、物理ネットワークインタフェースが1つに限定される環境を構築し、その後に推定部2040による推定を行ってもよい。例えば情報処理装置2000が、図18で表される構成で他の物理マシンと接続されているとする。図18は、スイッチを介して情報処理装置2000と複数の物理マシンとが接続されている構成を例示する図である。
Therefore, the
例えば情報処理装置2000は、ポート VLAN(Virtual LAN)を利用することで、情報処理装置2000と各物理マシンとが1対1で接続されるように設定を行う。図19は、ポート VLAN によって情報処理装置2000と各物理マシンとが1対1で接続されている様子を例示する図である。このような設定を行った上で送信部2060を動作させることにより、推定部2040は、物理ネットワークインタフェースの数が1つに限定される環境で推定を行うことができる。よって、推定部2040による推定の精度が高くなる。なお、ポート VLAN は既存技術であるため、これに関する説明は省略する。
For example, the
<ハードウエア構成例>
例えば実施形態3の情報処理装置2000のハードウエア構成は、実施形態1の情報処理装置2000と同様に、図4で表される。本実施形態において、前述したストレージ1080に記憶される各プログラムモジュールには、本実施形態で説明した各機能を実現するプログラムがさらに含まれる。また、ストレージ1080は、送信部2060を実現するプログラムモジュールをさらに記憶する。プロセッサ1040は、このプログラムモジュールを実行することで、送信部2060の機能を実現する。
<Hardware configuration example>
For example, the hardware configuration of the
<作用・効果>
本実施形態によれば、各ネットワークインタフェース120に対して送信データを送信した場合における RTT に基づいて推定が行われる。この方法には、実施形態2の方法と異なり、OUI のリストなど、推定に用いる情報を用意しておく必要がないという利点がある。
<Action and effect>
According to the present embodiment, estimation is performed based on the RTT when transmission data is transmitted to each
[実施形態4]
図20は、実施形態4に係る情報処理装置2000を例示するブロック図である。図20において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を表している。
[Embodiment 4]
FIG. 20 is a block diagram illustrating an
実施形態4の情報処理装置2000は、検出部2080を有する。検出部2080は、ネットワークインタフェース120から受信するデータを用いて、そのネットワークインタフェース120がデータの送受信を行える状態になったことを検出する。以下、「データの送受信を行える状態」をオンラインとも表記し、「データの送受信を行えない状態」をオフラインとも表記する。
The
実施形態4の推定部2040は、ネットワークインタフェース120がオンラインになったタイミングに基づいて推定を行う。例えば推定部2040は、オンラインになった時点が最も早いネットワークインタフェースが、物理的なネットワークインタフェースであると推定する。
The
<着目点>
本実施形態の情報処理装置2000は、物理ネットワークインタフェースがオンラインになるタイミングと仮想ネットワークインタフェースがオンラインになるタイミングとの差異に着目して推定を行う。具体的には、ある物理マシンが持つ物理ネットワークインタフェースがオンラインになるタイミングは、その物理マシン上で生成される仮想ネットワークインタフェースがオンラインになるタイミングよりも早い。以下、その理由を説明する。
<Points of interest>
The
前述したように、仮想ネットワークインタフェースは、物理マシン上で動作する VMM やエミュレータなどによって実現される。そして、仮想ネットワークインタフェースを生成する VMM や エミュレータなどが起動している場合、一般に、物理ネットワークインタフェースはオンラインになる。 As described above, the virtual network interface is realized by VMM or emulator running on a physical machine. When VMM or an emulator that creates a virtual network interface is running, the physical network interface is generally online.
例えば VMM の場合を例に説明する。図21は、VMM 及び VM が起動する流れを例示する図である。まず、物理マシンが起動し、その上で VMM が起動する。そして、VMM によって物理ネットワークインタフェースが初期化されることで、物理ネットワークインタフェースがオンラインになる。次に、VMM によって VM が起動され、VM 上でゲスト OS が起動される。さらに、ゲスト OS によって仮想ネットワークインタフェースが初期化されることで、仮想ネットワークインタフェースがオンラインになる。なお、VM が複数起動する場合、VM は順に起動される場合もあるし、並列に起動される場合もある。 For example, the case of VMM will be described as an example. FIG. 21 is a diagram illustrating a flow of starting up VMM and VM. First, the physical machine is started, and then VMM is started. Then, the physical network interface is brought online by the VMM initializing the physical network interface. Next, the VM is started by VMM, and the guest OS is started on the VM. In addition, the virtual network interface is brought online when the virtual network interface is initialized by the guest OS. When multiple VMs are started, the VMs may be started in order or in parallel.
図21で例示したように、仮想マシン環境において物理ネットワークインタフェースがオンラインになるタイミングは、仮想ネットワークインタフェースがオンラインになるタイミングよりも早くなる。 As illustrated in FIG. 21, the timing at which the physical network interface is brought online in the virtual machine environment is earlier than the timing at which the virtual network interface is brought online.
また、仮想ネットワークインタフェースがエミュレーションによって実現される場合、物理マシン上で直接動作する OS によってエミュレータが起動される。そのため、エミュレータが起動する際には、この OS の起動処理が完了している。よって、この OS によって初期化される物理ネットワークインタフェースはオンラインになっている。よって、エミュレーション環境においても、物理ネットワークインタフェースがオンラインになるタイミングは、仮想ネットワークインタフェースがオンラインになるタイミングよりも早くなる。 When the virtual network interface is realized by emulation, the emulator is started by the OS that runs directly on the physical machine. Therefore, when the emulator starts, the OS startup process is complete. Therefore, the physical network interface initialized by this OS is online. Therefore, even in the emulation environment, the timing when the physical network interface comes online is earlier than the timing when the virtual network interface comes online.
<推定部2040による推定処理>
以上の点に着目し、本実施形態の推定部2040は、オンラインになったタイミングが最も早いネットワークインタフェース120が、物理ネットワークインタフェースであると推定する。
<Estimation Process by
Focusing on the above points, the
また上述した説明によれば、仮想ネットワークインタフェースがオンラインにあるタイミングは、物理ネットワークインタフェースがオンラインになるタイミングよりも遅いともいえる。そこで推定部2040は、オンラインになるタイミングが最も遅いネットワークインタフェース120が、仮想ネットワークインタフェースであると推定してもよい。
Further, according to the above description, it can be said that the timing when the virtual network interface is online is later than the timing when the physical network interface is online. Therefore, the
<ネットワークインタフェース120がオンラインになったことを検出する方法>
一般にネットワークインタフェースは、初期化の過程や初期化が終了した後において、データの送受信を行う。例えば自動で IP アドレスが割り当てられるネットワークインタフェースは、初期化のタイミングで DHCP discovery パケットを送信する。さらに、IPv6 アドレスを持つネットワークインタフェースについては、ネットワークインタフェースの起動時に DAD(Duplicate Address Detection)処理が行われる。具体的には、ネットワークインタフェースは NS メッセージの送信を行う。さらには、ネットワークインタフェースは、ファイル共有やサービスディスカバリのための広告データ(LLMNR(Link-Local Multicast Name Resolution)や mDNS(multicast Domain Name System)などのデータ)も送信しうる。このように、ネットワークインタフェース120がオンラインになる時(ネットワークインタフェース120が初期化される時)やその後において、ネットワークインタフェース120は何らかのデータを送信する。
<Method for Detecting that
In general, the network interface transmits and receives data after the initialization process and the initialization is completed. For example, a network interface that is automatically assigned an IP address sends a DHCP discovery packet at the initialization timing. Furthermore, for network interfaces with IPv6 addresses, DAD (Duplicate Address Detection) processing is performed when the network interface is activated. Specifically, the network interface sends NS messages. Furthermore, the network interface can also send advertisement data (data such as LLMNR (Link-Local Multicast Name Resolution) and mDNS (multicast Domain Name System)) for file sharing and service discovery. Thus, when the
そこで検出部2080は、ネットワークインタフェース120から受信するデータに基づいて、そのネットワークインタフェース120がオンラインになったことを検出する。例えば検出部2080は、ネットワークインタフェース120から所定のデータを受信した場合に、そのネットワークインタフェース120がオンラインになったと判定する。所定のデータは、例えば前述した DHCP discover パケットや NS メッセージなどである。
Therefore, the
「上記所定のデータとしてどの種類のデータを扱うか」の定義は、予め検出部2080に設定されていてもよいし、情報処理装置2000の内部又は外部に設けられる記憶部に記憶しておいてもよい。後者の場合、検出部2080は、この記憶部から情報を取得することで、どの種類のデータを所定のデータとして扱うかを把握する。
The definition of “what kind of data is handled as the predetermined data” may be set in the
「どのネットワークインタフェース120が最も早くオンラインになったか」を判定するためには、全てのネットワークインタフェース120がオフラインであるタイミングを把握する必要がある。さもないと、例えば情報処理装置2000が動作を開始した後に、あるネットワークインタフェース120がオンラインになったことが検出され、それ以外のネットワークインタフェース120についてはオンラインになったことが検出されない場合に、推定部2040による推定が難しくなる。なぜなら、「それ以外のネットワークインタフェース120はオフラインである」というケースと、「それ以外のネットワークインタフェース120は、情報処理装置2000が動作を開始前に既にオンラインになっていた」というケースの区別がつかないためである。
In order to determine “which
全てのネットワークインタフェース120がオフラインであるタイミングを把握する方法は様々である。例えば、情報処理装置2000を運用する環境が、一般のオフィスのように、PC 等の電源を切ってから帰宅するというルールに基づいて運用されているとする。この場合、例えば情報処理装置2000は、所定の時間(例えば夜の0時)に、全てのネットワークインタフェース120がオフラインになったとみなす。
There are various methods for grasping the timing when all the network interfaces 120 are offline. For example, it is assumed that the environment in which the
また情報処理装置2000は、各ネットワークインタフェース120がオフラインになることを検出してもよい。具体的には、後述の実施形態5に示すように、情報処理装置2000は、ネットワークインタフェース120に対して繰り返しデータを送信し、そのデータに対する応答を受信部2020が受け取らなくなった場合に、そのネットワークインタフェース120がオフラインになったと判定する。この方法の詳細については、実施形態5で説明する。
Further, the
ただし情報処理装置2000は、情報処理装置2000が動作を開始した際に、全てのネットワークインタフェース120がオフラインになっているとみなしてもよい。
However, the
<処理の流れ>
図22は、実施形態4の情報処理装置2000によって実行される処理の流れを例示するフローチャートである。検出部2080は、各ネットワークインタフェースから受信したデータに基づいて、各ネットワークインタフェースがオンラインになったことを検出する(S602)。推定部2040は、最も早くオンラインになったネットワークインタフェースが物理ネットワークインタフェースであると推定する(S604)。
<Process flow>
FIG. 22 is a flowchart illustrating the flow of processing executed by the
なお推定部2040は、「最も早くオンラインになったネットワークインタフェース以外のネットワークインタフェースは仮想ネットワークインタフェースである」と推定してもよい。
Note that the
<物理ネットワークインタフェースの数が1つに限定される環境の構築>
実施形態4の情報処理装置2000は、実施形態3の情報処理装置2000と同様に、物理ネットワークインタフェースの数が1つに限定される環境を構築した上で推定を行ってもよい。
<Building an environment where the number of physical network interfaces is limited to one>
Similar to the
<ハードウエア構成例>
例えば実施形態4の情報処理装置2000のハードウエア構成は、実施形態1の情報処理装置2000と同様に、図4で表される。本実施形態において、前述したストレージ1080に記憶される各プログラムモジュールには、本実施形態で説明した各機能を実現するプログラムがさらに含まれる。また、ストレージ1080は、検出部2080を実現するプログラムモジュールをさらに記憶する。プロセッサ1040は、このプログラムモジュールを実行することで、検出部2080の機能を実現する。
<Hardware configuration example>
For example, the hardware configuration of the
<作用・効果>
本実施形態の情報処理装置2000によれば、ネットワークインタフェース120がオンラインになるタイミングに基づいて、ネットワークインタフェース120が物理ネットワークインタフェースと仮想ネットワークインタフェースのどちらなのかを推定することができる。ネットワークインタフェース120がオンラインになるタイミングに基づいて推定を行うため、推定部2040による推定を、ネットワークインタフェース120がネットワーク130上に接続してすぐに行えるという利点がある。
<Action and effect>
According to the
[実施形態5]
図23は、実施形態5に係る情報処理装置2000を例示するブロック図である。図23において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を表している。
[Embodiment 5]
FIG. 23 is a block diagram illustrating an
実施形態5の情報処理装置2000は、判定部2100を有する。判定部2100は、ネットワークインタフェース120から受信したデータの履歴を用いて、そのネットワークインタフェース120がオンラインであるか否かを判定する。以下、受信したデータの履歴を、受信履歴と表記する。実施形態5の推定部2040は、判定部2100による判定結果を用いて推定を行う。
The
<着目点>
一般に、物理ネットワークインタフェースが1つである環境において、「仮想ネットワークインタフェースはオンラインであり、物理ネットワークインタフェースはオフラインである」という状況は起こらない。前述した通り、仮想ネットワークインタフェースは、物理ネットワークインタフェースを利用して外部の物理マシン等と通信する。そのため、仮想ネットワークインタフェースが外部の物理マシン等と通信する際には、仮想ネットワークインタフェースだけでなく、物理ネットワークインタフェースもオンラインである必要がある。
<Points of interest>
Generally, in an environment where there is one physical network interface, the situation “virtual network interface is online and physical network interface is offline” does not occur. As described above, the virtual network interface communicates with an external physical machine or the like using the physical network interface. Therefore, when the virtual network interface communicates with an external physical machine or the like, not only the virtual network interface but also the physical network interface needs to be online.
一方で、「仮想ネットワークインタフェースはオフラインであり、物理ネットワークインタフェースはオンラインである」という状況は、一般的に起こりうる状況である。例えば、「VMM は起動しているが、VM は起動していない」という状況がこの状況に相当する。 On the other hand, the situation that “the virtual network interface is offline and the physical network interface is online” is a situation that can generally occur. For example, the situation “VMM is running but VM is not running” corresponds to this situation.
<推定部2040による推定処理>
そこで、推定部2040は、「あるネットワークインタフェース X がオフラインであり、かつ別のネットワークインタフェース Y がオンラインである」という場合に、ネットワークインタフェース X が仮想ネットワークインタフェースであると推定する。
<Estimation Process by
Therefore, the
また例えば、推定部2040は、オンラインのネットワークインタフェースが1つのみである場合、そのネットワークインタフェースは物理ネットワークインタフェースであると推定する。
Further, for example, when there is only one online network interface, the
<判定部2100の詳細>
判定部2100は、各ネットワークインタフェース120の状態を把握するために、ネットワークインタフェース120から受信するデータの履歴を利用する。判定部2100が利用する履歴は様々である。例えば判定部2100は、ICMP echo リプライや NA メッセージなどのように、情報処理装置2000から送信したデータ(ICMP echo リクエストや NS メッセージなど)に対する応答を表すデータの履歴を用いる。この履歴を用いることで、判定部2100は、あるネットワークインタフェース120から応答を受信した時にはそのネットワークインタフェース120がオンラインであり、応答を受信しない時にはそのネットワークインタフェース120がオフラインであると判定する。
<Details of
The
また例えば、自発的に繰り返しデータが送信するように、ネットワークインタフェースを用いて動作する OS や VMM などを構成してもよい。例えば、VMM やゲスト OS が定期的にハートビートを送信し、受信部2020がこれを受信するようにする。判定部2100は、このハートビートの履歴を利用する。具体的には、あるネットワークインタフェース120からハートビートを受信した時にはそのネットワークインタフェース120がオンラインであり、ハートビートを受信しない時にはそのネットワークインタフェース120がオフラインであると判定する。
Further, for example, an OS or VMM that operates using a network interface may be configured so that data is repeatedly transmitted spontaneously. For example, the VMM or guest OS periodically transmits a heartbeat, and the
<具体例>
図24は、情報処理装置2000によって把握される各ネットワークインタフェース120の状態を時系列で例示するグラフである。図24のグラフの横軸は時間を示しており、縦軸はネットワークインタフェース120の名前を示している。バツ印は、ネットワークインタフェース120からデータを受信した時点を示す。そして、バツ印を囲む領域は、ネットワークインタフェース120がオンラインであると推定される時間を表している。
<Specific example>
FIG. 24 is a graph illustrating the state of each
まず、ネットワークインタフェース1の状態について説明する。受信部2020は、時点 t1 より前には、ネットワークインタフェース1からデータを受信していない。また、受信部2020は、時点 t 1 以降、ネットワークインタフェース1からデータを受信し続けている。このようなデータの履歴から、判定部2100は、ネットワークインタフェース1が、時点 t1 以降オンラインになっていると判定する。
First, the state of the
次に、ネットワークインタフェース2の状態について説明する。受信部2020は、時点 t2 より前には、ネットワークインタフェース2からデータを受信していない。また、受信部2020は、時点 t2 以降、時点 t3 まで、ネットワークインタフェース2から複数回データを受信している。そして、受信部2020は、時点 t3 以降、ネットワークインタフェース2からデータを受信していない。このようなデータの履歴から、判定部2100は、ネットワークインタフェース2が時点 t2 から t3 までの間オンラインであり、時点 t3 でオフラインになったと判定する。
Next, the state of the network interface 2 will be described. The receiving
図24において、時点 t3 以降、ネットワークインタフェース2はオフラインであり、ネットワークインタフェース1はオンラインであることが分かる。そのため、推定部2040は、ネットワークインタフェース2が仮想ネットワークインタフェースであると推定する。また、推定部2040は、ネットワークインタフェース1が物理ネットワークインタフェースであると推定する。
In FIG. 24, it can be seen that after time t3, the network interface 2 is offline and the
<物理ネットワークインタフェースの数が1つに限定される環境の構築>
実施形態5の情報処理装置2000は、実施形態3の情報処理装置2000と同様に、物理ネットワークインタフェースの数が1つに限定される環境を構築した上で推定を行ってもよい。
<Building an environment where the number of physical network interfaces is limited to one>
Similarly to the
<処理の流れ>
図25は、実施形態5の情報処理装置2000によって実行される処理の流れを例示するフローチャートである。判定部2100は、各ネットワークインタフェース120から受信したデータの履歴を用いて、各ネットワークインタフェース120の状態を判定する(S702)。
<Process flow>
FIG. 25 is a flowchart illustrating the flow of processing executed by the
判定部2100は、オフラインのネットワークインタフェース120があるか否かを判定する。オフラインのネットワークインタフェース120がない場合(S704:NO)、図25の処理は再度S702に進む。一方、オフラインのネットワークインタフェース120がある場合(S704:YES)、図25の処理はS706に進む。なお図25の処理は、S702に進む前に所定の時間待機してもよい。
The
S706において、判定部2100は、オンラインのネットワークインタフェース120があるか否かを判定する。オンラインのネットワークインタフェース120がない場合(S706:NO)、図25の処理は終了する。一方、オンラインのネットワークインタフェース120がある場合(S704:YES)、図25の処理はS708に進む。
In step S706, the
S708において、推定部2040は、オフラインのネットワークインタフェース120が仮想ネットワークインタフェースであると推定する。
In step S708, the
<ハードウエア構成例>
例えば実施形態5の情報処理装置2000のハードウエア構成は、実施形態1の情報処理装置2000と同様に、図4で表される。本実施形態において、前述したストレージ1080に記憶される各プログラムモジュールには、本実施形態で説明した各機能を実現するプログラムがさらに含まれる。また、ストレージ1080は、判定部2100を実現するプログラムモジュールをさらに記憶する。プロセッサ1040は、このプログラムモジュールを実行することで、判定部2100の機能を実現する。
<Hardware configuration example>
For example, the hardware configuration of the
<作用・効果>
本実施形態によれば、「あるネットワークインタフェース120がオフラインであり、かつ別のネットワークインタフェース120がオンラインである」という状態を検出することで、ネットワークインタフェース120が物理ネットワークインタフェースと仮想ネットワークインタフェースのどちらであるかを推定することができる。例えば情報処理装置2000は、日常的に(例えば定期的に)各ネットワークインタフェース120からデータを受信するようにすることで、日常的に各ネットワークインタフェース120を監視する。このように日常的な監視を行うことで、ネットワーク130を一時的に高負荷にするということなく、推定を行うことができる。
<Action and effect>
According to the present embodiment, by detecting the state that “one
[実施形態6]
実施形態6の情報処理装置2000は、実施形態3の情報処理装置2000と同様に図9で表される。実施形態6の情報処理装置2000では、実施形態3の情報処理装置2000と同様に、送信部2060がネットワークインタフェース120に対して送信データを送信する。また、受信部2020は、送信データに対する応答を表す応答データを受信する。なお、送信データは、実施形態3で説明した ARP リクエスト、ICMP echo リクエスト、又は NS メッセージなどである。
[Embodiment 6]
The
<想定環境>
前述したように、仮想ネットワークインタフェースを宛先とするデータは、仮想ネットワークインタフェースに到達する前に、まず物理ネットワークインタフェースによって受信される。この特徴に着目し、物理ネットワークインタフェースを仮想ネットワークインタフェースのプロキシとして機能させる方法がある。本実施形態では、このように物理ネットワークインタフェースが仮想ネットワークインタフェースのプロキシとして動作する環境を想定する。以下、物理ネットワークインタフェースが仮想ネットワークインタフェースのプロキシとして機能する構成について、さらに具体的に説明する。
<Assumed environment>
As described above, data destined for the virtual network interface is first received by the physical network interface before reaching the virtual network interface. Focusing on this feature, there is a method for causing a physical network interface to function as a proxy for a virtual network interface. In this embodiment, an environment is assumed in which the physical network interface operates as a proxy for the virtual network interface. Hereinafter, the configuration in which the physical network interface functions as a proxy for the virtual network interface will be described more specifically.
例えば、物理ネットワークインタフェースを ARP プロキシとして機能させる構成がある。図26は、物理ネットワークインタフェース30が ARP プロキシとして機能する様子を例示する図である。図26では、仮想ネットワークインタフェース70を宛先とする ARP リクエストが送信されている。
For example, there is a configuration in which a physical network interface functions as an ARP proxy. FIG. 26 is a diagram illustrating a state in which the
まずこの ARP リクエストは、物理ネットワークインタフェース30によって受信される。ここで、この ARP リクエストの宛先は物理ネットワークインタフェース30ではなく仮想ネットワークインタフェース70であるため、通常なら VMM 20は、この ARP リクエストを仮想ネットワークインタフェース70に渡す。そして、ゲスト OS 60は渡されたデータを処理する。
First, this ARP request is received by the
これに対し、図26では、VMM 20は、仮想ネットワークインタフェース70を宛先とする ARP リクエストを仮想ネットワークインタフェース70に渡さず、この ARP リクエストに対する ARP リプライを生成して送信する。これにより、VMM 20が ARP プロキシとして機能する。
In contrast, in FIG. 26, the
なお、このような処理を実現するため、VMM 20は、仮想ネットワークインタフェース70の IP アドレス及び MAC アドレスを予め把握しておく。
In order to realize such processing, the
また、同様の原理により、「VMM 20が、仮想ネットワークインタフェース70を宛先とする NS メッセージをゲスト OS 60に代わって処理し、NA メッセージを送信する」という構成も実現できる。
Further, based on the same principle, a configuration in which “the
<推定部2040による推定>
通常、送信データの送信先のネットワークインタフェース120と、受信データの送信元のネットワークインタフェース120とは、同一のネットワークインタフェースとなる。しかし、上述した想定環境において送信部2060が仮想ネットワークインタフェース70へ送信データを送信した場合、受信部2020が受信する応答データは、送信データの送信先とは異なる送信元を示す。例えば図26の場合、応答データの送信元は物理ネットワークインタフェース30であり、送信データの送信先が仮想ネットワークインタフェース70となる。これは、仮想ネットワークインタフェース70を宛先とするデータに対する応答が、ゲスト OS 60ではなくVMM 20によって行われるためである。
<Estimation by the
Usually, the
そこで本実施形態の推定部2040は、送信データの送信先のネットワークインタフェース120と、受信データの送信元のネットワークインタフェース120との異同に基づいて推定を行う。例えば推定部2040は、送信データの送信先のネットワークインタフェース120と、その送信データに対する応答データの送信元のネットワークインタフェース120とが異なる場合、受信データの送信元のネットワークインタフェース120が物理ネットワークインタフェースであると推定する。またこの場合、推定部2040は、送信データの送信先のネットワークインタフェースが仮想ネットワークインタフェースであると推定してもよい。
Therefore, the
送信データの送信先や受信データの送信元は、各データのヘッダが示す IP アドレスや MAC アドレスによって特定できる。例えば送信データの送信先のネットワークインタフェース120は、送信データのヘッダが示す宛先 IP アドレスや宛先 MAC アドレスによって特定できる。また、受信データの送信元のネットワークインタフェース120は、受信データのヘッダが示す送信元 IP アドレスや送信元 MAC アドレスによって特定できる。そこで推定部2040は、送信データと受信データのヘッダが示す上記各情報を用いて、送信データの送信先のネットワークインタフェース120と、受信データの送信元のネットワークインタフェース120との異同を判定する。
The transmission destination of transmission data and the transmission source of received data can be specified by the IP address and MAC address indicated by the header of each data. For example, the
<処理の流れ1>
図27は、実施形態6の情報処理装置2000によって実行される処理の流れを例示するフローチャートである。図27において、送信データの送信先をネットワークインタフェースXと表記する。
<
FIG. 27 is a flowchart illustrating the flow of processing executed by the
送信部2060はネットワークインタフェースXへ送信データを送信する(S802)。受信部2020は応答データを受信する(S804)。推定部2040は、応答データの送信元がネットワークインタフェースXであるか否かを判定する(S806)。応答データの送信元がネットワークインタフェースXでない場合(S806:NO)、図27の処理は終了する。一方、応答データの送信元がネットワークインタフェースXである場合(S808:YES)、図27の処理はS808に進む。
The
推定部2040は、受信データの送信元のネットワークインタフェースが物理ネットワークインタフェースであると推定する(S808)。ネットワークインタフェースXは仮想ネットワークインタフェースであると推定する(S810)。
The
<物理ネットワークインタフェースの数が1つに限定される環境の構築>
実施形態6の情報処理装置2000は、実施形態3の情報処理装置2000と同様に、物理ネットワークインタフェースの数が1つに限定される環境を構築した上で推定を行ってもよい。
<Building an environment where the number of physical network interfaces is limited to one>
Similar to the
<ハードウエア構成>
例えば実施形態6の情報処理装置2000のハードウエア構成は、実施形態1の情報処理装置2000と同様に、図4で表される。本実施形態において、前述したストレージ1080に記憶される各プログラムモジュールには、本実施形態で説明した各機能を実現するプログラムがさらに含まれる。また、ストレージ1080は、送信部2060を実現するプログラムモジュールをさらに記憶する。プロセッサ1040は、このプログラムモジュールを実行することで、送信部2060の機能を実現する。
<Hardware configuration>
For example, the hardware configuration of the
<作用・効果>
本実施形態によれば、物理ネットワークインタフェースが仮想ネットワークインタフェースのプロキシとして機能している環境において、ネットワークインタフェース120が物理ネットワークインタフェースと仮想ネットワークインタフェースのどちらであるかを推定できる。そのため、上述の様な特殊な環境においても、そのような環境の特徴を利用して、ネットワークインタフェース120が物理ネットワークインタフェースと仮想ネットワークインタフェースのどちらであるかを推定することができる。
<Action and effect>
According to the present embodiment, it is possible to estimate whether the
[実施形態7]
図28は、実施形態7の情報処理装置2000を例示するブロック図である。図28において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を表している。
[Embodiment 7]
FIG. 28 is a block diagram illustrating an
実施形態7の情報処理装置2000は、第2判定部2120を有する。実施形態7の第2判定部2120は、受信部2020が複数のネットワークインタフェース120それぞれから受信するデータを用いて、1つの MAC アドレスに対して IPv4 アドレスが複数対応付けられているか否か、又は1つの MAC アドレスに対して同一スコープの IPv6 アドレスが複数対応付けられているか否かを判定する。そして、推定部2040は、1つの MAC アドレスに対して IPv4 アドレスが複数対応付けられているか、又は1つの MAC アドレスに対して同一スコープの IPv6 アドレスが複数対応付けられている場合に、その MAC アドレスを持つネットワークインタフェース120が物理ネットワークインタフェースであると推定する。
The
ここで、MAC アドレスと IP アドレスが対応付けられているとは、その MAC アドレスを持つネットワークインタフェースに対してその IP アドレスが割り当てられていることを意味する。 Here, that the MAC address is associated with the IP address means that the IP address is assigned to the network interface having the MAC address.
<IP アドレスについて>
まず、ネットワークインタフェースに対して割り当てられる一般的な IPv4 アドレス及び IPv6 アドレスについて説明する。
<About IP address>
First, general IPv4 addresses and IPv6 addresses assigned to network interfaces will be described.
<<IPv6 アドレスについて>>
IPv6 では、1つのネットワークインタフェースに対して、スコープが異なる複数の IPv6 アドレスが割り当てられうる。IPv6 アドレスのスコープとは、その IPv6 アドレスが有効な範囲のことである。それぞれスコープが異なる IPv6 アドレスとして、グローバルアドレス、ULA(Unique Local IPv6 Unicast Address)、及びリンクローカルアドレスがある。
<< About IPv6 address >>
In IPv6, multiple IPv6 addresses with different scopes can be assigned to one network interface. The scope of an IPv6 address is the range within which the IPv6 address is valid. There are global addresses, ULA (Unique Local IPv6 Unicast Address), and link local addresses as IPv6 addresses with different scopes.
ただし通常、ネットワークインタフェースに対してスコープが同一の IPv6 アドレスが複数割り当てられることはない。例えば、あるネットワークインタフェースに対して2つのグローバルアドレスが割り当てられることはない。 Normally, however, multiple IPv6 addresses with the same scope are not assigned to a network interface. For example, two global addresses are not assigned to a certain network interface.
<<IPv4 アドレスについて>>
IPv4 では IPv6 におけるスコープという概念は無い。そのため、1つのネットワークインタフェースに対して割り当てられる IPv4 アドレスは、通常1つである。
<< About IPv4 Address >>
IPv4 has no concept of scope in IPv6. Therefore, one IPv4 address is usually assigned to one network interface.
以上のことから、通常、1つの MAC アドレスに対し、複数の IPv4 アドレスや同一スコープの複数の IPv6 アドレスが対応付けられることはない。 From the above, normally, a single MAC address is not associated with a plurality of IPv4 addresses or a plurality of IPv6 addresses of the same scope.
<着目するネットワーク環境>
仮想化環境やエミュレーション環境では、「1つ MAC アドレスに対し、複数の IPv4 アドレスや同一スコープの複数の IPv6 アドレスが対応付けられる」という構成がありうる。図29は、仮想化環境において、1つの MAC アドレスに対して複数の IPv4 アドレスが対応付けられる構成を例示する図である。
<Focusing network environment>
In a virtual environment or an emulation environment, there may be a configuration in which “a plurality of IPv4 addresses or a plurality of IPv6 addresses of the same scope are associated with one MAC address”. FIG. 29 is a diagram illustrating a configuration in which a plurality of IPv4 addresses are associated with one MAC address in a virtual environment.
図29において、仮想ネットワークインタフェース70には、物理ネットワークインタフェース30と同じ MAC アドレスが割り当てられている。一方、仮想ネットワークインタフェース70に割り当てられている IPv4 アドレスは、物理ネットワークインタフェース30に割り当てられている IPv4 アドレスと異なる。そのため、1つの MAC アドレスに対し、複数の IPV4 アドレスが対応付けられている。
In FIG. 29, the same MAC address as that of the
VMM 20は、物理ネットワークインタフェース30によって受信されたデータがどのネットワークインタフェースを宛先とするものであるかを、そのデータの宛先 IPv4 アドレスを用いて判断する。そのため、VMM 20は、物理ネットワークインタフェース30や仮想ネットワークインタフェース70の IPv4 アドレスを予め把握しておく。
The
なお、図29と同様の構成により、1つの MAC アドレスに対し、同一スコープの IPv6 アドレスが複数対応付けられうる。具体的には、仮想ネットワークインタフェース70の MAC アドレスを物理ネットワークインタフェース30の MAC アドレスと同じにしつつ、仮想ネットワークインタフェース70と物理ネットワークインタフェース30にそれぞれ異なる同一スコープの IPv6 アドレスを割り当てる。
Note that a plurality of IPv6 addresses of the same scope can be associated with one MAC address by the same configuration as in FIG. Specifically, the
また仮想化環境だけでなく、エミュレーション環境においても、同様のネットワーク構成を構築できる。 In addition to a virtual environment, a similar network configuration can be constructed in an emulation environment.
よって、1つの MAC アドレスに対して複数の IPv4 アドレスや同一スコープの複数の IPv6 アドレスが対応付けられている場合、上述した仮想化環境やエミュレーション環境が構築されていると推定できる。この場合、複数の IPv4 アドレスや同一スコープの複数の IPv6 アドレスが対応付けられている MAC アドレスは、物理ネットワークインタフェース30の MAC アドレスであると推定できる。
Therefore, when a plurality of IPv4 addresses or a plurality of IPv6 addresses of the same scope are associated with one MAC address, it can be estimated that the above-described virtualization environment and emulation environment are constructed. In this case, a MAC address associated with a plurality of IPv4 addresses or a plurality of IPv6 addresses of the same scope can be estimated as the MAC address of the
そこで推定部2040は、各ネットワークインタフェース120から受信するデータに基づき、MAC アドレスと IP アドレスとの対応付けを把握する。そして、推定部2040は、1つの MAC アドレスに対して複数の IPv4 アドレスや同一スコープの複数の IPv6 アドレスが対応付けられている場合、その MAC アドレスを持つネットワークインタフェース120が物理ネットワークインタフェースであると推定する。図29で説明した通り、複数の IP アドレスが対応付けられる MAC アドレスは、物理ネットワークインタフェースの MAC アドレスであるためである。
Therefore, the
例えば第2判定部2120は、受信部2020が各ネットワークインタフェース120から受信するデータの送信元 MAC アドレス及び送信元 IP アドレスを抽出し、これらを対応付ける。第2判定部2120は、各ネットワークインタフェース120から受信したデータに基づいて生成された複数の対応付けの中から、同じ MAC アドレスを示す対応付けを抽出する。そして、第2判定部2120は、同じ MAC アドレスを示す複数の対応付けが、異なる IPv4 アドレス又は異なる同一スコープの IPv6 アドレスを示している場合に、「1つの MAC アドレスに対して複数の IPv4 アドレス又は同一スコープの複数の IPv6 アドレスが対応付けられている」と判定する。
For example, the
<処理の流れ>
図30は、実施形態7の情報処理装置2000によって実行される処理の流れを例示するフローチャートである。
<Process flow>
FIG. 30 is a flowchart illustrating the flow of processing executed by the
受信部2020は、複数のネットワークインタフェース120からデータを受信する(S902)。第2判定部2120は、受信した各データについて、送信元 MAC アドレスと送信元 IPv4 アドレスとの対応付けを生成する(S904)。第2判定部2120は、生成した対応付けを用いて、複数のIPv4 アドレスが対応付けられている MAC アドレスがあるか否かを判定する(S906)。複数のIPv4 アドレスが対応付けられている MAC アドレスがない場合(S906:NO)、図30の処理は終了する。一方、複数のIPv4 アドレスが対応付けられている MAC アドレスがある場合(S906:YES)、図30の処理はS908に進む。
The receiving
推定部2040は、複数の IPv4 アドレスが対応付けられている MAC アドレスを持つネットワークインタフェース120が、物理ネットワークインタフェースであると推定する(S908)。
The
なお、図30では、IP アドレスが IPv4 アドレスである場合について例示している。IP アドレスが IPv6 アドレスである場合の処理の流れも、図30で示した流れと同様である。ただし、S906において、第2判定部2120は、同一スコープの IPv6 アドレスが複数の対応付けられている MAC アドレスがあるか否かを判定する。また、S908において、推定部2040は、同一スコープの IPv6 アドレスが複数の対応付けられている MAC アドレスを持つネットワークインタフェース120が、物理ネットワークインタフェースであると推定する
Note that FIG. 30 illustrates the case where the IP address is an IPv4 address. The flow of processing when the IP address is an IPv6 address is the same as the flow shown in FIG. However, in step S906, the
<物理ネットワークインタフェースの数が1つに限定される環境の構築>
実施形態7の情報処理装置2000は、実施形態3の情報処理装置2000と同様に、物理ネットワークインタフェースの数が1つに限定される環境を構築した上で推定を行ってもよい。
<Building an environment where the number of physical network interfaces is limited to one>
Similar to the
<ハードウエア構成>
例えば実施形態7の情報処理装置2000のハードウエア構成は、実施形態1の情報処理装置2000と同様に、図4で表される。本実施形態において、前述したストレージ1080に記憶される各プログラムモジュールには、本実施形態で説明した各機能を実現するプログラムがさらに含まれる。また、ストレージ1080は、第2判定部2120を実現するプログラムモジュールをさらに記憶する。プロセッサ1040は、このプログラムモジュールを実行することで、第2判定部2120の機能を実現する。
<Hardware configuration>
For example, the hardware configuration of the
<作用・効果>
本実施形態によれば、仮想ネットワークインタフェースに対して物理ネットワークインタフェースと同じ MAC アドレスが割り当てられているという環境において、その環境の特徴を利用し、ネットワークインタフェース120が物理ネットワークインタフェースと仮想ネットワークインタフェースのどちらであるかを推定することができる。
<Action and effect>
According to the present embodiment, in an environment in which the same MAC address as that of the physical network interface is assigned to the virtual network interface, the
[実施形態8]
実施形態8の情報処理装置2000は、実施形態1の情報処理装置2000と同様に図1で表される。
[Embodiment 8]
An
実施形態8の受信部2020は、ネットワークインタフェース120から、インタフェース情報又はマシン情報を取得する。あるネットワークインタフェース120から受信するインタフェース情報は、そのネットワークインタフェース120に関する情報を示す。また、あるネットワークインタフェース120から受信するマシン情報は、そのネットワークインタフェース120を有するマシンに関する情報を示す。ここで、物理ネットワークインタフェースを有するマシンは物理マシンであり、仮想ネットワークインタフェースを有するマシンはソフトウエアで実現されたマシン(仮想マシンやエミュレートされたマシンなど)である。
The receiving
実施形態8の推定部2040は、インタフェース情報又はマシン情報を用いて推定を行う。以下、詳細に説明する。
The
<ネットワークインタフェース120の名称に基づく推定>
一般に、物理マシンが有する物理ネットワークインタフェースの種類は様々である。例えば、物理マシンのメーカごとに、物理マシンに搭載される物理ネットワークインタフェースが異なる。また、新たな物理ネットワークインタフェースが開発されると、その後に販売される物理マシンには、その新たな物理ネットワークインタフェースが搭載されるようになる。
<Estimation based on the name of the
In general, there are various types of physical network interfaces that a physical machine has. For example, the physical network interface mounted on the physical machine differs for each physical machine manufacturer. Further, when a new physical network interface is developed, the new physical network interface comes to be mounted on a physical machine sold thereafter.
一方、VMM やエミュレータによって生成される仮想ネットワークインタフェースの種類は限られている。例えば、同じ種類の VMM によって生成される各 VM の仮想ネットワークインタフェースは、いずれも同じ種類の物理ネットワークインタフェースを再現したものであることが多い。また一般に、VMM やエミュレータによって生成される仮想ネットワークインタフェースは、物理マシンに搭載されている物理ネットワークインタフェースよりも古い型の物理ネットワークインタフェースを再現したものであることが多い。 On the other hand, the types of virtual network interfaces generated by VMM and emulator are limited. For example, the virtual network interface of each VM generated by the same type of VMM is often a reproduction of the same type of physical network interface. In general, a virtual network interface generated by a VMM or an emulator often reproduces a type of physical network interface that is older than the physical network interface installed in the physical machine.
以上のことから、仮想ネットワークインタフェースと物理ネットワークインタフェースは、ネットワークインタフェースの名称や特徴が異なる場合が多い。 From the above, the name and characteristics of the network interface are often different between the virtual network interface and the physical network interface.
そこで推定部2040は、ネットワークインタフェース120のインタフェース情報に基づいて、ネットワークインタフェース120が仮想ネットワークインタフェースであるか物理ネットワークインタフェースであるかを推定する。
Therefore, the
例えば推定部2040は、ネットワークインタフェース120の名称に基づく推定を行う。例えば推定部2040は、仮想ネットワークインタフェースでありうる名称のリストを取得する。そして、推定部2040は、ネットワークインタフェース120のインタフェース情報が示すそのネットワークインタフェース120の名称が、上記取得したリストに含まれているか否かを判定する。そして、推定部2040は、ネットワークインタフェース120の名称が上記リストに含まれている場合、そのネットワークインタフェース120が仮想ネットワークインタフェースであると推定する。
For example, the
なお、推定部2040が仮想ネットワークインタフェースでありうる名称のリストを取得する方法は、例えば実施形態2の推定部2040が仮想ネットワークインタフェースの OUI のリストを取得する方法と同様である。
Note that the method by which the
なお、ネットワークインタフェース120の名称を利用して推定を行う方法は、上述の例に限定されない。例えば、あるネットワークインタフェース120から受信するマシン情報が、そのネットワークインタフェース120を有するマシン上で動作している OS や VMM によって管理されているネットワークインタフェース120の情報を示しているとする。例えば図2の環境の場合、物理ネットワークインタフェース30から受信するマシン情報は、VMM 20によって管理されている物理ネットワークインタフェース30の情報及び NAT インタフェース40の情報を示す。ここで、NAT インタフェース40は VMM 20によって生成される仮想的なネットワークインタフェースである。そして一般に、NAT インタフェース40の名称は、それが物理ネットワークインタフェースではなく NAT 用の仮想ネットワークインタフェースであることが分かるように、特徴的な名称になっていることが多い。
Note that the estimation method using the name of the
そこで推定部2040は、VMM 20が物理マシン10内のネットワーク環境を構築するために生成する仮想ネットワークインタフェース(NAT インタフェース40など)の名称の特徴(利用される可能性が高い単語など)を表すリストを利用して推定を行う。具体的には、推定部2040は、ネットワークインタフェース120から取得したマシン情報が示す各ネットワークインタフェースの名称の中に、上記リストが示す特徴に合致する名称があるか否かを判定する。上記特徴に合致する名称のネットワークインタフェースがある場合、推定部2040は、マシン情報の取得元のネットワークインタフェース120が物理ネットワークインタフェースであると推定する。例えば、マシン情報が示すインタフェースの名称の中に、NAT インタフェースの名称であると考えられる名称がある場合、そのマシン情報を送信したネットワークインタフェース120は、VMM 20によって管理されている物理ネットワークインタフェース30であると推定できる。
Accordingly, the
<ホスト名を用いた推定>
マシン情報は、マシンのハードウエア構成に関する情報や、そのマシン上で動作している OS などのソフトウエアの情報を含む。ここで、物理マシン上で動作しているソフトウエアは VMM やエミュレータなどであり、仮想マシンやエミュレートされたマシンの上で動作しているソフトウエアはゲスト OS などである。
<Estimation using host name>
The machine information includes information on the hardware configuration of the machine and information on software such as an OS running on the machine. Here, the software running on the physical machine is VMM or an emulator, and the software running on the virtual machine or emulated machine is a guest OS.
例えばマシン情報は、マシンで動作している OS に割り当てられたホスト名を示す。ホスト名は、DNS サーバによって自動的によって割り当てられる場合もあるし、手動で割り当てられる場合もある。ただし、DNS サーバによって自動的に割り与えられる場合であったとしても、「どのような名前を割り当てるか」の設定を行う主体は一般的に人である。よって一般に、ホスト名は人が考えるものである。 For example, machine information indicates the host name assigned to the OS running on the machine. The host name can be assigned automatically by the DNS server or manually. However, even if it is assigned automatically by the DNS server, the person who sets the "what name to assign" is generally a person. Thus, in general, a host name is something that a person thinks.
例えば人は、VM やエミュレートされたマシンに対し、そのマシンが物理マシンではなく VM などであることを把握しやすいホスト名を与えたり、そのマシンを動作させている物理マシンのホスト名(物理マシン上で動作している OS や VMM に割り当てられた名前)に関連したホスト名を与えたりすることが多い。こうすることで、マシンの管理が容易になるなどの利点があるためである。例えば、物理マシンのホスト名が user1 である場合、人は、VM のホスト名を user1_vm などとする。 For example, a person gives a VM or an emulated machine a host name that makes it easy to know that the machine is not a physical machine but a VM, or the physical machine host name (physical In many cases, a host name related to the OS or VMM running on the machine is given. This is because there are advantages such as easy machine management. For example, if the host name of the physical machine is user1, the person sets the VM host name to user1_vm.
そこで推定部2040は、ネットワークインタフェース120から取得するマシン情報が示すホスト名に基づいて推測を行う。例えば推定部2040は、あるネットワークインタフェース120から取得したマシン情報が示すホスト名に、仮想化やエミュレーションと関連する所定文字列が含まれている場合に、そのネットワークインタフェース120が仮想マシンネットワークインタフェースであると推定する。ここで、仮想化やエミュレーションと関連する所定文字列は、例えば vm、emu(emulation の略)、guest、又は child などである。
Therefore, the
また例えば、推定部2040は、あるネットワークインタフェース120から取得したマシン情報が示すホスト名に、物理マシンであることを想起させる所定文字列が含まれている場合に、そのネットワークインタフェース120が物理マシンネットワークインタフェースであると推定する。ここで、物理マシンであることを想起させる所定文字列は、例えば vmm、phy(physical の略)、real、又は parent などである。
Further, for example, when the host name indicated by the machine information acquired from a
なお、上述した各所定文字列は、予め推定部2040に設定されていてもよいし、情報処理装置2000の内部又は外部の記憶部に記憶されていてもよい。後者の場合、推定部2040は、推定を行う際にこの記憶部から上記所定文字列を取得する。
Each predetermined character string described above may be set in advance in the
<インタフェース情報やマシン情報の取得方法>
受信部2020がインタフェース情報やマシン情報を取得する方法は様々である。例えば受信部2020は、各ネットワークインタフェース120に対してリクエストを送信し、そのリクエストに対するレスポンスとしてインタフェース情報やマシン情報を取得する。例えば受信部2020は、SNMP(Simple Network Management Protocol)を利用してこれらの情報を取得する。この場合、VMM やゲスト OS などは、ネットワークインタフェースの情報などを管理する SNMP サーバアプリケーションを動作させている。そして、情報処理装置2000は、この SNMP サーバプリケーションに対してリクエストを送信することで、この SNMP サーバによって管理されているネットワークインタフェースの名称などの情報を取得する。ただし、このようにインタフェース情報等を提供するアプリケーションは、SNMP サーバアプリケーションに限定されない。
<Acquisition method of interface information and machine information>
There are various methods by which the
同様に、受信部2020は、NIQ(Node Information Query)を利用してインタフェース情報やマシン情報を取得してもよい。
Similarly, the
また、受信部2020は、各ネットワークインタフェース120によって自発的に送信されているデータを受信してもよい。例えば各マシン間でファイルの共有などを行う場合、各マシンはホスト名などをブロードキャストやマルチキャストする。このような場合、各ネットワークインタフェース120から自発的にインタフェース情報やマシン情報が送信される。そこで受信部2020は、このようにネットワーク130上を流れるインタフェース情報やマシン情報を受信する。
The receiving
<処理の流れ>
図31は、実施形態8の情報処理装置2000によって実行される処理の流れを例示するフローチャートである。図31において、送信データの送信先をネットワークインタフェースXと表記する。
<Process flow>
FIG. 31 is a flowchart illustrating the flow of processing executed by the
受信部2020はネットワークインタフェースXからインタフェース情報又はマシン情報を受信する(S1002)。推定部2040は、受信したインタフェース情報又はマシン情報に基づいて、ネットワークインタフェースXが物理ネットワークインタフェースと仮想ネットワークインタフェースのどちらであるかを推定する。
The receiving
<物理ネットワークインタフェースの数が1つに限定される環境の構築>
実施形態8の情報処理装置2000は、実施形態3の情報処理装置2000と同様に、物理ネットワークインタフェースの数が1つに限定される環境を構築した上で推定を行ってもよい。
<Building an environment where the number of physical network interfaces is limited to one>
Similarly to the
<ハードウエア構成>
例えば実施形態8の情報処理装置2000のハードウエア構成は、実施形態1の情報処理装置2000と同様に、図2で表される。本実施形態において、前述したストレージ1080に記憶される各プログラムモジュールには、本実施形態で説明した各機能を実現するプログラムがさらに含まれる。
<Hardware configuration>
For example, the hardware configuration of the
<作用・効果>
本実施形態によれば、ネットワークインタフェース120を用いて動作する OS や VMM などから取得する情報に基づいて、ネットワークインタフェース120が物理ネットワークインタフェースと仮想ネットワークインタフェースのどちらであるかを推定できる。この方法によれば、情報処理装置2000は、データのヘッダに含まれる情報(送信元 IP アドレスなど)よりも豊富な情報を得ることができるため、推定部2040による推定の精度が高くなる。
<Action and effect>
According to the present embodiment, it can be estimated whether the
[実施形態9]
実施形態9の情報処理装置2000は、実施形態2から実施形態8のいずれか2つ以上を組み合わせた構成を有する。
[Embodiment 9]
The
実施形態9の推定部2040は、実施形態2から実施形態8で説明した推定方法の内のいずれか2つ以上の方法でそれぞれ推定を行う。さらに、推定部2040は、2つ以上の推定結果を利用して、総合的な推定結果を生成する。
The
例えば実施形態9の推定部2040は、所定数以上の推定方法によって「ネットワークインタフェースXは物理ネットワークインタフェースである」と推定された場合に、「ネットワークインタフェースXは物理ネットワークインタフェースである」という総合的な推定結果を生成する。同様に推定部2040は、所定数以上の推定方法によって「ネットワークインタフェースXは仮想ネットワークインタフェースである」と推定された場合に、「ネットワークインタフェースXは仮想ネットワークインタフェースである」という総合的な推定結果を生成する。この所定数は、予め推定部2040に設定されていてもよいし、情報処理装置2000の内部又は外部の記憶部に記憶されていてもよい。後者の場合、推定部2040は、推定を行う際にこの記憶部から上記所定値を取得する。
For example, when the
また例えば、推定部2040は、各推定方法による推定結果の重み付き和を算出し、その算出結果に基づいて総合的な推定結果を生成してもよい。数式(1)は、各推定方法による推定結果の重み付き和を算出する式の例である。iは推定方法に割り当てた ID である。wi は推定方法iの推定結果に与える重みである。ri は推定方法iの推定結果である。例えば ri は、推定方法iの推定結果が「ネットワークインタフェース120は物理ネットワークインタフェースである」である場合に 1 を示し、「ネットワークインタフェース120は仮想ネットワークインタフェースである」である場合に -1 を示す。
重み付き和 S の利用方法は様々である。例えば推定部2040は、重み付き和 S の値が 0 より大きい場合に、「ネットワークインタフェース120は物理ネットワークインタフェースである」という総合的な推定結果を生成する。一方、推定部2040は、重み付き和 S の値が 0 未満である場合に、「ネットワークインタフェース120は仮想ネットワークインタフェースである」という総合的な推定結果を生成する。さらに、推定部2040は、重み付き和 S の値が 0 である場合に、「推定不能」という総合的な推定結果を生成する。
There are various ways to use the weighted sum S. For example, when the value of the weighted sum S is larger than 0, the
また推定部2040は、物理ネットワークインタフェースの数が既知である場合、各ネットワークインタフェース120の重み付き和 S の順位を用いて、各ネットワークインタフェース120が物理ネットワークインタフェースなのか仮想ネットワークインタフェースなのかを推定してもよい。例えば物理ネットワークインタフェースが1つであることが既知の場合、推定部2040は、「重み付き和 S が最も大きいネットワークインタフェース120は物理ネットワークインタフェースであり、それ以外のネットワークインタフェース120は仮想ネットワークインタフェースである」という総合的な推定結果を生成する。
In addition, when the number of physical network interfaces is known, the
なお、物理ネットワークインタフェースの数は、実施形態3で説明したポート VLAN を用いる方法などにより、1つに限定することが可能である。 Note that the number of physical network interfaces can be limited to one by the method using the port VLAN described in the third embodiment.
<作用・効果>
本実施形態の情報処理装置2000は、複数の推定方法による推定結果に基づいて総合的な推定を行うため、1つの推定方法のみを利用する場合よりも高い精度で推定を行うことができる。
<Action and effect>
Since the
[実施形態10]
図32は、実施形態10に係る情報処理装置2000を例示するブロック図である。図32において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を表している。
[Embodiment 10]
FIG. 32 is a block diagram illustrating an
実施形態10の情報処理装置2000は、対応付け部2140を有する。実施形態10の対応付け部2140は、物理ネットワークインタフェースと、その物理ネットワークインタフェースを用いて動作する仮想ネットワークインタフェースとの対応付けを行う。なお、対応付け部2140によって行われる対応付けは、「物理マシンと、その物理マシン上で動作している仮想化又はエミュレートされたマシンとの対応付け(例えば物理マシンと VM の対応付け)」や、「物理マシン上で動作する VMM 又はエミュレータと、その物理マシン上で動作する仮想化又はエミュレートされたマシンとの対応付け(例えば VMM とゲストOS との対応付け)」とも言い換えることができる。
The
実施形態10において、推定部2040は、物理ネットワークインタフェースの数が1つに限定される環境を構築した上で、各ネットワークインタフェースに関する推定を行う。そして、対応付け部2140は、この環境下で推定された物理ネットワークインタフェースと仮想ネットワークインタフェースとを対応づける。物理ネットワークインタフェースの数が1つに限定されているので、各仮想ネットワークインタフェースは、必ずこの物理ネットワークインタフェースを用いて動作する仮想ネットワークインタフェースであるためである。なお、物理ネットワークインタフェースの数が1つに限定される環境を構築する方法は、実施形態3で説明した通りである。
In the tenth embodiment, the
ネットワークインタフェース120同士の対応付けを表す方法は様々である。例えば対応付け部2140は、物理ネットワークインタフェースの MAC アドレスや IP アドレスと、仮想ネットワークインタフェースの MAC アドレスや IP アドレスとを対応づける。また実施形態10の対応付け部2140は、物理ネットワークインタフェースを有する物理マシンのホスト名や UUID と、仮想ネットワークインタフェースを有する VM などのホスト名や UUID とを対応づけてもよい。なお、対応付け部2140は、実施形態8で説明したマシン情報などを利用することで、物理マシンや VM のホスト名などを把握する。
There are various methods for representing the association between the network interfaces 120. For example, the associating
図33は、対応付け部2140によって生成される対応付けを例示する図である。図33(a)は物理ネットワークインタフェースの MAC アドレスと仮想ネットワークインタフェースの MAC アドレスとを対応付けたテーブルを示す。このテーブルから、例えば、「MAC アドレスが BB:BB:BB:BB である仮想ネットワークインタフェースを持つ VM と、MAC アドレスCC:CC:CC:CC である仮想ネットワークインタフェースを持つ VM は、MAC アドレスが AA:AA:AA:AA である物理ネットワークインタフェースを持つ物理マシン上で動作している」ということが分かる。
FIG. 33 is a diagram illustrating the association generated by the
一方、図33(b)は、物理マシンのホスト名と仮想マシンのホスト名とを対応付けたテーブルを示す。このテーブルから、例えば、「ホスト名が hostB である VM とホスト名が hostC である VM は、ホスト名が hostA である物理マシン上で動作している」ということが分かる。 On the other hand, FIG. 33B shows a table in which the host name of the physical machine is associated with the host name of the virtual machine. From this table, for example, it can be seen that “the VM with the host name hostB and the VM with the host name hostC are operating on the physical machine with the host name hostA”.
<作用・効果>
本実施形態の情報処理装置2000によれば、物理ネットワークインタフェースと仮想ネットワークインタフェースとの対応付け(物理マシンと VM などとの対応付け)が行われる。これにより、ネットワーク130の管理者やネットワーク130を管理する装置は、ネットワーク130に存在するネットワークインタフェース120やマシンの対応関係(従属関係)を容易に把握することができる。よって、ネットワーク130の管理者等は、ネットワーク130の管理をより適切に行うことができる。
<Action and effect>
According to the
以上、図面を参照して本発明の実施形態について述べたが、これらは本発明の例示であり、上記以外の様々な構成を採用することもできる。 As mentioned above, although embodiment of this invention was described with reference to drawings, these are the illustrations of this invention, Various structures other than the above are also employable.
以下、参考形態の例を付記する。
1. データを受信する受信手段と、
前記受信されたデータを用いて、そのデータの送信元のネットワークインタフェースが、物理的なネットワークインタフェースと仮想的なネットワークインタフェースのどちらであるかの推定を行う推定手段と、
を有する情報処理装置。
2. 前記推定手段は、前記データが示す送信元のネットワークインタフェースのレイヤ2アドレスに含まれる OUI(Organizationally Unique Identifier)を用いて前記推定を行う1.に記載の情報処理装置。
3. 複数のネットワークインタフェースそれぞれに対して送信データを送信する送信手段を有し、
前記受信手段は、各前記ネットワークインタフェースから、前記送信データに対する応答データを受信し、
前記推定手段は、前記送信データが送信されてから前記応答データが受信されるまでの時間を用いて前記推定を行う1.に記載の情報処理装置。
4. 前記送信手段は、各前記ネットワークインタフェースに対し、複数の前記送信データを送信し、
前記受信手段は、各前記ネットワークインタフェースから、複数の前記送信データそれぞれについて前記応答データを受信し、
前記推定手段は、各前記ネットワークインタフェースについて、前記時間の大きさの統計値又は前記時間のばらつきの統計値を算出し、前記算出した統計値を用いて前記推定を行う3.に記載の情報処理装置。
5. 前記データを用いて、前記ネットワークインタフェースがデータの送受信を行える状態になったことを検出する検出手段を有し、
前記推定手段は、データの送受信を行える状態になった時点が最も早い前記ネットワークインタフェースが、物理的なネットワークインタフェースであると推定する、1.に記載の情報処理装置。
6. 前記受信したデータの履歴を用いて、前記ネットワークインタフェースがデータの送受信を行える状態であるか否かを判定する判定手段を有し、
前記推定手段は、第1の前記ネットワークインタフェースがデータの送受信を行えない状態であり、かつ第1の前記ネットワークインタフェースとは異なる第2の前記ネットワークインタフェースがデータの送受信を行える状態である場合に、第1の前記ネットワークインタフェースは仮想的なネットワークインタフェースであると推定する、1.に記載の情報処理装置。
7. ネットワークインタフェースに対して送信データを送信する送信手段を有し、
前記受信手段は、前記送信データに対する応答データを受信し、
前記推定手段は、前記送信データの送信先のネットワークインタフェースと、その送信データに対する応答データの送信元のネットワークインタフェースが異なる場合、前記送信データの送信先のネットワークインタフェースが仮想的なネットワークインタフェースであると推定するか、又は前記応答データの受信元のネットワークインタフェースが物理的なネットワークインタフェースであると推定する1.に記載の情報処理装置。
8. 前記送信データは、ARP(Address Resolution Protocol)リクエスト又は NS(Neighbor Solicitation)メッセージであり、
ARP リクエストに対する応答データは ARP リプライであり、
NS メッセージに対する応答データは NA(Neighbor Advertisement)メッセージである7.に記載の情報処理装置。
9. 前記受信手段は、複数の前記ネットワークインタフェースからデータを受信し、
複数の前記ネットワークインタフェースそれぞれから受信したデータを用いて、1つの レイヤ2アドレスに対して IPv4(Internet Protocol version 4)アドレスが複数対応付けられているか否か、又は1つのレイヤ2アドレスに対して同一スコープの IPv6(IP version 6)アドレスが複数対応付けられているか否かを判定する判定手段を有し、
前記推定手段は、1つのレイヤ2アドレスに対して IPv4 アドレスが複数対応付けられているか、又は 1つのレイヤ2アドレスに対して同一スコープの IPv6 アドレスが複数対応付けられている場合に、そのレイヤ2アドレスを持つネットワークインタフェースが、物理的なネットワークインタフェースであると推定する、1.に記載の情報処理装置。
10. 前記ネットワークインタフェースから受信するデータは、そのネットワークインタフェースに関する情報又はそのネットワークインタフェースを動作させているマシンに関する情報を示しており、
前記推定手段は、前記ネットワークインタフェースに関する情報又はそのネットワークインタフェースを動作させているマシンに関する情報を用いて、そのネットワークインタフェースについて前記推定を行う、1.に記載の情報処理装置。
11. 前記推定手段は、前記ネットワークインタフェースの名前、又はそのネットワークインタフェースを用いて動作しているマシンに割り当てられたホスト名を用いて、そのネットワークインタフェースについて前記推定を行う、10.に記載の情報処理装置。
12. 物理ネットワークインタフェースであると推定されたネットワークインタフェースと、仮想ネットワークインタフェースであると推定されたネットワークインタフェースとの対応付けを行う対応付け手段を有する、1.乃至11に記載の情報処理装置。
13. コンピュータを、1.乃至12.いずれか一つに記載の情報処理装置として動作させるプログラム。
14. コンピュータによって実行される制御方法であって、
データを受信する受信ステップと、
前記受信されたデータを用いて、そのデータの送信元のネットワークインタフェースが、物理的なネットワークインタフェースと仮想的なネットワークインタフェースのどちらであるかの推定を行う推定ステップと、
を有する制御方法。
15. 前記推定ステップは、前記データが示す送信元のネットワークインタフェースのレイヤ2アドレスに含まれる OUI(Organizationally Unique Identifier)を用いて前記推定を行う14.に記載の制御方法。
16. 複数のネットワークインタフェースそれぞれに対して送信データを送信する送信ステップを有し、
前記受信ステップは、各前記ネットワークインタフェースから、前記送信データに対する応答データを受信し、
前記推定ステップは、前記送信データが送信されてから前記応答データが受信されるまでの時間を用いて前記推定を行う14.に記載の制御方法。
17. 前記送信ステップは、各前記ネットワークインタフェースに対し、複数の前記送信データを送信し、
前記受信ステップは、各前記ネットワークインタフェースから、複数の前記送信データそれぞれについて前記応答データを受信し、
前記推定ステップは、各前記ネットワークインタフェースについて、前記時間の大きさの統計値又は前記時間のばらつきの統計値を算出し、前記算出した統計値を用いて前記推定を行う16.に記載の制御方法。
18. 前記データを用いて、前記ネットワークインタフェースがデータの送受信を行える状態になったことを検出する検出ステップを有し、
前記推定ステップは、データの送受信を行える状態になった時点が最も早い前記ネットワークインタフェースが、物理的なネットワークインタフェースであると推定する、14.に記載の制御方法。
19. 前記受信したデータの履歴を用いて、前記ネットワークインタフェースがデータの送受信を行える状態であるか否かを判定する判定ステップを有し、
前記推定ステップは、第1の前記ネットワークインタフェースがデータの送受信を行えない状態であり、かつ第1の前記ネットワークインタフェースとは異なる第2の前記ネットワークインタフェースがデータの送受信を行える状態である場合に、第1の前記ネットワークインタフェースは仮想的なネットワークインタフェースであると推定する、14.に記載の制御方法。
20. ネットワークインタフェースに対して送信データを送信する送信ステップを有し、
前記受信ステップは、前記送信データに対する応答データを受信し、
前記推定ステップは、前記送信データの送信先のネットワークインタフェースと、その送信データに対する応答データの送信元のネットワークインタフェースが異なる場合、前記送信データの送信先のネットワークインタフェースが仮想的なネットワークインタフェースであると推定するか、又は前記応答データの受信元のネットワークインタフェースが物理的なネットワークインタフェースであると推定する14.に記載の制御方法。
21. 前記送信データは、ARP(Address Resolution Protocol)リクエスト又は NS(Neighbor Solicitation)メッセージであり、
ARP リクエストに対する応答データは ARP リプライであり、
NS メッセージに対する応答データは NA(Neighbor Advertisement)メッセージである20.に記載の制御方法。
22. 前記受信ステップは、複数の前記ネットワークインタフェースからデータを受信し、
複数の前記ネットワークインタフェースそれぞれから受信したデータを用いて、1つの レイヤ2アドレスに対して IPv4(Internet Protocol version 4)アドレスが複数対応付けられているか否か、又は1つのレイヤ2アドレスに対して同一スコープの IPv6(IP version 6)アドレスが複数対応付けられているか否かを判定する判定ステップを有し、
前記推定ステップは、1つのレイヤ2アドレスに対して IPv4 アドレスが複数対応付けられているか、又は 1つのレイヤ2アドレスに対して同一スコープの IPv6 アドレスが複数対応付けられている場合に、そのレイヤ2アドレスを持つネットワークインタフェースが、物理的なネットワークインタフェースであると推定する、14.に記載の制御方法。
23. 前記ネットワークインタフェースから受信するデータは、そのネットワークインタフェースに関する情報又はそのネットワークインタフェースを動作させているマシンに関する情報を示しており、
前記推定ステップは、前記ネットワークインタフェースに関する情報又はそのネットワークインタフェースを動作させているマシンに関する情報を用いて、そのネットワークインタフェースについて前記推定を行う、14.に記載の制御方法。
24. 前記推定ステップは、前記ネットワークインタフェースの名前、又はそのネットワークインタフェースを用いて動作しているマシンに割り当てられたホスト名を用いて、そのネットワークインタフェースについて前記推定を行う、23.に記載の制御方法。
25. 物理ネットワークインタフェースであると推定されたネットワークインタフェースと、仮想ネットワークインタフェースであると推定されたネットワークインタフェースとの対応付けを行う対応付けステップを有する、14.乃至24に記載の制御方法。
Hereinafter, examples of the reference form will be added.
1. Receiving means for receiving data;
Using the received data, an estimation means for estimating whether a network interface of a transmission source of the data is a physical network interface or a virtual network interface;
An information processing apparatus.
2. The estimation means performs the estimation using an OUI (Organizationally Unique Identifier) included in the layer 2 address of the network interface of the transmission source indicated by the data. The information processing apparatus described in 1.
3. Having transmission means for transmitting transmission data to each of a plurality of network interfaces;
The receiving means receives response data for the transmission data from each of the network interfaces,
The estimation means performs the estimation using a time from when the transmission data is transmitted until the response data is received. The information processing apparatus described in 1.
4). The transmission means transmits a plurality of the transmission data to each of the network interfaces,
The receiving means receives the response data for each of a plurality of the transmission data from each of the network interfaces,
2. The estimation means calculates a statistical value of the time magnitude or a statistical value of the variation in time for each of the network interfaces, and performs the estimation using the calculated statistical value. The information processing apparatus described in 1.
5. Using the data, the detection means for detecting that the network interface is ready to send and receive data,
The estimation means estimates that the network interface that is earliest when data can be transmitted and received is a physical network interface. The information processing apparatus described in 1.
6). Determination means for determining whether the network interface is in a state where data can be transmitted and received, using the history of the received data;
The estimating means is in a state where the first network interface cannot transmit and receive data, and a second network interface different from the first network interface is in a state where data can be transmitted and received. Estimating that the first network interface is a virtual network interface; The information processing apparatus described in 1.
7). A transmission means for transmitting transmission data to the network interface;
The receiving means receives response data for the transmission data;
The estimation means is configured such that when the network interface of the transmission data is different from the network interface of the transmission source of response data to the transmission data, the network interface of the transmission data is a virtual network interface. 1. Estimate or estimate that the network interface from which the response data is received is a physical network interface The information processing apparatus described in 1.
8). The transmission data is an ARP (Address Resolution Protocol) request or NS (Neighbor Solicitation) message,
The response data for an ARP request is an ARP reply,
Response data for NS message is NA (Neighbor Advertisement) message7. The information processing apparatus described in 1.
9. The receiving means receives data from a plurality of the network interfaces,
Whether multiple IPv4 (Internet Protocol version 4) addresses are associated with one layer 2 address using data received from each of the plurality of network interfaces, or the same for one layer 2 address A determination means for determining whether or not a plurality of scope IPv6 (IP version 6) addresses are associated;
The estimation means determines that when a plurality of IPv4 addresses are associated with one layer 2 address, or when a plurality of IPv6 addresses of the same scope are associated with one layer 2 address, the layer 2 Estimate that the network interface with the address is a physical network interface. The information processing apparatus described in 1.
10. The data received from the network interface indicates information about the network interface or information about a machine operating the network interface,
The estimation means performs the estimation on the network interface using information on the network interface or information on a machine operating the network interface. The information processing apparatus described in 1.
11. The estimation means performs the estimation for the network interface using the name of the network interface or the host name assigned to the machine operating using the network interface. The information processing apparatus described in 1.
12 1. having association means for associating a network interface estimated to be a physical network interface with a network interface estimated to be a virtual network interface; Thru | or 11 the information processing apparatus.
13. Computer. To 12. A program for operating as the information processing apparatus according to any one of the above.
14 A control method executed by a computer,
A receiving step for receiving data;
Using the received data, an estimation step for estimating whether a network interface of a transmission source of the data is a physical network interface or a virtual network interface;
A control method.
15. 13. The estimation step performs the estimation using an OUI (Organizationally Unique Identifier) included in the layer 2 address of the network interface of the transmission source indicated by the data. The control method described in 1.
16. A transmission step of transmitting transmission data to each of a plurality of network interfaces;
The receiving step receives response data for the transmission data from each of the network interfaces,
13. The estimation step performs the estimation using a time from when the transmission data is transmitted until the response data is received. The control method described in 1.
17. The transmission step transmits a plurality of the transmission data to each of the network interfaces,
The receiving step receives the response data for each of a plurality of transmission data from each of the network interfaces,
The estimation step calculates a statistical value of the time magnitude or a statistical value of the variation in time for each of the network interfaces, and performs the estimation using the calculated statistical value. The control method described in 1.
18. Using the data, and detecting that the network interface is ready to send and receive data;
13. the estimation step estimates that the network interface that is earliest when data transmission / reception is enabled is a physical network interface; The control method described in 1.
19. Using the history of the received data, and determining whether the network interface is in a state where data can be transmitted and received,
The estimating step is a state in which the first network interface cannot transmit and receive data, and a second network interface different from the first network interface is in a state in which data can be transmitted and received. 14. presuming that the first network interface is a virtual network interface; The control method described in 1.
20. A transmission step of transmitting transmission data to the network interface;
The reception step receives response data for the transmission data,
In the estimation step, when the network interface of the transmission data is different from the network interface of the transmission source of response data to the transmission data, the network interface of the transmission data is a virtual network interface. 13. Estimate or estimate that the network interface from which the response data is received is a physical network interface The control method described in 1.
21. The transmission data is an ARP (Address Resolution Protocol) request or NS (Neighbor Solicitation) message,
The response data for an ARP request is an ARP reply,
Response data for NS message is NA (Neighbor Advertisement) message20. The control method described in 1.
22. The receiving step receives data from a plurality of the network interfaces,
Whether multiple IPv4 (Internet Protocol version 4) addresses are associated with one layer 2 address using data received from each of the plurality of network interfaces, or the same for one layer 2 address A determination step for determining whether or not a plurality of IPv6 (IP version 6) addresses of the scope are associated;
In the estimation step, when a plurality of IPv4 addresses are associated with one layer 2 address, or when a plurality of IPv6 addresses of the same scope are associated with one layer 2 address, the layer 2 14. Estimate that the network interface with the address is a physical network interface; The control method described in 1.
23. The data received from the network interface indicates information about the network interface or information about a machine operating the network interface,
13. the estimation step performs the estimation for the network interface using information about the network interface or information about a machine operating the network interface; The control method described in 1.
24. The estimating step performs the estimation for the network interface using a name of the network interface or a host name assigned to a machine operating using the network interface; 23. The control method described in 1.
25. 13. an association step of associating a network interface estimated to be a physical network interface with a network interface estimated to be a virtual network interface; The control method of thru | or 24.
10 物理マシン
20 VMM
30 物理ネットワークインタフェース
40 NAT インタフェース
50 VM
60 ゲスト OS
70 仮想ネットワークインタフェース
80 仮想ブリッジ
90 仮想ルータ
100 物理ネットワーク
110 仮想ネットワーク
120 ネットワークインタフェース
130 ネットワーク
200 リスト
1020 バス
1040 プロセッサ
1060 メモリ
1080 ストレージ
1100 入出力インタフェース
1120 ネットワークインタフェース
2000 情報処理装置
2020 受信部
2040 推定部
2060 送信部
2080 検出部
2100 判定部
2120 第2判定部
2140 対応付け部
10
30
60 guest OS
70
Claims (14)
前記受信されたデータを用いて、そのデータの送信元のネットワークインタフェースが、物理的なネットワークインタフェースと仮想的なネットワークインタフェースのどちらであるかの推定を行う推定手段と、
を有する情報処理装置。 Receiving means for receiving data;
Using the received data, an estimation means for estimating whether a network interface of a transmission source of the data is a physical network interface or a virtual network interface;
An information processing apparatus.
前記受信手段は、各前記ネットワークインタフェースから、前記送信データに対する応答データを受信し、
前記推定手段は、前記送信データが送信されてから前記応答データが受信されるまでの時間を用いて前記推定を行う請求項1に記載の情報処理装置。 Having transmission means for transmitting transmission data to each of a plurality of network interfaces;
The receiving means receives response data for the transmission data from each of the network interfaces,
The information processing apparatus according to claim 1, wherein the estimation unit performs the estimation using a time from when the transmission data is transmitted until the response data is received.
前記受信手段は、各前記ネットワークインタフェースから、複数の前記送信データそれぞれについて前記応答データを受信し、
前記推定手段は、各前記ネットワークインタフェースについて、前記時間の大きさの統計値又は前記時間のばらつきの統計値を算出し、前記算出した統計値を用いて前記推定を行う請求項3に記載の情報処理装置。 The transmission means transmits a plurality of the transmission data to each of the network interfaces,
The receiving means receives the response data for each of a plurality of the transmission data from each of the network interfaces,
The information according to claim 3, wherein the estimation unit calculates a statistical value of the time magnitude or a statistical value of the variation in time for each of the network interfaces, and performs the estimation using the calculated statistical value. Processing equipment.
前記推定手段は、データの送受信を行える状態になった時点が最も早い前記ネットワークインタフェースが、物理的なネットワークインタフェースであると推定する、請求項1に記載の情報処理装置。 Using the data, the detection means for detecting that the network interface is ready to send and receive data,
The information processing apparatus according to claim 1, wherein the estimation unit estimates that the network interface that is earliest when the data can be transmitted and received is a physical network interface.
前記推定手段は、第1の前記ネットワークインタフェースがデータの送受信を行えない状態であり、かつ第1の前記ネットワークインタフェースとは異なる第2の前記ネットワークインタフェースがデータの送受信を行える状態である場合に、第1の前記ネットワークインタフェースは仮想的なネットワークインタフェースであると推定する、請求項1に記載の情報処理装置。 Determination means for determining whether the network interface is in a state where data can be transmitted and received, using the history of the received data;
The estimating means is in a state where the first network interface cannot transmit and receive data, and a second network interface different from the first network interface is in a state where data can be transmitted and received. The information processing apparatus according to claim 1, wherein the first network interface is estimated to be a virtual network interface.
前記受信手段は、前記送信データに対する応答データを受信し、
前記推定手段は、前記送信データの送信先のネットワークインタフェースと、その送信データに対する応答データの送信元のネットワークインタフェースが異なる場合、前記送信データの送信先のネットワークインタフェースが仮想的なネットワークインタフェースであると推定するか、又は前記応答データの受信元のネットワークインタフェースが物理的なネットワークインタフェースであると推定する請求項1に記載の情報処理装置。 A transmission means for transmitting transmission data to the network interface;
The receiving means receives response data for the transmission data;
The estimation means is configured such that when the network interface of the transmission data is different from the network interface of the transmission source of response data to the transmission data, the network interface of the transmission data is a virtual network interface. The information processing apparatus according to claim 1, wherein the information processing apparatus estimates or estimates that a network interface that receives the response data is a physical network interface.
ARP リクエストに対する応答データは ARP リプライであり、
NS メッセージに対する応答データは NA(Neighbor Advertisement)メッセージである請求項7に記載の情報処理装置。 The transmission data is an ARP (Address Resolution Protocol) request or NS (Neighbor Solicitation) message,
The response data for an ARP request is an ARP reply,
The information processing apparatus according to claim 7, wherein the response data to the NS message is an NA (Neighbor Advertisement) message.
複数の前記ネットワークインタフェースそれぞれから受信したデータを用いて、1つの レイヤ2アドレスに対して IPv4(Internet Protocol version 4)アドレスが複数対応付けられているか否か、又は1つのレイヤ2アドレスに対して同一スコープの IPv6(IP version 6)アドレスが複数対応付けられているか否かを判定する判定手段を有し、
前記推定手段は、1つのレイヤ2アドレスに対して IPv4 アドレスが複数対応付けられているか、又は 1つのレイヤ2アドレスに対して同一スコープの IPv6 アドレスが複数対応付けられている場合に、そのレイヤ2アドレスを持つネットワークインタフェースが、物理的なネットワークインタフェースであると推定する、請求項1に記載の情報処理装置。 The receiving means receives data from a plurality of the network interfaces,
Whether multiple IPv4 (Internet Protocol version 4) addresses are associated with one layer 2 address using data received from each of the plurality of network interfaces, or the same for one layer 2 address A determination means for determining whether or not a plurality of scope IPv6 (IP version 6) addresses are associated;
The estimation means determines that when a plurality of IPv4 addresses are associated with one layer 2 address, or when a plurality of IPv6 addresses of the same scope are associated with one layer 2 address, the layer 2 The information processing apparatus according to claim 1, wherein the network interface having an address is estimated to be a physical network interface.
前記推定手段は、前記ネットワークインタフェースに関する情報又はそのネットワークインタフェースを動作させているマシンに関する情報を用いて、そのネットワークインタフェースについて前記推定を行う、請求項1に記載の情報処理装置。 The data received from the network interface indicates information about the network interface or information about a machine operating the network interface,
The information processing apparatus according to claim 1, wherein the estimation unit performs the estimation for the network interface using information about the network interface or information about a machine that operates the network interface.
データを受信する受信ステップと、
前記受信されたデータを用いて、そのデータの送信元のネットワークインタフェースが、物理的なネットワークインタフェースと仮想的なネットワークインタフェースのどちらであるかの推定を行う推定ステップと、
を有する制御方法。 A control method executed by a computer,
A receiving step for receiving data;
Using the received data, an estimation step for estimating whether a network interface of a transmission source of the data is a physical network interface or a virtual network interface;
A control method.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015080974A JP2016201690A (en) | 2015-04-10 | 2015-04-10 | Information processing device, program, and control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015080974A JP2016201690A (en) | 2015-04-10 | 2015-04-10 | Information processing device, program, and control method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2016201690A true JP2016201690A (en) | 2016-12-01 |
Family
ID=57424502
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015080974A Pending JP2016201690A (en) | 2015-04-10 | 2015-04-10 | Information processing device, program, and control method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2016201690A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019235101A1 (en) * | 2018-06-04 | 2019-12-12 | 日本電信電話株式会社 | Time-adding method, time-adding device, and program |
-
2015
- 2015-04-10 JP JP2015080974A patent/JP2016201690A/en active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019235101A1 (en) * | 2018-06-04 | 2019-12-12 | 日本電信電話株式会社 | Time-adding method, time-adding device, and program |
JP2019213033A (en) * | 2018-06-04 | 2019-12-12 | 日本電信電話株式会社 | Time providing method, time providing device, and program |
JP7073920B2 (en) | 2018-06-04 | 2022-05-24 | 日本電信電話株式会社 | Time setting method, time setting device and program |
US11349586B2 (en) | 2018-06-04 | 2022-05-31 | Nippon Telegraph And Telephone Corporation | Time stamping method, time stamping apparatus and program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106576118B (en) | Dynamic DNS-based service discovery | |
US8176529B2 (en) | Apparatus and method for controlling devices in one or more home networks | |
CA2419512C (en) | System and method for locating devices on a local area network | |
CN110247784B (en) | Method and device for determining network topology structure | |
JP2007335923A (en) | Network system, and server | |
WO2019165775A1 (en) | Local area network equipment searching method and searching system | |
CN108900351B (en) | Intranet equipment type identification method and device | |
JP2007208317A (en) | Domain name system | |
WO2014079005A1 (en) | Mac address mandatory forwarding device and method | |
CN108965036B (en) | Method, system, server and storage medium for configuring cross-public network equipment mutual access | |
JP2008033409A (en) | Asset management system and method, information processor, management device and program | |
JP2020031305A (en) | Multi-cloud operation program and multi-cloud operation method | |
CN114189492A (en) | Network card pressure testing method and system based on network address translation technology | |
JP2013026993A (en) | Node detection device, node detection method, and program | |
JP6194128B2 (en) | Network system, address management apparatus and address management method | |
JP2016201690A (en) | Information processing device, program, and control method | |
US10904037B2 (en) | Relaying apparatus, relaying method, and relaying system | |
US9369429B1 (en) | Associating text strings with numeric numbers for IP address management | |
JP2016201691A (en) | Information processing device, program, and control method | |
US11949660B2 (en) | Methods for enabling enhanced firewall rules via ARP-based annotations | |
JP2015046716A (en) | Communication node and network system and apparatus control method | |
TWI556610B (en) | Internal network system on a local area network and method of communication in an internal network system on a local area network | |
JP2016158116A (en) | Lan access method and address registration server | |
Dijkstra et al. | Using zero configuration technology for IP addressing in optical networks | |
EP3113459A1 (en) | Method for managing a local network |