功能 | 核心要点 | 工作原理 | 相关层级 |
---|---|---|---|
TSO (TCP Segmentation Offload) | 通过硬件完成TCP分段,减少CPU负担 | 将大块数据分段为多个较小的TCP包,在网卡处进行分段处理 | 网卡驱动,内核态 |
LRO (Large Receive Offload) | 在网卡处合并多个TCP包,减少中断和CPU处理 | 合并多个接收的TCP包,交给内核处理,减少中断次数 | 网卡驱动,内核态 |
GRO (Generic Receive Offload) | 合并多个接收数据包,优化接收性能 | 合并多个接收的数据包到一个大包,减少内核处理的数量 | 内核态 |
功能 | 区别 | 联系 |
---|---|---|
TSO (TCP Segmentation Offload) | 主要用于发送数据时,网卡硬件将大的TCP包分段为多个较小的TCP包。 | 与LRO、GRO互不干扰,专注于发送端的性能提升。 |
LRO (Large Receive Offload) | 主要在接收端工作,网卡将多个小的TCP包合并为一个大包,减少中断和处理。 | 与TSO、GRO不同,LRO只优化接收端,作用是减少中断和内核处理。 |
GRO (Generic Receive Offload) | 内核层合并接收的数据包,与LRO相似,但在内核中处理而非网卡硬件。 | LRO和GRO都旨在减少接收数据时的CPU负担,提升网络性能。 |
联系:
- TSO 主要提升发送端性能,LRO 和 GRO 主要提升接收端性能。
- LRO 和 GRO 都通过减少中断和合并包来减轻CPU负担,LRO是网卡硬件实现,GRO则由内核处理。