Large send offload

Large send offload (LSO) (или generic segmentation offload (GSO)) — способ увеличения в компьютерных сетях исходящей пропускной способности сетевого интерфейса и снижения нагрузки на центральный процессор. LSO особенно актуален в виртуальной среде, так как позволяет тратить существенно меньше ресурсов процессора на обработку TCP/IP-операций.

В применении к TCP также носит название TCP segmentation offload (TSO).

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

Принцип действия

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

К примеру, пусть необходимо передать пакет размером 64КБ. По умолчанию он будет разделен на 46 сегментов по 1448 байтов, которые будут непосредственно переданы в сетевой интерфейс и далее по сети до узла назначения.

Современные сетевые адаптеры умеют фрагментировать пакеты самостоятельно без участия центрального процессора. В этом случае, при необходимости передать 64КБ данных, данные одним запросом передаются в сетевой интерфейс, где уже осуществляется их фрагментация и последующая отправка. Таким образом происходит снижение нагрузки на центральный процессор.

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

См. также

Ссылки

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.