다음을 통해 공유


네트워크 드라이버 디자인 가이드 탐색

Microsoft Windows 기반 운영 체제는 여러 유형의 커널 모드 네트워크 드라이버를 지원합니다. WDK(Windows 드라이버 키트) 설명서의 네트워크 섹션에서는 이러한 네트워크 드라이버를 작성하는 방법을 설명합니다. 이 항목에서는 지원되는 유형의 네트워크 드라이버에 대해 간략하게 설명하고 각 유형의 네트워크 드라이버를 작성하기 전에 읽어야 하는 네트워크 섹션에 대해 설명합니다.

이 네트워크 드라이버 디자인 가이드는 다음과 같은 NDIS(네트워크 드라이버 인터페이스 사양) 인터페이스를 문서화합니다.

  • Windows 8.1, Windows Server 2012 R2 이상 버전의 Windows에서 지원되는 NDIS 6.40. NDIS 6.30에는 NDKPI(네트워크 직접 커널 공급자 인터페이스) 1.12에 대한 지원이 포함되어 있습니다.

    NDIS 6.30에 대한 자세한 내용은 NDIS 6.40 소개를 참조하세요.

  • NDIS 6.30은 Windows 8, Windows Server 2012 이상 버전의 Windows에서 지원됩니다. NDIS 6.30에는 SR-IOV(단일 루트/I/O 가상화), Hyper-V 확장 가능 스위치, NDKPI(네트워크 직접 커널 공급자 인터페이스) 1.1 및 기타 서비스에 대한 지원이 포함됩니다.

    NDIS 6.30에 대한 자세한 내용은 NDIS 6.30 소개를 참조하세요.

  • NDIS 6.20은 Windows 7, Windows Server 2008 R2 및 이후 버전의 Windows에서 지원됩니다. NDIS 6.20에는 VMQ(Virtual Machine Queue), 수신 쪽 스로틀 및 기타 서비스에 대한 지원이 포함됩니다.

    NDIS 6.20에 대한 자세한 내용은 NDIS 6.20 소개를 참조하세요.

  • NDIS 6.1은 Windows Vista SP1(서비스 팩 1), Windows Server 2008 이상 버전의 Windows에서 지원됩니다. NDIS 6.1에는 헤더 데이터 분할, 직접 OID 요청 및 기타 서비스에 대한 지원이 포함됩니다.

    NDIS 6.1에 대한 자세한 내용은 NDIS 6.1 소개를 참조하세요.

  • Windows Vista 이상 버전의 Windows에서 지원되는 NDIS 6.0. NDIS 6.0에는 필터 드라이버 및 이전 NDIS 버전에서 제공하지 않은 많은 추가 서비스에 대한 지원이 포함되어 있습니다. NDIS 6.0에는 런타임에 드라이버 재구성에 필요한 지원과 네트워크 패킷 데이터 처리를 위한 NET_BUFFER 아키텍처를 포함하여 드라이버 초기화 및 네트워크 데이터 관리에 대한 주요 업데이트가 포함되어 있습니다. 런타임 재구성을 지원하는 방법에 대한 자세한 내용은 드라이버 스택 관리를 참조하세요. NDIS 6.0에서 네트워크 패킷 데이터를 처리하는 방법에 대한 자세한 내용은 NET_BUFFER 아키텍처를 참조하세요.

    NDIS 6.0에 대한 자세한 내용은 NDIS 6.0 소개를 참조하세요.

Windows Vista 이상 운영 체제 버전은 다음과 같은 유형의 커널 모드 NDIS 기반 네트워크 드라이버를 지원합니다.

미니포트 드라이버
미니포트 드라이버는 미니포트 어댑터를 관리하고 상위 수준 드라이버를 위한 어댑터에 대한 인터페이스를 제공합니다. 미니포트 어댑터는 물리적 디바이스 또는 가상 디바이스를 나타낼 수 있는 개념 엔터티입니다. 예를 들어 미니포트 어댑터는 NIC(네트워크 인터페이스 카드) 또는 중간 드라이버와 연결된 가상 디바이스를 나타낼 수 있습니다.

MCM(연결 지향 미니포트 호출 관리자), WDM(Windows 드라이버 모델) 미니포트 드라이버, 중간 드라이버의 위쪽 가장자리 등 다양한 미니포트 드라이버가 있습니다.

