联结科研与教育机构的网络有其自身的特点:数据流量大,特别是突发流量大;对实时交换能力的要求高;对网络的可靠性、健壮性要求高;与国际重要科研和教育机构的联系紧密;用户应用层次高,专有性强。因此,对网络的管理监控,成为进一步完善科研和教育相关网络的重要环节,我们可以借鉴国外类似网络的典型经验,有针对性地对我国的科研和教育网络进行部署、测试、监控、评估和改进。
斯坦福直线加速器中心历时十年部署并检测了利用ping命令简化联网监控的方案,此方案也曾在中国科学院高能物理研究所得到实践。
斯坦福的体系构建方案
高能物理研究需要世界各国相关科研机构的通力合作,为此部署了一个遍布全世界的大型网络,有着和我国的CERNET相类似的特点。鉴于联网监控的重要性,又不能在如此庞大繁重的网络上增加过多的复杂性,斯坦福直线加速器中心(SLAC)的Les Cottrell提出了一个简单的方案。
首先是构建测量体系的特点。使用现有的Internet ping命令构建,不需安装其他工具;层次结构扩展到全网,让每一个监控站点选择远程站点;轻量级系统:低网络碰撞 (100bits/s/path)、没有特殊机器、简单添加被监控站点。
再详细定义Ping的测量方法。
图1的体系结构所部署的主机分为监控主机和存档主机及远程站点三种。
监控主机需要一个作测量的终端机、文件的缓存空间、工具包的安装管理、选择远程主机、建立配置文件、当不可获取数据时对存档响应并保持其持续运行等功能。测量主机管理者选择感兴趣的远程主机,每半小时发出 21个Ping命令到每个被选择的远程主机,记录往返时间、丢包率、跳段、不可达、乱序等情况,并把数据记录在本地缓存中。
存档主机定期从测量主机中聚集数据(每日至少一次),从数据出发,存档、分析并且生成报告,在web上发布报告和相关数据。远程主机则需要一个Ping命令可达的主机,以及万一主机没有响应时的联系方法。
目前,此计划在世界各地已部署了分布在 14 个国家的34个监控点;拥有分布在超过72个国家的600多台远程主机;以及超过3300个监控站点-远程站点对。包含被监控站点的国家占到世界78%的人口,99%的Internet在线用户。测量工作始于1995年1月,一直在源源不断地报告往返时间,丢包率,可达性,跳段,重定序副本等。
利用以上联网监控的结果,10年来,许多的网络性能参数都得到改善:
缩短往返时间:更多的间接跳段被直接路径所取代,用地表线路取代卫星线路,采用更快的线路和网络设备,降低光纤中光信号的限速,使往返时间每年降低10-20%。而且认识到往返时间在不同应用中的影响,如电子邮件对服务质量不敏感,也许会延迟,但可以在几日内重试,直至最终成功;而web应用通常是人性化的,其性能常受制于服务器、人性。
减少丢包率:同样要结合各种网络应用来分析。如大文件传输,在无人控制的情况下, 如果出现 > 10-12% 丢包,连接就超时了。还有交互式的远程登录、语音应用,例如当运行telnet/ssh丢包率> 3% 会严重影响远程用户的键入、语音敏感度等。目前在此监控体系之下,丢包率每年都有40-50% 的改进,多数站点有着良好的性能 (丢包< 1%),最好的情况已达0.1%以下。
提高吞吐量和带宽:通过联网监控发现,在最近的12年内,Internet服务每年以100%的速度增长,数据包的规模持续升级,出现了巨型吞吐量。因此主要国家的平均带宽每年提升80% ,4年提升10倍,甚至大于丢包率的下降比率。
总的来说,由于此科研和教育机构的联网监控体系,使Internet的连通性能有了很大改进,而且使用普遍的Ping命令,易于配置,对互连区域和弱连接区域(如发展中国家的站点)都很有效,轻量级的负载(100bps/主机对, 21 pings/30mins 每对主机)不会对网络本身造成很大影响。
中科院网络实测
此方案也曾被笔者在中科院高能物理研究所网络环境测试中实践过,得出可信度较高的结果,为后来的网络拓朴改造和千兆网环境升级做出了有益的参考。
具体的操作采用的是Linux下的ping命令而不是windows下的ping命令。因为两者的时间精度不同,win-ping的最小时间只能达到1ms,而Linux-ping的最小时间能达到1us,精度提高了三个数量级。在次测试的环境中,很多线路都是通过千兆光纤连接的,传输速度相当快,因此只能应用Linux-ping实现测量,况且它也有相当丰富的命令参数选项可供使用。
实测的部分命令如下:
ping $ipaddr -i $i_test -c $c_test -s56 >> $testfile
ping $ipaddr -i $i_test -c $c_test -s120 >> $testfile
…………
ping $ipaddr -i $i_test -c $c_test -s1272 >> $testfile
ping $ipaddr -i $i_test -c $c_test -s1510 >> $testfile
其中-i参数是命令间隔时间,-c参数是重复次数,-s参数是Ping的ICMP包大小,>>是写入到记录文件。从研究所各个远程终端节点向中心监控网络设备发送不同长度的数据包(64-1518bytes),每种测10000次,可自动得出每种长度数据包的耗时最大值、最小值、平均值,从而得出对网络的传输性能的参考。
由此可以看到图6的执行结构,随着发送字节长度的倍增,所需的平均时间也随之增加,基本呈线性关系。主楼的Ping响应时间最好,这也验证了其与计算中心的链路连接的质量,二车间的居中,一车间和物资楼的响应时间最长。在前面确定其路由器没有大的问题之后,调查其连线的电气性能参数和拓朴,发现物资楼使用的是从二车间的ssr2000交换机连接出去的下一级交换机els100,其增多的一跳段很可能是造成时间较长的原因,说明在此类结构比较明了的网络拓朴中,应该尽可能缩短并直联链路。 |