ICMPPing测试如何工作
Ping是专用IP网络工具,Ping发送一个ICMP回声请求消息给目的地并报告是否收到所预期的ICMP回声应答。各个操作系统都有安装Ping工具,任何常见的企业平台,像Windows或MacOSX都能找到它。
你可以在任何网络设备上运行Ping延时测试。而目标主机可以是任意其他设备,比如电脑,路由器或是在网络上带IP地址的任意设备。无论如何,我们的目的是测量Ping数据到WAN上所需的时间,目标主机越近,WAN链路就越好。
大多数这一代WAN路由器和在布线柜连着它们的LAN交换机都有Ping,这样很多时候可以从WAN路由器控制口或者布线柜的其他网络设备发起Ping请求,目标是在WAN另一头的其他交换机或路由器。
理想的是从布线柜,比如你的总部发起Ping到分支办事处布线柜的目标设备(反之亦然),但这通常不可能。因为大多数情况下,企业安全策略会限制物理或逻辑上访问WAN路由器或交换机控制口。因为在交换机或路由器控制口的一个错误命令会让设备瘫痪,所以大多数企业限制设备控制口的访问权限是应当的。
同样的,许多企业禁止他们网络设施自动回应Ping,因为这样的回应可能导致交换机或路由器发生拒绝服务攻击。所以你可以很容易判断生成测量结果的源和目标设备是电脑,因为在测试WAN另一端的它们可以运行IP,应答Ping。
事实上,今天所有的网络都部署了网络地址转换(NAT)),你选择作为目标的设备需要有一个公共IP地址或者映射到你的防火墙上,这样你的Ping请求才会被接受。
幸运的是,LAN的延时一般都很低,大概在1到2ms范围内,因此如果需要在WAN上从LANPing到LAN,你会发现你的测量结果中的2到4ms是和两个本地LAN有关,需要扣除这个值。
收集Ping延时报告
现在你了解了该网络工具,你可以收集Ping延时测量报告。Ping的唯一任务是在网络中产生echo命令,你还会发现Ping工具有很多选项,大多数我们可以不用管它。Windows7中的Ping有16个不同的选项。
要运行Ping,最简单的方法是打开Windows的命令行提示符或运行MacOSX的终端程序。如果你讨厌使用命令提示符,这里有很多免费的前段图形用户界面(GUI)用来进行Ping。不断尝试Ping的各个参数,这不会有什么问题,只要不用Ping不停地发送大量的数据包。
Ping后面输入目标设备的网络名字,或者目标路由器,交换机,网络工作站、其它IP设备的公共IP地址。
在windows下,输入Ping<TargetIPAddressorTargetIPHostName>
敲回车,它会尝试Ping目的IP设备。Windows通常产生4次echo请求,然后总结报告。而MacOSX默认不停地执行下去。写入-c4选项,OSX的Ping会像Windows一样执行4次。
在windows下,输入:Ping–c4<TargetIPAddressorTargetIPHostName>
然后敲回车。它会尝试Ping目标IP设备。显示详细结果之后,你会得到一个你关心的报告。
理解Ping延时测试报告
首先在packetloss中寻找单词”loss”,那个数字最好一直是0,如果不是,要么你网络正在经受短暂的压力,要么配置的不正确。如果”loss”非零,很可能用户开始和你抱怨了。丢包通常需要进一步监控和采取必要的行动。
由于任何丢包情况都是短暂的,Ping可以在接下来的时间中判断数据包是否仍然丢失。如果数小时后仍然报告数据包丢失,那么要引起重视。联系你的ISP,让他们了解情况。至少他们会告诉你:你的链路是否检测到任何技术问题。也可能时你的流量负荷要求升级带宽。
我们的目标是保证网络低延,Ping会告诉我们每个echo通过网络需要的时间,即往返传输。报告中的统计数据会告诉我们延时是否稳定。日志记录Ping的结果,即使是手动的,也可以为自己特有的网络建立基准。如果怀疑有网络问题,你会需要这些基准作为参考点。
通常Ping应答从10到20ms不等,或是第二次有1/10到1/5的差别。这不足以影响用户。如果你在Ping应答时开始看到很大浮动,这不是好兆头。延时的变化叫做抖动,它会使像VOIP这样延时敏感的实时应用程序出现问题。
往返传输时间临时的起伏暗示网络比较拥挤。比如,Ping通过WAN链路到Internet显示62ms,但是当一个文件在上传中,马上增加到250ms。当延时和抖动结果仍然无法接受时,就应该考虑WAN优化和Qos解决方案来控制带宽或升级你的WAN带宽了。