Large receive offload

В компьютерных сетях large receive offload (LRO) — это способ увеличения входящей пропускной способности сетевого интерфейса за счёт снижения нагрузки на центральный процессор. Он заключается в агрегировании нескольких входящих пакетов из одного потока в буфер большего размера до передачи их выше по сетевому стеку, что позволяет уменьшить количество пакетов, требующих обработки.

## Содержание

* 1 Large receive offload
* 2 Generic receive offload
* 3 См. также
* 4 Примечания

## Large receive offload

[править | править код]

Реализация в ядре Linux обычно использует LRO в связке с New API (NAPI) для того, чтобы также сократить и количество прерываний.

По данным бенчмарков, даже будучи реализованным полностью на программном уровне LRO может значительно увеличить производительность сетевой подсистемы.[1][2][3] По состоянию на апрель 2007, ядро Linux поддерживает LRO для TCP только на программном уровне. FreeBSD 8 поддерживает LRO на аппаратном уровне при использовании сетевых адаптеров, имеющих такую функциональность.

LRO не должен применяться на узлах сети, выступающих в роли маршрутизатора, так как это нарушает принцип end-to-end и может оказать существенное влияение на производительность.

## Generic receive offload

[править | править код]

Generic receive offload (GRO) — это программная реализация обобщённой LRO, не ограничивающаяся одним только TCP/IPv4 и свободная от некоторых проблем LRO.[4]

## См. также

[править | править код]

* Large send offload (LSO)
* TCP Offload Engine (TOE)

## Примечания

[править | править код]

1. ↑ Jonathan Corbet (2007-08-01). "Large receive offload". LWN.net. Архивировано 16 июля 2019. Дата обращения: 16 июля 2019.
2. ↑ Aravind Menon, Willy Zwaenepoel. Optimizing TCP Receive Performance (неопр.). — 2008. — 28 April. Архивировано 13 октября 2011 года.
3. ↑ Andrew Gallatin (2007-07-25). "lro: Generic Large Receive Offload for TCP traffic". linux-kernel (Mailing list). Архивировано 16 июля 2019. Дата обращения: 16 июля 2019.
4. ↑ JLS2009: Generic receive offload (неопр.). lwn.net. Дата обращения: 16 июля 2019. Архивировано 16 июля 2019 года.