2. 路由协议性能测试方法
路由协议所有的性能测试参数都需要在多跳网络中实际测量得到,要根据Ad Hoc网络的特点合理运用路由协议的性能测试方法。需要特别指出的是,网络的覆盖范围,网络结点的移动性等对网络路由协议的参数会产生较为明显的影响 [4],上述问题将在第4节进行讨论。Ad Hoc网络的路由协议主要有如下几方面的特征[8]:
*分布式特征:该特征是Ad Hoc网络最突出的特征。
*无环路:路由协议的重要约束条件之一,可以简单地采用TTL(生存时间)来对“兜圈子”的报文进行控制,但是考虑协议的效率通常采用更好的办法。
*需求驱动(反应式):路由协议并不主动维护路由表,当发现无法得到目的结点路由后,需求驱动路由协议发送路由请求信息。
*路由表驱动(先应式):路由协议主动维护网络中的拓扑,定时更新路由表,有的协议还有更新触发功能,可以更快地发现新的可用路由。
*安全问题:安全性是Ad hoc网络面临的另一个大难题。Ad hoc网络使用无线通信技术,容易被监听和干扰。加上Ad hoc网络一般被使用在特殊场合(军事、救灾等),安全问题更加突出。在无线链路安全性非常脆弱的情况下,路由协议的安全性对于网络尤为重要。
*休眠期:电源能量对于基于移动网络的终端非常重要,路由协议需要支持设备的休眠功能,不要在休眠期仍然进行路由信息的交互。
*非对称链路支持:无线网络的非对称性必然会导致非对称性路由,路由协议必须能够在源结点和目的结点之间建立非对称路由,这样就增加了协议的复杂性。
根据路由协议的特点,提出路由协议性能测试方法。
(a) 路由协议端到端时延
测量主机之间时钟同步是端到端测量重要的技术基础。利用GPS、PSTN、CDMA等网络的外部时钟源来实现测量主机间同步。虽然精度高,但费用昂贵且在测量主机数量很大时难于实现。一般端到端时延测量可以通过RTT(Round Trip Time)获得,但是由于无线链路广泛存在着链路非对称的情况,所以需要测量端到端的单向时延。[10][11][12]对单向时延的测量提出了基于某种最优化目标来确定测量参数的方法。根据不同的要求,提出相应的优化目标,利用线性规划模型进行求解,最终到达提高单向时延参数精度的目的。
(b) 路由发现时间
12 ALT="图3:“直线型”结点分布。">
当路由协议发现当前维护的路由条目失效或无法为目的结点提供可用路由时,会主动发出路由请求,网络中的邻居结点会根据路由请求的内容或者转发路由请求,或者向源结点报告可用路由,或者什么都不做[1][7]。从发送路由请求到得到可用路由的时间就是路由重建时间,如图2所示。
(c) 路由协议的效率
网络中路由信息占信息传输总量的百分比。对于路由协议的效率参数,可以利用外部测量的方法,即在网络中加入监听结点并分析数据内容的方法来计算路由协议效率。但是这种方法的开销较大,如果对协议本身进行修改,本地计算可以大大减少网络开销。在路由协议中,在路由维护信息送到发送缓冲区之前进行修改:
#IFDEF CACULATE_EFFECIECY
int num_of_routing_message++
#ENDIF
这样利用下面的公式:
12 ALT="">
可以得到路由协议的效率参数。
网络综合性能评估
网络综合性能评估必须充分考虑不同网络环境对网络性能的影响,结合网络应用背景对网络性能进行综合评估。
网络环境对网络性能的影响主要有以下几个方面:
(a) 网络覆盖范围:结点的数目和分布率(通常结点较多的情况下)决定了网络覆盖范围,
(b) 网络连通性:通常是网络结点的平均邻居数目,在图论的意义下,也就是网络结点的“度”[13]。
(c) 拓扑变化频率:表征了网络拓扑变化速率。
(d) 链路容量:有效的链路带宽,即可利用的链路带宽,标称带宽与可用带宽的差别主要由于接入协议,编码和数据帧封装时导致的错误。
(e) 非对称链路:网络中非对称链路数量会对网络性能产生影响。同时,不同的路由协议在非对称链路网络中的工作效率也是不同的。
(f) 网络流量模型:路由协议在平衡流量网络或突发性网络中的表现是不同的。
(g) 移动性:结点的移动特性对网络的性能也会产生影响,例如在军事上,通信结点一般都以集群的方式向某一方向或地域运动,所以同一集群各个结点之间移动的相关性较强,而不同集群之间的移动相关性则不是十分明显。这一点对路由协议性能产生重要影响。
(h) 休眠结点数量:网络中休眠结点数量多可以延长终端的待机时间,同时可以有效地减小网络中路由协议的开销。协议对休眠结点的处理方法以及效率也是影响网络性能的因素之一。
在特定的网络应用环境中,可能会具有上述某些重要特征,不同的网络应用会对不同层次的协议有不同的性能要求。对同一层次的协议,不同的应用也会对各个网络性能参数有不同的要求。例如:协议A在大规模网络中性能非常好,协议B在小规模网络中性能优于A,如果应用场合是一个小规模网络,应该优先选择B协议。实际测量中的情况不是这个简单,需要多方面的性能综合考虑,可以根据应用特点的不同,给网络不同的性能测试内容赋予不同的加权值,这样可以更加客观地反映网络的性能,如表1所示。
其中,
12 ALT="">
所以加权值是归一化参数。
如果各个参数之间具有相关性,如移动性和连通性之间相互影响,简单地用加权值并不能科学地反映网络性能差别,利用层次分析法[9],可以更加准确地对不同网络的性能进行评估。
网络测试环境设计
1. 结点分布范围与移动特性
分布范围一般有三种模式:
(a) 均匀分布(随机分布)
所有结点的地理位置是完全随机的。在给定范围内,如30km*30km或50km*50km,结点可以在任何位置请求与其它结点进行通信,同时网络结点以随机的方式移动。
(b) 直线型分布
12 ALT="图4:“星型”分布。">
直线型分布也是一种非常常用的结点分布形式,如车队在高速公路行进中的情况就符合这种分布特征。实现的这种分布式特征的方法是,让结点在一个狭长区域随机移动。用这种方式下,结点之间的通信主要依靠直线拓扑结构的网络,如图3所示。。
(c) 星型分布
在许多分区结构的网络中,成员结点与群首通信组成了本地网络,也称为“群”或“簇”。这样的网络,结点分布是一种星形分布。如图4所示:
分群网络中,可以构造多个星型分布的子网,这样可以测试网络在分群网络的性能。
2. 网络结点的流量
网络结点的流量也会对网络性能产生影响。在测试平台中,针对不同的应用环境,应该配置不同的结点数据流量规则,以合理地对网络性能进行测试。
(a) 均衡流量
这种方式下,各个结点流量均相同,从应用层看,就是各个结点的业务类型相同或相近,需要提供相同的数据传输业务保障能力。
(b) 非均衡流量
在某些应用场合,如军事应用中,各个结点之间所承担的任务不同,结点的数据业务需求也不相同。例如,指挥官所在的网络结点可能需要大容量的实时数据业务,而单兵使用的通信结点可能数据量较小。对应于分群网络,群首结点的数据通信需求要远大于成员结点。