$ sudo ethtool -k eth0 這些offload特性都是為了提升網(wǎng)絡(luò)收/發(fā)性能,。TSO,、UFO和GSO是對應(yīng)網(wǎng)絡(luò)發(fā)送,在接收方向上對應(yīng)的是LRO,、GRO,。 TSO TSO(TCP Segmentation Offload),是一種利用網(wǎng)卡對TCP數(shù)據(jù)包分片,減輕CPU負(fù)荷的一種技術(shù),,有時(shí)也被叫做 LSO (Large segment offload) ,,TSO是針對TCP的,UFO是針對UDP的,。如果硬件支持 TSO功能,,同時(shí)也需要硬件支持的TCP校驗(yàn)計(jì)算和分散/聚集 (Scatter Gather) 功能。 GSO GSO(Generic Segmentation Offload),,它比TSO更通用,,基本思想就是盡可能的推遲數(shù)據(jù)分片直至發(fā)送到網(wǎng)卡驅(qū)動之前,,此時(shí)會檢查網(wǎng)卡是否支持分片功能(如TSO,、UFO),如果支持直接發(fā)送到網(wǎng)卡,如果不支持就進(jìn)行分片后再發(fā)往網(wǎng)卡,。這樣大數(shù)據(jù)包只需走一次協(xié)議棧,,而不是被分割成幾個(gè)數(shù)據(jù)包分別走,這就提高了效率,。 LRO LRO(Large Receive Offload),,通過將接收到的多個(gè)TCP數(shù)據(jù)聚合成一個(gè)大的數(shù)據(jù)包,然后傳遞給網(wǎng)絡(luò)協(xié)議棧處理,,以減少上層協(xié)議棧處理 開銷,,提高系統(tǒng)接收TCP數(shù)據(jù)包的能力。 GRO GRO(Generic Receive Offload),,基本思想跟LRO類似,,克服了LRO的一些缺點(diǎn),更通用,。后續(xù)的驅(qū)動都使用GRO的接口,,而不是LRO。 RSS
RSS(Receive Side Scaling),,是一項(xiàng)網(wǎng)卡的新特性,,俗稱多隊(duì)列。具備多個(gè)RSS隊(duì)列的網(wǎng)卡,,可以將不同的網(wǎng)絡(luò)流分成不同的隊(duì)列,,再分別將這些隊(duì)列分配到多個(gè)CPU核心上進(jìn)行處理,從而將負(fù)荷分散,,充分利用多核處理器的能力,。 /usr/sbin/ethtool -K eth1 gro off
/usr/sbin/ethtool -K eth1 lro off /usr/sbin/ethtool -K eth1 tso off |
|