网络异常案例三_RST

问题现象

在做功能测试的时候,经常看到设备离线的消息(MQTT遗嘱)。
在终端连接的网络设备上抓包分析,看到终端设备发起大量的RST请求。
151这个设备,7min,重置断开了8个TCP连接(mqtt连接)。
在这里插入图片描述

问题分析

网络环境

在这里插入图片描述

mqtt ping request完成的交互流程

终端设备,keepalive配置为20s。即如果没有交互数据包,每隔20s发送一个request请求
流程:client发送request,server回复response,client针对response回复ack。
在这里插入图片描述

终端设备抓包分析

异常流程:client发起了request,未收到reponse,然后client发送了Disconnect Req,然后重置了tcp连接(flag.RST == 1)。
ps:序号17、18这两行,是服务器回的reponse报文。但解析出了异常(wifi传递丢失?)。 调了几次mqtt的连接,RST的场景,和这个一样
在这里插入图片描述

笔记本抓包和终端设备抓包对比

终端设备解析异常的包,和笔记本的包对比,相同sequence的。发现笔记本的包是完整的。wifi传输丢包?
在这里插入图片描述

后面传udp包验证,下行,从外界传输到终端设备。终端设备和无线(红米)很近的时候,传输可靠,但距离远的时候可靠性很差。
换了一款无线设备(华为),相同的距离验证,近距离、远距离测试,均可靠。
具体原因未深入分析。

参考资料

mqtt keep-alive机制
在这里插入图片描述

附*系列文章索引

整理起因
报文分析
报文格式解读
握手+挥手过程状态变化分析
滑动窗口介绍
可靠数据传输原理
拥塞控制
网络异常案例(123456
结束语

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值