Для студентов СПбГУ по предмету ДругиеРеализация поддержки TCP segmentation offload в программной симуляции устройства VirtIO-Net в QEMUРеализация поддержки TCP segmentation offload в программной симуляции устройства VirtIO-Net в QEMU
2024-08-062024-08-06СтудИзба
Курсовая работа: Реализация поддержки TCP segmentation offload в программной симуляции устройства VirtIO-Net в QEMU
Описание
Оглавление
2
3
Введение
Разработка сетевых карт является сложнейшей задачей, требующей огромной работы по их тестированию в связи с большим разнообразием способов взаимодействия с ними.
Одним из направлений работы компании ОКТЕТ Лабз1 является верификация сетевых карт, в частности таких, которые соответствуют интерфейсу карты VirtIO-Net, описанному в спецификации VirtIO [7]. Для этого компания разрабатывает программу, тестирующую такие се-тевые карты. Эту программу так же необходимо тестировать и отла-живать, как и любое программное обеспечение.
построить ожидания того, какими
Введение | 4 | |||
1. | Постановка задачи | 6 | ||
2. | Обзор | 7 | ||
2.1. | VirtIO и VirtIO-Net . . . . . . . . . . . . . . . . . . . . . . | 7 | ||
2.1.1. | Функциональныебиты . . . . . . . . . . . . . . . . | 7 | ||
2.1.2. | Псевдозаголовки.................... | 8 | ||
2.1.3. TSO........................... | 10 | |||
2.1.4. | Virtqueue . . . . . . . . . . . . . . . . . . . . . . . . | 11 | ||
2.2. | VirtIO-Net в QEMU . . . . . . . . . . . . . . . . . . . . . . | 11 | ||
2.3. | Обзор бэкэндов VirtIO-Net в QEMU . . . . . . . . . . . . | 12 | ||
2.3.1. | Netmap . . . . . . . . . . . . . . . . . . . . . . . . . | 13 | ||
2.3.2. TAP........................... | 14 | |||
2.3.3. | TAP-Win32 . . . . . . . . . . . . . . . . . . . . . . . | 17 | ||
2.3.4. Бэкэнды на основе Vhost . . . . . . . . . . . . . . . | 19 | |||
2.3.5. Vhost-Net . . . . . . . . . . . . . . . . . . . . . . . . | 20 | |||
2.3.6. | Vhost-VDPa . . . . . . . . . . . . . . . . . . . . . . | 21 | ||
2.3.7. | Vhost-user . . . . . . . . . . . . . . . . . . . . . . . | 21 | ||
3. | Реализация | 23 | ||
3.1. | Замечание о применимости существующей поддержки TSO | |||
длярешениязадачи...................... | 23 | |||
3.2. | Управление выполнением TSO во фронтенде . . . . . . . | 25 | ||
3.3. | Частичный подсчет контрольной суммы . . . . . . . . . . | 25 | ||
3.4. | TSO............................... | 27 | ||
3.4.1. | План .......................... | 27 | ||
3.4.2. | Разбиение пакета и корректировка заголовков . . | 27 | ||
3.4.3. | Тонкости взаимодействия с драйвером . . . . . . . | 30 | ||
4. | Тестирование | 32 | ||
4.1. | Тестоваяустановка ...................... | 32 |
2
4.2. | План............................... | 33 |
4.3. | Подсчет частичной контрольной суммы . . . . . . . . . . | 34 |
4.4. | TSO для TCP поверх IPv4 и IPv6 . . . . . . . . . . . . . . | 37 |
4.5. | Ситуация кэширования пакета с последующей отправкой | 41 |
Заключение | 42 | |
Список литературы | 43 |
3
Введение
Разработка сетевых карт является сложнейшей задачей, требующей огромной работы по их тестированию в связи с большим разнообразием способов взаимодействия с ними.
Одним из направлений работы компании ОКТЕТ Лабз1 является верификация сетевых карт, в частности таких, которые соответствуют интерфейсу карты VirtIO-Net, описанному в спецификации VirtIO [7]. Для этого компания разрабатывает программу, тестирующую такие се-тевые карты. Эту программу так же необходимо тестировать и отла-живать, как и любое программное обеспечение.
- общем случае тестирование сетевой карты имеет следующий вид: драйвер2совершает некую последовательность действий и проверяет, что результирующее поведение устройства соответствует ожиданиям. Одной из возможностей современных сетевых карт является выпол-нение настраиваемого набора задач внутри устройства для того, чтобы освободить процессор от необходимости их выполнения. Примерами та-ких технологий являются заполнение и проверка различных контроль-ных сумм, TSO [2], RSC [12] и другие. Один из возможных способов тестирования таких возможностей выглядит следующим образом:
- построить пакеты;
- настроить сетевую карту желаемым образом;
построить ожидания того, какими
Характеристики курсовой работы
Список файлов
Реализация поддержки TCP segmentation offload в программной симуляции устройства VirtIO-Net в QEMU.doc