Large segment offload

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

В компьютерных сетях large segment offload (LSO) это способ увеличения исходящей пропускной способности сетевого интерфейса и снижения нагрузки центрального процессора CPU. В виртуальной среде это особенно актуально, так как повзволяет тратить существенно меньше ресурсов процессора на обработку TCP/IP операций.

Такой способ носит название TCP segmentation offload (TSO) в применении к TCP segmentation offload (TSO) или generic segmentation offload (GSO) (на уровне сетевого интерфейса)

LSO является частью технологии, другая часть называется large receive offload (LRO) и отвечает за дефрагментацию принимаемых пакетов.

Принцип действия[править | править вики-текст]

Когда операционной системе необходимо отослать большой объем данных по сети, то сначала происходит разделение всего объема на небольшие сегменты, которые могут быть переданы через все узлы сети (маршрутизаторы, коммутаторы и др.), разделяющие два хоста, осуществляющих обмен данными. Обычно сегментация осуществляется на уровне TCP и сетевому интерфейсу передаются уже сегментированные данные, этот процесс называется TCP segmentation offload (TSO).

К примерму, необходимо передать пакет в 64КБ, который по умолчанию будет разделен на 46 сегментов по 1448 байтов, которые будут непосредственно переданы через сетевой интерфейс по сети до узла назначения. Современные сетевые интерфейсы могут самостоятельно фрагментировать пакеты без участия CPU с помощью технологии generic segmentation offload (GSO). Другими словами, если необходимо передать 64КБ данных, то эти данные одним запросом передаются на сетевой интерфейс, где осуществляется фрагментация и последующая отправка данных. Таким образом происходит уменьшение использования ресурсов CPU для сегментации пакетов.

Некоторые сетевые интерфейсы поддерживают более современный механизм TCO, который можно использовать для протоколов, которые не поддерживают фрагментацию, например для UDP.

Дополнительно[править | править вики-текст]

Ссылки[править | править вики-текст]