JP2012093917A - Virtual control program, information processing apparatus, and virtual control method - Google Patents

Virtual control program, information processing apparatus, and virtual control method Download PDF

Info

Publication number
JP2012093917A
JP2012093917A JP2010240075A JP2010240075A JP2012093917A JP 2012093917 A JP2012093917 A JP 2012093917A JP 2010240075 A JP2010240075 A JP 2010240075A JP 2010240075 A JP2010240075 A JP 2010240075A JP 2012093917 A JP2012093917 A JP 2012093917A
Authority
JP
Japan
Prior art keywords
virtual
network
physical
packet
driver
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2010240075A
Other languages
Japanese (ja)
Other versions
JP5548095B2 (en
Inventor
Makoto Iwamura
誠 岩村
Yuhei Kawakoya
裕平 川古谷
Mitsuyasu Ito
光恭 伊藤
Original Assignee
Nippon Telegr & Teleph Corp <Ntt>
日本電信電話株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegr & Teleph Corp <Ntt>, 日本電信電話株式会社 filed Critical Nippon Telegr & Teleph Corp <Ntt>
Priority to JP2010240075A priority Critical patent/JP5548095B2/en
Publication of JP2012093917A publication Critical patent/JP2012093917A/en
Application granted granted Critical
Publication of JP5548095B2 publication Critical patent/JP5548095B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To allow a VMM to use a network device without depending upon the type of the network device.SOLUTION: On an information processing apparatus having a physical network device which is physically present, a virtual control program which controls the operation of a virtual machine makes a guest OS, including a physical device driver controlling the physical network device, operate on a virtual machine. Further, the virtual control program provides a virtual network device, obtained by virtualizing a network device controlled by the device driver that the guest OS has, for the guest OS. Furthermore, the virtual control program makes guest OS connect the virtual network device and physical network device so that data communication between the virtual network device and physical network device is carried out through a virtual device driver corresponding to the virtual network device, and the physical device driver.

Description

本発明は、仮想制御プログラム、情報処理装置及び仮想制御方法に関する。   The present invention relates to a virtual control program, an information processing apparatus, and a virtual control method.
従来、物理マシン(Physical Machine)上に仮想マシン(Virtual Machine:以下、「VM」と表記する場合がある)を動作させる仮想化技術が知られている。具体的には、仮想化技術では、仮想マシンモニタ(Virtual Machine Monitor:以下、「VMM」と表記する場合がある)と呼ばれる仮想制御プログラムによって、物理マシン上に1以上のVMが生成及び制御され、かかるVM上でゲストOS(Operating System)と呼ばれるOSが動作される。なお、VMMは、「ハイパーバイザ」や「仮想化OS」等と呼ばれる場合もある。   Conventionally, a virtualization technique for operating a virtual machine (hereinafter sometimes referred to as “VM”) on a physical machine is known. Specifically, in the virtualization technology, one or more VMs are generated and controlled on a physical machine by a virtual control program called a virtual machine monitor (hereinafter sometimes referred to as “VMM”). An OS called a guest OS (Operating System) is operated on the VM. Note that the VMM may be referred to as a “hypervisor” or a “virtualized OS”.
このような仮想化技術において、VM上で動作するゲストOSは、物理マシンに備えられているデバイスを制御するデバイスドライバを有する場合がある。例えば、物理マシンにNIC(Network Interface Card)等のネットワークデバイスが備えられている場合には、ゲストOSは、かかるネットワークデバイスを制御するデバイスドライバを有する。これにより、ゲストOSは、物理マシンに備えられているネットワークデバイスを認識することができ、かかるネットワークデバイスを利用することが可能になる。   In such a virtualization technology, a guest OS operating on a VM may have a device driver that controls a device provided in a physical machine. For example, when the physical machine is provided with a network device such as a NIC (Network Interface Card), the guest OS has a device driver that controls the network device. Thereby, the guest OS can recognize the network device provided in the physical machine, and can use the network device.
ところで、近年では、ゲストOSだけでなくVMMについても物理マシンに備えられているネットワークデバイスを認識することを要する技術が知られている。例えば、VMMがネットワークデバイスを認識することで、ゲストOSとネットワークデバイスとの間におけるデータの入出力をVMMが監視する技術が提案されている。かかる技術では、VMMによって、VPN(Virtual Private Network)機能やディスクの暗号化機能等が実現されると考えられる。   By the way, in recent years, a technology that requires recognition of a network device provided in a physical machine is known not only for a guest OS but also for a VMM. For example, a technique has been proposed in which the VMM recognizes a network device so that the VMM monitors data input / output between the guest OS and the network device. In such a technique, it is considered that a VPN (Virtual Private Network) function, a disk encryption function, and the like are realized by the VMM.
しかしながら、上記の従来技術において、VMMが物理マシンに備えられている全てのネットワークデバイスを認識できるとは限らない。これは、VMMが、物理マシンに備えられている全てのネットワークデバイスに対応するデバイスドライバを有するとは限らないからである。VMMは、ネットワークデバイスを認識できない場合には、上記例のようなVPN機能やディスクの暗号化機能等の各種機能を実現することができない。このように、上記の従来技術には、物理マシンに備えられているネットワークデバイスの種類によっては、VMMがネットワークデバイスを利用することができないという問題がある。   However, in the above-described conventional technology, the VMM cannot recognize all network devices provided in the physical machine. This is because the VMM does not necessarily have device drivers corresponding to all network devices provided in the physical machine. If the VMM cannot recognize the network device, it cannot realize various functions such as the VPN function and the disk encryption function as in the above example. As described above, the conventional technology has a problem that the VMM cannot use the network device depending on the type of the network device provided in the physical machine.
なお、物理マシンに備えられているネットワークデバイスに対応するデバイスドライバをVMMに実装することも考えられる。しかし、ネットワークデバイスには多数の種類が存在するので、各ネットワークデバイスに対応するVMM用のデバイスドライバを用意することは、作業工数が増大するという問題を招く。   Note that a device driver corresponding to a network device provided in the physical machine may be mounted on the VMM. However, since there are many types of network devices, preparing a VMM device driver corresponding to each network device causes a problem that the number of work steps increases.
本発明は、上記に鑑みてなされたものであって、ネットワークデバイスの種類に依存せずにVMMがネットワークデバイスを利用することができる仮想制御プログラム、情報処理装置及び仮想制御方法を提供することを目的とする。   The present invention has been made in view of the above, and provides a virtual control program, an information processing apparatus, and a virtual control method that allow a VMM to use a network device without depending on the type of the network device. Objective.
上述した課題を解決し、目的を達成するために、本発明に係る仮想制御プログラムは、物理的に実在するネットワークデバイスである物理ネットワークデバイスを有する情報処理装置上で、仮想マシンの動作を制御する仮想制御プログラムであって、前記物理ネットワークデバイスを制御する物理デバイスドライバを含むゲストOSを前記仮想マシン上で動作させ、前記ゲストOSに対して、該ゲストOSが有するデバイスドライバによって制御されるネットワークデバイスが仮想化された仮想ネットワークデバイスを提供し、前記仮想ネットワークデバイスと前記物理ネットワークデバイスとの間におけるデータ流通が、該仮想ネットワークデバイスに対応する仮想デバイスドライバと前記物理デバイスドライバとを介して行われるように、前記ゲストOSに前記仮想ネットワークデバイスと前記物理ネットワークデバイスとを接続させる処理を前記情報処理装置に実行させる。   In order to solve the above-described problems and achieve the object, a virtual control program according to the present invention controls the operation of a virtual machine on an information processing apparatus having a physical network device that is a physically existing network device. A network device that is a virtual control program, operates a guest OS including a physical device driver that controls the physical network device on the virtual machine, and is controlled by the device driver of the guest OS with respect to the guest OS Provides a virtualized virtual network device, and data distribution between the virtual network device and the physical network device is performed via a virtual device driver corresponding to the virtual network device and the physical device driver. like The guest OS and the virtual network device a process for connecting the physical network device to execute the information processing apparatus.
本発明に係る仮想制御プログラム、情報処理装置及び仮想制御方法は、ネットワークデバイスの種類に依存せずにVMMがネットワークデバイスを利用することができるできるという効果を奏する。   The virtual control program, the information processing apparatus, and the virtual control method according to the present invention have an effect that the VMM can use the network device without depending on the type of the network device.
図1は、実施例1に係る情報処理装置により実現される機能を模式的に示す図である。FIG. 1 is a schematic diagram illustrating functions realized by the information processing apparatus according to the first embodiment. 図2は、実施例2に係る情報処理装置により実現される機能を模式的に示す図である。FIG. 2 is a schematic diagram illustrating functions realized by the information processing apparatus according to the second embodiment. 図3は、実施例2に係る情報処理装置によるパケット送信処理手順を示すフローチャートである。FIG. 3 is a flowchart illustrating a packet transmission processing procedure performed by the information processing apparatus according to the second embodiment. 図4は、実施例2に係る情報処理装置によるパケット受信処理手順を示すフローチャートである。FIG. 4 is a flowchart illustrating a packet reception processing procedure performed by the information processing apparatus according to the second embodiment. 図5は、実施例3に係る情報処理装置により実現される機能を模式的に示す図である。FIG. 5 is a schematic diagram illustrating functions realized by the information processing apparatus according to the third embodiment. 図6は、実施例3に係る情報処理装置によるアクセス要求送信処理手順を示すフローチャートである。FIG. 6 is a flowchart illustrating the access request transmission processing procedure performed by the information processing apparatus according to the third embodiment. 図7は、実施例3に係る情報処理装置によるアクセス結果パケット受信処理手順を示すフローチャートである。FIG. 7 is a flowchart illustrating the access result packet reception processing procedure performed by the information processing apparatus according to the third embodiment. 図8は、仮想制御プログラムを実行するコンピュータを示す図である。FIG. 8 is a diagram illustrating a computer that executes a virtual control program.
以下に、本発明に係る仮想制御プログラム、情報処理装置及び仮想制御方法の実施例を図面に基づいて詳細に説明する。なお、この実施例により本発明が限定されるものではない。   Hereinafter, embodiments of a virtual control program, an information processing apparatus, and a virtual control method according to the present invention will be described in detail with reference to the drawings. In addition, this invention is not limited by this Example.
まず、図1を用いて、実施例1に係る情報処理装置について説明する。図1は、実施例1に係る情報処理装置により実現される機能を模式的に示す図である。図1に示した情報処理装置100は、例えば、PC(Personal Computer)やサーバであり、ネットワーク10を介して、外部とパケットの送受を行う。なお、実施例1に係る情報処理装置100は、仮想化技術が適用されている。   First, the information processing apparatus according to the first embodiment will be described with reference to FIG. FIG. 1 is a schematic diagram illustrating functions realized by the information processing apparatus according to the first embodiment. The information processing apparatus 100 illustrated in FIG. 1 is, for example, a PC (Personal Computer) or a server, and transmits and receives packets to and from the outside via the network 10. Note that the information processing apparatus 100 according to the first embodiment employs a virtualization technology.
図1に示すように、情報処理装置100は、ハードウェア110と、VMを実現するVMM120と、VM上で動作するゲストOS130とを含む。ハードウェア110は、物理的に実在するデバイスである。   As illustrated in FIG. 1, the information processing apparatus 100 includes hardware 110, a VMM 120 that implements a VM, and a guest OS 130 that operates on the VM. The hardware 110 is a physically existing device.
図1に示した例では、ハードウェア110は、物理デバイスの一例として、物理NIC111を有する。かかる物理NIC111は、ネットワーク10との間でパケットを送受する。なお、以下では、物理NIC111のように、物理的に実在するネットワークデバイスを「物理ネットワークデバイス」と表記する場合がある。   In the example illustrated in FIG. 1, the hardware 110 includes a physical NIC 111 as an example of a physical device. The physical NIC 111 transmits and receives packets to and from the network 10. In the following, a physically existing network device such as the physical NIC 111 may be referred to as a “physical network device”.
VMM120は、VM上でゲストOS130を動作させる。また、VMM120は、ゲストOS130に対して、ゲストOS130が有するデバイスドライバによって制御されるネットワークデバイスが仮想化された仮想ネットワークデバイスを提供する。具体的には、VMM120は、多くのOSが標準的に有するデバイスドライバによって制御される物理ネットワークデバイスが仮想化された仮想ネットワークデバイスを提供する。言い換えれば、VMM120は、ゲストOS130に対して、ゲストOS130が認識することができる仮想ネットワークデバイスを提供する。   The VMM 120 operates the guest OS 130 on the VM. Further, the VMM 120 provides the guest OS 130 with a virtual network device in which a network device controlled by a device driver included in the guest OS 130 is virtualized. Specifically, the VMM 120 provides a virtual network device in which a physical network device controlled by a device driver that many OSs have as standard is virtualized. In other words, the VMM 120 provides a virtual network device that can be recognized by the guest OS 130 to the guest OS 130.
図1に示した例では、VMM120は、ゲストOS130に対して、仮想的ネットワークデバイスとして、仮想NIC121を提供する。かかる仮想NIC121は、ゲストOS130が標準的にサポートするNICが仮想化されたネットワークデバイスである。すなわち、ゲストOS130は、例えば、新たなデバイスドライバが搭載されることなく、VMM120によって提供される仮想NIC121を認識することができる。   In the example illustrated in FIG. 1, the VMM 120 provides a virtual NIC 121 as a virtual network device to the guest OS 130. The virtual NIC 121 is a network device in which a NIC that is normally supported by the guest OS 130 is virtualized. That is, for example, the guest OS 130 can recognize the virtual NIC 121 provided by the VMM 120 without installing a new device driver.
ここで、VMM120によって仮想ネットワークデバイスが提供される契機の一例について説明する。ゲストOS130は、例えば、起動時において、PCI(Peripheral Component Interconnect)コンフィギュレーションレジスタを参照することで、ハードウェアを検索する処理を行う。このとき、実施例1におけるVMM120は、ゲストOS130によるPCIコンフィギュレーションレジスタへのアクセスを横取りし、ネットワークデバイスが存在するかのように振舞うことで、ゲストOS130に対して仮想ネットワークデバイスを提供する。すなわち、VMM120は、例えば、ゲストOS130によってハードウェアを検索する処理が行われた場合に、仮想ネットワークデバイスを提供する。   Here, an example of an opportunity when a virtual network device is provided by the VMM 120 will be described. For example, the guest OS 130 performs a process of searching for hardware by referring to a PCI (Peripheral Component Interconnect) configuration register at startup. At this time, the VMM 120 in the first embodiment intercepts the access to the PCI configuration register by the guest OS 130 and behaves as if the network device exists, thereby providing the guest OS 130 with a virtual network device. In other words, the VMM 120 provides a virtual network device when, for example, a process for searching for hardware is performed by the guest OS 130.
ゲストOS130は、VMM120によってVM上で動作されるOSであり、仮想NIC用デバイスドライバ131と、物理NIC用デバイスドライバ132とを含む。仮想NIC用デバイスドライバ131は、仮想NIC121を制御するデバイスドライバである。物理NIC用デバイスドライバ132は、物理NIC111を制御するデバイスドライバである。なお、上記のように、VMM120は、ゲストOS130が標準的に有するデバイスドライバによって制御される仮想NIC121を提供する。したがって、仮想NIC用デバイスドライバ131は、ゲストOS130が標準的に有するデバイスドライバである。   The guest OS 130 is an OS operated on the VM by the VMM 120, and includes a virtual NIC device driver 131 and a physical NIC device driver 132. The virtual NIC device driver 131 is a device driver that controls the virtual NIC 121. The physical NIC device driver 132 is a device driver that controls the physical NIC 111. As described above, the VMM 120 provides the virtual NIC 121 that is controlled by the device driver that the guest OS 130 has as a standard. Therefore, the virtual NIC device driver 131 is a device driver that the guest OS 130 has as a standard.
ここで、実施例1におけるVMM120は、仮想NIC121と物理NIC111との間におけるデータ流通が、仮想NIC用デバイスドライバ131及び物理NIC用デバイスドライバ132を介して行われるように、ゲストOS130に仮想NIC121と物理NIC111とを接続させる。具体的には、VMM120は、ゲストOS130に対して、仮想NIC121と物理NIC111とをブリッジ接続させる。   Here, the VMM 120 in the first embodiment allows the guest OS 130 to communicate with the virtual NIC 121 so that data distribution between the virtual NIC 121 and the physical NIC 111 is performed via the virtual NIC device driver 131 and the physical NIC device driver 132. The physical NIC 111 is connected. Specifically, the VMM 120 bridge-connects the virtual NIC 121 and the physical NIC 111 to the guest OS 130.
これにより、仮想NIC121に入力されるパケットは、仮想NIC用デバイスドライバ131及び物理NIC用デバイスドライバ132によって、物理NIC111に転送される。また、物理NIC111に入力されるパケットは、仮想NIC用デバイスドライバ131及び物理NIC用デバイスドライバ132によって、仮想NIC121に転送される。なお、ブリッジ接続機能は、一般的に、ネットワーク機能を有する多くのOSに搭載されている。   Thus, the packet input to the virtual NIC 121 is transferred to the physical NIC 111 by the virtual NIC device driver 131 and the physical NIC device driver 132. The packet input to the physical NIC 111 is transferred to the virtual NIC 121 by the virtual NIC device driver 131 and the physical NIC device driver 132. The bridge connection function is generally installed in many OSs having a network function.
このように、実施例1に係る情報処理装置100は、VMM120が、ゲストOS130に仮想NIC121を提供するとともに、物理NIC111と仮想NIC121とをブリッジ接続させる。これにより、実施例1におけるVMM120は、物理NIC111に対応するデバイスドライバを要することなく、物理NIC111を利用することができる。言い換えれば、実施例1におけるVMM120は、物理NIC111の種類に依存せずに、かかる物理NIC111を利用することができる。この結果、VMM120は、物理NIC111に入出力されるパケットを監視できるので、例えば、VPN機能やディスクの暗号化機能等の各種機能を実現することができる。   As described above, in the information processing apparatus 100 according to the first embodiment, the VMM 120 provides the guest OS 130 with the virtual NIC 121 and bridge-connects the physical NIC 111 and the virtual NIC 121. Thereby, the VMM 120 in the first embodiment can use the physical NIC 111 without requiring a device driver corresponding to the physical NIC 111. In other words, the VMM 120 in the first embodiment can use the physical NIC 111 without depending on the type of the physical NIC 111. As a result, the VMM 120 can monitor the packets input / output to / from the physical NIC 111, so that various functions such as a VPN function and a disk encryption function can be realized.
ここで、図1に示した例において、情報処理装置100が仮想NIC121及び仮想NIC用デバイスドライバ131を有しないものとする。また、VMM120が物理NIC111を認識できないものとする。かかる場合に、VMM120が物理NIC111を認識するためには、物理NIC111に対応するデバイスドライバをVMM120に搭載することを要する。しかし、実施例1に係る情報処理装置100では、VMM120によってゲストOS130が認識できる仮想NIC121が提供されるとともに、かかる仮想NIC121と物理NIC111とをブリッジ接続するので、物理NIC111に対応するデバイスドライバをVMM120に搭載することなく、VMM120が物理NIC111を利用することが可能になる。   Here, in the example illustrated in FIG. 1, the information processing apparatus 100 does not include the virtual NIC 121 and the virtual NIC device driver 131. Further, it is assumed that the VMM 120 cannot recognize the physical NIC 111. In this case, in order for the VMM 120 to recognize the physical NIC 111, it is necessary to install a device driver corresponding to the physical NIC 111 in the VMM 120. However, in the information processing apparatus 100 according to the first embodiment, the virtual NIC 121 that can be recognized by the guest OS 130 is provided by the VMM 120 and the virtual NIC 121 and the physical NIC 111 are bridge-connected, so that a device driver corresponding to the physical NIC 111 is attached to the VMM 120. It becomes possible for the VMM 120 to use the physical NIC 111 without being mounted on the physical NIC.
実施例1に係る情報処理装置100の適用例を挙げて説明する。例えば、情報処理装置100にVMM120が導入されておらず、情報処理装置100において所定のOSが動作しているものとする。このとき、情報処理装置100において動作しているOSは、物理NIC111に対応する物理NIC用デバイスドライバ132を含み、物理NIC111を認識しているものとする。このような状態において、情報処理装置100にVMM120が導入される場合がある。   An application example of the information processing apparatus 100 according to the first embodiment will be described. For example, it is assumed that the VMM 120 is not installed in the information processing apparatus 100 and a predetermined OS is operating in the information processing apparatus 100. At this time, the OS operating in the information processing apparatus 100 includes the physical NIC device driver 132 corresponding to the physical NIC 111 and recognizes the physical NIC 111. In such a state, the VMM 120 may be introduced into the information processing apparatus 100.
かかる場合に、実施例1に係る情報処理装置100では、VMM120がゲストOS130に対して仮想NIC121を提供し、この仮想NIC121と物理NIC111とをブリッジ接続する。このため、VMM120は、仮に物理NIC111を認識できない場合であっても、物理NIC111用のデバイスドライバを要することなく、物理NIC111を利用することができる。すなわち、既存の情報処理装置にVMM120を新たに導入する際に、VMM120が物理NIC111に対応していない場合であっても、実施例1におけるVMM120は、物理NIC111用のデバイスドライバを要することなく、物理NIC111を利用することができる。   In such a case, in the information processing apparatus 100 according to the first embodiment, the VMM 120 provides the virtual NIC 121 to the guest OS 130 and bridges the virtual NIC 121 and the physical NIC 111. Therefore, even if the VMM 120 cannot recognize the physical NIC 111, the VMM 120 can use the physical NIC 111 without requiring a device driver for the physical NIC 111. That is, when the VMM 120 is newly introduced into an existing information processing apparatus, even if the VMM 120 does not support the physical NIC 111, the VMM 120 in the first embodiment does not require a device driver for the physical NIC 111. The physical NIC 111 can be used.
上記実施例1では、VMMが仮想NICを提供し、ゲストOSに対して仮想NICと物理NICとブリッジ接続させることにより、物理ネットワークデバイスの種類に依存せずに、VMMが物理ネットワークデバイスを利用することができる例を示した。実施例2では、実施例1における技術に加えて、VMMによってセキュリティ機能が提供される例について説明する。   In the first embodiment, the VMM provides the virtual NIC, and the virtual NIC and the physical NIC are bridge-connected to the guest OS, so that the VMM uses the physical network device without depending on the type of the physical network device. An example that can be done. In the second embodiment, an example in which the security function is provided by the VMM in addition to the technique in the first embodiment will be described.
[実施例2に係る情報処理装置の構成例]
まず、図2を用いて、実施例2に係る情報処理装置について説明する。図2は、実施例2に係る情報処理装置により実現される機能を模式的に示す図である。なお、以下では、既に示した構成部位と同様の機能を有する部位には同一符号を付すこととして、その詳細な説明を省略する。
[Configuration Example of Information Processing Apparatus According to Second Embodiment]
First, the information processing apparatus according to the second embodiment will be described with reference to FIG. FIG. 2 is a schematic diagram illustrating functions realized by the information processing apparatus according to the second embodiment. In addition, below, the detailed description is abbreviate | omitted as attaching | subjecting the same code | symbol to the site | part which has the function similar to the already shown component part.
図2に示した情報処理装置200は、図1に示した情報処理装置100と同様に、VMを動作させる仮想化技術が適用されている。かかる情報処理装置200は、図2に示すように、トンネル構築部11と接続される。トンネル構築部11は、例えば、ルータ等のネットワーク機器によって実現され、パケットに対して転送用のパケットヘッダを付与するカプセル化や、転送用のパケットヘッダを削除するデカプセル化を行う。なお、トンネル構築部11による処理については、情報処理装置200のトンネル構築部224とともに後述する。   The information processing apparatus 200 illustrated in FIG. 2 is applied with a virtualization technology that operates a VM, as with the information processing apparatus 100 illustrated in FIG. The information processing apparatus 200 is connected to the tunnel construction unit 11 as shown in FIG. The tunnel construction unit 11 is realized by, for example, a network device such as a router, and performs encapsulation that adds a packet header for transfer to a packet and decapsulation that deletes the packet header for transfer. The processing by the tunnel construction unit 11 will be described later together with the tunnel construction unit 224 of the information processing apparatus 200.
このような情報処理装置200は、図2に示すように、ハードウェア110と、VMM220と、ゲストOS230とを含む。VMM220は、VM上でゲストOS230を動作させる。また、VMM220は、ゲストOS230に対して、第1仮想NIC221と、第2仮想NIC222とを提供する。   Such an information processing apparatus 200 includes hardware 110, a VMM 220, and a guest OS 230, as shown in FIG. The VMM 220 operates the guest OS 230 on the VM. Further, the VMM 220 provides the first virtual NIC 221 and the second virtual NIC 222 to the guest OS 230.
第1仮想NIC221及び第2仮想NIC222は、ゲストOS230が有するデバイスドライバによって制御されるネットワークデバイスが仮想化された仮想ネットワークデバイスである。すなわち、VMM220は、ゲストOS230に対して、ゲストOS230が標準的にサポートするネットワークデバイスが仮想化された第1仮想NIC221及び第2仮想NIC222を提供する。言い換えれば、ゲストOS230は、例えば、新たなデバイスドライバが搭載されることなく、第1仮想NIC221及び第2仮想NIC222を認識することができる。   The first virtual NIC 221 and the second virtual NIC 222 are virtual network devices in which network devices controlled by device drivers included in the guest OS 230 are virtualized. That is, the VMM 220 provides the guest OS 230 with the first virtual NIC 221 and the second virtual NIC 222 in which network devices that the guest OS 230 supports as standard are virtualized. In other words, the guest OS 230 can recognize the first virtual NIC 221 and the second virtual NIC 222 without mounting a new device driver, for example.
また、VMM220は、ゲストOS230に対して、第1仮想NIC221と物理NIC111とをブリッジ接続させる。これにより、第1仮想NIC221に入力されるパケットは、物理NIC111に転送され、物理NIC111に入力されるパケットは、第1仮想NIC221に転送される。このように、第1仮想NIC221は、図1に示した仮想NIC121と同様に、物理NIC111とブリッジ接続される。また、第2仮想NIC222は、ゲストOS230に対して、パケットの入力ポートとして提供される。   In addition, the VMM 220 bridge-connects the first virtual NIC 221 and the physical NIC 111 to the guest OS 230. Thereby, a packet input to the first virtual NIC 221 is transferred to the physical NIC 111, and a packet input to the physical NIC 111 is transferred to the first virtual NIC 221. As described above, the first virtual NIC 221 is bridge-connected to the physical NIC 111 in the same manner as the virtual NIC 121 illustrated in FIG. The second virtual NIC 222 is provided to the guest OS 230 as a packet input port.
また、VMM220は、侵入検知部223と、トンネル構築部224とを有する。侵入検知部223は、ネットワーク10を介して情報処理装置200と外部との間で送受されるパケットを監視することで、不正パケットが侵入したか否かを検知する。トンネル構築部224は、パケットに対して転送用のパケットヘッダを付与するカプセル化や、転送用のパケットヘッダを削除するデカプセル化を行う。なお、侵入検知部223及びトンネル構築部224については、ゲストOS230の説明の後に詳述する。   Further, the VMM 220 includes an intrusion detection unit 223 and a tunnel construction unit 224. The intrusion detection unit 223 detects whether an illegal packet has entered by monitoring packets transmitted and received between the information processing apparatus 200 and the outside via the network 10. The tunnel construction unit 224 performs encapsulation that adds a packet header for transfer to a packet and decapsulation that deletes the packet header for transfer. The intrusion detection unit 223 and the tunnel construction unit 224 will be described in detail after the description of the guest OS 230.
ゲストOS230は、VMM220によってVM上で動作されるOSであり、仮想NIC用デバイスドライバ231と、物理NIC用デバイスドライバ232と、仮想NIC用デバイスドライバ233と、アプリケーション部234とを含む。   The guest OS 230 is an OS operated on the VM by the VMM 220, and includes a virtual NIC device driver 231, a physical NIC device driver 232, a virtual NIC device driver 233, and an application unit 234.
仮想NIC用デバイスドライバ231は、第1仮想NIC221を制御するデバイスドライバである。物理NIC用デバイスドライバ232は、物理NIC111を制御するデバイスドライバである。仮想NIC用デバイスドライバ233は、第2仮想NIC222を制御するデバイスドライバである。   The virtual NIC device driver 231 is a device driver that controls the first virtual NIC 221. The physical NIC device driver 232 is a device driver that controls the physical NIC 111. The virtual NIC device driver 233 is a device driver that controls the second virtual NIC 222.
なお、仮想NIC用デバイスドライバ231は、図1に示した仮想NIC用デバイスドライバ131に対応し、物理NIC用デバイスドライバ232は、図1に示した物理NIC用デバイスドライバ132に対応する。また、VMM220は、ゲストOS230が標準的に有するデバイスドライバによって制御される第1仮想NIC221及び第2仮想NIC222を提供するので、仮想NIC用デバイスドライバ231及び仮想NIC用デバイスドライバ233は、ゲストOS130が標準的に有するデバイスドライバである。   The virtual NIC device driver 231 corresponds to the virtual NIC device driver 131 shown in FIG. 1, and the physical NIC device driver 232 corresponds to the physical NIC device driver 132 shown in FIG. Further, since the VMM 220 provides the first virtual NIC 221 and the second virtual NIC 222 that are controlled by the device driver that the guest OS 230 has as a standard, the virtual NIC device driver 231 and the virtual NIC device driver 233 are provided by the guest OS 130. This is a standard device driver.
アプリケーション部234は、ゲストOS230上で動作する各種アプリケーションである。図2に示したアプリケーション部234は、ネットワーク10との間でパケットの送受を行う場合がある。ここで、実施例2におけるアプリケーション部234は、ネットワーク10に対してパケットを送信する場合には、仮想NIC用デバイスドライバ233に対して送信対象パケットを出力する。   The application unit 234 is various applications that operate on the guest OS 230. The application unit 234 illustrated in FIG. 2 may send and receive packets to and from the network 10. Here, when transmitting a packet to the network 10, the application unit 234 according to the second embodiment outputs a transmission target packet to the virtual NIC device driver 233.
ここで、上記のように、第1仮想NIC221と物理NIC111とはブリッジ接続されているので、アプリケーション部234によって第2仮想NIC222に出力されるパケットは、侵入検知部223と、トンネル構築部224と、第1仮想NIC221とを介して、物理NIC111に出力される。そして、第1仮想NIC221から物理NIC111に入力されたパケットは、トンネル構築部11を介してネットワーク10に送信される。   Here, as described above, since the first virtual NIC 221 and the physical NIC 111 are bridge-connected, the packet output to the second virtual NIC 222 by the application unit 234 is the intrusion detection unit 223, the tunnel construction unit 224, And output to the physical NIC 111 via the first virtual NIC 221. The packet input from the first virtual NIC 221 to the physical NIC 111 is transmitted to the network 10 via the tunnel construction unit 11.
また、ネットワーク10から、情報処理装置200に送信されるデータは、トンネル構築部11を介して物理NIC111に入力される。そして、トンネル構築部11から物理NIC111に入力されたデータは、第1仮想NIC221と、トンネル構築部224と、侵入検知部223と、第2仮想NIC222とを介して、アプリケーション部234に入力される。   Data transmitted from the network 10 to the information processing apparatus 200 is input to the physical NIC 111 via the tunnel construction unit 11. Data input from the tunnel construction unit 11 to the physical NIC 111 is input to the application unit 234 via the first virtual NIC 221, the tunnel construction unit 224, the intrusion detection unit 223, and the second virtual NIC 222. .
ここで、VMM220が有する侵入検知部223による処理について詳細に説明する。まず、アプリケーション部234は、上記のように、仮想NIC用デバイスドライバ233に送信対象パケットを入力する。かかる仮想NIC用デバイスドライバ233は、アプリケーション部234から送信対象パケットを入力された場合に、I/O(Input/Output)ポート等を介して、送信対象パケットを第2仮想NIC222に入力する。VMM220は、I/Oポートへのアクセスを監視しており、第2仮想NIC222に送信対象パケットが入力された場合には、送信対象パケットに関するパケット情報を侵入検知部223に入力する。   Here, processing performed by the intrusion detection unit 223 included in the VMM 220 will be described in detail. First, the application unit 234 inputs a transmission target packet to the virtual NIC device driver 233 as described above. When the transmission target packet is input from the application unit 234, the virtual NIC device driver 233 inputs the transmission target packet to the second virtual NIC 222 via an I / O (Input / Output) port or the like. The VMM 220 monitors access to the I / O port. When a transmission target packet is input to the second virtual NIC 222, the VMM 220 inputs packet information related to the transmission target packet to the intrusion detection unit 223.
かかる場合に、侵入検知部223は、第2仮想NIC222に入力された送信対象パケットを解析し、不正データであるか否かを判定する。例えば、侵入検知部223は、悪意のある攻撃者が情報処理装置200に対して送信し得る送信メッセージパターンを記憶部に保持しておく。そして、侵入検知部223は、第2仮想NIC222に入力された送信対象パケットが、かかる記憶部に記憶されている送信メッセージパターンとマッチするか否かを判定する。そして、侵入検知部223は、送信対象パケットと送信メッセージパターンとがマッチした場合には、送信対象パケットを廃棄する。一方、侵入検知部223は、送信対象パケットと送信メッセージパターンとがマッチしない場合には、送信対象パケットをトンネル構築部224に出力する。   In such a case, the intrusion detection unit 223 analyzes the transmission target packet input to the second virtual NIC 222 and determines whether the data is unauthorized data. For example, the intrusion detection unit 223 holds a transmission message pattern that can be transmitted to the information processing apparatus 200 by a malicious attacker in the storage unit. The intrusion detection unit 223 determines whether the transmission target packet input to the second virtual NIC 222 matches the transmission message pattern stored in the storage unit. The intrusion detection unit 223 discards the transmission target packet when the transmission target packet matches the transmission message pattern. On the other hand, the intrusion detection unit 223 outputs the transmission target packet to the tunnel construction unit 224 when the transmission target packet does not match the transmission message pattern.
なお、侵入検知部223は、例えば、情報処理装置200によって送受信することが許可されているメッセージパターンを記憶部に保持してもよい。かかる場合に、侵入検知部223は、第2仮想NIC222に入力された送信対象パケットが、かかる記憶部に記憶されているメッセージパターンとマッチするか否かを判定する。そして、侵入検知部223は、送信対象パケットとメッセージパターンとがマッチしない場合には、送信対象パケットを廃棄する。一方、侵入検知部223は、送信対象パケットとメッセージパターンとがマッチする場合には、送信対象パケットをトンネル構築部224に出力する。   The intrusion detection unit 223 may hold, for example, a message pattern permitted to be transmitted / received by the information processing apparatus 200 in the storage unit. In such a case, the intrusion detection unit 223 determines whether or not the transmission target packet input to the second virtual NIC 222 matches the message pattern stored in the storage unit. The intrusion detection unit 223 discards the transmission target packet when the transmission target packet does not match the message pattern. On the other hand, the intrusion detection unit 223 outputs the transmission target packet to the tunnel construction unit 224 when the transmission target packet matches the message pattern.
また、侵入検知部223は、ネットワーク10から情報処理装置200にパケットが送信された場合に、物理NIC111によって受信された受信パケットをトンネル構築部224から入力される。かかる場合に、侵入検知部223は、受信パケットを解析し、不正データであるか否かを判定する。例えば、侵入検知部223は、上記例と同様に、受信パケットと、悪意のある送信メッセージパターンとをマッチングさせることにより、不正データであるか否かを判定する。また、例えば、侵入検知部223は、受信パケットと、情報処理装置200によって送受信することが許可されているメッセージパターンとをマッチングさせることにより、不正データであるか否かを判定する。   The intrusion detection unit 223 receives a received packet received by the physical NIC 111 from the tunnel construction unit 224 when a packet is transmitted from the network 10 to the information processing apparatus 200. In such a case, the intrusion detection unit 223 analyzes the received packet and determines whether it is illegal data. For example, as in the above example, the intrusion detection unit 223 determines whether or not the data is illegal by matching the received packet with a malicious transmission message pattern. For example, the intrusion detection unit 223 determines whether or not the data is illegal data by matching the received packet with a message pattern that is permitted to be transmitted and received by the information processing apparatus 200.
続いて、トンネル構築部224及びトンネル構築部11による処理について詳細に説明する。トンネル構築部224は、トンネル構築部11との間で送受されるパケットが不正パケットであるか否かを判定するために、送信対象パケットに対して、トンネル構築部224によってカプセル化されたことを示す識別情報を付与することで、パケットのカプセル化処理を行う。同様に、トンネル構築部11は、外部から受信したパケットに対して、トンネル構築部11によってカプセル化されたことを示す識別情報を付与することで、パケットのカプセル化処理を行う。そして、トンネル構築部11は、カプセル化後のパケットを情報処理装置200に送信する。例えば、トンネル構築部224及びトンネル構築部11は、カプセル化処理を実行した年月日時分秒を表すタイムスタンプや電子署名等をパケットに付与することでカプセル化処理を行う。   Subsequently, processing by the tunnel construction unit 224 and the tunnel construction unit 11 will be described in detail. The tunnel construction unit 224 determines that the packet to be transmitted is encapsulated by the tunnel construction unit 224 in order to determine whether or not the packet transmitted to and received from the tunnel construction unit 11 is an illegal packet. Packet identification processing is performed by giving the identification information shown. Similarly, the tunnel construction unit 11 performs packet encapsulation processing by giving identification information indicating that the tunnel construction unit 11 has encapsulated the packet received from the outside. Then, tunnel construction unit 11 transmits the encapsulated packet to information processing apparatus 200. For example, the tunnel construction unit 224 and the tunnel construction unit 11 perform the encapsulation process by adding a time stamp, an electronic signature, or the like indicating the year, month, day, hour, minute, and second when the encapsulation process is executed to the packet.
そして、トンネル構築部224は、パケットを受信した場合に、パケットに付与されているタイムスタンプ及び電子署名等に基づいて、タイムスタンプのチェックし、署名検証を行う。これにより、トンネル構築部224は、トンネル構築部11によってカプセル化処理が行われたパケットであるか否かを判定する。同様に、トンネル構築部11は、パケットを受信した場合に、タイムスタンプのチェックと署名検証を行うことにより、トンネル構築部224によってカプセル化処理が行われたパケットであるか否かを判定する。そして、実施例2におけるトンネル構築部224は、トンネル構築部11を通過していないパケットを不正パケットとして廃棄し、トンネル構築部11を通過しているパケットを正当なパケットとして受信する。また、トンネル構築部11は、トンネル構築部224を通過していないパケットを不正パケットとして廃棄し、トンネル構築部224を通過しているパケットを正当なパケットとして受信し、外部に送信する。これにより、トンネル構築部224及びトンネル構築部11は、双方を通過していないパケットが外部に流通することを防止することができる。   When the tunnel construction unit 224 receives the packet, the tunnel construction unit 224 checks the time stamp and verifies the signature based on the time stamp and the electronic signature added to the packet. Thereby, the tunnel construction unit 224 determines whether or not the packet has been subjected to the encapsulation processing by the tunnel construction unit 11. Similarly, when the tunnel construction unit 11 receives a packet, the tunnel construction unit 11 determines whether or not the packet has been encapsulated by the tunnel construction unit 224 by performing time stamp check and signature verification. The tunnel construction unit 224 according to the second embodiment discards a packet that has not passed through the tunnel construction unit 11 as an illegal packet, and receives a packet that has passed through the tunnel construction unit 11 as a valid packet. The tunnel construction unit 11 discards a packet that has not passed through the tunnel construction unit 224 as an illegal packet, receives a packet that has passed through the tunnel construction unit 224 as a valid packet, and transmits the packet to the outside. Thereby, the tunnel construction unit 224 and the tunnel construction unit 11 can prevent a packet that has not passed through both from circulating outside.
なお、実施例2では、トンネル構築部224及びトンネル構築部11を通過していないパケットを外部に流通させないことを実現するために、トンネル構築部224及びトンネル構築部が、トンネリング処理を行うことで、トンネル構築部224とトンネル構築部11との間にトンネルと呼ばれるセキュアな回線を構築する例について説明する。   In the second embodiment, the tunnel construction unit 224 and the tunnel construction unit perform a tunneling process in order to prevent the packets that have not passed through the tunnel construction unit 224 and the tunnel construction unit 11 from being distributed outside. An example of constructing a secure line called a tunnel between the tunnel construction unit 224 and the tunnel construction unit 11 will be described.
具体的には、実施例2におけるトンネル構築部224は、情報処理装置200のシステム起動時やネットワーク接続時等に、トンネル構築部11との間で暗号鍵の交換等を行うことにより、第1仮想NIC221とトンネル構築部11との間にトンネルを構築する。そして、トンネル構築部224は、侵入検知部223から送信対象パケットを入力された場合に、かかる送信対象パケットをカプセル化する。例えば、トンネル構築部224は、IPsec(Security Architecture for Internet Protocol)や、SSL(Secure Sockets Layer)等に基づいて、送信対象パケットをカプセル化する。そして、トンネル構築部224は、カプセル化後の送信対象パケットを第1仮想NIC221に出力する。   Specifically, the tunnel construction unit 224 according to the second embodiment performs first exchange by exchanging encryption keys with the tunnel construction unit 11 when the information processing apparatus 200 is activated or connected to the network. A tunnel is constructed between the virtual NIC 221 and the tunnel construction unit 11. When the transmission target packet is input from the intrusion detection unit 223, the tunnel construction unit 224 encapsulates the transmission target packet. For example, the tunnel construction unit 224 encapsulates the transmission target packet based on IPsec (Security Architecture for Internet Protocol), SSL (Secure Sockets Layer), or the like. Then, tunnel construction unit 224 outputs the encapsulated transmission target packet to first virtual NIC 221.
仮想NIC用デバイスドライバ231は、ゲストOS230のネットワークブリッジ機能により、トンネル構築部224によって第1仮想NIC221に入力された送信対象パケットを物理NIC用デバイスドライバ232に転送する。この結果、かかる送信対象パケットは、物理NIC111に入力される。そして、物理NIC111に入力された送信対象パケットは、情報処理装置200の外部に所在するトンネル構築部11に送信される。   The virtual NIC device driver 231 uses the network bridge function of the guest OS 230 to transfer the transmission target packet input to the first virtual NIC 221 by the tunnel construction unit 224 to the physical NIC device driver 232. As a result, the transmission target packet is input to the physical NIC 111. Then, the transmission target packet input to the physical NIC 111 is transmitted to the tunnel construction unit 11 located outside the information processing apparatus 200.
トンネル構築部11は、物理NIC111から受信した送信対象パケットがVMM220においてカプセル化されたパケットであるか否かを判定する。そして、トンネル構築部11は、送信対象パケットがVMM220においてカプセル化されたパケットであると判定した場合には、送信対象パケットをデカプセル化する。すなわち、トンネル構築部11は、送信対象パケットを、トンネル構築部224によってカプセル化される前の送信対象パケットに戻す。そして、トンネル構築部11は、デカプセル化後の送信対象パケットをネットワーク10に送信する。一方、トンネル構築部11は、送信対象パケットがVMM220においてカプセル化されたパケットでないと判定した場合には、送信対象パケットを廃棄する。   The tunnel construction unit 11 determines whether the transmission target packet received from the physical NIC 111 is a packet encapsulated in the VMM 220. When the tunnel construction unit 11 determines that the transmission target packet is a packet encapsulated in the VMM 220, the tunnel construction unit 11 decapsulates the transmission target packet. That is, the tunnel construction unit 11 returns the transmission target packet to the transmission target packet before being encapsulated by the tunnel construction unit 224. The tunnel construction unit 11 transmits the decapsulated transmission target packet to the network 10. On the other hand, when the tunnel construction unit 11 determines that the transmission target packet is not a packet encapsulated in the VMM 220, the tunnel construction unit 11 discards the transmission target packet.
また、トンネル構築部11は、ネットワーク10から情報処理装置200宛のパケットが送信された場合に、かかるパケットをカプセル化した後に物理NIC111に送信する。トンネル構築部11から物理NIC111にパケットが送信されると、物理NIC用デバイスドライバ232に割り込み処理が発生し、物理NIC111において受信された受信パケットが物理NIC用デバイスドライバ232に送信される。そして、物理NIC用デバイスドライバ232は、ゲストOS230のネットワークブリッジ機能により、物理NIC111から受信した受信パケットを仮想NIC用デバイスドライバ231に転送する。この結果、かかる受信パケットは、第1仮想NIC221に入力される。   Further, when a packet addressed to the information processing apparatus 200 is transmitted from the network 10, the tunnel construction unit 11 encapsulates the packet and transmits the packet to the physical NIC 111. When a packet is transmitted from the tunnel construction unit 11 to the physical NIC 111, an interrupt process occurs in the physical NIC device driver 232, and a received packet received by the physical NIC 111 is transmitted to the physical NIC device driver 232. Then, the physical NIC device driver 232 transfers the received packet received from the physical NIC 111 to the virtual NIC device driver 231 by the network bridge function of the guest OS 230. As a result, the received packet is input to the first virtual NIC 221.
トンネル構築部224は、第1仮想NIC221に入力された受信パケットがトンネル構築部11においてカプセル化されたパケットであるか否かを判定する。そして、トンネル構築部224は、受信パケットがトンネル構築部11においてカプセル化されたパケットであると判定した場合には、受信パケットをデカプセル化する。すなわち、トンネル構築部224は、受信パケットを、トンネル構築部11によってカプセル化される前のパケットに戻す。そして、トンネル構築部224は、デカプセル化後の受信パケットを侵入検知部223に入力する。一方、トンネル構築部224は、受信パケットがトンネル構築部11においてカプセル化されたパケットでないと判定した場合には、かかる受信パケットを廃棄する。   The tunnel construction unit 224 determines whether the received packet input to the first virtual NIC 221 is a packet encapsulated in the tunnel construction unit 11. When the tunnel construction unit 224 determines that the received packet is a packet encapsulated in the tunnel construction unit 11, the tunnel construction unit 224 decapsulates the received packet. That is, the tunnel construction unit 224 returns the received packet to the packet before being encapsulated by the tunnel construction unit 11. Then, tunnel construction unit 224 inputs the received packet after decapsulation to intrusion detection unit 223. On the other hand, when the tunnel construction unit 224 determines that the received packet is not a packet encapsulated in the tunnel construction unit 11, the tunnel construction unit 224 discards the received packet.
なお、上述したトンネル構築部224及びトンネル構築部11によるトンネリング処理は、トンネル構築部224及びトンネル構築部11を通過していないパケットを外部に流通させないことを実現する処理の一例であって、トンネル構築部224及びトンネル構築部11は、トンネリング処理を行うことを必ずしも要しない。すなわち、トンネル構築部224及びトンネル構築部11は、トンネリング処理を行うことなく、双方でカプセル化されたか否かを示す識別情報をパケットに付与し、パケットを受信した場合に、かかる識別情報に基づいて、受信パケットが不正パケットであるか否かを判定すればよい。   The tunneling process by the tunnel construction unit 224 and the tunnel construction unit 11 described above is an example of a process for realizing that packets that have not passed through the tunnel construction unit 224 and the tunnel construction unit 11 are not distributed to the outside. The construction unit 224 and the tunnel construction unit 11 do not necessarily need to perform a tunneling process. That is, the tunnel construction unit 224 and the tunnel construction unit 11 add identification information indicating whether or not both are encapsulated to the packet without performing a tunneling process, and based on the identification information when the packet is received. Thus, it may be determined whether or not the received packet is an illegal packet.
[実施例2に係る情報処理装置によるパケット送信処理]
次に、図3を用いて、実施例2に係る情報処理装置200によるパケット送信処理の手順について説明する。図3は、実施例2に係る情報処理装置200によるパケット送信処理手順を示すフローチャートである。
[Packet Transmission Processing by Information Processing Apparatus According to Second Embodiment]
Next, a procedure of packet transmission processing by the information processing apparatus 200 according to the second embodiment will be described with reference to FIG. FIG. 3 is a flowchart illustrating a packet transmission processing procedure performed by the information processing apparatus 200 according to the second embodiment.
図3に示すように、情報処理装置200のVMM220は、I/Oポートへのアクセスを監視することで、第2仮想NIC222への通信が発生したか否かを判定する(ステップS101)。そして、VMM220の侵入検知部223は、例えば、アプリケーション部234から第2仮想NIC222に送信対象パケットが入力された場合に(ステップS101肯定)、侵入検知処理を行う(ステップS102)。例えば、侵入検知部223は、送信対象パケットと、悪意のある送信メッセージパターンとをマッチングさせることにより、かかる送信対象パケットが不正パケットであるか否かを判定する(ステップS103)。そして、侵入検知部223は、送信対象パケットが不正パケットである場合には(ステップS103肯定)、送信対象パケットを廃棄する(ステップS104)。   As illustrated in FIG. 3, the VMM 220 of the information processing device 200 determines whether communication with the second virtual NIC 222 has occurred by monitoring access to the I / O port (step S <b> 101). Then, the intrusion detection unit 223 of the VMM 220 performs intrusion detection processing when a transmission target packet is input from the application unit 234 to the second virtual NIC 222 (Yes in step S101), for example (step S102). For example, the intrusion detection unit 223 determines whether or not the transmission target packet is an illegal packet by matching the transmission target packet with a malicious transmission message pattern (step S103). When the transmission target packet is an illegal packet (Yes at Step S103), the intrusion detection unit 223 discards the transmission target packet (Step S104).
一方、侵入検知部223は、送信対象パケットが不正パケットでない場合には(ステップS103否定)、送信対象パケットをトンネル構築部224に出力する。トンネル構築部224は、侵入検知部223から入力された送信対象パケットをカプセル化する(ステップS105)。そして、トンネル構築部224は、カプセル化後の送信対象パケットを第1仮想NIC221に出力する(ステップS106)。   On the other hand, if the transmission target packet is not an illegal packet (No at Step S103), the intrusion detection unit 223 outputs the transmission target packet to the tunnel construction unit 224. The tunnel construction unit 224 encapsulates the transmission target packet input from the intrusion detection unit 223 (step S105). Then, the tunnel construction unit 224 outputs the encapsulated transmission target packet to the first virtual NIC 221 (step S106).
そして、仮想NIC用デバイスドライバ231は、トンネル構築部224によって第1仮想NIC221に入力された送信対象パケットを物理NIC用デバイスドライバ232に転送することで、送信対象パケットを物理NIC111に転送する(ステップS107)。なお、情報処理装置200からネットワーク10に送信された送信対象パケットは、トンネル構築部11によってデカプセル化された後に、ネットワーク10に送信される。これにより、情報処理装置200は、物理NIC111からネットワーク10に対して送信対象パケットを送信する(ステップS108)。   Then, the virtual NIC device driver 231 transfers the transmission target packet to the physical NIC 111 by transferring the transmission target packet input to the first virtual NIC 221 by the tunnel construction unit 224 to the physical NIC device driver 232 (step S110). S107). The transmission target packet transmitted from the information processing device 200 to the network 10 is decapsulated by the tunnel construction unit 11 and then transmitted to the network 10. As a result, the information processing apparatus 200 transmits the transmission target packet from the physical NIC 111 to the network 10 (step S108).
[実施例2に係る情報処理装置によるパケット受信処理]
次に、図4を用いて、実施例2に係る情報処理装置200によるパケット受信処理の手順について説明する。図4は、実施例2に係る情報処理装置200によるパケット受信処理手順を示すフローチャートである。
[Packet Reception Processing by Information Processing Device According to Second Embodiment]
Next, a procedure of packet reception processing by the information processing apparatus 200 according to the second embodiment will be described with reference to FIG. FIG. 4 is a flowchart illustrating a packet reception processing procedure performed by the information processing apparatus 200 according to the second embodiment.
図4に示すように、情報処理装置200において、物理NIC111がネットワーク10からパケットを受信した場合には(ステップS201肯定)、物理NIC用デバイスドライバ232は、受信パケットを仮想NIC用デバイスドライバ231に転送することで、受信パケットを第1仮想NIC221に転送する(ステップS202)。   As shown in FIG. 4, in the information processing apparatus 200, when the physical NIC 111 receives a packet from the network 10 (Yes in step S201), the physical NIC device driver 232 sends the received packet to the virtual NIC device driver 231. By transferring, the received packet is transferred to the first virtual NIC 221 (step S202).
続いて、トンネル構築部224は、第1仮想NIC221に入力された受信パケットがトンネル構築部11においてカプセル化されたパケットであるか否かを判定する(ステップS203)。そして、トンネル構築部224は、受信パケットがトンネル構築部11においてカプセル化されたパケットでない場合には、かかる受信パケットが不正パケットであると判定する(ステップS203肯定)。そして、トンネル構築部224は、不正パケットである受信パケットを廃棄する(ステップS204)。   Subsequently, the tunnel construction unit 224 determines whether the received packet input to the first virtual NIC 221 is a packet encapsulated in the tunnel construction unit 11 (step S203). When the received packet is not a packet encapsulated in the tunnel building unit 11, the tunnel building unit 224 determines that the received packet is an illegal packet (Yes in step S203). Then, tunnel construction unit 224 discards the received packet that is an illegal packet (step S204).
一方、トンネル構築部224は、受信パケットがトンネル構築部11においてカプセル化されたパケットである場合には、かかる受信パケットが不正パケットでないと判定し(ステップS203否定)、受信パケットをデカプセル化する(ステップS205)。そして、トンネル構築部224は、デカプセル化後の受信パケットを侵入検知部223に出力する。   On the other hand, if the received packet is a packet encapsulated in the tunnel building unit 11, the tunnel building unit 224 determines that the received packet is not an illegal packet (No in step S203), and decapsulates the received packet ( Step S205). Then, tunnel construction unit 224 outputs the received packet after decapsulation to intrusion detection unit 223.
そして、侵入検知部223は、トンネル構築部224から入力された受信パケットに対して、侵入検知処理を行う(ステップS206)。そして、侵入検知部223は、受信パケットが不正パケットである場合には(ステップS207肯定)、かかる受信パケットを廃棄する(ステップS208)。   Then, the intrusion detection unit 223 performs an intrusion detection process on the received packet input from the tunnel construction unit 224 (step S206). Then, when the received packet is an illegal packet (Yes at Step S207), the intrusion detection unit 223 discards the received packet (Step S208).
一方、侵入検知部223は、受信パケットが不正パケットでない場合には(ステップS207否定)、かかる受信パケットを第2仮想NIC222に出力する(ステップS209)。これにより、受信パケットは、仮想NIC用デバイスドライバ233を介して、例えば、アプリケーション部234に入力される。   On the other hand, if the received packet is not an illegal packet (No at Step S207), the intrusion detection unit 223 outputs the received packet to the second virtual NIC 222 (Step S209). Accordingly, the received packet is input to the application unit 234, for example, via the virtual NIC device driver 233.
[実施例2の効果]
上述してきたように、実施例2に係る情報処理装置200において、VMM220は、第1仮想NIC221を提供し、ゲストOS230に第1仮想NIC221と物理NIC111とをブリッジ接続させる。また、VMM220は、アプリケーション部234等からパケットを受け付けるポートとして第2仮想NIC222を提供する。そして、VMM220は、ゲストOS230がネットワーク10にパケットを送信する場合に、かかるパケットを第2仮想NIC222によって受け付ける。そして、VMM220は、第2仮想NIC222において受け付けたパケットを第1仮想NIC221に入力することで、かかるパケットを物理NIC111に転送する。
[Effect of Example 2]
As described above, in the information processing apparatus 200 according to the second embodiment, the VMM 220 provides the first virtual NIC 221 and causes the guest OS 230 to bridge-connect the first virtual NIC 221 and the physical NIC 111. Further, the VMM 220 provides the second virtual NIC 222 as a port that receives a packet from the application unit 234 or the like. Then, when the guest OS 230 transmits a packet to the network 10, the VMM 220 receives the packet by the second virtual NIC 222. Then, the VMM 220 transfers the packet received in the second virtual NIC 222 to the physical NIC 111 by inputting the packet received in the first virtual NIC 221.
これにより、実施例2に係る情報処理装置200のVMM220は、物理NIC111を制御するデバイスドライバを要することなく、物理NIC111にパケットを入力することができ、物理NIC111に送信されたパケットを受信することができる。言い換えれば、VMM220は、物理NIC111の種類に依存せずに、物理NIC111を利用することができる。   Accordingly, the VMM 220 of the information processing apparatus 200 according to the second embodiment can input a packet to the physical NIC 111 without receiving a device driver that controls the physical NIC 111, and can receive a packet transmitted to the physical NIC 111. Can do. In other words, the VMM 220 can use the physical NIC 111 without depending on the type of the physical NIC 111.
また、実施例2に係る情報処理装置200のトンネル構築部224は、ルータ等の外部装置に備えられているトンネル構築部11とトンネリング処理を行う。これにより、実施例2に係る情報処理装置200は、物理NIC111の種類によらず、かつ、物理NIC111を制御するデバイスドライバを要することなく、第1仮想NIC221と外部装置との間におけるパケットの流通経路に対してトンネルを構築することができる。すなわち、実施例2におけるVMM220は、物理NIC111を制御するデバイスドライバを要することなく、VPN機能やデータの暗号化機能を実現することができる。   In addition, the tunnel construction unit 224 of the information processing apparatus 200 according to the second embodiment performs a tunneling process with the tunnel construction unit 11 provided in an external device such as a router. Accordingly, the information processing apparatus 200 according to the second embodiment distributes packets between the first virtual NIC 221 and the external apparatus without depending on the type of the physical NIC 111 and without requiring a device driver that controls the physical NIC 111. A tunnel can be established for the route. That is, the VMM 220 according to the second embodiment can realize the VPN function and the data encryption function without requiring a device driver for controlling the physical NIC 111.
例えば、実施例2に係る情報処理装置200に対して、トンネル構築部224及びトンネル構築部11によって構築されたトンネルを通過したパケットのみを送受することがシステムの条件として決められているものとする。かかる場合に、情報処理装置200は、例えば、ゲストOS230によって物理NIC用デバイスドライバ232にパケットが直接入力されたとしても、かかるパケットを廃棄する。すなわち、情報処理装置200は、例えば、ゲストOS230がコンピュータウィルスやワームのようなマルウェアに感染した場合に、マルウェアに感染したゲストOS230によって物理NIC用デバイスドライバ232にパケットが直接入力されたとしても、かかるパケットを廃棄することができる。   For example, with respect to the information processing apparatus 200 according to the second embodiment, it is assumed that it is determined as a system condition that only packets that have passed through a tunnel constructed by the tunnel construction unit 224 and the tunnel construction unit 11 are transmitted and received. . In this case, for example, even if the packet is directly input to the physical NIC device driver 232 by the guest OS 230, the information processing apparatus 200 discards the packet. That is, for example, when the guest OS 230 is infected with malware such as a computer virus or a worm, the information processing apparatus 200 may receive a packet directly input to the physical NIC device driver 232 by the guest OS 230 infected with malware. Such a packet can be discarded.
また、実施例2に係る情報処理装置200の侵入検知部223は、ネットワーク10との間で送受されるパケットに不正パケットが存在するか否かを検知する。これにより、実施例2に係る情報処理装置200は、外部からマルウェアが侵入することを防止することができるとともに、情報処理装置200から外部にマルウェアが流通することを防止することができる。   In addition, the intrusion detection unit 223 of the information processing apparatus 200 according to the second embodiment detects whether there is an illegal packet in a packet transmitted to or received from the network 10. Thereby, the information processing apparatus 200 according to the second embodiment can prevent malware from entering from the outside, and can prevent malware from being distributed from the information processing apparatus 200 to the outside.
なお、一般に、PC等の情報処理装置において、外部から不正パケットが侵入した否かを検知する侵入検知システムやアンチウィルスソフトウェアの多くは、OSのカーネルドライバやアプリケーションとして実行される。このため、このような情報処理装置では、マルウェアによってカーネルモードと同様の実行権限を獲得された場合に、侵入検知システムやアンチウィルスソフトウェアが停止されるおそれがある。この結果、このような情報処理装置では、外部から不正パケットが侵入した否かを検知することができなくなる場合がある。   In general, in an information processing apparatus such as a PC, most of intrusion detection systems and anti-virus software that detect whether an illegal packet has intruded from the outside are executed as an OS kernel driver or application. For this reason, in such an information processing apparatus, there is a possibility that the intrusion detection system or the anti-virus software may be stopped when the execution authority similar to the kernel mode is acquired by malware. As a result, such an information processing apparatus may not be able to detect whether an illegal packet has entered from the outside.
一方、実施例2に係る情報処理装置200においては、VMM220がVPN機能や暗号化機能を実現しているので、仮にマルウェアによってゲストOS230のカーネルモード権限が獲得された場合であっても、外部から不正パケットが侵入した否かを検知することができる。すなわち、実施例2に係る情報処理装置200は、物理NIC111の種類によらず、VMM220によってVPN機能や暗号化機能等のセキュリティ機能を実現することができる。   On the other hand, in the information processing apparatus 200 according to the second embodiment, since the VMM 220 implements the VPN function and the encryption function, even if the kernel mode authority of the guest OS 230 is acquired by malware, the VMM 220 is externally provided. Whether or not an illegal packet has entered can be detected. That is, the information processing apparatus 200 according to the second embodiment can implement security functions such as a VPN function and an encryption function by the VMM 220 regardless of the type of the physical NIC 111.
上記実施例2では、VMMによってVPN機能や暗号化機能等のセキュリティ機能が実現される例を示した。実施例3では、VMMが仮想化されたストレージデバイスを提供することにより、ゲストOSがネットワーク接続されるストレージ装置をローカル接続のストレージ装置として利用することができる例について説明する。   In the second embodiment, an example in which security functions such as a VPN function and an encryption function are realized by the VMM is shown. In the third embodiment, an example in which a storage device to which a guest OS is network-connected can be used as a locally connected storage device by providing a virtualized storage device of the VMM will be described.
[実施例3に係る情報処理装置の構成例]
まず、図5を用いて、実施例3に係る情報処理装置について説明する。図5は、実施例3に係る情報処理装置により実現される機能を模式的に示す図である。なお、以下では、既に示した構成部位と同様の機能を有する部位には同一符号を付すこととして、その詳細な説明を省略する。
[Configuration Example of Information Processing Apparatus According to Embodiment 3]
First, the information processing apparatus according to the third embodiment will be described with reference to FIG. FIG. 5 is a schematic diagram illustrating functions realized by the information processing apparatus according to the third embodiment. In addition, below, the detailed description is abbreviate | omitted as attaching | subjecting the same code | symbol to the site | part which has the function similar to the already shown component part.
図5に示した情報処理装置300は、図1に示した情報処理装置100と同様に、VMを動作させる仮想化技術が適用されている。かかる情報処理装置300は、図5に示すように、オンラインストレージ20と接続される。オンラインストレージ20は、情報処理装置300とネットワーク接続されるストレージ装置である。   The information processing apparatus 300 illustrated in FIG. 5 is applied with a virtualization technology for operating a VM, similar to the information processing apparatus 100 illustrated in FIG. The information processing apparatus 300 is connected to the online storage 20 as shown in FIG. The online storage 20 is a storage device connected to the information processing device 300 via a network.
このような情報処理装置300は、図5に示すように、ハードウェア110と、VMM320と、ゲストOS330とを含む。VMM320は、VM上でゲストOS330を動作させる。また、VMM320は、ゲストOS330に対して、仮想NIC321を提供する。仮想NIC321は、図1に示した仮想NIC121と同様に、ゲストOS330が有するデバイスドライバによって制御されるネットワークデバイスが仮想化された仮想ネットワークデバイスである。すなわち、ゲストOS330は、例えば、新たなデバイスドライバが搭載されることなく、仮想NIC321を認識することができる。   Such an information processing apparatus 300 includes hardware 110, a VMM 320, and a guest OS 330, as shown in FIG. The VMM 320 operates the guest OS 330 on the VM. Further, the VMM 320 provides a virtual NIC 321 to the guest OS 330. Similar to the virtual NIC 121 illustrated in FIG. 1, the virtual NIC 321 is a virtual network device in which a network device controlled by a device driver included in the guest OS 330 is virtualized. That is, the guest OS 330 can recognize the virtual NIC 321 without mounting a new device driver, for example.
また、VMM320は、ゲストOS330に対して、仮想NIC321と物理NIC111とをブリッジ接続させる。これにより、仮想NIC321に入力されるパケットは、物理NIC111に転送され、物理NIC111に入力されるパケットは、仮想NIC321に転送される。   Further, the VMM 320 bridges the virtual NIC 321 and the physical NIC 111 to the guest OS 330. Thereby, a packet input to the virtual NIC 321 is transferred to the physical NIC 111, and a packet input to the physical NIC 111 is transferred to the virtual NIC 321.
また、VMM320は、ゲストOS330に対して物理的に実在する物理ハードウェアが仮想化された仮想ハードウェアを提供する。図5に示した例では、VMM320は、仮想ハードウェアの一例として、仮想HDD(Hard Disk Drive)322を提供する。仮想HDD322は、HDDが仮想化されたデバイスである。すなわち、VMM320は、仮想HDD322を提供することで、ゲストOS330に対して、HDDが情報処理装置300内に搭載されていると認識させる。   In addition, the VMM 320 provides virtual hardware obtained by virtualizing physically existing physical hardware to the guest OS 330. In the example illustrated in FIG. 5, the VMM 320 provides a virtual HDD (Hard Disk Drive) 322 as an example of virtual hardware. The virtual HDD 322 is a device in which the HDD is virtualized. That is, the VMM 320 provides the virtual HDD 322 so that the guest OS 330 recognizes that the HDD is installed in the information processing apparatus 300.
なお、仮想HDD322は、ゲストOS330が標準的に有するデバイスドライバによって制御させることが好ましい。これにより、ゲストOS330は、新たなデバイスドライバが搭載されることなく、仮想HDD322を認識することができる。   The virtual HDD 322 is preferably controlled by a device driver that the guest OS 330 has as a standard. Thereby, the guest OS 330 can recognize the virtual HDD 322 without installing a new device driver.
オンラインストレージ提供部323は、情報処理装置300とネットワーク接続されるオンラインストレージ20を利用可能にする機能を提供する。具体的には、オンラインストレージ提供部323は、ゲストOS330からオンラインストレージ20へのアクセス要求を受け付けた場合に、オンラインストレージ20との間で通信を行うことで、オンラインストレージ20にアクセスする。なお、オンラインストレージ提供部323については、ゲストOS330の説明の後に詳述する。   The online storage providing unit 323 provides a function that enables the online storage 20 connected to the information processing apparatus 300 via a network. Specifically, the online storage providing unit 323 accesses the online storage 20 by communicating with the online storage 20 when receiving an access request to the online storage 20 from the guest OS 330. The online storage providing unit 323 will be described in detail after the guest OS 330 is described.
ゲストOS330は、VMM320によってVM上で動作されるOSであり、仮想NIC用デバイスドライバ331と、物理NIC用デバイスドライバ332と、仮想HDD用デバイスドライバ333と、アプリケーション部334とを含む。   The guest OS 330 is an OS operated on the VM by the VMM 320, and includes a virtual NIC device driver 331, a physical NIC device driver 332, a virtual HDD device driver 333, and an application unit 334.
仮想NIC用デバイスドライバ331は、図1に示した仮想NIC用デバイスドライバ131に対応し、仮想NIC321を制御するデバイスドライバである。物理NIC用デバイスドライバ332は、図1に示した物理NIC用デバイスドライバ132に対応し、物理NIC111を制御するデバイスドライバである。仮想HDD用デバイスドライバ333は、仮想HDD322を制御するデバイスドライバである。   The virtual NIC device driver 331 corresponds to the virtual NIC device driver 131 illustrated in FIG. 1 and is a device driver that controls the virtual NIC 321. The physical NIC device driver 332 corresponds to the physical NIC device driver 132 illustrated in FIG. 1 and is a device driver that controls the physical NIC 111. The virtual HDD device driver 333 is a device driver that controls the virtual HDD 322.
アプリケーション部334は、ゲストOS330上で動作する各種アプリケーションである。図5に示したアプリケーション部334は、オンラインストレージ20に対してデータの読出し(read)や書込み(write)を行う場合がある。ここで、実施例3におけるアプリケーション部334は、オンラインストレージ20にアクセスする場合には、仮想HDD用デバイスドライバ333に対してアクセス要求を出力する。   The application unit 334 is various applications that operate on the guest OS 330. The application unit 334 illustrated in FIG. 5 may read / write data from / to the online storage 20. Here, the application unit 334 in the third embodiment outputs an access request to the virtual HDD device driver 333 when accessing the online storage 20.
ここで、VMM320が有するオンラインストレージ提供部323による処理について詳細に説明する。まず、アプリケーション部334は、上記のように、オンラインストレージ20にアクセスする場合には、仮想HDD用デバイスドライバ333にアクセス要求を入力する。仮想HDD用デバイスドライバ333は、アプリケーション部334から入力されたアクセス要求を仮想HDD322に入力する。VMM320は、I/Oポートへのアクセスを監視しており、仮想HDD322にアクセス要求が入力された場合には、かかるアクセス要求をオンラインストレージ提供部323に転送する。   Here, the processing by the online storage providing unit 323 included in the VMM 320 will be described in detail. First, the application unit 334 inputs an access request to the virtual HDD device driver 333 when accessing the online storage 20 as described above. The virtual HDD device driver 333 inputs the access request input from the application unit 334 to the virtual HDD 322. The VMM 320 monitors access to the I / O port. When an access request is input to the virtual HDD 322, the VMM 320 transfers the access request to the online storage providing unit 323.
オンラインストレージ提供部323は、仮想HDD322からアクセス要求を入力された場合に、オンラインストレージ20と通信を行い、かかるアクセス要求を含むパケットを仮想NIC321に出力する。なお、以下では、アクセス要求を含むパケットを「アクセス要求パケット」と表記する場合がある。   When an access request is input from the virtual HDD 322, the online storage providing unit 323 communicates with the online storage 20 and outputs a packet including the access request to the virtual NIC 321. Hereinafter, a packet including an access request may be referred to as an “access request packet”.
そして、仮想NIC用デバイスドライバ331は、ゲストOS330のネットワークブリッジ機能により、オンラインストレージ提供部323によって仮想NIC321に入力されたアクセス要求パケットを物理NIC用デバイスドライバ332に転送する。この結果、かかるアクセス要求パケットは、物理NIC111に入力される。そして、物理NIC111に入力されたアクセス要求パケットは、オンラインストレージ20に送信される。これにより、オンラインストレージ20は、アクセス要求パケットに応じて、データの読出し処理や書込み処理を行う。   Then, the virtual NIC device driver 331 transfers the access request packet input to the virtual NIC 321 by the online storage providing unit 323 to the physical NIC device driver 332 by the network bridge function of the guest OS 330. As a result, the access request packet is input to the physical NIC 111. Then, the access request packet input to the physical NIC 111 is transmitted to the online storage 20. Thereby, the online storage 20 performs data read processing and write processing in accordance with the access request packet.
また、オンラインストレージ20は、データ読出し処理やデータ書込み処理を行った場合に、かかる処理の結果を物理NIC111に送信する。なお、以下では、オンラインストレージ20によるデータ読出し処理やデータ書込み処理の結果を「アクセス結果パケット」と表記する場合がある。   Further, when the online storage 20 performs a data read process or a data write process, the online storage 20 transmits a result of the process to the physical NIC 111. In the following, the result of the data read process or data write process by the online storage 20 may be referred to as an “access result packet”.
オンラインストレージ20から物理NIC111にアクセス結果パケットが送信されると、物理NIC用デバイスドライバ332は、ゲストOS330のネットワークブリッジ機能により、アクセス結果パケットを仮想NIC用デバイスドライバ331に転送する。この結果、アクセス結果パケットは、仮想NIC321に入力される。そして、オンラインストレージ提供部323は、仮想NIC321に入力されたアクセス結果パケットを仮想HDD322を介してアプリケーション部334に送信する。   When the access result packet is transmitted from the online storage 20 to the physical NIC 111, the physical NIC device driver 332 transfers the access result packet to the virtual NIC device driver 331 by the network bridge function of the guest OS 330. As a result, the access result packet is input to the virtual NIC 321. Then, the online storage providing unit 323 transmits the access result packet input to the virtual NIC 321 to the application unit 334 via the virtual HDD 322.
[実施例3に係る情報処理装置によるアクセス要求送信処理]
次に、図6を用いて、実施例3に係る情報処理装置300によるアクセス要求送信処理の手順について説明する。図6は、実施例3に係る情報処理装置300によるアクセス要求送信処理手順を示すフローチャートである。
[Access Request Transmission Processing by Information Processing Device According to Embodiment 3]
Next, an access request transmission process performed by the information processing apparatus 300 according to the third embodiment will be described with reference to FIG. FIG. 6 is a flowchart illustrating the access request transmission processing procedure performed by the information processing apparatus 300 according to the third embodiment.
図6に示すように、情報処理装置300のVMM320は、I/Oポートへのアクセスを監視することで、仮想HDD322への通信が発生したか否かを判定する(ステップS301)。そして、VMM320のオンラインストレージ提供部323は、例えば、アプリケーション部334から仮想HDD322にアクセス要求パケットが入力された場合に(ステップS301肯定)、かかるアクセス要求パケットを仮想NIC321に出力する(ステップS302)。   As illustrated in FIG. 6, the VMM 320 of the information processing apparatus 300 determines whether communication to the virtual HDD 322 has occurred by monitoring access to the I / O port (step S301). For example, when an access request packet is input from the application unit 334 to the virtual HDD 322 (Yes in step S301), the online storage providing unit 323 of the VMM 320 outputs the access request packet to the virtual NIC 321 (step S302).
そして、仮想NIC用デバイスドライバ331は、ゲストOS330のネットワークブリッジ機能により、仮想NIC321に入力されたアクセス要求パケットを物理NIC用デバイスドライバ332に転送することで、物理NIC111に転送する(ステップS303)。これにより、情報処理装置300は、物理NIC111からオンラインストレージ20にアクセス要求パケットを送信する(ステップS304)。なお、オンラインストレージ20は、情報処理装置300から受信したアクセス要求パケットに応じて、データ読出し処理やデータ書込み処理を行う。   Then, the virtual NIC device driver 331 transfers the access request packet input to the virtual NIC 321 to the physical NIC device driver 332 by the network bridge function of the guest OS 330, thereby transferring it to the physical NIC 111 (step S303). As a result, the information processing apparatus 300 transmits an access request packet from the physical NIC 111 to the online storage 20 (step S304). Note that the online storage 20 performs data read processing and data write processing in accordance with the access request packet received from the information processing apparatus 300.
[実施例3に係る情報処理装置によるアクセス結果パケット受信処理]
次に、図7を用いて、実施例3に係る情報処理装置300によるアクセス結果パケット受信処理の手順について説明する。図7は、実施例3に係る情報処理装置300によるアクセス結果パケット受信処理手順を示すフローチャートである。
[Access Result Packet Reception Processing by Information Processing Device According to Embodiment 3]
Next, a procedure of access result packet reception processing by the information processing apparatus 300 according to the third embodiment will be described with reference to FIG. FIG. 7 is a flowchart illustrating the access result packet reception processing procedure performed by the information processing apparatus 300 according to the third embodiment.
図7に示すように、情報処理装置300において、物理NIC111がオンラインストレージ20からアクセス結果パケットを受信した場合には(ステップS401肯定)、物理NIC用デバイスドライバ332は、ゲストOS330のネットワークブリッジ機能により、アクセス結果パケットを仮想NIC用デバイスドライバ331に転送することで、かかるアクセス結果パケットを仮想NIC321に転送する(ステップS402)。   As illustrated in FIG. 7, in the information processing apparatus 300, when the physical NIC 111 receives an access result packet from the online storage 20 (Yes in step S401), the physical NIC device driver 332 uses the network bridge function of the guest OS 330. By transferring the access result packet to the virtual NIC device driver 331, the access result packet is transferred to the virtual NIC 321 (step S402).
そして、オンラインストレージ提供部323は、仮想NIC321に入力されたアクセス結果パケットを仮想HDD322に出力する(ステップS403)。これにより、オンラインストレージ20から情報処理装置300に送信されたアクセス結果パケットは、アプリケーション部334に送信される。   Then, the online storage providing unit 323 outputs the access result packet input to the virtual NIC 321 to the virtual HDD 322 (Step S403). As a result, the access result packet transmitted from the online storage 20 to the information processing apparatus 300 is transmitted to the application unit 334.
[実施例3の効果]
上述してきたように、実施例3に係る情報処理装置300において、VMM320は、仮想NIC321を提供し、ゲストOS330に仮想NIC321と物理NIC111とをブリッジ接続させる。また、VMM320は、アプリケーション部334からオンラインストレージ20へのアクセス要求パケットを受け付けるポートとして仮想HDD322を提供する。そして、VMM320は、アプリケーション部334から受け付けるアクセス要求パケットを仮想NIC321に入力することで、かかるアクセス要求パケットを物理NIC111に転送する。さらに、VMM320は、オンラインストレージ20から物理NIC111に受け付けたアクセス結果パケットを仮想NIC321により受け付ける。
[Effect of Example 3]
As described above, in the information processing apparatus 300 according to the third embodiment, the VMM 320 provides the virtual NIC 321 and causes the guest OS 330 to bridge-connect the virtual NIC 321 and the physical NIC 111. Further, the VMM 320 provides the virtual HDD 322 as a port for receiving an access request packet from the application unit 334 to the online storage 20. Then, the VMM 320 transfers the access request packet to the physical NIC 111 by inputting the access request packet received from the application unit 334 to the virtual NIC 321. Further, the VMM 320 receives the access result packet received from the online storage 20 to the physical NIC 111 by the virtual NIC 321.
これにより、実施例3に係る情報処理装置300のVMM320は、物理NIC111を制御するデバイスドライバを要することなく、物理NIC111にアクセス要求パケットを入力することができる。言い換えれば、VMM320は、物理NIC111の種類に依存せずに、物理NIC111を利用することができる。図5に示した例では、情報処理装置300のVMM320は、ゲストOS330に対して、オンラインストレージ20をローカル接続されたストレージ装置として利用させることができる。   Accordingly, the VMM 320 of the information processing apparatus 300 according to the third embodiment can input an access request packet to the physical NIC 111 without requiring a device driver that controls the physical NIC 111. In other words, the VMM 320 can use the physical NIC 111 without depending on the type of the physical NIC 111. In the example illustrated in FIG. 5, the VMM 320 of the information processing apparatus 300 can cause the guest OS 330 to use the online storage 20 as a locally connected storage apparatus.
また、実施例3に係る情報処理装置300は、ゲストOS330の種類が変わった場合であっても、同一のVMM320によって、オンラインストレージ20をローカル接続されたストレージ装置として利用させることができる。   Further, the information processing apparatus 300 according to the third embodiment can use the online storage 20 as a locally connected storage apparatus by the same VMM 320 even when the type of the guest OS 330 is changed.
ところで、本発明に係る仮想制御プログラム、情報処理装置及び仮想制御方法は、上述した実施例以外にも、種々の異なる形態にて実施されてよい。そこで、実施例4では、本発明に係る仮想制御プログラム、情報処理装置及び仮想制御方法の他の実施例について説明する。   By the way, the virtual control program, the information processing apparatus, and the virtual control method according to the present invention may be implemented in various different forms other than the above-described embodiments. Therefore, in the fourth embodiment, another embodiment of the virtual control program, the information processing apparatus, and the virtual control method according to the present invention will be described.
[仮想ハードウェア]
上記実施例3では、仮想ハードウェアの一例として、VMM320が仮想HDD322を提供する例を示したが、VMM320は、HDD以外のハードウェアが仮想化された仮想ハードウェアを提供してもよい。例えば、VMM320は、情報処理装置300にプリンタがネットワーク接続されている場合には、仮想ハードウェアとして、プリンタが仮想化された仮想プリンタを提供してもよい。かかる場合に、VMM320は、ゲストOS330に対して、ネットワークプリンタをローカル接続されているプリンタとして利用させることができる。
Virtual hardware
In the third embodiment, the VMM 320 provides the virtual HDD 322 as an example of virtual hardware. However, the VMM 320 may provide virtual hardware in which hardware other than the HDD is virtualized. For example, when a printer is connected to the information processing apparatus 300 over a network, the VMM 320 may provide a virtual printer in which the printer is virtualized as virtual hardware. In such a case, the VMM 320 can cause the guest OS 330 to use the network printer as a locally connected printer.
[システム構成等]
図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示された構成要素と同一であることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、図2に示した侵入検知部223とトンネル構築部224とを一つの処理部として統合してもよい。
[System configuration, etc.]
Each component of each illustrated device is functionally conceptual, and does not necessarily need to be the same as the physically illustrated component. In other words, the specific form of distribution / integration of each device is not limited to that shown in the figure, and all or a part thereof may be functionally or physically distributed or arbitrarily distributed in arbitrary units according to various loads or usage conditions. Can be integrated and configured. For example, the intrusion detection unit 223 and the tunnel construction unit 224 illustrated in FIG. 2 may be integrated as one processing unit.
また、本実施例において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともできる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。   In addition, all or some of the processes described as being automatically performed among the processes described in the present embodiment can be manually performed. Further, all or any part of each processing function performed in each device may be realized by a CPU and a program analyzed and executed by the CPU, or may be realized as hardware by wired logic.
[仮想制御プログラム]
また、上記実施例1〜3に係る情報処理装置100、200及び300が実行する処理は、コンピュータが実行可能な言語で記述した仮想制御プログラムによって実現される。かかる場合に、コンピュータが仮想制御プログラムを実行することにより、上記実施例1〜3において説明した効果を得ることができる。なお、かかる仮想制御プログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録された仮想制御プログラムをコンピュータに読み込ませて実行することにより上記実施例1〜3と同様の処理を実現してもよい。以下に、上記の情報処理装置100、200及び300と同様の機能を実現する仮想制御プログラムを実行するコンピュータの一例を説明する。
[Virtual control program]
The processing executed by the information processing apparatuses 100, 200, and 300 according to the first to third embodiments is realized by a virtual control program described in a language that can be executed by a computer. In such a case, the effects described in the first to third embodiments can be obtained by the computer executing the virtual control program. The virtual control program is recorded on a computer-readable recording medium, and the virtual control program recorded on the recording medium is read by the computer and executed, thereby realizing the same processing as in the first to third embodiments. May be. Hereinafter, an example of a computer that executes a virtual control program that realizes the same function as the information processing apparatuses 100, 200, and 300 will be described.
図8は、仮想制御プログラムを実行するコンピュータ1000を示す図である。図8に示すように、コンピュータ1000は、例えば、メモリ1010と、CPU(Central Processing Unit)1020と、ハードディスクドライブインタフェース1030と、ディスクドライブインタフェース1040と、シリアルポートインタフェース1050と、ビデオアダプタ1060と、ネットワークインタフェース1070とを有する。これらの各部は、バス1080によって接続される。   FIG. 8 is a diagram illustrating a computer 1000 that executes a virtual control program. As shown in FIG. 8, the computer 1000 includes, for example, a memory 1010, a CPU (Central Processing Unit) 1020, a hard disk drive interface 1030, a disk drive interface 1040, a serial port interface 1050, a video adapter 1060, and a network. Interface 1070. These units are connected by a bus 1080.
メモリ1010は、ROM(Read Only Memory)1011およびRAM(Random Access Memory)1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1031に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1041に接続される。ディスクドライブ1041には、例えば、磁気ディスクや光ディスク等の着脱可能な記憶媒体が挿入される。シリアルポートインタフェース1050には、例えば、マウス1051およびキーボード1052が接続される。ビデオアダプタ1060には、例えば、ディスプレイ1061が接続される。   The memory 1010 includes a ROM (Read Only Memory) 1011 and a RAM (Random Access Memory) 1012. The ROM 1011 stores a boot program such as BIOS (Basic Input Output System). The hard disk drive interface 1030 is connected to the hard disk drive 1031. The disk drive interface 1040 is connected to the disk drive 1041. For example, a removable storage medium such as a magnetic disk or an optical disk is inserted into the disk drive 1041. For example, a mouse 1051 and a keyboard 1052 are connected to the serial port interface 1050. For example, a display 1061 is connected to the video adapter 1060.
ここで、図8に示すように、ハードディスクドライブ1031は、例えば、OS(Operating System)1091を実現するためのプログラム、アプリケーションプログラム1092、プログラムモジュール1093及びプログラムデータ1094を記憶する。上記実施例1〜3で説明したVMM120、220及び320や、ゲストOS130、230及び330は、例えば、ハードディスクドライブ1031に記憶される仮想制御プログラムによって実現される。具体的には、CPU1020が、ハードディスクドライブ1031に記憶された仮想制御プログラムやプログラムデータ1094を必要に応じてRAM1012に読み出して、各種手順を実行する。   Here, as illustrated in FIG. 8, the hard disk drive 1031 stores, for example, a program for realizing an OS (Operating System) 1091, an application program 1092, a program module 1093, and program data 1094. The VMMs 120, 220, and 320 and the guest OSs 130, 230, and 330 described in the first to third embodiments are realized by a virtual control program stored in the hard disk drive 1031, for example. Specifically, the CPU 1020 reads a virtual control program and program data 1094 stored in the hard disk drive 1031 to the RAM 1012 as necessary, and executes various procedures.
なお、仮想制御プログラムは、ハードディスクドライブ1031に記憶される場合に限られず、例えば、着脱可能な記憶媒体に記憶されて、ディスクドライブ1041等を介してCPU1020によって読み出されてもよい。あるいは、仮想制御プログラムは、LAN(Local Area Network)やWAN(Wide Area Network)等のネットワークを介して接続された他のコンピュータに記憶され、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。   Note that the virtual control program is not limited to being stored in the hard disk drive 1031, but may be stored in a removable storage medium and read by the CPU 1020 via the disk drive 1041 or the like. Alternatively, the virtual control program may be stored in another computer connected via a network such as a LAN (Local Area Network) or a WAN (Wide Area Network) and read by the CPU 1020 via the network interface 1070. .
10 ネットワーク
11 トンネル構築部
20 オンラインストレージ
100 情報処理装置
110 ハードウェア
111 物理NIC
120 VMM
121 仮想NIC
130 ゲストOS
131 仮想NIC用デバイスドライバ
132 物理NIC用デバイスドライバ
200 情報処理装置
220 VMM
221 第1仮想NIC
222 第2仮想NIC
223 侵入検知部
224 トンネル構築部
230 ゲストOS
231 仮想NIC用デバイスドライバ
232 物理NIC用デバイスドライバ
233 仮想NIC用デバイスドライバ
234 アプリケーション部
300 情報処理装置
320 VMM
321 仮想NIC
322 仮想HDD
323 オンラインストレージ提供部
330 ゲストOS
331 仮想NIC用デバイスドライバ
332 物理NIC用デバイスドライバ
333 仮想HDD用デバイスドライバ
334 アプリケーション部
1000 コンピュータ
1010 メモリ
1011 ROM
1012 RAM
1020 CPU
1030 ハードディスクドライブインタフェース
1031 ハードディスクドライブ
1040 ディスクドライブインタフェース
1041 ディスクドライブ
1050 シリアルポートインタフェース
1051 マウス
1052 キーボード
1060 ビデオアダプタ
1061 ディスプレイ
1070 ネットワークインタフェース
1080 バス
1092 アプリケーションプログラム
1093 プログラムモジュール
1094 プログラムデータ
DESCRIPTION OF SYMBOLS 10 Network 11 Tunnel construction part 20 Online storage 100 Information processing apparatus 110 Hardware 111 Physical NIC
120 VMM
121 Virtual NIC
130 Guest OS
131 Device driver for virtual NIC 132 Device driver for physical NIC 200 Information processing device 220 VMM
221 First virtual NIC
222 Second virtual NIC
223 Intrusion detection unit 224 Tunnel construction unit 230 Guest OS
231 Device driver for virtual NIC 232 Device driver for physical NIC 233 Device driver for virtual NIC 234 Application unit 300 Information processing device 320 VMM
321 Virtual NIC
322 Virtual HDD
323 Online storage provider 330 Guest OS
331 Device driver for virtual NIC 332 Device driver for physical NIC 333 Device driver for virtual HDD 334 Application unit 1000 Computer 1010 Memory 1011 ROM
1012 RAM
1020 CPU
1030 Hard disk drive interface 1031 Hard disk drive 1040 Disk drive interface 1041 Disk drive 1050 Serial port interface 1051 Mouse 1052 Keyboard 1060 Video adapter 1061 Display 1070 Network interface 1080 Bus 1092 Application program 1093 Program module 1094 Program data

