• 全部
  • 经验案例
  • 典型配置
  • 技术公告
  • FAQ
  • 漏洞说明
  • 全部
  • 全部
  • 大数据引擎
  • 知了引擎
产品线
搜索
取消
案例类型
发布者
是否解决
是否官方
时间
搜索引擎
匹配模式
高级搜索

docker的虚拟网络环境Geneve隧道在TCP挥手过程丢包问题

2021-12-07 发表
  • 0关注
  • 0收藏 1441浏览
粉丝:0人 关注:0人

组网及说明


在docker的宿主机和容器将网络通信,可以ping通,但建立的ip:port链接timeout或链接丢失,抓包如图:


问题描述

连接异常网卡信息

# ethtool enp3s0f0 Settings for enp3s0f0: Supported ports: [ FIBRE ] Supported link modes: 10000baseT/Full Supported pause frame use: Symmetric Supports auto-negotiation: No Supported FEC modes: Not reported Advertised link modes: 10000baseT/Full Advertised pause frame use: Symmetric Advertised auto-negotiation: No Advertised FEC modes: Not reported Speed: 10000Mb/s Duplex: Full Port: FIBRE PHYAD: 0 Transceiver: internal Auto-negotiation: off Supports Wake-on: d Wake-on: d Current message level: 0x00000007 (7) drv probe link Link detected: yes # ethtool -i enp3s0f0 driver: txgbe version: 1.1.12 firmware-version: 0x00020004 expansion-rom-version: bus-info: 0000:03:00.0 supports-statistics: yes supports-test: yes supports-eeprom-access: yes supports-register-dump: yes supports-priv-flags: no

连接正常网卡信息

# ethtool enp6s0f0 Settings for enp6s0f0: Supported ports: [ FIBRE ] Supported link modes: 10000baseSR/Full Supported pause frame use: Symmetric Supports auto-negotiation: Yes Supported FEC modes: Not reported Advertised link modes: 10000baseSR/Full Advertised pause frame use: No Advertised auto-negotiation: Yes Advertised FEC modes: Not reported Speed: 10000Mb/s Duplex: Full Port: FIBRE PHYAD: 0 Transceiver: internal Auto-negotiation: off Supports Wake-on: d Wake-on: d Current message level: 0x00000007 (7) drv probe link Link detected: yes 正常主机: # ethtool -i enp6s0f0 driver: i40e version: 2.3.2-k firmware-version: 6.01 0x800035cf 1.1747.0 expansion-rom-version: bus-info: 0000:06:00.0 supports-statistics: yes supports-test: yes supports-eeprom-access: yes supports-register-dump: yes supports-priv-flags: yes

过程分析

当前虚拟化场景下,虚拟网卡均不会对报文进行IP层的checksum校验。导致请求报文的IPchecksum异常,目的服务器拒绝对其请求进行相应。在网卡硬件本身不支持校验数据包功能之前是由Linux内核读取IP数据包校验的,关闭硬件上的校验和功能后,linux内核仍然会对数据包做校验和,不影响数据安全

网卡开启了CheckSum Offload(硬件校验和功能,系统将CheckSum的计算工作交由网卡去计算,在高速网络交换的情况下可以减轻CPU的工作负荷。

解决方法


解决方法:

1、  统一关闭虚拟porttx checksum功能,统一让虚拟机或namespace协议栈去计算L4 checksum 

执行#ethtool -K  eth1 tx off

2、修改应用代码支持硬件CSUM功能,统一设置让出物理网卡的包由硬件CSUM

数据包处理过程说明如下:

***.***/20210608203315218.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTIyNDc0MTg=,size_16,color_FFFFFF,t_70

 

COEChecksum Offload Engine):支持硬件checksum 计算和校验

 

更进一步了解相关信息可参考链接

https://huataihuang.gitbooks.io/cloud-atlas/content/network/packet_analysis/tcpdump/udp_tcp_checksum_errors_from_tcpdump_nic_hardware_offloading.html

checksum说明参考

***.***/doc/html/rfc791  #IP协议rfc791说明

***.***/doc/html/rfc1071  #校验和算法rfc1071说明

***.***/content/dam/doc/manual/pci-pci-x-family-gbe-controllers-software-dev-manual.pdf

***.***/docs/wsug_html_chunked/ChAdvChecksums.html

关闭硬件上的校验和功能,对传输数据本身是没有影响的参考如下

http://docs.gz.ro/node/282

如果网卡不支持则,在linux系统里的TCP/IP协议栈来完成数据校验。

参考链接:

http://docs.gz.ro/tuning-network-cards-on-linux.html

 

该案例对您是否有帮助:

您的评价:1

若您有关于案例的建议,请反馈:

作者在2021-12-27对此案例进行了修订
0 个评论

该案例暂时没有网友评论

编辑评论

举报

×

侵犯我的权益 >
对根叔知了社区有害的内容 >
辱骂、歧视、挑衅等(不友善)

侵犯我的权益

×

泄露了我的隐私 >
侵犯了我企业的权益 >
抄袭了我的内容 >
诽谤我 >
辱骂、歧视、挑衅等(不友善)
骚扰我

泄露了我的隐私

×

您好,当您发现根叔知了上有泄漏您隐私的内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到pub.zhiliao@h3c.com 邮箱,我们会尽快处理。
  • 1. 您认为哪些内容泄露了您的隐私?(请在邮件中列出您举报的内容、链接地址,并给出简短的说明)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)

侵犯了我企业的权益

×

您好,当您发现根叔知了上有关于您企业的造谣与诽谤、商业侵权等内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到 pub.zhiliao@h3c.com 邮箱,我们会在审核后尽快给您答复。
  • 1. 您举报的内容是什么?(请在邮件中列出您举报的内容和链接地址)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)
  • 3. 是哪家企业?(营业执照,单位登记证明等证件)
  • 4. 您与该企业的关系是?(您是企业法人或被授权人,需提供企业委托授权书)
我们认为知名企业应该坦然接受公众讨论,对于答案中不准确的部分,我们欢迎您以正式或非正式身份在根叔知了上进行澄清。

抄袭了我的内容

×

原文链接或出处

诽谤我

×

您好,当您发现根叔知了上有诽谤您的内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到pub.zhiliao@h3c.com 邮箱,我们会尽快处理。
  • 1. 您举报的内容以及侵犯了您什么权益?(请在邮件中列出您举报的内容、链接地址,并给出简短的说明)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)
我们认为知名企业应该坦然接受公众讨论,对于答案中不准确的部分,我们欢迎您以正式或非正式身份在根叔知了上进行澄清。

对根叔知了社区有害的内容

×

垃圾广告信息
色情、暴力、血腥等违反法律法规的内容
政治敏感
不规范转载 >
辱骂、歧视、挑衅等(不友善)
骚扰我
诱导投票

不规范转载

×

举报说明

提出建议

    +

亲~登录后才可以操作哦!

确定

亲~检测到您登陆的账号未在http://hclhub.h3c.com进行注册

注册后可访问此模块

跳转hclhub

你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作