네트워크 드라이버 인터페이스 사양

Network Driver Interface Specification

Network Driver Interface Specification(NDIS; 네트워크드라이버 인터페이스 사양)은 Network Interface Controller(NIC; 네트워크인터페이스 컨트롤러)Application Programming Interface(API; 애플리케이션프로그래밍 인터페이스)입니다.

사양

마이크로소프트와 3Com Corporation이 공동으로 개발했으며 주로 마이크로소프트 윈도우즈에서 사용됩니다.단, 오픈소스 NDWrapperProject Evil 드라이버 래퍼 프로젝트에서는 Linux, FreeBSDNetBSD에서 많은 NDIS 준거 NIC를 사용할 수 있습니다.Magnussoft ZETA는 다수의 NDIS 드라이버를 지원합니다.

NDIS는 Logical Link Control(LLC; 논리링크 제어) 서브레이어를 형성합니다.LLC 서브레이어는 OSI 데이터 링크레이어(레이어 2)의 상위 서브레이어입니다.따라서 NDIS는 데이터 링크층의 하위 서브레이어인 Media Access Control(MAC; 미디어 액세스컨트롤) 서브레이어와 네트워크층(레이어 3) 사이의 인터페이스로서 기능합니다.

NDIS는 NIC 하드웨어의 기본적인 복잡성을 숨기고 수준 3 네트워크 프로토콜 드라이버 및 하드웨어 레벨 MAC 드라이버의 표준 인터페이스 역할을 하는 "래퍼"라고 불리는 기능의 라이브러리입니다.

다양한 Windows 버전에서 지원되는 NDIS 버전은 다음과 같습니다.[1]

NIC가 받아들이는 트래픽은 NDIS Miniport[14] Driver에 의해 제어되며 TCP/IP 등의 다양한 프로토콜은 NDIS Protocol [15]Driver에 의해 구현됩니다.단일 미니포트를 하나 이상의 프로토콜과 연결할 수 있습니다.즉, 미니포트에 착신하는 트래픽은 여러 개의 프로토콜 드라이버에 의해 병렬로 수신될 수 있습니다.예를 들어 Winpcap은 수신 패킷을 캡처하기 위해 선택한 미니포트에 두 번째 프로토콜 드라이버를 추가합니다.또한 단일 물리 NIC에서 트래픽을 송수신하는 가상 미니포트 드라이버를 구현하여 여러 가상 NIC를 시뮬레이션할 수 있습니다.가상 미니포트 드라이버의 사용 예로는 각각 다른 VLAN을 가진 가상 NIC를 추가하는 것이 있습니다.실장에서는, 다른 드라이버가 같은 버퍼를 수신했다고 가정할 수 없기 때문에, 착신 버퍼는 읽기 전용으로 취급해, 패킷의 내용을 변경하는 드라이버는 자신의 버퍼를 할당할 필요가 있습니다.NDIS Miniport 드라이버는 Windows 드라이버 모델 인터페이스를 사용하여 네트워크 [16]하드웨어를 제어할 수도 있습니다.

또 다른 드라이버 타입은 NDIS Intermediate Driver 입니다.중간 드라이버는 MAC 레이어와 IP 레이어 사이에 배치되어 NIC가 받아들이는 모든 트래픽을 제어할 수 있습니다.실제로 중간 드라이버는 미니포트 인터페이스와 프로토콜 인터페이스를 모두 구현합니다.미니포트 드라이버 및 프로토콜 드라이버는 실제로 중간 드라이버에 있는 해당 미니포트 및 프로토콜 인터페이스와 통신합니다.이 설계를 통해 미니포트와 프로토콜 드라이버 사이에 여러 개의 체인된 중간 드라이버를 추가할 수 있습니다.따라서, 드라이버 벤더는, 트래픽을 송신하는 인터페이스가 체인의 마지막 드라이버에 의해서 실장되고 있는 것을 전제로 할 수 없습니다.NDIS 를 사용해 애플리케이션을 기술하려면 , Microsoft 의 Windows 드라이버 키트(WDK)에 부속의 샘플을 사용할 수 있습니다."PassThru" 샘플은 이 드라이버 유형에 필요한 모든 세부 정보를 구현하지만 체인의 다음 드라이버로 트래픽을 전달하기 때문에 중간 드라이버의 출발점이 됩니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ "Overview of NDIS versions - Windows drivers". docs.microsoft.com. Retrieved 2020-03-24.
  2. ^ Network Drivers (Windows Embedded CE 6.0)
  3. ^ What's New (Windows Embedded Compact 7)
  4. ^ aviviano. "Introduction to NDIS 6.50 - Windows drivers". docs.microsoft.com. Retrieved 2022-07-12.
  5. ^ aviviano. "Introduction to NDIS 6.60 - Windows drivers". docs.microsoft.com. Retrieved 2022-07-12.
  6. ^ aviviano. "Introduction to NDIS 6.70 - Windows drivers". docs.microsoft.com. Retrieved 2022-07-12.
  7. ^ aviviano. "Introduction to NDIS 6.80 - Windows drivers". docs.microsoft.com. Retrieved 2022-07-12.
  8. ^ aviviano. "Introduction to NDIS 6.81 - Windows drivers". docs.microsoft.com. Retrieved 2022-07-12.
  9. ^ aviviano. "Introduction to NDIS 6.82 - Windows drivers". docs.microsoft.com. Retrieved 2022-07-12.
  10. ^ aviviano. "Introduction to NDIS 6.83 - Windows drivers". docs.microsoft.com. Retrieved 2022-07-12.
  11. ^ aviviano. "Introduction to NDIS 6.84 - Windows drivers". docs.microsoft.com. Retrieved 2022-07-12.
  12. ^ aviviano. "Introduction to NDIS 6.85 - Windows drivers". docs.microsoft.com. Retrieved 2022-07-12.
  13. ^ aviviano. "Introduction to NDIS 6.86 - Windows drivers". docs.microsoft.com. Retrieved 2022-07-12.
  14. ^ "Deserialized NDIS Miniport Drivers - Windows drivers".
  15. ^ "Introduction to NDIS Protocol Drivers - Windows drivers".
  16. ^ "NDIS Miniport Drivers with a WDM Lower Edge - Windows drivers".

외부 링크