다음을 통해 공유


LAN 테스트 필수 구성 요소

이 섹션에서는 Windows HLK(Hardware Lab Kit)를 사용하여 네트워크 어댑터를 테스트하기 전에 완료해야 하는 LAN(이더넷) 테스트 필수 구성 요소에 대해 설명합니다.

참고

이 내용은 독립 실행형 네트워크 어댑터와 통합 네트워크 디바이스 모두에 적용됩니다.

문서 용어

디바이스 역할 인터페이스 별칭

테스트 머신, 테스트 대상(DUT)

이름이 필요하지 않습니다. HLK 작업에서 자동으로 선택합니다.

테스트 머신, 메시지 디바이스

MessageDevice

지원 머신, 지원 디바이스

SupportDevice0

지원 머신, 메시지 디바이스

MessageDevice

LWF 드라이버

NDIS 경량 필터 드라이버

컴퓨터 토폴로지

다음 다이어그램에서는 권장되는 머신 토폴로지를 보여 줍니다. 이와 다른 토폴로지는 테스트를 올바르게 실행하기 위해 추가 작업이 필요할 수 있으므로 권장하지 않습니다.

LAN 머신 토폴로지

이는 모든 LAN 디바이스(QoS 및 Chimney를 지원하는 디바이스 포함)에 적용되는 토폴로지입니다.

네트워크 어댑터 테스트에 대한 컴퓨터 토폴로지

최근 개발되어 "[네트워크 어댑터]" 또는 "[테스트 이름]" 접두사가 제목에 추가된 HLK 테스트는 단일 머신 테스트이며 해당 머신에 3개의 네트워크 어댑터가 필요합니다. 인터페이스 별칭 이름은 다음과 같습니다.

  1. TestDevice: 테스트 대상 네트워크 디바이스입니다.
  2. SupportDevice0: 추가 지원 네트워크 카드가 필요하며, TestDevice와 연속적으로 연결됩니다.
  3. MessageDevice: HLK 컨트롤러와 통신하는 데 사용됩니다.

다음 다이어그램에서는 권장되는 토폴로지를 보여 줍니다.

lan_machine_topology_NetworkAdapter 테스트

연결 테스트

스위치(VLAN 구성 오류, 흐름 제어 패킷 등)를 통해 테스트를 방해하지 않을 수 있으므로 일반적으로 연속 연결이 기본적으로 설정됩니다.

