本文首先介绍了Ad Hoc网络及其相关协议的主要特点,根据网络特性提出了性能测试的体系结构。围绕体系结构中的不同测试内容,提出相关的测试方法,并详细讨论了网络性能的评估手段和测试环境的设计。
随着现代通信技术的进步,人们对移动通信需求的不断增加,移动通信系统,如个人笔记本计算机,掌上型PDA设备等得到了迅速普及。但目前多数的移动通信系统是集中式控制的(有中心的),网络的运行要基于预先架设好的网络设施。这两个特点使得有中心的移动通信系统对有些特殊场合来说并不适用。例如,战场上部队快速展开和推进、发生地震或水灾后的营救。这些场合的通信不能依赖于任何预先架设的网络设施。此时,需要系统能实现临时快速自动组网,结点要能移动。
Ad hoc网络是一种有特殊用途的对等式网络。它使用无线通信技术,网络中的结点互相作为其邻居(在其直接通信范围内的结点)的路由器,通过结点转发实现结点间的通信。它又被称为多跳网络(multi-hop.network)、无固定网络设施的网络(infrastructure less network)或自组织网络(self-organized network)[1]。
由于Ad hoc网络工作在分布式移动环境中,并且网络带宽非常有限,所以要尽量减少通信对端的交互信息数量。多跳特性是Ad hoc网络的另一个显著标志。由于结点的无线通信距离有限,Ad hoc网络中的结点不一定都在其它所有结点的直接通信范围之内,而且受电磁干扰,地形干扰或天气影响,结点的通信距离也会有所改变。所以当结点并非直接可达时,需要中间结点的转发才能实现通信。也就是说从源结点到目的结点是多跳(multi-hop)连接的。
传统的基于有线网络的共享广播信道接入技术(ALOHA、CSMA系列)只能在共享的信道上使用。而Ad hoc网络具有多跳性,不是共享网络。所以Ad hoc网络的信道接入协议要充分考虑多跳带来的隐终端、暴露终端和公平性等问题[2,3]。Ad hoc网络中结点是移动的。结点的移动性造成网络的拓扑结构不断变化,这对接入协议和路由协议都提出了新的要求。首先接入协议要能够感知到结点移动造成的链路通断,并把这些信息报告给路由协议。路由协议要根据链路状态的变化修改自己的路由表。传统的基于固定网络的路由协议显然不能直接用于拓扑变化频繁的 Ad hoc网络。所以Ad hoc网络路由协议成了研究的焦点。Ad hoc网络中,结点的移动性也会影响网络的性能[4],这需要相应的机制来解决。
由于影响Ad Hoc性能的因素很多,并且错综复杂,仅仅考虑有限的测试指标并不能够反映网络的真实性能, 所以Ad Hoc网络性能测试系统需要对网络进行全面的分析与理解,根据网络特性确定测试内容,有针对性地选择测试方法,进而构建与具体网络应用相适应的网络测试环境。
网络性能测试体系结构
Ad Hoc网络协议主要包括网络接入层协议(MAC)和路由协议。不同层次的协议由于所完成的功能不同,所以具有不同的测试指针。在网络测试中,要合理评价网络性能必须充分考虑不同层次的协议在性能上的差别。同时,对于不同的网络应用来说,各个层次协议性能对网络整体性能的影响也不尽相同。
Ad Hoc网络性能测试按照网络功能层次进行区分,主要分为以下三个方面的内容:通信终端物理性能测试,接入层协议测试和路由协议测试。
1. 通信终端物理性能测试
通信终端种类很多,包括数字电台、PDA、移动笔记本电脑等等。不同的无线终端由于硬件配置不同,其物理性能也不尽相同。物理性能测试内容主要包括:
* 数据发送速率:即终端设备可支持的最大传输带宽,对于多信道系统而言,还需要测试最大可用带宽。
* 传播距离:即设备的通信范围,主要与终端的发送功率,接收门限(信噪比)有关。多跳网络中,传播距离会对网络的拓扑关系产生重大的影响,也是MAC层协议设计通常需要考虑的问题[2][3],也是影响网络吞吐量的因素之一。
* 差错控制能力:无线信道通常是不可靠信道,所以需要相应的差错控制能力,保证在一定的信道误码率下,可以完成正常数据通信。
2. 网络接入层性能测试
网络接入层(MAC)解决了隐终端和暴露终端的问题[2][3]。MAC层协议的性能会直接影响网络的整体性能。MAC层协议是Ad Hoc网络组网协议的基础,也是网络结点通信的第一步,只有高效、公平、有序地组织网络中的所有通信结点的链路层通信能力,才能保证上层网络互联协议(路由协议)的正常运行。网络接入层性能测试内容主要有:
* 接入时延:结点从有数据需要发送到数据的实际发送的时间间隔。是反映单个结点接入效率的重要参数,但是不能反映网络整体性能。
* 网络吞吐量:接入协议的性能还体现在网络吞吐量上,由于无线网络数据帧的碰撞会导致所有的发送方都要退避一段时间,然后重新发送数据,这就必然对系统的吞吐量产生影响。
* 优先级:网络中的结点按照优先级排序,优先级高的结点比优先级低的结点有更低的平均接入时延,这一点在同时承载数据业务和话音业务的网络中显得尤为重要。
* 公平性:优先级然保证了优先级高的结点有更低的接入时延,但是网络接入协议还必须同时保证优先级低的结点不会“饿死”,同等优先级的结点还要有相同或接近的接入时延参数。
3. 路由协议性能测试
路由协议的任务是维护网络拓扑,为结点之间的通信提供及时准确的路由信息,保证报文按照协议所提供的路径正确到达目的结点。针对现有Ad Hoc网络路由协议的特点,性能测试主要包括以下几个方面:
* 端到端时延与吞吐量:路由协议所处理的是源结点到目的结点之间的路径选择信息,所以源结点到目的结点之间(端到端)的行为最直接的测试内容就是时延和吞吐量。但是,这两个参数都与MAC层协议的效率直接相关。
* 路由发现时间(也称为路由重建时间):直接说明了路由算法的效率,即从无法根据路由表得到路由到得到可用路由的时间。需要注意的是,这个测试参数适用于需求驱动路由算法(反应式)[1][5]和具有事件触发更新功能的路由表驱动型路由算法(先应式)[1][6]。
* 路由表收敛时间:对于路由表驱动型路由算法而言,路由协议在运行期间,路由表从初始状态到路由表稳定状态通常会有一个自动更新的过程,这个时间通常称为路由表收敛时间。
* 路由协议的效率:任何路由协议在运行过程中,都要有一定的路由协议开销,用于在结点之间维护网络的拓扑信息。对于无线网络而言,网络带宽非常有限,协议开销直接影响网络带宽的利用率,进而影响网络的扩展性。所以路由协议的效率也是我们重点考虑的测试参数之一。
性能测试的基本方法
Ad Hoc网络的性能测试的主要内容已经在第二节中进行了阐述,由于物理层的测试内容只涉及到点对点之间的通信。而且,无线终端设备厂商一般会事先提供相应的物理层参数,所以下面讨论的性能测试方法只与网络接入层和路由协议有关。
1. 接入层协议性能测试方法
(a) 接入时延测试结点对所有到达发送缓冲区的数据包用时间戳进行标记,在该数据可以发送后,即满足下列条件,收到CTS数据帧并且是缓冲区最先要发送的报文,再记录下数据可以成功发送的时间。这个时间与时间戳记录的时间相减即接入时延,在系统测试时,通常计算结点所有数据包的平均时延。接入时延测试如图1所示:
(b) 优先级测试
网络中的优先级可以分为结点优先级和报文优先级。在统计意义下,优先级的测试要依赖于平均接入时延的计算。如果是对网络结点按照优先级进行区分,性能测试就计算不同结点的平均接入时延。如果网络只支持报文优先级,就要对不同类型的报文进行区分,分别计算平均接入时延。对于同时支持结点优先级和报文优先级的网络,测试要更加复杂。
(c) 公平性测试
公平性测试的依据主要是平均网络接入时延,优先级高的结点比优先级低的结点具有更小的平均接入时延。同时,不同优先级结点之间的时延差距要相对明显。例如,最高优先级结点与最低优先级结点之间的时延差距不到5%,就说明MAC层的网络优先级机制是失败的。
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) 路由发现时间