近期遇到一个自定义报文传输性能问题,解决过程中借助了ethtool这个工具,因此发掘一下与此工具相关的网卡的一些特性。

ethtool 常用命令如下,比如对eth0的操作:

ethtool eth0 //查询ethx网口基本设置,其中 x 是对应网卡的编号,如eth0、eth1等等

ethtool –h //显示ethtool的命令帮助(help)

ethtool –i eth0 //查询eth0网口的相关信息

ethtool –d eth0 //查询eth0网口注册性信息

ethtool –r eth0 //重置eth0网口到自适应模式

ethtool –S eth0 //查询eth0网口收发包统计

ethtool –s eth0 [speed 10|100|1000] [duplex half|full] [autoneg on|off] //设置网口速率10/100/1000M、设置网口半/全双工、设置网口是否自协商

我这里主要想发掘一下ethtool -k 相关的内容,以下命令在ubuntu 14.04上亲测:

1、rx-checksumming: off

接收侧硬件校验和计算,如能设置为on,表示网卡支持该特性,命令: ethtool -K eth0 rx-checksum on|off

2、tx-checksumming: on

发送侧硬件校验和计算,如能设置为on,表示网卡支持该特性,命令: ethtool -K eth0 tx-checksum-ip-generic on|off

3、scatter-gather: on

分散/聚集 (Scatter Gather) 功能,是网卡要支持TSO的必要条件之一。

4、tcp-segmentation-offload: on

简称TSO,是一种利用网卡对TCP数据包分片,减轻CPU负荷的一种技术,有时也被叫做 LSO (Large segment offload) ,TSO是针对TCP的,UFO是针对UDP的。如果硬件支持 TSO功能,同时也需要硬件支持的TCP校验计算和分散/聚集 (Scatter Gather) 功能。命令: ethtool -K eth0 tso on|off

在不支持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相关的处理工作转移到由网卡来处理。

5、udp-fragmentation-offload: off

简称UFO,是网卡对udp提供的类似TSO的技术。 命令:ethtool -K eth0 ufo on | off

在我的网卡上不支持这个特性,所以命令执行失败是这样的:

root@ubuntu:~# ethtool -K eth0 ufo on

Cannot change udp-fragmentation-offload

Could not change any device features

6、generic-segmentation-offload: on

简称GSO,它比TSO更通用,基本思想就是尽可能的推迟数据分片直至发送到网卡驱动之前,此时会检查网卡是否支持分片功能(如TSO、UFO), 如果支持直接发送到网卡,如果不支持就进行分片后再发往网卡。这样大数据包只需走一次协议栈,而不是被分割成几个数据包分别走,这就提高了效率。命令: ethtool -K eth0 gso on | off

7、large-receive-offload: off

简称LRO,通过将接收到的多个TCP数据聚合成一个大的数据包,然后传递给网络协议栈处理,以减少上层协议栈处理 开销,提高系统接收TCP数据包的能力。

8、generic-receive-offload: on

简称GRO,基本思想跟LRO类似,克服了LRO的一些缺点,更通用。后续的驱动都使用GRO的接口,而不是LRO。

附:

RSS(Receive Side Scaling),是一项网卡的新特性,俗称多队列。具备多个RSS队列的网卡,可以将不同的网络流分成不同的队列,再分别将这些队列分配到多个CPU核心上进行处理,从而将负荷分散,充分利用多核CPU的能力。

参考:

