CN114189898B - 一种基于RPL路由协议的IPv6无线传感网点对点路由方法 - Google Patents
一种基于RPL路由协议的IPv6无线传感网点对点路由方法 Download PDFInfo
- Publication number
- CN114189898B CN114189898B CN202111538310.5A CN202111538310A CN114189898B CN 114189898 B CN114189898 B CN 114189898B CN 202111538310 A CN202111538310 A CN 202111538310A CN 114189898 B CN114189898 B CN 114189898B
- Authority
- CN
- China
- Prior art keywords
- node
- group
- point
- message
- identification code
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W24/00—Supervisory, monitoring or testing arrangements
- H04W24/04—Arrangements for maintaining operational condition
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W40/00—Communication routing or communication path finding
- H04W40/02—Communication route or path selection, e.g. power-based or shortest path routing
- H04W40/04—Communication route or path selection, e.g. power-based or shortest path routing based on wireless node resources
- H04W40/10—Communication route or path selection, e.g. power-based or shortest path routing based on wireless node resources based on available power or energy
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W40/00—Communication routing or communication path finding
- H04W40/24—Connectivity information management, e.g. connectivity discovery or connectivity update
- H04W40/246—Connectivity information discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W40/00—Communication routing or communication path finding
- H04W40/24—Connectivity information management, e.g. connectivity discovery or connectivity update
- H04W40/32—Connectivity information management, e.g. connectivity discovery or connectivity update for defining a routing cluster membership
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W84/00—Network topologies
- H04W84/18—Self-organising networks, e.g. ad-hoc networks or sensor networks
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明请求保护一种基于RPL路由协议的IPv6无线传感网点对点路由方法,涉及IPv6无线传感器网络技术领域。该方法在网络构建阶段,通过设计新的控制报文进行组群信息交互,实现了一种节能的网络组群划分;通过为每个组群选择合适的代理节点,实现组群信息的分布式管理;设计一种组群路由算法,使点对点路由的源节点和目的节点在指定的组群内完成定向的路由发现和数据传输。本发明在兼容原始RPL路由协议的前提下完成组群划分,实现高效的点对点路由,能够有效控制参与点对点路由发现和数据传输的节点数量,避免广播风暴,减少路由开销,从而降低网络能耗,提高网络的可靠性。
Description
技术领域
本发明属于IPv6无线传感器网络技术领域,涉及一种基于RPL路由协议的IPv6无线传感网点对点路由方法。
背景技术
随着物联网技术和无线通信技术的快速发展,无线传感器网络(Wireless SensorNetwork,WSN)已经广泛应用到生活中的各个领域。6LoWPAN(IPv6 over Low-PowerWireless Personal Area Networks,基于IPv6的低速无线个域网)协议的引入将IPv6协议与WSN相结合,使WSN能够支持大量的设备接入,实现了M2M(Machine to Machine,设备与设备)通信,推动了人与客观世界的信息互联互通。在自动化远程控制和工业控制等应用中,近30%的传输流量都来自于M2M,这些流量被用于启动设备、数据传输、发送确认或者网络诊断。M2M通信网络通常由大量的低功耗有损网络(Low Power and Lossy Networks,LLN)设备组成。LLN作为一种特殊的WSN,是一种受限于电源能量、存储空间、处理能力等资源的网络。M2M通信网络的数据需要经过大量的资源受限的嵌入式设备传输。因此,高效的路由机制对于LLN设备的相互通信至关重要。
按需距离矢量路由协议、最优链路状态路由协议以及动态源路由协议等传统路由协议无法在传感器设备节点的网络规模过大时对路由表进行有效维护,同时由于控制开销过大,也不利于网络拓扑管理,因而上述协议无法有效应用于LLN中。RPL(RoutingProtocol for Low-Power and Lossy Networks,低功耗有损网络路由协议)是针对新兴物联网中LLN的标准IPv6路由协议,主要设计用于高效的多对一数据收集场景,其中大部分流量从嵌入式设备流向网关。尽管RPL路由协议支持点对点路由,但每次通信的数据包都需要经过多条动态的、有损的无线链路,会产生较长的延时,且丢包率高,使得RPL路由协议不能很好的满足点对点路由需求。
发明内容
有鉴于此,为了确保无线传感器网络对于点对点通信支持的要求,针对点对点通信路由发现和数据传输过程中网络开销大、节点规模大、延时高等问题,在兼容原始RPL路由协议的前提下,本发明提出一种基于RPL路由协议的IPv6无线传感网点对点路由方法。该方法在网络构建阶段利用新设计的控制报文完成DODAG的组群划分,为每个组群合理选择代理节点,并设计一种组群路由算法,在指定组群内完成定向的点对点路由。该方法能够有效控制通信节点数量,避免广播风暴,减少路由开销,降低通信延时,从而降低网络能耗,提高网络的可靠性。
为达到上述目的,本发明提供如下技术方案:
一种基于RPL路由协议的IPv6无线传感网点对点路由方法,包括以下步骤:
S1:组网时根据RPL路由协议形成一个目的地导向的有向无环图DODAG;DODAG的根节点通过DIO控制报文向邻居节点宣告自身的网络信息,并在收到入网邻居节点发送的DAO控制报文后,回复DAO-ACK控制报文,根节点对其每一个邻居节点指定一个组群标识码,并将邻居节点划分到对应的组群中;
S2:根节点的邻居节点转发DIO控制报文,其他想要加入DODAG的子节点依据组群设定方法计算自身的组群标识码,并发送DAO控制报文向根节点通告自身的能量信息和邻居节点信息;根节点根据每个子节点的组群标识码将子节点划分到对应的组群中;
S3:根节点根据收集的子节点的邻居节点信息和代理选择准则,发送代理指定消息为每个组群选择出代理节点;代理节点通过代理通告消息将邻居组群信息发送至根节点;
S4:当某个节点存在点对点路由需求时,该节点作为源节点向本组群内的代理节点发起组群路由请求消息;若目的节点在本组群内,则代理节点回复组群路由应答消息,否则,代理节点转发组群路由请求消息至根节点;根节点根据组群路由算法选出最优组群路由,并通过组群路由应答消息回复给代理节点;代理节点缓存组群路由信息,并转发给源节点;
S5:源节点开启点对点路由发现过程,多播点对点路由请求消息,中间节点通过检查组群标识码,处理点对点路由请求消息;目的节点收到该请求消息后回复点对点路由应答消息;源节点收到该应答消息后,路由建立成功,开始传输数据。
进一步,步骤S1中,所述DIO控制报文携带网络全局信息,DIO控制报文的Option格式包括:类型说明域、长度、初始组群数量和组群标识码信息;所述DAO控制报文的Option格式包括:类型说明域、长度、组群标识码、剩余能量和邻居节点信息;所述DAO-ACK控制报文的Option格式包括:类型说明域、长度、初始组群数量和指定组群标识码。
进一步,步骤S2中,所述依据组群设定方法计算自身的组群标识码包括子节点收到DIO控制报文后,获取DIO控制报文中的跳数、组群标识码和组群数量信息。根据DIO控制报文计算出各个子节点的组群标识码,计算公式如下:
其中,Rc为子节点c的组群标识码,Hc为子节点c距离根节点的跳数,表示为Hc=Hp+Hincrease,Hp为子节点c的父节点p距离根节点的跳数,Hincrease是一个常数,默认设置为1;表示向下取整,RN为根节点根据其邻居节点总数所分配的初始组群的数量,Rc_p为子节点c的父节点p的组群标识码。
进一步,步骤S3中,所述代理选择准则包括确保一个组群内代理节点的剩余能量充足即超过预设阈值,且利用最少的代理节点覆盖组群内所有节点;
代理节点的剩余能量计算公式如下:
Ei_Remain=Ei_Total-Ei_Cost
Ei,Cost=PC*TC+PL*TL+PTX*TTX+PRX*TRX
其中,Ei_Remain为第i个代理节点的剩余能量,Ei_Total为第i个代理节点的初始总能量,Ei_Cost为第i个代理节点消耗的能量,PC和TC分别为处理器模块全速运行时的功率和运行时间,PL和TL分别为处理器在低功耗模式下的运行功率和运行时间,PTX和TTX为通信模块发送报文时的功率和时间,PRX和TRX为通信模块在监听和接收报文时的功率和时间。
进一步,当所述代理节点的剩余能量低于预设阈值时,则向根节点发起代理切换请求消息,其中所述代理切换请求消息的格式包括:类型、消息标识码、校验和以及代理组群标识码。
进一步,步骤S3中,所述代理指定消息的格式包括:类型、消息标识码、校验和、代理组群标识码、代理组群的代理个数和代理节点的IPv6地址;所述代理通告消息的格式包括:类型、消息标识码、校验和、邻居组群数量、邻居的组群标识码、对应的链路质量和保留域。
进一步,步骤S4中,所述组群路由请求消息的格式包括:类型、消息标识码、校验和、长度、源IPv6地址和目的IPv6地址;所述组群路由应答消息的格式包括:类型、消息标识码、校验和、组群数量和组群标识码。
进一步,步骤S5中,所述点对点路由请求消息的Option格式包括:类型说明域、长度、组群路由数量、临时DODAG存活时间、最大Rank值、源节点的序列号和组群路由标识码;所述点对点路由应答消息的Option格式包括:类型说明域、长度、组群路由数量、临时DODAG存活时间、最大Rank值和组群路由标识码。
进一步,步骤S5中,源节点开启点对点路由发现过程包括源节点从组群路由应答消息中获取组群信息后,构造一个以自身为根节点的临时DODAG用于发现点对点路由,并多播点对点路由请求消息。
进一步,步骤S5中,中间节点通过检查组群标识码,处理点对点路由请求消息包括收到该点对点路由请求消息的节点判断组群标识码是否和自身一致,若不一致,则丢弃该消息;若一致,则根据该消息计算Rank值,决定是否加入临时的DODAG;加入临时DODAG的节点检查自身地址是否为目的地址,若不是,则作为中间节点继续多播点对点路由请求消息;重复收到同一请求消息的中间节点丢弃该消息;若加入该临时DODAG的节点是目的节点,则回复点对点路由应答消息;中间节点判断组群标识码是否和自身一致,若不一致,则丢弃该消息;若一致,则继续检查临时DODAG的存活时间的标志位,若临时DODAG已过期,则丢弃该消息;否则转发该消息;源节点收到点对点路由应答消息后,路由建立成功,开始传输数据。
本发明的有益效果在于:
1)本发明能够有效的降低IPv6无线传感网中DODAG组群划分阶段的网络开销。通过兼容原始的RPL路由协议,利用DIO、DAO和DAO-ACK控制报文实现根节点和其他节点的信息交互,在组网的过程中完成适用于点对点路由场景的DODAG组群划分,避免使用额外的控制报文,有效地降低了组群划分过程中控制报文的开销,降低了网络的能耗。
2)本发明能够有效降低IPv6无线传感网中根节点及其邻居节点的能耗。根节点通过控制报文交互过程获取节点的能量信息,为每个组群选择合适的代理,实现分布式的组群信息管理,能够解决根节点及其邻居节点能耗大、网络拥塞等问题,延长了网络的生命周期。
3)本发明能够有效降低IPv6无线传感网中点对点路由过程的节点规模和路由开销。通过设计一种组群路由算法,在指定组群内完成定向的点对点路由,能够有效控制参与点对点路由发现和数据传输的节点数量,避免广播风暴,减少路由开销,并通过快速建立点对点路由,降低通信延时,提高网络的可靠性。
附图说明
为了使本发明的目的、技术方案和有益效果更加清楚,本发明提供如下附图进行说明:
图1为本发明所述的基于RPL路由协议的IPv6无线传感器网络点对点路由方法示意图;
图2为本发明所述的根节点的组群路由算法流程图;
图3为本发明所述的DIO控制报文的Option格式;
图4为本发明所述的DAO控制报文的Option格式;
图5为本发明所述的DAO-ACK控制报文的Option格式;
图6为本发明所述的代理指定消息;
图7为本发明所述的代理切换请求消息;
图8为本发明所述的代理通告消息;
图9为本发明所述的组群路由请求消息;
图10为本发明所述的组群路由应答消息;
图11为本发明所述的点对点路由请求消息;
图12为本发明所述的点对点路由应答消息。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1是本发明所述的基于RPL路由协议的IPv6无线传感网点对点路由方法示意图,主要包括三个阶段,即DODAG组群划分阶段、代理节点选择阶段以及点对点路由阶段;本发明在兼容原始RPL路由协议的前提下,利用DIO、DAO和DAO-ACK控制报文的交互为DODAG组群划分,并为每个组群合理选择代理节点,通过设计组群路由算法实现指定组群内的点对点路由。如图1所示,点对点路由方法具体实现过程如下:
S1:组网时根据RPL路由协议形成一个DODAG。DODAG的根节点向其邻居节点多播带有组群标识码和组群数量的DIO控制报文来宣告自身的网络信息;根节点的邻居节点收到DIO控制报文后,根据控制报文中的目标函数计算出自身Rank值,决定是否加入该DODAG,若不加入,则丢弃该报文;若选择加入,则回复DAO控制报文,DAO控制报文中的“K”标记置1,表示希望收到根节点的DAO-ACK控制报文;根节点收到DAO控制报文后给发送方回复一个带有组群标识码和组群数量的DAO-ACK控制报文;
S2:根节点的邻居节点收到此DAO-ACK控制报文后,获取被指定的组群标识码,并记录初始的组群数量,然后向其他节点转发DIO控制报文;其他想要加入DODAG的子节点收到DIO控制报文后,获取DIO控制报文中的跳数、组群标识码和组群数量信息,并依据组群设定方法计算自身的组群标识码,通过DAO控制报文向根节点通告自身的能量信息和邻居节点信息。至此,在组网完成的同时,所有已入网节点均拥有自身的组群标识码,DODAG的组群划分阶段完成;
在本发明实施例中,子节点收到DIO控制报文后,获取DIO控制报文中的跳数、组群标识码和组群数量信息。根据DIO控制报文计算出各个子节点的组群标识码,计算公式如下:
其中,Rc为子节点c的组群标识码,Hc为子节点c距离根节点的跳数,表示为Hc=Hp+Hincrease,Hp为子节点c的父节点p距离根节点的跳数,Hincrease是一个常数,默认设置为1;表示向下取整,RN为根节点根据其邻居节点总数所分配的初始组群的数量,Rc_p为子节点c的父节点p的组群标识码,其中这里的子节点和父节点只是相对关系,这里的子节点也可以其他节点的父节点,而这里的父节点也可以是其他节点的子节点。
在本发明优选实施例中,对于每个子节点给出了一种特殊的组群标识码计算方式,这种计算方式在初始组群的基础上,让子节点的组群标识码与其父节点的组群标识码相关,能够让子节点在入网的过程通过该计算方式获取对应的组群标识码,并且即使子节点更换了其自身的父节点,该子节点仍能够在重新入网之后,快速获得组群标识码。
可以理解的是,在本发明中,根节点的邻居节点可以由根节点直接指定组群标识码,并作为初始组群,而这些邻居节点所对应的子节点则是根据DIO控制报文计算出组群标识码,这些组群标识码可以是初始组群的组群标识码,也可以是新的组群标识码;并根据这些组群标识码,在初始组群的基础上,将这些子节点划分到对应的组群中。
S3:根节点根据组网过程收集的节点信息,通过发送代理指定消息为每个组群选择出初始的代理节点。选择代理节点的准则为代理节点的剩余能量充足,且通信范围能够覆盖该区域的所有节点。若不能覆盖,则增加代理节点的数量。代理节点通过邻居发现协议收集组群内其他节点探测到的邻居区域信息,通过代理通告消息将此信息发送至根节点。
在本发明实施例中,当所述代理节点的剩余能量低于预设阈值时,则向根节点发起代理切换请求消息,其中所述预设阈值可以是组群内节点剩余能量的平均值,当然也可以是其他值,本领域技术人员可以根据实际情况进行设定,本发明对此不作具体的限定。
S4:当某个节点存在点对点路由需求时,该节点作为源节点向代理节点发起组群路由请求消息以获得自身到目的节点的最优路由所经过的组群。若目的节点在本组群内,则代理节点回复组群路由应答消息,否则,代理节点将转发组群路由请求消息至根节点。根节点收到该请求后,根据组群路由算法选出本次点对点路由的最优组群路由,并通过组群路由应答消息回复给代理节点,代理节点缓存组群路由信息,然后将组群路由应答消息转发给源节点;
S5:源节点开启点对点路由发现过程,从组群路由应答消息中获取组群信息后,构造一个以自身为根节点的临时DODAG用于发现点对点路由,并多播点对点路由请求消息。收到该点对点路由请求消息的节点判断组群标识码是否和自身一致,若不一致,则丢弃该消息;若一致,则根据该消息计算Rank值,决定是否加入临时的DODAG。加入临时DODAG的节点检查自身地址是否为目的地址,若不是,则作为中间节点继续多播点对点路由请求消息;重复收到同一请求消息的中间节点丢弃该消息。若加入该临时DODAG的节点是目的节点,则回复点对点路由应答消息。中间节点判断组群标识码是否和自身一致,若不一致,则丢弃该消息;若一致,则继续检查临时DODAG的存活时间的标志位,若临时DODAG已过期,则丢弃该消息;否则转发该消息。源节点收到点对点路由应答消息后,路由建立成功,开始传输数据。
图2为本发明所述的根节点的组群路由算法流程图,如图2所示,在本发明中,根节点接收组群路由请求之后,负责选出权值之和最小的组群路由,通过组群路由应答消息将组群数量和组群路由发送给代理节点,也即提取出源节点和目的节点的IPv6地址,找出映射的组群标识码;根节点依据代理通告消息确定出源组群到目的组群的组群路由,判断组群路由是否为1,若结果为1,则通过组群路由应答消息将组群数量和组群路由发送给代理节点;否则还需要分别计算出每个组群之间的链路权值,比较每条组群路由的权值之和,选出权值之和最小的组群路由。
可以理解的是,在本发明实施例中,对组群划分完毕后,并为每个组群选择出代理节点之后,具有不同组群标识的节点可以通过邻居协议进行通信,此时,节点就可以知道了彼此的邻居,并告诉代理节点,代理节点就可以负责收集邻居组群信息的,然后把该代理节点所负责的组群对应的邻居组群信息发送给根节点。
图3为本发明所述的DIO控制报文的Option格式,格式包括:类型说明域(OptionType)、长度(Option Length)、初始组群数量(Initial Cluster Number)和组群标识码信息(Cluster Identification Code);其中Option Type值为0x0A,长度为8位;OptionLength为选项的字节数,长度为8位;Initial Cluster Number为根节点为邻居节点指定的最初的组群数量,长度为8位;Cluster Identification Code为发送DIO报文的节点所在的组群标识码,长度为8位。
图4为本发明所述的DAO控制报文的Option格式,格式包括:类型说明域(OptionType)、长度(Option Length)、组群标识码(Cluster Identification Code)、剩余能量(Residual Energy)和邻居节点信息(Neighbor Node Information);其中Option Type值为0x0A,长度为8位;Option Length为选项的字节数,长度为8位;Cluster IdentificationCode为发送DAO报文的的节点所在的组群标识码,长度为8位;Residual Energy为节点的剩余能量,长度为8位;Neighbor Node Information为节点获取的邻居节点信息,长度为32位。
图5为本发明所述的DAO-ACK控制报文的Option格式,格式包括:类型说明域(Option Type)、长度(Option Length)、初始组群数量(Initial Cluster Number)和指定组群标识码(Specified Cluster Identification Code);其中Option Type值为0x0A,长度为8位;Option Length为选项的字节数,长度为8位;Initial Cluster Number为根节点为邻居节点指定的最初的组群数量,长度为8位;Specified Cluster IdentificationCode为根节点为邻居节点指定的初始组群的标识码,长度为8位。
图6为本发明所述的代理指定消息,格式包括:类型(Type),消息标识码(Code),校验和(Checksum),代理组群标识码(Proxy Identification Code),代理组群的代理个数(Proxy Number),代理节点的IPv6地址(Proxy Address);其中Type值为155,表示RPL控制消息,长度为8位;Code值为0x04,表示代理指定消息,长度为8位;Checksum为校验和,长度为16位;Proxy Identification Code为代理节点所在组群的标识码,长度为8位;ProxyNumber为代理节点所在组群的代理节点个数,长度为8位;Proxy Address为被指定的代理节点的IPv6地址,其长度由长地址或短地址的长度决定。
图7为本发明所述的代理切换请求消息,格式包括:类型(Type),消息标识码(Code),校验和(Checksum),代理组群标识码(Proxy Identification Code);其中Type值为155,表示RPL控制消息,长度为8位;Code值为0x05,表示代理切换请求消息,长度为8位;Checksum为校验和,长度为16位;Proxy Identification Code为代理节点所在组群的标识码,长度为8位。
图8为本发明所述的代理通告消息,格式包括:类型(Type),消息标识码(Code),校验和(Checksum),邻居组群数量(Neighbor Cluster Number),邻居的组群标识码(Neighbor Identification Code),对应的链路质量(Link Quality),保留域(ReservedFields);其中Type值为155,表示RPL控制消息,长度为8位;Code值为0x06,表示代理通告消息,长度为8位;Checksum为校验和,长度为16位;Neighbor Cluster Number为代理节点收集的邻居组群数量,长度为8位;Neighbor Identification Code为代理节点收集的邻居组群标识码,长度为8位,Link Quality为邻居组群与本组群之间的链路质量,长度为8位;Reserved Fields根据邻居组群的数量扩展邻居组群标识码和对应的链路质量。
图9为本发明所述的组群路由请求消息,格式包括:类型(Type),消息标识码(Code),校验和(Checksum),长度(Length),源IPv6地址(Source Address)以及目的IPv6地址(Destination Address);其中Type值为155,表示RPL控制消息,长度为8位;Code值为0x07,表示组群路由请求消息,长度为8位;Checksum为校验和,长度为16位;Length为报文的字节数,长度为8位;Source Address为源节点的IPv6地址,Destination Address为目的节点的IPv6地址,地址长度由长地址或短地址的长度决定。
图10为本发明所述的组群路由应答消息,格式包括:类型(Type),消息标识码(Code),校验和(Checksum),组群数量(Cluster Number),组群标识码(ClusterIdentification Code);其中Type值为155,表示RPL控制消息,长度为8位;Code值为0x08,表示组群路由应答消息,长度为8位;Checksum为校验和,长度为16位;Cluster Number为组群路由经过的组群个数,长度为8位;Cluster Identification Code为组群路由经过的组群标识码,长度根据组群数量决定。
图11为本发明所述的点对点路由请求消息,格式包括:类型说明域(OptionType),长度(Option Length),组群路由数量(Cluster Number),临时DODAG存活时间(TL),最大Rank值(MAX RANK),源节点的序列号(Source Seq),组群路由标识码(ClusterIdentification Code);其中Option Type值为0x0B,长度为8位;Option Length为选项的字节数,长度为8位;Cluster Number为组群路由经过的组群个数,长度为8位;TL为临时DODAG的存活时间,长度为2位;MAX RANK为加入临时DODAG时节点的最大Rank值,长度为6位,若超过此值,则节点不能加入临时DODAG;Source Seq为源节点发起路由请求序列号,长度为8位,用于区分不同的路由请求;Cluster Identification Code为组群路由经过的组群标识码,长度根据组群数量决定。
图12为本发明所述的点对点路由应答消息,格式包括:类型说明域(OptionType),长度(Option Length),组群路由数量(Cluster Number),临时DODAG存活时间(TL),最大Rank值(MAX RANK),组群路由标识码(Cluster Identification Code);其中OptionType值为0x0C,长度为8位;Option Length为选项的字节数,长度为8位;Cluster Number为组群路由经过的组群个数,长度为8位;TL为临时DODAG的存活时间,长度为2位;MAX RANK为加入临时DODAG时节点的最大Rank值,长度为6位,若超过此值,则节点不能加入临时DODAG;Cluster Identification Code为组群路由经过的组群标识码,长度根据组群数量决定。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
Claims (6)
1.一种基于RPL路由协议的IPv6无线传感网点对点路由方法,其特征在于,所述方法包括:
S1:组网时根据RPL路由协议形成一个目的地导向的有向无环图DODAG;DODAG的根节点通过DIO控制报文向邻居节点宣告自身的网络信息,并在收到入网邻居节点发送的DAO控制报文后,回复DAO-ACK控制报文,根节点对其每一个邻居节点指定一个组群标识码,并将邻居节点划分到对应的组群中;
S2:根节点的邻居节点转发DIO控制报文,其他想要加入DODAG的子节点依据组群设定方法计算自身的组群标识码,并发送DAO控制报文向根节点通告自身的能量信息和邻居节点信息;根节点根据每个子节点的组群标识码将子节点划分到对应的组群中;
步骤S2中,所述依据组群设定方法计算自身的组群标识码包括子节点收到DIO控制报文后,获取DIO控制报文中的跳数、组群标识码和组群数量信息;根据DIO控制报文计算出各个子节点的组群标识码,计算公式如下:
其中,Rc为子节点c的组群标识码,Hc为子节点c距离根节点的跳数,表示为Hc=Hp+Hincrease,Hp为子节点c的父节点p距离根节点的跳数,Hincrease是一个常数,默认设置为1;表示向下取整,RN为根节点根据其邻居节点总数所分配的初始组群的数量,Rc_p为子节点c的父节点p的组群标识码;
S3:根节点根据收集的子节点的邻居节点信息和代理选择准则,发送代理指定消息为每个组群选择出代理节点;代理节点通过代理通告消息将邻居组群信息发送至根节点;
步骤S3中,所述代理选择准则包括确保一个组群内代理节点的剩余能量充足即超过预设阈值,且利用最少的代理节点覆盖组群内所有节点;
代理节点的剩余能量计算公式如下:
Ei_Remain=Ei_Total-Ei_Cost
Ei,Cost=PC*TC+PL*TL+PTX*TTX+PRX*TRX
其中,Ei_Remain为第i个代理节点的剩余能量,Ei_Total为第i个代理节点的初始总能量,Ei_Cost为第i个代理节点消耗的能量,PC和TC分别为处理器模块全速运行时的功率和运行时间,PL和TL分别为处理器在低功耗模式下的运行功率和运行时间,PTX和TTX为通信模块发送报文时的功率和时间,PRX和TRX为通信模块在监听和接收报文时的功率和时间;
S4:当某个节点存在点对点路由需求时,该节点作为源节点向本组群内的代理节点发起组群路由请求消息;若目的节点在本组群内,则代理节点回复组群路由应答消息,否则,代理节点转发组群路由请求消息至根节点;根节点根据组群路由算法选出最优组群路由,并通过组群路由应答消息回复给代理节点;代理节点缓存组群路由信息,并转发给源节点;
S5:源节点开启点对点路由发现过程,多播点对点路由请求消息,中间节点通过检查组群标识码,处理点对点路由请求消息;目的节点收到该请求消息后回复点对点路由应答消息;源节点收到该应答消息后,路由建立成功,开始传输数据;
步骤S5中,源节点开启点对点路由发现过程包括源节点从组群路由应答消息中获取组群信息后,构造一个以自身为根节点的临时DODAG用于发现点对点路由,并多播点对点路由请求消息;
步骤S5中,中间节点通过检查组群标识码,处理点对点路由请求消息包括收到该点对点路由请求消息的节点判断组群标识码是否和自身一致,若不一致,则丢弃该消息;若一致,则根据该消息计算Rank值,决定是否加入临时的DODAG;加入临时DODAG的节点检查自身地址是否为目的地址,若不是,则作为中间节点继续多播点对点路由请求消息;重复收到同一请求消息的中间节点丢弃该消息;若加入该临时DODAG的节点是目的节点,则回复点对点路由应答消息;中间节点判断组群标识码是否和自身一致,若不一致,则丢弃该消息;若一致,则继续检查临时DODAG的存活时间的标志位,若临时DODAG已过期,则丢弃该消息;否则转发该消息;源节点收到点对点路由应答消息后,路由建立成功,开始传输数据。
2.根据权利要求1所述的一种基于RPL路由协议的IPv6无线传感网点对点路由方法,其特征在于,步骤S1中,所述DIO控制报文携带网络全局信息,DIO控制报文的Option格式包括:类型说明域、长度、初始组群数量和组群标识码信息;所述DAO控制报文的Option格式包括:类型说明域、长度、组群标识码、剩余能量和邻居节点信息;所述DAO-ACK控制报文的Option格式包括:类型说明域、长度、初始组群数量和指定组群标识码。
3.根据权利要求1所述的一种基于RPL路由协议的IPv6无线传感网点对点路由方法,其特征在于,当所述代理节点的剩余能量低于预设阈值时,则向根节点发起代理切换请求消息,其中所述代理切换请求消息的格式包括:类型、消息标识码、校验和以及代理组群标识码。
4.根据权利要求1所述的一种基于RPL路由协议的IPv6无线传感网点对点路由方法,其特征在于,步骤S3中,所述代理指定消息的格式包括:类型、消息标识码、校验和、代理组群标识码、代理组群的代理个数和代理节点的IPv6地址;所述代理通告消息的格式包括:类型、消息标识码、校验和、邻居组群数量、邻居的组群标识码、对应的链路质量和保留域。
5.根据权利要求1所述的一种基于RPL路由协议的IPv6无线传感网点对点路由方法,其特征在于,步骤S4中,所述组群路由请求消息的格式包括:类型、消息标识码、校验和、长度、源IPv6地址和目的IPv6地址;所述组群路由应答消息的格式包括:类型、消息标识码、校验和、组群数量和组群标识码。
6.根据权利要求1所述的一种基于RPL路由协议的IPv6无线传感网点对点路由方法,其特征在于,步骤S5中,所述点对点路由请求消息的Option格式包括:类型说明域、长度、组群路由数量、临时DODAG存活时间、最大Rank值、源节点的序列号和组群路由标识码;所述点对点路由应答消息的Option格式包括:类型说明域、长度、组群路由数量、临时DODAG存活时间、最大Rank值和组群路由标识码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111538310.5A CN114189898B (zh) | 2021-12-15 | 2021-12-15 | 一种基于RPL路由协议的IPv6无线传感网点对点路由方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111538310.5A CN114189898B (zh) | 2021-12-15 | 2021-12-15 | 一种基于RPL路由协议的IPv6无线传感网点对点路由方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114189898A CN114189898A (zh) | 2022-03-15 |
CN114189898B true CN114189898B (zh) | 2023-07-18 |
Family
ID=80544066
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111538310.5A Active CN114189898B (zh) | 2021-12-15 | 2021-12-15 | 一种基于RPL路由协议的IPv6无线传感网点对点路由方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114189898B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103202005A (zh) * | 2010-11-09 | 2013-07-10 | 思科技术公司 | 低功率有损网络中用于地址聚合的动态地址分配 |
CN104869604A (zh) * | 2015-06-09 | 2015-08-26 | 北京交通大学 | 基于rpl的无线传感器网络的层数型路由建立方法 |
CN106255167A (zh) * | 2016-08-31 | 2016-12-21 | 杭州鸿雁智能科技有限公司 | 一种基于低功耗有损网络路由协议的无线传感器网络及其计算方法 |
WO2020197826A1 (en) * | 2019-03-28 | 2020-10-01 | Landis+Gyr Innovations, Inc. | Systems and methods for establishing communication links between networks and devices with different routing protocols |
CN113242586A (zh) * | 2021-04-25 | 2021-08-10 | 重庆邮电大学 | 一种可靠的基于链路节能的移动性rpl路由方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9112805B2 (en) * | 2012-09-28 | 2015-08-18 | Cisco Technology, Inc. | Routing messages in a computer network using deterministic and probabilistic source routes |
US10491515B2 (en) * | 2017-09-13 | 2019-11-26 | Cisco Technology, Inc. | Fast and loss-free local recovery by a RPL parent device |
-
2021
- 2021-12-15 CN CN202111538310.5A patent/CN114189898B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103202005A (zh) * | 2010-11-09 | 2013-07-10 | 思科技术公司 | 低功率有损网络中用于地址聚合的动态地址分配 |
CN104869604A (zh) * | 2015-06-09 | 2015-08-26 | 北京交通大学 | 基于rpl的无线传感器网络的层数型路由建立方法 |
CN106255167A (zh) * | 2016-08-31 | 2016-12-21 | 杭州鸿雁智能科技有限公司 | 一种基于低功耗有损网络路由协议的无线传感器网络及其计算方法 |
WO2020197826A1 (en) * | 2019-03-28 | 2020-10-01 | Landis+Gyr Innovations, Inc. | Systems and methods for establishing communication links between networks and devices with different routing protocols |
CN113242586A (zh) * | 2021-04-25 | 2021-08-10 | 重庆邮电大学 | 一种可靠的基于链路节能的移动性rpl路由方法 |
Non-Patent Citations (1)
Title |
---|
无线传感器网络的RPL路由协议研究;綦声波 等;《电脑知识与技术》;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114189898A (zh) | 2022-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Bhatia et al. | A cluster based minimum battery cost AODV routing using multipath route for ZigBee | |
KR101055416B1 (ko) | 무선 센서 네트워크에서의 라우팅 경로 설정 방법 및 이를 수행하기 위한 장치 | |
KR101079137B1 (ko) | 무선 센서 네트워크에서의 패밀리-기반 주소 부여 방법과, 이를 이용한 계층적 라우팅 경로설정 방법 | |
CN104735743B (zh) | 嵌入式无线自组织网络的路由优化方法 | |
CN111316685A (zh) | 融合组网的方法和装置 | |
WO2020156340A1 (zh) | 一种传输数据的方法及装置 | |
WO2019119346A1 (zh) | 一种通信路径确定方法及网络设备 | |
Mu | An improved AODV routing for the zigbee heterogeneous networks in 5G environment | |
CN104883304A (zh) | 用于部分纠缠量子对桥接通信网络的路由方法 | |
JP5252978B2 (ja) | 経路制御方法、通信システムおよび通信装置 | |
Rachamalla et al. | A survey of real-time routing protocols for wireless sensor networks | |
Hoghooghi et al. | Mobility-aware parent selection for routing protocol in wireless sensor networks using RPL | |
Bocchino et al. | SPEED routing protocol in 6LoWPAN networks | |
JP6493945B2 (ja) | 高密度大規模ネットワーク向けのGreen Power(プロキシテーブルのスケーリング) | |
FI125092B (fi) | Menetelmä, laite ja järjestelmä datapakettien lähettämiseksi ja vastaanottamiseksi | |
CN114189898B (zh) | 一种基于RPL路由协议的IPv6无线传感网点对点路由方法 | |
Singh et al. | Non-root-based hybrid wireless mesh protocol for wireless mesh networks | |
CN105657774A (zh) | 无线自组织网络中自适应核心转发网络的建立方法和系统 | |
Li et al. | An energy based dynamic AODV routing protocol in wireless Ad Hoc networks | |
US11190979B2 (en) | Methods and apparatus for forwarding packets between child nodes and parent nodes | |
US8982908B1 (en) | Extension of path reply message to encode multiple route information in a mesh network | |
Sudheendran et al. | Challenges of mobility aware MAC protocols in WSN | |
WO2011131688A1 (en) | A path selection method for a network | |
Pantoni et al. | A geocast routing algorithm intended for street lighting system based on wireless sensor networks | |
JPWO2008114327A1 (ja) | アドレス解決方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |