-
NDIS filter driveretc/Log 2021. 3. 16. 04:26
출처 : msdn (docs.microsoft.com/en-us/windows-hardware/drivers/network/ndis-drivers)
※생략, 오역, 틀린 내용 있을 가능성 농후
NDIS
Network Driver Interface Specification
- NDIS 라이브러리는 네트워크 드라이버에서 네트워크 하드웨어를 추상화
- NDIS는 계층화된 네트워크 드라이버 간의 표준 인터페이스를 지정하여 네트워크 전송과 같은 상위 레벨 드라이버에서 하드웨어를 관리하는 하위 레벨을 가능성 농후
NDIS 드라이버 유형
Miniport driver
NDIS 라이브러리를 통해 NIC 및 상위 수준 드라이버와 통신, NDIS 계층에서 최하위에 위치
기능
- NIC를 통한 데이터 송수신 등 NIC 관리
- 필터 드라이버, 인터미디엇 드라이버, 프로토콜 드라이버와 같은 상위 계층 드라이버와 인터페이싱
Protocol driver
NDIS 드라이버 계층 구조에서 최상위에 위치
네트워크 프로토콜(TCP/IP)과 같은 프로토콜 스택을 실행하는 전송 계층 내 가장 낮은 계층의 드라이버
기능
- 어플리케이션에서 전송되는 데이터를 패킷에 복사하고, NDIS 함수를 호출하여 하위 레벨의 드라이버로 전송
- 하위 레벨에서 수신된 패킷을 받기 위해 프로토콜 인터페이스를 제공
- 수신된 데이터를 적당한 클라이언트 어플리케이션에 제공
Intermediate driver
프로토콜 드라이버와 미니포트 드라이버 사이에서 계층화됨.
필수적인 계층이 아니기에 개발자에 의해 추가될 수 있음
Filter driver
NDIS 6.0부터 도입됨
기능
- 프로토콜 드라이버와 미니포트 드라이버 간의 상호작용을 모니터링하고 수정할 수 있음
- NDIS Intermediate Driver보다 처리 오버헤드가 적음
Filter module은 필터 드라이버의 인스턴스, 필터 모듈은 일반적으로 미니포트 어댑터와 프로토콜 바인딩 사이에 계층화됨
NDIS 필터 드라이버 서비스
- 전송 요청을 시작하고 표시를 받음
- 송수신 데이터 경로에서 데이터 버퍼 순서를 수정하거나 타이밍을 수정
- 드라이버 스택의 전송 및 수신 데이터 경로 모두에서 네트워크 데이터 버퍼를 추가, 수정, 삭제함
- 쿼리를 시작하고 기본 드라이버에 OID 요청을 설정
- 쿼리를 필터링하고 기본 드라이버에 대한 OID 요청을 설정
- 기본 드라이버의 OID 요청 응답을 필터링
- 상위 드라이버에게 상태 표시를 발생시킴
- 하위 드라이버에서의 상태 표시를 필터링
- 접속하는 각 미니포트 어댑터의 레지스트리에서 구성 매개변수를 관리함
'etc > Log' 카테고리의 다른 글
마이크로소프트 오픈소스에 기여하다? (0) 2023.02.10 Filter driver에서 데이터 송신 (0) 2021.03.16 Network Data Structure (0) 2021.02.16 인턴일지 - NDIS filter driver (0) 2021.02.16