В компьютерных сетях large receive offload (LRO) — это способ увеличения входящей пропускной способности сетевого интерфейса за счёт снижения нагрузки на центральный процессор. Он заключается в агрегировании нескольких входящих пакетов из одного потока в буфер большего размера до передачи их выше по сетевому стеку, что позволяет уменьшить количество пакетов, требующих обработки.
Large receive offload Реализация в ядре Linux обычно использует LRO в связке с New API (NAPI) для того, чтобы также сократить и количество прерываний.
По данным бенчмарков, даже будучи реализованным полностью на программном уровне LRO может значительно увеличить производительность сетевой подсистемы. По состоянию на апрель 2007, ядро Linux поддерживает LRO для TCP только на программном уровне. FreeBSD 8 поддерживает LRO на аппаратном уровне при использовании сетевых адаптеров, имеющих такую функциональность.
LRO не должен применяться на узлах сети, выступающих в роли маршрутизатора, так как это нарушает принцип end-to-end и может оказать существенное влияние на производительность.
Generic receive offload Generic receive offload (GRO) — это программная реализация обобщённой LRO, не ограничивающаяся одним только TCP/IPv4 и свободная от некоторых проблем LRO.
См. также Large send offload (LSO) TCP Offload Engine (TOE)
Примечания
Категория:Сетевое оборудование Категория:Ethernet