ethtool 开启网卡_Linux 网卡特性配置ethtool详解相关推荐

  1. Linux系统多网卡绑定各配置模式详解

    Linux系统多网卡绑定各配置模式详解 1. 配置多网卡bond 1.1. mode=0 模式 1.2. mode=1 模式 1.2.1. 关闭NetworkManager服务 1.2.2. 网卡配置 ...

  2. zookeeper的zoo.cfg配置参数详解

    配置参数详解(主要是%ZOOKEEPER_HOME%/conf/zoo.cfg文件) 参数名说明 clientPort客户端连接server的端口,即对外服务端口,一般设置为2181吧. dataDi ...

  3. build.gradle配置参数详解

    转载地址:http://blog.csdn.net/baidu_31093133/article/details/51860637 build.gradle配置参数详解//声明是Android程序ap ...

  4. Linux系统下ifconfig和route配置网络详解

    Linux系统下ifconfig和route配置网络详解 ifconfig和route合用于配置网络(ip命令综合二者功能,此处不讲),通常在前者设置好ip地址等信息后,采用route命令配置路由.( ...

  5. NT Server无盘站配置技术详解

    NT Server无盘站配置技术详解    无盘工作站(简称无盘站)即不使用本地磁盘的计算机工作站.由于无盘站具有低配置.低价格.安全性好.易于管理等特点,所以它在我国应用很广.目前,无盘工作站对于学 ...

  6. 华为、H3C、锐捷三家交换机配置命令详解

    一.华为交换机基础配置命令 1.创建vlan: <Quidway> //用户视图,也就是在Quidway模式下运行命令. <Quidway>system-view //进入配置 ...

  7. php.ini配置中文详解

    php.ini配置中文详解 ;;;;;;;;;;; ; 警告 ; ;;;;;;;;;;; ; 此配置文件是对于新安装的PHP的默认设置. ; 默认情况下,PHP使用此配置文件安装 ; 此配置针对开发目 ...

  8. 华为3COM交换机配置命令详解

    华为3COM交换机配置命令详解 1.配置文件相关命令 [Quidway]display current-configuration         ;显示当前生效的配置 [Quidway]displa ...

  9. H3C 交换机配置命令详解

    H3C 交换机配置命令详解 华为3COM交换机配置命令详解 1.配置文件相关命令 [Quidway]display current-configuration         ;显示当前生效的配置 [ ...

最新文章

  1. 常用的前端辅助开发工具有哪些
  2. 无需SherlockActionbar的SlidingMenu使用详解(二)——向Fragment中添加ViewPager和Tab
  3. 程序员的进阶课-架构师之路(5)-队列
  4. ElementUI中使用地图实现地图位置选择_---SpringCloud Alibaba_若依微服务框架改造_ElementUI---工作笔记014
  5. 用计算机弹奏体面6,抖音能用计算器按出音乐有哪些?计算器乐谱分享
  6. python float_Python float()
  7. JS代码实现浏览器切换页面时网页标题动态切换
  8. openstack 之 kolla安装镜像
  9. 09. 慎重选择删除元素的方法
  10. linux 下qt 中关于字符集及其转换
  11. IntelliJ IDEA破解版2018.3.1(亲测可用)
  12. android上获取屏幕高度,在Android中获取屏幕高度
  13. 89c51 单片机 c语言 编写sszymmh 歌曲 文档,Proteus仿真51单片机生日快乐音乐播放器...
  14. 企业微信客户端web页面调试
  15. 藏语计算机基础知识,2017年青海民族大学计算机学院738藏语与现代汉语基础考研题库...
  16. 什么是设计模式?为什么要使用设计模式?有什么好处?
  17. buctoj 2407 B 竖式 题解
  18. 怎样在PPT中抠图?这样操作30秒搞定!
  19. 【面试】数字转为千分位字符串
  20. 数据结构与算法——左程云09

热门文章

  1. 微信小程序实例——天气预报开发笔记(进行中...)
  2. 想学人工智能专业,这6所学校不二之选
  3. 企业网站建设的八大种类是什么?
  4. 美摄助力百度“度咔剪辑”,让知识创作更容易
  5. 【平衡小车分享日记】(一)硬件部分
  6. 开发周期节省50%以上!EasyV数字孪生技术赋能区域综合能源数智“大脑”建设
  7. v-show使用三元运算符
  8. 暴风影音2018届校园招聘技术类笔试题目
  9. Radmin Center 1.54 测试版
  10. radmin自动安装