Claims (7)

  1. 物理的に実在するネットワークデバイスである物理ネットワークデバイスを有する情報処理装置上で、仮想マシンの動作を制御する仮想制御プログラムであって、
    前記物理ネットワークデバイスを制御する物理デバイスドライバを含むゲストOSを前記仮想マシン上で動作させ、
    前記ゲストOSに対して、該ゲストOSが有するデバイスドライバによって制御されるネットワークデバイスが仮想化された仮想ネットワークデバイスを提供し、
    前記仮想ネットワークデバイスと前記物理ネットワークデバイスとの間におけるデータ流通が、該仮想ネットワークデバイスに対応する仮想デバイスドライバと前記物理デバイスドライバとを介して行われるように、前記ゲストOSに前記仮想ネットワークデバイスと前記物理ネットワークデバイスとを接続させる
    処理を前記情報処理装置に実行させることを特徴とする仮想制御プログラム。
    A virtual control program for controlling the operation of a virtual machine on an information processing apparatus having a physical network device that is a physically existing network device,
    Operating a guest OS including a physical device driver for controlling the physical network device on the virtual machine;
    Providing the guest OS with a virtual network device in which a network device controlled by a device driver of the guest OS is virtualized;
    The guest OS is provided with the virtual network device such that data distribution between the virtual network device and the physical network device is performed via the virtual device driver corresponding to the virtual network device and the physical device driver. A virtual control program that causes the information processing apparatus to execute a process of connecting the physical network device.
  2. 前記仮想制御プログラムは、
    前記仮想ネットワークデバイスとして前記物理ネットワークデバイスと接続される第一の仮想ネットワークデバイスを提供するとともに、該第一の仮想ネットワークデバイスと異なる仮想化されたネットワークデバイスである第二の仮想ネットワークデバイスを提供し、
    前記仮想マシンが外部にパケットを送信する場合に、前記第二の仮想ネットワークデバイスにおいて外部に送信する送信対象パケットを前記仮想マシンから受け付け、該送信対象パケットを前記第一の仮想ネットワークデバイスに入力することで、該第一の仮想ネットワークデバイスと接続されている前記物理ネットワークデバイスを介して外部に送信対象パケットを送信し、
    前記物理ネットワークデバイスによって外部からパケットが受信された場合に、該物理ネットワークデバイスと接続されている前記第一の仮想ネットワークデバイスに転送される受信パケットを、前記第二の仮想ネットワークデバイスを介して前記仮想マシンに送信する
    処理を前記情報処理装置に実行させることを特徴とする請求項1に記載の仮想制御プログラム。
    The virtual control program is
    A first virtual network device connected to the physical network device as the virtual network device is provided, and a second virtual network device that is a virtualized network device different from the first virtual network device is provided ,
    When the virtual machine transmits a packet to the outside, the second virtual network device accepts a transmission target packet to be transmitted to the outside from the virtual machine, and inputs the transmission target packet to the first virtual network device. Thus, the transmission target packet is transmitted to the outside through the physical network device connected to the first virtual network device,
    When a packet is received from the outside by the physical network device, a received packet transferred to the first virtual network device connected to the physical network device is transmitted via the second virtual network device. The virtual control program according to claim 1, which causes the information processing apparatus to execute processing to be transmitted to a virtual machine.
  3. 前記仮想制御プログラムは、
    前記物理ネットワークデバイスによってパケットが受信されたパケットが所定の外部装置によってカプセル化されたパケットであるか否かを判定し、受信パケットが前記外部装置によってカプセル化されたパケットである場合には、前記第一の仮想ネットワークデバイスから出力される受信パケットをデカプセル化して前記第二の仮想ネットワークデバイスに出力し、受信パケットが前記外部装置によってカプセル化されたパケットでない場合には、該受信パケットを廃棄し、
    前記仮想マシンから前記第二の仮想ネットワークデバイスにパケットが入力された場合に、該パケットをカプセル化して前記第一の仮想ネットワークデバイスに出力する
    処理を前記情報処理装置にさらに実行させることを特徴とする請求項2に記載の仮想制御プログラム。
    The virtual control program is
    It is determined whether the packet received by the physical network device is a packet encapsulated by a predetermined external device, and when the received packet is a packet encapsulated by the external device, A received packet output from the first virtual network device is decapsulated and output to the second virtual network device. If the received packet is not a packet encapsulated by the external device, the received packet is discarded. ,
    When the packet is input from the virtual machine to the second virtual network device, the information processing apparatus further executes processing to encapsulate the packet and output the packet to the first virtual network device. The virtual control program according to claim 2.
  4. 前記仮想制御プログラムは、
    前記第一の仮想ネットワークデバイス又は前記第二の仮想ネットワークデバイスに入出力されるパケットを監視して、不正パケットが侵入したか否かを検知する
    処理を前記情報処理装置にさらに実行させることを特徴とする請求項2又は3に記載の仮想制御プログラム。
    The virtual control program is
    Monitoring the packet input / output to / from the first virtual network device or the second virtual network device to detect whether an illegal packet has entered, further causing the information processing apparatus to further execute processing The virtual control program according to claim 2 or 3.
  5. 前記仮想制御プログラムは、
    前記仮想ネットワークデバイスを提供するとともに、前記物理ネットワークデバイスと接続される物理ハードウェアが仮想化された仮想ハードウェアを提供し、
    前記仮想マシンが前記物理ハードウェアとの間でデータの送受を行う場合に、前記仮想ハードウェアにおいて前記物理ハードウェアに送信するデータを前記仮想マシンから受け付け、該データを前記仮想ネットワークデバイスに入力することで、該仮想ネットワークデバイスと接続されている前記物理ネットワークデバイスを介して前記物理ハードウェアに該データを送信し、
    前記物理ネットワークデバイスによって前記物理ハードウェアからデータが受信された場合に、該物理ネットワークデバイスと接続されている前記仮想ネットワークデバイスに転送される受信データを、前記仮想ハードウェアを介して前記仮想マシンに送信する
    処理を前記情報処理装置に実行させることを特徴とする請求項1に記載の仮想制御プログラム。
    The virtual control program is
    Providing the virtual network device and providing virtual hardware in which physical hardware connected to the physical network device is virtualized;
    When the virtual machine transmits / receives data to / from the physical hardware, the virtual hardware receives data to be transmitted to the physical hardware from the virtual machine and inputs the data to the virtual network device. The data is transmitted to the physical hardware via the physical network device connected to the virtual network device,
    When data is received from the physical hardware by the physical network device, received data transferred to the virtual network device connected to the physical network device is transferred to the virtual machine via the virtual hardware. The virtual control program according to claim 1, which causes the information processing apparatus to execute a process of transmitting.
  6. 仮想マシンが動作する情報処理装置であって、
    物理的に実在するネットワークデバイスである物理ネットワークデバイスと、
    前記物理ネットワークデバイスを制御する物理デバイスドライバを含むゲストOSを前記仮想マシン上で動作させる仮想制御部と
    を有し、
    前記仮想制御部は、
    前記ゲストOSに対して、該ゲストOSが有するデバイスドライバによって制御されるネットワークデバイスが仮想化された仮想ネットワークデバイスを提供し、
    前記仮想ネットワークデバイスと前記物理ネットワークデバイスとの間におけるデータ流通が、該仮想ネットワークデバイスに対応する仮想デバイスドライバと前記物理デバイスドライバとを介して行われるように、前記ゲストOSに前記仮想ネットワークデバイスと前記物理ネットワークデバイスとを接続させる
    ことを特徴とする情報処理装置。
    An information processing apparatus on which a virtual machine operates,
    A physical network device that is a physically existing network device;
    A virtual control unit for operating a guest OS including a physical device driver for controlling the physical network device on the virtual machine,
    The virtual control unit
    Providing the guest OS with a virtual network device in which a network device controlled by a device driver of the guest OS is virtualized;
    The guest OS is provided with the virtual network device such that data distribution between the virtual network device and the physical network device is performed via the virtual device driver corresponding to the virtual network device and the physical device driver. An information processing apparatus for connecting the physical network device.
  7. 物理的に実在するネットワークデバイスである物理ネットワークデバイスを有する情報処理装置上で、仮想マシンの動作を制御する仮想制御方法であって、
    前記情報処理装置が、
    前記物理ネットワークデバイスを制御する物理デバイスドライバを含むゲストOSを前記仮想マシン上で動作させる動作工程と、
    前記ゲストOSに対して、該ゲストOSが有するデバイスドライバによって制御されるネットワークデバイスが仮想化された仮想ネットワークデバイスを提供する提供工程と、
    前記仮想ネットワークデバイスと前記物理ネットワークデバイスとの間におけるデータ流通が、該仮想ネットワークデバイスに対応する仮想デバイスドライバと前記物理デバイスドライバとを介して行われるように、前記ゲストOSに前記仮想ネットワークデバイスと前記物理ネットワークデバイスとを接続させる接続工程と
    を実行することを特徴とする仮想制御方法。
    A virtual control method for controlling the operation of a virtual machine on an information processing apparatus having a physical network device that is a physically existing network device,
    The information processing apparatus is
    An operation step of operating a guest OS including a physical device driver for controlling the physical network device on the virtual machine;
    Providing a guest network with a virtual network device in which a network device controlled by a device driver of the guest OS is virtualized;
    The guest OS is provided with the virtual network device such that data distribution between the virtual network device and the physical network device is performed via the virtual device driver corresponding to the virtual network device and the physical device driver. A virtual control method comprising: performing a connection step of connecting the physical network device.
