为何Mininet中VXLAN承载的TCP切换隧道后停止发送?
实验异常现象与疑问
实验环境与操作
- 基于Mininet环境,VM1和VM2为本地VirtualBox独立虚拟机实例,通过桥接适配器连接
- S1与S2采用VXLAN转发模式
- 在H1、H2上使用
D-ITG工具生成流量,H1向H2发送TCP流量,同时用Wireshark抓包分析 - 在持续10秒的TCP流传输过程中,通过Python脚本修改S1第一条规则的隧道ID(从100改为200)
异常现象
- 当数据包速率、单包payload足够小时,TCP会话不受影响
- 当发包速率约100包/秒、单包payload为64字节时:
- TCP收到*重复ACK(dup ACK)*后停止发送
- 在H1与S1的链路上捕获到*ICMP目的不可达(需要分片)*报文
- 出现上述两个错误后,TCP完全停止发送,未启动重传机制
- 降低发包速率、减小payload或改用UDP流量时,无此异常
疑问
- 该问题源于TCP栈、
D-ITG工具,还是TCP序列号相关问题? - 是否存在TCP未ACK报文因“过旧”而不触发重传的规则或范围?
内容的提问来源于stack exchange,提问作者yihao lin
相关产品推荐
相关产品推荐

