以太網卡TSO技術


一、簡介

TSO(TCP Segment Offload)技術是一種利用網卡的少量處理能力,降低CPU發送數據包負載的技術,需要網卡硬件及驅動的支持。

 

二、原理

在不支持TSO的網卡上,TCP層向IP層發送數據會考慮mss,使得TCP向下發送的數據可以包含在一個IP分組中而不會造成分片, mss是在TCP初始建立連接時由網卡MTU確定並和對端協商的,所以在一個MTU=1500的網卡上,TCP向下發送的數據不會大於min(mss_local, mss_remote)-ip頭-tcp頭。


網卡支持TSO時,TCP層會逐漸增大mss(總是整數倍數增加),當TCP層向下發送大塊數據時,僅僅計算TCP頭,網卡接到到了IP層傳下的大數 據包后自己重新分成若干個IP數據包,添加IP頭,復制TCP頭並且重新計算校驗和等相關數據,這樣就把一部分CPU相關的處理工作轉移到由網卡來處理。

 

三、數據包分片功能介紹

 

四、常用操作

1)查看網卡是否支持TSO

➜  ✗ ethtool -k eth0       
Offload parameters for eth0:
rx-checksumming: on
tx-checksumming: on
scatter-gather: on
tcp segmentation offload: off

2)關閉TSO

ethtool -K eth0 tso off


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM