数据包时间延迟Wireshark网络分析实例集锦大学霸
数据包时间延迟Wireshark网络分析实例集锦大学霸
数据包时间延迟是指一个数据包从用户的计算机发送到网站服务器,然后再立即从网站服务器返回用户计算机的来回时间。存在这种时间延迟是不可避免的,本节将介绍数据包时间延迟的原因及类型。数据包时间延迟Wireshark网络分析实例集锦大学霸
2.3.1 时间延迟
延迟是用于定义时间延迟的一种衡量。当一个主机发送一个请求并等待回复时,总有一些延迟。如果延迟的时间过长,可能是由路径或端点导致的问题。Time和Info列可以查看延迟的三种类型——线路延迟、客户端延迟和服务器延迟。下面分别介绍延迟的三种类型。
1.线路延迟的显示和原因
线路延迟通常被称为往返时间(RTT)延迟。根据数据包传输的特性,可以判断是否是线路延迟。当服务器收到一个SYN数据包时,由于不涉及任何传输层以上的处理,发送一个响应只需要非常小的处理量。即使服务器正承受巨大的负载,通常也会迅速地向SYN数据包响应一个SYN/ACK,这样就排除了服务器导致高延迟的可能性。同时也可以排除客户端高延迟的可能性。因为它在此时除了接受SYN/ACK数据包以外什么也没做。这样,就可以确定是属于线路延迟。数据包时间延迟Wireshark网络分析实例集锦大学霸
路径延迟可能是由一些基础设施设备造成的,如企业路由器。当在一个网络上存在瓶颈的时候,也可能造成路径延迟和数据包丢失。如图2.42所示,当用户发送SYN包时,开始建立TCP连接。如果在收到服务器返回的SYN/ACK数据包之前有很长的延迟,则说明是受到线路延迟影响数据通信。图2.42 路径延迟
在Wireshark中,通过查看TCP三次握手可以看到路径延迟。在SYN-ACK包发送之前,查看客户端并观察客户端向服务器发送SYN数据包。
2.客户端延迟的显示和原因
客户端延迟通常是由用户、应用程序或缺乏足够的资源造成的。有自然的“人为”延迟(当等待用户点击屏幕上的东西时),但并不是所有都是用户人为造成的。用户应该查找行动迟缓的应用程序造成的客户端延迟。
前面提到的三种延迟类型,客户端延迟是最常见的一种。大多数应用程序的加载在服务器端通信。然而,如果碰巧有一个应用程序加载在客户端和服务器之间,那么必须考虑客户端的响应时间。如图2.43所示,这是一个客户端延迟的例子。图2.43 客户端延迟
当客户端发往TCP握手过程中最好一个ACK包给服务器后,
3.服务器延迟的显示和原因
服务器延迟发生在服务器缓慢响应发送来的请求时。这可能是因为在服务器无法处理一个错误的应用程序或其它类型干扰,需要请求另一个服务器来处理该问题。这样将会导致服务器延迟响应。如图2.44所示,下面是服务器延迟的例子。图2.44 服务器延迟
4.延迟定位框架
上面根据数据包成功地定位了从客户端到服务器的网络高延迟的原因。为了更快速的解决延迟问题,下面使用图解的形式介绍,如图2.45所示。图2.45 判断延迟问题
在该图中,数字1表示线路延迟;数据值2表示客户端延迟;数字3表示服务器延迟。结合前面介绍的数据包,可以使用这张图快速的解决自己的延迟问题。数据包时间延迟Wireshark网络分析实例集锦大学霸
Comments are closed.