프로토콜 드라이버
프로토콜 드라이버는 드라이버 스택에서 상위 수준 서비스를 제공합니다. 프로토콜 드라이버는 기본 미니포트 어댑터에 바인딩됩니다. 상위 수준 프로토콜 드라이버는 네트워크 사용자에게 서비스를 제공하기 위해 애플리케이션별 인터페이스인 인터페이스를 위쪽 에지에 구현합니다. 낮은 에지에서 프로토콜 드라이버는 네트워크 데이터를 전달하고 다음 하위 드라이버에서 들어오는 데이터를 수신하는 프로토콜 인터페이스를 제공합니다.

MCM(연결 지향 호출 관리자), 연결 지향 클라이언트 및 중간 드라이버의 아래쪽 가장자리와 같은 프로토콜 드라이버의 다양한 변형이 있습니다.

필터 드라이버
필터 드라이버는 프로토콜 드라이버와 미니포트 드라이버 간의 인터페이스에 대한 정보를 필터링합니다. 필터 모듈은 프로토콜 드라이버와 미니포트 어댑터 간의 바인딩에 연결되며 일반적으로 다른 드라이버에 투명합니다. 필터 드라이버는 필터 수정 또는 모니터링을 구현할 수 있습니다. 예를 들어 필터 드라이버는 기본 미니포트 어댑터가 제공하는 서비스를 향상시키거나 단순히 통계를 수집할 수 있습니다.

중간 드라이버
상위 수준 프로토콜 드라이버와 미니포트 드라이버 간의 중간 드라이버 인터페이스입니다. 중간 드라이버는 상위 에지에 미니포트 드라이버 인터페이스를 제공하여 지나치게 많은 프로토콜 드라이버에 바인딩합니다. 중간 드라이버는 기본 미니포트 어댑터에 바인딩할 프로토콜 드라이버 인터페이스를 아래쪽 에지에 제공합니다. 중간 드라이버는 일반적으로 n ~ m 멀티플렉서 서비스를 구현하는 데 사용됩니다. 예를 들어 중간 드라이버는 부하 분산 및 장애 조치(failover) 솔루션을 구현할 수 있습니다.

중간 드라이버는 미니포트 중간 드라이버로 구성된 경우 하드웨어를 관리할 수도 있습니다.

Windows 네트워크 아키텍처 및 프로그래밍 고려 사항에 대한 자세한 내용은 Kernel-Mode 드라이버용 네트워크 아키텍처네트워크 드라이버 프로그래밍 고려 사항을 참조하세요.

네트워크 구성 요소를 설치하는 데 사용되는 네트워크 INF 파일에 대한 자세한 내용은 네트워크 구성 요소 설치를 참조하세요. 네트워크 드라이버에 바인딩을 제어하기 위해 알림 개체가 필요한 경우 네트워크 구성 요소에 대한 개체 알림도 참조하세요.

특정 하드웨어 기술 및 아키텍처를 사용하는 데 사용할 수 있는 추가 드라이버 모델은 다음과 같습니다.

기술 Description

확장 가능한 네트워킹

다음과 같이 네트워크 어댑터에 대한 작업의 오프로드를 지원하는 네트워킹 기술:

가상화된 네트워킹

다음과 같이 Hyper-V 가상화 환경을 지원하는 네트워킹 기술:

무선 네트워킹

네이티브 802.11 무선 LAN을 포함하는 네트워킹 기능.

네트워크 모듈 등록 기관

드라이버가 네트워크 모듈을 서로 연결할 수 있는 시스템 기능입니다.

Winsock 커널

커널 모드 NPI(네트워크 프로그래밍 인터페이스)입니다.

IP 도우미

드라이버가 로컬 컴퓨터의 네트워크 구성에 대한 정보를 검색하고 수정할 수 있도록 하는 유틸리티 함수 집합입니다.

Windows 필터링 플랫폼 콜아웃 드라이버

네트워크 데이터의 심층 검사, 패킷 수정, 스트림 수정 및 로깅을 가능하게 하는 커널 모드 인터페이스입니다.

시스템 영역 네트워크

Windows 소켓 다이렉트를 사용하여 고성능 연결 지향 네트워크를 지원하는 네트워크 연결 유형입니다.

RNDIS(원격 NDIS)

USB 버스를 통해 설정된 시스템 제공 버스 독립적 메시지를 정의하는 클래스 사양입니다.