一种mesh网络内父节点的选择方法与流程

文档序号:14685236发布日期:2018-06-12 23:21
一种mesh网络内父节点的选择方法与流程

本发明涉及Wi-Fi mesh网络,特别涉及一种mesh网络内父节点的选择方法。



背景技术:

Wi-Fi mesh网络是含有多跳无线链路的无线网状网络,其中的网络设备称为节点,根据各自在mesh网络内所处的层级形成父/子节点关系,实现数据的相互转发;根节点作为mesh网络的出口,可通过路由器连接互联网,进而与外部设备通信。

以图1所示一种树状结构的mesh网络为例,根节点A的子节点B、C、D相互为兄弟节点,节点B的子节点E,节点C的子节点F,节点F的子节点G、H;其中,节点B、C、F为中间节点;节点D、E、G、H均是没有子节点的叶子节点;节点I是尚未连接网络的游离节点。

父节点有故障将导致其子网中的所有子节点均无法正常工作。此外,无线环境瞬息万变,节点可任意增减又具有移动性,导致网络拓扑结构变化频繁,因而为快速获取更可靠的通信链路,亟需一种有效的父节点选择机制。



技术实现要素:

本发明的目的在于提供一种mesh网络内父节点的选择方法,以有效构建节点间的父子关系,优化网络拓扑结构,提高节点间的通信质量。

为了达到上述目的,本发明的技术方案在于提供一种mesh网络内父节点的选择方法:

第一节点是任意一个节点,对扫描出的若干其他节点进行处理,包含:

将不是同一组织、不是同一版本、不在同一网络的其他节点过滤掉;

将其他节点中处于最大层数的叶子节点、连接数已满的节点过滤掉;

将其他节点中的游离节点、第一节点的子节点、处于第一节点环路列表的节点过滤掉;

将其他节点中信号强度无法维持正常通信的节点过滤掉;

根据预先设定的权重,对于过滤后剩余的其他节点,综合其各自的信号强度值、节点所在层数及节点已有连接数,来计算相应的一个等级,将剩余的其他节点中等级更高的节点,作为第一节点的父节点。

优选地,所述第一节点通过与其他节点的通信,获取其他节点各自的因素值,并根据所述因素值来进行过滤处理。

优选地,所述因素值记载于其他节点发送的管理帧的信息元素中。

优选地,其他节点的因素值,包含其各自对应的网络OUI、网络版本、网络ID;

通过分别比对第一节点及其他节点的网络OUI、网络版本、网络ID,所述第一节点过滤掉不是同一组织、不是同一版本、不在同一网络的其他节点。

优选地,其他节点的因素值,包含其各自对应的节点类型;所述第一节点将其他节点中不具有softAP模式的叶子节点过滤掉。

优选地,其他节点的因素值,包含其各自对应的节点支持的最大层数和当前所在的层数;所述第一节点将当前所在的层数等于最大层数的其他节点过滤掉。

优选地,其他节点的因素值,包含其各自对应的节点类型;网络内已有根节点时,第一节点将根节点已配置的路由器过滤掉。

优选地,根据可维持正常通信的信号强度的范围,设置有信号强度阈值;

第一节点将实际信号强度值在信号强度阈值以外的其他节点过滤掉;

其他节点的实际信号强度值,是以下的任意一种或其任意组合:

包含在其各自因素值中的“节点与路由器的信号强度值”;

包含在其各自因素值中的“节点与其父节点的信号强度值”;

其各自与第一节点通信时的信号强度值。

优选地,所述信号强度阈值是梯度的多档阈值;

所有其他节点的实际信号强度值,都在当前设定的一档阈值以外时,将阈值按照梯度逐次减小,并与实际信号强度值重新比较;直到有其他节点的实际信号强度值在减小后的信号强度阈值以内时,选择其中信号强度值最高的节点作为父节点。

优选地,过滤后剩余的其他节点的信号强度值,是以下的任意一种或其任意组合:

包含在其各自因素值中的“节点与其父节点的信号强度值”;

包含在其各自因素值中的“节点所在层数及节点已有连接数”;

其各自与第一节点通信时的信号强度值。

附图说明

图1是mesh网络一个实施例的示意图;

图2是本发明所述mesh网络内选择父节点的方法的实施例的流程图。

具体实施方式

本发明提供一种mesh网络内选择父节点的方法。mesh网络中的任意一个节点,可以将其各自对应的影响因素,放在信标、探测响应(probe response)等管理帧的信息元素(IE,Information Element)中进行发送。

所述的影响因素,包含以下的任意一种因素值或其任意组合:

