大段卸载

计算机网络中,大段卸载Large Segment Offload,简称LSO)是一种在高带宽网络中用于减少CPU使用率和增加发送吞吐量的技术,该技术通过网卡对过大的数据分段,而无需协议栈参与。该技术还有一些别称,当应用于TCP时被称为TCP段卸载(TSO),也有些时候被称为通用段卸载(GSO)

与之对应,大接收卸载英语Large receive offload是用于接收大段卸载的数据的一种技术。

介绍

当一个系统需要通过网络发送一大段数据时,计算机需要将这段数据拆分为多个长度较短的数据,以便这些数据能够通过网络中所有的网络设备(例如路由器、交换机),这个过程被称作分段。通常,这个过程由计算机系统中的协议栈完成,而大段卸载技术将这一过程交给网卡处理,从而减少了CPU使用率。

例如,一个64KB的数据在发送前通常会被分为46个小段,每一段1448字节(这个值与MTU有关)。如果网卡支持大段卸载技术,计算机既可以将这64KB数据直接交给网卡,网卡会将其拆分为不大于1448的小段,并根据TCP/IP协议栈提供的模板为每个小段增加传输层网络层以及数据链路层头部。许多2014年后新推出的网卡都具备了这种技术。

一些网卡在处理TCP数据时使用TSO技术,即每个小段都包含完整的TCP头部。而对于其他传输层协议(例如UDP)则使用IP分片

外部链接