基于tinyos的无线传感器网络路由协议的研究与实现
路由容错性能是指路由算法的鲁棒性,数据通过该路由算法确定的路径到达目的地的可靠性。比如当某个传感器节点失效时,路由算法可以通过路径修补绕过该点,当网络里信道间误码率较高或传感器节点所处的环境影响信号传输时能够保证数据的安全传输等等。
数据传输方式是指信息在传感器网络里是通过直接的点对点传输还是通过中间节点,以接力棒的形式进行数据传输。
网络生命周期指的是所布置的无线传感器网络能够进行有效工作的时间,如果网络中某些节点由于过度使用而提前失效,致使其他节点不能进行组网而破坏了网络的联通性,这样虽然其他节点本身能够采集并发送数据,但是由于网络联通性被破坏,数据不能到达目的节点。网络生命周期是传感器网络里非常周要的一个指标。
数据发送模式指的是数据是主动发送的还是通过其他节点的要求来发送的。主动发送的数据是根据本地的设定的采样频率连续发送的,当传感器采集到数据便打包发送;通过其他节点的要求来发送的模式一般是指汇聚节点根据需要向目的监测区域发送查询命令,通知目的区域发送某种类型的数据,目的区域节点接到命令后,开启数据采集功能,根据命令中要求的频率进行采样并发送。
数据/查询缓存是指路由算法是否设置缓冲池用来为那些已经发送的数据在本地保留副本以便数据包丢失后进行重传,或者用来缓存那些接收到的查询命令等控制信息。数据/查询缓存的使用一方面可以用于保证数据的可靠性或优化路径,但是另一方面它增加了维护路由的开销,设计路由要均衡利弊选择使用。
数据聚集指的是在数据包发到目的地之前是否都发到某一个中间节点进行一些必要的处理,比如某个监测区域监测到的数据先发往一个控制节点进行数据融合,进行一些必要的数据过滤或者对数据进行求平均值等必要的计算,然后再发往目的地,这样可以减少网络通信量。资源有效性是指监测区域收集的数据与汇聚节点实际想得到的数据是否一致,监测区域收集数据的频率和发送时延是否满足要求。
分层是指无线传感器网络中的节点之间功能的划分,如果传感器网络中各个节点的功能一样,都是即可以采集数据又可以控制路由选择,那么这种路由是不分层的,又叫平面路由;如果节点收集到数据后要发往一个专门的控制节点进行选路,那个专门的节点又称为簇头,这种路由机制属于分层的路由,又叫做层次路由。
§2.3路由协议接入方式
前面说过无线传感器网络不同于一般的Ad Hoc网络,它在资源、传输方式以及应用对象方面有自己的特点。无线传感器网络的路由协议与传感器网络的特点对应,是与应用紧密相连的。前面提到的几个应用分别应用的场合也不尽相同,每种协议都有自己独特的优势和缺点。这就要求对于不同的应用能够进行自由的切换路由,路由能够进行方便的更替。现在一些应用于无线传感器网络的系统中有一些对路由层做了封装,以配置文件的形式可以动态的链入,比如:加州大学伯克利分校研究的tinyos系统把路由层以组件的形式实现,提供给上层接口进行调用。组建可以自由的更换,只要提供的接口一致,给上层应用的开发提供了极大的方便,路由层的加入也很方便。Jennic公司研制的bos系统类似于tinyos,相当于tinyos简化版,传感器网络中各部分也是以API接口的形式提供给应用层调用。这些系统的共同之处是为方便应用,把下层包括路由层封装起来,以API接口的形式提供功能调用。下面以tinyos中路由层的调用方式[3]来说明无线传感器网络中路由层的自由变更方式。
如图2-3所示,AM模块用于连接发送模块,和下面的mac层、物理层通信,调用下层功能完成信息的收发功能。路由模块MultiHopRouter利用AM层的收发接口完成路由选择、路径优化等功能,提供给上层收发接口和Intercept接口,其中Intercept接口用于那些收到的不是发给本地节点的信息。其中AM模块(Active Message)用专门的组件封装好,提供基本的数据的发送和接收功能。路由层架设在AM层之上,提供路由功能,在路由层之上是传输层,由于并没有在系统中实现,所以用虚线表示。路由层之上实际上是应用层,实现的路由都提供这些接口,上层应用在使用时直接调用这些接口,根本不关心具体的实现。这样封装有利于路由层的灵活替换,只要提供相同的接口,就可以很方便的连入应用程序。
传感器网络可能需要在相同的监测区域内完成不同的任务,如果为每种任务部署专门的传感器网络将增加传感器网络的成本。因此,为了完成任务,传感器网络需要根据应用环境和网络条件自主选择适用的路由协议,并在各个路由协议之间自主切换。灵活的路由自主切换为应用提供了方便,节省了成本,但是为路由协议的开发增加了约束条件,加大了开发难度,提出新的挑战。
评论