目前网络中主要的延迟分为三类
1、线路延迟,也成为网络延迟(RTT)
TCP的三次握手不涉及传输层以上的协议,因此即使服务器处理压力非常大,收到SYN收也会非常迅速的回SYN/ACK,通过三次握手的时间可以算出线路延迟。
2、客户端延迟
三次握手建立完成后,客户端向服务器发送了一个请求,这个发送请求的时间比较长,以至于服务器无法回ACK。
3、服务器延迟
三次握手建立完成后,服务器收到了客户端的请求后,响应时间慢或者无法响应。
使用wireshark来查看这些数据包的延迟
下面先看下wireshark中的时间,默认情况第一个数据包从零开始计时,然后几次往下增加
这些时间看起来比较累,计算延迟更累,下面介绍三个方法
计算延迟方法一:
我们用时分秒来显示一下时间
View > Time Display Format > Time of Day
然后自己看下时间,就可以轻易算出延迟
我的数据包,从三次握手到http传输在到FIN解除连接,延迟是很小的
计算延迟方法二:
直接显示两个数据包之间的时间差
View > Time Display Format > Seconds since previous display packet
可以直接显示两个数据包时间之差
计算延迟方法三:
利用TCP协议的timestamps,增加一列专门计算
这是新加的一列,利用tcp协议的timestamps来显示时间差
可以右键对该列进行重命名,并且拖到time列的傍边,这看起来就很方便啦
这样就可以很容易判断出是线路延迟,客户端延迟还是服务器延迟了。