Очереди получения VMQ
Поставщик службы очереди виртуальных машин (VMQ) выделяет очереди получения VMQ. Оборудование сетевого адаптера назначает входящий пакет сетевых данных очереди, если пакет проходит тесты фильтра, заданные в очереди.
Очередь получения VMQ имеет следующие свойства:
Идентификатор очереди, уникальный для связанного сетевого адаптера.
Сходство процессоров для прерываний.
Фильтры, заданные в очереди.
Буферы получения, назначенные очереди.
Существует также очередь по умолчанию со следующими свойствами:
Очередь по умолчанию всегда существует. Необходимо выделить другие очереди.
Очередь по умолчанию получает пакеты, которые не проходят тесты фильтра для других очередей.
Драйверы минипорта выделяют общую память для буферов приема, связанных с VMQ. В зависимости от версии Windows Server драйверы мини-порта должны следовать рекомендациям по выделению буфера, описанным в следующих разделах:
Выделение общей памяти для буферов получения VMQ (Windows Server 2008 R2)
Выделение общей памяти для буферов приема VMQ (Windows Server 2012 и более поздних версий)
Требования к общей памяти VMQ предназначены для устранения потенциальных проблем безопасности виртуальных машин. Дополнительные сведения о проблемах с безопасностью VMQ см. в статье Проблемы безопасности с общей памятью виртуальной машины NDIS.
Выделение общей памяти для буферов получения VMQ (Windows Server 2008 R2)
Для NDIS 6.20 в Windows Server 2008 R2, если драйвер miniport поддерживает разделение данных пакетов на отдельные буферы lookahead, он может выделить общую память следующим образом:
Драйвер мини-порта выделяет общую память для буфера предварительного просмотра из адресного пространства операционной системы управления, работающей в родительском разделе Hyper-V. Буфер предварительного просмотра — это часть пакета, проверяемая операционной системой управления.
Драйвер мини-порта выделяет общую память для буфера после просмотра из адресного пространства гостевой операционной системы, работающей в дочернем разделе Hyper-V. Буфер post-lookahead — это часть пакета, проверяемая операционной системой на виртуальной машине.
Примечание Дочерний раздел Hyper-V также называется виртуальной машиной.
На следующем рисунке показана общая память в очередях, операционная система управления и гостевые операционные системы.
На рисунке каждый пакет в очереди отображается со сведениями заголовка, выделенными из адресного пространства операционной системы управления, и данными, выделенными из адресного пространства операционной системы на виртуальной машине.
Выделение общей памяти для буферов приема VMQ (Windows Server 2012 и более поздних версий)
Начиная с версии NDIS 6.30 разделение буферов приема VMQ на отдельные буферы lookahead больше не поддерживается. Драйвер мини-порта должен выделять память для каждого буфера получения из адресного пространства операционной системы управления.