LAN 測試必要條件
本節的內容說明 LAN (乙太網路) 測試必要條件,您必須先完成,再使用 Windows 硬體實驗室套件 (Windows HLK) 測試網路介面卡。
注意
此內容適用于獨立網路介面卡和整合式網路裝置。
檔條款
裝置角色 | 介面別名 |
---|---|
測試機器,測試目標 (DUT) |
不需要任何名稱,HLK 作業會自動選擇它 |
測試機器、訊息裝置 |
MessageDevice |
支援機器、支援裝置 |
SupportDevice0 |
支援電腦、訊息裝置 |
MessageDevice |
LWF 驅動程式 |
NDIS 輕量篩選驅動程式 |
機器拓撲
下圖顯示建議的電腦拓撲。 與這個不同的拓撲非常不建議使用,因為它們可能需要額外的心力才能讓測試正確執行。
這是適用于所有 LAN 裝置的拓撲, (包括支援 QoS 和 Chimney) 的裝置。
網路介面卡測試的電腦拓撲
標題中最近開發的 HLK 測試前面加上 「[Network Adapter]」 或 「[name of the test]」 是單一電腦測試,而且該電腦上需要 3 張網路介面卡。 介面別名名稱如下所示:
- TestDevice:這是受測的網路裝置。
- SupportDevice0:需要額外的支援網路卡、使用 TestDevice 來回連線
- MessageDevice:用來與 HLK 控制器通訊。
下圖顯示建議的拓撲:
測試連線
一般而言,最好使用回溯連線,因為交換器可能會干擾測試 (VLAN 設定錯誤、流量控制封包等等)
網路交換器可能會干擾結果的測試需要回溯連線。 這類測試包括:
QoS (亦然。DCB) (優先順序流程式控制制、LLDP/DCBX Interop、ETS (,因為某些交換器可能會移除 802.1p 標籤)
Tx 流量控制
傳送 802.1q 標記 (VlanSendRecv、VMQ、1c_priority的測試,可能還有其他)
Backchannel/公司網路
建議使用後端通道交換器與 HLK 控制器進行通訊的相同網路。 建議啟用此網路 DHCP。
機器需求
機器需求通常是由測試目標支援的功能所決定。 用戶端 SKU 的認證需要 2 個處理核心,而伺服器 SKU 上的認證則需要 4 個處理核心。
注意
核心一詞是指實體處理核心 (非虛擬或超執行緒核心) 。 如果您的裝置支援下列進階功能,則可能會增加最低系統需求。
網路喚醒:系統必須支援電源管理 (S3)
RSS:最多 4 個實體核心或裝置支援的預設 RSS 佇列數目
範例:如果 1G NIC 支援 2 個佇列,則所需的核心數目會是 4
範例:如果 10G NIC 支援 8 個佇列,則所需的核心數目會是 8
伺服器/QoS:系統必須能夠飽和 90% 的最大連結速率
QoS:儲存體目標寫入最大連結率的 20%
注意
如果傳送/接收封包遺失問題經常發生,而且在整個測試中,這不太可能是選擇性暫停問題。
注意
若要認證您的產品在伺服器上使用,測試電腦必須支援四個處理器,以及至少 1 GB 的 RAM。 需要這些系統功能,才能測試裝置和驅動程式的 Rebalance、D3 狀態和多個處理器群組功能。 您不需要實際擁有超過 64 個處理器的電腦來測試您的裝置。 此外,伺服器系統 (用於裝置或驅動程式測試的伺服器系統) 必須先安裝 Server Core,才能進行測試。 如需詳細資訊,請參閱 Windows Server 安裝選項。
如果您使用測試電腦的集區來測試裝置,集區中至少有一部電腦必須包含四個處理器,且至少 1 GB 的 RAM。 此外,該電腦必須包含您要測試的裝置和驅動程式。 如果驅動程式在集區中的所有電腦上都相同,則系統會建立排程,以對所有測試電腦執行。
對於不包含要測試之驅動程式的測試,例如硬碟測試,Windows HLK 排程器會限制驗證裝置和驅動程式重新平衡、D3 狀態和多個處理器群組功能的測試,以在預設測試電腦上執行。 您必須手動將此電腦設定為有多個處理器群組。 預設電腦是清單中的第一部測試電腦。 測試人員必須確定清單中的第一部測試電腦符合最低硬體需求。
注意
除了如 WHCP 原則和程式 檔所定義 (的 para-virtualization 驅動程式之外,) ,當您測試實體裝置及其相關聯的驅動程式以進行伺服器認證或簽章時,您可能無法使用任何形式的虛擬化。 所有虛擬化產品都不支援通過與多個處理器群組、裝置電源管理、裝置 PCI 功能及其他測試相關的測試所需的基礎功能。
注意
多個處理器群組設定 您必須為 Windows Server 2008 R2 和更新版本的設備磁碟機測試的硬體實驗室套件測試設定處理器群組大小的值,才能進行認證。 這是藉由使用 /set 選項,在提升許可權的命令提示字元視窗中執行 bcdedit 來完成。
新增群組設定和重新開機的命令如下所示:
bcdedit.exe /set groupsize 2
bcdedit.exe /set groupaware on
shutdown.exe -r -t 0 -f
移除群組設定和重新開機的命令如下所示:
bcdedit.exe /deletevalue groupsize
bcdedit.exe /deletevalue groupaware
shutdown.exe -r -t 0 -f
注意
程式碼完整性設定
必須先使用 伺服器管理員 啟用 VBS) Windows Server 2016 (虛擬化安全性功能。
發生之後,必須建立並設定下列登錄機碼:
HKLM\System\CurrentControlSet\Control\DeviceGuard
HypervisorEnforcedCodeIntegrity:REG_DWORD
0 or 1 (disabled, enabled)
電腦設定
某些測試需要不是或無法由測試作業自動處理的唯一組態。 下列清單概述哪些測試需要唯一的設定。
QosStorageInterop
DUT 機器上的測試目標必須使用 iSCSI 或 SMB 連線到以網路為基礎的儲存體。 測試機器拓撲會讓測試網路回溯,這表示支援電腦也必須作為儲存體目標。 這表示必須在 SUT 上設定軟體 iSCSI 目標,或必須共用 SMB 共用。DUT 機器必須將儲存體目標對應到磁碟機號,而且使用者必須確定此連線會透過測試網路流動,而不是反向通道網路。 設定之後,您必須在排程時間將兩個額外的參數輸入至此作業:
磁碟機代號
儲存模式 (iSCSI 或 ND (網路直接存取) )
選擇性暫停
NDIS 選擇性暫停功能可能會對測試結果產生負面影響。 許多網路認證測試都假設裝置處於已開啟且可供使用的狀態。 因此,許多測試可能會快速傳送或接收流量,並預期適當地傳送或接收所有封包。 如果裝置處於低電源 (選擇性暫停) ,裝置可能需要一段時間才能繼續,這可能會導致繼續期間內封包遺失。
Microsoft 建議將 *SelectiveSuspend 設定為停用 NDIS 驅動程式的 () 或 *IdleRestriction 啟用 NetAdapterCx 2.2+) 驅動程式的 (,如果下列為 true, (注意:請勿變更預設值,只要執行認證測試時的操作值) :
客戶有選擇性暫停功能的裝置
傳送/接收測試遇到封包遺失問題
傳送/接收測試封包遺失問題只在給定測試的第一個變化中
或者,您可以在迷你埠的 裝置管理員 [電源管理] 索引標籤中取消核取 [允許電腦關閉此裝置以節省電源]。
HW QOS 測試
「HW QoS*」 測試需要使用 SR-IOV,且具有可用的 VF vPorts。 在某些硬體上,必須安裝 Hyper-V,網路介面卡才能啟用 SR-IOV 並公告 VF vPort 可用性。 因此,建議您在執行「HW QoS」 測試之前先安裝 Hyper-V。
網路裝置選取變更概觀
針對 LAN 裝置測試,已不再使用 UI 選取訊息和支援介面卡--它們會根據網路拓撲自動偵測。 如果自動偵測失敗,因為網路拓撲與建議的拓撲不同,則必須先在測試和支援機器上重新命名裝置,才能執行測試。 重新命名是指裝置的 「ifAlias」,這可從 [網路連線] 視窗顯示于其他位置。
如果需要重新命名,支援電腦上的支援裝置必須重新命名為 「SupportDevice0」。 測試和支援電腦上的訊息裝置必須重新命名為 「MessageDevice」。
自動裝置選取準則
測試和支援機器必須設定為與圖 4 相同的組態,而且與測試未涉及的其他所有乙太網路裝置/埠都必須中斷連線或停用。 測試作業會使用下列準則來尋找訊息裝置:乙太網路裝置、連結連線、啟用、TCP 系結、使用 DHCP 指派的 IP 位址。 如果找不到具有 DHCP 指派位址的介面卡,偵測將會包含具有靜態 IP 位址的介面卡。 訊息配接器通常會連線到 HLK 控制器和一般公司網路。 一旦找到訊息裝置,作業就會搜尋剩餘的介面卡,以取得乙太網路裝置的支援裝置、連結連線並啟用。
在 HLK 中執行 LAN 測試
如需設定控制器和用戶端電腦的相關資訊,請參閱 HLK 說明。本檔只會處理 HLK 中 LAN 內容的執行。
設定控制器和用戶端機器之後,請遵循下列步驟來執行 LAN 測試:
在 HLK Studio 中建立專案。
建立新的電腦集區,並將設定的用戶端電腦新增至新建立的集區,並將電腦狀態標示為就緒。
請確定測試電腦和支援電腦已連線,如上述 裝置選取準則 一節所述。
在 HLK Studio 的 [選取範圍] 索引標籤中,只選取要測試 (的裝置/驅動程式,例如設備管理器或軟體裝置) 。
在 HLK Studio 的 [ 測試 ] 索引標籤上,選取清單中出現的作業。
按一下 [ 已選取執行],然後選擇測試回合的支援電腦,然後按一下 [ 確定]。
執行篩選標誌測試
使用下列步驟來執行輕量型篩選 (LWF) 標誌測試:
設定/設定 DTM 伺服器和 DTM 用戶端電腦。 篩選標誌測試只需要一部用戶端電腦。
在用戶端電腦上安裝 LWF 驅動程式。
重新開機用戶端電腦。
從 DTM 伺服器,將 LWF 安裝所在的用戶端新增至新的電腦集區,並將電腦狀態變更為 「就緒」。
從 HLK Studio,在 HLK Studio 的 [專案] 索引標籤下建立新專案。
在 HLK Studio 的 [選取] 索引標籤中,從下拉式清單中選取在先前步驟中建立的電腦集區。
按一下 軟體裝置,然後選取您要測試的已安裝 LWF 驅動程式。
執行所有測試 ('NDISTest 6.5 - LWF 標誌測試' 會檢查 LWF 需求) 在 LWF 驅動程式的 [ 測試 ] 索引標籤中列出的所有 LWF 需求。
NDISTest 6.5 - LWF 標誌測試
此測試的目標是 LWF,方法是確保篩選準則能夠處理大於迷你埠 MTU 大小的封包。
這也會執行篩選壓力測試,以壓力 NDIS 篩選驅動程式的資料路徑和 PNP 路徑。 測試將會限制測試虛擬迷你埠接收描述項,讓接收資源旗標會發生大量的接收指示。 測試接著會以多執行緒方式執行下列動作:
從支援迷你埠導向至測試迷你埠的壓力流量。
從測試迷你埠導向至支援迷你埠的壓力流量
停止/啟動測試迷你埠 (,這會觸發暫停和後續重新開機作業) 。
測試配接器,指出媒體已中斷連線/連線。
測試配接器重設。
最後,測試/支援配接器之間會測試基本的傳送和接收連線能力。
NdkPerfLogoTests
此測試可確保可以傳送和接收 RDMA 流量,並連絡 DUT 和支援機器。 此測試要求在 DUT 和 支援上都啟用 RDMA 流量的網路介面。
測試會在 DUT 和支援電腦上執行NdkPerfCmd.exe。 這會載入驅動程式ndkperf.sys這會叫用 NDK API,以將 RDMA 流量從 DUT 傳送至支援電腦。
參數:
參數 | 描述 |
---|---|
ClientIf |
在 DUT 上啟用 RDMA NIC 的介面識別碼。 使用Get-NetAdapter來取得識別碼 |
ClientAddr |
在 DUT 上啟用 RDMA NIC 的 IP 位址。 使用 ipconfig 或 Get-NetIpAddress 來取得 IP 位址 |
SupportIf |
支援機器上已啟用 RDMA NIC 的介面識別碼。 使用Get-NetAdapter來取得識別碼 |
SupportAddr |
支援電腦上已啟用 RDMA NIC 的 IP 位址。 使用 ipconfig 或 Get-NetIpAddress 來取得 IP 位址 |
投資失敗的秘訣:
確定這兩個 nic 都已啟用 RDMA (Get-NetAdapterRdma)
確保傳送 RDMA 流量時 RDMA 活動效能計數器遞增
請嘗試在 DUT/支援電腦上手動執行NdkPerfCmd.exe。 如果失敗,則可能是參數或網路驅動程式的 NDK API 不具問題。