一、什么叫断流

简单来说,就是在日常使用过程中,出现有信号无网络、卡顿、下载速度慢、网络延迟高等情况。

比如说,网络信号明明满格,但是登陆微信仍显示当前网络不可用;再比如听在线音乐,突然断断续续一直缓冲等等。

二、原因分析

查阅网上资料,经过分析,可以确定基本上是跟 TSO 服务有关。

TSO 全称 TCP Segmentation Offload,即 TCP 分段卸载,通常也称为大型发送分载(LSO, Large Send Offload)。分段是指将大数据块分割成更小的数据段,卸载是指将工作负载从 CPU 移至网卡上的做法。卸载这项工作可以节省 CPU 周期,并且通常可以提高数据包处理性能。即 TSO 是一种利用网卡的少量处理能力,降低 CPU 发送数据包负载的技术,需要网卡硬件及驱动的支持

简单来说,因为驱动或硬件问题,比如散热不够等等,导致 TSO 服务异常,此时只要关闭 TSO 服务即可。

三、操作命令

I、Esxi 内核

即 VMKernel,通过 SSH 连接到 Esxi 母机执行。

1、查看命令

列出网卡清单:

[root@vn:~] esxcli network nic list
Name    PCI Device    Driver         Admin Status  Link Status  Speed  Duplex  MAC Address         MTU  Description
------  ------------  -------------  ------------  -----------  -----  ------  -----------------  ----  -----------
vmnic0  0000:01:00.0  igc-community  Up            Up            1000  Full    *  1500  Intel Corporation Ethernet Controller I226-V
vmnic1  0000:02:00.0  igc-community  Up            Up            1000  Full    *  1500  Intel Corporation Ethernet Controller I226-V
Sh

查看指定

 网卡的 TSO 服务状态:

[root@vn:~] esxcli network nic tso get -n vmnic0
NIC     Value
------  -----
vmnic0  on
Sh

2、关闭命令

[root@vn:~] esxcli network nic software set --ipv4tso=0 -n vmnic0
[root@vn:~] esxcli network nic software set --ipv6tso=0 -n vmnic0
Sh

3、开启命令

[root@vn:~] esxcli network nic software set --ipv4tso=1 -n vmnic0
[root@vn:~] esxcli network nic software set --ipv6tso=1 -n vmnic0
Sh

II、Esxi 控制台服务

通过网页登陆到

 Esxi 控制台,找到管理 – 系统 – 高级设置。

1、查看命令

搜索关键字 TSO,可以搜到两个参数,分别是 Net.UseHwTSO 和 Net.UseHwTSO6,若参数值为 1 则表示启用,0 则表示禁用。

2、关闭命令

选中上述两个参数,点击编辑,设置参数值为 0 表示关闭(禁用)。

3、开启命令

选中上述两个参数,点击编辑,设置参数值为 1 表示开启(启用)。

III、VM 虚拟机

针对 Linux 系统,可以使用 ethtool 命令。

1、查看命令

# ethtool --show-offload eth7
Features for eth7:
......
tcp-segmentation-offload: on
    tx-tcp-segmentation: on
    tx-tcp-ecn-segmentation: off [fixed]
    tx-tcp6-segmentation: on
udp-fragmentation-offload: off [fixed]
.......
Sh

其中的 tcp-segmentation-offload 就是 TSO 服务。

2、关闭命令

# ethtool -K eth7 tso off
# ethtool -K eth7 gso off
Sh

注意,这里多了开启 gso,相当于是全局控制,同步设置。

3、开启命令

# ethtool -K eth0 tso on
# ethtool -K eth0 gso on
Sh

针对 Windows 系统,可以直接图形化查看修改。

 

 

在控制面板 – 网络和 Internet 连接,选中要配置的网卡,点右键再点属性,再点配置,切换到 高级 选项卡,找到 大量传送减负 v2(IPv4) 和 大量传送减负 v2(IPv6),设置开启或 关闭 保存即可。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。