以太网卡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
时间: 2024-10-18 11:29:21

以太网卡TSO技术的相关文章

基于嵌入式Linux的千兆以太网卡驱动程序设计及测试

一. 引言 千兆以太网是一种具有高带宽和高响应的新网络技术,相关协议遵循IEEE 802.3规范标准.采用和10M以太网相似的帧格式.网络协议和布线系统,基于光纤和短距离同轴电缆的物理层介质,更适用于交换机.服务器等数据吞吐率大的设备.本文设计实现一种基于嵌入式Linux千兆以太网卡的驱动程序,并完成后续的测试工作和代码移植. 千兆以太网网卡工作在OSI网络架构的物理层和数据链路层,其中物理层由PHY芯片管理,数据链路层由千兆以太网控制器(GMAC)管理.硬件构架上,GMAC控制器由核心层.MT

解读国产以太网卡虚拟化应用

今天小编说说虚拟化!什么是虚拟化呢?它是指通过虚拟化技术将一台计算机虚拟为多台逻辑计算机.(就如1栋大楼并不是一个企业在里面,而是由N多家各行各业的企业在里面办公) 在一台计算机上同时运行多个虚拟的逻辑计算机,每个虚拟的逻辑计算机可运行不同的操作系统,并且应用程序都在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率(即计算机的硬件效率).虚拟化使用软件的方法重新定义划分IT资源,可以实现IT资源的动态分配.灵活调度.跨域共享,提高IT资源利用率.在实际的生产环境中,虚拟化技术主要用来

Linux 双网卡绑定技术

bond技术是在linux2.4以后加入内核. 一般步骤是1.把bonding模块加入内核, 2 编辑要绑定的网卡设置,去除地址设定 3 添加bond设备,设置地址等配置 4  重启网络 5 在交换机上做支持 具体信息看  内核文档 Documentation/networking/bonding.txt 参考实例: Linux 双网卡绑定一个IP地址,实质工作就是使用两块网卡虚拟为一块,使用同一个IP地址,是我们能够得到更好的更快的服务.其实这项技术在Sun和Cisco 中早已存在,被称为Tr

LINUX网卡绑定技术

生产环境中LINUX服务器一般都要保证7*24小时不间断提供网络传输服务的,为保证单一网卡出现故障而数据传输不会中断而引用了网卡绑定技术-bonding. bonding就是将多块网卡绑定同一IP地址对外提供服务,可以实现高可用或者负载均衡.当然,直接给两块网卡设置同一IP地址是不可能的.通过bonding,虚拟一块网卡对外提供连接,物理网卡被修改为相同的MAC地址. 概览: 目前网卡绑定mode共有七种(0~6)bond0.bond1.bond2.bond3.bond4.bond5.bond6

Linux平台双网卡绑定技术实现负载均衡(网卡聚合)bonding

Linux平台双网卡绑定技术实现负载均衡 保持服务器的高可用性是企业级 IT 环境的重要因素.其中最重要的一点是服务器网络连接的高可用性.网卡(NIC)绑定技术有助于保证高可用性特性并提供其它优势以提高网络性能. 双网卡绑定实现就是使用两块网卡虚拟成为一块网卡,这个聚合起来的设备看起来是一个单独的以太网接口设备,通俗点讲就是两块网卡具有相同的IP地址而并行链接聚合成一个逻辑链路工作.其实这项技术在Sun和Cisco中早已存在,被称为Trunking和Etherchannel技术,在Linux的2

linux系统下网络主-备份策略之网卡bonding技术

操作系统:CentOS Linux release 7.1.1503 (Core) 网卡适配器: eno1.eno2 bonding类型:mode=1 (active-backup),主-备份策略 网卡绑定mode共有七种,每种模式,都有各自的用处,笔者由于在工作中使用的是mode=1 (active-backup)模式 在此笔者将工作中使用到的网卡绑定bonding技术的mode=1 (active-backup)模式的配置实现过程记录如下: 1.在Centos 7中,我们可以使用modinf

网卡虚拟化技术:VMDq和SR-IOV

在上文(http://blog.csdn.net/yeasy/article/details/39178187)中提到了虚机网络流量的接入交换问题. 本文来谈谈虚机跟服务器物理网卡的交互问题. 通常情况下,一个服务器上跑几十个虚机,对计算和网络的需求是很惊人的.前者促生了当下的多核技术发展,后者则不能简单的用多网卡来实现. 试想,每个虚机如果都需要10G的交换能力,服务器要配置几十块物理网卡,且不说主板是否支持这么多的接口,光成本上就难以接受. 另外,如果给vm分配的接口都是软件交换机的虚拟接口

网卡bond技术

概览: 目前网卡绑定mode共有七种(0~6)bond0.bond1.bond2.bond3.bond4.bond5.bond6 常用的有三种: mode=0:平衡负载模式,有自动备援,但需要"Switch"支援及设定. mode=1:自动备援模式,其中一条线若断线,其他线路将会自动备援. mode=6:平衡负载模式,有自动备援,不必"Switch"支援及设定. 说明: 需要说明的是如果想做成mode 0的负载均衡,仅仅设置这里optionsbond0 miimon

网卡TSO

问题描述: 在使用wireshark抓取报文时,发现从10.81.2.92发过来的报文绝大部分标记为异常报文(开启IPv4和TCP checksum) 分析如下报文,发现http报文(即tcp payload)的长度远远大于实际的mss大小,如下图为4126 查看该报文的ip长度,为4148,远大于Ethernet的mtu 且tcp的校验和有来自wireshark的如下提示,那什么是“TCP checksum offload”呢? 问题解决: 在分析问题前,先给出上述问题答案,在10.81.2.