主权项 |
一种干扰感知的多流协作路由方法,其特征在于,该方法为:1)对于多跳协作无线网络的源节点s来说,当源节点s需要与某个目的节点d通信时,源节点s首先检查其路由表中是否有到达该目的节点d的路由,如果有则按照路由表中的路由直接发送数据;否则源节点s按照以下步骤启动一个路由发现过程,通过广播路由选择消息RREQ来找到一条到达该目的节点d的可用路由:a)计算源节点s到源节点s的邻居节点z之间的链路(s,z)的路由指标,即得到s到z的实际可用容量P<sub>sz</sub>;b)将P<sub>s</sub>=+∞插入RREQ中,P<sub>s</sub>表示源节点s到s的端到端可用容量,然后广播该RREQ;2)当中间节点x收到来自该中间节点x上一跳节点y广播的RREQ时,中间节点x从上一跳节点y广播的RREQ中获取到源节点s到节点y的端到端最大容量P<sub>y</sub>和节点y到中间节点x的实际可用容量P<sub>yx</sub>,利用P<sub>x</sub>'=min(P<sub>yx</sub>,P<sub>y</sub>)计算中间节点x到源节点s的端到端的最大容量P<sub>x</sub>',并按以下步骤处理中间节点x收到的RREQ:a)若中间节点x不是第一次收到来自源节点s广播的RREQ,并且P<sub>x</sub>'<P<sub>x</sub>,则中间节点x丢弃当前收到的RREQ不再继续转发,其中P<sub>x</sub>表示根据当前时刻之前中间节点x收到的RREQ计算得出的中间节点x到源节点s的端到端的最大容量,所述最大容量保存在中间节点x中;b)若中间节点x不是目的节点d,且中间节点x路由表中没有到达目的节点d的路由,则中间节点x首先更新自己到源节点s的端到端最大容量P<sub>x</sub>,即P<sub>x</sub>=P<sub>x</sub>',然后分别计算中间节点x到其所有邻居节点的链路的路由指标,并将所计算的所有路由指标,以及达到每个路由指标所选择的信道、链路传输模式,如果链路传输模式是协作通信模式的话,则计算出达到该协作通信模式下的路由指标对应的链路的最优协作中继节点,将上述信息插入中间节点x收到的RREQ中,最后将源节点s到中间节点x的端到端的最大容量P<sub>x</sub>也插入到中间节点x收到的RREQ中,得到更新的RREQ,中间节点x广播更新的RREQ;c)若中间节点x是目的节点d,或者中间节点x路由表中有到达目的节点d的路由时,中间节点x生成一个RREP路由回复消息,所述RREP路由回复消息包含所选择的链路,每跳链路的通信信道和链路传输模式,以及当链路使用协作传输模式下的最优协作中继节点;3)当多跳协作无线网络中任一节点l收到RREP路由回复消息后,如果选定的路由包含节点l,则节点l根据上述RREP路由回复消息分配传输的信道、链路传输模式,以及当链路采用协作通信时,节点l会选定通信的协作节点,即:如果待分配信道还未被节点l的任意网络接口使用,则将该待分配信道分配给节点l的某个空闲接口,并将该待分配信道加入节点l的工作信道集,更新节点l的可用工作信道集合,如果节点l选择协作传输模式,则控制信道广播Hello信息给待确认协作节点,并将待分配信道分配给该待确认协作节点的空闲网络接口。 |