网络OUI(组织唯一标示符,organizationally unique identifier);网络版本;网络ID;节点类型(根节点、中间节点、叶子节点或者游离节点);节点支持的最大层数和当前所在的层数;节点支持的最大连接数和当前已连接数;节点与路由器的信号强度值;节点与其父节点的信号强度值;节点扫描到的周围节点数。

如图2所示,例如在mesh网络组网时,任意一个节点(以下称本节点)完成扫描后,将扫描出的若干其他节点,均作为父节点候选;对于从这些其他节点的管理帧中获取的因素值,进行相应处理,譬如:

S1. 本节点将因素值包含的网络OUI,与自身的网络OUI进行比对,过滤掉网络OUI不一致、即不是同一组织的其他节点。网络OUI是MAC地址的前24位,用以区别不同的厂家。

S2. 本节点将因素值包含的网络版本,与自身的网络版本进行比对,过滤掉不是同一版本的其他节点。不同组织、不同版本的节点,可能存在固件兼容问题,因而将其从父节点的候选节点中剔除。

S3. 本节点将因素值包含的网络ID,与自身的网络ID进行比对,过滤掉不在同一网络的其他节点。网络ID用以划分不同网络,设置不同的网络ID就可以相应地进入不同的网络。将不是同一网络的节点过滤掉,安全性更好。

S4. 本节点从扫描出的其他节点中,过滤掉处于最大层数的叶子节点,为此需对因素值中包含的节点类型、节点支持的最大层数和当前所在的层数进行判断。

若判断某个其他节点的节点类型是叶子节点,则该叶子节点可能是没有“softAP”模式,即没有网络扩展能力的节点,则无论它处于网络内的哪一层都不能作为父节点。

最大层数指网络允许的最大深度;某节点处于最大层数也就是处于网络的边缘,即使其有网络扩展能力,也不允许设备连接,不可以做父节点。因而,若判断某个其他节点当前所在的层数是最大层数时,将其过滤掉。

S5. 本节点从扫描出的其他节点中,过滤掉连接数已满的节点,为此需对因素值中包含的“节点支持的最大连接数和当前已连接数”进行判断。若判断节点当前已连接数是其支持的最大连接数时,将其过滤掉。

S6. 本节点从扫描出的其他节点中,过滤掉自己的子节点。

S7. 本节点从扫描出的其他节点中,通过判断因素值中的节点类型,过滤掉尚未加入网络的游离节点。

S8. 本节点从扫描出的其他节点中,过滤掉已处在自己环路列表中的节点。网络中的广播报,进入环路后会不断地循环转发、广播,无法结束,这样会造成网络广播风暴,耗尽交换资源,造成系统瘫痪,所以环路是网络内杜绝出现的。一般根据路径验证机制检测出环路节点后,会将环路节点记录到环路列表中,避免出现环路连接。

S9. 若网络内已有根节点,则本节点从父节点候选中,过滤掉已配置的路由器。每个节点设备在初始化时都可以竞争根节点,选择路由器作为其父节点;但是一旦根节点出现了之后,别的节点就要放弃路由器,选择新的父节点。

S10. 本节点从扫描出的其他节点中,过滤掉信号强度无法维持正常通信的节点。维持正常通信的信号强度可以是经验值,以此来设置一个信号强度阈值,若判断扫描出的节点的信号强度值在阈值以内,则可以作为父节点的候选节点,否则将其过滤掉。

用以判断的信号强度值,可以是每个其他节点对应因素值中的“节点与路由器的信号强度值”,和/或“节点与其父节点的信号强度值”;或者,还可以是本节点在扫描时,根据接收其他节点管理帧时的情况,所获得的这些节点与本节点的信号强度值。

S11. 对于经由S1~S10项过滤后剩余的其他节点,可以相应设置权重,综合各个剩余节点的“节点与其父节点的信号强度值”,各个剩余节点与本节点的信号强度值,各个剩余节点的“节点所在层数及节点已有连接数”,来为每个剩余节点计算一个等级,等级越高越适合做父节点。至此,父节点从本节点扫描到的其他节点中被选出。

示例地,可以将信号强度值更高,节点所在层数更小,节点已有连接数更小的剩余节点,作为父节点。需说明的是,本发明对上述S1~S10项的处理顺序不做限定。

此外,在S11的一些示例中,如果信号强度阈值以内没有可以选择的父节点,则可以按照一定的梯度减小信号强度阈值,直到有一个在阈值以内且信号强度最好的节点,作为父节点。

尽管本发明的内容已经通过上述优选实施例作了详细介绍,但应当认识到上述的描述不应被认为是对本发明的限制。在本领域技术人员阅读了上述内容后,对于本发明的多种修改和替代都将是显而易见的。因此,本发明的保护范围应由所附的权利要求来限定。

再多了解一些
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1