JP2010240075A 2010-10-26 2010-10-26 Virtual control program, information processing apparatus, and virtual control method Active JP5548095B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010240075A JP5548095B2 (en) 2010-10-26 2010-10-26 Virtual control program, information processing apparatus, and virtual control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010240075A JP5548095B2 (en) 2010-10-26 2010-10-26 Virtual control program, information processing apparatus, and virtual control method

Publications (2)

Publication Number Publication Date
JP2012093917A true JP2012093917A (en) 2012-05-17
JP5548095B2 JP5548095B2 (en) 2014-07-16

Family

ID=46387180

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010240075A Active JP5548095B2 (en) 2010-10-26 2010-10-26 Virtual control program, information processing apparatus, and virtual control method

Country Status (1)

Country Link
JP (1) JP5548095B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014063349A (en) * 2012-09-21 2014-04-10 Azbil Corp Malware detection device and method

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010039626A (en) * 2008-08-01 2010-02-18 Fujitsu Ltd Network setting program, network setting method, and network setting device
JP2010044613A (en) * 2008-08-13 2010-02-25 Fujitsu Ltd Anti-virus method, computer, and program
JP2012003747A (en) * 2010-06-21 2012-01-05 Intel Corp Method for sharing network interface among a plurality of virtual machines

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010039626A (en) * 2008-08-01 2010-02-18 Fujitsu Ltd Network setting program, network setting method, and network setting device
JP2010044613A (en) * 2008-08-13 2010-02-25 Fujitsu Ltd Anti-virus method, computer, and program
JP2012003747A (en) * 2010-06-21 2012-01-05 Intel Corp Method for sharing network interface among a plurality of virtual machines

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CSND200900123012; 'VMware ESXiで開発環境を楽々省スペース化 すぐわかる仮想化技術 サーバ/ストレージ/ネット' WEB+DB PRESS Vol.49 初版, 20090325, p.86-93, (株)技術評論社 *
JPN6013056994; 'VMware ESXiで開発環境を楽々省スペース化 すぐわかる仮想化技術 サーバ/ストレージ/ネット' WEB+DB PRESS Vol.49 初版, 20090325, p.86-93, (株)技術評論社 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014063349A (en) * 2012-09-21 2014-04-10 Azbil Corp Malware detection device and method

