单跳传输质量计算
传输质量(Transmission Quality, TQ)的计算需要先计算两个值:接受质量(Receive Quality,RQ)以及回传质量(Echo Quality,EQ),图1展示了计算单跳TQ值的过程。
图1 单跳传输质量(TQ)计算示意图 A.RQ计算 B.EQ计算 C.TQ计算
如图所示,A节点与B节点互为一跳邻居节点,以A节点来说,接受质量(RQ)指的是从B过来的一跳链路质量,而回传质量(EQ)则是指A发出的包经一跳到B节点后又被B节点一跳转发回来的这两跳链路的质量。这两者的计算方式相同,都是通过一个64位的滑动窗口来实现。
OGM学习包在这里被用于计算RQ以及EQ,通过滑动窗口记录的接收到的OGM包的多寡,即可以判断链路质量。如前所述,OGM包是带有递增的序列号的,每收到一个OGM包,节点便会根据OGM的序列号来更新RQ和EQ的滑动窗口。根据新收到的OGM序列号,滑动窗口会不断向前滑动,永远只保留对应最新的64个序列号的位置(空位初始化置0),并且在接收到对应序列号的OGM包时,就在对应的位上做上记号(置1),这样通过滑动窗口中1的个数即可以计算出RQ和EQ。虽然计算 RQ和EQ的方法一样,但它们计算所需要的OGM包却不同,计算RQ时需要的是B节点经过一跳发来的由B节点产生的OGM包,而计算EQ时需要的是A节点自身产生的经过一跳发给B节点又被B节点一跳转发回来的OGM包。
获得RQ和EQ以后,便可以计算单跳的TQ,在这里即是指A节点到B节点的TQ,如前所述,RQ指B节点到A节点的链路质量,而EQ指A节点到B节点再回到A节点的两跳链路质量。而链路质量也可以说是传输的成功率,链路质量越好,传输的成功率越高,用滑动窗口来计算RQ和EQ也是用传输成功率来衡量链路质量。那么既然EQ涉及的传输需要经过这两跳,则这两跳都必须成功才能保证这一传输的成功。若设A节点到B节点的传输成功率为 , 而B节点到A节点的传输成功率为 ,则EQ所对应的传输成功率应为
(1) SEQ=