다음을 통해 공유


RSC 드라이버에 대한 프로그래밍 고려 사항

다음 섹션에서는 RSC(수신 세그먼트 병합) 지원 미니포트 드라이버를 구현할 때 고려해야 할 문제에 대해 설명합니다.

RSC 통계에 대한 쿼리에 응답

NDIS, 오버리싱 드라이버 및 사용자 모드 애플리케이션은 OID_TCP_RSC_STATISTICS OID를 사용하여 미니포트 어댑터의 RSC 통계를 가져옵니다. RSC 지원 미니포트 드라이버는 이 OID를 지원해야 합니다.

전달된 TCP 패킷

미니포트 드라이버는 호스트용이 아니지만 다른 인터페이스에서 전달되는 TCP 패킷의 세그먼트에서 RSC를 수행해서는 안 됩니다.

호스트 TCP/IP 스택은 전달이 사용하도록 설정된 모든 인터페이스에서 RSC를 사용하지 않도록 설정합니다. 약한 호스트 전달은 RSC에 영향을 주지 않습니다.

경량 필터 및 MUX 중간 드라이버에 대한 RSC 지원

모든 NDIS 6.30 경량 필터 드라이버는 링크 MTU(최대 전송 장치)보다 큰 수신 패킷을 지원해야 합니다. 세그먼트 크기 제한에 대한 자세한 내용은 병합된 세그먼트 표시를 참조하세요.

호스트 스택의 경량 필터 드라이버 또는 MUX 중간 드라이버가 NDIS 6.20 이하인 경우 NDIS는 인터페이스에서 RSC를 사용하지 않도록 설정합니다.

MUX 중간 드라이버는 인터페이스의 NDIS 버전이 6.30 이상인 경우에도 인터페이스에서 RSC를 사용하지 않도록 설정할 수 있습니다.

Windows WFP(필터링 플랫폼) 검사 및 콜아웃 드라이버

WFP 설명선 드라이버는 하나 이상의 커널 모드 필터링 계층에서 필터 엔진에 사용자 지정 설명선 함수를 추가하여 추가 필터링 기능을 제공합니다. 설명선은 심층 검사 및 패킷뿐만 아니라 스트림 수정도 지원합니다.

WFP 설명선 드라이버는 링크 MTU보다 큰 지원 수신 패킷 처리를 지원할 수 있습니다. 패킷 크기 제한에 대한 자세한 내용은 병합 세그먼트 추적 및 표시를 참조하세요. 이러한 WFP 설명선 드라이버는 다음을 수행해야 합니다.

  • 등록하는 동안 옵트인하여 큰 패킷을 처리합니다.

  • FWPS_CALLOUT2 구조체에 대한 참조 페이지에 지정된 대로 설명선 드라이버 플래그를 설정합니다.

큰 패킷을 처리하도록 옵트인하지 않은 설명선 드라이버가 등록될 때마다 WFP는 등록 컨텍스트에서 TCP/IP에 알립니다. 이 알림을 처리하는 과정의 일환으로 TCP/IP는 인터페이스에서 RSC를 사용하지 않도록 설정합니다.

설명선 등록 중에 활성 TCP 트래픽이 있는 경우 TCP/IP는 WFP에 알립니다. WFP는 RSC를 사용하지 않도록 설정할 때까지 등록된 필터 호출을 지연합니다. 이렇게 하면 큰 패킷으로부터 설명선 드라이버가 보호됩니다.