共用方式為


VMQ 接收佇列

虛擬機佇列 (VMQ) 服務提供者會配置 VMQ 接收佇列。 如果封包通過佇列上設定的篩選測試,網路適配器硬體會將傳入的網路數據封包指派給佇列。

VMQ 接收佇列具有下列屬性:

  • 與相關聯網路適配器唯一的佇列標識碼。

  • 中斷處理的處理器親和性。

  • 在佇列上設定的篩選。

  • 接收分配到佇列的緩衝區。

也有一個預設佇列具有下列屬性:

  • 預設佇列一律存在。 必須配置其他佇列。

  • 默認佇列會接收封包,這些封包不會通過其他佇列的篩選測試。

迷你埠驅動程式為與 VMQ 相關聯的接收緩衝區配置共用記憶體。 視 Windows Server 版本而定,迷你埠驅動程序必須遵循下列各節所述的緩衝區配置指導方針:

VMQ 共用記憶體需求的設計目的是要解決虛擬機 (VM) 的潛在安全性問題。 如需 VMQ 安全性問題的詳細資訊,請參閱 NDIS 虛擬機器 (VM) 共用記憶體的安全性問題。

配置 VMQ 接收緩衝區的共用記憶體 (Windows Server 2008 R2)

針對 Windows Server 2008 R2 中的 NDIS 6.20,如果迷你埠驅動程式支援將封包數據分割成個別的 lookahead 緩衝區,則可以以下列方式配置共用記憶體:

  • 小型埠驅動程式會從在 Hyper-V 父分割區中執行的管理作業系統的位址空間中,配置預先查閱緩衝區的共用記憶體。 預讀緩衝區是管理作業系統所檢查封包的一部分。

  • 迷你埠驅動程式從在 Hyper-V 子分割區中執行的客體作業系統的位址空間中,配置後前视緩衝區的共用記憶體。 post-lookahead 緩衝區是客體作業系統所檢查的封包的一部分。

    注意 Hyper-V 子分割也稱為 VM。

下圖顯示佇列中的共享記憶體、管理作系統和客體作系統。

圖表,示意佇列中的共用記憶體、管理操作系統分割區和虛擬機分區。

在此圖中,佇列中的每個封包中都顯示出標頭資訊,該資訊是從管理作業系統的地址空間中配置,而數據則是從客體作業系統的地址空間中配置的。

配置 VMQ 接收緩衝區的共享記憶體(Windows Server 2012 和以後的版本)

從 NDIS 6.30 開始,不再支援將 VMQ 接收緩衝區分割成個別的外觀緩衝區。 迷你埠驅動程序必須從管理作業系統的地址空間配置每個接收緩衝區的記憶體。