Ping是典型的网络工具
Ping能够辨别网络功能的某些状态。这些网络功能的状态是日常网络故障诊断的基础。特别是Ping能够识别连接的二进制状态(也就是是否连通)。但是,这只是能够告知你的网络运行状况的众多行为分析中一个最简单的例子。
假设网络是一个黑匣子,对此你事先一无所知。通过适当地刺激网络和分析网络的反应,正确地应用网络行为分析模型确定这个黑匣子的内部
状态。这就使网络工程师和用户不必专门访问网络的组成设备(也就是接口、交换机和路由器)就可以了解一个网络通道。
向网络发送数据包。用网络的正常状态和网络标准作为分析模型。接下来,把可能的网络反应同已知的状态联系起来,就可以识别网络的内部
状态,如连通性
在使用Ping的情况下,这只能使简单的事情更加复杂。向一个IP地址发送一个ICMP Echo数据包,可以得到ICMP(互联网信报控制协议)应答,
你就可以确定在网络路径上存在连接。这很简单,但是功能却非常强大,因为它可以指出更有趣的可能性。
当然,网络从来不是理想的。网络对刺激的反应是随时间变化的。一般来说,Ping要重复这个过程不只一次,然后进行统计评估。按照这种做法,Ping大体上可以确定往返时间(RTT)的统计变化以及丢包率(往返时间为无穷大)。根据这个额外的信息,可以稍微多的了解到网络通道中的一些信息,但是了解的并不多。
Traceroute是采用这种方法的另一个工具。利用与中间路径第三层设备有关的已知的行为和IP报头的生存时间(TTL)域,Traceroute能够确定主机与某些目标主机之间的第三层的设备的排列顺序。要完成这个任务,Traceroute不是发送一个数据包,而是发送一系列具有TTL特殊设置的数据包,从1逐步增加到255个,直到达到预定的目标。Traceroute然后能够识别以ICMP TTL到其信息应答的每个第三层接口的IP地址。
Traceroute因此可以提供一个功能,了解两个主机之间IP路由的状态。显然,这样的状态很多,比简单的二进制的连接状态要复杂。
Traceroute需要大量增加网络路径的样本来完成这个任务
当然,还有更多的工具可以显示网络路径的不同方面,甚至Ping和Traceroute也增加了其它的功能。有些工具依赖非常高级的数学网络模型。这些数学模型包括队列理论、非随机损失分析和错误的关联等。
那么,要点是什么呢?这有点儿像盲人摸象的老寓言,每个盲人都以不同的特点解释象(有人说像蛇,有人说像堵墙,有人说像树干),因为每一个路径都是以不同的方式访问的。他们谁也不清楚他们正在处理的是什么。
因此,网络就是这种东西,不断地变化、影响应用程序的性能并且阻碍诊断。然而,可以广泛应用网络分析模型,而不是对简单的网络状态进行一点一点的分析。高级取样和分析过程可以详细揭示所有的端对端的路径的结构。
“新网络科学”栏目介绍的许多最新的网络技术充分利用了这个方法。事实上,这些系统提供的观点更精确。打个比方,这就好像是使用现代的声纳精确地生成的一个由温度、表面和盐度等所有的细微变化形成的声波以准确地描绘海洋的洋底、洋流和海洋生物存在的状态。并不是简单地检测第二次世界大战的潜艇。
更好的是,这些系统能够有选择地分析网络对具体应用程序的反应。这些应用程序包括备份与恢复、VoIP、视频、协作环境等处理系统以及其它应用软件。数据包的大小、负载、协议和传输速率的变化都可能引起网络改变其特点。
如果你发现Ping和raceroute用处不大,考虑一下,你使用的仅仅是你可能拥有的工具的很小的一部分。就像一个像素的图形不能向你展示整个画面一样,Ping也不能告诉你整个情况。