네트워크 스위치가 결과를 방해할 수 있는 테스트에는 연속 연결이 필요합니다. 이러한 테스트에는 다음이 포함됩니다.

  • QoS(DCB라고도 함)(우선 흐름 제어, LLDP/DCBX interop, ETS(일부 스위치에서 802.1p 태그를 제거할 수 있음)

  • Tx 흐름 제어

  • 802.1q-tagged(VlanSendRecv, VMQ, 1c_priority, 기타 항목)를 보내는 테스트

백채널/회사 네트워크

백채널 스위치는 테스트 머신에서 HLK 컨트롤러와 통신하는 데 사용하는 것과 동일한 네트워크인 것이 좋습니다. 이 네트워크에서 DHCP를 사용하도록 설정하는 것이 좋습니다.

컴퓨터 요구 사항

머신 요구 사항은 종종 테스트 대상에서 지원하는 기능에 따라 결정되는 경우가 많습니다. 클라이언트 SKU에 대한 인증에는 2개의 처리 코어가 필요하고, 서버 SKU에 대한 인증에는 4개의 처리 코어가 필요합니다.

참고

코어라는 용어는 가상 또는 하이퍼 스레드 코어가 아니라 물리적 처리 코어를 나타냅니다. 디바이스에서 아래와 같은 고급 기능을 지원하는 경우 최소 시스템 요구 사항이 증가할 수 있습니다.

  • Wake-on-LAN: 시스템에서 전원 관리(S3)를 지원해야 합니다.

  • RSS: 디바이스에서 지원하는 최대 4개의 물리적 코어 또는 기본 RSS 큐 수

    • 예: 1G NIC에서 2개의 큐를 지원하는 경우 필요한 코어 수는 4개입니다.

    • 예: 10G NIC에서 8개의 큐를 지원하는 경우 필요한 코어 수는 8개입니다.

  • 서버/QoS: 시스템에서 최대 연결 속도의 90%를 포화시킬 수 있어야 합니다.

  • QoS: 스토리지 대상에서 최대 연결 속도의 20%로 씁니다.

참고

전송/수신 패킷 손실 문제가 테스트 전체에서 자주 발생하는 경우 선택적 일시 중단 문제가 아닐 수 있습니다.

참고

서버에서 사용할 제품을 인증하려면 테스트 컴퓨터에서 4개의 프로세서와 최소 1GB의 RAM을 지원해야 합니다. 이러한 시스템 기능은 디바이스 및 드라이버의 리밸런스, D3 상태 및 여러 프로세서 그룹 기능을 테스트하는 데 필요합니다. 실제로 64개 이상의 프로세서가 있는 컴퓨터는 디바이스를 테스트하는 데 필요하지 않습니다. 또한 디바이스 또는 드라이버를 테스트하는 데 사용되는 서버 시스템에는 테스트 전에 Server Core가 설치되어 있어야 합니다. 자세한 내용은 Windows Server 설치 옵션을 참조하세요.

테스트 컴퓨터 풀을 사용하여 디바이스를 테스트하는 경우 풀에 있는 하나 이상의 컴퓨터에는 4개의 프로세서와 최소 1GB의 RAM이 있어야 합니다. 또한 해당 컴퓨터에는 테스트하려는 디바이스와 드라이버가 포함되어 있어야 합니다. 풀의 모든 컴퓨터에서 드라이버가 동일한 경우 시스템은 모든 테스트 컴퓨터에 대해 실행할 일정을 만듭니다.

하드 디스크 드라이브 테스트와 같이 테스트할 드라이버가 포함되지 않은 테스트의 경우 Windows HLK 스케줄러는 기본 테스트 컴퓨터에서 실행할 디바이스 및 드라이버의 리밸런스, D3 상태, 여러 프로세서 그룹 기능의 유효성을 검사하는 테스트를 제한합니다. 이 컴퓨터는 여러 프로세서 그룹을 갖도록 수동으로 구성해야 합니다. 기본 컴퓨터는 목록의 첫 번째 테스트 컴퓨터입니다. 테스트 담당자는 목록의 첫 번째 테스트 컴퓨터에서 최소 하드웨어 요구 사항을 충족하는지 확인해야 합니다.

참고

반가상화 드라이버를 제외하고(WHCP 정책 및 프로세스 문서에 정의된 대로) 서버 인증 또는 서명에 대해 물리적 디바이스 및 관련 드라이버를 테스트하는 경우 어떤 형태의 가상화도 사용할 수 없습니다. 모든 가상화 제품은 여러 프로세서 그룹, 디바이스 전원 관리, 디바이스 PCI 기능 및 기타 테스트와 관련된 테스트를 통과하는 데 필요한 기본 기능을 지원하지 않습니다.

참고

  여러 프로세서 그룹 설정의 경우 인증을 위해 Windows Server 2008 R2 이상 장치 드라이버의 Hardware Lab Kit 테스트에 대한 프로세서 그룹 크기 값을 설정해야 합니다. 이 작업은 /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

참고

코드 무결성 설정

Windows Server 2016의 VBS(가상화 기반 보안) 기능은 먼저 서버 관리자를 통해 사용하도록 설정해야 합니다.

이 작업이 수행되면 다음 레지스트리 키를 만들고 설정해야 합니다.

HKLM\System\CurrentControlSet\Control\DeviceGuard
HypervisorEnforcedCodeIntegrity:REG_DWORD
0 or 1 (disabled, enabled)

컴퓨터 구성

일부 테스트에는 테스트 작업에서 자동으로 처리하지 않거나 처리할 수 없는 고유한 구성이 필요합니다. 아래 목록에서는 고유한 구성이 필요한 테스트를 간략하게 설명합니다.

QosStorageInterop

DUT 머신의 테스트 대상은 iSCSI 또는 SMB를 사용하여 네트워크 기반 스토리지에 연결되어 있어야 합니다. 테스트 머신 토폴로지는 테스트 네트워크가 연속으로 연결되므로 지원 머신도 스토리지 대상으로 사용해야 합니다. 즉, 소프트웨어 iSCSI 대상을 SUT에 구성하거나 SMB 공유를 공유해야 합니다. DUT 머신은 스토리지 대상을 드라이브 문자에 매핑해야 하며, 사용자는 이 연결이 백채널 네트워크가 아닌 테스트 네트워크를 통해 흐르도록 해야 합니다. 구성되면 예약 시간에 두 개의 추가 매개 변수를 이 작업에 입력해야 합니다.

  • 드라이브 문자

  • 스토리지 모드(iSCSI 또는 ND(네트워크 다이렉트))

선택적 일시 중단

NDIS 선택적 일시 중단 기능은 테스트 결과에 부정적인 영향을 줄 수 있습니다. 대부분의 네트워크 인증 테스트에서는 디바이스의 전원이 켜져 있고 해당 디바이스가 즉시 사용할 수 있는 상태라고 가정합니다. 따라서 대부분의 테스트에서 트래픽을 빠르게 보내거나 받을 수 있으며, 모든 패킷을 적절하게 보내거나 받을 필요가 있습니다. 디바이스가 저 전원(선택적 일시 중단) 상태인 경우 디바이스를 다시 시작하는 데 시간이 약간 걸리므로 다시 시작 기간 동안 패킷 손실이 발생할 수 있습니다.

다음 사항에 해당하는 경우 *SelectiveSuspend를 사용하지 않도록 구성(NDIS 드라이버의 경우)하거나 *IdleRestriction을 사용하도록 구성(NetAdapterCx 2.2+ 드라이버의 경우)하는 것이 좋습니다(참고: 인증 테스트를 실행하는 동안 기본값을 변경하지 않고 작동 값만 변경함).

  • 고객에게 선택적 일시 중단 가능 디바이스가 있습니다.

  • 보내기/받기 테스트에서 패킷 손실 문제가 발생합니다.

  • 보내기/받기 테스트 패킷 손실 문제가 지정된 테스트의 첫 번째 변형에만 있습니다.

또는 미니포트의 [디바이스 관리자] 속성에 있는 [전원 관리] 탭에서 "전원을 절약하기 위해 컴퓨터가 이 디바이스를 끌 수 있음"을 선택 취소할 수 있습니다.

HW QOS 테스트

"HW QoS*" 테스트에서 SR-IOV는 사용 가능한 VF vPort와 함께 활성 상태여야 합니다. 일부 하드웨어에서는 네트워크 어댑터에서 SR-IOV를 사용하도록 설정하고 VF vPort 가용성을 보급하기 위해 Hyper-V를 설치해야 합니다. 따라서 "HW QoS" 테스트를 실행하려면 먼저 Hyper-V를 설치하는 것이 좋습니다.

네트워크 디바이스 선택의 변경 내용 개요

LAN 디바이스 테스트의 경우 메시지 및 지원 어댑터는 더 이상 UI를 사용하여 선택되지 않으며 네트워크 토폴로지에 따라 자동으로 검색됩니다. 네트워크 토폴로지가 권장 토폴로지와 다르므로 자동 검색이 실패하는 경우 테스트를 실행하기 전에 테스트 및 지원 머신에서 디바이스 이름을 바꿔야 합니다. 이름 바꾸기는 다른 위치 중에서 [네트워크 연결] 창에 표시되는 디바이스의 "ifAlias"를 나타냅니다.

이름 바꾸기가 필요한 경우 지원 머신의 지원 디바이스 이름을 "SupportDevice0"으로 바꿔야 합니다. 테스트 및 지원 머신 모두의 메시지 디바이스 이름을 "MessageDevice"로 바꿔야 합니다.

네트워크 연결 대화 상자

자동 디바이스 선택 조건

테스트 및 지원 머신은 그림 4와 동일한 구성으로 설정해야 하며, 테스트에 포함되지 않은 다른 모든 이더넷 디바이스/포트는 연결을 끊거나 사용하지 않도록 설정해야 합니다. 테스트 작업은 조건(이더넷 디바이스, 링크 연결됨, 사용하도록 설정됨, TCP 바인딩됨, DHCP를 사용하여 할당된 IP 주소)을 사용하여 메시지 디바이스를 찾습니다. DHCP 할당 주소가 있는 어댑터가 없는 경우 검색에는 고정 IP 주소가 있는 어댑터가 포함됩니다. 메시지 어댑터는 일반적으로 HLK 컨트롤러 및 일반 회사 네트워크에 연결됩니다. 메시지 디바이스가 있으면 작업에서 이더넷 디바이스이고 링크가 연결되고 사용하도록 설정된 지원 디바이스에 대해 나머지 어댑터를 검색합니다.

연속 연결

HLK에서 LAN 테스트 실행

컨트롤러 및 클라이언트 머신을 설정하는 방법에 대한 내용은 HLK 도움말을 참조하세요. 이 문서에서는 HLK에서 LAN 콘텐츠를 실행하는 방법에 대해서만 설명합니다.

컨트롤러 및 클라이언트 머신이 설정되면 다음 단계에 따라 LAN 테스트를 실행합니다.

  1. HLK Studio에서 프로젝트를 만듭니다.

  2. 새 머신 풀을 만들고, 새로 만든 풀에 설정된 클라이언트 머신을 추가하고, 머신 상태를 '준비'로 표시합니다.

  3. 위의 디바이스 선택 조건 섹션에서 설명한 대로 테스트 머신과 지원 머신이 연결되어 있는지 확인합니다.

  4. HLK Studio의 선택 탭에서 테스트할 디바이스/드라이버(예: 디바이스 관리자 또는 소프트웨어 디바이스)만 선택합니다.

  5. HLK Studio의 테스트 탭에 있는 목록에 표시되는 작업을 선택합니다.

  6. 선택한 항목 실행을 클릭하고, 테스트 실행에 대한 지원 머신을 선택한 다음, 확인을 클릭합니다.

필터 로고 테스트 실행

다음 단계를 사용하여 LWF(경량 필터) 로고 테스트를 실행합니다.

  1. DTM 서버 및 DTM 클라이언트 머신을 설정/구성합니다. 필터 로고 테스트에는 하나의 클라이언트 머신만 필요합니다.

  2. LWF 드라이버를 클라이언트 머신에 설치합니다.

  3. 클라이언트 머신을 다시 시작합니다.

  4. DTM 서버에서 LWF가 설치된 클라이언트를 새 머신 풀에 추가하고, 머신 상태를 '준비'로 변경합니다.

  5. HLK Studio에서 HLK Studio의 '프로젝트' 탭 아래에서 새 프로젝트를 만듭니다.

  6. HLK Studio의 '선택' 탭에 있는 드롭다운에서 이전 단계에서 만든 머신 풀을 선택합니다.

  7. 소프트웨어 디바이스를 클릭하고, 테스트하려는 설치된 LWF 드라이버를 선택합니다.

    LWF 로고 테스트

  8. LWF 드라이버에 대한 테스트 탭에 나열된 모든 테스트('NDISTest 6.5 - LWF 로고 테스트'에서 모든 LWF 요구 사항 확인)를 실행합니다.

NDISTest 6.5 - LWF 로고 테스트

이 테스트는 필터에서 미니포트의 MTU 크기보다 큰 패킷을 처리할 수 있는지 확인하여 LWF를 대상으로 지정합니다.

또한 이 테스트는 스트레스를 NDIS 필터 드라이버의 데이터 경로 및 PNP 경로에 제공하는 필터 스트레스 테스트를 실행합니다.  테스트는 상당한 수의 수신 표시가 수신 리소스 플래그와 함께 수행되도록 테스트 가상 미니포트 수신 설명자를 제한합니다.  그런 다음, 테스트에서 다음 작업을 다중 스레드 방식으로 수행합니다.

  • 지원 미니포트에서 테스트 미니포트로 전달되는 스트레스 트래픽

  • 테스트 미니포트에서 지원 미니포트로 전달되는 스트레스 트래픽

  • 테스트 미니포트 중지/시작(일시 중지 및 후속 다시 시작 작업을 트리거함).

  • 테스트 어댑터에서 미디어 연결 해제/연결을 나타냄

  • 테스트 어댑터 다시 설정

    마지막으로 테스트/지원 어댑터 간에 기본 전송 및 수신 연결을 테스트합니다.

NdkPerfLogoTests

이 테스트는 RDMA 트래픽을 DUT와 지원 머신 간에 보내고 받을 수 있는지 확인합니다. 이 테스트에서는 DUT 및 지원 모두의 네트워크 인터페이스를 RDMA 트래픽에 사용하도록 설정해야 합니다.

테스트는 DUT 및 지원 머신 모두에서 NdkPerfCmd.exe를 실행합니다. 그러면 NDK API를 호출하여 RDMA 트래픽을 DUT에서 지원 머신으로 보내는 ndkperf.sys 드라이버가 로드됩니다.

매개 변수

매개 변수 설명

ClientIf

DUT의 RDMA 사용 NIC에 대한 인터페이스 ID입니다. Get-NetAdapter를 사용하여 ID를 가져옵니다.

ClientAddr

DUT의 RDMA 사용 NIC에 대한 IP 주소입니다. ipconfig 또는 Get-NetIpAddress를 사용하여 IP 주소를 가져옵니다.

SupportIf

지원 머신의 RDMA 사용 NIC에 대한 인터페이스 ID입니다. Get-NetAdapter를 사용하여 ID를 가져옵니다.

SupportAddr

지원 머신의 RDMA 사용 NIC에 대한 IP 주소입니다. ipconfig 또는 Get-NetIpAddress를 사용하여 IP 주소를 가져옵니다.

투자 실패에 대한 팁:

  • 두 NIC 모두에서 RDMA가 사용하도록 설정되었는지 확인합니다(Get-NetAdapterRdma).

  • RDMA 트래픽을 보낼 때 RDMA 활동 성능 카운터가 증가하는지 확인합니다.

  • DUT/지원 머신에서 NdkPerfCmd.exe를 수동으로 실행해 봅니다. 실패하면 매개 변수 또는 네트워크 드라이버의 NDK API 구현과 관련된 문제가 있을 수 있습니다.

Device.Network 테스트