Сбор данных о расширениях
Hyper-V расширяемый коммутатор с фиксирующим расширением анализирует трафик пакетов, запросы идентификатора объекта (OID) и состояния NDIS. Этот тип расширения не может изменять или удалять пакеты или исключать пакеты из доставки в расширяемые порты коммутатора. Однако захват расширений может инициировать пакетный трафик, например, пакеты, содержащие статистику трафика, которую расширение отправляет в хост-приложение.
Захватывающие расширения вызываются в начале пути входящего трафика и в конце пути исходящего трафика. Дополнительные сведения об этих путях данных см. в расширяемом коммутаторе Hyper-V.
Расширение записи имеет следующие требования и ограничения:
Расширение записи должно быть разработано как драйвер фильтра NDIS, поддерживающий расширяемый интерфейс коммутатора.
Дополнительные сведения о драйверах фильтров см. в драйверах фильтров NDIS.
Для получения дополнительной информации о том, как написать расширение-перехватчик, см. Написание Hyper-V расширений для расширяемого коммутатора.
Расширение записи предоставляет те же функции, что и стандартный драйвер фильтра мониторинга NDIS. Однако INF-файл для расширения захвата должен установить его в качестве драйвера модифицирующего фильтра.
Дополнительные сведения об изменении драйверов фильтров см. в типах драйверов фильтров.
Дополнительные сведения о требованиях INF для изменения драйверов фильтров см. в настройке INF-файла длядрайвера изменения фильтра.
Расширение для перехвата может отслеживать пакеты на входящем и исходящем пути данных расширяемого коммутатора. Однако этот тип расширения всегда должен вызывать NdisFSendNetBufferLists, чтобы перенаправлять пакеты в базовые драйверы в стеке драйверов расширяемого коммутатора и не завершать их.
Расширение для захвата не должно изменять данные в пакетах и также не добавлять назначения портов в внеполосные данные пакета. Расширение не должно исключить доставку пакета в любой расширяемый порт коммутатора.
Расширение для захвата может генерировать пакеты. Например, расширение может генерировать пакеты, чтобы сообщить о состоянии трафика в приложение удаленного мониторинга.
Дополнительные сведения об отправке пакетов расширением см. в разделе "Исходящий трафик пакетов".
Примечание Как и в других расширениях, расширение захвата может создавать только пакетный трафик в пути данных входящего трафика расширяемого коммутатора.
Расширение для захвата может отслеживать пакеты, запросы OID и индикации состояния NDIS, которые передаются в стеке драйвера расширяемого коммутатора. Однако этот тип расширения должен пересылать пакеты, запросы OID и индикаторы состояния NDIS через расширяемый стек драйверов коммутаторов. Расширение не должно изменять данные в пакетах, запросах OID или статусных указаниях NDIS, которые оно отслеживает.
Значение FilterClass в INF-файле для расширения должно иметь значение ms_switch_capture. Для получения дополнительной информации см. раздел о требованиях к INF для расширений расширяемого коммутатора Hyper-V.
Любое количество записываемых расширений может быть привязано к расширяемому экземпляру коммутатора. По умолчанию несколько расширений захвата упорядочиваются в зависимости от того, когда они были установлены. Например, в стеке расширяемого драйвера коммутатора расположены несколько расширений захвата, где последнее установленное расширение находится выше других расширений захвата в стеке.
Как только расширяемый коммутатор привязан к экземпляру, порядок слоев улавливающих расширений в стеке драйверов коммутатора можно изменить. Дополнительные сведения см. в разделе Переупорядочивание Hyper-V расширяемые расширения коммутатора.