大段卸載
在計算機網絡中,大段卸載(Large Segment Offload,簡稱LSO)是一種在高帶寬網絡中用於減少CPU使用率和增加發送吞吐量的技術,該技術通過網卡對過大的數據分段,而無需協議棧參與。該技術還有一些別稱,當應用於TCP時被稱為TCP段卸載(TSO),也有些時候被稱為通用段卸載(GSO)。
與之對應,大接收卸載是用於接收大段卸載的數據的一種技術。
介紹
當一個系統需要通過網絡發送一大段數據時,計算機需要將這段數據拆分為多個長度較短的數據,以便這些數據能夠通過網絡中所有的網絡設備(例如路由器、交換機),這個過程被稱作分段。通常,這個過程由計算機系統中的協議棧完成,而大段卸載技術將這一過程交給網卡處理,從而減少了CPU使用率。
例如,一個64KB的數據在發送前通常會被分為46個小段,每一段1448位元組(這個值與MTU有關)。如果網卡支持大段卸載技術,計算機既可以將這64KB數據直接交給網卡,網卡會將其拆分為不大於1448的小段,並根據TCP/IP協議棧提供的模板為每個小段增加傳輸層、網絡層以及數據鏈路層頭部。許多2014年後新推出的網卡都具備了這種技術。
一些網卡在處理TCP數據時使用TSO技術,即每個小段都包含完整的TCP頭部。而對於其他傳輸層協議(例如UDP)則使用IP分片。