作为一名网络管理员,你将花费很多时间用于修复运行缓慢的计算机和服务。但是人们抱怨网络缓慢,并不意味着就是网络的问题。
在开始处理网络缓慢的问题之前,你首先要确定网络是否真的很慢。
首先,我们会讨论TCP的错误恢复和流量控制机制。然后,我们会探索如何检测网络缓慢的根源。最后,我们会讨论用基线测试网络以及网络上运行的设备与服务的方法。这回让你在识别、诊断和解决慢速网络方面,应该会有非常大的进步。
很多技术都可以用来排除网络缓慢故障。问题主要集中在TCP,因为在大多数时间你只需要面对它。TCP允许你执行被动地回溯分析,而不用生成额外的流量(比如ICMP)。
TCP的错误恢复特性是我们定位、诊断并最终修复网络高延迟的最好工具。在计算机网络中,“延迟”是数据包传输与接收时间差的衡量参数。
延迟可以被测量为单程延迟(从单个来源到一个目的地)或往返延迟(从来源到达目的地并返回来源)。当设备间通信很快,并且数据包从一个端点到另一端点所花时间很少时,就说通信是低时延的。相反,当数据包在来源和目的地间传输要花费大量时间时,就说通信是高时延的。高时延是所有珍视自己声誉(以及工作)的网络管理员们的头号敌人。
1. TCP重传
重传数据包是TCP最基本的错误恢复特性之一,它被设计用来对付数据包丢失。
数据包丢失可能有很多原因,包括出故障的应用程序、流量负载沉重的路由器或者临时性的服务中断。数据包层次上的移动速度非常快,而且数据包丢失通常是暂时的,因此TCP能否检测到数据包丢失并从中恢复显得至关重要。
决定是否有必要重传数据包的主要