利用Wireshark对网络延迟进行分析
引言:延迟常有,谁引起的延迟发生值得我们去关注和分析,这里提供四个wireshark抓包文件,根据抓包信息进行网络延迟分析
1. 抓包数据
以上图片展示的是四个抓包文件给出的抓包数据,将对这些抓包数据进行分析
2.使用软件
- Wireshark
3.数据分析
由上往下依次是提供的wineshark抓包数据1、2、3、4,接下来将进行初步分析
由Time列我们可以清楚地看到,除了第二个数据包的时间没有异常,其他的数据包无一例外的出现了延迟,不过出现延迟的原因各有不同,这也是第二个问题要进行讨论的。所以,判断延迟发生的依据便是数据包来回传输所使用的时间,传输出现延迟的数据包所花的时间比正常传输数据包所花的时间要高10倍甚至更多。
- 客户端IP地址:172.16.16.128
- 服务器端IP地址:74.125.95.104
对于第一个数据文件:
从图片中加框红色区域我们可以明显的感觉到,前段时间并没有出现太大波动,却在最后与服务器连接阶段出现较大的延迟,可以得出改延迟的原因源自服务器。
原因分析:第五个数据包是服务器响应客户端发出的get请求,接受该数据包的服务且必须立即发送数据,然而第五个数据包和第六个数据包之间的时间间隔之大说明该延迟的发生毫无疑问是有服务器端无法及时处理数据导致的延迟。
对于第三个数据文件:
红框圈出的部分是发生延迟的位置,不太好直接得出结果,下面分析发生延迟的原因。
第一个数据包和第二个数据包之间的时间间隔是正常的,第五个数据包和第六个数据包之间的时间间隔也是正常的,而这两部分数据包所对应的正是服务器和客户端之间的连接与数据的交换,因此可以说明数据发生延迟的原因并不是服务器端或者客户端,也可以得出延迟发生的原因可能是链路出现问题。
链路发生延迟往往与中间线路间隔太多的防火墙/路由器/代理服务器/线路中断转换线路等其他原因有关。
对于第四个数据文件:
这个数据文件非常直观明了的在第三个数据包和第四个数据包就给我们呈现了数据发送与接收的延迟,而这第三个数据包和第四个数据包所代表的就是客户端向服务器端发送数据并等待得到回复的过程,而这个过程出现了时间上的较大波动,因此可以断言延迟的发生在客户端。
从另外一个角度来说,如果是服务器端发生延迟,那么时间的波动不应该发生在第三第四个数据包的事第二第三个数据包。再者,得出出现延迟的原因发生在客户端也可以排除链路出现的延迟,因此得出延迟出现在客户端。
4.总结:
总的来说,除了第二个连接没有发生延迟情况,其他三个连接均发生延迟且问题各不相同。
第一个数据文件所出现的延迟是服务器端。
第三个数据文件所出现的延迟是链路。
第四个数据文件所出现的延迟是客户端。
利用Wireshark进行延迟分析增加一些见闻。
2019年11月1日