확장 가능한 스위치 인터페이스는 확장 가능한 스위치 구성 요소 구성 및 OID(확장 가능한 스위치 개체 식별자) 집합 요청을 실행하여 정책 매개 변수의 변경 내용에 대해 기본 확장에 알깁니다. 이러한 요청은 확장 가능한 스위치 구성 요소 구성 및 정책 매개 변수의 변경 내용을 기본 확장에 알리기 위해 확장 가능한 스위치의 프로토콜 에지에 의해 발급됩니다. 이러한 OID 요청은 확장 가능한 스위치 드라이버 스택을 통해 확장 가능한 스위치의 기본 미니포트 가장자리로 이동합니다.
다음 그림에서는 NDIS 6.40(Windows Server 2012 R2) 이상에 대한 OID 요청에 대한 확장 가능한 스위치 제어 경로를 보여 줍니다.
NDIS 6.40의 OID 요청에 대한 확장 가능한 스위치 제어 경로를 보여 주는
다음 그림에서는 NDIS 6.30(Windows Server 2012)에 대한 OID 요청에 대한 확장 가능한 스위치 제어 경로를 보여 줍니다.
참고 확장 가능한 스위치 인터페이스에서 NDIS 필터 드라이버를 확장 가능한 스위치 확장 이라고 하며 드라이버 스택은 확장 가능한 스위치 드라이버 스택입니다.
확장 가능한 스위치의 프로토콜 에지는 다음 유형의 알림에 대한 OID 집합 요청을 발급합니다.
확장 가능한 스위치의 포트 구성을 변경합니다.
예를 들어 프로토콜 드라이버는 확장 가능한 스위치에서 포트를 만드는 방법에 대해 기본 확장에 알리기 위해 OID_SWITCH_PORT_CREATE 발급합니다. 마찬가지로 프로토콜 드라이버는 포트 삭제에 대해 확장에 알리기 위해 OID_SWITCH_PORT_DELETE 발급합니다.
이러한 유형의 OID 알림에 대한 자세한 내용은 Hyper-V 확장 가능한 스위치 포트참조하세요.
확장 가능한 스위치의 포트에 대한 네트워크 어댑터 연결을 변경합니다.
프로토콜 드라이버는 OID_SWITCH_NIC_CONNECT을 발급하여 네트워크 어댑터가 확장 가능한 스위치의 포트에 연결되었음을 기본 확장에 알립니다. 마찬가지로 프로토콜 드라이버는 네트워크 어댑터가 포트에서 연결이 끊어졌는지 확장에 알리기 위해 OID_SWITCH_NIC_DISCONNECT 발급합니다.
이러한 유형의 OID 알림에 대한 자세한 내용은 Hyper-V 확장 가능한 스위치 네트워크 어댑터참조하세요.
확장 가능한 스위치 포트 또는 스위치 정책을 변경합니다.
예를 들어 프로토콜 드라이버는 확장 가능한 스위치 속성의 추가에 대해 기본 확장에 알리기 위해 OID_SWITCH_PROPERTY_ADD 발급합니다. 마찬가지로 프로토콜 드라이버는 포트 속성의 삭제에 대해 확장에 알리기 위해 OID_SWITCH_PORT_PROPERTY_DELETE 발급합니다.
이러한 유형의 OID 알림에 대한 자세한 내용은 Hyper-V 확장 가능한 스위치 정책 관리참조하세요.
참고 확장은 확장 가능한 스위치의 기본 미니포트 에지에 의해 관리되는 기본 포트 또는 스위치 정책의 변경 내용을 알리지 않습니다.
런타임 포트 데이터를 저장하거나 복원합니다.
예를 들어 프로토콜 드라이버는 확장 가능한 스위치에서 지정된 포트에 대한 런타임 데이터를 저장하도록 기본 확장에 알리기 위해 OID_SWITCH_NIC_SAVE 발급합니다. 이러한 OID는 Hyper-V 상태가 저장되거나 다른 호스트로 마이그레이션될 때 발급됩니다. 마찬가지로 프로토콜 드라이버는 확장 가능한 스위치에서 런타임 포트 데이터가 복원되고 있음을 확장에 알리기 위해 OID_SWITCH_NIC_RESTORE 발급합니다.
이러한 유형의 OID 알림에 대한 자세한 내용은 Hyper-V 확장 가능한 스위치 Run-Time 데이터관리를 참조하세요.
확장 가능한 스위치 확장 미니포트 드라이버는 이러한 OID 요청을 완료해야 합니다. 그러나 일부 확장 가능한 스위치 OID 요청을 사용하면 기본 확장이 OID 요청에 실패하여 알림을 거부할 수 있습니다. 예를 들어 확장 가능한 스위치 프로토콜 드라이버가 확장 가능한 스위치에 만들어질 새 포트에 대해 필터 드라이버에 알리면 OID_SWITCH_PORT_CREATEOID 집합 요청을 실행합니다. 기본 필터링 또는 전달 확장 프로그램은 STATUS_DATA_NOT_ACCEPTED OID 요청을 완료하여 포트 생성을 거부할 수 있습니다.
확장 가능한 스위치 확장은 확장 가능한 스위치 OID 요청에 대해 FilterOidRequest 함수가 호출되는 경우 다음 지침을 따라야 합니다.
확장은 OidRequest 매개 변수가 가리키는 데이터를 수정해서는 안됩니다.
확장 가능한 스위치 OID 요청의 경우 확장은 STATUS_DATA_NOT_ACCEPTED 사용하여 OID 요청을 완료할 수 있습니다. 이렇게 하면 OID 요청이 발급된 확장 가능한 스위치 구성 요소에 대한 작업이 거부됩니다.
예를 들어 확장은 STATUS_DATA_NOT_ACCEPTED 사용하여 OID_SWITCH_NIC_CREATE 요청을 완료할 수 있습니다. 드라이버가 네트워크 연결을 만드는 지정된 포트에서 구성된 정책을 충족할 수 없는 경우 이 작업을 수행해야 할 수 있습니다.
확장은 다음 OID에 대해 이러한 방식으로 요청을 완료할 수 있습니다.
확장이 OID 요청을 완료하지 않으면 NdisFOidRequest 호출하여 확장 가능한 스위치 드라이버 스택 아래로 요청을 전달해야 합니다.
참고 드라이버가 NdisFOidRequest호출하기 전에 드라이버는 NdisAllocateCloneOidRequest 호출하여 NDIS_OID_REQUEST 구조를 할당하고 요청 정보를 새 구조로 전송해야 합니다.
확장은 FilterOidRequestComplete 함수가 호출될 때 OID 요청의 완료 결과를 모니터링해야 합니다. 이렇게 하면 확장 가능한 스위치 구성 요소에 대한 작업이 성공적으로 완료되었는지 또는 기본 확장에 의해 거부되었는지 여부를 확인할 수 있습니다.
OID 요청을 필터링하고 전달하는 방법에 대한 자세한 내용은 NDIS 필터 드라이버 필터링 OID 요청을 참조하세요.
NDIS 및 과도하게 사용되는 프로토콜 및 필터 드라이버는 하드웨어 오프로드 기술에 대한 OID 요청을 기본 물리적 네트워크 어댑터에 발급할 수 있습니다. 여기에는 VMQ(가상 머신 큐), IPsec(인터넷 프로토콜 보안) 및 단일 루트 I/O 가상화(SR-IOV)와 같은 오프로드 기술에 대한 OID 요청이 포함됩니다.
이러한 OID 요청이 확장 가능한 스위치 인터페이스에 도착하면 NDIS_SWITCH_NIC_OID_REQUEST내에서 OID 요청을 캡슐화합니다. 그런 다음 확장 가능한 스위치의 프로토콜 에지가 이 구조를 포함하는 OID_SWITCH_NIC_REQUEST OID 요청을 실행합니다.
확장 가능한 스위치 전달 확장은 외부 네트워크 어댑터에 바인딩된 하나 이상의 물리적 어댑터에서 NDIS 하드웨어 오프로드 기술을 지원할 수 있습니다. 이 구성에서 확장 가능한 스위치 외부 네트워크 어댑터는 NDIS MUX(멀티플렉서) 중간 드라이버의 가상 미니포트 에지에 바인딩됩니다. MUX 중간 드라이버는 호스트에 있는 하나 이상의 물리적 네트워크 팀에 바인딩됩니다. 이 구성은 확장 가능한 스위치 팀 라고 알려져 있습니다. 확장 가능한 스위치 팀에 대한 자세한 내용은 유형의 물리적 네트워크 어댑터 구성참조하세요.
이 구성에서는 확장 가능한 스위치 확장이 팀의 모든 네트워크 어댑터에 노출됩니다. 이렇게 하면 확장 가능한 스위치 드라이버 스택의 전달 확장이 팀의 개별 네트워크 어댑터 구성 및 사용을 관리할 수 있습니다. 예를 들어 확장은 개별 어댑터에 나가는 패킷을 전달하여 팀을 통해 LBFO(부하 분산 장애 조치) 솔루션을 지원할 수 있습니다. 이러한 확장은 협업 제공자로 알려져 있습니다. 팀 공급자에 대한 자세한 내용은 팀 공급자 확장참조하세요.
팀 공급자는 OID_SWITCH_NIC_REQUESTOID 요청을 처리하여 하드웨어 오프로드에 대한 어댑터 팀의 구성에 참여할 수 있습니다. 예를 들어 확장은 하드웨어 오프로드에 대한 매개 변수를 사용하여 물리적 어댑터를 구성하는 OID_SWITCH_NIC_REQUEST 자체 OID 요청을 생성할 수 있습니다.
OID_SWITCH_NIC_REQUEST OID 요청을 처리하는 방법에 대한 자세한 내용은 OID 요청을 물리적 네트워크 어댑터로 전달하기를참조하세요.
참고 확장 필터 드라이버는 확장 가능한 스위치 외부 네트워크 어댑터에 바인딩된 물리적 어댑터에 프라이빗 OID를 발급하기 위해 OID_SWITCH_NIC_REQUEST OID 요청을 생성할 수 있습니다.
확장 가능한 스위치 OID 요청이 보류 중인 동안 NdisFRestartFilter을 사용한 스택 재시작 요청은 완료되지 않습니다. 이러한 이유로 스택 다시 시작을 기다리는 확장은 진행 중인 OID 요청을 완료해야 합니다.
확장 가능한 스위치 OID 요청에 대한 제어 경로에 대한 자세한 내용은 Hyper-V OID 요청대한 확장 가능한 스위치 제어 경로를 참조하세요.