专利转让平台_买专利_卖专利_中国高校专利技术交易-买卖发明专利上知查网

全部分类
全部分类
一种无线网络路由的实现方法

一种无线网络路由的实现方法

IPC分类号 : H04W40/02,H04L29/08

申请号
CN201510563654.X
可选规格
  • 专利类型: 发明专利
  • 法律状态: 有权
  • 申请日:
  • 公开号:
  • 公开日: 2018-06-08
  • 主分类号: H04W40/02
  • 专利权人: 常熟理工学院

专利摘要

本发明提供了一种无线网络路由的实现方法,所述无线网络包括一个以上接入路由器和一个以上无线节点两种节点,无线网络通过接入路由器接入到互联网;无线节点设置在道路两边的基础设施上,相邻无线节点或者无线节点与相邻接入路由器之间能够互相通信;两个路口之间的道路称为路段,路段中的无线节点划分为三类:开始节点,普通节点和结束节点。所述无线网络通过本发明所提供的实现方法可获取IPv6网络提供的网络服务,同时保持通信的连续性,缩短路由延迟,降低数据包丢失率,提高服务质量,本发明可应用于道路路况监测、车辆管理等领域,具有广泛的应用前景。

权利要求

1.一种无线网络路由的实现方法,其特征在于,所述无线网络包括两种节点:一个以上接入路由器和一个以上无线节点,无线网络通过接入路由器接入到互联网;

无线节点设置在道路两边的基础设施上,相邻无线节点或者无线节点与相邻接入路由器之间能够互相通信;两个路口之间的道路称为路段,路段中的无线节点划分为三类:开始节点,普通节点和结束节点;开始节点的邻居节点数量大于2,结束节点的邻居节点数量等于1或者大于2,普通节点的邻居节点数量等于2;

一个路段中的所有节点构成一个超级节点;一个接入路由器以及所有通过该接入路由器连接到互联网的超级节点构建成一个子网,该子网的拓扑结构为树状结构,称为超级节点树,超级节点树的根节点为接入路由器;一个超级节点中的开始节点与该超级节点的父超级节点中的结束节点逻辑相连;

无线网络的节点的IPv6地址由三个部分构成,第一部分为全局网络前缀,唯一标识一个子网,一个子网内所有无线节点的全局网络前缀都相同,等于相同子网内接入路由器的全局网络前缀;第二部分为i比特的超级节点ID,唯一标识一个超级节点及对应路段,位于一个路段中的所有无线节点的超级节点ID都相同;第三部分为j比特的节点ID,唯一标识一个无线节点;

接入路由器的IPv6地址预先设置,接入路由器的超级节点ID为0;超级节点ID和节点ID构成链路地址;链路地址的长度为16比特或者64比特,即i和j的和等于16或者64;

超级节点的超级节点ID的有效长度L,L≤i,有效长度L与该超级节点所在超级节点树所处的深度d成正比,如公式(1)所示,其中,2c-1是一个超级节点拥有的最大子节点数量,c等于2;

L=d×c 公式(1);

无线节点启动后,用自己的硬件ID作为临时链路地址,并定期广播信标帧;无线节点通过接收邻居无线节点的信标帧来判断邻居节点的数量;如果一个无线节点的邻居节点数量为1,则将自己标记为结束节点;如果一个无线节点的邻居节点数量等于2,则将自己标记为普通节点;如果一个无线节点的邻居节点数量大于2,则将自己标记为开始节点;

无线网络初始状态下,一个超级节点中最多能包含2个开始节点,一个接入路由器或者一个结束节点广播的信标帧负载为全局网络前缀以及可分配的超级节点ID的数量;开始节点和普通节点广播的信标帧的负载为全局网络前缀。

2.根据权利要求1所述的一种无线网络路由的实现方法,其特征在于,接入路由器和结束节点保存一个超级节点ID分配表,每个分配表包含2c-1个表项,每个表项由三个域构成:超级节点ID域,分配状态域,生命周期;分配状态域有三个值:未分配,半分配,已分配;未分配表示超节点ID可供分配,半分配表示超级节点ID已经分配但是未收到确认信息,如果在规定时间中没有收到确认信息,那么该超级节点ID则转变为未分配状态,已分配状态则表示超级节点ID已经分配,不能再分配给其他节点;

如果一个超级节点中的开始节点检测到接入路由器为其邻居节点,那么所述开始节点从邻居路由器获取超级节点ID,否则选择链路地址有效长度最小且可分配超级节点ID数量较大的结束节点获取超级节点ID;如果开始节点检测到两个以上结束节点的链路地址有效长度最小且可分配超级节点ID数量都相同,那么所述开始节点选择从信号最强的结束节点获取超级节点ID;

开始节点SN1从结束节点EN1获取超级节点ID的过程包括以下步骤:

步骤101:开始;

步骤102:开始节点SN1向结束节点EN1发送超级节点请求命令帧,超级节点请求命令帧的源链路地址为临时链路地址;

步骤103:结束节点EN1从超级节点ID分配表中选取最小未分配的值x,将该值x标记为半分配状态,然后构建一个有效长度为c+L1的超级节点ID,其中L1为结束节点EN1的超级节点ID的有效长度,c的比特值设置为x,L1比特值设置为结束节点EN1的超级节点ID,结束节点EN1向开始节点SN1返回一个超级节点响应命令帧,超级节点响应命令帧的负载为构建的超级节点ID;

步骤104:开始节点SN1收到超级节点响应命令帧后,在超级节点内广播节点ID确认帧,节点ID确认命令帧的负载为全局网络前缀和结束节点EN1分配开始节点SN1的超级节点ID;

步骤105:如果收到节点ID确认命令帧的节点为普通节点,则进行步骤106,否则进行步骤111;

步骤106:如果普通节点第一次收到节点ID确认命令帧,则进行步骤107,否则进行步骤108;

步骤107:第一次收到节点ID确认命令帧的普通节点转发该节点ID确认命令帧并且记录节点ID确认命令帧中的全局网络前缀、超级节点ID以及自己到达该节点ID确认命令帧的源节点的跳数,执行步骤105;源节点即为节点ID确认命令帧源地址指定的节点;

步骤108:如果满足条件一,则进行步骤109,否则进行步骤110;

条件一的三个输入参数分别为:普通节点第二次收到的节点ID确认命令帧,第二次收到节点ID确认命令帧的普通节点,普通节点第一次收到的节点ID确认命令帧;

条件一:普通节点第二次收到的节点ID确认命令帧中的超级节点ID的有效长度小于该普通节点记录的超级节点ID的有效长度,或者普通节点第二次收到的节点ID确认命令帧中的超级节点ID的有效长度等于普通节点记录的超级节点ID的有效长度且第二次收到的节点ID确认命令帧的源链路地址小于该普通节点第一次收到的节点ID确认命令帧的源链路地址;

步骤109:第二次收到节点ID确认命令帧的普通节点丢弃原来记录的数据,并记录第二次收到的节点ID确认命令帧中的全局网络前缀,超级节点ID以及到达第二次收到的节点ID确认命令帧源节点的跳数,同时转发第二次收到的节点ID确认命令帧,执行步骤105;

步骤110:第二次收到节点ID确认命令帧的普通节点丢弃第二次收到的节点ID确认命令帧,进行步骤114;

步骤111:如果收到节点ID确认命令帧的开始节点发送了超级节点请求命令帧并收到了超级节点响应命令帧且满足条件二,则进行步骤112,否则进行步骤113;

条件二的三个输入参数分别为:收到节点ID确认命令帧的开始节点收到的超级节点响应命令帧,收到节点ID确认命令帧的开始节点,开始节点收到的节点ID确认命令帧;

条件二:超级节点响应命令帧中的超级节点ID的有效长度小于开始节点收到的节点ID确认命令帧中的超级节点ID的有效长度,或者超级节点响应命令帧中的超级节点ID的有效长度等于开始节点收到的节点ID确认命令帧中的超级节点ID的有效长度且开始节点的临时链路地址小于开始节点收到的节点ID确认命令帧的源地址;

步骤112:收到节点ID确认命令帧的开始节点在超级节点内部广播一个新的节点ID确认命令帧,该新的节点ID确认命令帧负载为全局网络前缀和获取的超级节点ID,进行步骤105;

步骤113:收到节点ID确认命令帧的开始节点将自己标记为结束节点,记录收到的节点ID确认命令帧中的全局网络前缀和超级节点ID,以及自己到达节点ID确认命令帧的源节点的跳数;

