TCP Segmentation Offload (TSO)
Определение
TCP Segmentation Offload (TSO) — механизм, при котором сетевая карта делит крупный TCP-буфер Linux на несколько кадров перед отправкой. Размер сегментов задаётся в метаданных буфера.
Также ищут: TSO · TCP Segmentation Offload · аппаратная сегментация TCP
Зачем это знать
TSO переносит сегментацию TCP на устройство, но не работает изолированно от остальных функций передачи. В Linux он зависит от partial checksum offload и обычно отключается вместе с TX checksum offload.
Карта понятия
Связано
Что подтверждено
При TSO устройство получает один сетевой буфер и делит его на несколько кадров; размер полезной нагрузки сегментов задаётся значением gso_size.
Граница применимости: Linux 6.12 segmentation offloads documentation; утверждение описывает TCP segmentation path.
Для запроса TCP-сегментации Linux помечает буфер типом SKB_GSO_TCPV4 или SKB_GSO_TCPV6 и задаёт ненулевой gso_size.
Граница применимости: Linux 6.12; это внутренние метаданные сетевого буфера, а не пользовательская настройка NIC.
TSO зависит от partial checksum offload; поэтому в Linux TSO обычно отключается, если для устройства отключён TX checksum offload.
Граница применимости: Linux 6.12; документ говорит normally disabled, поэтому это не сформулировано как безусловный запрет для любой реализации.
Для TSO драйверу нужны корректные смещения сетевого и транспортного заголовков, а режим CHECKSUM_PARTIAL должен указывать на контрольную сумму TCP.
Граница применимости: Linux 6.12 TSO; детали относятся к взаимодействию сетевого стека и драйвера.
Что проверить
- Проверьте отдельно состояние TSO и TX checksum offload: эти функции связаны.
- Не путайте TSO с GSO: TSO выполняет сегментацию на устройстве, GSO — программно в Linux.
- После изменения offload-настроек измерьте загрузку CPU, задержку и пропускную способность под целевой нагрузкой.
Первоисточники
- Segmentation Offloads
TSO, GSO и GRO: кто выполняет сегментацию, зависимость TSO от partial checksum offload и взаимосвязь GSO/GRO.
Связанные понятия
Курсы по теме
Следующий шаг
Сформулируйте задачу и уточните требования к своей системе.
Подготовить подбор с ДелектусомОткроется черновик вопроса. Отправьте его, когда будете готовы.