JP4488077B2 - 仮想化システム、仮想化方法、及び仮想化用プログラム - Google Patents

仮想化システム、仮想化方法、及び仮想化用プログラム Download PDF

Info

Publication number
JP4488077B2
JP4488077B2 JP2008051329A JP2008051329A JP4488077B2 JP 4488077 B2 JP4488077 B2 JP 4488077B2 JP 2008051329 A JP2008051329 A JP 2008051329A JP 2008051329 A JP2008051329 A JP 2008051329A JP 4488077 B2 JP4488077 B2 JP 4488077B2
Authority
JP
Japan
Prior art keywords
virtual
ethernet
nic
mac address
registered trademark
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.)
Expired - Fee Related
Application number
JP2008051329A
Other languages
English (en)
Other versions
JP2009212617A (ja
Inventor
弘明 宮島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2008051329A priority Critical patent/JP4488077B2/ja
Priority to US12/392,681 priority patent/US8015288B2/en
Publication of JP2009212617A publication Critical patent/JP2009212617A/ja
Application granted granted Critical
Publication of JP4488077B2 publication Critical patent/JP4488077B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0272Virtual private networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/618Details of network addresses
    • H04L2101/622Layer-2 addresses, e.g. medium access control [MAC] addresses

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Description

本発明は、仮想化システムに関し、特にネットワーク処理の一部を分離する仮想化システムに関する。
近年、家庭や公衆のネットワーク接続環境が一段と整備され、重要な情報を持つ、もしくは重要な情報をネットワーク経由で入手可能なノート型パーソナルコンピュータ等の携帯型計算機を社外に持ち出して、社外でネットワークに接続する場合が増えている。
携帯型計算機の社外でのネットワーク接続は、重要な情報を社外に流出させてしまうようなセキュリティ事故を引き起こしてしまう可能性があることが、問題点として指摘されている。
そのため、セキュリティ管理者としては、ネットワークが安全ではないと考えられる場面では、社外に持ち出した携帯型計算機でのネットワークの使用を禁止したり、あるいは、仮想私設通信網(VPN:Virtual Private Network)による通信のみに限定したり、あるいは、通信内容に何らかのフィルタリングを課したりしたい、等と考えるかもしれない。
ところが、利用するネットワークに応じて、携帯型計算機のオペレーティングシステム(OS:Operating System)の設定変更を行ったり、もしくは、VPNその他のセキュリティソフトウェアを設定したりすることは、ほとんどの利用者にとっては困難である。そこで、セキュリティ管理者が、利用者の代わりに、携帯型計算機に対して、適切な設定を行うことが考えられるが、各利用者の携帯型計算機のオペレーティングシステム(OS)やアプリケーション(AP:Application software)の環境は様々である。従って、セキュリティ管理者にとっても、全ての携帯型計算機に対して適切な設定を行うことは困難であると言える。また、仮に、セキュリティ管理者が、全ての携帯型計算機に対して適切な設定を行えたとしても、利用者の計算機のシステム管理者は、利用者自身である場合が多く、その場合、セキュリティ管理者が行った設定を、意図的に、あるいは偶発的に無効化してしまう可能性がある。
こうした携帯型計算機のシステム管理とネットワークセキュリティの問題を解決する方法として、仮想化システムの利用が考えられる。
仮想化システムとは、計算機環境を仮想的に実現する方式で、仮想的に実現した計算機環境である仮想マシン(VM:Virtual Machine)と、複数の仮想マシンの管理や、実計算機システムの資源管理等を行うハイパーバイザ(Hypervisor)を備える。ハイパーバイザは、仮想マシンモニタ(VMM:Virtual Machine Monitor)とも呼ばれる。仮想化システムでは、実デバイスの制御や、仮想化システムの管理インターフェース部分は、サービスVMという特別な仮想マシンが行う。ただし、ハイパーバイザとサービスVMは一体化している場合もある。また、利用者環境のための仮想マシンは、ユーザVMと呼ばれる。
仮想化システムを利用することで、外部ネットワークとの通信処理をユーザVMではなく、サービスVMで行わせるようにすることで、ユーザVM上の利用者のオペレーティングシステム(OS)の管理者を、利用者自身として、それ以外のサービスVMやVMMの管理者を、セキュリティ管理者等にすることができる。これにより、セキュリティ管理者の管理範囲を限定でき、また、この場合にサービスVM上の環境を共通化することで、利用者毎に異なるオペレーティングシステム(OS)やアプリケーション(AP)の環境に対策を行う場合に比べて、管理負荷を低減できる。
このような仮想化システムの場合、ユーザVM上の利用者環境からのネットワークの利用には、ユーザVMが持つ仮想通信デバイスを使用することになる。仮想通信デバイスは、実通信デバイスと同様に、通信のためのアドレスを持つ。この通信のためのアドレスには、イーサネット(登録商標)の場合の、媒体アクセス制御のためのMACアドレス(Media Access Control address)等がある。
また、LAN(Local Area Network)のような閉じたネットワークでは、MACアドレスのような通信のためのアドレスを、利用者の識別情報の一部として使用することがよくある。実通信デバイスでは、MACアドレスのような通信のためのアドレスは、その製造時に一意の値が与えられるため、それを管理対象とすることはそれ程難しくはない。ところが、仮想通信デバイスの場合、生成時にMACアドレスのような通信のためのアドレスが決まるため、MACアドレスのような通信のためのアドレスを識別情報の一部として管理対象とするには手間が掛かってしまうという問題があり、それを解決する方法が必要であると考えられる。
それから、サービスVMが、実通信デバイスのIPアドレス(Internet Protocol Address)や、実通信デバイス上での通信処理によって、実ネットワークについての何らかの判断を必要とする場合、ユーザVMの仮想通信デバイスには、その通信用にIPアドレスが別に必要となる。ところが、利用するネットワークによっては、複数のIPアドレスを得られない場合もある。複数のIPアドレスが得られない場合には、仮想通信デバイスには、仮のIPアドレスを与えて、サービスVMが NAT(Network Address Translation)等のアドレス変換を行うことでそれを解決することが考えられるが、サービスプロトコルによっては、アドレス変換への対応が困難な場合もあり、何らかの解決方法が必要であると考えられる。
関連する技術として、特開2001−127822号公報(特許文献1)にネットワーク・アクセス技術間の切り替え方法が開示されている。
この関連技術では、異なるネットワーク・アクセス技術間の切り替えを提供するのに加え、ネットワーク・アクセス・アービトレータ(NAA、Network Access Arbitrator)は、IP−in−IPカプセル化/カプセル化解除、プロキシARP、無償ARP(gratuitous ARP)などのモバイル・インターネット・プロトコル機能と共に動作する。
また、特開2007−228098号公報(特許文献2)にネットワーク機能プロキシが開示されている。
この関連技術では、汎用コンピュータの汎用OS上で動作する組み込みOSシミュレータのネットワーク機能プロキシが、ネットワーク機能の代替機能を実現するネットワーク機能プロキシ部と、前記組み込みOSシミュレータから送信されるパケットデータの受け渡し先を、前記組み込みOSシミュレータが動作している汎用コンピュータか外部ネットワークかを判断するパケット分配部と、前記汎用コンピュータの汎用OSのネットワーク層に対してネットワークデバイスドライバを装ってパケットデータを受け渡す機能を有するブリッジモジュールとを含む。
また、特開平9−233094号公報(特許文献3)にバーチャルネットワークシステムが開示されている。
この関連技術では、ネットワーク層以上の上位プロトコルによって作成されたパケットに対してLANエミュレーション又はネイティブモードATMを行うかどうかを選択するセル化選択手段と、前記パケットをMACフレームとした後に前記MACフレームからATMセルを作成するLANエミュレーション手段と、前記パケットから直接ATMセルを作成するネイティブモードATM手段とを備え、前記セル化選択手段によってLANエミュレーション又はネイティブモードATMのどちらを行うかを選択し、前記選択された内容により前記LANエミュレーション手段又はネイティブモードATM手段によってATMセルを作成し、前記作成したATMセルによりデータ通信を行うものである。
また、特表2005−506726号公報(特許文献4)に処理システムにおける仮想ネットワークシステムと方法が開示されている。
この関連技術では、仮想イーサネット(登録商標)ドライバは、適切な情報が各ノードのARPテーブルの中で終了するようにそれらを修正するために、そのシステムに入って出ていくARPパケットをすべて遮断する。パケットがイーサネット(登録商標)ドライバに対して待ち行列に入れられる前に、通常のARPロジックは出力パケットのリンクレイヤーヘッダに正確なMACアドレスを入れる。その後そのドライバは、パケットを送る方法を決定するためにリンクレイヤーヘッダ及び行き先MACの検査だけを行う。そのドライバは直接的にはARPテーブルを操作しない。
特開2001−127822号公報 特開2007−228098号公報 特開平9−233094号公報 特表2005−506726号公報
ここでは、ユーザVMの仮想通信デバイスは、仮想NIC(Network Interface Card)として、ユーザVMのデータリンクレベルの通信方式をイーサネット(登録商標)とする。実ネットワークのデータリンクレベルの通信方式がイーサネット(登録商標)である場合、実NICのMACアドレスと仮想NICのMACアドレスを同一にする処理を自動化する。
実ネットワークのデータリンクレベルの通信方式がイーサネット(登録商標)ではない場合、実ネットワークのデータリンク通信を、ユーザVMの仮想NICに対しては、イーサネット(登録商標)による通信に変換する。この際、アドレス解決プロトコル(ARP:Address Resolution Protocol)の回答を代行する方法として知られているプロキシARPを、ユーザVMの仮想NICに対して行う。なお、プロキシ(proxy)とは、内部ネットワークとインターネットの境にあって、直接インターネットに接続できない内部ネットワークのコンピュータに代わって、「代理」としてインターネットとの接続を行なうコンピュータ、又は、そのための機能を実現するソフトウェアのことである。
ユーザVMの仮想NICに対するIPアドレス情報については、実ネットワークのIPアドレス情報を再利用する。これは、IPアドレスの配付に使用されるDHCP(Dynamic Host Configuration Protocol)サーバを、ユーザVM環境に対して行う。
なお、ユーザVMの仮想NICからの通信については、イーサネット(登録商標)フレームとそのペイロードから、処理方法を判断する。また、実ネットワークからの通信については、イーサネット(登録商標)フレームもしくはIPパケットから、処理方法を判断する。
本発明の仮想化システムは、実NICであるネットワークカードを介して接続された実ネットワークが直接のイーサネット(登録商標)かどうか判定し、ユーザVMの仮想NICの対向ノードである仮想ノードの設定を行う仮想ノード設定手段と、仮想ノードの設定内容に応じて、ネットワークカードのMACアドレスを取得し、取得されたMACアドレスをユーザVMの仮想NICのMACアドレスとして定義し、仮想NICの設定を行う仮想NIC設定手段と、ユーザVMから仮想NICのMACアドレスの変更を要求された場合、ネットワークカードのMACアドレスを、仮想NICのMACアドレスに変更し、実NICの設定を行う実NIC設定手段とを具備する。
本発明の仮想化方法は、実NICであるネットワークカードを介して接続された実ネットワークが直接のイーサネット(登録商標)かどうか判定し、ユーザVMの仮想NICの対向ノードである仮想ノードの設定を行うステップと、仮想ノードの設定内容に応じて、ネットワークカードのMACアドレスを取得し、取得されたMACアドレスをユーザVMの仮想NICのMACアドレスとして定義し、仮想NICの設定を行うステップと、ユーザVMから仮想NICのMACアドレスの変更を要求された場合、ネットワークカードのMACアドレスを、仮想NICのMACアドレスに変更し、実NICの設定を行うステップとを含む。
本発明の仮想化プログラムは、実NICであるネットワークカードを介して接続された実ネットワークが直接のイーサネット(登録商標)かどうか判定し、ユーザVMの仮想NICの対向ノードである仮想ノードの設定を行うステップと、仮想ノードの設定内容に応じて、ネットワークカードのMACアドレスを取得し、取得されたMACアドレスをユーザVMの仮想NICのMACアドレスとして定義し、仮想NICの設定を行うステップと、ユーザVMから仮想NICのMACアドレスの変更を要求された場合、ネットワークカードのMACアドレスを、仮想NICのMACアドレスに変更し、実NICの設定を行うステップとをコンピュータに実行させるためのプログラムである。
携帯型計算機の利用における安全性(セキュリティ)を向上し、安全性向上に伴う管理負荷の増大を抑える。
以下に、本発明の第1実施形態について添付図面を参照して説明する。
図1を参照すると、本発明の仮想化システムは、ネットワーク設定及び通信制御部100と、プロキシARP200と、DHCPサーバ300と、仮想ノード400と、実ネットワーク処理部500と、ネットワークカード600と、仮想NIC700を備える。
ネットワーク設定及び通信制御部100は、仮想化システムでのネットワーク機能の設定と通信の制御を行う。プロキシARP200は、ユーザVMの仮想NIC(Network Interface Card)向けのプロキシARPを実現する。プロキシARPでは、ルータのような第三者の中継デバイスが、受信側ホストにARP(Address Resolution Protocol)要求をしているホストに対して、受信ホストの代わりにARP応答を送る。プロキシARPを使用することで、LAN上の他のシステムに対し、LANに直接接続されていないシステムを、LANに接続されているかのように見せかけることができる。DHCPサーバ300は、ユーザVMの仮想NIC向けのDHCP(Dynamic Host Configuration Protocol)サーバである。仮想ノード400は、ユーザVMの仮想NICの対向ノードである。実ネットワーク処理部500は、実ネットワーク機能を処理する。ネットワークカード600は、実ネットワーク用の実NICである。仮想NIC700は、仮想ネットワーク用の仮想NICである。ここでは、仮想NIC700は、ユーザVM環境にあるDHCPクライアントにより利用されるものとする。
なお、実NICとは、物理的に存在しているNICである。また、実ネットワークとは、物理的な通信回線である。通信回線は、有線、無線を問わない。ここでは、「仮想」という用語の対義語として、「実」という用語を使用している。また、VM環境とは、ハードウェアをエミュレートするプログラム等を示す。ここでは、VM環境として、ユーザVM環境及びサービスVM環境が存在する。
ネットワーク設定及び通信制御部100、プロキシARP200、DHCPサーバ300、仮想ノード400、及び実ネットワーク処理部500は、仮想化システム構成のサービスVM環境にあるソフトウェア機能である。ネットワーク設定及び通信制御部100、プロキシARP200、DHCPサーバ300、仮想ノード400、及び実ネットワーク処理部500に該当する装置の例として、CPU(Central Processing Unit)やマイクロプロセッサ(microprocessor)等の処理装置、又はネットワーク設定及び通信制御部100、プロキシARP200、DHCPサーバ300、仮想ノード400、及び実ネットワーク処理部500の各々として機能する半導体集積回路(IC:Integrated Circuit)等が考えられる。なお、ネットワーク設定及び通信制御部100、プロキシARP200、DHCPサーバ300、仮想ノード400、及び実ネットワーク処理部500は同一の装置でも良い。
ネットワークカード600は、ハードウェアである。仮想NIC700は、仮想マシンの要素である。このうち、ネットワーク設定及び通信制御部100は、本実施形態に特有の構成要素である。但し、実際には、これらの例に限定されない。
ネットワーク設定及び通信制御部100は、仮想ノード設定部110と、仮想NIC設定部120と、実NIC設定部130と、プロキシARP設定部140と、DHCPサーバ設定部150と、外向き通信制御部160と、内向き通信制御部170を備える。
仮想ノード設定部110は、仮想ノードの設定を行う。仮想NIC設定部120は、仮想NICの設定を行う。実NIC設定部130は、実NICの設定を行う。プロキシARP設定部140は、ユーザVMの仮想NIC向けのプロキシARPの設定を行う。DHCPサーバ設定部150は、ユーザVMの仮想NIC向けのDHCPサーバの設定を行う。外向き通信制御部160は、ユーザVMの仮想NICから送信された通信を扱う。内向き通信制御部170は、ユーザVMの仮想NICへ向かう通信を扱う。
仮想ノード400は、IPパケット処理部410と、フレーム処理部420を備える。
IPパケット処理部410は、IPパケットの処理を行う。フレーム処理部420は、イーサネット(登録商標)フレームの処理を行う。
次に、本発明の動作について説明する。
図1において、本発明の仮想化システムは、ハイパーバイザ、サービスVM環境の順に起動する。サービスVM環境は、サービスVMとその動作環境である。動作環境の例として、オペレーティングシステム(OS)及びアプリケーション(AP)が考えられる。また、サービスVM環境の起動時に、実ネットワーク処理部500が実ネットワークのネットワークカード600を初期化することで、実ネットワークを利用可能となり、更にネットワークレベルのアドレス情報(IPアドレス情報)が設定される。この場合における実ネットワークの接続方法には、イーサネット(登録商標)、もしくはIEEE802.3接続、PPP(Point to Point Protocol)によるシリアル接続、PPPoE(PPP over Ethernet(登録商標))接続、Wi−Fi(無線LAN)接続等がある。IPアドレス情報の取得方法には、DHCPによる方法、手動による固定設定、PPPのサブプロトコルであるIPCP(Internet Protocol Control Protocol)による方法等がある。本発明では、これらの方法については特に指定せず、管理者や利用者によって、適切に実ネットワークが利用可能とされるものとする。
図2は、実ネットワークが利用可能となった後、ユーザVM環境が起動する前の、ネットワーク設定及び通信制御部100とその構成要素によるフローチャートである。
(1)ステップS201
接続された実ネットワークが直接のイーサネット(登録商標)かどうかの条件分岐で、仮想化システムは、直接のイーサネット(登録商標)かどうかの情報を実ネットワーク処理部500から取得する。ここで、直接のイーサネット(登録商標)とは、データリンクレベルの通信にイーサネット(登録商標)、もしくはIEEE802.3を使用する通信であり、PPPoEのようなイーサネット(登録商標)を使用するが、データリンクには、PPPを使用するような通信は当てはまらない。ここでは、仮想ノード設定部110は、実ネットワーク処理部500とネットワークカード600が接続された際、実ネットワークが直接のイーサネット(登録商標)かどうかを示す情報を、実ネットワーク処理部500から取得する。
(2)ステップS202
実ネットワークが直接のイーサネット(登録商標)である場合、仮想ノード設定部110は、仮想ノード400を、フレーム処理モードに設定する。フレーム処理モードについては、後で説明する。ここで、仮想ノード400は、仮想NIC700に対向する通信ノードであり、そのデータリンクレベルのアドレスであるMACアドレスは、仮想化システムがその機能において、適当に設定したものとする。
(3)ステップS203
仮想NIC設定部120は、実ネットワーク処理部500から、ネットワークカード600のMACアドレスを取得して、仮想NIC700のMACアドレスとして定義する。これにより、実NICであるネットワークカード600と仮想NIC700のMACアドレスは同一となる。図3は、MACアドレスを設定する方向を示す。図3に示すように、実ネットワーク処理部500とネットワークカード600が接続された際、仮想NIC設定部120は、実ネットワーク処理部500を介してネットワークカード600のMACアドレスを取得して、仮想NIC700のMACアドレスとして定義する。なお、この時点では、実際には、ユーザVM環境は起動しておらず、ユーザVM環境の仮想NIC700も、MACアドレスの定義が変更されただけである。
(4)ステップS204
実ネットワークが直接のイーサネット(登録商標)でない場合、仮想ノード設定部110は、仮想ノード400を、IPパケット処理モードに設定する。IPパケット処理モードについては、後で説明する。
(5)ステップS205
プロキシARP設定部140は、プロキシARP200を起動する。このプロキシARP200は、ユーザVM環境が仮想NIC700から、MACアドレスの解決(ARP)を要求した場合に、仮想ノード400のMACアドレスを応答するものである。プロキシARP200が必要なのは、実ネットワークのデータリンクレベルがイーサネット(登録商標)ではない場合で、実ネットワークのデータリンクがイーサネット(登録商標)の場合には、実ネットワーク上の通信ノードがARP要求に応答するので、プロキシARP200は必要ない。
(6)ステップS206
仮想NIC設定部120は、仮想NIC700のMACアドレスを指定しない設定にする。これにより、仮想NIC700のMACアドレスは、仮想化システムがその機能により選択した値となる。
図4は、ユーザVMが起動して、仮想NIC700が活性化される際の、ネットワーク設定及び通信制御部100とその構成要素によるフローチャートである。
(1)ステップS301
ユーザVM環境が仮想NIC700のMACアドレスの変更を要求しているかどうかの条件分岐である。一般に、NICのMACアドレスは、通常はNICの製造時(仮想化システムの場合は生成時)に付与されたものが使用されるが、オペレーティングシステム(OS)側がMACアドレスを指定して、その値を変更することも可能である。ここでは、ネットワーク設定及び通信制御部100は、ユーザVM環境が仮想NIC700のMACアドレスの変更を要求しているかどうか判定する。このとき、仮想NIC設定部120は、仮想ノード400を介して仮想NIC700からMACアドレスの変更の要求を受け取る。
(2)ステップS302
ユーザVM環境が仮想NIC700のMACアドレスの変更を要求している場合、仮想NIC設定部120は、仮想NIC700のMACアドレスの指定を、ユーザVM環境が指定した値に変更する。
(3)ステップS303
図2のステップS201と同じ条件分岐である。すなわち、仮想化システムは、接続された実ネットワークが直接のイーサネット(登録商標)かどうかの条件分岐で、実ネットワークが直接のイーサネット(登録商標)かどうかの情報を実ネットワーク処理部500から取得する。ここでは、仮想ノード設定部110は、実ネットワーク処理部500とネットワークカード600が接続された際、実ネットワークが直接のイーサネット(登録商標)かどうかを示す情報を、実ネットワーク処理部500から取得する。図5は、MACアドレスを設定する方向を示す。図5に示すように、ユーザVM環境が仮想NIC700のMACアドレスの変更を要求している場合、実ネットワークのデータリンクはイーサネット(登録商標)であり、実NIC設定部130は、ネットワークカード600(実NIC)のMACアドレスを、先に変更された仮想NIC700のMACアドレスに変更することになる。
(4)ステップS304
実ネットワークが直接のイーサネット(登録商標)である場合、実NIC設定部130は、ネットワークカード600(実NIC)を非活性化する。
(5)ステップS305
実NIC設定部130は、ネットワークカード600(実NIC)に対するMACアドレスの定義に、仮想NIC700のMACアドレスを設定する。
(6)ステップS306
実NIC設定部130は、ネットワークカード600(実NIC)を活性化する。これにより、実NICであるネットワークカード600と、仮想NIC700のMACアドレスは同一となる。
(7)ステップS307
仮想ノード設定部110は、仮想ノード400に対して、ネットワークレベルのIPアドレス情報を設定して、ネットワークレベルを活性化する。この場合のIPアドレス情報には、実ネットワーク処理部500等の持つ実ネットワークのIPアドレス情報に対して、同一のネットワークアドレスで、異なるIPアドレスを、適当に選択する。例えば、実ネットワークに対するネットワークアドレスが「10.20.30.0/24」、IPアドレスが「10.20.30.40」ならば、仮想ノード400には、ネットワークアドレスを「10.20.30.0/24」、IPアドレスを「10.20.30.41」とする。適当に選択したIPアドレスは、実ネットワークの他の通信ノードのIPアドレスと重複する可能性があるが、このIPアドレスは、DHCPサーバ300と仮想NIC700の間のDHCPプロトコル通信のために、DHCPサーバ300が使用するもので、他の通信には使用されないように、ネットワーク設定及び通信制御部100が制御するので、問題とはならない。
(8)ステップS308
DHCPサーバ設定部150は、実ネットワーク処理部500等が持つ実ネットワークのIPアドレス情報を、DHCPサーバ300が配付するIPアドレス情報として設定する。DHCPサーバ300がIPアドレス情報を配付するのは、ネットワーク設定及び通信制御部100によって、仮想NIC700に限定することとなる。
(9)ステップS309
DHCPサーバ設定部150は、DHCPサーバ300を起動する。これにより、この後、仮想NIC700の活性化が完了すると、ユーザVM環境のDHCPクライアントが、DHCPプロトコルにより、DHCPサーバ300から、IPアドレス情報を取得することになる。
図6は、外向き通信制御部160が、イーサネット(登録商標)フレームの転送先を決めるフローチャートである。仮想NIC700が送信したイーサネット(登録商標)フレームは、仮想ノード400に到達するが、外向き通信制御部160はそれを入力として受け取る。
(1)ステップS401
アドレス解決プロトコル(ARP)通信かどうかの条件分岐である。ここでは、外向き通信制御部160は、仮想NIC700からのイーサネット(登録商標)フレームがアドレス解決プロトコル(ARP)通信かどうか判定する。
(2)ステップS402
仮想NIC700からのイーサネット(登録商標)フレームがアドレス解決プロトコル(ARP)通信である場合の、プロキシARP200が活性状態かどうかの条件分岐である。ここでは、外向き通信制御部160は、プロキシARP200が活性状態かどうか判定する。プロキシARP200が活性状態ならば、プロキシARP200が転送先となる。この場合、外向き通信制御部160は、仮想ノード400を介して、転送先であるプロキシARP200にイーサネット(登録商標)フレームを転送する。
(3)ステップS403
仮想NIC700からのイーサネット(登録商標)フレームがアドレス解決プロトコル(ARP)通信でない場合の、DHCP通信かどうかの条件分岐である。ここでは、外向き通信制御部160は、仮想NIC700からのイーサネット(登録商標)フレームがDHCP通信かどうか判定する。
(4)ステップS404
仮想NIC700からのイーサネット(登録商標)フレームがDHCP通信の場合の、DHCPサーバ300が活性状態かどうかの条件分岐である。
ここでは、外向き通信制御部160は、DHCPサーバ300が活性状態かどうか判定する。DHCPサーバ300が活性状態ならば、DHCPサーバ300が転送先となる。この場合、外向き通信制御部160は、仮想ノード400を介して、転送先であるDHCPサーバ300にイーサネット(登録商標)フレームを転送する。転送先がプロキシARP200でもなく、DHCPサーバ300でもない場合は、実ネットワーク処理部500が転送先となる。
(5)ステップS405
IPパケット処理モードかどうかの条件分岐である。ここでは、外向き通信制御部160は、仮想ノード400がIPパケット処理モードかどうか判定する。
(6)ステップS406
IPパケット処理モードの場合、外向き通信制御部160は、イーサネット(登録商標)フレームからIPパケットを取り出し、実ネットワーク処理部500への入力とする。なお、実際には、仮想ノード400が、外向き通信制御部160からの指示に応じて、イーサネット(登録商標)フレームからIPパケットを取り出し、実ネットワーク処理部500へ入力するようにしても良い。
図2のフローチャートにおいて、仮想ノード設定部110は、仮想ノード400を、フレーム処理モード(ステップS202)か、IPパケットモード(ステップS204)に設定している。ここでは、図7がフレーム処理モードを、図8がIPパケット処理モードを示している。
図7に示すフレーム処理モードは、実ネットワークのデータリンクレベルの通信がイーサネット(登録商標)の場合である。この場合、実ネットワーク処理部500は、イーサネット(登録商標)フレームをフレーム処理部420に渡す。フレーム処理部420は、イーサネット(登録商標)フレームに対しては、何も行わない。この場合、ネットワークカード600(実NIC)は、ネットワーク上の全てのパケットを取り込むプロミスキャスモード(Promiscuous Mode)に設定する必要がないので、フレーム処理部420が処理するイーサネット(登録商標)フレームの宛先アドレスは、仮想NIC700のMACアドレス(実NICのMACアドレスと同じ)、もしくは、ブロードキャストアドレスである。ここで、内向き通信制御部170は、宛先アドレスがブロードキャストアドレスの場合、それがDHCPサーバ300には届かないようにフィルターする。そして、このイーサネット(登録商標)フレームは、仮想NIC700に渡されるようにする。また、仮想NIC700からのイーサネット(登録商標)フレームに対しては、外向き通信制御部160が、図6のフローチャートで説明したように処理する。
図8に示すIPパケット処理モードは、実ネットワークのデータリンクレベルの通信がイーサネット(登録商標)ではない場合で、実ネットワーク処理部500は、データリンクレベルのフレームからIPパケットを取り出し、IPパケット処理部410に渡す。IPパケット処理部410は、送信元アドレスを仮想ノード400、宛先アドレスを仮想NIC700としてイーサネット(登録商標)フレームを組み立て、仮想NIC700に渡す。また、仮想NIC700からのイーサネット(登録商標)フレームに対しては、外向き通信制御部160が、図6のフローチャートで説明したように処理する。
本実施形態では、仮想マシンを使用した利用者環境からネットワーク処理の一部分離を、効果的に行うことができる。その理由を以下に述べる。
理由の一つは、実ネットワークのデータリンクレベルの通信方式がイーサネット(登録商標)である場合、実NICのMACアドレスと仮想NICのMACアドレスを同一にする処理を、自動化するためである。これにより、ネットワーク上のサービスで、MACアドレスを利用者の識別情報として使用している場合、利用者環境を仮想化システム化しても、実ネットワーク上のサービスが持つ識別情報としてのMACアドレスの情報を変更する必要がない。加えて、実NICは実ネットワークから、宛先が自分のMACアドレスかブロードキャストのイーサネット(登録商標)フレームのみを取り込めば良いことになるため、一般の仮想化システムとは異なり、実NICをプロミスキャスモードに設定する必要がない。また、イーサネット(登録商標)フレームのMACアドレス変換(MAT)といった重い処理を行う必要もない。
他の理由は、実ネットワークのデータリンクレベルの通信方式がイーサネット(登録商標)でない場合、実ネットワークのデータリンク通信を、ユーザVMの仮想NICに対してはイーサネット(登録商標)による通信に変換する処理を、自動化するためである。これにより、実ネットワークのデータリンクレベルの通信方式に応じて、利用者環境のネットワーク設定を変更する必要がない。
他の理由は、実ネットワークでのネットワークレベルのIPアドレス情報を、仮想NICでのネットワークレベルのIPアドレス情報として再利用するためである。これにより、実ネットワークレベルに対するIPアドレスは、アドレス変換(NAT)を行わなくとも、1つで済む。
以下に、本発明の第2実施形態について説明する。
図1において、実ネットワーク処理部500は、仮想私設通信網(VPN)接続を処理するものであっても良い。VPNは、IPSecやPPTPのようにIPパケットを対象とするものが一般的であるが、イーサネット(登録商標)フレームを対象とするものもある。本実施形態において、VPN接続を対象とする場合、実ネットワーク処理部500はVPN処理を行うが、第1実施形態の場合と同じように、仮想ノード400とはイーサネット(登録商標)フレーム又はIPパケットをやり取りする。
図2において、VPN接続の場合、ステップS201は、VPN接続はイーサネット(登録商標)レベルかどうかの条件分岐となる。また、ステップS203は、ネットワークカード600(実NIC)のMACアドレスの代わりに、接続がイーサネット(登録商標)VPNの通信ノードのMACアドレスを、仮想NIC700のMACアドレスとして定義する。他の各ステップに、そのまま使用できる。
図9は、VPN接続の場合において、ユーザVMが起動して、仮想NIC700が活性化される際の、ネットワーク設定及び通信制御部100とその構成要素によるフローチャートである。
(1)ステップS501
ユーザVM環境が仮想NIC700のMACアドレスの変更を要求しているかどうかの条件分岐である。一般に、NICのMACアドレスは、通常は実NICの製造時(仮想化システムの場合は仮想NICの生成時)に付与されたものが使用されるが、オペレーティングシステム(OS)側がMACアドレスを指定して、その値を変更することも可能である。ここでは、ネットワーク設定及び通信制御部100は、ユーザVM環境が仮想NIC700のMACアドレスの変更を要求しているかどうか判定する。このとき、仮想NIC設定部120は、仮想ノード400を介して仮想NIC700からMACアドレスの変更の要求を受け取る。なお、ステップS501とステップS502は、それぞれ図4のステップS301とステップS302と同じ処理である。
(2)ステップS502
ユーザVM環境が仮想NIC700のMACアドレスの変更を要求している場合、仮想NIC設定部120は、仮想NIC700のMACアドレスの指定を、ユーザVM環境が指定した値に変更する。
(3)ステップS503
VPN接続がイーサネット(登録商標)レベルかどうかの条件分岐で、仮想化システムは、VPNノードが接続された際、接続がイーサネット(登録商標)VPNかどうかの情報を実ネットワーク処理部500から取得する。ステップS503は、図2のステップS201を、VPN接続の場合に対応して変更したものと同じ条件分岐である。ここでは、仮想ノード設定部110は、実ネットワーク処理部500とVPNノードが接続された際、VPN接続がイーサネット(登録商標)レベルかどうかを示す情報を、実ネットワーク処理部500から取得する。これは、図2のステップS201を、VPN接続の場合に対応して変更したものと同じ条件分岐である。接続がイーサネット(登録商標)VPNである場合は、VPN接続はイーサネット(登録商標)レベルであり、実NIC設定部130は、VPNノードのNIC(VPN−NIC)のMACアドレスを、変更された仮想NIC700のMACアドレスに変更することになる。
(4)ステップS504
ステップS503と同じ条件分岐である。VPN接続がイーサネット(登録商標)レベルかどうかの条件分岐で、仮想化システムは、接続がイーサネット(登録商標)VPNかどうかの情報を実ネットワーク処理部500から取得する。ここでは、仮想ノード設定部110は、実ネットワーク処理部500と仮想NIC700が接続された際、VPN接続がイーサネット(登録商標)レベルかどうかを示す情報を、実ネットワーク処理部500から取得する。VPN接続がイーサネット(登録商標)レベルである場合、特に何も行わない。
(5)ステップS505
仮想ノード設定部110は、仮想ノード400に対して、ネットワークレベルのIPアドレス情報を設定して、ネットワークレベルを活性化する。この場合のIPアドレス情報には、実ネットワーク処理部500等の持つVPNネットワークのIPアドレス情報に対して、同一のネットワークアドレスで、異なるIPアドレスを、適当に選択する。図4のステップS307と同様の処理であるが、実ネットワークに対するIPアドレス情報の代わりに、VPNネットワークに対するIPアドレス情報を使用する点が異なる。なお、VPNネットワークとは、VPNを構築するネットワークである。
(6)ステップS506
DHCPサーバ設定部150は、VPNノードのIPアドレス情報を、DHCPサーバ300が配付するIPアドレス情報として設定する。DHCPサーバ300がIPアドレス情報を配付するのは、ネットワーク設定及び通信制御部100によって、仮想NIC700に限定される。なお、VPN接続がイーサネット(登録商標)レベルの場合は、VPNノードはIPアドレス情報を持たず、また、仮想NIC700はVPN接続を通して、IPアドレス情報を入手することができるので、DHCPサーバ300は必要ない。
(7)ステップS507
DHCPサーバ設定部150は、DHCPサーバ300を起動する。これにより、この後、仮想NIC700の活性化が完了すると、ユーザVM環境のDHCPクライアントが、DHCPプロトコルにより、DHCPサーバ300から、IPアドレス情報を取得することになる。図4のステップS309と同じ処理である。
(8)ステップS508
VPN接続がイーサネット(登録商標)レベルである場合、実NIC設定部130が、VPNノードのNIC(VPN−NIC)を非活性化する。
(9)ステップS509
実NIC設定部130は、VPNノードのNIC(VPN−NIC)に対するMACアドレスの定義に、仮想NIC700のMACアドレスを設定する。
(10)ステップS510
実NIC設定部130は、VPNノードのNIC(VPN−NIC)を活性化する。これにより、VPNノードのNIC(VPN−NIC)と、仮想NIC700のMACアドレスは同一となる。
以下に、本発明の第3実施形態について説明する。
本実施形態では、ネットワークカード600と仮想NIC700は1対1である必要がある。図1においては、ネットワークカード600が1つあり、それに対して、仮想NIC700が1つであった。しかし、ネットワークカード600の数は複数であっても良い。また、複数のネットワークカード600の通信方式は、それぞれ異なっていても良い。この場合、ネットワークカード600の数の分の仮想NIC700を定義できる。複数の仮想NIC700は、1つのユーザVMの中にあっても良いし、複数のユーザVMに分散していても良い。また、複数のVPNノードに対しても同じであるし、VPNノードに対する場合と、ネットワークカード600に対する場合は、同時に含まれていても良い。
また、本発明の仮想化システムでは、ハイパーバイザとサービスVMが分離していたが、これらは一体化していても良い。また、サービスVMが複数に分かれていても良い。
本発明は、携帯型計算機を対象として説明したが、対象は携帯型計算機に限らず、携帯型以外の計算機や、PDA、携帯電話といった機器にも適用可能である。
以下に、発明の特徴について説明する。
本発明は、利用者環境からネットワーク処理の一部を分離する方法の一つで、仮想マシンを使用する。
本発明の特徴は、実ネットワークのデータリンクレベルの通信方式がイーサネット(登録商標)である場合、仮想マシンを使用して利用者環境からネットワーク処理の一部を分離しているにも関わらず、利用者環境からは、イーサネット(登録商標)が透過的に見えることである。
本発明の他の特徴は、実ネットワークのデータリンクレベルの通信方式がイーサネット(登録商標)ではない場合、仮想マシンを使用して利用者環境からネットワーク処理の一部を分離し、それにより利用者環境からは、そのネットワークをイーサネット(登録商標)として透過的に見えることである。
本発明の更に他の特徴は、実ネットワーク上で仮想私設通信網(VPN)を使用する場合、仮想マシンを使用して利用者環境からネットワーク処理の一部を分離し、それにより利用者環境からは、そのネットワークをイーサネット(登録商標)として透過的に見えることである。
本発明は、携帯型端末一般での利用が考えられる。
図1は、本発明の仮想化システムの全体構成を示すブロック図である。 図2は、ユーザVM起動前の処理を示すフローチャートである。 図3は、仮想NICへのMACアドレスの設定の例を示す概念図である。 図4は、仮想NIC活性化時の処理を示すフローチャートである。 図5は、実NICへのMACアドレスの設定の例を示す概念図である。 図6は、外向き通信制御部の処理を示すフローチャートである。 図7は、フレーム処理モードの例を示す概念図である。 図8は、IPパケット処理モードの例を示す概念図である。 図9は、VPN接続の場合の仮想NIC活性化時の処理を示すフローチャートである。
符号の説明
100...ネットワーク設定及び通信制御部
110...仮想ノード設定部
120...仮想NIC設定部
130...実NIC設定部
140...プロキシARP設定部
150...DHCPサーバ設定部
160...外向き通信制御部
170...内向き通信制御部
200...プロキシARP(仮想NIC向け)
300...DHCPサーバ(仮想NIC向け)
400...仮想ノード
410...IPパケット処理部
420...フレーム処理部
500...実ネットワーク処理部
600...ネットワークカード(実NIC)
700...仮想NIC

Claims (23)

  1. 実NICであるネットワークカードを介して接続された実ネットワークが直接のイーサネット(登録商標)かどうか判定し、ユーザVMの仮想NICの対向ノードである仮想ノードの設定を行う仮想ノード設定手段と、
    前記仮想ノードの設定内容に応じて、前記ネットワークカードのMACアドレスを取得し、前記取得されたMACアドレスを前記ユーザVMの仮想NICのMACアドレスとして定義し、前記仮想NICの設定を行う仮想NIC設定手段と、
    前記ユーザVMから前記仮想NICのMACアドレスの変更を要求された場合、前記ネットワークカードのMACアドレスを、前記仮想NICのMACアドレスに変更し、前記実NICの設定を行う実NIC設定手段と
    を具備する
    仮想化システム。
  2. 請求項1に記載の仮想化システムであって、
    前記仮想ノード設定手段は、前記実ネットワークが直接のイーサネット(登録商標)である場合、前記仮想ノードをフレーム処理モードに設定し、
    前記仮想NIC設定手段は、前記実ネットワークが直接のイーサネット(登録商標)である場合、前記ユーザVMを活性化する前に、前記ネットワークカードのMACアドレスを取得し、前記取得されたMACアドレスを前記仮想NICのMACアドレスに設定し、前記ユーザVMを活性化する
    仮想化システム。
  3. 請求項2に記載の仮想化システムであって、
    前記仮想ノード設定手段は、前記実ネットワークが直接のイーサネット(登録商標)でない場合、前記仮想ノードをIPパケット処理モードに設定し、
    前記仮想NIC設定手段は、前記実ネットワークが直接のイーサネット(登録商標)でない場合、前記仮想NICのMACアドレスを指定しないように設定し、
    前記実NIC設定手段は、前記実ネットワークが直接のイーサネット(登録商標)でない場合、前記仮想NICのMACアドレスを前記ネットワークカードのMACアドレスに設定する
    仮想化システム。
  4. 請求項3に記載の仮想化システムであって、
    前記ユーザVMからアドレス解決プロトコル(ARP)に基づく要求を受け取ると、前記ネットワークカードのMACアドレスを応答するプロキシARPと、
    前記実ネットワークが直接のイーサネット(登録商標)でない場合、前記プロキシARPの設定を行い、前記プロキシARPを活性化するプロキシARP設定手段と
    を更に具備する
    仮想化システム。
  5. 請求項4に記載の仮想化システムであって、
    前記仮想NIC向けのDHCPサーバと、
    前記DHCPサーバの設定を行い、前記実ネットワークのIPアドレス情報を、前記DHCPサーバが前記仮想NICに配付するIPアドレス情報として設定し、前記DHCPサーバを活性化するDHCPサーバ設定手段と
    を更に具備する
    仮想化システム。
  6. 請求項5に記載の仮想化システムであって、
    前記仮想NICから送信された通信を扱い、前記仮想NICからの外向きイーサネット(登録商標)フレームがアドレス解決プロトコル(ARP)通信かどうか判定し、前記外向きイーサネット(登録商標)フレームがアドレス解決プロトコル(ARP)通信である場合、転送先を前記プロキシARPに決定し、前記仮想ノードを介して、前記プロキシARPに前記外向きイーサネット(登録商標)フレームを転送する外向き通信制御手段
    を更に具備する
    仮想化システム。
  7. 請求項6に記載の仮想化システムであって、
    前記外向き通信制御手段は、前記外向きイーサネット(登録商標)フレームがアドレス解決プロトコル(ARP)通信でない場合、前記外向きイーサネット(登録商標)フレームがDHCP通信かどうか判定し、前記外向きイーサネット(登録商標)フレームがDHCP通信である場合、前記DHCPサーバが活性状態か判定し、前記DHCPサーバが活性状態である場合、転送先を前記DHCPサーバに決定し、前記仮想ノードを介して、前記DHCPサーバに前記外向きイーサネット(登録商標)フレームを転送する
    仮想化システム。
  8. 請求項7に記載の仮想化システムであって、
    前記外向き通信制御手段は、転送先が前記プロキシARP及び前記DHCPサーバのいずれでもなく、前記仮想ノードがIPパケット処理モードである場合、前記外向きイーサネット(登録商標)フレームからIPパケットを取り出し、前記仮想ノードを介して、前記取り出されたIPパケットを前記実ネットワークに転送する
    仮想化システム。
  9. 請求項8に記載の仮想化システムであって、
    前記仮想NICへ向かう通信を扱い、前記仮想ノードがフレーム処理モードである場合に、前記実ネットワークからの内向きイーサネット(登録商標)フレームの宛先アドレスがブロードキャストアドレスである場合、前記内向きイーサネット(登録商標)フレームが前記DHCPサーバには届かないようにフィルターし、前記内向きイーサネット(登録商標)フレームを前記仮想NICに転送する内向き通信制御手段
    を更に具備する
    仮想化システム。
  10. 請求項9に記載の仮想化システムであって、
    前記仮想ノード設定手段は、仮想私設通信網(VPN)ノードが接続された際、VPN接続がイーサネット(登録商標)レベルかどうか判定し、前記VPN接続がイーサネット(登録商標)レベルでない場合、VPNネットワークに対するIPアドレス情報を前記仮想ノードに設定し、
    前記DHCPサーバ設定手段は、前記VPNノードのIPアドレス情報を、前記DHCPサーバが配付するIPアドレス情報として設定し、前記DHCPサーバを活性化する
    仮想化システム。
  11. 請求項10に記載の仮想化システムであって、
    前記実NIC設定手段は、前記仮想ノードのMACアドレスが変更された場合に、前記VPN接続がイーサネット(登録商標)レベルである場合、前記仮想NICのMACアドレスを前記VPNノードのNICのMACアドレスに設定する
    仮想化システム。
  12. 実NICであるネットワークカードを介して接続された実ネットワークが直接のイーサネット(登録商標)かどうか判定し、ユーザVMの仮想NICの対向ノードである仮想ノードの設定を行うステップと、
    前記仮想ノードの設定内容に応じて、前記ネットワークカードのMACアドレスを取得し、前記取得されたMACアドレスを前記ユーザVMの仮想NICのMACアドレスとして定義し、前記仮想NICの設定を行うステップと、
    前記ユーザVMから前記仮想NICのMACアドレスの変更を要求された場合、前記ネットワークカードのMACアドレスを、前記仮想NICのMACアドレスに変更し、前記実NICの設定を行うステップと
    を含む
    仮想化方法。
  13. 請求項12に記載の仮想化方法であって、
    前記実ネットワークが直接のイーサネット(登録商標)である場合、前記仮想ノードをフレーム処理モードに設定するステップと、
    前記実ネットワークが直接のイーサネット(登録商標)である場合、前記ユーザVMを活性化する前に、前記ネットワークカードのMACアドレスを取得し、前記取得されたMACアドレスを前記仮想NICのMACアドレスに設定し、前記ユーザVMを活性化するステップと
    を更に含む
    仮想化方法。
  14. 請求項13に記載の仮想化方法であって、
    前記実ネットワークが直接のイーサネット(登録商標)でない場合、前記仮想ノードをIPパケット処理モードに設定するステップと、
    前記実ネットワークが直接のイーサネット(登録商標)でない場合、前記仮想NICのMACアドレスを指定しないように設定するステップと、
    前記実ネットワークが直接のイーサネット(登録商標)でない場合、前記仮想NICのMACアドレスを前記ネットワークカードのMACアドレスに設定するステップと
    を更に含む
    仮想化方法。
  15. 請求項14に記載の仮想化方法であって、
    前記実ネットワークが直接のイーサネット(登録商標)でない場合、プロキシARPの設定を行い、前記プロキシARPを活性化するステップと、
    前記ユーザVMからアドレス解決プロトコル(ARP)に基づく要求を受け取ると、前記プロキシARPにより、前記ネットワークカードのMACアドレスを応答するステップと
    を更に含む
    仮想化方法。
  16. 請求項15に記載の仮想化方法であって、
    前記仮想NIC向けのDHCPサーバの設定を行い、前記実ネットワークのIPアドレス情報を、前記DHCPサーバが前記仮想NICに配付するIPアドレス情報として設定し、前記DHCPサーバを活性化するステップ
    を更に含む
    仮想化方法。
  17. 請求項16に記載の仮想化方法であって、
    前記仮想NICから送信された通信を扱い、前記仮想NICからの外向きイーサネット(登録商標)フレームがアドレス解決プロトコル(ARP)通信かどうか判定するステップと、
    前記外向きイーサネット(登録商標)フレームがアドレス解決プロトコル(ARP)通信である場合、転送先を前記プロキシARPに決定し、前記仮想ノードを介して、前記プロキシARPに前記外向きイーサネット(登録商標)フレームを転送するステップと
    を更に含む
    仮想化方法。
  18. 請求項17に記載の仮想化方法であって、
    前記外向きイーサネット(登録商標)フレームがアドレス解決プロトコル(ARP)通信でない場合、前記外向きイーサネット(登録商標)フレームがDHCP通信かどうか判定するステップと、
    前記外向きイーサネット(登録商標)フレームがDHCP通信である場合、前記DHCPサーバが活性状態か判定するステップと、
    前記DHCPサーバが活性状態である場合、転送先を前記DHCPサーバに決定し、前記仮想ノードを介して、前記DHCPサーバに前記外向きイーサネット(登録商標)フレームを転送するステップと
    を更に含む
    仮想化方法。
  19. 請求項18に記載の仮想化方法であって、
    転送先が前記プロキシARP及び前記DHCPサーバのいずれでもなく、前記仮想ノードがIPパケット処理モードである場合、前記外向きイーサネット(登録商標)フレームからIPパケットを取り出し、前記仮想ノードを介して、前記取り出されたIPパケットを前記実ネットワークに転送するステップ
    を更に含む
    仮想化方法。
  20. 請求項19に記載の仮想化方法であって、
    前記仮想NICへ向かう通信を扱い、前記仮想ノードがフレーム処理モードである場合に、前記実ネットワークからの内向きイーサネット(登録商標)フレームの宛先アドレスがブロードキャストアドレスである場合、前記内向きイーサネット(登録商標)フレームが前記DHCPサーバには届かないようにフィルターし、前記内向きイーサネット(登録商標)フレームを前記仮想NICに転送するステップ
    を更に含む
    仮想化方法。
  21. 請求項20に記載の仮想化方法であって、
    仮想私設通信網(VPN)ノードが接続された際、VPN接続がイーサネット(登録商標)レベルかどうか判定し、前記VPN接続がイーサネット(登録商標)レベルでない場合、VPNネットワークに対するIPアドレス情報を前記仮想ノードに設定するステップと、
    前記VPNノードのIPアドレス情報を、前記DHCPサーバが配付するIPアドレス情報として設定し、前記DHCPサーバを活性化するステップと
    を更に含む
    仮想化方法。
  22. 請求項21に記載の仮想化方法であって、
    前記仮想ノードのMACアドレスが変更された場合に、前記VPN接続がイーサネット(登録商標)レベルである場合、前記仮想NICのMACアドレスを前記VPNノードのNICのMACアドレスに設定するステップ
    を更に含む
    仮想化方法。
  23. 実NICであるネットワークカードを介して接続された実ネットワークが直接のイーサネット(登録商標)かどうか判定し、ユーザVMの仮想NICの対向ノードである仮想ノードの設定を行うステップと、
    前記仮想ノードの設定内容に応じて、前記ネットワークカードのMACアドレスを取得し、前記取得されたMACアドレスを前記ユーザVMの仮想NICのMACアドレスとして定義し、前記仮想NICの設定を行うステップと、
    前記ユーザVMから前記仮想NICのMACアドレスの変更を要求された場合、前記ネットワークカードのMACアドレスを、前記仮想NICのMACアドレスに変更し、前記実NICの設定を行うステップと
    をコンピュータに実行させるための
    仮想化プログラム。
JP2008051329A 2008-02-29 2008-02-29 仮想化システム、仮想化方法、及び仮想化用プログラム Expired - Fee Related JP4488077B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008051329A JP4488077B2 (ja) 2008-02-29 2008-02-29 仮想化システム、仮想化方法、及び仮想化用プログラム
US12/392,681 US8015288B2 (en) 2008-02-29 2009-02-25 Virtual system and method in a virtual system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008051329A JP4488077B2 (ja) 2008-02-29 2008-02-29 仮想化システム、仮想化方法、及び仮想化用プログラム

Publications (2)

Publication Number Publication Date
JP2009212617A JP2009212617A (ja) 2009-09-17
JP4488077B2 true JP4488077B2 (ja) 2010-06-23

Family

ID=41014020

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008051329A Expired - Fee Related JP4488077B2 (ja) 2008-02-29 2008-02-29 仮想化システム、仮想化方法、及び仮想化用プログラム

Country Status (2)

Country Link
US (1) US8015288B2 (ja)
JP (1) JP4488077B2 (ja)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4618455B2 (ja) * 2008-04-09 2011-01-26 日本電気株式会社 端末装置、ネットワーク接続方法及びプログラム
JP5644150B2 (ja) * 2010-03-23 2014-12-24 日本電気株式会社 サービス提供システム、仮想マシンサーバ、サービス提供方法及びサービス提供プログラム
US8739177B2 (en) * 2010-06-21 2014-05-27 Intel Corporation Method for network interface sharing among multiple virtual machines
CN102025787B (zh) 2010-11-22 2014-12-10 中兴通讯股份有限公司 数据卡设备网络接口联网的方法和装置
US9489224B2 (en) 2010-12-28 2016-11-08 Nec Corporation Network virtualization system, physical node, and virtual interface identification method in virtual machine
CN102096606A (zh) * 2011-02-21 2011-06-15 浪潮(北京)电子信息产业有限公司 虚拟机迁移方法、装置和系统
CN103354987B (zh) * 2011-03-29 2016-08-17 松下电器产业株式会社 转发控制装置和它的集成电路、转发控制方法以及转发控制系统
US9652265B1 (en) 2011-08-10 2017-05-16 Nutanix, Inc. Architecture for managing I/O and storage for a virtualization environment with multiple hypervisor types
US8863124B1 (en) 2011-08-10 2014-10-14 Nutanix, Inc. Architecture for managing I/O and storage for a virtualization environment
US8850130B1 (en) 2011-08-10 2014-09-30 Nutanix, Inc. Metadata for managing I/O and storage for a virtualization
US9009106B1 (en) 2011-08-10 2015-04-14 Nutanix, Inc. Method and system for implementing writable snapshots in a virtualized storage environment
US8601473B1 (en) 2011-08-10 2013-12-03 Nutanix, Inc. Architecture for managing I/O and storage for a virtualization environment
US9747287B1 (en) 2011-08-10 2017-08-29 Nutanix, Inc. Method and system for managing metadata for a virtualization environment
US8549518B1 (en) 2011-08-10 2013-10-01 Nutanix, Inc. Method and system for implementing a maintenanece service for managing I/O and storage for virtualization environment
CN102368725B (zh) * 2011-09-09 2013-11-27 北京东方网信科技股份有限公司 一种多网卡的数据接收方法及系统
CN102521035A (zh) * 2011-11-25 2012-06-27 浪潮电子信息产业股份有限公司 一种虚拟机迁移过程中的识别方法
US9264402B2 (en) * 2012-02-20 2016-02-16 Virtustream Canada Holdings, Inc. Systems involving firewall of virtual machine traffic and methods of processing information associated with same
US9129124B2 (en) * 2012-04-12 2015-09-08 Hewlett-Packard Development Company, L.P. Dynamic provisioning of virtual systems
JP5680018B2 (ja) * 2012-05-24 2015-03-04 京セラドキュメントソリューションズ株式会社 情報処理装置および画像形成装置
US9772866B1 (en) 2012-07-17 2017-09-26 Nutanix, Inc. Architecture for implementing a virtualization environment and appliance
US9438564B1 (en) * 2012-09-18 2016-09-06 Google Inc. Managing pooled VPN proxy servers by a central server
CN103605562B (zh) * 2013-12-10 2017-05-03 浪潮电子信息产业股份有限公司 一种kvm虚拟机在物理主机之间迁移的方法
EP3116175A4 (en) * 2014-03-04 2017-09-13 Nec Corporation Server, control device, management device, communication system, communication method, control method, management method, and program
RU2568282C2 (ru) * 2014-04-18 2015-11-20 Закрытое акционерное общество "Лаборатория Касперского" Система и способ обеспечения отказоустойчивости антивирусной защиты, реализуемой в виртуальной среде
WO2015199685A1 (en) * 2014-06-25 2015-12-30 Hewlett Packard Development Company, L.P. Network function virtualization
JP6267606B2 (ja) * 2014-09-01 2018-01-24 日本電信電話株式会社 ネットワークシステム、仮想化方法および仮想化プログラム
US9141431B1 (en) 2014-10-07 2015-09-22 AO Kaspersky Lab System and method for prioritizing on access scan and on demand scan tasks
TW201735581A (zh) * 2016-03-16 2017-10-01 瑞昱半導體股份有限公司 網路通訊裝置與電子裝置
US10467103B1 (en) 2016-03-25 2019-11-05 Nutanix, Inc. Efficient change block training
US11824863B2 (en) * 2016-11-03 2023-11-21 Nicira, Inc. Performing services on a host
US10699003B2 (en) * 2017-01-23 2020-06-30 Hysolate Ltd. Virtual air-gapped endpoint, and methods thereof
CN108471397B (zh) 2018-01-31 2020-12-15 华为技术有限公司 防火墙配置、报文发送方法和装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3131137B2 (ja) 1996-02-28 2001-01-31 株式会社日立製作所 バーチャルネットワークシステム
US7177952B1 (en) 1999-10-01 2007-02-13 Nortel Networks Limited Method and system for switching between two network access technologies without interrupting active network applications
DE10296675T5 (de) 2001-04-20 2004-04-22 Egenera Inc., Marlboro Virtuelles Vernetzungssystem und -verfahren in einem Verarbeitungssystem
US20060090136A1 (en) * 2004-10-01 2006-04-27 Microsoft Corporation Methods and apparatus for implementing a virtualized computer system
JP2007228098A (ja) 2006-02-21 2007-09-06 Canon Inc ネットワーク機能プロキシ

Also Published As

Publication number Publication date
JP2009212617A (ja) 2009-09-17
US20090222542A1 (en) 2009-09-03
US8015288B2 (en) 2011-09-06

Similar Documents

Publication Publication Date Title
JP4488077B2 (ja) 仮想化システム、仮想化方法、及び仮想化用プログラム
US20210385154A1 (en) Multipath data transmission method and device
US8121146B2 (en) Method, apparatus and system for maintaining mobility resistant IP tunnels using a mobile router
EP2779531A2 (en) System and method for abstracting network policy from physical interfaces and creating portable network policy
US20130315242A1 (en) Network Communication Method and Device
CN114338606B (zh) 一种公有云的网络配置方法及相关设备
CN113302884B (zh) 公共云环境中的服务插入
US20140181172A1 (en) Offloading tethering-related communication processing
US9774710B2 (en) System and method for network protocol offloading in virtual networks
CN110999265A (zh) 管理云计算服务端点和虚拟机之间的网络连接性
WO2018119332A1 (en) Logical port authentication for virtual machines
CN107948104A (zh) 一种网络地址转换环境中报文转发的方法及交换设备
CN103001966B (zh) 一种私网ip的处理、识别方法及装置
US10270692B1 (en) Establishing a connection to multiple network devices using a single internet protocol (IP) address
US20190116119A1 (en) Inter-vrf routing using normal network operation model
US9787805B2 (en) Communication control system and communication control method
WO2021179297A1 (en) Apparatus and method for implementing user plane function
CN115913819A (zh) 一种通信方法以及相关装置
Chudzik et al. Virtual networks with the IPv6 addressing in the Xen virtualization environment
WO2018058182A1 (en) A network connectable computing system and a method for processing a plurality of messages

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091215

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

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100322

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130409

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130409

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140409

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees