CN102916876B - 一种面向主从结构网络单向链路环境的路由方法 - Google Patents
一种面向主从结构网络单向链路环境的路由方法 Download PDFInfo
- Publication number
- CN102916876B CN102916876B CN201210411532.5A CN201210411532A CN102916876B CN 102916876 B CN102916876 B CN 102916876B CN 201210411532 A CN201210411532 A CN 201210411532A CN 102916876 B CN102916876 B CN 102916876B
- Authority
- CN
- China
- Prior art keywords
- node
- district
- route
- prep
- hop
- 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.)
- Expired - Fee Related
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种面向主从结构网络单向链路环境的路由方法,包括以下步骤:(1)邻居节点的查询和记录;(2)路由查询和建立;(3)路由建立的回复;(4)源节点与中间节点建立路由后采用PDATE发送数据。本发明通过Neighbor报文广播的机制,建立和维护节点的邻居信息,使得在广播发起和回复阶段,中间结点具备了单向链路的诊断能力,从而能够对抗真实网络环境中单向链路的影响;通过Tunnel包完成单向路由的建立,使得网络中的单向链路得以利用,从提高了网络的传输效率和稳定性;结合主从结构网络分域的不对等特性,制定了相应的路由存储策略,减少了路由开销,也减少了处理开销。
Description
技术领域
本发明涉及网络路由中继技术领域,具体涉及一种面向主从结构网络单向链路环境的路由方法。
背景技术
基于主从结构的多跳网络是由主节点和多个从节点构成的自治网络系统,它兼具了自治网络便于组网的特性和电力线网络便于管理的特性,为应用于物联网的协同工作系统提供了一种有效的解决途径。
正是由于主从结构多跳网络的广泛适用性,近些年来对其路由技术的研究受到越来越多的关注。其中,非交叠分簇路由算法通过在从节点中选择合适的簇头来实现中继通信,具有较好的通信可靠性。此外,基于主从结构多跳网络和ADHoc网络的相似性,不少ADHoc的路由算法也被应用于主从结构的多条网络中,如AODV(Ad hoc On-Demand Distance Vector),DSR(Dynamic Source Route)。
目前已有的路由算法中,在主从结构多跳网络的链路是双向链路的前提下,可以采用分段路由方法来实现多路径路由,包括如下步骤:
(1)源节点构造PREQ(路由请求报文),并向其周围节点广播PREQ;中间节点收到PREQ后,向其周围节点选择性广播PREQ,直至多份PREQ经过不同路径到达目的节点;所述的源节点和目的节点分别为主节点和从节点或从节点和主节点;
(2)目的节点收到多份PREQ后,根据PREQ的全路由段对PREQ进行无环路筛选,并将筛选后保留的PREQ存储于本地缓存;
(3)对保留的PREQ的全路由段进行区域划分:某一全路由段中,将距离主节点小于区域跳数(预先设定)的中间节点划分为R1区;将距离主节点等于区域跳数的中间节点划分为B区;将距离主节点大于区域跳数的中间节点划分为R2区;
(4)目的节点根据保留的PREQ的全路由段构造对应的PREP(路由回复报文),并将PREP按其全路由段单播回传至源节点;回传过程中,R1区节点记录其自身到主节点的路由段信息;R2区节点记录其自身分别到从节点和主节点的正向路由信息和反向路由信息;B区节点记录其自身到主节点的路由段信息以及其自身到从节点的正向路由信息;从节点记录其自身到主节点的反向路由信息;
(5)源节点收到多份PREP后,将所有PREP的全路由段存储于本地缓存,并以最优全路由段作为数据发送的默认路径;
若源节点为主节点,源节点根据默认路径构造PDATA(数据报文),源节点和R1区节点将PDATA按其R1B区路由段逐跳通过R1区发送至B区节点,B区节点和R2区节点按各自的正向路由信息将PDATA逐跳通过R2区发送至目的节点;
若源节点为从节点,源节点构造PDATA,源节点和R2区节点按各自的反向路由信息将PDATA逐跳通过R2区发送至B区节点;B区节点根据其自身到主节点的路由段信息设定PDATA的R1B区路由段,B区节点和R1区节点将PDATA按其R1B区路由段逐跳通过R1区发送至目的节点;
(6)当最优全路由段发生断路时,断路发现节点根据其所在区域以及数据流向选择使用路由信息修复全路由段或构造PERR(路由维护报文)并向其上游节点发送PERR;
上游节点接收PERR,并根据其所在区域以及数据流向选择使用路由信息修复全路由段或向其上游节点转发PERR,直至源节点收到PERR;
源节点收到PERR后,删除本地缓存中的最优全路由段,并选择本地缓存中的其他全路由段作为数据发送的默认路径,执行步骤(5);若本地缓存中无其他全路由段,重复步骤(1)至(5)。
上述路由算法都是基于对称链路假设前提下得出的,而在面向应用的多跳网络,随着节点之间距离的增加,对称链路所占的比例呈现加速减少的趋势;随着节点发射功率的减小,对称链路所占的比例也呈现加速减小的趋势。
Son等在Experimentalstudy of concurrent transmission in wireless sensornetworks[A].(Proceedingsof the 4th International Conference on EmbeddedNetworkedSensor Systems[C].Boulder,Colorado,USA,2006)对无线传感器网络中的并发数据传送进行了研究,对他们公布的实验数据进行分析,结果显示:在真实无线传感器网络环境中有超过30%的链路是单向的。
目前,针对单向链路的路由算法研究主要集中在传统的ADHoc网络,如在专利“一种单向链路环境下建立路由的方法”(专利申请号200710176456.3),针对经典AODV只能适用于双向对称链路的问题,通过在PREQ报文格式中增加邻节点信息,使节点在路由建立过程中尽早的确认单向链路的存在,以减少单向链路再次传播报文而产生的不必要的能量损失,使AODV路由过程能够较好的支持单向链路且易于实现。
但是,ADHoc网络领域的节点是完全对等的,并不存在主从节点的区别,因此,其对抗单向链路的技术不能高效地适用于主从结构的多跳网络,而针对主从网络单向链路环境下的路由研究尚属空白。
发明内容
本发明提供了一种在主从结构的多跳网络中对抗单向链路的多路径路由方法,解决了现有主从结构多跳网络路由技术不能适应单向链路需要的缺陷,增加了网络的数据传输效率,保证了网络的鲁棒性和稳定性。
一种面向主从结构网络单向链路环境的路由方法,包括:
(1)邻居节点的查询和记录
每个节点周期性的广播Neighbor报文并接收来自其他节点的Neighbor报文,每个节点寻找在一跳范围内可相互收发报文的邻居节点,并进行记录;
每个节点周期性的广播Neighbor报文,将目前本节点可在一跳范围内接收到Neighbor报文的节点记录在自己的一跳内节点列表,并广播出去;而收到Neighbor报文的节点检查本节点是否在一跳内节点列表中,如果是,说明两节点互为邻居节点;如果不是,认为是单向链路。
例如,节点A可以直接收到节点B发来的Neighbor报文,那么节点B就是节点A的一跳内节点,若节点B同时也能收到节点A直接发来的Neighbor报文,那么就称节点A和节点B两节点互为邻居节点。
Neighbor报文格式如下:
如无特殊说明本申请有关报文格式的说明中,第一行为字节数,第二行为字段名称。
(2)路由查询和建立
源节点广播PREQ(路由请求报文),中间节点收到PREQ后,检查上一跳节点是不是自己的邻居节点;如果不是邻居节点,将PREQ包中的链路状态标志(Link_label)设定为单向链路(例如设定Link_label为1),然后继续广播;如果是邻居节点,保持链路状态标志不变(例如保持Link_label为初始值0)且继续广播;
直至目的节点收到PREQ,做路由优选;
路由优选可采用现有技术,如进行无环路筛选。
PREQ格式如下:
作为优选,所述目的节点对优选出的路由进行区域划分,由于本发明是基于主从结构网络,那么目的节点可能是主节点,也可能是从节点,划分时基于主节点和从节点来划分,将距离主节点小于区域跳数(预先设定)的中间节点划分为R1区;将距离主节点等于区域跳数的中间节点划分为B区;将距离主节点大于区域跳数的中间节点划分为R2区。
(3)路由建立的回复
目的节点得到优选出的路由后,对源节点发送PREP进行回复,回复时针对每一条优选出的路由,查询上一跳节点是不是自己的邻居节点;
如果是自己的邻居节点,将PREP(路由回复报文,格式与PREQ相同)直接送至上一跳处;如果不是自己的邻居节点,通过包含有PREP相关信息的Tunnel包将PREP间接送至上一跳处;
Tunnel包格式如下:
中间节点收到PREP时,读取PREP的全路由段并在本地存储路由信息;
中间节点收到Tunnel包时进行如下判断:
如果本节点是源节点,则从中取出PREP,按照PREP处理,读取PREP的全路由段并在本地存储路由信息。
如果本节点不是源节点,而是本节点的邻居节点,则将Tunnel包单播至目的节点;如果目的节点不是本节点,也不本节点的邻居节点,则丢弃该Tunnel包。
(4)数据传送
源节点与中间节点建立路由后采用PDATE(数据报文)发送数据。
DATE格式如下:
作为优选,源节点收到多份PREP后,将所有PREP的全路由段存储于本地缓存,并以最优全路由段作为数据发送的默认路径;
由于本发明是基于主从结构网络,那么源节点有可能是主节点,也有可能是从节点。
若源节点为主节点,源节点根据默认路径构造PDATA,源节点和R1区节点将PDATA按其R1B(经由R1区至B区)区路由段逐跳通过R1区发送至B区节点,B区节点和R2区节点按各自的正向路由信息将PDATA逐跳通过R2区发送至目的节点;
若源节点为从节点,源节点根据默认路径构造PDATA,源节点和R2区节点按各自的反向路由信息将PDATA逐跳通过R2区发送至B区节点;B区节点根据其自身到主节点的路由段信息设定PDATA的R1B区路由段,B区节点和R1区节点将PDATA按其R1B区路由段逐跳通过R1区发送至目的节点。
(5)路由维护
当前传送PDATE的路由(最优全路由段)中两节点间的链路断开或某中间节点失效时,断路发现节点根据其所在区域以及数据流向使用路由信息修复全路由段;如果无法对全路由段进行修复,则需要向上游节点发送PERR(路由维护包)。
如果PERR的下一跳由于单向链路不可达,则组装包含PERR中相应的信息的维护Tunnel包,通过广播的方式送至下一跳节点。
PERR报文格式如下:
本发明通过Neighbor报文广播的机制,建立和维护节点的邻居信息,使得在广播发起和回复阶段,中间结点具备了单向链路的诊断能力,从而能够对抗真实网络环境中单向链路的影响;通过Tunnel包完成单向路由的建立,使得网络中的单向链路得以利用,从提高了网络的传输效率和稳定性;结合主从结构网络分域的不对等特性,制定了相应的路由存储策略,减少了路由开销,也减少了处理开销。
附图说明
图1为典型的主从结构网络的应用场景示意图;
图2为本发明面向主从结构网络单向链路环境的路由方法流程图;
图3为本发明面向主从结构网络单向链路环境的路由方法中路由建立的流程图;
图4为本发明面向主从结构网络单向链路环境的路由方法中数据发送的流程图;
图5为本发明面向主从结构网络单向链路环境的路由方法中路由修复维护的流程图。
具体实施方式
为了更为具体地描述本发明,下面结合附图及具体实施方式对本发明面向主从结构网络单向链路环境的路由方法进行详细说明。
图1所示为一种典型的主从结构网络,主节点为配电室的变压器,多个用户的多个用电设备为从节点。
如图2所示,一种面向主从结构网络单向链路环境的路由方法,包括如下步骤:
(1)邻居节点的查询和记录
网络中的节点,根据具体环境的差异,可以选定合适的广播周期,向自己周围一跳内的可达节点发送Neighbor报文。
Neighbor广播包含类型、ID号、源地址、一跳内节点数,一跳内节点列表和Hops。
其中源地址设为本节点地址,一跳内节点数是本节点可以收到的一跳内所有不同节点的个数,一跳内节点列表是本节点可收到的所有一跳内节点的地址列表,Hops始终为1。
当本节点收到其他节点发来的Neighbor报文时,检查本节点是否在该节点的一跳内节点列表中,如果在则两节点互为邻居节点,两者之间是双向链路;否则,两节点之间是单向链路。
(2)源节点发送路由请求
如图3所示,当源节点发送数据时,若源节点为主节点,首先检查本地“目的节点-B区节点映射表”和“源节点经由R1至B区节点路由表”,如果没有相应的路由信息,说明没有到目的节点的路由,于是发起路由请求,构造并广播PREQ,同时设置PREQ定时器。
若源节点为从节点,则查找“反向路由转发表”;查看源节点是否有到达目的节点的路由信息。如果已找到相应路由信息,则转入数据发送阶段;如果没有相应的路由信息,说明没有到目的节点的路由,于是发起路由请求,构造并广播PREQ,同时设置PREQ定时器。
“目的节点-B区节点映射表”提供主节点到达目的节点的多跳路由路径上可供选择的B区节点地址,“源节点经由R1至B区节点路由表”提供主节点到达指定R1区节点或B区节点的全段路由信息。
源节点构造PREQ,并向其周围节点广播PREQ。
PREQ包含类型、ID号、源地址、目的地址、Link_label标志位、全路由段和Hops。
其中PREQ的类型为0X01,Link_label用于标识经过的路径是否含有单向链路,全路由段用于存放路由过程中经过的节点的地址,Hops记录PREQ从源节点到达当前节点时所经历的路由跳数。
中间节点收到PREQ后,向其周围节点选择性广播PREQ:
当中间节点首次收到某一路径的PREQ时,中间节点将该PREQ的Hops和上一跳节点地址记录至本地PREQ中,并广播该PREQ;
当中间节点非首次收到某一路径的PREQ时,若该PREQ的Hops小于或等于中间节点已记录的Hops且该PREQ的上一跳节点地址与中间节点对应记录的不同,则广播该PREQ,否则,丢弃该PREQ;
广播PREQ时,将自身的地址添加到PREQ的全路由段尾部,并检查上一跳节点是否是自身的邻居节点,如果不是,将PREQ包中link_label设为1。
PREQ记录中间节点已收到的PREQ中的Hops跳数信息和上一跳节点地址,并保持一段生存时间preq_timer,到时后清除相应信息。
多份PREQ经过不同路径到达目的节点;源节点和目的节点分别为主节点和从节点或从节点和主节点。
(3)目的节点接收路由请求,并进行无环路筛选
如图3所示,目的节点收到多份PREQ后,目的节点查看PREQ的全路由段和ID号,确认是否是首次收到,若非首次收到,目的节点丢弃该PREQ;若是首次收到,目的节点根据PREQ的全路由段采用拓扑排序方法对PREQ进行无环路筛选,并将筛选后保留的PREQ存储于本地PREQ缓存表中。
目的节点在收到源节点发来的PREQ后设置定时器prep_timer,prep_timer时间内,目的节点可以继续接受其他筛选合格的PREQ,并存储于本地PREQ缓存表中;超时后,目的节点不再接收早于当前PREQ的ID的PREQ。
(4)对筛选后的全路由段进行区域划分
对保存的PREQ的全路由段进行区域划分:某一全路由段中,将距离主节点小于区域跳数(ROUTE_IN_PKT_COUNT)的中间节点划分为R1区;将距离主节点等于区域跳数的中间节点划分为B区;将距离主节点大于区域跳数的中间节点划分为R2区;其中ROUTE_IN_PKT_COUNT为根据网络规模自定义的常量参数。
若目的节点为主节点,当PREQ中link_label标志位不为1时,目的节点将收到的PREQ的全路由段分解至本地“目的节点-B区节点映射表”和“源节点经由R1至B区节点路由表”中;当PREQ中link_label标志位为1时,不记录以上信息。
若目的节点为从节点,当PREQ中link_label标志位不为1时,则仅需依照PREQ的全路由段记录其自身到主节点的反向路由信息至本地“反向路由转发表”中;当PREQ中link_label标志位为1时,则需要检查上一跳是否是邻居节点,如果是邻居节点,则依照PREQ的全路由段记录其自身到主节点的反向路由信息至本地“反向路由转发表”中,如果不是邻居节点,不记录以上信息。
(5)目的节点发送路由回复。
如图3所示,目的节点依次读取本地PREQ缓存表中的PREQ,根据PREQ的全路由段构造对应的PREP(PREP的报文格式与PREQ的相同,PREP的类型为0X02),并将PREP按其全路由段单播回传至源节点;
单播回传过程中,目的节点判断如果PREP中link_label标志位为1,说明含有单向链路,则需要检查下一跳节点是否是本节点邻居节点,若是邻居节点,单播至下一跳即可;若不是,则需要组装Tunnel包,其中类型定义为0X03(以便于区分包的类型),目的地址设为PREP所要送达的下一跳地址,源地址设为本节点地址,内嵌包是PREP,RouteHops设为1。
(6)中间节点处理PREP或者Tunnel包
6-1、中间节点收到PREP后,读取PREP的全路由段并在本地存储路由信息;
6-2、中间节点收到Tunnel包:
6-2-1、如果本节点是目的节点,则从中取出PREP,按照PREP处理;读取PREP的全路由段并在本地存储路由信息。
6-2-2如果本节点不是目的节点:
6-2-2-1如果本节点是目的节点的邻居节点,则将Tunnel包单播至目的节点;
6-2-2-2如果本节点不是目的节点的邻居节点,则丢弃。
中间节点将PREP的全路由段在本地存储路由信息时,做如下处理:
其中,link_label标志位不为1:则R1区节点记录其自身到主节点的路由段信息至本地“至主节点路由表”中;R2区节点记录其自身分别到从节点和主节点的正向路由信息和反向路由信息至本地“正向路由转发表”和“反向路由转发表”中;B区节点记录其自身到主节点的路由段信息至本地“至主节点路由表”中,记录其自身到从节点的正向路由信息至本地“正向路由转发表”中。
Link_label标志位为1时:B区节点记录自身到从节点的正向路由信息至本地“正向路由转发表”中;R2区节点判断与上、下一跳节点是否是邻居节点,如果是则记录相应的上下向的路由信息至本地路由转发表。
(7)源节点接收路由回复,并向目标节点发送数据
当源节点收到PREP后:
若源节点为主节点,则提取PREP的全路由段和目的地址,然后添加相应路由信息至本地“目的节点-B区节点映射表”和“源节点经由R1至B区节点路由表”中;
若源节点为从节点,则记录其自身到主节点的反向路由信息至本地“反向路由转发表”中;当源节点的定时器超时却没有收到相应的PREP,若此时还没达到最大PREQ重发次数,则源节点重新发起路由请求过程。
源节点收到多份PREP后,将所有PREP的全路由段存储于本地缓存,并以最优全路由段作为数据发送的默认路径;最优全路由段为目的节点最先收到的PREQ的全路由段。
如图4所示,若源节点为主节点,源节点根据默认路径构造PDATA(将最优全路由段中距主节点最近的ROUTE_IN_PKT_COUNT个地址复制到PDATA中的R1B区路由段中,将RouteHops设为ROUTE_IN_PKT_COUNT),源节点和R1区节点将PDATA按其R1B区路由段逐跳通过R1区发送至B区节点,B区节点和R2区节点按各自的正向路由信息将PDATA逐跳通过R2区发送至目的节点;
若源节点为从节点,源节点构造PDATA(将PDATA中的RouteHops设为0,R1B区路由段设为空),源节点和R2区节点按各自的反向路由信息将PDATA逐跳通过R2区发送至B区节点;B区节点查找本地“至主节点路由表”,根据其自身到主节点的路由段信息设定PDATA的RouteHops为ROUTE_IN_PKT_COUNT,再将至主节点路由表中的对应的ROUTE_IN_PKT_COUNT个地址填入PDATA的R1B区路由段中,B区节点和R1区节点将PDATA按其R1B区路由段逐跳通过R1区发送至目的节点;
PDATA包含类型、源地址、目的地址、ID号、R1B区路由段、Payload和RouteHops。其中PDATA的类型为0X04,Payload区为上层传来的有效数据信息,RouteHops为数据包R1B区路由段的长度信息。当路由段长度不为0时,R1B区路由段记录的是主节点到达相应B区节点的全段路由信息。
(8)多路径修复维护全路由段
当最优全路由段中两节点间的链路断开或某中间节点失效时,断路发现节点需要根据其所在区域以及数据流向使用路由信息修复全路由段;如果无法对全路由段进行修复,则需要向上游节点发送PERR。
PERR含类型、源地址、目的地址、ID号、断路发现节点地址、断路节点地址、R1B区路由段和RouteHops。其中PERR的类型为0X08,断路发现节点地址和断路节点地址可准确定位断路的链路。
如图5所示,当数据流向为主节点到从节点时:
当断路发生在R1区内时,由断路发现节点构造PERR并直接向源节点发送PERR;
当断路发生在R2区内时,断路发现节点首先尝试使用本地“正向路由转发表”寻找别的中间节点建立链接,若“正向路由转发表”已无可用路径,则构造PERR并按照本地“反向路由转发表”发送PERR至上游节点;上游节点收到PERR后重复上述本地修复操作,直至B区节点;当PERR到达B区节点,B区节点首先查找本地“正向路由转发表”寻找别的中间节点建立链接,若“正向路由转发表”已无可用路径,则按照本地“至主节点路由表”中的路由段信息,向源节点直接发送PERR。
当断路发生在B区内时的处理方式与断路发生在R2区内的处理方式相同。
当数据流向为从节点到主节点时:
当断路发生在R1区内时,由断路发现节点构造PERR并直接向B区节点发送PERR;若PERR到达B区节点,由B区节点查找本地“正向路由转发表”转发PERR至源节点;
当断路发生在R2区内时,断路发现节点首先查找本地“反向路由转发表”寻找别的中间节点建立链接,若“反向路由转发表”已无可用路径,则构造PERR并按照本地“正向路由转发表”发送PERR至上游节点;上游节点收到PERR后重复上述本地修复操作,直至源节点。
其中,当断路发现节点或者收到PERR的中间节点发现PERR下一跳节点不是邻居节点时,则组装包含PERR信息的Tunnel包,其中类型为0X07,目的地址设为PERR所要送达的下一跳地址,源地址设为本节点地址,内嵌包是PERR完整包,RouteHops设为1。当中间节点收到Tunnel包后,如果目的节点是本节点,则从中取出PERR包,按照PERR包处理;如果目的节点是本节点的邻居节点,则将Tunnel包单播至目的节点;若两者都不是,则丢弃。
源节点收到PERR后,删除本地缓存中的最优全路由段,并选择本地缓存中的其他全路由段作为数据发送的默认路径,执行步骤(7);若本地缓存中无其他全路由段,重复步骤(1)至(7)。
当断路发生在B区内时的处理方式与断路发生在R1区内的处理方式相同。
Claims (3)
1.一种面向主从结构网络单向链路环境的路由方法,其特征在于,包括:
(1)邻居节点的查询和记录
每个节点周期性的广播Neighbor报文并接收来自其他节点的Neighbor报文,每个节点寻找在一跳范围内可相互收发报文的邻居节点,并进行记录;
(2)路由查询和建立
源节点广播PREQ,中间节点收到PREQ后,检查上一跳节点是不是自己的邻居节点;如果不是邻居节点,将PREQ包中的链路状态标志设定为单向链路,然后继续广播;如果是邻居节点,保持链路状态标志不变且继续广播;直至目的节点收到PREQ,做路由优选;
所述目的节点对优选出的路由进行区域划分,将距离主节点小于区域跳数的中间节点划分为R1区;将距离主节点等于区域跳数的中间节点划分为B区;将距离主节点大于区域跳数的中间节点划分为R2区;
(3)路由建立的回复
目的节点得到优选出的路由后,对源节点发送PREP进行回复,回复时针对每一条优选出的路由,查询上一跳节点是不是自己的邻居节点;
如果是自己的邻居节点,将PREP直接送至上一跳处;如果不是自己的邻居节点,通过包含有PREP相关信息的Tunnel包将PREP间接送至上一跳处;
中间节点处理PREP或者Tunnel包,具体如下:
中间节点收到PREP后,读取PREP的全路由段并在本地存储路由信息;
中间节点收到Tunnel包后进行如下判断:
(a)如果本节点是目的节点,则从中取出PREP,按照PREP处理;读取PREP的全路由段并在本地存储路由信息;
(b)如果本节点不是目的节点,则进一步判断:
(b1)如果本节点是目的节点的邻居节点,则将Tunnel包单播至目的节点;
(b2)如果本节点不是目的节点的邻居节点,则丢弃;
中间节点处理PREP或者Tunnel的过程中所述的目的节点为广播PREQ的源节点;
(4)数据传送
源节点与中间节点建立路由后采用PDATA发送数据,具体如下:
源节点收到多份PREP后,将所有PREP的全路由段存储于本地缓存,并以最优全路由段作为数据发送的默认路径;
若源节点为主节点,源节点根据默认路径构造PDATA,源节点和R1区节点将PDATA按其R1B区路由段逐跳通过R1区发送至B区节点,B区节点和R2区节点按各自的正向路由信息将PDATA逐跳通过R2区发送至目的节点;
若源节点为从节点,源节点根据默认路径构造PDATA,源节点和R2区节点按各自的反向路由信息将PDATA逐跳通过R2区发送至B区节点;B区节点根据其自身到主节点的路由段信息设定PDATA的R1B区路由段,B区节点和R1区节点将PDATA按其R1B区路由段逐跳通过R1区发送至目的节点;
所述的R1B区路由段为经由R1区至B区的路由段;
所述的Tunnel包包括类型、ID号、目的地址、源地址、内嵌包和RouteHops,对应所需的字节数分别为1、1、4、4、N和1,其中N为内嵌包的大小;
所述的PREQ、PREP、PDATA分别为路由请求报文、路由回复报文和数据报文。
2.如权利要求1所述的面向主从结构网络单向链路环境的路由方法,其特征在于,当前传送PDATA的路由中两节点间的链路断开或某中间节点失效时,断路发现节点根据其所在区域以及数据流向使用路由信息修复全路由段;如果无法对全路由段进行修复,则需要向上游节点发送PERR;
所述的PERR为路由维护包。
3.如权利要求2所述的面向主从结构网络单向链路环境的路由方法,其特征在于,如果PERR的下一跳由于单向链路不可达,则组装包含PERR中相应的信息的维护Tunnel包,通过广播的方式送至下一跳节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210411532.5A CN102916876B (zh) | 2012-10-24 | 2012-10-24 | 一种面向主从结构网络单向链路环境的路由方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210411532.5A CN102916876B (zh) | 2012-10-24 | 2012-10-24 | 一种面向主从结构网络单向链路环境的路由方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102916876A CN102916876A (zh) | 2013-02-06 |
CN102916876B true CN102916876B (zh) | 2015-06-03 |
Family
ID=47615112
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210411532.5A Expired - Fee Related CN102916876B (zh) | 2012-10-24 | 2012-10-24 | 一种面向主从结构网络单向链路环境的路由方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102916876B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103457812A (zh) * | 2013-09-13 | 2013-12-18 | 长沙威胜信息技术有限公司 | 基于主从节点通信网络的静默自动组网方法 |
CN105704027A (zh) * | 2016-03-25 | 2016-06-22 | 青岛东软载波科技股份有限公司 | 一种基于路径优先选择策略的路由方法 |
CN108462537B (zh) * | 2018-01-09 | 2020-04-21 | 烽火通信科技股份有限公司 | 一种一主多从通信的实现方法 |
CN111510982B (zh) * | 2019-01-30 | 2022-03-11 | 大唐移动通信设备有限公司 | 一种传输数据的方法及装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101848461A (zh) * | 2010-05-04 | 2010-09-29 | 中国人民解放军信息工程大学 | 一种认知Mesh网络中安全路由及信道分配方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101047660A (zh) * | 2006-03-28 | 2007-10-03 | 朗迅科技公司 | 发送数据的方法 |
-
2012
- 2012-10-24 CN CN201210411532.5A patent/CN102916876B/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101848461A (zh) * | 2010-05-04 | 2010-09-29 | 中国人民解放军信息工程大学 | 一种认知Mesh网络中安全路由及信道分配方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102916876A (zh) | 2013-02-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102255807B (zh) | 一种基于主从结构多跳网络的多路径分段路由方法 | |
CN102148756B (zh) | 一种基于6LoWPAN邻居发现的树状路由方法 | |
CN101568164B (zh) | 一种Ad hoc网络机会路由的实现方法 | |
Yen et al. | Routing with adaptive path and limited flooding for mobile ad hoc networks | |
Jaikaeo et al. | Adaptive backbone-based multicast for ad hoc networks | |
CN103068002B (zh) | 一种高效的HR-WPAN Mesh网络路由方法 | |
CN102769885B (zh) | 一种在传感器网络中实现路由的方法和传感器网络 | |
CN110752997B (zh) | 一种数据包主动寻路的命名数据网络转发方法 | |
CN102984781B (zh) | 用于无线自组织网络路由的邻居节点判定方法 | |
CN103108374B (zh) | 一种混合结构矿井应急救援无线网状网的节能路由算法 | |
CN102916876B (zh) | 一种面向主从结构网络单向链路环境的路由方法 | |
CN106304229A (zh) | 一种基于内容存储的软件定义无线Mesh网络 | |
Preethi et al. | Energy efficient routing protocols for mobile adhoc networks | |
CN106850436A (zh) | 基于虚拟势能场的矿井混合无线mesh网络路由协议 | |
CN101651619B (zh) | 一种基于MAC层标签循环移位的ad hoc网络路由方法 | |
Azad et al. | A performance comparison of proactive and reactive routing protocols of mobile ad-hoc network (MANET) | |
Shah et al. | Energy efficient routing protocols for mobile ad hoc networks | |
CN104219156A (zh) | 一种适用于层次化空中自组织网络的组播路由方法 | |
Sun et al. | A multipath on-demand routing with path selection entropy for ad hoc networks | |
CN104320825A (zh) | 一种基于重复博弈的Ad hoc网络路由选择方法 | |
KR101762696B1 (ko) | 이동 애드혹 네트워크에서 목적지 개시 기반 플러딩을 이용한 경로 유지관리 프로토콜 | |
Bae et al. | Cross-layer QoS architecture with multipath routing in wireless multimedia sensor networks | |
Gao et al. | Micro sensor routing protocol in IPv6 wireless sensor network | |
Le Sommer et al. | LoRaOpp: A Protocol for Opportunistic Networking and Computing in LoRa Networks | |
Singla et al. | Node-disjoint multipath routing based on AOMDV protocol for MANETS |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20150603 Termination date: 20151024 |
|
EXPY | Termination of patent right or utility model |