步骤114:如果开始节点SN1没收到节点ID确认命令帧或者满足条件三,则进行步骤115,否则进行步骤117;

条件三的三个输入参数分别为:开始节点SN1收到的超级节点响应帧,开始节点SN1,开始节点SN1收到的节点ID确认命令帧;

条件三:开始节点SN1收到的超级节点响应命令帧中的超级节点ID的有效长度小于开始节点SN1收到的节点ID确认命令帧中的超级节点ID的有效长度,或者开始节点SN1收到的超级节点响应命令帧中的超级节点ID的有效长度等于开始节点SN1收到的节点ID确认命令帧中的超级节点ID的有效长度且开始节点SN1的临时链路地址小于开始节点SN1收到的节点ID确认命令帧的源地址;

步骤115:开始节点SN1向结束节点EN1发送一条超级节点确认命令帧,该超级节点确认命令帧的负载为分配的超级节点ID;

步骤116:结束节点EN1收到超级节点确认命令帧后,将分配给开始节点SN1的值x的状态修改为已分配,执行步骤118;

步骤117:开始节点SN1将自己标记为结束节点并且记录下自己收到的节点ID确认命令帧中的全局网络前缀,超级节点ID以及自己到达节点ID确认命令帧的源节点的跳数;如果结束节点EN1在规定时间内没有收到超级节点确认命令帧,将分配给开始节点SN1的值x的状态修改为未分配;

步骤118:结束;

开始节点SN1从接入路由器AR1获取超级节点ID的过程包括以下步骤:

步骤401:开始;

步骤402:开始节点SN1向接入路由器AR1发送超级节点请求命令帧,超级节点请求命令帧的源链路地址为临时链路地址;

步骤403:接入路由器AR1从超级节点ID分配表中选取最小未分配的值x,将该值x标记为半分配状态,然后构建一个有效长度为c+L3的超级节点ID,其中L3为接入路由器AR1的超级节点ID的有效长度,c的比特值设置为x,L3比特值设置为接入路由器AR1的超级节点ID,接入路由器AR1向开始节点SN1返回一个超级节点响应命令帧,超级节点响应命令帧的负载为构建的超级节点ID;

步骤404:开始节点SN1收到超级节点响应命令帧后,在超级节点内广播节点ID确认帧,节点ID确认命令帧的负载为全局网络前缀和接入路由器AR1分配给开始节点SN1的超级节点ID;

步骤405:如果收到节点ID确认命令帧的节点为普通节点,则进行步骤406,否则进行步骤411;

步骤406:如果普通节点第一次收到节点ID确认命令帧,则进行步骤407,否则进行步骤408;

步骤407:第一次收到节点ID确认命令帧的普通节点转发该节点ID确认命令帧并且记录节点ID确认命令帧中的全局网络前缀、超级节点ID以及自己到达该节点ID确认命令帧的源节点的跳数,执行步骤405;源节点即为节点ID确认命令帧源地址指定的节点;

步骤408:如果满足条件四,则进行步骤409,否则进行步骤410;

条件四的三个输入参数分别为普通节点第二次收到的节点ID确认帧,第二次收到节点ID确认帧的普通节点,普通节点第一次收到的节点ID确认帧;

条件四:普通节点第二次收到的节点ID确认命令帧中的超级节点ID的有效长度小于普通节点记录的超级节点ID的有效长度,或者普通节点第二次收到的节点ID确认命令帧中的超级节点ID的有效长度等于普通节点记录的超级节点ID的有效长度且普通节点第二次收到的节点ID确认命令帧的源链路地址小于普通节点第一次收到的节点ID确认命令帧的源链路地址;

步骤409:第二次收到节点ID确认命令帧的普通节点丢弃原来记录的数据,并记录第二次收到的节点ID确认命令帧中的全局网络前缀,超级节点ID以及到达第二次收到的节点ID确认命令帧源节点的跳数,同时转发第二次收到的节点ID确认命令帧,执行步骤405;

步骤410:第二次收到节点ID确认命令帧的普通节点丢弃第二次收到的节点ID确认命令帧,进行步骤414;

步骤411:如果收到节点ID确认命令帧的开始节点发送了超级节点请求命令帧并收到了超级节点响应命令帧且满足条件五,则进行步骤412,否则进行步骤413;

条件五的三个输入参数分别为:收到节点ID确认命令帧的开始节点收到的超级节点响应命令帧,收到节点ID确认命令帧的开始节点,开始节点收到的节点ID确认命令帧;

条件五:超级节点响应命令帧中的超级节点ID的有效长度小于开始节点收到的节点ID确认命令帧中的超级节点ID的有效长度,或者超级节点响应命令帧中的超级节点ID的有效长度等于开始节点收到的节点ID确认命令帧中的超级节点ID的有效长度且开始节点的临时链路地址小于开始节点收到的节点ID确认命令帧的源地址;

步骤412:收到节点ID确认命令帧的开始节点在超级节点内部广播一个新的节点ID确认命令帧,该新的节点ID确认命令帧负载为全局网络前缀和获取的超级节点ID,进行步骤405;

步骤413:收到节点ID确认命令帧的开始节点将自己标记为结束节点,记录收到的节点ID确认命令帧中的全局网络前缀和超级节点ID,以及自己到达节点ID确认命令帧的源节点的跳数;

步骤414:如果开始节点SN1没收到节点ID确认命令帧或者满足条件六,则进行步骤415,否则进行步骤417;

条件六的三个输入参数分别为:开始节点SN1收到的超级节点响应帧,开始节点SN1,开始节点SN1收到的节点ID确认命令帧;

条件六:开始节点SN1收到的超级节点响应命令帧中的超级节点ID的有效长度小于开始节点SN1收到的节点ID确认命令帧中的超级节点ID的有效长度,或者开始节点SN1收到的超级节点响应命令帧中的超级节点ID的有效长度等于开始节点SN1收到的节点ID确认命令帧中的超级节点ID的有效长度且开始节点SN1的临时链路地址小于开始节点SN1收到的节点ID确认命令帧的源地址;

步骤415:开始节点SN1向接入路由器AR1发送一条超级节点确认命令帧,该超级节点确认命令帧的负载为分配的超级节点ID;

步骤416:接入路由器AR1收到超级节点确认命令帧后,将分配给开始节点SN1的值x的状态修改为已分配,执行步骤418;

步骤417:开始节点SN1将自己标记为结束节点并且记录下自己收到的节点ID确认命令帧中的全局网络前缀,超级节点ID以及自己到达节点ID确认命令帧的源节点的跳数;如果接入路由器AR1在规定时间内没有收到超级节点确认命令帧,将分配给开始节点SN1的值x的状态修改为未分配;

步骤418:结束;

一个超级节点获取超级节点ID之后,该超级节点中的每个开始节点、普通节点和结束节点都获取了到达开始节点的距离参数h,它们将自己的节点ID设置为距离参数值h加1,并与超级节点ID以及全局网络前缀相结合获得了具有全球唯一性的IPv6地址。

3.根据权利要求1所述的一种无线网络路由的实现方法,其特征在于,超级节点中的每个节点保存一个邻居表,每个表项包括两个域:超级节点ID域和开始节点域;超级节点ID域记录邻居超级节点的超级节点ID,开始节点域记录该邻居节点是否为开始节点的邻居节点,开始节点域有两个值,真和假,如果开始节点域值为假,那么该邻居节点为结束节点的邻居节点;

超级节点中的开始节点和结束节点通过接收邻居节点的信标帧建立邻居表;开始节点和结束节点建立邻居表之后,在超级节点内广播信标帧,信标帧负载为建立的邻居表;由此,超级节点中所有的开始节点,普通节点和结束节点都能获取开始节点和结束节点建立的邻居表,即开始节点和结束节点的邻居表的并集;超级节点建立邻居表后,向接入路由器发送注册消息,注册消息负载为邻居表;由此接入路由器保存了所在超级树里的所有超级节点的邻居表;

如果超级节点SP4是超级节点SP1的祖先节点,超级节点SP1的超级节点ID的有效长度为L2,超级节点SP4的超级节点ID的有效长度为L4,那么超级节点SP1到达超级节点SP4的距离H1如公式(2)所示,即两个超级节点的距离为跨越超级节点的个数:

H1=(L2-L4)/c 公式(2)。

4.根据权利要求3所述的一种无线网络路由的实现方法,其特征在于,在普通节点CN1和普通节点CN2的全局网络前缀相同,普通节点CN1隶属于超级节点SP1,普通节点CN2隶属于超级节点SP2,超级节点SP1中的结束节点为EN1,开始节点为SN1,超级节点SP2中的结束节点为EN2,开始节点为SN2,超级节点SP1和超级节点SP2隶属于一个子网,数据帧所在的超级节点为当前超级节点的情况下,普通节点CN1与普通节点CN2的通信过程包括如下步骤:

步骤201:开始;

步骤202:普通节点CN1构建一个数据帧,数据帧的目的地址为普通节点的链路地址;

步骤203:普通节点CN1或者收到该数据帧的节点查看自己的邻居表,如果超级节点SP2为当前超级节点的邻居节点,即普通节点CN1或者收到该数据帧的节点所在的超级节点的邻居节点,执行步骤204,否则执行步骤205;

步骤204:普通节点CN1或者收到该数据帧的节点将数据帧路由到超级节点SP2,进行步骤206;

步骤205:如果当前超级节点的邻居表L中存在n个表项,每个表项所标识的邻居超级节点为SPk,1≤k≤n,超级节点SPk与超级节点SP2的共同祖先为超级节点Ak,超级节点SPk到达超级节点Ak的距离与超级节点SP2到达超级节点Ak的距离之和为hk,则当前超级节点将数据帧转发给满足公式(3)的邻居节点SPm,1≤m≤n,邻居节点SPm与超级节点SP2的共同祖先为超级节点Am,执行步骤203;

公式(3)中的hm为邻居节点SPm到达祖先节点Am的距离与超级节点SP2到达祖先节点Am的距离之和,

步骤206:超级节点SP2中的开始节点SN2或者开始节点EN2收到数据帧后,将该数据帧转发给普通节点CN2;

步骤207:结束。

5.根据权利要求1所述的一种无线网络路由的实现方法,其特征在于,如果一个超级节点的邻居节点的全局网络前缀与自己的全局网络前缀不同,那么该超级节点称为边界超级节点;每个开始节点、普通节点或者结束节点保存一个边界超级节点表,每个表项包括四个域:超级节点ID域,距离域,邻居全局网络前缀域以及邻居超级节点ID域;其中,超级节点ID域值为边界超级节点的超级节点ID,距离域为到达该边界超级节点的距离,邻居全局网络前缀和邻居超级节点ID分别为该边界超级节点的邻居节点中隶属于不同子网的邻居超级节点的全局网络前缀和超级节点ID;

边界超级节点中的开始节点和结束节点通过接收邻居无线节点的信标帧建立边界超级节点表;边界超级节点中的开始节点和结束节点建立边界超级节点表之后,广播信标帧,信标帧负载为边界超级节点表;超级节点收到边界超级节点表后,将收到的边界超级节点表与自己的边界超级节点表做并操作,保存并操作之后的边界超级节点表,然后广播信标帧,信标帧负载为边界超级节点表,由此边界超级节点所在超级节点树中的每个超级节点都能获取边界超级节点表。

6.根据权利要求5所述的一种无线网络路由的实现方法,其特征在于,在普通节点CN1和普通节点CN7的全局网络前缀不同,普通节点CN1所在的超级节点SP1位于子网S1中,普通节点CN7所在的超级节点SP7位于子网S2中,子网S2中的接入路由器为AR2,超级节点SP7到达接入路由器AR2的距离为h2的情况下,普通节点CN1与普通节点CN7的通信过程包括如下步骤:

步骤301:开始;

步骤302:普通节点CN1构建一个数据消息,数据消息的目的地址为CN7的IPv6地址;

步骤303:普通节点CN1或者收到该数据消息的节点查看边界超级节点表,如果超级节点SP7为当前超级节点的邻居节点,则执行步骤304,否则执行步骤305;

步骤304:普通节点CN1或者收到该数据消息的节点将该数据消息转发到超节点SP7,进行步骤312;

步骤305:在当前超级节点存在一个邻居超级节点,该邻居超级节点与超级节点S7的共同祖先为超级节点SP-A,该邻居超级节点到达超级节点SP-A的距离与超级节点SP7到达超级节点SP-A的距离之和为d1,当前超级节点SP到达接入路由器AR1的距离为h1的情况下,如果满足公式(4),则进行步骤306,否则进行步骤307;

d1<h1+h2 公式(4);

步骤306:当前超级节点将数据消息转发给该邻居超级节点,该邻居超级节点将数据消息转发给超级节点SP7,进行步骤312;

步骤307:如果当前超级节点的边界超级节点表中存在邻居全局路由前缀为S2且邻居超级节点ID为SP7的表项,那么当前超级节点从这些表项中选取距离值最小的表项,在表项的距离值为d2,超级节点ID值为SPx的情况下,如果满足公式(5),则进行步骤308,否则进行步骤309;

d2<h1+h2 公式(5);

步骤308:当前超级节点将该数据消息转发给超节点ID为SPx的超级节点,执行步骤303;

步骤309:当前超级节点如果不是接入路由器AR1,则进行步骤310,否则进行步骤311;

步骤310:当前超级节点将数据消息转发给它的父超级节点,进行步骤303;

步骤311:接入路由器AR1将数据消息转发给接入路由器AR2,接入路由器AR2根据超级节点树将数据消息路由到超级节点SP7;

步骤312:超级节点SP7中的开始节点或者结束节点收到数据消息后,将该数据消息转发给普通节点CN7;

步骤313:结束。

说明书

技术领域

本发明涉及一种实现方法,尤其涉及的是一种无线网络路由的实现方法。

背景技术

无线网络作为一种新型通信网络,能够实现节点与节点之间的多跳无线通信。随着无线网络技术的不断发展以及各种新应用的不断涌现,迫切需要无线网络能够接入互联网以满足用户急剧增长的应用需求。

无线网络作为一种特殊类型的移动自组网,具有移动速度快、节点数量多、覆盖面积大等特点。基于IPv6的互联网(以下简称IPv6网络)具有移动性支持、地址资源丰富以及扩展性强等优点。因此,无线网络接入IPv6网络成为满足用户应用需求的理想解决方案。

目前的研究人员提出了无线网络通过接入基于IPv6的互联网获取网络服务的模式并定义了相应的协议栈,但是由于无线网络网的体系结构与IPv6网络不通,现有的接入方法具有一些局限性。因此需要提出一种无线网络的通信实现方法,从而降低数据丢失率,提高服务质量。

发明内容

发明目的:本发明所要解决的技术问题是针对现有技术的不足,提供一种基于定位信息的车联网实现方法。

技术方案:本发明公开了一种无线网络路由的实现方法,其特征在于,所述无线网络包括一个以上接入路由器和一个以上无线节点两种节点,无线网络通过接入路由器接入到互联网;

无线节点设置在道路两边的基础设施上,例如路灯等,相邻无线节点或者无线节点与相邻接入路由器之间能够互相通信;两个路口之间的道路称为路段,路口包括十字路口,三叉路口和五岔路口,路段中的无线节点划分为三类:开始节点,普通节点和结束节点;开始节点的邻居节点数量大于2,结束节点的邻居节点数量等于1或者大于2,普通节点的邻居节点数量等于2;

一个路段中的所有节点构成一个超级节点;一个接入路由器以及所有通过该接入路由器连接到互联网的超级节点构建成一个子网,该子网的拓扑结构为树状结构,称为超级节点树,超级节点树的根节点为接入路由器;一个超级节点中的开始节点与该超级节点的父超级节点中的结束节点逻辑相连;

无线网络的节点的IPv6地址由三个部分构成,第一部分为全局网络前缀,唯一标识一个子网,一个子网内所有无线节点的全局网络前缀都相同,等于相同子网内接入路由器的全局网络前缀;第二部分为i比特的超级节点ID,唯一标识一个超级节点及对应路段,位于一个路段中的所有无线节点的超级节点ID都相同;第三部分为j比特的节点ID,唯一标识一个无线节点;

接入路由器的IPv6地址预先设置,接入路由器的超级节点ID为0;超级节点ID和节点ID构成链路地址;链路地址的长度为16比特或者64比特,即i和j的和等于16或者64;

超级节点的超级节点ID的有效长度l,l≤i,有效长度l与该超级节点所在超级节点树所处的深度d成正比,如公式(1)所示,其中,2c-1是一个超级节点拥有的最大子节点数量,一般情况下,c等于2;

l=d×c公式(1);

无线节点启动后,用自己的硬件ID作为临时链路地址,例如MAC地址,并定期广播信标帧;无线节点通过接收邻居无线节点的信标帧来判断邻居节点的数量;如果一个无线节点的邻居节点数量为1,则将自己标记上结束节点;如果一个无线节点的邻居节点数量等于2,则将自己标记为普通节点;如果一个无线节点的邻居节点数量大于2,则将自己标记为开始节点;

无线网络初始状态下,一个超级节点中最多能包含2个开始节点,一个接入路由器或者一个结束节点广播的信标帧负载为全局网络前缀以及可分配的超级节点ID的数量;开始节点和普通节点广播的信标帧的负载为全局网络前缀。

本发明提出了基于超级节点的体系结构,超级节点的体系结构主要优点在于能够提高地址配置成功率,从而缩短通信延迟。

本发明所述方法中,接入路由器和结束节点保存一个超级节点ID分配表,每个分配表包含2c-1个表项,每个表项由三个域构成:超级节点ID域,分配状态域,生命周期;分配状态域有三个值:未分配,半分配,已分配;未分配表示超节点ID可供分配,半分配表示超级节点ID已经分配但是未收到确认信息,如果在规定时间中没有收到确认信息,那么该超级节点ID则转变为未分配状态,已分配状态则表示超级节点ID已经分配,不能再分配给其他节点;

如果一个超级节点中的开始节点检测到接入路由器为其邻居节点,那么所述开始节点从邻居路由器获取超级节点ID,否则选择链路地址有效长度最小(即深度最小)且可分配超级节点ID数量较大的结束节点获取超级节点ID;如果开始节点检测到两个以上结束节点的链路地址有效长度最小且可分配超级节点ID数量都相同,那么所述开始节点选择从信号最强的结束节点获取超级节点ID;

开始节点SN1从结束节点EN1获取超级节点ID的过程包括以下步骤:

步骤101:开始;

步骤102:开始节点SN1向结束节点EN1发送超级节点请求命令帧,超级节点请求命令帧的源链路地址为临时链路地址;

步骤103:结束节点EN1从超级节点ID分配表中选取最小未分配的值x,将该值x标记为半分配状态,然后构建一个有效长度为c+L1的超级节点ID,其中L1为结束节点EN1的超级节点ID的有效长度,c的比特值设置为x,L1比特值设置为结束节点EN1的超级节点ID,结束节点EN1向开始节点SN1返回一个超级节点响应命令帧,超级节点响应命令帧的负载为构建的超级节点ID;

步骤104:开始节点SN1收到超级节点响应命令帧后,在超级节点内广播节点ID确认帧,节点ID确认命令帧的负载为全局网络前缀和结束节点EN1分配开始节点SN1的超级节点ID;

步骤105:如果收到节点ID确认命令帧的节点为普通节点,则进行步骤106,否则进行步骤111;

步骤106:如果普通节点第一次收到节点ID确认命令帧,则进行步骤107,否则进行步骤108;

步骤107:第一次收到节点ID确认命令帧的普通节点转发该节点ID确认命令帧并且记录节点ID确认命令帧中的全局网络前缀、超级节点ID以及自己到达该节点ID确认命令帧的源节点的跳数,执行步骤105;源节点即为节点ID确认命令帧源地址指定的节点;

步骤108:如果满足条件一,则进行步骤109,否则进行步骤110;

条件一的三个输入参数分别为:普通节点第二次收到的节点ID确认命令帧,第二次收到节点ID确认命令帧的普通节点,普通节点第一次收到的节点ID确认命令帧;

条件一:普通节点第二次收到的节点ID确认命令帧中的超级节点ID的有效长度小于该普通节点记录的超级节点ID的有效长度,或者普通节点第二次收到的节点ID确认命令帧中的超级节点ID的有效长度等于普通节点记录的超级节点ID的有效长度且第二次收到的节点ID确认命令帧的源链路地址小于该普通节点第一次收到的节点ID确认命令帧的源链路地址;

步骤109:第二次收到节点ID确认命令帧的普通节点丢弃原来记录的数据,并记录第二次收到的节点ID确认命令帧中的全局网络前缀,超级节点ID以及到达第二次收到的节点ID确认命令帧源节点的跳数,同时转发第二次收到的节点ID确认命令帧,执行步骤105;

步骤110:第二次收到节点ID确认命令帧的普通节点丢弃第二次收到的节点ID确认命令帧,进行步骤114;

步骤111:如果收到节点ID确认命令帧的开始节点发送了超级节点请求命令帧并收到了超级节点响应命令帧且满足条件二,则进行步骤112,否则进行步骤113;

条件二的三个输入参数分别为:收到节点ID确认命令帧的开始节点收到的超级节点响应命令帧,收到节点ID确认命令帧的开始节点,开始节点收到的节点ID确认命令帧;

条件二:超级节点响应命令帧中的超级节点ID的有效长度小于开始节点收到的节点ID确认命令帧中的超级节点ID的有效长度,或者超级节点响应命令帧中的超级节点ID的有效长度等于开始节点收到的节点ID确认命令帧中的超级节点ID的有效长度且开始节点的临时链路地址小于开始节点收到的节点ID确认命令帧的源地址;

步骤112:收到节点ID确认命令帧的开始节点在超级节点内部广播一个新的节点ID确认命令帧,该新的节点ID确认命令帧负载为全局网络前缀和获取的超级节点ID,进行步骤105;

步骤113:收到节点ID确认命令帧的开始节点将自己标记为结束节点,记录收到的节点ID确认命令帧中的全局网络前缀和超级节点ID,以及自己到达节点ID确认命令帧的源节点的跳数;

步骤114:如果开始节点SN1没收到节点ID确认命令帧或者满足条件三,则进行步骤115,否则进行步骤117;

条件三的三个输入参数分别为:开始节点SN1收到的超级节点响应帧,开始节点SN1,开始节点SN1收到的节点ID确认命令帧;

条件三:开始节点SN1收到的超级节点响应命令帧中的超级节点ID的有效长度小于开始节点SN1收到的节点ID确认命令帧中的超级节点ID的有效长度,或者开始节点SN1收到的超级节点响应命令帧中的超级节点ID的有效长度等于开始节点SN1收到的节点ID确认命令帧中的超级节点ID的有效长度且开始节点SN1的临时链路地址小于开始节点SN1收到的节点ID确认命令帧的源地址;

步骤115:开始节点SN1向结束节点EN1发送一条超级节点确认命令帧,该超级节点确认命令帧的负载为分配的超级节点ID;

步骤116:结束节点EN1收到超级节点确认命令帧后,将分配给开始节点SN1的值x的状态修改为已分配,执行步骤118;

步骤117:开始节点SN1将自己标记为结束节点并且记录下自己收到的节点ID确认命令帧中的全局网络前缀,超级节点ID以及自己到达节点ID确认命令帧的源节点的跳数;如果结束节点EN1在规定时间内没有收到超级节点确认命令帧,将分配给开始节点SN1的值x的状态修改为未分配;

步骤118:结束;

通过上述过程,无线网络中的每个节点可以获取地址,并进行正确通信从而提高网络服务。由于本发明以超级节点为单位进行地址配置,因此大大缩短了地址配置延迟和通信延迟。

开始节点SN1从接入路由器AR1获取超级节点ID的过程包括以下步骤:

步骤401:开始;

步骤402:开始节点SN1向接入路由器AR1发送超级节点请求命令帧,超级节点请求命令帧的源链路地址为临时链路地址;

步骤403:接入路由器AR1从超级节点ID分配表中选取最小未分配的值x,将该值x标记为半分配状态,然后构建一个有效长度为c+L3的超级节点ID,其中L3为接入路由器AR1的超级节点ID的有效长度,c的比特值设置为x,L3比特值设置为接入路由器AR1的超级节点ID,接入路由器AR1向开始节点SN1返回一个超级节点响应命令帧,超级节点响应命令帧的负载为构建的超级节点ID;

步骤404:开始节点SN1收到超级节点响应命令帧后,在超级节点内广播节点ID确认帧,节点ID确认命令帧的负载为全局网络前缀和接入路由器AR1分配给开始节点SN1的超级节点ID;

步骤405:如果收到节点ID确认命令帧的节点为普通节点,则进行步骤406,否则进行步骤411;

步骤406:如果普通节点第一次收到节点ID确认命令帧,则进行步骤407,否则进行步骤408;

步骤407:第一次收到节点ID确认命令帧的普通节点转发该节点ID确认命令帧并且记录节点ID确认命令帧中的全局网络前缀、超级节点ID以及自己到达该节点ID确认命令帧的源节点的跳数,执行步骤405;源节点即为节点ID确认命令帧源地址指定的节点;

步骤408:如果满足条件四,则进行步骤409,否则进行步骤410;

条件四的三个输入参数分别为普通节点第二次收到的节点ID确认帧,第二次收到节点ID确认帧的普通节点,普通节点第一次收到的节点ID确认帧;

条件四:普通节点第二次收到的节点ID确认命令帧中的超级节点ID的有效长度小于普通节点记录的超级节点ID的有效长度,或者普通节点第二次收到的节点ID确认命令帧中的超级节点ID的有效长度等于普通节点记录的超级节点ID的有效长度且普通节点第二次收到的节点ID确认命令帧的源链路地址小于普通节点第一次收到的节点ID确认命令帧的源链路地址;

步骤409:第二次收到节点ID确认命令帧的普通节点丢弃原来记录的数据,并记录第二次收到的节点ID确认命令帧中的全局网络前缀,超级节点ID以及到达第二次收到的节点ID确认命令帧源节点的跳数,同时转发第二次收到的节点ID确认命令帧,执行步骤405;

步骤410:第二次收到节点ID确认命令帧的普通节点丢弃第二次收到的节点ID确认命令帧,进行步骤414;

步骤411:如果收到节点ID确认命令帧的开始节点发送了超级节点请求命令帧并收到了超级节点响应命令帧且满足条件五,则进行步骤412,否则进行步骤413;

条件五的三个输入参数分别为:收到节点ID确认命令帧的开始节点收到的超级节点响应命令帧,收到节点ID确认命令帧的开始节点,开始节点收到的节点ID确认命令帧;

条件五:超级节点响应命令帧中的超级节点ID的有效长度小于开始节点收到的节点ID确认命令帧中的超级节点ID的有效长度,或者超级节点响应命令帧中的超级节点ID的有效长度等于开始节点收到的节点ID确认命令帧中的超级节点ID的有效长度且开始节点的临时链路地址小于开始节点收到的节点ID确认命令帧的源地址;

步骤412:收到节点ID确认命令帧的开始节点在超级节点内部广播一个新的节点ID确认命令帧,该新的节点ID确认命令帧负载为全局网络前缀和获取的超级节点ID,进行步骤405;

步骤413:收到节点ID确认命令帧的开始节点将自己标记为结束节点,记录收到的节点ID确认命令帧中的全局网络前缀和超级节点ID,以及自己到达节点ID确认命令帧的源节点的跳数;

步骤414:如果开始节点SN1没收到节点ID确认命令帧或者满足条件六,则进行步骤415,否则进行步骤417;

条件六的三个输入参数分别为:开始节点SN1收到的超级节点响应帧,开始节点SN1,开始节点SN1收到的节点ID确认命令帧;

条件六:开始节点SN1收到的超级节点响应命令帧中的超级节点ID的有效长度小于开始节点SN1收到的节点ID确认命令帧中的超级节点ID的有效长度,或者开始节点SN1收到的超级节点响应命令帧中的超级节点ID的有效长度等于开始节点SN1收到的节点ID确认命令帧中的超级节点ID的有效长度且开始节点SN1的临时链路地址小于开始节点SN1收到的节点ID确认命令帧的源地址;

步骤415:开始节点SN1向接入路由器AR1发送一条超级节点确认命令帧,该超级节点确认命令帧的负载为分配的超级节点ID;

步骤416:接入路由器AR1收到超级节点确认命令帧后,将分配给开始节点SN1的值x的状态修改为已分配,执行步骤418;

步骤417:开始节点SN1将自己标记为结束节点并且记录下自己收到的节点ID确认命令帧中的全局网络前缀,超级节点ID以及自己到达节点ID确认命令帧的源节点的跳数;如果接入路由器AR1在规定时间内没有收到超级节点确认命令帧,将分配给开始节点SN1的值x的状态修改为未分配;

步骤418:结束;

一个超级节点获取超级节点ID之后,该超级节点中的每个开始节点、普通节点和结束节点都获取了到达开始节点的距离参数h,它们将自己的节点ID设置为距离参数值h加1,并与超级节点ID以及全局网络前缀相结合获得了具有全球唯一性的IPv6地址。

通过上述过程,无线网络中的每个节点可以获取地址,并进行正确通信从而提高网络服务。由于本发明以超级节点为单位进行地址配置,因此大大缩短了地址配置延迟和通信延迟。

本发明所述方法中,超级节点中的每个节点保存一个邻居表,每个表项包括两个域:超级节点ID域和开始节点域;超级节点ID域记录邻居超级节点的超级节点ID,开始节点域记录该邻居节点是否为开始节点的邻居节点,开始节点域有两个值,真和假,如果开始节点域值为假,那么该邻居节点为结束节点的邻居节点;

超级节点中的开始节点和结束节点通过接收邻居节点的信标帧建立邻居表;开始节点和结束节点建立邻居表之后,在超级节点内广播信标帧,信标帧负载为建立的邻居表;由此,超级节点中所有的开始节点,普通节点和结束节点都能获取开始节点和结束节点建立的邻居表,即开始节点和结束节点的邻居表的并集;超级节点建立邻居表后,向接入路由器发送注册消息,注册消息负载为邻居表;由此接入路由器保存了所在超级树里的所有超级节点的邻居表;

如果超级节点SP4是超级节点SP1的祖先节点,超级节点SP1的超级节点ID的有效长度为L2,超级节点SP4的超级节点ID的有效长度为L4,那么超级节点SP1到达超级节点SP4的距离H1如公式(2)所示,即两个超级节点的距离为跨越超级节点的个数:

H1=(L2-L4)/c公式(2)。

本发明所述方法中,在普通节点CN1和普通节点CN2的全局网络前缀相同,普通节点CN1隶属于超级节点SP1,普通节点CN2隶属于超级节点SP2,超级节点SP1中的结束节点为EN1,开始节点为SN1,超级节点SP2中的结束节点为EN2,超级节点SP1和超级节点SP2隶属于一个子网,开始节点为SN2,数据帧所在的超级节点为当前超级节点的情况下,普通节点CN1与普通节点CN2的通信过程包括如下步骤:

步骤201:开始;

步骤202:普通节点CN1构建一个数据帧,数据帧的目的地址为普通节点的链路地址;

步骤203:普通节点CN1或者收到该数据帧的节点查看自己的邻居表,如果超级节点SP2为当前超级节点的邻居节点,即普通节点CN1或者收到该数据帧的节点所在的超级节点的邻居节点,执行步骤204,否则执行步骤205;

步骤204:普通节点CN1或者收到该数据帧的节点将数据帧路由到超级节点SP2,进行步骤206;

步骤205:如果当前超级节点的邻居表L中存在n个表项,每个表项所标识的邻居超级节点为SPk,1≤k≤n,超级节点SPk与超级节点SP2的共同祖先为超级节点Ak,超级节点SPk到达超级节点Ak的距离与超级节点SP2到达超级节点Ak的距离之和为hk,则当前超级节点将数据帧转发给满足公式(3)的邻居节点SPm,1≤m≤n,邻居节点SPm与超级节点SP2的共同祖先为超级节点Am,执行步骤203;

公式(3)中的hm为邻居节点SPm到达祖先节点Am的距离与超级节点SP2到达祖先节点Am的距离之和,

步骤206:超级节点SP2中的开始节点SN2或者开始节点EN2收到数据帧后,将该数据帧转发给普通节点CN2;

步骤207:结束。

通过上述过程可实现两个节点之间的通信,由于两个节点之间采用最短路径进行通信,因此大幅度降低了通信延迟和代价,提高了通信质量。

本发明所述方法中,如果一个超级节点的邻居节点的全局网络前缀与自己的全局网络前缀不同,那么该超级节点称为边界超级节点;每个开始节点、普通节点或者结束节点保存一个边界超级节点表,每个表项包括四个域:超级节点ID域,距离域,邻居全局网络前缀域以及邻居超级节点ID域;其中,超级节点ID域值为边界超级节点的超级节点ID,距离域为到达该边界超级节点的距离,邻居全局网络前缀和邻居超级节点ID分别为该边界超级节点的邻居节点中隶属于不同子网的邻居超级节点的全局网络前缀和超级节点ID;

边界超级节点中的开始节点和结束节点通过接收邻居无线节点的信标帧建立边界超级节点表;边界超级节点中的开始节点和结束节点建立边界超级节点表之后,广播信标帧,信标帧负载为边界超级节点表;超级节点收到边界超级节点表后,将收到的边界超级节点表与自己的边界超级节点表做并操作,保存并操作之后的边界超级节点表,然后广播信标帧,信标帧负载为边界超级节点表,由此边界超级节点所在超级节点树中的每个超级节点都能获取边界超级节点表。

本发明所述方法中,在普通节点CN1和普通节点CN7的全局网络前缀不同,普通节点CN1所在的超级节点SP1位于子网S1中,普通节点CN7所在的超级节点SP7位于子网S2中,子网S2中的接入路由器为AR2,超级节点SP7到达接入路由器AR2的距离为h2的情况下,普通节点CN1与普通节点CN7的通信过程包括如下步骤:

步骤301:开始;

步骤302:普通节点CN1构建一个数据消息,数据消息的目的地址为CN7的IPv6地址;

步骤303:普通节点CN1或者收到该数据消息的节点查看边界超级节点表,如果超级节点SP7为当前超级节点的邻居节点,则执行步骤304,否则执行步骤305;

步骤304:普通节点CN1或者收到该数据消息的节点将该数据消息转发到超节点SP7,进行步骤312;

步骤305:在当前超级节点存在一个邻居超级节点,该邻居超级节点与超级节点S7的共同祖先为超级节点SP-A,该邻居超级节点到达超级节点SP-A的距离与超级节点SP7到达超级节点SP-A的距离之和为d1,当前超级节点SP到达接入路由器AR1的距离为h1的情况下,如果满足公式(4),则进行步骤306,否则进行步骤307;

d1<h1+h2公式(4);

步骤306:当前超级节点将数据消息转发给该邻居超级节点,该邻居超级节点将数据消息转发给超级节点SP7,进行步骤312;

步骤307:如果当前超级节点的边界超级节点表中存在邻居全局路由前缀为S2且邻居超级节点ID为SP7的表项,那么当前超级节点从这些表项中选取距离值最小的表项,在表项的距离值为d2,超级节点ID值为SPx的情况下,如果满足公式(5),则进行步骤308,否则进行步骤309;

d2<h1+h2公式(5);

步骤308:当前超级节点将该数据消息转发给超节点ID为SPx的超级节点,执行步骤303;

步骤309:当前超级节点如果不是接入路由器AR1,则进行步骤310,否则进行步骤311;

步骤310:当前超级节点将数据消息转发给它的父超级节点,进行步骤303;

步骤311:接入路由器AR1将数据消息转发给接入路由器AR2,接入路由器AR2根据超级节点树将数据消息路由到超级节点SP7;

步骤312:超级节点SP7中的开始节点或者结束节点收到数据消息后,将该数据消息转发给普通节点CN7;

步骤313:结束。

通过上述过程可实现两个子网内的节点之间的通信,由于通信节点之间采用最短路径进行通信,因此大幅度降低了通信延迟和代价,提高了通信质量。

有益效果:本发明提供了一种无线网络路由的实现方法,所述无线网络通过本发明所提供的实现方法可获取IPv6网络提供的网络服务,同时保持通信的连续性,缩短路由延迟,降低数据包丢失率,提高服务质量,本发明可应用于道路路况监测、车辆管理等领域,具有广泛的应用前景。

附图说明

下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述和/或其他方面的优点将会变得更加清楚。

图1为本发明所述的无线网络体系结构示意图。

图2为本发明所述的无线网络节点IPv6地址结构示意图。

图3为本发明所述的从结束节点获取超级节点ID的流程示意图。

图4为本发明所述的从接入路由器获取超级节点ID的流程示意图。

图5为本发明所述的子网内通信流程示意图。

图6为本发明所述的子网间通信流程示意图。

具体实施方式:

本发明提供了一种无线网络路由的实现方法,所述无线网络通过本发明所提供的实现方法可获取IPv6网络提供的网络服务,同时保持通信的连续性,缩短路由延迟,降低数据包丢失率,提高服务质量,本发明可应用于道路路况监测、车辆管理等领域,具有广泛的应用前景。

图1为本发明所述的无线网络体系结构示意图。所述无线网络包括一个以上接入路由器1和一个以上无线节点两种节点,无线网络通过接入路由器1接入到互联网;无线节点设置在道路两边的基础设施上,例如路灯等,相邻无线节点或者无线节点与相邻接入路由器之间能够互相通信;两个路口之间的道路称为路段,路口包括十字路口,三叉路口和五岔路口,路段中的无线节点划分为三类:开始节点2,普通节点3和结束节点4;开始节点2的邻居节点数量大于2,结束节点4的邻居节点数量等于1或者大于2,普通节点3的邻居节点数量等于2;一个路段中的所有节点构成一个超级节点;一个接入路由器1以及所有通过该接入路由器1连接到互联网的超级节点构建成一个子网,该子网的拓扑结构为树状结构,称为超级节点树,超级节点树的根节点为接入路由器1;一个超级节点中的开始节点2与该超级节点的父超级节点中的结束节点4逻辑相连。

图2为本发明所述的无线网络节点IPv6地址结构示意图。无线网络的节点的IPv6地址由三个部分构成,第一部分为128-i-j比特的全局网络前缀,唯一标识一个子网,一个子网内所有无线节点的全局网络前缀都相同,等于相同子网内接入路由器的全局网络前缀;第二部分为i比特的超级节点ID,唯一标识一个超级节点及对应路段,位于一个路段中的所有无线节点的超级节点ID都相同;第三部分为j比特的节点ID,唯一标识一个无线节点;

接入路由器的IPv6地址预先设置,接入路由器的超级节点ID为0;超级节点ID和节点ID构成链路地址;链路地址的长度为16比特或者64比特,即i和j的和等于16或者64;

超级节点的超级节点ID的有效长度l,l≤i,有效长度l与该超级节点所在超级节点树所处的深度d成正比,如公式(1)所示,其中,2c-1是一个超级节点拥有的最大子节点数量,一般情况下,c等于2;

l=d×c 公式(1);

无线节点启动后,用自己的硬件ID作为临时链路地址,例如MAC地址,并定期广播信标帧;无线节点通过接收邻居无线节点的信标帧来判断邻居节点的数量;如果一个无线节点的邻居节点数量为1,则将自己标记上结束节点;如果一个无线节点的邻居节点数量等于2,则将自己标记为普通节点;如果一个无线节点的邻居节点数量大于2,则将自己标记为开始节点;

无线网络初始状态下,一个超级节点中最多能包含2个开始节点,一个接入路由器或者一个结束节点广播的信标帧负载为全局网络前缀以及可分配的超级节点ID的数量;开始节点和普通节点广播的信标帧的负载为全局网络前缀。

本发明提出了基于超级节点的体系结构,超级节点的体系结构主要优点在于能够提高地址配置成功率,从而缩短通信延迟。

图3为本发明所述的从结束节点获取超级节点ID的流程示意图。接入路由器和结束节点保存一个超级节点ID分配表,每个分配表包含2c-1个表项,每个表项由三个域构成:超级节点ID域,分配状态域,生命周期;分配状态域有三个值:未分配,半分配,已分配;未分配表示超节点ID可供分配,半分配表示超级节点ID已经分配但是未收到确认信息,如果在规定时间中没有收到确认信息,那么该超级节点ID则转变为未分配状态,已分配状态则表示超级节点ID已经分配,不能再分配给其他节点;

如果一个超级节点中的开始节点检测到接入路由器为其邻居节点,那么所述开始节点从邻居路由器获取超级节点ID,否则选择链路地址有效长度最小(即深度最小)且可分配超级节点ID数量较大的结束节点获取超级节点ID;如果开始节点检测到两个以上结束节点的链路地址有效长度最小且可分配超级节点ID数量都相同,那么所述开始节点选择从信号最强的结束节点获取超级节点ID;

开始节点SN1从结束节点EN1获取超级节点ID的过程包括以下步骤:

步骤101:开始;

步骤102:开始节点SN1向结束节点EN1发送超级节点请求命令帧,超级节点请求命令帧的源链路地址为临时链路地址;

