一种无线网络设备间快速链路状态检测的方法_3

文档序号:9420888阅读:来源:国知局
其它节点向节点D发送的应用命令和数据都会绕过节点D进行转发,直到节点D故障恢复后,节点D会向其它节点发送链路检测帧,重新计算节点链路状态。
[0046]若节点D由于发射功率过小或信号干扰等原因,节点D的链路检测帧无法发送到其它节点,其它节点记录的节点D的收帧检测计时K会每秒累计加1,当收帧检测计时K >M后,其它节点会将节点D的链路状态标记为链路故障,而节点D又能收到其它节点的发送的链路检测帧,但是这些链路检测帧中的节点自身的收帧检测计时K > M,且节点D的无线接收功率过小时(小于-105dbm),节点D会调整加大发射功率和采用快速检测时间L = 20秒为间隔加快进行链路检测帧的发送,如此提高链路检测帧发送成功的几率,并且有效的抑制信号干扰;在节点D故障恢复或信号干扰清除后,实现节点D同其它节点间快速的链路状态建立,快速的从链路故障状态向链路正常状态切换,提高了无线网络的利用率。
[0047]在无线网络中,每个节点根据基础检测时间N为间隔发送链路检测帧前,都会根据节点设备地址计算一个发送退避时间,并等待该退避时间后再发送链路检测帧,用来避免无线网络中,所有节点同时上电启动后,相同间隔N秒内,所有节点同时发送链路检测帧带来的无线碰撞的问题。
[0048]本发明的链路检测帧长为256字节,最大可以携带48个节点的链路基础信息单元,可以实现无线空域内48个节点的快速链路状态检测,相比于原来的点对点握手方式需要48X48 = 2304帧心跳握手帧,极大的提高了链路状态检测的效率,降低了无线信号干扰及通讯阻塞情况的发生。
[0049]若在一个无线空域内,无线设备节点的数量超过48个节点,则分多个链路检测帧发送邻近节点链路状态信息,其最多分10个链路检测帧发送480个邻近节点的链路状态信息。
[0050]若节点A、B、C、D属于无线空域1,节点C、D、E、F属于无线空域2,则在无线空域I内,节点A、B、C、D相互进行链路状态的检测,在无线空域2内,节点C、D、E、F相互进行链路状态的检测,由于节点A和节点F不在同一个无线空域内,且节点A和节点F也不会存在直接通讯,则节点A、B和节点E、F之间不会存在链路检测交互,节点A的邻近节点链路状态表中不会记录节点E、F的链路基础信息,节点E的邻近节点链路状态表中不会记录节点A、B的链路基础信息,由于节点C会和节点A、B、E、F存在链路检测交互,故节点C会记录节点D、A、B、E、F的链路基础信息。如图7所示。
[0051]实施例1
[0052]本发明实施例中,在无线空域内,如图5,每个无线节点都向外部以广播的方式发送链路检测帧,其它节点都可以接收到该广播的链路检测帧,根据链路检测帧中携带的邻近节点链路状态表中的节点链路基础信息单元中的信息内容进行节点间链路状态的快速检测。
[0053]节点链路基础信息单元结构,如图3,每个节点链路基础信息单元占用5个字节,其中设备地址(2字节)、收帧检测计时(2字节)、无线接收功率(I字节),设备节点地址可以表示I?60000个设备,收帧检测计时每秒会加1,最大为16383,当累加达到16383时则不会继续进行累加了,无线接收功率采用I个字节存储,存储时将接收的功率数值加200进行存储,能够表示的接受功率范围在+55dbm?-200dbm之间。
[0054]邻近节点链路状态表以表的形式存储无线空域内所有能够相互通讯的邻近节点的链路基础信息,表格中的每一行存储一个相邻节点的链路基础信息单元,占用5字节,每个链路检测帧可以携带48个节点的链路基础信息单元发送到无线空域中进行链路状态的检测;邻近节点链路状态表在初始化时,将每一行的设备节点地址初始化为0,表示该行为空,后续根据收到的链路检测帧向邻近节点链路状态表中添加一行节点链路基础信息单元,并存储相邻节点的收帧计时和无线接收功率,为后续链路检测帧的发送做准备;如图8:邻近节点链路状态表插入邻近节点链路状态信息,每个邻近节点链路状态表存储空间最大可以存储480个邻近节点的链路基础信息,当每发现一个新的可以进行相互通讯的邻近节点时,CPU都会向邻近节点链路状态表中插入一条链路基础信息。
[0055]每个无线节点都向外部以广播的方式发送的链路检测帧帧长为256字节,如图9,其帧格式包含帧头(2字节)、数据源地址(2字节)、数据目的地址(2字节)、命令码(2字节)、链路检测帧时间戳(4字节)、邻近节点链路状态信息帧序号(I字节,简称帧序号)、邻近节点链路状态信息条目数(I字节,简称信息条目数)、邻近节点链路状态信息(240字节)、CRC校验(2字节);其中;帧头固定为0x4243 ;数据源地址为链路检测帧发送的节点地址号;数据目的地址为广播地址OxFFFF ;命令码为OxEOOl ;链路检测帧时间戳为发送节点的发送时间;帧序号可以取值O?10,取值为O时,表示设备节点的邻近节点在48个节点以内,可以采用一个链路检测帧将所有邻近节点的链路状态信息以广播方式发送到无线空域中;取值为I?10时,表示设备节点的邻近节点数量大于48个节点,分多个链路检测帧将邻近节点的链路状态信息以广播方式发送到无线空域中;邻近节点链路状态信息条目数为当前链路检测帧中携带有多少个邻近节点的链路状态基础信息单元,取值为I?48 ;邻近节点链路状态信息为当前链路检测帧中携带的设备节点邻近节点的链路基础信息,用于节点链路状态的检测;CRC校验为链路检测帧的校验字,保证链路检测帧的信息在传输过程中的可靠性。
[0056]无线空域内,每个节点的链路检测帧发送流程如下:(1)节点以基础检测时间N为周期调用链路检测帧发送模块;(2)遍历邻近节点链路状态表,判断邻近节点链路状态表中节点条目数量,节点条目< 48时,直接向链路检测帧中填充各个节点链路基础信息单元,即设备地址、收帧检测计时、无线接收功率;(3)若节点条目数量> 48时,按照每帧发送48个节点的链路基础信息单元,计算总共需要发送的链路检测帧数目,(4)根据链路检测帧数据,填充链路检测帧序号,从链路状态表中提取链路状态信息填充链路检测帧邻近节点链路状态信息字段,根据邻近节点链路状态信息的条目数填充邻近节点链路状态信息条目数,(5)分多帧,每帧48个节点的链路基础信息单元,循环进行邻近节点链路状态表的发送,直到邻近节点链路状态表中的所有条目发送完毕,如图10。
[0057]无线空域内,每个节点的链路检测帧接收处理流程如下:⑴节点接收到链路检测帧;(2)从接收到的链路检测帧中提取发送节点地址,在本地邻近节点链路表中,查找发送节点地址的链路基础信息单元,若找到,则将收帧检测计时清0,并记录无线接收功率值;
(3)若未查找到发送节点地址的链路基础信息单元,则在本地邻近节点链路表中添加一条新的链路基础信息单元;(4)从接收到的链路检测帧中提取出邻近节点链路状态表,并在邻近节点链路状态表中遍历查找接收节点地址的链路基础信息单元,(5)若未查找到接收节点地址的链路基础信息单元则直接退出;(6)若查找到接收节点地址的链路基础信息单元,根据该信息单元的收帧检测计时时间K和M值进行比较,若K < M,则将接收节点中本地邻近节点链路状态表中的发送地址状态记为链路正常;(7)若K > M时,则将接收节点中本地邻近节点链路状态表中的发送地址状态记为链路故障,如图11。
[0058]无线空域内,每个节点的节点链路故障后快速链路检测处理流程如下:(I)节点遍历查找邻近节点链路状态表,发现有多个邻近节点的链路状态为链路故障,则该节点以快速检测时间L为周期调用链路检测帧发送模块发送链路检测帧,并记录每个链路故障邻近节点快速发送链路检测帧的次数;(2)若邻近链路故障恢复后,将节点链路状态标记为正常的同时,清除快速发送链路检测帧的次数为O,并恢复发送链
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1