Обзор виртуализации сети с помощью разгрузки задачи универсальной инкапсуляции маршрутизации (NVGRE)
Формат пакета инкапсуляции NVGRE
В этом случае драйвер протокола или фильтра создает (не LSO) пакеты, включая инкапсуляцию GRE, и отправляет пакеты по сети. На стороне получения эти пакеты (не RSS, VMQ) передаются драйверу протокола без каких-либо изменений. Обратите внимание, что функция разгрузки задач NVGRE не определяет разгрузку операций инкапсуляции и декапсуляции.
Отправка и получение разгрузки
В пути отправки следующие разгрузки задач должны учитывать инкапсуляцию:
- Вычисление контрольной суммы полезных данных IPv4 и TCP или UDP
- Разгрузка большой отправки версии 1 (LSO_v1) и разгрузка большой отправки версии 2 (LSO_v2)
- Разгрузка сегментации UDP (USO)
Для разгрузки на стороне отправки минипорт должен выполнять соответствующие операции с заголовком IP-адреса туннеля (внешнего), транспортным (внутренним) IP-заголовком и заголовком TCP.
В пути получения следующие разгрузки задач должны учитывать инкапсуляцию:
- Проверка контрольной суммы полезных данных IPv4 и TCP или UDP
- Масштабирование на стороне получения (RSS)
- VMQ
Для разгрузки на стороне получения сетевой адаптер должен анализировать заголовки протокола инкапсуляции. Например, для инкапсуляции GRE сетевой адаптер должен проанализировать заголовок GRE и выполнить разгрузку задач в транспортных (внутренних) и /или туннелях (внешних) IP-заголовках.