JP6513835B2 - クラウドコンピューティングシステムにおけるパケット処理方法、ホスト、およびシステム - Google Patents

クラウドコンピューティングシステムにおけるパケット処理方法、ホスト、およびシステム Download PDF

Info

Publication number
JP6513835B2
JP6513835B2 JP2017568237A JP2017568237A JP6513835B2 JP 6513835 B2 JP6513835 B2 JP 6513835B2 JP 2017568237 A JP2017568237 A JP 2017568237A JP 2017568237 A JP2017568237 A JP 2017568237A JP 6513835 B2 JP6513835 B2 JP 6513835B2
Authority
JP
Japan
Prior art keywords
network
data packet
virtual machine
vlan
network port
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.)
Active
Application number
JP2017568237A
Other languages
English (en)
Other versions
JP2018537006A (ja
Inventor
ユ、ジョウ
ジャン、レイチャン
チュアン、ユシン
ロ、ハオ
Original Assignee
ホアウェイ・テクノロジーズ・カンパニー・リミテッド
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 ホアウェイ・テクノロジーズ・カンパニー・リミテッド filed Critical ホアウェイ・テクノロジーズ・カンパニー・リミテッド
Publication of JP2018537006A publication Critical patent/JP2018537006A/ja
Application granted granted Critical
Publication of JP6513835B2 publication Critical patent/JP6513835B2/ja
Active 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/58Association of routers
    • H04L45/586Association of routers of virtual routers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/70Virtual switches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Landscapes

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

Description

本発明はIT技術の分野に関連し、具体的には、クラウドコンピューティングシステムにおけるパケット処理方法、ホスト、およびシステムに関連する。
仮想化技術は、クラウドコンピューティング分野における主要な技術の1つである。仮想化技術によれば、ホストの物理的リソースは、ホスト上で動作する仮想マシン(Virtual Machine、VM)によって使用される共有リソースプールに抽象化できる。ホスト上で動作する仮想マシンは、ホストのネットワークインタフェースカードを共有して、ホストの外部ネットワークと通信し得る。従来技術において、ネットワークインタフェースカードは、ネットワークインタフェースカード仮想化を用いることによって、使用のために仮想マシンに割り当てられてよい。ネットワークインタフェースカード仮想化は、シングルルート入出力仮想化(Single‐Root I/O Virtualization、SR‐IOV)、またはマルチルート入出力仮想化(Multi Root Input/Output Virtualization、MR‐IOV)を用いることによって実現され得る。また、ネットワークインタフェースカード仮想化は、ネットワークインタフェースカードパススルーとも称される。SR‐IOVパススルーを例として使用する。ネットワークインタフェースカードがSR‐IOVをサポートするとき、ホスト上で動作する仮想マシンは、SR‐IOV技術を使用することによって、ホスト上のネットワークインタフェースカードを共有し得る。
SR‐IOV機能をサポートするネットワークインタフェースカードがホスト上で使用されるとき、ネットワークインタフェースカードのネットワークポートは、少なくとも1つの物理ファンクション(Physical Function、PF)および複数の仮想ファンクション(Virtual Function、VF)に仮想化される。ホスト上の仮想マシンは、少なくとも1つのVFに接続される。ネットワークインタフェースカードの中には、スイッチとして機能するスイッチング装置が設けられる。スイッチング装置は、媒体アクセス制御(MediaAccessControl、MAC)テーブルに従ってデータパケットを転送し、物理ネットワークポート、PF、およびVFの間でデータパケットを転送する。処理およびストレージの能力は有限なので、スイッチング装置は、セキュリティグループ、サービス品質(Quality of Service、QoS)、レイヤ2トンネルカプセル化、および分散ルーティングなどの豊富なネットワーク機能をユーザに提供できない。
本明細書では、ネットワークインタフェースカードパススルーのシナリオにおいて豊富なネットワーク機能を提供できないという問題を解決するために、クラウドコンピューティングシステムにおけるパケット処理方法、ホスト、およびシステムを説明する。
第1態様によれば、本発明の一実施形態は、ホストを提供する。少なくとも1つのネットワークインタフェースカードがホストに接続される。仮想マシンモニタVMMは、ホスト上で動作し、第1仮想マシンは、VMM上で動作する。VMMは、複数のVLANサブインタフェースおよび仮想ネットワーク機能モジュールを含み、少なくとも1つのネットワークインタフェースカードは、スイッチング装置および少なくとも3つのネットワークポートを含み、ここで、第1ネットワークポートおよび第2ネットワークポートは、ネットワークインタフェースカード仮想化機能をサポートし、第1ネットワークポートは、少なくとも1つの物理ファンクションPFおよび複数の仮想ファンクションVFに対応し、VLAN識別子は、複数のVFのために構成され、VFのVLAN識別子は互いに異なり、第1仮想マシンは、第1ネットワークポートの少なくとも1つのVFに接続され、VLANサブインタフェースの数は、第1ネットワークポートのVFの数と同一であり、VLANサブインタフェースは、第1ネットワークポートのVFと一対一の対応関係にあり、VLANサブインタフェースは、VLANサブインタフェースに対応するVFと同一のVLAN識別子を有し、第1ネットワークポートおよび第2ネットワークポートは、ネットワークケーブルを使用することによって接続される。
第1仮想マシンは、第1仮想マシンに接続されるVFを使用することによって、データパケットを第2仮想マシンへ送信する。データパケットは、データパケットを送信するVFのVLAN識別子を保持する。第1ネットワークポートのスイッチング装置は、データパケットを受信し、ネットワークケーブルを使用することによってデータパケットを第2ネットワークポートへ強制的に転送する。第2ネットワークポートのスイッチング装置は、データパケットに保持されるVLAN識別子に従って、データパケットと同一のVLAN識別子を有するVLANサブインタフェースへデータパケットを送信する。VLANサブインタフェースは、データパケットを受信し、データパケットにおけるVLAN識別子を除去し、データパケットを仮想ネットワーク機能モジュールへ送信する。仮想ネットワーク機能モジュールは、変更されたデータパケットに対してネットワーク機能処理を実行し、処理されたデータパケットを第2仮想マシンへ送信する。ネットワークインタフェースカードパススルーのシナリオにおいて、仮想マシンは、パススルーVFからデータパケットを送信した後に、上述の方式で、VMM上の仮想ネットワーク機能モジュールへデータパケットを送信し得る。ソフトウェアモジュールを使用することによって、豊富なネットワーク機能がユーザに提供され、これにより、データパケットに対するネットワーク機能処理を実現する。
可能な設計において、第1ネットワークポートおよび第2ネットワークポートは、仮想イーサネット(登録商標)ポートアグリゲータVEPAモードである。VEPAモードにおいて、データパケットは、第1ネットワークポートと第2ネットワークポートとの間で強制的に転送され得る。VEPAモードは、データパケットを強制的に転送する1つの方式に過ぎないことに注意すべきである。当業者であれば、データパケットを強制的に転送するために、別のソフトウェア設定またはハードウェア設定を使用し得る。本発明のこの実施形態は、これに限定を課すものではない。
可能な設計において、ホストはさらに、デバイス管理モジュールを備え、デバイス管理モジュールは、VLANサブインタフェースを生成するように構成される。以下に具体例を示す。
デバイス管理モジュールは、第1仮想マシンの生成に成功した後に、クラウド管理プラットフォームによって送信されるVLANサブインタフェース生成要求を受信するように構成され、ここで、VLANサブインタフェース生成要求は、第1仮想マシンに割り当てられるVFのVLAN識別子を保持し、デバイス管理モジュールはさらに、第1仮想マシンのVFに対応するVLANサブインタフェースを生成するようにVMMに命令するための通知メッセージをVMMへ送信するように構成され、ここで、第1仮想マシンのVFに対応するVLANサブインタフェースは、第1仮想マシンのVFと同一のVLAN識別子を有する。
少なくとも1つのネットワークインタフェースカードは、少なくとも3つのネットワークポートを有し、少なくとも3つのネットワークポートは、同一のネットワークインタフェースカードまたは異なるネットワークインタフェースカードに配置され得る。第1ネットワークポートおよび第2ネットワークポートが同一のネットワークインタフェースカードに配置されるとき、第1ネットワークポートおよび第2ネットワークポートは、ネットワークインタフェースカードのスイッチング装置を共有し得るか、または、第1ネットワークポートおよび第2ネットワークポートの各々は、独立したスイッチング装置を有し得る。
可能な設計において、データパケットの送信元仮想マシン(第1仮想マシン)および宛先仮想マシン(第2仮想マシン)は、同一のホストに配置される。仮想ネットワーク機能モジュールは、第2仮想マシンに接続されるVFに対応するVLANサブインタフェースへ、処理されたデータパケットを送信し、ここで、第2仮想マシンに接続されるVFは、処理されたデータパケットを受信するVLANサブインタフェースと同一のVLAN識別子を有し、第2仮想マシンに接続されるVFに対応するVLANサブインタフェースは、VLANサブインタフェースのVLAN識別子をデータパケットに追加し、データパケットを第2ネットワークポートへ送信し、第2ネットワークポートのスイッチング装置は、ネットワークケーブルを使用することによって、データパケットを第1ネットワークポートへ強制的に転送し、第1ネットワークポートのスイッチング装置は、データパケットに保持されるVLAN識別子に従って、データパケットにおけるVLAN識別子によって識別されるVFへデータパケットを送信し、これにより、データパケットは、第2仮想マシンへ伝送される。
可能な設計において、データパケットの送信元仮想マシン(第1仮想マシン)および宛先仮想マシン(第2仮想マシン)は、異なるホストに配置される。仮想ネットワーク機能モジュールは、具体的には、仮想ネットワーク機能モジュールと、第2仮想マシンが配置されるホスト上の別の仮想ネットワーク機能モジュールとの間にトンネルを確立し、第3ネットワークポートを使用することによって、処理されたデータパケットを外部物理スイッチへ送信し、外部物理スイッチを使用することによって、第2仮想マシンが配置されるホストへ、処理されたデータパケットを送信するように構成され、これにより、別の仮想ネットワーク機能モジュールは、処理されたデータパケットを第2仮想マシンへ送信する。
第2態様によれば、本発明の一実施形態はさらに、第1態様における装置に対応して、クラウドコンピューティングシステムにおけるパケット処理方法を提供する。クラウドコンピューティングシステムにおける少なくとも1つのホストは、仮想マシンモニタVMMおよび少なくとも1つのネットワークインタフェースカードを備え、第1仮想マシンは、ホスト上で動作し、VMMは、複数のVLANサブインタフェースおよび仮想ネットワーク機能モジュールを有し、少なくとも1つのネットワークインタフェースカードは、スイッチング装置および少なくとも3つのネットワークポートを有し、第1ネットワークポートおよび第2ネットワークポートは、ネットワークインタフェースカード仮想化機能をサポートし、第1ネットワークポートは、少なくとも1つのPFおよび複数のVFに対応し、VLAN識別子は、複数のVFのために構成され、VFのVLAN識別子は互いに異なり、第1仮想マシンは、第1ネットワークポートの少なくとも1つのVFに接続され、VLANサブインタフェースの数は、第1ネットワークポートのVFの数と同一であり、VLANサブインタフェースは、第1ネットワークポートのVFと一対一の対応関係にあり、VLANサブインタフェースは、VLANサブインタフェースに対応するVFと同一のVLAN識別子を有し、第1ネットワークポートおよび第2ネットワークポートは、ネットワークケーブルを使用することによって接続され、方法は、第1仮想マシンによって、第1仮想マシンに接続されるVFを使用することによって、データパケットを第2仮想マシンへ送信する段階であって、データパケットは、データパケットを送信するVFのVLAN識別子、および、第2仮想マシンのアドレスを保持する、段階と、第1ネットワークポートのスイッチング装置によって、データパケットを受信し、ネットワークケーブルを使用することによってデータパケットを第2ネットワークポートへ強制的に転送する段階と、第2ネットワークポートのスイッチング装置によって、データパケットを第1ネットワークポートから受信し、データパケットに保持されるVLAN識別子に従って、VLAN識別子によって識別されるVLANサブインタフェースへデータパケットを送信する段階と、VLANサブインタフェースによって、データパケットを受信し、データパケットにおけるVLAN識別子を除去し、データパケットを仮想ネットワーク機能モジュールへ送信する段階と、仮想ネットワーク機能モジュールによって、変更されたデータパケットに対してネットワーク機能処理を実行し、処理されたデータパケットを送信する段階であって、処理されたデータパケットの宛先アドレスは、第2仮想マシンのアドレスである、段階とを備える。
可能な設計において、第1ネットワークポートおよび第2ネットワークポートは、VEPAモードである。
可能な設計において、方法はさらに、VLANサブインタフェース生成プロセスを備える。VLANサブインタフェース生成プロセスは、ホストのデバイス管理モジュールによって、第1仮想マシンの生成に成功した後に、クラウド管理プラットフォームによって送信されるVLANサブインタフェース生成要求を受信する段階であって、VLANサブインタフェース生成要求は、第1仮想マシンに割り当てられるVFのVLAN識別子を保持する、段階と、VMMが第1仮想マシンのVFに対応するVLANサブインタフェースを生成するように、デバイス管理モジュールによって、通知メッセージをVMMへ送信する段階であって、第1仮想マシンのVFに対応するVLANサブインタフェースは、第1仮想マシンのVFと同一のVLAN識別子を有する、段階とを有する。
第3態様によれば、本発明の一実施形態は、クラウドコンピューティングシステムを提供する。クラウドコンピューティングシステムは、クラウド管理プラットフォームと、第1態様に記載されるホストとを備える。クラウド管理プラットフォームは、ホスト上で第1仮想マシンを生成し、第1仮想マシンの生成に成功した後に、第1仮想マシンのVFに対応するVLANサブインタフェースを生成するようにホストのVMMに命令するように構成される。第1仮想マシンのVFに対応するVLANサブインタフェースは、第1仮想マシンのVFと同一のVLAN識別子を有する。
第4態様によれば、本発明の一実施形態は、上述の装置、方法、およびシステムに対応して、ホストを提供する。ホストは、第1態様において規定されるホストを実現する機能を有する。この機能は、ハードウェアによって実現され得るか、または、対応するソフトウェアをハードウェアが実行することによって実現され得る。ハードウェアまたはソフトウェアは、上述の機能に対応する1または複数のモジュールを有する。具体的には、ホストは、第1プロセッサ、第1メモリ、および少なくとも1つのネットワークインタフェースカードを備える。ネットワークインタフェースカードは、第2プロセッサ、第2メモリ、および少なくとも2つのネットワークポートを有し、少なくとも1つのネットワークインタフェースカードにおける第1ネットワークポートおよび第2ネットワークポートは、ネットワークインタフェースカード仮想化機能をサポートし、第1ネットワークポートは、少なくとも1つのPFおよび複数のVFに対応し、VLAN識別子が複数のVFのために構成され、VFのVLAN識別子は互いに異なり、第1メモリおよび第2メモリは命令を記憶し、第1プロセッサは、第1仮想マシンの機能を実現するために、第1メモリにおける第1の命令を実行し、第1仮想マシンは、第1ネットワークポートの少なくとも1つのVFに接続され、第1プロセッサは、VLANサブインタフェースの機能を実現するために、第1メモリにおける第2の命令を実行し、第1プロセッサは、仮想ネットワーク機能モジュールの機能を実現するために、第1メモリにおける第3の命令を実行し、第2プロセッサは、スイッチング装置の機能を実現するために、第2メモリにおける命令を実行するように構成され、第1仮想マシンは、第1ネットワークポートの少なくとも1つのVFに接続され、ホストは、複数のVLANサブインタフェースを備え、複数のVLANサブインタフェースの数は、第1ネットワークポートのVFの数と同一であり、複数のVLANサブインタフェースは、第1ネットワークポートのVFと一対一の対応関係にあり、VLANサブインタフェースは、VLANサブインタフェースに対応するVFと同一のVLAN識別子を有し、第1ネットワークポートおよび第2ネットワークポートは、ネットワークケーブルを使用することによって接続され、第1プロセッサは、第1仮想マシンに接続されるVFを使用することによってデータパケットを第2仮想マシンへ送信する段階であって、データパケットは、データパケットを送信するVFのVLAN識別子と、第2仮想マシンのアドレスとを保持する、段階を実行するために、第1メモリにおける第1の命令を実行するように構成され、第2プロセッサは、データパケットを受信する段階と、ネットワークケーブルを使用することによってデータパケットを第2ネットワークポートへ強制的に転送する段階とを実行するために、第2メモリにおける命令を実行するように構成され、第2プロセッサは、データパケットを第1ネットワークポートから受信する段階と、データパケットに保持されるVLAN識別子に従って、VLAN識別子によって識別されるVLANサブインタフェースへデータパケットを送信する段階とを実行するために、第2メモリにおける命令を実行するように構成され、第1プロセッサは、データパケットを受信する段階と、データパケットにおけるVLAN識別子を除去する段階と、データパケットを仮想ネットワーク機能モジュールへ送信する段階とを実行するために、第1メモリにおける第2の命令を実行するように構成され、第1プロセッサは、変更されたデータパケットに対してネットワーク機能処理を実行する段階と、第2仮想マシンのアドレスに従って、処理されたデータパケットを第2仮想マシンへ送信する段階とを実行するために、第1メモリにおける第3の命令を実行するように構成される。
可能な設計において、ホストおよびクラウド管理プラットフォームは、汎用または専用のサーバによって実現される。サーは、プロセッサ、メモリ、システムバス、および入出力インタフェースを備える。プロセッサは、システムにおけるホスト/クラウド管理プラットフォームの対応する機能をサポートするように構成される。入出力インタフェースは、クラウドコンピューティングシステムにおける別のコンポーネントと通信するように構成される。プロセッサは、メモリに記憶された命令を実行する。
第5態様によれば、本発明の一実施形態は、上述のホストによって使用されるコンピュータソフトウェア命令を記憶するように構成されるコンピュータ記憶媒体を提供する。コンピュータソフトウェア命令は、上述の態様を実行するように設計されたプログラムを含む。
第6態様によれば、本発明の一実施形態は、上述のネットワークインタフェースカードにおけるスイッチング装置によって使用されるコンピュータソフトウェア命令を記憶するように構成される別のコンピュータ記憶媒体を提供する。コンピュータソフトウェア命令は、上述の態様を実行するように設計されたプログラムを含む。
第7態様によれば、本発明の一実施形態は、コンピュータプログラムを提供する。物理サーバがコンピュータプログラムを実行するとき、物理サーバは、ホストにおける仮想マシン、VLANサブインタフェース、および仮想ネットワーク機能モジュールの機能を実行する。
第8態様によれば、本発明の一実施形態は、コンピュータプログラムを提供する。ネットワークインタフェースカードにおけるプロセッサまたはプログラマブル論理回路がコンピュータプログラムを実行するとき、ネットワークインタフェースカードは、上述の態様におけるスイッチング装置の機能を実行する。
結論として、仮想マシンは、仮想マシンに接続されるVFからデータパケットを送信し、第1ネットワークポートのスイッチング装置は、データパケットを第2ネットワークポートへ強制的に転送し、第2ネットワークポートのスイッチング装置は、データパケットに保持されるVLAN識別子に従って、VMM上のVLANサブインタフェースへデータパケットを送信し、VLANサブインタフェースは、データパケットを仮想ネットワーク機能モジュールへ伝達し、仮想ネットワーク機能モジュールは、豊富なネットワーク機能処理をデータパケットに提供する。ネットワークインタフェースカードパススルーに基づいて、仮想マシンは、パススルーVFからデータパケットを送信した後に、上述の方式で、VMM上の仮想ネットワーク機能モジュールへデータパケットを送信し得る。ソフトウェアモジュールを使用することによって、豊富なネットワーク機能がユーザに提供され、これにより、データパケットに対するネットワーク機能処理を実現する。
本発明の実施形態における、または従来技術における技術的解決法をより明確に説明すべく、実施形態または従来技術を説明するために必要な添付の図面を以下で簡潔に説明する。明らかに、以下の説明における添付の図面は、本発明のいくつかの実施形態を示すものに過ぎず、当業者であれば、これら添付の図面から、創造的努力なしで、他の実装を導出できる。これらの実施形態または実装はすべて、本発明の保護範囲内に属する。
本発明の一実施形態に係るホスト上の仮想化構造の概略図である。
本発明の一実施形態に係るネットワークインタフェースカードパススルーのシナリオにおけるホスト上の仮想化構造の概略図である。
本発明の一実施形態に係るホスト上の別の仮想化アーキテクチャの概略図である。
本発明の一実施形態に係る仮想マシン生成プロセスの概略図である。
本発明の一実施形態に係るクラウドコンピューティングシステムにおけるパケット処理方法の概略フローチャートである。
本発明の一実施形態に係るコンピュータデバイスのハードウェアの概略構造図である。
本発明の一実施形態に係るクラウドコンピューティングシステムの概略構造図である。
本発明の実施形態において説明されるネットワークアーキテクチャおよびサービスシナリオは、本発明の実施形態における技術的解決法をより明確に説明するために使用されるものであり、本発明の実施形態において提供される技術的解決法に対していかなる限定も構成しない。当業者であれば、ネットワークアーキテクチャの進歩、および、新しいサービスシナリオの出現に伴い、本発明の実施形態において提供される技術的解決法は、同様の技術的問題にも適用されることを理解するであろう。
図1Aに示されるように、図1Aは、本発明の一実施形態に係るホスト上の仮想化構造の概略図である。ホストは物理サーバである。物理サーバの最下層は、ハードウェア層である。ハードウェア層は主に、中央演算処理装置(CPU、Central Processing Unit)、メモリ、ハードディスク、およびネットワークインタフェースカードなどのハードウェアリソースを含む。サーバ仮想化は、仮想化ソフトウェア(例えば、VMWare ESXまたはCitrix XEN)を使用することによって、物理サーバ上で、複数の仮想マシン(Virtual Machine、VM)の仮想化動作環境を実現する。仮想化環境を実現するためにサーバ上にインストールされるソフトウェア層は、仮想マシンモニタ(Virtual Machine Monitor、VMM)と称される。ハードウェア層において動作するVMMは、ハードウェア層における、ハードウェアリソースのスケジューリング、割り当て、および管理を担う。複数の仮想マシンVMは、VMM上で動作する。VMMは、仮想化されたCPU、メモリ、ストレージ、IOデバイス(ネットワークインタフェースカードなど)、およびイーサネット(登録商標)スイッチなどのハードウェア環境を各仮想マシンに提供する。これにより、複数の仮想マシンが、互いから隔離される方式で動作することを保証する。
仮想化動作環境において、VMMは、仮想ネットワークインタフェースカード(Virtual Network Interface Card、vNIC)を各仮想マシンのために生成し、仮想スイッチvSwitchは、仮想マシンの間、および、仮想マシンと外部ネットワークとの間の通信機能を提供する。各仮想マシンの仮想ネットワークインタフェースカードは、vSwitchの論理ポートに対応する。ホストの物理ネットワークインタフェースカードは、vSwitchを外部物理スイッチに接続するポートに対応する。仮想マシンによって送信または受信されるデータパケットがVMMをパススルーするとき、VMM上の仮想ネットワーク機能モジュールは、VMMをパススルーするデータパケットに対して、ネットワーク機能処理を実行する。仮想ネットワーク機能モジュールは、ソフトウェアモジュールであり、必要に応じてアップデートすることができる。従って、VMM上の仮想ネットワーク機能モジュールは、ユーザのために豊富なネットワーク機能を提供できる。
物理ネットワークインタフェースカードのネットワークポートは、仮想化能力をサポートする。これは、シングルルート入出力仮想化(Single‐Root I/O Virtualization、SR‐IOV)、またはマルチルート入出力仮想化(Multi Root Input/Output Virtualization、MR‐IOV)を用いることによって実現できる。本発明のこの実施形態において、説明のための例としてSR‐IOV技術を使用する。SR‐IOV技術は、ハードウェアベースの仮想化の解決法である。これにより、PCIe(Peripheral Component Interconnect Express、ペリフェラルコンポーネントインターコネクトエクスプレス)デバイスを仮想マシンの間で効率的に共有できる。さらに、SR‐IOV技術がハードウェアにおいて実現され、これにより、効率的なI/Oパフォーマンスを達成できる。
標準化組織PCI‐SIG(Peripheral Component Interconnect Special Interest Group、ペリフェラルコンポーネントインターコネクトスペシャルインタレストグループ)が、SR‐IOVの仕様を定義している。SR‐IOVの仕様については、http://www.pcisig.comを参照されたい。
SR‐IOV技術を使用することによって、単一のI/Oリソースが、ホスト上の複数の仮想マシンによって共有され得る。このようにして、各仮想マシンは、同一のハードウェアリソースにアクセスできる。従って、SR‐IOVが有効化されるPCIeデバイス(例えば、物理ネットワークインタフェースカードのネットワークポート)は、複数の別個のデバイスとして表示され得る。表示される別個のデバイスの各々は、独立したPCIe構成空間を有する。SR‐IOVをサポートする物理ネットワークインタフェースカードを例として使用する。物理ネットワークインタフェースカードは、ネットワークポートを含み、各ネットワークポートについて、SR‐IOV機能を有効化/無効化できる。SR‐IOV機能が有効化されるネットワークポートは、少なくとも1つの物理ファンクション(Physical Function、PF)および複数の仮想ファンクション(Virtual Function、VF)に対応する。既存のSR‐IOVの仕様によれば、各PFは、PFに関連するVFを最大で64,000個有し得る。VFが生成された後、VFは、ホスト上の仮想マシンに直接割り当てられて使用され得て、これにより、複数の仮想マシンは、複数の仮想マシンに接続される少なくとも1つのVFを使用することによってPCIeデバイスを共有する。
図1Bに示されるように、図1Bは、本発明の一実施形態に係る、ネットワークインタフェースカードパススルーのシナリオにおけるホスト上の仮想化構造の概略図である。図1Aと図1Bとの間の違いとして、物理ネットワークインタフェースカードは、シングルルートIO仮想化をサポートし、物理ネットワークインタフェースカードのネットワークポートは、少なくとも1つのPFおよび複数のVFに対応し、VFは、物理ネットワークインタフェースカードの物理リソース(例えば、ネットワークインタフェースカードのポート)を共有できる。
ホスト上の仮想マシンが、パススルーVFを使用することによってデータパケットを送信するとき、仮想マシンによって送信されるデータパケットは、仮想マシン上にインストールされたVFドライバを使用することによって、ネットワークインタフェースカードのVFへ直接伝達される。その結果、データパケットは、VMM上の仮想ネットワーク機能モジュールをパススルーできない。ネットワークインタフェースカードのスイッチング装置が有するMACテーブル容量は有限であり、処理能力は有限であるため、制約なく機能拡張を実行することができない。従って、ネットワークインタフェースカードは、豊富なネットワーク機能を提供できない。可能なシナリオにおいて、スイッチング装置は、仮想イーサネット(登録商標)ブリッジおよび分類器である。
本発明のこの実施形態は、ネットワークインタフェースカードパススルーのシナリオに基づいていることに注意すべきである。上述のネットワークインタフェースカードパススルーは、SR‐IOVまたはMR‐IOVを用いることによって実現され得るが、本発明のこの実施形態は、これに限定を課さない。
図2に示されるように、図2は、本発明の一実施形態に係るホスト上の別の仮想化アーキテクチャの概略図である。ホストは、VMMおよび少なくとも1つの物理ネットワークインタフェースカードを備える。少なくとも1つの仮想マシンは、ホスト上で動作する。少なくとも1つの物理ネットワークインタフェースカードは、少なくとも3つのネットワークポートを有する。第1ネットワークポートおよび第2ネットワークポートは、ネットワークインタフェースカード仮想化機能をサポートする。第3ネットワークポートは、ホストの外部物理スイッチに接続され、ホストを跨ぐネットワークトラフィックの送信および受信を担う。第1ネットワークポートは、少なくとも1つのPFおよび少なくとも2つのVFに仮想化される(図2において、説明のための例として、2つのVFが使用される)。VFドライバは、第1仮想マシンおよび第2仮想マシンにインストールされる。第1仮想マシンおよび第2仮想マシンは、少なくとも1つのVFに別個に接続される。第1ネットワークポートおよび第2ネットワークポートは、ネットワークケーブルを使用することによって直接接続される。第2ネットワークポートのPFは、VMM上のVLANサブインタフェースに接続される。従って、仮想マシンから送信されるすべてのトラフィックは、ネットワークケーブを使用することによって、第2ネットワークポートへ迂回され、第2ネットワークポートは、トラフィックをVMM上の仮想ネットワーク機能モジュールへ送り返す。ネットワークケーブルは、具体的には、ツイストペア、光ファイバ、同軸ケーブル、または同様のものを含む、任意の媒体のケーブルであり得る。本発明のこの実施形態において、第1ネットワークポートおよび第2ネットワークポートは、ネットワークケーブルを使用することによって直接接続され、第1ネットワークポートのVFに接続される仮想マシンによって送信されるデータパケットを第2ネットワークポートへ強制的に転送し、これにより、データパケットの伝送経路は必然的に、VMM上の仮想ネットワーク機能モジュールをパススルーする。このように、ネットワークインタフェースカードパススルーに基づいて、VMM上の仮想ネットワーク機能モジュールは、豊富な仮想ネットワーク機能を提供する。
当業者であれば、図2において、2つのVFおよび2つのVLANサブインタフェースは、説明のための例として使用されているに過ぎないことを理解し得る。実際の製品の実装において、ネットワークインタフェースカード仮想化機能をサポートするネットワークインタフェースカードは、少なくとも1つのPFおよび複数のVFに仮想化され得る。VFの数は、2つに限定されるものではなく、これに対応して、VLANサブインタフェースの数も2つに限定されるものではない。
本発明の実施形態において、ネットワークインタフェースカード仮想化は、具体的には、ネットワークインタフェースカードのハードウェア仮想化であり得る。
本発明の実施形態において、第1ネットワークポートは、パススルーネットワークポートと称され、第2ネットワークポートは、代替的なネットワークポートと称され、第3ネットワークポートは、サービスネットワークポートと称される。
パススルーネットワークポートの場合、VFは、標準のSR‐IOV/MR‐IOV技術を使用することによって、パススルー方式で仮想マシンに提供され、異なる仮想ローカルエリアネットワーク(Virtual Local Area Network、VLAN)識別子が異なるVFのために設定され、現在のネットワークポートのVFを使用する複数の仮想マシンの間の直接的な通信は回避され、仮想マシンのデータパケットは、ネットワークケーブルから強制的に送信される。具体的には、VLAN識別子は、ブロードキャストドメインを表す。従って、異なるVLAN識別子が異なるVFのために設定されるとき、仮想マシンに接続されるVFは、異なるブロードキャストドメインにある。ブロードキャストパケットは、VLAN上の仮想マシンのみへ送信でき、従って、異なるVLAN識別子をVFのために設定することによって、仮想マシンから送信されるブロードキャストパケットを、仮想マシン自身およびPFのみによって受信できる。VFのためにVLAN識別子を設定する間、VLAN識別子がホスト範囲内において一意であることが保証される必要がある。異なるホスト上のVLAN識別子は、同一であり得る。
VLANサブインタフェースは、VMM上で生成される。VLANサブインタフェースの数は、パススルーネットワークポートのVFの数と同一であり、VLANサブインタフェースのVLAN識別子は、パススルーネットワークポートのVFのVLAN識別子と一対一の対応関係にある。代替的なネットワークポート上で、パススルーネットワークポートに接続されるネットワークポートは、PFであり得るか、または、プロミスキャスモード(promiscuous mode)に設定されるVFであり得る。VLANサブインタフェースは、仮想ブリッジであり、レイヤ2転送機能を有する。
図2に示される実施形態において、第1仮想マシンによって、データパケットを第2仮想マシンへ送信することは、同一のホスト内における2つの仮想マシン間の通信であることに注意すべきである。当業者であれば、第2仮想マシンおよび第1仮想マシンは、代替的に、異なるホストに配置され得ることを理解するであろう。この場合、第1仮想マシンは、ホストを跨ぐ方式で第2仮想マシンと通信する。
図2に示されるホストの仮想化構造に関連して、本発明のこの実施形態において、データパケット処理のプロセスは、第1仮想マシンがデータパケットを第2仮想マシンへ送信する例を使用して説明される。第1仮想マシンは、第1仮想マシンに接続されるVFを使用することによって、データパケットを第2仮想マシンへ送信する。データパケットは、データパケットを送信するVFのVLAN識別子を保持する。第1ネットワークポートのスイッチング装置は、データパケットを受信し、ネットワークケーブルを使用することによってデータパケットを第2ネットワークポートへ強制的に転送する。第2ネットワークポートのスイッチング装置は、データパケットに保持されるVLAN識別子に従って、データパケットと同一のVLAN識別子を有するVLANサブインタフェースへデータパケットを送信する。VLANサブインタフェースは、データパケットを受信し、データパケットにおけるVLAN識別子を除去し、データパケットを仮想ネットワーク機能モジュールへ送信する。仮想ネットワーク機能モジュールは、変更されたデータパケットに対してネットワーク機能処理を実行し、処理されたデータパケットを第2仮想マシンへ送信する。ネットワークインタフェースカードパススルーのシナリオにおいて、仮想マシンは、パススルーVFからデータパケットを送信した後に、上述の方式で、VMM上の仮想ネットワーク機能モジュールへデータパケットを送信し得る。ソフトウェアモジュールを使用することによって、豊富な仮想ネットワーク機能がユーザに提供され、これにより、データパケットに対する仮想ネットワーク機能処理を実現する。
第1仮想マシンがデータパケットを第2仮想マシンへ送信する上述のプロセスにおいて、第1仮想マシンに接続されるVFのVLAN識別子は、VMMにおける対応するVLANサブインタフェースのVLAN識別子と同一である。図3に示されるように、図3は、本発明の一実施形態に係る仮想マシン生成プロセスの概略図である。このプロセスは、パススルーVFを有する仮想マシンを生成し、パススルーVFに対応するVLANサブインタフェースを生成するために使用される。
段階301:コンピューティング管理モジュールは、仮想マシン生成要求を受信する。ここで、仮想マシン生成要求は、パススルーVFを有する仮想マシンを生成するために使用される。
あるシナリオにおいて、仮想マシン生成プロセスは、管理者またはユーザによって開始され得る。管理者またはユーザは、端末を使用することによって、外部に提示されるクラウド管理プラットフォームのインタフェースにログインして、生成予定の仮想マシンの仕様を選択し、仮想マシン生成要求をコンピューティング管理モジュールに対して発行する。仮想マシン生成要求は、生成予定の仮想マシンのパラメータを保持し、パラメータは、生成予定の仮想マシンがパススルーVFを有することを示す情報を含む。
段階302:コンピューティング管理モジュールは、割り当て要求をデバイス管理モジュールへ送信し、生成予定の仮想マシンに対するVFの割り当てを要求する。
段階303:デバイス管理モジュールは、アイドルVFの識別子をコンピューティング管理モジュールへ戻す。ここで、アイドルVFとは、ホスト上にあり、かつ、仮想マシンに割り当てられていないVFである。
段階304:コンピューティング管理モジュールは、VLAN識別子をVFに割り当てる。
段階305:コンピューティング管理モジュールは、VLAN識別子をデバイス管理モジュールへ送信し、デバイス管理モジュールは、割り当てられたVFのために、VLAN識別子を構成する。
段階306:デバイス管理モジュールは、仮想マシン生成のための情報をVMMへ送信する。ここで、仮想マシン生成のための情報は、VFのVLAN識別子を含む。
段階306:VMMは、仮想マシンを生成し、VFを仮想マシンのパススルーネットワークポートとして設定する。
段階307:仮想マシンの生成に成功した後、コンピューティング管理モジュールは、VLANサブインタフェース生成要求をデバイス管理モジュールへ送信する。ここで、VLANサブインタフェース生成要求は、VFのVLAN識別子を保持する。
段階308:デバイス管理モジュールは、VLANサブインタフェース生成要求を受信し、VMM上で、VFに対応するVLANサブインタフェースを生成し、VLANサブインタフェースのVLAN識別子をVFのものと同一となるように構成する。
VLANサブインタフェースは、Linux(登録商標)システムによって提供される仮想ネットワークデバイスであり、Linux(登録商標)システムのipコマンドに従って直接生成され得ることに注意すべきである。例えば、VLAN識別子が100であるVLANサブインタフェースを生成するためのコマンドは、ip link add link eth0 name vlan100 type vlan id 100である。
段階309:コンピューティング管理モジュールは、VLANサブインタフェース生成応答メッセージを受信し、通知メッセージをネットワーク管理モジュールへ送信し、生成されたVLANサブインタフェースを、ットワーク管理モジュールに対応するブリッジに接続する。
仮想マシンは複数のパススルーVFを有し得ることに注意すべきである。特定の生成プロセスは、上述の段階と同様であるが、異なるVLAN識別子がパススルーVFのために設定され、パススルーVFと一対一の対応関係にあるVLANサブインタフェースがVMM上で生成される。
図4に示されるように、図4は、本発明の一実施形態に係るクラウドコンピューティングシステムにおけるパケット処理方法の概略フローチャートである。本発明のこの実施形態において、ホストA上の第1仮想マシンがホストB上の第2仮想マシンと通信する例を説明のために使用する。
段階401:ホストA上の第1仮想マシンは、第1仮想マシンに接続されるVFを使用することによってデータパケットを送信する。ここで、データパケットの宛先アドレスは、第2仮想マシンのアドレスであり、データパケットは、データパケットを送信するVFのVLAN識別子を保持する。
段階402:パススルーネットワークポートのスイッチング装置(第1スイッチング装置)は、データパケットを受信し、受信されたデータパケットをブロードキャストする。パススルーネットワークポート上のVFのVLAN識別子は互いに異なり、VFは、異なる仮想ローカルエリアネットワーク上に配置される。従って、パススルーネットワークポート上の他のVFは、ブロードキャストデータパケットを受信せず、データパケットは、ネットワークケーブルを使用することによって、代替的なネットワークポートへ強制的に送信される。
パススルーネットワークポートおよび代替的なネットワークポートは、仮想イーサネット(登録商標)ポートアグリゲータ(Virtual Ethernet(登録商標) Port Aggregator、VEPA)モードであることに注意すべきである。VEPAモードは、受信されたデータパケットを強制的に転送するようにパススルーネットワークポートおよび代替的なネットワークポートに命令するために使用される。VEPAモードは、IEEE802.1Qbg規格において規定される。
段階403:代替的なネットワークポートのスイッチング装置(第2スイッチング装置)は、パススルーネットワークポートからデータパケットを受信し、データパケットに保持されるVLAN識別子に従って、VMM上にあり、かつ、データパケットと同一のVLAN識別子を有するVLANサブインタフェースへデータパケットを送信する。
段階404:VLANサブインタフェースは、データパケットを受信し、データパケットにおけるVLAN識別子を除去し、データパケットを第1仮想ネットワーク機能モジュールへ送信する。
段階405:第1仮想ネットワーク機能モジュールは、データパケットに対してネットワーク機能処理を実行し、データパケットをサービスネットワークポートへ送信する。ホストAのサービスネットワークポートは、受信されたデータパケットをホストの外部ネットワークへ送信する。データパケットは、第2仮想マシンが配置されるホストBのサービスネットワークポートへルーティングされ、ホストBのサービスネットワークポートは、データパケットを受信した後、ホストBの第2仮想ネットワーク機能モジュールへデータパケットを送信する。
具体的には、ホストAの第1仮想ネットワーク機能モジュールと、ホストBの第2仮想ネットワーク機能モジュールとの間にトンネルが確立され得る。トンネル技術の使用により、データパケットは、ホストAとホストBとの間のネットワークを使用することによって、ホストBの仮想ネットワーク機能モジュールに伝達される。
段階406:ネットワーク機能処理を実行した後、ホストBの第2仮想ネットワーク機能モジュールは、第2仮想マシンに接続されるVFに対応するVLANサブインタフェースへデータパケットを送信する。ここで、第2仮想マシンに接続されるVFは、データパケットを受信するVLANサブインタフェースと同一のVLAN識別子を有する。
可能なシナリオにおいて、VLANサブインタフェースは、ソフトウェアによって実現される仮想ブリッジに接続され、仮想ブリッジは、データパケットをVLANサブインタフェースへ送信するために、レイヤ2転送機能を提供することに注意すべきである。同一のVLAN識別子が、VLANサブインタフェース、および、対応するVFのために設定される。従って、パススルー方式で第2仮想マシンのために提供されるVFは、データパケットを受信し得る。
段階407:VLANサブインタフェースは、VLAN識別子をデータパケットに追加し、データパケットを代替的なネットワークポートへ送信する。ここで、VLAN識別子は、VLANサブインタフェースのVLAN識別子である。代替的なネットワークポートに接続されるVLANサブインタフェースは、異なるVLAN識別子を有するので、代替的なネットワークポートのスイッチング装置(第4スイッチング装置)は、ネットワークケーブルを使用することによって、データパケットをパススルーネットワークポートへ強制的に転送する。
段階408:パススルーネットワークポートのスイッチング装置(第3スイッチング装置)は、データパケットに保持されるVLAN識別子に従って、VLAN識別子によって識別されるVFへデータパケットを送信する。
段階409:VFは、データパケットにおけるVLAN識別子を除去し、データパケットを第2仮想マシンへ送信する。
本発明のこの実施形態において、パススルーネットワークポート、代替的なネットワークポート、およびサービスネットワークポートは、同一のネットワークインタフェースカードに配置され得るか、または、異なるネットワークインタフェースカードに独立して配置され得ることに注意すべきである。本発明のこの実施形態は、これに限定を課すものではない。さらに、パススルーネットワークポートおよび代替的なネットワークポートが同一のネットワークインタフェースカードに配置されるとき、パススルーネットワークポートおよび代替的なネットワークポートの各々は独立したスイッチング装置を有し得るか、または、パススルーネットワークポートおよび代替的なネットワークポートは同一のスイッチング装置を共有し得る。
具体的な実装のシナリオにおいて、本発明のこの実施形態におけるVLANサブインタフェースは、Open vSwitchであり得ることに注意すべきである。
本発明のこの実施形態において、パススルーネットワークポートのVFは、異なるVLAN識別子を有する。パススルーネットワークポートのVFと一対一の対応関係にあるVLANサブインタフェースがVMM上で設定される。各VLANサブインタフェースは、対応するVFと同一のVLAN識別子を有する。仮想マシンがVFからデータパケットを送信した後、データパケットは、代替的なネットワークポートのスイッチング装置へ強制的に転送される。なぜなら、パススルーネットワークポートおよび代替的なネットワークポートは、ネットワークケーブルを使用することによって直接接続され、データパケットは、VFのVLAN識別子を保持するからである。代替的なネットワークポートのスイッチング装置は、データパケットに保持されるVLAN識別子に従って、データパケットと同一のVLAN識別子を有するVLANサブインタフェースへデータパケットを送信し、これにより、データパケットはVMMへ送信される。さらに、VMM上の仮ネットワーク機能モジュールは、ネットワーク機能処理を実行し、処理されたデータパケットを第2仮想マシンへ送信する。ネットワークインタフェースカードパススルーのシナリオにおいて、データパケットは、上述の方式で、VMM上の仮想ネットワーク機能モジュールへ送信される。ソフトウェアモジュールを使用することによって、ネットワーク機能の柔軟性が実現され、豊富なネットワーク機能が提供される。
図4に対応する実施形態は、2つのホスト上の2つの仮想マシン間でデータパケットを伝送するプロセスを提供する。当業者であれば、データパケットの送信元仮想マシンおよび宛先仮想マシンは、同一のホストに配置され得ることを理解するであろう。この場合、ホスト上の仮想ネットワーク機能モジュールは、ネットワーク機能処理をデータパケットに対して実行した後、第2仮想マシンに接続されるVFに対応するVLANサブインタフェースへ、処理されたデータパケットを送信する。VLANサブインタフェースは、データパケットを第2仮想マシンへ送信する。
ホストおよびクラウド管理プラットフォームは、汎用コンピュータデバイスを使用し得る。例を以下に挙げる。
図5に示されるように、図5は、本発明の一実施形態に係るコンピュータデバイスのハードウェアの概略構造図である。コンピュータデバイス500は、少なくとも1つのプロセッサ501、通信バス502、メモリ503、および少なくとも1つの通信インタフェース504を備える。
プロセッサ501は、本発明の解決法においてプログラム実行を制御するように構成される、汎用中央演算処理装置(CPU)、マイクロプロセッサ、特定用途向け集積回路(application‐specific integrated circuit、ASIC)、または、1もしくは複数の集積回路であり得る。
通信バス502は、上述の複数のコンポーネントの間で情報を伝達する経路を含み得る。通信インタフェース504は、トランシーバなどの装置を使用して、別のデバイス、または、イーサネット(登録商標)、無線アクセスネットワーク(RAN)、もしくは無線ローカルエリアネットワーク(Wireless Local Area Networ、WLAN)などの通信ネットワークと通信する。
メモリ503は、リードオンリメモリ(read‐only memory、ROM)もしくは静的な情報および命令を記憶できる別の種類の静的ストレージデバイス、または、ランダムアクセスメモリ(random access memory、RAM)もしくは情報および命令を記憶できる別の種類の動的ストレージデバイス、または、電気的消去可能プログラマブルリードオンリメモリ(Electrically Erasable Programmable Read‐Only Memory、EEPROM)、または、コンパクトディスクリードオンリメモリ(Compact Disc Read‐Only Memory、CD‐ROM)もしくは別のコンパクトディスクストレージ、または、光ディスクストレージ(コンパクトディスク、レーザディスク、光ディスク、デジタルバーサタイルディスク、ブルーレイディスク、もしくは同様のものを含む)、または、磁気ディスク記憶媒体もしくは別の磁気ストレージデバイス、または、コンピュータがアクセスできる命令もしくはデータ構造の形式で、所望のプログラムコードを保持もしくは記憶するために使用できる任意の他の媒体であり得る。ただし、これらに限定を課すものではない。メモリは、単独で存在し得て、バスを使用することによってプロセッサに接続される。代替的に、メモリはプロセッサと一体化され得る。
メモリ503は、本発明における解決法を実行するためのアプリケーションプログラムコードを記憶するように構成され、プロセッサ501は、実行を制御する。プロセッサ501は、メモリ503に記憶されたアプリケーションプログラムコードを実行するように構成される。
具体的な実装において、一実施形態において、プロセッサ501は、例えば、図5におけるCPU0およびCPU1など、1または複数のCPUを含んでよい。
具体的な実装において、一実施形態において、コンピュータデバイス500は、複数のプロセッサ、例えば、図5におけるプロセッサ501およびプロセッサ508を備えてよい。プロセッサの各々は、シングルコプロセッサであり得るか、または、マルチコプロセッサであってよい。ここで、プロセッサは、1もしくは複数のデバイス、回路、および/または、データ(例えば、コンピュータプログラム命令)を処理するように構成されるプロセッシングコアであってよい。
具体的な実装において、一実施形態において、コンピュータデバイス500はさらに、出力デバイス505および入力デバイス506を備えてよい。出力デバイス505は、プロセッサ501と通信し、複数の方式で情報を表示できる。例えば、出力デバイス505は、液晶ディスプレイ(liquid crystal display、LCD)、発光ダイオード(light emitting diode、LED)ディスプレイデバイス、陰極線管(cathode ray tube、CRT)ディスプレイデバイス、プロジェクタ(projector)、または同様のものであってよい。入力デバイス506は、プロセッサ501と通信し、複数の方式でユーザ入力を受信してよい。例えば、入力デバイス506は、マウス、キーボード、タッチスクリーンデバイス、センシングデバイス、または同様のものであってよい。
コンピュータデバイス500は、汎用コンピュータデバイスまたは専用コンピュータデバイスであってよい。具体的な実装において、コンピュータデバイス500は、デスクトップコンピュータ、ポータブルコンピュータ、ネットワークサーバ、パーソナルデジタルアシスタント(Personal Digital Assistant、PDA)、携帯電話、タブレットコンピュータ、無線端末デバイス、通信デバイス、組み込みデバイス、または、図5における構造と同様の構造を有するデバイスであってよい。本発明のこの実施形態は、コンピュータデバイス500の種類に限定を課さない。
図2におけるクラウド管理プラットフォームおよびホストは、図5に示されるデバイスであってよい。メモリは、ホストおよびクラウド管理プラットフォームの機能を実現するための1または複数のソフトウェアモジュールを記憶する。ホストおよびクラウド管理プラットフォームは、プロセッサ、および、メモリにおけるプログラムコードを使用することによって、本発明の実施形態において開示されるパケット処理方法を実現し得る。
図5に示されるコンピュータデバイスは、クラウドコンピューティングシステム内の部分の、可能なハードウェア実装を提供するに過ぎないことに注意すべきである。システム内の部分の機能の違いまたは変形に従って、システム内の部分の機能と一致するように、コンピュータデバイスのハードウェアコンポーネントが追加または削除され得る。
さらに、図5に示されるハードウェア装置と同様に、上述の実施形態におけるネットワークインタフェースカードは、プロセッサおよびメモリを含む。ネットワークインタフェースカードにおけるプロセッサは、上述のスイッチング装置の機能を実現するために、メモリにおける命令を実行する。本発明のこの実施形態においては、詳細を再度説明しない。
またさらに、図6に示されるように、図6は、本発明の一実施形態に係るクラウドコンピューティングシステムの概略構造図である。クラウドコンピューティングシステムは、少なくとも1つのホスト601およびクラウド管理プラットフォーム602を備える。ホスト601の構造は図2に示される。
ホスト601は、仮想マシンモニタVMM、および、少なくとも1つのネットワークインタフェースカードを備える。第1仮想マシンは、ホスト601上で動作する。VMMは、複数のVLANサブインタフェースおよび仮想ネットワーク機能モジュールを有し、少なくとも1つのネットワークインタフェースカードは、スイッチング装置および少なくとも3つのネットワークポートを有する。第1ネットワークポートおよび第2ネットワークポートは、ネットワークインタフェースカード仮想化機能をサポートする。第1ネットワークポートは、少なくとも1つのPFおよび複数のVFに対応する。VLAN識別子は、複数のVFのために構成され、VFのVLAN識別子は互いに異なる。第1仮想マシンは、第1ネットワークポートの少なくとも1つのVFに接続される。VLANサブインタフェースの数は、第1ネットワークポートのVFの数と同一であり、VLANサブインタフェースは、第1ネットワークポートのVFと一対一の対応関係にある。VLANサブインタフェースは、VLANサブインタフェースに対応するVFと同一のVLAN識別子を有する。第1ネットワークポートおよび第2ネットワークポートは、ネットワークケーブルを使用することによって接続される。
クラウド管理プラットフォーム602は、ホスト上で第1仮想マシンを生成し、第1仮想マシンの生成に成功した後に、第1仮想マシンのVFに対応するVLANサブインタフェースを生成するようにホストのVMMに命令するように構成される。第1仮想マシンのVFに対応するVLANサブインタフェースは、第1仮想マシンのVFと同一のVLAN識別子を有する。
第1仮想マシンは、第1仮想マシンに接続されるVFを使用することによって、データパケットを第2仮想マシンへ送信するように構成される。データパケットは、データパケットを送信するVFのVLAN識別子と、第2仮想マシンのアドレスとを保持する。
第1ネットワークポートのスイッチング装置は、データパケットを受信し、ネットワークケーブルを使用することによってデータパケットを第2ネットワークポートへ強制的に転送するように構成される。
第2ネットワークポートのスイッチング装置は、データパケットを第1ネットワークポートから受信し、データパケットに保持されるVLAN識別子に従って、データパケットと同一のVLAN識別子を有するVLANサブインタフェースへデータパケットを送信するように構成される。
VLANサブインタフェースは、データパケットを受信し、データパケットにおけるVLAN識別子を除去し、データパケットを仮想ネットワーク機能モジュールへ送信するように構成される。
仮想ネットワーク機能モジュールは、変更されたデータパケットに対してネットワーク機能処理を実行し、処理されたデータパケットを送信するように構成される。処理されたデータパケットの宛先アドレスは、第2仮想マシンのアドレスである。
本発明の一実施形態はさらに、図2から図6におけるデバイスによって使用されるコンピュータソフトウェア命令を記憶するように構成されるコンピュータ記憶媒体を提供する。コンピュータソフトウェア命令は、上述の方法の実施形態を実行するように設計されたプログラムを含む。クラウドコンピューティングシステムにおけるパケット処理方法は、記憶されたプログラムを実行することによって実現され得る。
本発明の実施形態において提供される、クラウドコンピューティングシステムにおけるパケット処理方法、ホスト、およびシステムは、ネットワークインタフェースカードパススルーのシナリオに適用される。本発明の実施形態において開示されるパケット処理プロセスによれば、仮想マシンは、データパケットをパススルーVFから送信した後に、データパケットをVMM上の仮想ネットワーク機能モジュールへ送信し得る。ソフトウェアモジュールを使用することによって、豊富なネットワーク機能がユーザに提供され、これにより、データパケットに対するネットワーク機能処理を実現する。
本発明は、実施形態に関連して説明されるが、保護を請求する本発明の実施形態を実現するプロセスにおいて、当業者は、添付の図面、開示される内容、および、添付された特許請求の範囲を参照することによって、開示される実施形態の別の変形を理解および実現し得る。特許請求の範囲において、「備える」(comprising)という単語は、他の構成部分または段階を排除するものではない。単一のプロセッサまたは別のユニットが、特許請求の範囲に列挙される機能を実現し得る。複数の従属請求項において、互いに異なるいくつかの手段が記録されているが、このことは、これらの手段を組み合わせてより良い効果を生み出すことができないことを意味するものではない。
当業者であれば、本発明の実施形態は、方法、装置(デバイス)、またはコンピュータプログラム製品として提供され得ることを理解するはずである。従って、本発明は、ハードウェアのみの実施形態、ソフトウェアのみの実施形態、またはソフトウェアおよびハードウェアを組み合わせた実施形態の形式を使用し得る。さらに、本発明の実施形態は、コンピュータ利用可能プログラムコードを含む1または複数のコンピュータ利用可能記憶媒体(ディスクメモリ、CD‐ROM、光学メモリ、および同様のものを含むが、これらに限定されない)において実装されるコンピュータプログラム製品の形式を使用し得る。コンピュータプログラムは、適切な媒体に記憶/分配され、別のハードウェアと共に、ハードウェアの一部として、提供もしくは使用されるか、または、インターネット、もしくは別の有線もしくは無線の遠隔通信システムを使用することなどによって、別の割り当て形式も使用し得る。
本発明の実施形態におけるコンピュータプログラム命令は、特定の方式で動作するようにコンピュータまたは別のプログラマブルデータ処理デバイスに命令できるコンピュータ可読メモリに記憶され得る。コンピュータプログラム命令は、上述の実施形態におけるコンポーネントの機能を実現するために実行され得る。
これらのコンピュータプログラム命令はまた、コンピュータまたは別のプログラマブルデータ処理デバイス上にロードされて、一連の動作および段階がコンピュータまたは別のプログラマブルデバイス上で実行されるようにし得て、それにより、コンピュータにより実現される処理を生成する。従って、コンピュータまたは別のプログラマブルデバイスにおいて実行される命令は、フローチャートにおける1もしくは複数の処理、および/または、ブロック図における1もしくは複数のブロックの特定の機能を実現する段階を提供する。
本発明は、特定の特徴およびその実施形態に関連して説明されているが、本発明範囲から逸脱することなく、それらに対して様々な修正および組み合わせが行われ得ることは明白である。これに対応して、明細書および添付の図面は、添付された特許請求の範囲によって規定される本発明の説明を示すものに過ぎず、本発明の範囲における、修正、変更、組み合わせ、または均等物のいずれかまたはすべてを包含すると見なされる。当業者であれば、本発明範囲から逸脱することなく、様々な修正および変更を本発明になすことができることは明白である。本発明は、これらの修正および変更が、以下の特許請求の範囲およびその均等な技術により規定される保護範囲内に含まれるならば、これらの修正および変更を包含するよう意図されている。

Claims (23)

  1. ホストであって、
    前記ホストは、仮想マシンモニタ(VMM)および少なくとも1つのネットワークインタフェースカードを備え、第1仮想マシンは、前記ホスト上で動作し、前記VMMは、複数のVLANサブインタフェースおよび仮想ネットワーク機能モジュールを有し、前記少なくとも1つのネットワークインタフェースカードは、第1スイッチング装置、第2スイッチング装置および少なくとも3つのネットワークポートを有し、第1ネットワークポートおよび第2ネットワークポートは、ネットワークインタフェースカード仮想化機能をサポートし、前記第1ネットワークポートは、少なくとも1つの物理ファンクション(PF)および複数の仮想ファンクション(VF)に対応し、仮想ローカルエリアネットワーク識別子(VLAN識別子)は、複数の前記VFのために構成され、前記VFの前記VLAN識別子は互いに異なり、前記第1仮想マシンは、前記第1ネットワークポートの少なくとも1つのVFに接続され、VLANサブインタフェースの数は、前記第1ネットワークポートのVFの数と同一であり、前記VLANサブインタフェースは、前記第1ネットワークポートの前記VFと一対一の対応関係にあり、前記VLANサブインタフェースは、前記VLANサブインタフェースに対応する前記VFと同一のVLAN識別子を有し、前記第1ネットワークポートおよび前記第2ネットワークポートは、ネットワークケーブルを使用することによって接続され、
    前記第1仮想マシンは、前記第1仮想マシンに接続される前記VFを使用することによって、データパケットを第2仮想マシン宛に送信し、前記データパケットは、前記データパケットを送信する前記VFのVLAN識別子、および、前記第2仮想マシンのアドレスを保持し、
    前記第1ネットワークポートの前記第1スイッチング装置は、前記データパケットを受信し、前記ネットワークケーブルを使用することによって前記データパケットを前記第2ネットワークポートへ強制的に転送し、
    前記第2ネットワークポートの前記第2スイッチング装置は、前記データパケットを前記第1ネットワークポートから受信し、前記データパケットに保持される前記VLAN識別子に従って、前記VLAN識別子によって識別されるVLANサブインタフェースへ前記データパケットを転送し
    前記VLANサブインタフェースは、前記データパケットを受信し、前記データパケットにおける前記VLAN識別子を除去し、前記データパケットを前記仮想ネットワーク機能モジュールへ転送し
    前記仮想ネットワーク機能モジュールは、前記VLAN識別子が除去された前記データパケットに対してネットワーク機能処理を実行し、処理された前記データパケットを前記第2仮想マシン宛に送信し、処理された前記データパケットの宛先アドレスは、前記第2仮想マシンの前記アドレスである、
    ホスト。
  2. 前記第1ネットワークポートおよび前記第2ネットワークポートは、仮想イーサネット(登録商標)ポートアグリゲータ(VEPA)モードである、請求項1に記載のホスト。
  3. 前記ホストはさらに、デバイス管理モジュールを備え、
    前記デバイス管理モジュールは、前記第1仮想マシンの生成に成功した後に、クラウド管理プラットフォームによって送信されるVLANサブインタフェース生成要求を受信し、前記VLANサブインタフェース生成要求は、前記第1仮想マシンに割り当てられる前記VFの前記VLAN識別子を保持し、
    前記デバイス管理モジュールはさらに、前記第1仮想マシンの前記VFに対応する前記VLANサブインタフェースを生成するように前記VMMに命令するための通知メッセージを前記VMMへ送信し、前記第1仮想マシンの前記VFに対応する前記VLANサブインタフェースは、前記第1仮想マシンの前記VFと同一のVLAN識別子を有する、
    請求項1または2に記載のホスト。
  4. 前記第1ネットワークポート、前記第2ネットワークポート、および第3ネットワークポートは、同一のネットワークインタフェースカードに配置されるか、または、
    前記第1ネットワークポート、前記第2ネットワークポート、および第3ネットワークポートは、2つもしくは3つのネットワークインタフェースカードに配置されるか、または、
    前記第1ネットワークポートおよび前記第2ネットワークポートは、同一のネットワークインタフェースカードに配置され、前記第1ネットワークポートの前記第1スイッチング装置は前記第2ネットワークポートの前記第2スイッチング装置と同一のスイッチング装置であり、前記第1ネットワークポートおよび前記第2ネットワークポートは、前記同一のネットワークインタフェースカードの前記同一のスイッチング装置を共有するか、または、
    前記第1ネットワークポートおよび前記第2ネットワークポートは、同一のネットワークインタフェースカードに配置され、前記第1ネットワークポートの前記第1スイッチング装置は、前記第2ネットワークポートの前記第2スイッチング装置から独立している、
    請求項1から3のいずれか一項に記載のホスト。
  5. 前記第2仮想マシンおよび前記第1仮想マシンは、同一のホストに配置される、請求項1から4のいずれか一項に記載のホスト。
  6. 前記仮想ネットワーク機能モジュールはさらに、前記第2仮想マシンに接続されるVFに対応するVLANサブインタフェースへ、処理された前記データパケットを転送し、前記第2仮想マシンに接続される前記VFは、処理された前記データパケットを受信する前記VLANサブインタフェースと同一のVLAN識別子を有し、
    前記第2仮想マシンに接続される前記VFに対応する前記VLANサブインタフェースは、前記VLANサブインタフェースのVLAN識別子を前記データパケットに追加し、前記データパケットを前記第2ネットワークポートへ転送し
    前記第2ネットワークポートの前記第2スイッチング装置はさらに、前記ネットワークケーブルを使用することによって、前記データパケットを前記第1ネットワークポートへ強制的に転送し、
    前記第1ネットワークポートの前記第1スイッチング装置はさらに、前記データパケットに保持される前記VLAN識別子に従って、前記データパケットにおける前記VLAN識別子によって識別される前記VFへ前記データパケットを転送することにより、前記データパケットは、前記第2仮想マシンへ伝送される、
    請求項5に記載のホスト。
  7. 前記第2仮想マシンは、前記ホストとは異なるホストに配置され、
    前記仮想ネットワーク機能モジュールは、前記仮想ネットワーク機能モジュールと、前記第2仮想マシンが配置される前記ホスト上の別の仮想ネットワーク機能モジュールとの間にトンネルを確立し、前記第3ネットワークポートを使用することによって、処理された前記データパケットを外部物理スイッチへ転送し、前記外部物理スイッチを使用することによって、前記第2仮想マシンが配置される前記ホストへ、処理された前記データパケットを転送し、前記別の仮想ネットワーク機能モジュールは、処理された前記データパケットを前記第2仮想マシンへ送信する、
    請求項4に記載のホスト。
  8. クラウドコンピューティングシステムにおけるパケット処理の方法であって、前記クラウドコンピューティングシステムにおける少なくとも1つのホストは、仮想マシンモニタ(VMM)および少なくとも1つのネットワークインタフェースカードを備え、第1仮想マシンは、前記ホスト上で動作し、前記VMMは、複数のVLANサブインタフェースおよび仮想ネットワーク機能モジュールを有し、前記少なくとも1つのネットワークインタフェースカードは、第1スイッチング装置、第2スイッチング装置および少なくとも3つのネットワークポートを有し、第1ネットワークポートおよび第2ネットワークポートは、ネットワークインタフェースカード仮想化機能をサポートし、前記第1ネットワークポートは、少なくとも1つのPFおよび複数のVFに対応し、VLAN識別子は、前記複数のVFのために構成され、前記複数のVFの前記VLAN識別子は互いに異なり、前記第1仮想マシンは、前記第1ネットワークポートの少なくとも1つのVFに接続され、VLANサブインタフェースの数は、前記第1ネットワークポートのVFの数と同一であり、前記VLANサブインタフェースは、前記第1ネットワークポートの前記VFと一対一の対応関係にあり、前記VLANサブインタフェースは、前記VLANサブインタフェースに対応する前記VFと同一のVLAN識別子を有し、前記第1ネットワークポートおよび前記第2ネットワークポートは、ネットワークケーブルを使用することによって接続され、
    前記方法は、
    前記第1仮想マシンによって、前記第1仮想マシンに接続される前記VFを使用することによって、データパケットを第2仮想マシン宛に送信する段階であって、前記データパケットは、前記データパケットを送信する前記VFのVLAN識別子、および、前記第2仮想マシンのアドレスを保持する、段階と、
    前記第1ネットワークポートの前記第1スイッチング装置によって、前記データパケットを受信する段階であって、前記ネットワークケーブルを使用することによって前記データパケットを前記第2ネットワークポートへ強制的に転送する段階と、
    前記第2ネットワークポートの前記第2スイッチング装置によって、前記データパケットを前記第1ネットワークポートから受信し、前記データパケットに保持される前記VLAN識別子に従って、前記VLAN識別子によって識別されるVLANサブインタフェースへ前記データパケットを転送する段階と、
    前記VLANサブインタフェースによって、前記データパケットを受信し、前記データパケットにおける前記VLAN識別子を除去し、前記データパケットを前記仮想ネットワーク機能モジュールへ転送する段階と、
    前記仮想ネットワーク機能モジュールによって、前記VLAN識別子が除去された前記データパケットに対してネットワーク機能処理を実行し、処理された前記データパケットを前記第2仮想マシン宛に送信する段階であって、処理された前記データパケットの宛先アドレスは、前記第2仮想マシンの前記アドレスである、段階と
    を備える
    方法。
  9. 前記第1ネットワークポートおよび前記第2ネットワークポートは、VEPAモードである、請求項8に記載の方法。
  10. 前記ホストは、デバイス管理モジュールをさらに備え、前記方法は、
    前記第1仮想マシンの生成に成功した後に、クラウド管理プラットフォームによって送信されるVLANサブインタフェース生成要求を前記デバイス管理モジュールによって受信する段階であって、前記VLANサブインタフェース生成要求は、前記第1仮想マシンに割り当てられる前記VFの前記VLAN識別子を保持する、段階と
    前記デバイス管理モジュールによって、通知メッセージを前記VMMへ送信することにより、前記VMMが前記第1仮想マシンの前記VFに対応する前記VLANサブインタフェースを生成するようにする段階であって、前記第1仮想マシンの前記VFに対応する前記VLANサブインタフェースは、前記第1仮想マシンの前記VFと同一のVLAN識別子を有する、段階と
    をさらに備える、請求項8または9に記載の方法。
  11. 前記第1ネットワークポート、前記第2ネットワークポート、および第3ネットワークポートは、同一のネットワークインタフェースカードに配置されるか、または、
    前記第1ネットワークポート、前記第2ネットワークポート、および第3ネットワークポートは、2つもしくは3つのネットワークインタフェースカードに配置されるか、または、
    前記第1ネットワークポートおよび前記第2ネットワークポートは、同一のネットワークインタフェースカードに配置され、前記第1ネットワークポートの前記第1スイッチング装置は前記第2ネットワークポートの前記第2スイッチング装置と同一のスイッチング装置であり、前記第1ネットワークポートおよび前記第2ネットワークポートは、前記同一のネットワークインタフェースカードの前記同一のスイッチング装置を共有するか、または、
    前記第1ネットワークポートおよび前記第2ネットワークポートは、同一のネットワークインタフェースカードに配置され、前記第1ネットワークポートの前記第1スイッチング装置は、前記第2ネットワークポートの前記第2スイッチング装置から独立している、
    請求項8から10のいずれか一項に記載の方法。
  12. 前記第2仮想マシンおよび前記第1仮想マシンは、同一のホストに配置される、請求項8から11のいずれか一項に記載の方法。
  13. 処理された前記データパケットを前記第2仮想マシンへ送信する前記段階は、
    前記仮想ネットワーク機能モジュールによって、前記第2仮想マシンに接続されるVFに対応するVLANサブインタフェースへ、処理された前記データパケットを転送する段階であって、前記第2仮想マシンに接続される前記VFは、処理された前記データパケットを受信する前記VLANサブインタフェースと同一のVLAN識別子を有する、段階と、
    前記第2仮想マシンに接続される前記VFに対応する前記VLANサブインタフェースによって、前記VLANサブインタフェースのVLAN識別子を前記データパケットに追加し、処理された前記データパケットを前記第2ネットワークポートへ転送する段階と、
    前記第2ネットワークポートの前記第2スイッチング装置によって、前記ネットワークケーブルを使用することによって、処理された前記データパケットを前記第1ネットワークポートへ強制的に転送する段階と、
    前記第1ネットワークポートの前記第1スイッチング装置によって、処理された前記データパケットに保持される前記VLAN識別子に従って、前記データパケットにおける前記VLAN識別子によって識別される前記VFへ前記データパケットを転送する段階であって、前記データパケットは、前記第2仮想マシンへ伝送される、段階と
    を有する、請求項12に記載の方法。
  14. 前記仮想ネットワーク機能モジュールによって、処理された前記データパケットを転送する前記段階はさらに、
    前記仮想ネットワーク機能モジュールによって、前記仮想ネットワーク機能モジュールと、前記第2仮想マシンが配置されるホスト上の別の仮想ネットワーク機能モジュールとの間にトンネルを確立する段階と、前記第3ネットワークポートを使用することによって、処理された前記データパケットを外部物理スイッチへ転送する段階と、前記外部物理スイッチを使用することによって、前記第2仮想マシンが配置される前記ホストへ、処理された前記データパケットを転送する段階とを有することにより、前記別の仮想ネットワーク機能モジュールは、処理された前記データパケットを前記第2仮想マシンへ送信する、
    請求項11に記載の方法。
  15. コンピュータに、請求項8から14のいずれか一項に記載の方法を実行させるためのプログラム。
  16. 請求項15に記載のプログラムを格納するコンピュータ可読記憶媒体。
  17. クラウドコンピューティングのシステムであって、クラウド管理プラットフォームおよび少なくとも1つのホストを備え、前記ホストは、仮想マシンモニタ(VMM)および少なくとも1つのネットワークインタフェースカードを備え、第1仮想マシンは、前記ホスト上で動作し、前記VMMは、複数のVLANサブインタフェースおよび仮想ネットワーク機能モジュールを有し、前記少なくとも1つのネットワークインタフェースカードは、第1スイッチング装置、第2スイッチング装置および少なくとも3つのネットワークポートを有し、第1ネットワークポートおよび第2ネットワークポートは、ネットワークインタフェースカード仮想化機能をサポートし、前記第1ネットワークポートは、少なくとも1つのPFおよび複数のVFに対応し、VLAN識別子は、前記複数のVFのために構成され、前記複数のVFの前記VLAN識別子は互いに異なり、前記第1仮想マシンは、前記第1ネットワークポートの少なくとも1つのVFに接続され、VLANサブインタフェースの数は、前記第1ネットワークポートのVFの数と同一であり、前記VLANサブインタフェースは、前記第1ネットワークポートの前記VFと一対一の対応関係にあり、前記VLANサブインタフェースは、前記VLANサブインタフェースに対応する前記VFと同一のVLAN識別子を有し、前記第1ネットワークポートおよび前記第2ネットワークポートは、ネットワークケーブルを使用することによって接続され
    記第1仮想マシンは、前記第1仮想マシンに接続される前記VFを使用することによって、データパケットを第2仮想マシン宛に送信し、前記データパケットは、前記データパケットを送信する前記VFのVLAN識別子、および、前記第2仮想マシンのアドレスを保持し、
    前記第1ネットワークポートの前記第1スイッチング装置は、前記データパケットを受信し、前記ネットワークケーブルを使用することによって前記データパケットを前記第2ネットワークポートへ強制的に転送し、
    前記第2ネットワークポートの前記第2スイッチング装置は、前記データパケットを前記第1ネットワークポートから受信し、前記データパケットに保持される前記VLAN識別子に従って、前記データパケットと同一のVLAN識別子を有する前記VLANサブインタフェースへ前記データパケットを転送し
    前記VLANサブインタフェースは、前記データパケットを受信し、前記データパケットにおける前記VLAN識別子を除去し、前記データパケットを前記仮想ネットワーク機能モジュールへ転送し
    前記仮想ネットワーク機能モジュールは、前記VLAN識別子が除去された前記データパケットに対してネットワーク機能処理を実行し、処理された前記データパケットを前記第2仮想マシン宛に送信し、処理された前記データパケットの宛先アドレスは、前記第2仮想マシンの前記アドレスである、
    システム。
  18. 前記クラウド管理プラットフォームは、前記ホストにおいて前記第1仮想マシンを生成し、前記第1仮想マシンの生成に成功した後に、前記第1仮想マシンの前記VFに対応するVLANサブインタフェースを生成するように前記ホストの前記VMMに命令し、前記第1仮想マシンの前記VFに対応する前記VLANサブインタフェースは、前記第1仮想マシンの前記VFと同一のVLAN識別子を有する、請求項17に記載のシステム。
  19. 前記第1ネットワークポートおよび前記第2ネットワークポートは、VEPAモードである、請求項17または18に記載のシステム。
  20. 前記ホストはさらに、デバイス管理モジュールを備え、
    前記デバイス管理モジュールは、前記第1仮想マシンの生成に成功した後に、前記クラウド管理プラットフォームによって送信されるVLANサブインタフェース生成要求を受信し、前記VLANサブインタフェース生成要求は、前記第1仮想マシンに割り当てられる前記VFの前記VLAN識別子を保持し、
    前記デバイス管理モジュールはさらに、前記第1仮想マシンの前記VFに対応する前記VLANサブインタフェースを生成するように前記VMMに命令するための通知メッセージを前記VMMへ送信し、前記第1仮想マシンの前記VFに対応する前記VLANサブインタフェースは、前記第1仮想マシンの前記VFと同一のVLAN識別子を有する、
    請求項17から19のいずれか一項に記載のシステム。
  21. 前記第2仮想マシンおよび前記第1仮想マシンは同一のホストに配置され、
    前記仮想ネットワーク機能モジュールはさらに、前記第2仮想マシンに接続されるVFに対応するVLANサブインタフェースへ、処理された前記データパケットを転送し、前記第2仮想マシンに接続される前記VFは、処理された前記データパケットを受信する前記VLANサブインタフェースと同一のVLAN識別子を有し、
    前記第2仮想マシンに接続される前記VFに対応する前記VLANサブインタフェースは、前記VLANサブインタフェースのVLAN識別子を前記データパケットに追加し、前記データパケットを前記第2ネットワークポートへ転送し
    前記第2ネットワークポートの前記第2スイッチング装置はさらに、前記ネットワークケーブルを使用することによって、前記データパケットを前記第1ネットワークポートへ強制的に転送し、
    前記第1ネットワークポートの前記第1スイッチング装置はさらに、前記データパケットに保持される前記VLAN識別子に従って、前記データパケットにおける前記VLAN識別子によって識別される前記VFへ前記データパケットを転送することにより、前記データパケットは、前記第2仮想マシンへ伝送される、
    請求項17から20のいずれか一項に記載のシステム。
  22. 前記第2仮想マシンおよび前記第1仮想マシンは、異なるホストに配置され、
    前記仮想ネットワーク機能モジュールは、前記仮想ネットワーク機能モジュールと、前記第2仮想マシンが配置されるホスト上の別の仮想ネットワーク機能モジュールとの間にトンネルを確立し、第3ネットワークポートを使用することによって、処理された前記データパケットを外部物理スイッチへ転送し、前記外部物理スイッチを使用することによって、前記第2仮想マシンが配置される前記ホストへ、処理された前記データパケットを転送することにより、前記別の仮想ネットワーク機能モジュールは、処理された前記データパケットを前記第2仮想マシンへ送信する、
    請求項17から20のいずれか一項に記載のシステム。
  23. 第1プロセッサ、第1メモリ、および少なくとも1つのネットワークインタフェースカードを備えるホストであって、前記ネットワークインタフェースカードは、第2プロセッサ、第2メモリ、および少なくとも2つのネットワークポートを有し、前記少なくとも1つのネットワークインタフェースカードにおける第1ネットワークポートおよび第2ネットワークポートは、ネットワークインタフェースカード仮想化機能をサポートし、前記第1ネットワークポートは、少なくとも1つのPFおよび複数のVFに対応し、VLAN識別子が前記複数のVFのために構成され、前記複数のVFの前記VLAN識別子は互いに異なり、前記第1メモリおよび前記第2メモリは命令を記憶し、前記第1プロセッサは、第1仮想マシンの機能を実現するために、前記第1メモリにおける第1の命令を実行し、前記第1仮想マシンは、前記第1ネットワークポートの少なくとも1つのVFに接続され、前記第1プロセッサは、VLANサブインタフェースの機能を実現するために、前記第1メモリにおける第2の命令を実行し、前記第1プロセッサは、仮想ネットワーク機能モジュールの機能を実現するために、前記第1メモリにおける第3の命令を実行し、前記第2プロセッサは、スイッチング装置の機能を実現するために、前記第2メモリにおける命令を実行し、
    前記第1仮想マシンは、前記第1ネットワークポートの前記少なくとも1つのVFに接続され、前記ホストは、複数のVLANサブインタフェースを備え、複数のVLANサブインタフェースの数は、前記第1ネットワークポートのVFの数と同一であり、前記複数のVLANサブインタフェースは、前記第1ネットワークポートの前記VFと一対一の対応関係にあり、前記VLANサブインタフェースは、前記VLANサブインタフェースに対応する前記VFと同一のVLAN識別子を有し、前記第1ネットワークポートおよび前記第2ネットワークポートは、ネットワークケーブルを使用することによって接続され、
    前記第1プロセッサは、前記第1仮想マシンに接続される前記VFを使用することによってデータパケットを第2仮想マシン宛に送信する段階であって、前記データパケットは、前記データパケットを送信する前記VFのVLAN識別子と、前記第2仮想マシンのアドレスとを保持する、段階を実行するために、前記第1メモリにおける前記第1の命令を実行し、
    前記第2プロセッサは、前記データパケットを受信する段階と、前記ネットワークケーブルを使用することによって前記データパケットを前記第2ネットワークポートへ強制的に転送する段階とを実行するために、前記第2メモリにおける前記命令を実行し、
    前記第2プロセッサは、前記データパケットを前記第1ネットワークポートから受信する段階と、前記データパケットに保持される前記VLAN識別子に従って、前記VLAN識別子によって識別されるVLANサブインタフェースへ前記データパケットを転送する段階とを実行するために、前記第2メモリにおける命令を実行し、
    前記第1プロセッサは、前記データパケットを受信する段階と、前記データパケットにおける前記VLAN識別子を除去する段階と、前記データパケットを前記仮想ネットワーク機能モジュールへ転送する段階とを実行するために、前記第1メモリにおける前記第2の命令を実行し、
    前記第1プロセッサは、前記VLAN識別子が除去された前記データパケットに対してネットワーク機能処理を実行する段階と、前記第2仮想マシンの前記アドレスに従って、処理された前記データパケットを前記第2仮想マシン宛に送信する段階とを実行するために、前記第1メモリにおける前記第3の命令を実行する、
    ホスト。
JP2017568237A 2016-11-09 2016-11-09 クラウドコンピューティングシステムにおけるパケット処理方法、ホスト、およびシステム Active JP6513835B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2016/105227 WO2018086013A1 (zh) 2016-11-09 2016-11-09 云计算系统中报文处理的方法、主机和系统

Publications (2)

Publication Number Publication Date
JP2018537006A JP2018537006A (ja) 2018-12-13
JP6513835B2 true JP6513835B2 (ja) 2019-05-15

Family

ID=60052231

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017568237A Active JP6513835B2 (ja) 2016-11-09 2016-11-09 クラウドコンピューティングシステムにおけるパケット処理方法、ホスト、およびシステム

Country Status (9)

Country Link
US (1) US10491517B2 (ja)
EP (2) EP3343881B1 (ja)
JP (1) JP6513835B2 (ja)
CN (2) CN107278362B (ja)
AU (1) AU2016414391B2 (ja)
BR (1) BR112018000362A2 (ja)
CA (1) CA2991208C (ja)
SG (1) SG11201800101YA (ja)
WO (1) WO2018086013A1 (ja)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107278362B (zh) 2016-11-09 2019-04-05 华为技术有限公司 云计算系统中报文处理的方法、主机和系统
CN107278359B (zh) 2016-11-09 2020-09-18 华为技术有限公司 云计算系统中报文处理的方法、主机和系统
CN110088732B (zh) * 2016-12-19 2021-08-20 华为技术有限公司 一种数据包处理方法、主机和系统
CN110505110B (zh) * 2018-05-18 2021-07-20 杭州海康威视数字技术股份有限公司 网络接口的测试方法、装置及多网口主机
CN110519147A (zh) * 2018-05-22 2019-11-29 中兴通讯股份有限公司 数据帧传输方法、装置、设备和计算机可读存储介质
US11822946B2 (en) * 2018-06-28 2023-11-21 Cable Television Laboratories, Inc. Systems and methods for secure network management of virtual network functions
CN109525515B (zh) * 2018-10-23 2021-04-30 郑州云海信息技术有限公司 一种云平台中网卡的管理方法和装置
CN109617735B (zh) * 2018-12-26 2021-04-09 华为技术有限公司 云计算数据中心系统、网关、服务器及报文处理方法
CN109802855B (zh) * 2018-12-28 2020-08-07 华为技术有限公司 一种故障定位方法及装置
CN111698141B (zh) * 2019-03-13 2022-12-02 中兴通讯股份有限公司 报文的转发方法及装置
US11283732B2 (en) 2019-03-29 2022-03-22 Juniper Networks, Inc. Network functions virtualization (NFV) backplane on forwarding microchip
CN112152899B (zh) * 2019-06-28 2023-04-07 中兴通讯股份有限公司 一种基于网络切片的数据处理方法及装置
CN112468308A (zh) * 2019-09-06 2021-03-09 中兴通讯股份有限公司 虚拟局域网业务管理方法、虚拟局域网全局管理设备
US11237761B2 (en) * 2019-11-01 2022-02-01 Microsoft Technology Licensing, Llc Management of multiple physical function nonvolatile memory devices
CN110912836B (zh) * 2019-11-14 2023-05-30 优刻得科技股份有限公司 使转发设备转发数据的方法、控制设备、存储介质和系统
CN111092876B (zh) * 2019-12-12 2021-10-01 北京首都在线科技股份有限公司 多主机系统、电子设备、存储介质、用于多主机系统的信息处理方法及装置
WO2021174395A1 (zh) * 2020-03-02 2021-09-10 华为技术有限公司 封装结构及封装结构的制作方法
CN111367620B (zh) * 2020-03-06 2024-04-23 联想(北京)有限公司 一种虚拟网络实现方法及电子设备
CN111786909B (zh) * 2020-05-19 2022-04-29 深圳震有科技股份有限公司 一种更新vrrp接口的协议状态的方法、交换机及存储介质
CN114338606B (zh) * 2020-09-25 2023-07-18 华为云计算技术有限公司 一种公有云的网络配置方法及相关设备
DE102021113670A1 (de) * 2021-05-27 2022-12-01 Dspace Gmbh Verfahren zur Datenübertragung in einem Netzwerksystem sowie Netzwerksystem
WO2023009630A1 (en) * 2021-07-27 2023-02-02 Commscope Technologies Llc Systems and methods of orchestrating a virtualized base station
CN113721995B (zh) * 2021-08-04 2024-08-09 浙江大华技术股份有限公司 一种智能子卡的加载方法、装置及存储介质
CN113904938B (zh) * 2021-09-28 2022-04-29 北京大禹智芯科技有限公司 一种动态配置PCIe终端设备的系统和方法
CN114553899A (zh) * 2022-01-30 2022-05-27 阿里巴巴(中国)有限公司 一种存储设备

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101309180B (zh) * 2008-06-21 2010-12-08 华中科技大学 一种适用于虚拟机环境的安全网络入侵检测系统
US8442048B2 (en) * 2009-11-04 2013-05-14 Juniper Networks, Inc. Methods and apparatus for configuring a virtual network switch
CN102457586B (zh) * 2010-10-18 2015-06-03 中兴通讯股份有限公司 一种实现二层网络的扩展方法及扩展的二层网络
US8533285B2 (en) * 2010-12-01 2013-09-10 Cisco Technology, Inc. Directing data flows in data centers with clustering services
US8935457B2 (en) * 2011-07-29 2015-01-13 International Business Machines Corporation Network filtering in a virtualized environment
CN102710432B (zh) * 2012-04-27 2015-04-15 北京云杉世纪网络科技有限公司 云计算数据中心中的虚拟网络管理系统及方法
US8964735B2 (en) 2012-05-18 2015-02-24 Rackspace Us, Inc. Translating media access control (MAC) addresses in a network hierarchy
US9059868B2 (en) * 2012-06-28 2015-06-16 Dell Products, Lp System and method for associating VLANs with virtual switch ports
CN102790777B (zh) * 2012-08-07 2016-06-15 华为技术有限公司 网络接口适配器注册方法及驱动设备、服务器
WO2014065315A1 (ja) * 2012-10-24 2014-05-01 日本電気株式会社 通信システム、仮想マシンサーバ、仮想ネットワーク管理装置、ネットワーク制御方法及びプログラム
US10341263B2 (en) * 2012-12-10 2019-07-02 University Of Central Florida Research Foundation, Inc. System and method for routing network frames between virtual machines
CN103051529B (zh) * 2012-12-20 2016-03-30 华为技术有限公司 一种报文的处理方法和装置
JP6024474B2 (ja) 2013-01-23 2016-11-16 富士通株式会社 マルチテナントシステム、管理装置、管理プログラム、およびマルチテナントシステムの制御方法
WO2014115157A1 (en) 2013-01-24 2014-07-31 Hewlett-Packard Development Comany, L.P. Address resolution in software-defined networks
CN103621026B (zh) * 2013-04-01 2017-06-13 华为技术有限公司 虚拟机的数据交换方法、装置和系统
CN103609077B (zh) 2013-06-18 2017-02-22 华为技术有限公司 用于数据传输的方法、装置和系统以及物理网卡
CN103346981B (zh) 2013-06-28 2016-08-10 华为技术有限公司 虚拟交换方法、相关装置和计算机系统
US9634948B2 (en) * 2013-11-07 2017-04-25 International Business Machines Corporation Management of addresses in virtual machines
CN103916314A (zh) 2013-12-26 2014-07-09 杭州华为数字技术有限公司 报文转发控制方法和相关装置及物理主机
CN103873374B (zh) * 2014-03-27 2017-08-11 新华三技术有限公司 虚拟化系统中的报文处理方法及装置
US9419897B2 (en) * 2014-06-30 2016-08-16 Nicira, Inc. Methods and systems for providing multi-tenancy support for Single Root I/O Virtualization
CN104125166B (zh) * 2014-07-31 2018-05-29 华为技术有限公司 一种队列调度方法及计算系统
CN105812340B (zh) 2014-12-31 2019-01-08 新华三技术有限公司 一种虚拟网络访问外网的方法和装置
US10812632B2 (en) * 2015-02-09 2020-10-20 Avago Technologies International Sales Pte. Limited Network interface controller with integrated network flow processing
CN105978828B (zh) * 2016-05-16 2019-07-23 锐捷网络股份有限公司 一种实现虚拟机报文转发的方法和交换机
CN107278359B (zh) 2016-11-09 2020-09-18 华为技术有限公司 云计算系统中报文处理的方法、主机和系统
CN107278362B (zh) 2016-11-09 2019-04-05 华为技术有限公司 云计算系统中报文处理的方法、主机和系统

Also Published As

Publication number Publication date
CA2991208A1 (en) 2018-05-09
CN107278362A (zh) 2017-10-20
CA2991208C (en) 2020-07-28
US10491517B2 (en) 2019-11-26
EP3343881B1 (en) 2019-08-14
JP2018537006A (ja) 2018-12-13
EP3654620A1 (en) 2020-05-20
US20190280971A1 (en) 2019-09-12
EP3343881A1 (en) 2018-07-04
AU2016414391B2 (en) 2019-01-17
SG11201800101YA (en) 2018-06-28
EP3654620B1 (en) 2022-03-09
CN110099014B (zh) 2021-08-20
CN110099014A (zh) 2019-08-06
BR112018000362A2 (pt) 2018-09-11
WO2018086013A1 (zh) 2018-05-17
CN107278362B (zh) 2019-04-05
EP3343881A4 (en) 2018-09-05
AU2016414391A1 (en) 2018-05-24

Similar Documents

Publication Publication Date Title
JP6513835B2 (ja) クラウドコンピューティングシステムにおけるパケット処理方法、ホスト、およびシステム
US11005755B2 (en) Packet processing method in cloud computing system, host, and system
US11563669B2 (en) Method for implementing network virtualization and related apparatus and communications system
US10411971B2 (en) Method for unified communication of server, baseboard management controller, and server
US9154451B2 (en) Systems and methods for sharing devices in a virtualization environment
US8521890B2 (en) Virtual network configuration and management
CN106557444B (zh) 实现sr-iov网卡的方法和装置、实现动态迁移的方法和装置
Tholeti Hypervisors, Virtualization, and Networking

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180206

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180206

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181120

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190218

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190410

R150 Certificate of patent or registration of utility model

Ref document number: 6513835

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250