Also Published As

Publication number Publication date
JP5548095B2 (en) 2014-07-16

Similar Documents

Publication Publication Date Title
JP5972924B2 (en) System for virtualizing TPM access
EP3555788B1 (en) Secure execution environment on a server
US8910238B2 (en) Hypervisor-based enterprise endpoint protection
US9081911B2 (en) Mediating communication of a universal serial bus device
US9575790B2 (en) Secure communication using a trusted virtual machine
TWI526931B (en) Inherited product activation for virtual machines
JP6857193B2 (en) Systems and methods for decoding network traffic in virtualized environments
KR100855803B1 (en) Cooperative embedded agents
US8583908B2 (en) Enhanced network and local boot of Unified Extensible Firmware Interface images
US20070088857A1 (en) Using sequestered memory for host software communications
TWI554905B (en) Security management method, computing system and non-transitory computer-readable storage medium
WO2020005540A1 (en) Managed forwarding element detecting invalid packet addresses
US10810036B1 (en) Traffic management on an interconnect
WO2007078552A2 (en) Computer architecture for providing physical separation of computing processes
US10382456B2 (en) Remote computing system providing malicious file detection and mitigation features for virtual machines
JP5548095B2 (en) Virtual control program, information processing apparatus, and virtual control method
US9537738B2 (en) Reporting platform information using a secure agent
JP2010211339A (en) Virtual computer system, communication control program of the same, and communication control method of the same
US10425412B2 (en) Dynamic generation of key for encrypting data in management node
US10972449B1 (en) Communication with components of secure environment
US10896266B1 (en) Computer hardware attestation
Waedt et al. Chipset level cybersecurity issues
JP2020508499A (en) Hacking resistant computer design

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20121226

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131112

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131119

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140117

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140513

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140516

R150 Certificate of patent or registration of utility model

Ref document number: 5548095

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150