Русская Википедия:Large receive offload

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

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

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]

См. также

Примечания

Шаблон:Примечания