步骤103:结束节点EN1从超级节点ID分配表中选取最小未分配的值x,将该值x标记为半分配状态,然后构建一个有效长度为c+L1的超级节点ID,其中L1为结束节点EN1的超级节点ID的有效长度,c的比特值设置为x,L1比特值设置为结束节点EN1的超级节点ID,结束节点EN1向开始节点SN1返回一个超级节点响应命令帧,超级节点响应命令帧的负载为构建的超级节点ID;

步骤104:开始节点SN1收到超级节点响应命令帧后,在超级节点内广播节点ID确认帧,节点ID确认命令帧的负载为全局网络前缀和结束节点EN1分配开始节点SN1的超级节点ID;

步骤105:如果收到节点ID确认命令帧的节点为普通节点,则进行步骤106,否则进行步骤111;

步骤106:如果普通节点第一次收到节点ID确认命令帧,则进行步骤107,否则进行步骤108;

步骤107:第一次收到节点ID确认命令帧的普通节点转发该节点ID确认命令帧并且记录节点ID确认命令帧中的全局网络前缀、超级节点ID以及自己到达该节点ID确认命令帧的源节点的跳数,执行步骤105;源节点即为节点ID确认命令帧源地址指定的节点;

步骤108:如果满足条件一,则进行步骤109,否则进行步骤110;

条件一的三个输入参数分别为:普通节点第二次收到的节点ID确认命令帧,第二次收到节点ID确认命令帧的普通节点,普通节点第一次收到的节点ID确认命令帧;

条件一:普通节点第二次收到的节点ID确认命令帧中的超级节点ID的有效长度小于该普通节点记录的超级节点ID的有效长度,或者普通节点第二次收到的节点ID确认命令帧中的超级节点ID的有效长度等于普通节点记录的超级节点ID的有效长度且第二次收到的节点ID确认命令帧的源链路地址小于该普通节点第一次收到的节点ID确认命令帧的源链路地址;

步骤109:第二次收到节点ID确认命令帧的普通节点丢弃原来记录的数据,并记录第二次收到的节点ID确认命令帧中的全局网络前缀,超级节点ID以及到达第二次收到的节点ID确认命令帧源节点的跳数,同时转发第二次收到的节点ID确认命令帧,执行步骤105;

步骤110:第二次收到节点ID确认命令帧的普通节点丢弃第二次收到的节点ID确认命令帧,进行步骤114;

步骤111:如果收到节点ID确认命令帧的开始节点发送了超级节点请求命令帧并收到了超级节点响应命令帧且满足条件二,则进行步骤112,否则进行步骤113;

条件二的三个输入参数分别为:收到节点ID确认命令帧的开始节点收到的超级节点响应命令帧,收到节点ID确认命令帧的开始节点,开始节点收到的节点ID确认命令帧;

条件二:超级节点响应命令帧中的超级节点ID的有效长度小于开始节点收到的节点ID确认命令帧中的超级节点ID的有效长度,或者超级节点响应命令帧中的超级节点ID的有效长度等于开始节点收到的节点ID确认命令帧中的超级节点ID的有效长度且开始节点的临时链路地址小于开始节点收到的节点ID确认命令帧的源地址;

步骤112:收到节点ID确认命令帧的开始节点在超级节点内部广播一个新的节点ID确认命令帧,该新的节点ID确认命令帧负载为全局网络前缀和获取的超级节点ID,进行步骤105;

步骤113:收到节点ID确认命令帧的开始节点将自己标记为结束节点,记录收到的节点ID确认命令帧中的全局网络前缀和超级节点ID,以及自己到达节点ID确认命令帧的源节点的跳数;

步骤114:如果开始节点SN1没收到节点ID确认命令帧或者满足条件三,则进行步骤115,否则进行步骤117;

条件三的三个输入参数分别为:开始节点SN1收到的超级节点响应帧,开始节点SN1,开始节点SN1收到的节点ID确认命令帧;

条件三:开始节点SN1收到的超级节点响应命令帧中的超级节点ID的有效长度小于开始节点SN1收到的节点ID确认命令帧中的超级节点ID的有效长度,或者开始节点SN1收到的超级节点响应命令帧中的超级节点ID的有效长度等于开始节点SN1收到的节点ID确认命令帧中的超级节点ID的有效长度且开始节点SN1的临时链路地址小于开始节点SN1收到的节点ID确认命令帧的源地址;

步骤115:开始节点SN1向结束节点EN1发送一条超级节点确认命令帧,该超级节点确认命令帧的负载为分配的超级节点ID;

步骤116:结束节点EN1收到超级节点确认命令帧后,将分配给开始节点SN1的值x的状态修改为已分配,执行步骤118;

步骤117:开始节点SN1将自己标记为结束节点并且记录下自己收到的节点ID确认命令帧中的全局网络前缀,超级节点ID以及自己到达节点ID确认命令帧的源节点的跳数;如果结束节点EN1在规定时间内没有收到超级节点确认命令帧,将分配给开始节点SN1的值x的状态修改为未分配;

步骤118:结束;

通过上述过程,无线网络中的每个节点可以获取地址,并进行正确通信从而提高网络服务。由于本发明以超级节点为单位进行地址配置,因此大大缩短了地址配置延迟和通信延迟。

图4为本发明所述的从接入路由器获取超级节点ID的流程示意图。开始节点SN1从接入路由器AR1获取超级节点ID的过程包括以下步骤:

步骤401:开始;

步骤402:开始节点SN1向接入路由器AR1发送超级节点请求命令帧,超级节点请求命令帧的源链路地址为临时链路地址;

步骤403:接入路由器AR1从超级节点ID分配表中选取最小未分配的值x,将该值x标记为半分配状态,然后构建一个有效长度为c+L3的超级节点ID,其中L3为接入路由器AR1的超级节点ID的有效长度,c的比特值设置为x,L3比特值设置为接入路由器AR1的超级节点ID,接入路由器AR1向开始节点SN1返回一个超级节点响应命令帧,超级节点响应命令帧的负载为构建的超级节点ID;

步骤404:开始节点SN1收到超级节点响应命令帧后,在超级节点内广播节点ID确认帧,节点ID确认命令帧的负载为全局网络前缀和接入路由器AR1分配给开始节点SN1的超级节点ID;

步骤405:如果收到节点ID确认命令帧的节点为普通节点,则进行步骤406,否则进行步骤411;

步骤406:如果普通节点第一次收到节点ID确认命令帧,则进行步骤407,否则进行步骤408;

步骤407:第一次收到节点ID确认命令帧的普通节点转发该节点ID确认命令帧并且记录节点ID确认命令帧中的全局网络前缀、超级节点ID以及自己到达该节点ID确认命令帧的源节点的跳数,执行步骤405;源节点即为节点ID确认命令帧源地址指定的节点;

步骤408:如果满足条件四,则进行步骤409,否则进行步骤410;

条件四的三个输入参数分别为普通节点第二次收到的节点ID确认帧,第二次收到节点ID确认帧的普通节点,普通节点第一次收到的节点ID确认帧;

条件四:普通节点第二次收到的节点ID确认命令帧中的超级节点ID的有效长度小于普通节点记录的超级节点ID的有效长度,或者普通节点第二次收到的节点ID确认命令帧中的超级节点ID的有效长度等于普通节点记录的超级节点ID的有效长度且普通节点第二次收到的节点ID确认命令帧的源链路地址小于普通节点第一次收到的节点ID确认命令帧的源链路地址;

步骤409:第二次收到节点ID确认命令帧的普通节点丢弃原来记录的数据,并记录第二次收到的节点ID确认命令帧中的全局网络前缀,超级节点ID以及到达第二次收到的节点ID确认命令帧源节点的跳数,同时转发第二次收到的节点ID确认命令帧,执行步骤405;

步骤410:第二次收到节点ID确认命令帧的普通节点丢弃第二次收到的节点ID确认命令帧,进行步骤414;

步骤411:如果收到节点ID确认命令帧的开始节点发送了超级节点请求命令帧并收到了超级节点响应命令帧且满足条件五,则进行步骤412,否则进行步骤413;

条件五的三个输入参数分别为:收到节点ID确认命令帧的开始节点收到的超级节点响应命令帧,收到节点ID确认命令帧的开始节点,开始节点收到的节点ID确认命令帧;

条件五:超级节点响应命令帧中的超级节点ID的有效长度小于开始节点收到的节点ID确认命令帧中的超级节点ID的有效长度,或者超级节点响应命令帧中的超级节点ID的有效长度等于开始节点收到的节点ID确认命令帧中的超级节点ID的有效长度且开始节点的临时链路地址小于开始节点收到的节点ID确认命令帧的源地址;

步骤412:收到节点ID确认命令帧的开始节点在超级节点内部广播一个新的节点ID确认命令帧,该新的节点ID确认命令帧负载为全局网络前缀和获取的超级节点ID,进行步骤405;

步骤413:收到节点ID确认命令帧的开始节点将自己标记为结束节点,记录收到的节点ID确认命令帧中的全局网络前缀和超级节点ID,以及自己到达节点ID确认命令帧的源节点的跳数;

步骤414:如果开始节点SN1没收到节点ID确认命令帧或者满足条件六,则进行步骤415,否则进行步骤417;

条件六的三个输入参数分别为:开始节点SN1收到的超级节点响应帧,开始节点SN1,开始节点SN1收到的节点ID确认命令帧;

条件六:开始节点SN1收到的超级节点响应命令帧中的超级节点ID的有效长度小于开始节点SN1收到的节点ID确认命令帧中的超级节点ID的有效长度,或者开始节点SN1收到的超级节点响应命令帧中的超级节点ID的有效长度等于开始节点SN1收到的节点ID确认命令帧中的超级节点ID的有效长度且开始节点SN1的临时链路地址小于开始节点SN1收到的节点ID确认命令帧的源地址;

步骤415:开始节点SN1向接入路由器AR1发送一条超级节点确认命令帧,该超级节点确认命令帧的负载为分配的超级节点ID;

步骤416:接入路由器AR1收到超级节点确认命令帧后,将分配给开始节点SN1的值x的状态修改为已分配,执行步骤418;

步骤417:开始节点SN1将自己标记为结束节点并且记录下自己收到的节点ID确认命令帧中的全局网络前缀,超级节点ID以及自己到达节点ID确认命令帧的源节点的跳数;如果接入路由器AR1在规定时间内没有收到超级节点确认命令帧,将分配给开始节点SN1的值x的状态修改为未分配;

步骤418:结束;

一个超级节点获取超级节点ID之后,该超级节点中的每个开始节点、普通节点和结束节点都获取了到达开始节点的距离参数h,它们将自己的节点ID设置为距离参数值h加1,并与超级节点ID以及全局网络前缀相结合获得了具有全球唯一性的IPv6地址。

通过上述过程,无线网络中的每个节点可以获取地址,并进行正确通信从而提高网络服务。由于本发明以超级节点为单位进行地址配置,因此大大缩短了地址配置延迟和通信延迟。

图5为本发明所述的子网内通信流程示意图。超级节点中的每个节点保存一个邻居表,每个表项包括两个域:超级节点ID域和开始节点域;超级节点ID域记录邻居超级节点的超级节点ID,开始节点域记录该邻居节点是否为开始节点的邻居节点,开始节点域有两个值,真和假,如果开始节点域值为假,那么该邻居节点为结束节点的邻居节点;

超级节点中的开始节点和结束节点通过接收邻居节点的信标帧建立邻居表;开始节点和结束节点建立邻居表之后,在超级节点内广播信标帧,信标帧负载为建立的邻居表;由此,超级节点中所有的开始节点,普通节点和结束节点都能获取开始节点和结束节点建立的邻居表,即开始节点和结束节点的邻居表的并集;超级节点建立邻居表后,向接入路由器发送注册消息,注册消息负载为邻居表;由此接入路由器保存了所在超级树里的所有超级节点的邻居表;

如果超级节点SP4是超级节点SP1的祖先节点,超级节点SP1的超级节点ID的有效长度为L2,超级节点SP4的超级节点ID的有效长度为L4,那么超级节点SP1到达超级节点SP4的距离H1如公式(2)所示,即两个超级节点的距离为跨越超级节点的个数:

H1=(L2-L4)/c公式(2);

在普通节点CN1和普通节点CN2的全局网络前缀相同,普通节点CN1隶属于超级节点SP1,普通节点CN2隶属于超级节点SP2,超级节点SP1中的结束节点为EN1,开始节点为SN1,超级节点SP2中的结束节点为EN2,开始节点为SN2,超级节点SP1和超级节点SP2隶属于一个子网,数据帧所在的超级节点为当前超级节点的情况下,普通节点CN1与普通节点CN2的通信过程包括如下步骤:

步骤201:开始;

步骤202:普通节点CN1构建一个数据帧,数据帧的目的地址为普通节点的链路地址;

步骤203:普通节点CN1或者收到该数据帧的节点查看自己的邻居表,如果超级节点SP2为当前超级节点的邻居节点,即普通节点CN1或者收到该数据帧的节点所在的超级节点的邻居节点,执行步骤204,否则执行步骤205;

步骤204:普通节点CN1或者收到该数据帧的节点将数据帧路由到超级节点SP2,进行步骤206;

步骤205:如果当前超级节点的邻居表L中存在n个表项,每个表项所标识的邻居超级节点为SPk,1≤k≤n,超级节点SPk与超级节点SP2的共同祖先为超级节点Ak,超级节点SPk到达超级节点Ak的距离与超级节点SP2到达超级节点Ak的距离之和为hk,则当前超级节点将数据帧转发给满足公式(3)的邻居节点SPm,1≤m≤n,邻居节点SPm与超级节点SP2的共同祖先为超级节点Am,执行步骤203;

公式(3)中的hm为邻居节点SPm到达祖先节点Am的距离与超级节点SP2到达祖先节点Am的距离之和,

步骤206:超级节点SP2中的开始节点SN2或者开始节点EN2收到数据帧后,将该数据帧转发给普通节点CN2;

步骤207:结束。

通过上述过程可实现两个节点之间的通信,由于两个节点之间采用最短路径进行通信,因此大幅度降低了通信延迟和代价,提高了通信质量。

图6为本发明所述的子网间通信流程示意图。如果一个超级节点的邻居节点的全局网络前缀与自己的全局网络前缀不同,那么该超级节点称为边界超级节点;每个开始节点、普通节点或者结束节点保存一个边界超级节点表,每个表项包括四个域:超级节点ID域,距离域,邻居全局网络前缀域以及邻居超级节点ID域;其中,超级节点ID域值为边界超级节点的超级节点ID,距离域为到达该边界超级节点的距离,邻居全局网络前缀和邻居超级节点ID分别为该边界超级节点的邻居节点中隶属于不同子网的邻居超级节点的全局网络前缀和超级节点ID;

边界超级节点中的开始节点和结束节点通过接收邻居无线节点的信标帧建立边界超级节点表;边界超级节点中的开始节点和结束节点建立边界超级节点表之后,广播信标帧,信标帧负载为边界超级节点表;超级节点收到边界超级节点表后,将收到的边界超级节点表与自己的边界超级节点表做并操作,保存并操作之后的边界超级节点表,然后广播信标帧,信标帧负载为边界超级节点表,由此边界超级节点所在超级节点树中的每个超级节点都能获取边界超级节点表。

本发明所述方法中,在普通节点CN1和普通节点CN7的全局网络前缀不同,普通节点CN1所在的超级节点

一种无线网络路由的实现方法专利购买费用说明

专利买卖交易资料

Q:办理专利转让的流程及所需资料

A:专利权人变更需要办理著录项目变更手续,有代理机构的,变更手续应当由代理机构办理。

1:专利变更应当使用专利局统一制作的“著录项目变更申报书”提出。

2:按规定缴纳著录项目变更手续费。

3:同时提交相关证明文件原件。

4:专利权转移的,变更后的专利权人委托新专利代理机构的,应当提交变更后的全体专利申请人签字或者盖章的委托书。

Q:专利著录项目变更费用如何缴交

A:(1)直接到国家知识产权局受理大厅收费窗口缴纳,(2)通过代办处缴纳,(3)通过邮局或者银行汇款,更多缴纳方式

Q:专利转让变更,多久能出结果

A:著录项目变更请求书递交后,一般1-2个月左右就会收到通知,国家知识产权局会下达《转让手续合格通知书》。

动态评分

0.0

没有评分数据
没有评价数据
×

打开微信,点击底部的“发现”

使用“扫一扫”即可将网页分享至朋友圈

×
复制
用户中心
我的足迹
我的收藏

您的购物车还是空的,您可以

  • 微信公众号

    微信公众号
在线留言
返回顶部