[发明专利]一种无线多跳网络拓扑发现方法有效

专利信息
申请号: 201811193510.X 申请日: 2018-10-15
公开(公告)号: CN109309944B 公开(公告)日: 2019-08-09
发明(设计)人: 赵瑞琴;刘媛;申晓红 申请(专利权)人: 西北工业大学
主分类号: H04W40/02 分类号: H04W40/02;H04L12/753;H04L12/751;H04L12/24
代理公司: 西北工业大学专利中心 61204 代理人: 金凤
地址: 710072 *** 国省代码: 陕西;61
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明提供了一种无线多跳网络拓扑发现方法,全网络节点在自主分配节点ID的同时,能够以低的时延和开销完成拓扑发现,每个节点获得其自身ID和网络中的所有相关链路信息。本发明自主分配节点ID的拓扑发现方法解决了网络拓扑发现过程,存在的布放之前要确定好节点ID的问题,有效避免了获取完整拓扑信息开销大的问题,该方法能够在网络随机布放后快速完成网络的建立,为网络后续正常工作提供基础,方法简单有效,操作实施简单,具有可实施性,该方法具有较低的开销和能耗,有利于延长整个网络的生存期。
搜索关键词: 拓扑发现 无线多跳网络 分配节点 布放 网络 网络拓扑发现 链路信息 拓扑信息 整个网络 全网络 实施性 时延 能耗
【主权项】:
1.一种无线多跳网络拓扑发现方法,其特征在于包括下述步骤:步骤1:G=(V,L)为待发现网络,G是一个无线多跳网络,其中V表示该网络中的所有节点集合,L表示网络中所有链路的集合,采用树形多跳网络拓扑结构来完成未知网络的拓扑发现和ID分配;在树形多跳网络拓扑结构中,指定节点T为根节点,第一跳节点中的节点a对第二跳节点中的节点d发包,节点a指向节点d的有序节点对(a,d)表示节点d为节点a为邻节点,且a是d的父节点,d为a的子节点;节点d的子节点以及与节点d相连通的向下延伸到网络边缘的所有节点称为节点a的子孙节点,没有子节点的节点称为叶子节点;网络中除了根节点,所有节点有唯一的父节点,根据树形多跳网络拓扑结构,所有节点分层为根节点、第1层节点、第2层节点,…第n层节点,网络中共有发现的节点数目为N,Ni为节点i的子孙节点的数目,Nei为节点i的邻居节点数目,Ci为节点i的子节点的数目;i=1,2....N;步骤2:拓扑发现流程包括如下三个阶段并依次执行:1)、hello包传输阶段:hello包格式为<Type,Ki,Fi,Li>,其中,Type包类型为:hello、disc、IDA,Ki为随机产生的Ki值,Ki∈[0,...,64],Fi为父亲节点的Ki值,Li为节点i的层次编号即节点i在网络中所属的跳数;2)、disc包传输阶段:disc包格式为<Type,Fi,Ki,Li,Ni>,其中,Ni为子孙节点的个数;3)、IDA包传输阶段:IDA包格式为<Type,IDi,Li,子节点信息列表LIST{Kj,Nj}>,其中,IDi为节点ID;具体步骤如下:步骤2.1、根节点T,令Ki=0,Fi=0,Li=0,生成hello包,发送hello包<Type,Ki,Fi,Li>,并依据Ki,将Ki除以100得出的数值作为计时器Tx_Timer的值,计时器Tx_Timer超时后发送hello包,之后根节点依据式(1)和公式(2)开启计时器Wait_Timerx:Wait_Timerleaf=2×(Tp+Tc+Tx_Timermax)            (1)其中Tp,Tc分别为最大单跳传播时延和传输时延,Tx_Timermax为网络中Tx_Timer的最大值;若节点i不为叶子节点,则x=Li,那么为节点i的计时器;若节点i为叶子结点,则x=leaf,那么Wait_Timerleaf为节点i的计时器;网络拓扑发现过程开始;步骤2.2、网络中第1跳节点i收到来自根节点的hello包后,将父节点的层次号加1作为其层次编号Li,生成节点i的hello包;依据Ki,将Ki除以100得出的数值作为计时器Tx_Timer的值,开启计时器Tx_Timer,计时器超时后发送hello包,之后,节点i如步骤2.1中所述依据式(1)和式(2)开启Wait_Timerx;步骤2.3、网络中第2,3......n跳节点依次执行步骤2.2的操作完成hello包的发送,从根节点出发到网络的叶子节点,依此类推直至全网节点完成hello包的发送;若一个节点在发送hello包之前收到来自多个节点的hello包,将最先到达的hello包的发送节点作为其父节点,将其它节点作为其邻节点;网络中节点i发送hello包后开启Wait_Timerx,在收到的hello包中统计父节点等于Ki的不同K值的个数,得到节点i的子节点个数Ci,将子节点的Ki加入到子节点列表,并将同层次不互为父子且相连通的节点K值添加到邻节点列表{Kj};步骤2.4、若节点i的Ci=0,则判断该i节点为叶子节点,然后按照网络发现数据包格式生成disc包<Type,Fi,Ki,Li,Ni>,Tx_Timer超时后发送给父节点,报告i节点的disc包中的信息;对于任意非叶子节点i,若计时器Wait_Timerx超过式(2)计算的计时器的时间值,收到其所有子节点的disc包,则计算其子孙节点的数目Ni,Ni为通过i节点收到的来自子节点的disc包中Ni的总和加上i节点的Ci,并生成disc包,Tx_Timer超时后发送给父节点;已经在hello包传输阶段中得到了每个节点的子节点总数,若Wait_Timerx超时后,节点i收到其部分子节点的disc包,则根据网络发现数据格式形成disc_req包<Type,Ki>,并发送一次disc_req包给节点i未接收到的节点,请求未发送disc包的节点重新发包,如果在2(Tc+TP+Tx_Timermax)时间内其仍未接收到未发送disc包节点的disc包将未发送disc包的节点当作节点i的叶子节点,再计算节点id的子孙节点的数目Ni,生成disc包待Tx_Timer超时后发送给父节点;步骤2.5、待根节点收到其所有子节点的disc包,根节点获知全网节点数,即其子孙节点的数目;根节点根据网络发现数据格式生成IDA包<Type,IDi,Li,LIST{Kj,Nj}>,并发送给其所有子节点;步骤2.6、收到IDA包的任意一个非根节点i,检查节点i的Ki值是否包含在LIST中,若是则依据式(3)和式(4)完成ID计算,然后生成节点i的IDA包,依据Ki值开启计时器Tx_Timer,计时器到时后发送该IDA包;节点i按照式(3)和式(4)计算自身节点ID:同一跳节点中,K值的顺序;(3)其中IDf为节点i的父节点ID,为K值顺序为j的节点i的子孙节点个数;步骤2.7、最终网络中每个节点获得唯一最短的ID、所有邻居节点信息以及网络的数形拓扑信息;步骤3:当有新节点要加入通过步骤1和步骤2形成的网络时,执行以下步骤;步骤3.1:新加入节点随机产生Ka值,新加入节点的父节点IDfa=0,新加入节点的层次号La=0,生成helloadd包,helloadd包格式为<Type,Ka,子节点信息列表LIST{IDfa,La}>,发送helloadd包,并开启计时器Wait_Timerx;步骤3.2:网络中新节点的邻居回复helloadd包,新加入节点的邻居节点将新加入节点的Kj和Nj添加到他们disc包的LIST中,邻居节点一级一级的把信息报告给根节点;步骤3.3:根节点逐级发送IDAadd包给新加入节点确定其父节点ID,IDAadd包格式为<Type,Ka,IDfa,La,Δ>,并根据式(5)分配ID给新加入节点,Δ为新加入节点的Ka值的排序:IDadd=maxID+Δ                 (5)步骤4:对于网络拓扑发现阶段,采用时延和开销两个指标考察性能,令网络中第n层次的总节点个数为Nn,hello包、disc包和IDA包的比特数分别为bithello、bitdisc和bitIDA;令L为单跳最大距离,Wait_Timerleaf为叶子节点的计时器,Tx_Timermax为最大的Tx_Timer,n为网络的最大层次数,Nleaf为叶子节点个数;拓扑发现时延的计算步骤如下:拓扑发现的目标是网络的根节点获得所有叶子节点到中心节点的有序传输路径,获得网络拓扑结构,网络中普通节点获得唯一最短的ID、邻节点信息和自身所在的一条从中心节点到叶子节点的逻辑链路;1)第一部分,从根节点逐跳发送hello包直到最后一跳节点发送完毕,此过程需要时延:T1=(Tp+Tc+Tx_Timermax)×(n+1)          (6)2)第二部分,从叶子节点逐跳发送disc包直到根节点收到来自第二跳节点的disc包,该过程共需要时延:T2=n×(Tc+Tx_Timer+Tp)         (7)3)第三部分,从根节点逐跳发送IDA包直到叶子节点收到来自上一跳节点的IDA包,需要时延:T3(Tx_Timermax+Tp+Tc)×(n+1)      (8)完成节点ID分配和拓扑发现过程总共需要时延为Ttotal=T1+T2+T3                   (9)拓扑发现开销的计算:1)第一部分,从根节点逐跳发送hello包直到最后一跳节点接收到来自父节点的hello包,此过程需要开销:2)第二部分,从叶子节点逐跳发送disc包直到根节点收到来自第二跳节点的disc包,该过程共需要开销:3)第三部分,从根节点逐跳发送IDA包直到叶子节点收到来自上一跳节点的IDA包,需要开销:bit3=(N‑Nleaf)×bitIDA                    (12)完成节点ID分配和拓扑发现过程需要的平均开销为:communication traffic=(bit1+bit2+bit3)÷N            (13)通过步骤1,步骤2,步骤3完成了网络拓扑的发现过程,通过本步骤计算完成发现过程需要的时延和开销,得到完整网络的拓扑发现,达到网络中每个节点获得全网统一的拓扑结构,也就是节点间彼此连通状态的目的。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西北工业大学,未经西北工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/201811193510.X/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top