CN114071638A - 内容标识与节点标识相结合的无人机自组网的按需路由机制 - Google Patents

内容标识与节点标识相结合的无人机自组网的按需路由机制 Download PDF

Info

Publication number
CN114071638A
CN114071638A CN202111350247.2A CN202111350247A CN114071638A CN 114071638 A CN114071638 A CN 114071638A CN 202111350247 A CN202111350247 A CN 202111350247A CN 114071638 A CN114071638 A CN 114071638A
Authority
CN
China
Prior art keywords
nid
hop
request
routing table
unmanned aerial
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.)
Granted
Application number
CN202111350247.2A
Other languages
English (en)
Other versions
CN114071638B (zh
Inventor
罗洪斌
张珊
李隽杰
林秋成
邱晓晗
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beihang University
Original Assignee
Beihang University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beihang University filed Critical Beihang University
Publication of CN114071638A publication Critical patent/CN114071638A/zh
Application granted granted Critical
Publication of CN114071638B publication Critical patent/CN114071638B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/02Communication route or path selection, e.g. power-based or shortest path routing
    • H04W40/22Communication route or path selection, e.g. power-based or shortest path routing using selective relaying for reaching a BTS [Base Transceiver Station] or an access point
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/02Communication route or path selection, e.g. power-based or shortest path routing
    • H04W40/023Limited or focused flooding to selected areas of a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/24Connectivity information management, e.g. connectivity discovery or connectivity update
    • H04W40/248Connectivity information update
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明公开了一种基于内容标识与节点标识相结合的无人机自组网的按需路由机制,该机制能够在网络节点转发请求报文和数据报文的同时进行路由探测,沿途节点建立并更新路由表;此后请求报文按照节点路由表进行转发,同时沿途更新到达请求节点的路由表。在转发过程中,根据请求内容标识,若在中继节点命中其缓存表项,实现请求内容的就近获取,减少请求内容获取延时。当发生网络拓扑变化节点路由失效时,本发明方法能够触发路由失效反馈,删除失效的路由表项,重新通过路由探测机制建立新的路由表项。本发明无需主动维护路由表,也无需使用额外的路由控制手段建立路由表,能够减少传输开销、降低首发数据报文到达延迟。

Description

内容标识与节点标识相结合的无人机自组网的按需路由机制
技术领域
本发明涉及无人机自组网络的路由方法,更特别地说,是指一种基于内容标识与节点标识相结合的无人机自组网络的按需路由机制。
背景技术
无人机集群以单个无人机能力为支撑、以信息通信网络为中心、以集群智能为核心、以无人机间协同交互为手段,基于开放式体系架构对大量无人机功能进行综合集成,实现无人机集群整体效能的大幅提升,具备抗毁性强、成本低、功能分布化、使用灵活等优点。因此,无人机集群被广泛认为是一种“Game-Changing”的颠覆性技术和现代战场的力量倍增器,近年来得到了全世界热切关注;世界各国竞相开展相关研究,力图抢占战略制高点。
无人机自组织网络中,节点在某些情况下需要将数据包(data)泛洪(flood)发送至网络中的某一节点或者全部节点,例如路由协议中的路由探测报文。然而,无限制的泛洪为网络带来了很大负担,并且容易造成包间碰撞(collision),互相干扰(interference)影响数据包(data)的交付成功率。传统的限制泛洪方式为:节点对于同一数据包(data)仅转发一次,但因无人机自组织网络中隐藏终端等问题,难以取得很好的效果。
由于无人机自组网的节点高移动性、拓扑动态变化、不断变化的链路质量等特性,无人机自组网面临着许多需求难以满足,诸如:快速跟踪网络拓扑变化、高效路由收敛、数据共享和协同任务执行等。近年来提出的信息中心网络有望成为无人机集群自组网中移动性、信息高效分发和安全性等问题的解决途径。但是信息中心网络只针对内容进行命名,缺乏对节点的命名,在无人机自组网中会面临路由可扩展性问题和节点的接入认证问题等。同时一般的信息中心网络单个请求报文只能请求一个数据报文,使得在内容请求过程中存在大量的请求报文,在无线环境中会大大降低网络的传输效率。
发明内容
本发明解决的技术问题是:在无人机自组织网络中,如何利用内容标识和节点标识通过请求报文和数据报文按需地建立请求者到生产者的路由,如何低开销地感知因节点移动造成的路由失效。路由机制的工作过程主要可分为三个阶段:
第一个阶段是路由探测阶段,此时身份为请求者的节点没有身份为生产者的节点的路由信息,无法按路由表转发请求报文。因此,请求者节点请求内容时,需要广播发送请求报文的同时进行路由探测,沿途节点建立到达请求节点的路由表项。生产者节点收到该请求报文后回传数据报文,在回传过程中,沿途节点建立到达生产者节点的路由表项。
第二个阶段,当请求者节点已经拥有到达生产者节点的路由信息时,请求报文按照路由表中对应生产者节点的路由表项进行转发,沿途节点更新到达请求节点的路由表项。在转发过程中,通过请求报文中携带的请求内容,可以在中继节点命中其缓存表项,中继节点直接返回请求内容数据,实现内容就近获取。请求内容数据回传过程根据路径上节点的待定请求表中所记录的请求表项,路径上节点进行传输的同时会将内容存储到其缓存表中。
第三阶段,因无人机自组织网络中节点的移动性导致网络拓扑发生改变,请求者节点到生产者节点处的路由失效。此时,触发路由失效反馈,删除失效的路由表项,重新通过路由探测建立新的路由表项。
本发明的一种内容标识与节点标识相结合的无人机自组网的按需路由机制,包括有下列步骤:
步骤一,请求者生成请求报文并发送请求报文;
步骤二,中继节点转发请求报文,并对命中的缓存片进行回传数据报文;
步骤三,生产者节点收到请求报文,根据条件判断回传数据报文;
步骤四,中继节点处理缓存片数据报文,根据条件回传;
步骤五,请求者节点处理接收到的数据报文缓存片;
在本发明中,从请求者至生产者之间的中继节点采用相同的步骤二和步骤四的处理。
本发明将内容标识与节点标识相结合的按需路由机制的优点在于:
①本发明基于内容标识与节点标识相结合的按需路由机制,无需主动维护路由表,在转发请求报文和数据报文过程中更新路由表项,无需使用路由控制报文建立路由表,能够减少传输开销、降低数据包延迟。
②本发明基于内容标识与节点标识相结合的按需路由机制,能够充分利用无线广播特性,当有多个请求者请求同一缓存内容或缓存片,可以通过中继节点的待定请求表将多个请求合并,并通过广播回传数据报文,提高传输效率,减少无线带宽资源的消耗。
③本发明基于内容标识与节点标识相结合的按需路由机制,路由表的表项建立与更新不依赖于额外的路由控制报文,通过请求报文与数据报文在网络节点间的传输来建立并更新路由表。
④本发明基于内容标识与节点标识相结合的按需路由机制,相较于传统基于TCP/IP的点对点的传输模式,不依赖于节点间建立连接。在应对无人机自组网这种节点移动性高、链路不稳定的场景时,本发明方法提出的路由机制能够更加灵活的建立节点间路由,发生路由失效时能及时发现并重新启动路由探测以创建新的路由表项。
⑤本发明基于内容标识与节点标识相结合的按需路由机制,相较于一般的信息中心网络基于内容的广播请求模式,能够利用节点路由信息。在无人机自组网的场景中不仅能够通过路由探测应对节点移动性高、链路不稳定,同时能够最大限度的利用相对稳定的无人机连接,有效减少无线环境中请求报文和数据报文的广播数量,提高传输效率。
附图说明
图1是本发明内容标识与节点标识相结合的无人机自组网的按需路由机制的流程图。
图2是本发明内容标识与节点标识相结合的无人机自组网的按需路由机制的场景示意图。
图3是经本发明内容标识与节点标识相结合的无人机自组网的按需路由机制处理后的请求成功率随拓扑规模变化趋势图。
图4是经本发明内容标识与节点标识相结合的无人机自组网的按需路由机制处理后的请求延时随拓扑规模变化趋势图。
图5是经本发明内容标识与节点标识相结合的无人机自组网的按需路由机制处理后的移动性请求成功率图。
图6是经本发明内容标识与节点标识相结合的无人机自组网的按需路由机制处理后的移动性请求延时图。
具体实施方式
下面将结合附图对本发明做进一步的详细说明。
在本发明中,参见图2所示的无人机集群中的无人机标记为NID。第一架无人机记为NID1。第二架无人机记为NID2。第a架无人机记为NIDa。第a-1架无人机记为NIDa-1。第b架无人机记为NIDb。第c架无人机记为NIDc。最后一架无人机记为NIDA。下角标A为无人机集群中的无人机总个数。为了方便说明,所述NIDb也称为任意一架无人机,下角标b为无人机的标识号。无人机集群采用集合形式表示为MNID={NID1,NID2,…,NIDa,NIDa-1,…,NIDb,…,NIDc,…,NIDA}。
在一个请求报文的发送周期里,请求报文的当前发送时刻记为TA,位于所述当前发送时刻TA之后的时间记为请求报文的下一发送时刻TA+1。为了方便说明,TA为请求报文的第一个发送时刻,以后顺次加1,即TA+1为请求报文的第二个发送时刻,TA+2为请求报文的第三个发送时刻,TA+3为请求报文的第四个发送时刻,TA+4为请求报文的第五个发送时刻。
在一个数据报文的发送周期里,数据报文的当前发送时刻记为TB,位于所述当前发送时刻TB之后的时间记为数据报文的下一发送时刻TB+1。为了方便说明,TB为数据报文的第一个发送时刻,以后顺次加1,即TB+1为数据报文的第二个发送时刻,TB+2为数据报文的第三个发送时刻,TB+3为数据报文的第四个发送时刻,TB+4为数据报文的第五个发送时刻,TB+5为数据报文的第六个发送时刻,TB+6为数据报文的第七个发送时刻。
在一个待定请求表项的修改周期里,请求表项的当前修改时刻记为TD,位于所述当前修改时刻TD之后的时间记为请求表项的下一修改时刻TD+1。为了方便说明,TD为数据报文的第一个修改时刻,以后顺次加1,即TD+1为请求表项的第二个修改时刻,TD+2为请求表项的第三个修改时刻,TD+3为请求表项的第四个修改时刻,TD+4为请求表项的第五个修改时刻。
请求报文
在本发明中,将请求者所需获取的内容标识和自身节点身份标识封装成数据包,该数据包称为请求报文。请求报文记为GET_NIDb,TA。请求报文GET_NIDb,TA为一个六元组信息,即请求报文
Figure BDA0003355605950000051
GET_NIDb,TA表示在请求报文发送时刻TA无人机NIDb发出的请求报文。
TA表示请求报文的当前发送时刻。
NIDb表示第b架无人机。
NIDa表示第a架无人机。
Figure BDA0003355605950000052
表示无人机NIDa产生的第i个请求内容。所述
Figure BDA0003355605950000053
一个请求内容
Figure BDA0003355605950000054
中有多个缓存片{OF1,OF2,…,OFf,…,OFF},OF1表示第一个缓存片,OF2表示第二个缓存片,OFf表示第f个缓存片,OFF表示最后一个缓存片。下角标f为请求内容中的缓存片的标识号,下角标F为请求内容中的缓存片总片数。为了方便说明,OFf也称为任意一个缓存片。在本发明中,除身份为请求者无人机NID1以外的请求者无人机,可以请求除第i个请求内容以外的请求内容。
Hash_SIDi表示第i个请求内容的哈希值。
Nonce表示每次生成请求报文GET时随之生成的一个32位随机数。
Next_hopTA表示请求报文在当前发送时刻TA时的下一跳节点标识。
Last_hopTA表示请求报文在当前发送时刻TA时的上一跳节点标识。
OffsetTA表示请求报文在当前发送时刻TA时的缓存片的片偏移。详细地说,是指被请求的缓存片对应字段中的一个比特,已拥有第几个缓存片就把该字段位设1。
在本发明中,请求内容标识SID包括有
Figure BDA0003355605950000055
和Hash_SIDi
表1,请求报文格式
Figure BDA0003355605950000056
在本发明中,请求报文格式是一个7列多行的表格结构。
数据报文
在本发明中,将被请求的内容数据,被请求的内容标识,请求者节点以及自身节点身份标识封装成数据包,该数据包称为数据报文。数据报文记为DATA_NIDc,TB。数据报文DATA_NIDc,TB为一个五元组信息,即数据报文
Figure BDA0003355605950000061
DATA_NIDc,TB表示在数据报文发送时刻TB无人机NIDc发出的数据报文。
TB表示数据报文的当前发送时刻。
NIDc表示第c架无人机。
OFf表示缓存片。
Offset(OFf)表示携带缓存片OFf的片偏移标志。
表2,数据报文格式
Figure BDA0003355605950000062
在本发明中,数据报文格式是一个5列多行的表格结构。
待定请求表的内容
在本发明中,任意一架无人机NIDb的待定请求表记为
Figure BDA0003355605950000063
Figure BDA0003355605950000064
Figure BDA0003355605950000065
表示无人机NIDb的待定请求表中的第一条表项,简称为第一条请求表项。
Figure BDA0003355605950000066
表示无人机NIDb的待定请求表中的第二条表项,简称为第二条请求表项。
Figure BDA0003355605950000067
表示无人机NIDb的待定请求表中的第g条表项,简称为第g条请求表项。为了方便说明,下角标g表示请求表项的标识号,所述
Figure BDA0003355605950000068
也称为任意一条请求表项。
Figure BDA0003355605950000069
表示无人机NIDb的待定请求表中的最后一条表项,简称为最后一条请求表项。下角标G表示待定请求表中的请求表项的总条数。
在本发明中,请求表项
Figure BDA00033556059500000610
携带的元素包括有无人机NIDa产生的第i个请求内容
Figure BDA00033556059500000611
请求报文中的上一跳节点NIDc、时刻TD携带的缓存片的片偏移标志F_offsetTD、创建
Figure BDA00033556059500000612
的时间
Figure BDA00033556059500000613
Figure BDA00033556059500000614
下角标TD表示接收到请求内容缓存片后修改请求表项的时间,简称为请求表项修改时刻TD。
F_offsetTD表示在请求表项修改时刻TD的所请求内容的缓存片片偏移标志,简称为时刻TD携带的缓存片的片偏移标志;
Figure BDA00033556059500000615
表示
Figure BDA00033556059500000616
的创建时间。
待定请求表是用于记录节点接收到的请求报文中上一跳请求节点NID以及所请求的内容SID。其表项以SID作为键值,每个SID可对应多个表项,每个表项代表一个请求包。待定请求表可以将请求相同SID的请求报文进行聚合,并作为数据报文回传至请求者节点的路径上“标记”。
表1待定请求表表项关键字与含义
Figure BDA0003355605950000071
路由表的内容
在本发明中,任意一架无人机NIDb的路由表记为
Figure BDA0003355605950000072
Figure BDA0003355605950000073
Figure BDA0003355605950000074
表示无人机NIDb的路由表中的第一条表项,简称为第一条路由表项。
Figure BDA0003355605950000075
表示无人机NIDb的路由表中的第二条表项,简称为第二条路由表项。
Figure BDA0003355605950000076
表示无人机NIDb的路由表中的第h条表项,简称为第h条路由表项。为了方便说明,下角标h表示路由表项标识号,所述
Figure BDA0003355605950000077
也称为任意一条路由表项。
Figure BDA0003355605950000078
表示无人机NIDb的路由表中的最后一条表项,简称为最后一条路由表项。下角标H表示路由表中的路由表项总条数。
在本发明中,路由表项
Figure BDA0003355605950000079
携带的元素包括有路由表项的远端KEY和路由表项的近端NEXT,即表示为
Figure BDA00033556059500000710
KEY表示路由表项的远端。
NEXT表示路由表项的近端。
在本发明中,路由表是用于记录当前节点到网络中其它节点的路由信息,以目标节点NID作为键值,每个NID对应一条路由表项。其中路由表项包含的关键字及其含义如表2所示。
表2路由表表项关键字及含义
关键字 含义
Next hop(128bits) 下一跳节点的NID标识
Life time(32bits) 路由表条目的超时时间
MAC address(48bits) 下一跳MAC地址
在无人机自组网中,每个无人机节点都包含有路由表
Figure BDA0003355605950000081
待定请求表
Figure BDA0003355605950000082
和节点缓存信息。无人机的路由表中可能含有一条或者多条路由表项,每条路由表项含有一个远端和一个近端,其中近端是在当前节点的近邻节点,远端可以是无人机自组网中除当前节点外的任意节点。当前节点可以通过将数据包直接发送给近端再经过一个或多个中继节点转发到达远端。因此路由表中的路由表项记录着当前无人机节点到达路由远端的下一跳节点信息。
缓存表
在本发明中,缓存表记为
Figure BDA0003355605950000083
缓存表以缓存片作为最小存储单元,以数据块(block)作为缓存表表项。以内容标识SID作为键值,每个SID对应一个数据块,每个数据快包含同一内容的一个或多个分片。如果一个数据块中存储了一个内容的所有分片,那么称为一个完整的数据块;如果只存储了一个内容的部分分片,则称为非完整的数据块。
表3缓存表表项关键字及含义
关键字 含义
Size(32bits) 数据块的当前大小
SID(288bits) 数据块内容的服务标识
Flag(32bits) 分片标识,每存储一个分片就将对应标识位设为1
Is integrity(1bit) 数据块是否完整
在本发明中,无人机自组网是基于CoLoR网络体系架构的。所述CoLoR网络体系架构是一种新型网络架构,基于路径标识进行自治域间的路由转发(“CoLoR架构”出处请参考“IEEE Network”2014年第3期第28卷《CoLoR:an information-centric internetarchitecture for innovations》罗洪斌,陈哲等人)。在“CoLoR网络体系架构”中,在设计时考虑网络异构融合,提供了兼容性和扩展性支持;节点通信以内容为中心,移动性的支持能力强;采用自证明的节点标识NID,支持节点的快速、安全接入,适用于移动自组织网络。
参见图1、图2所示,本发明的一种内容标识与节点标识相结合的无人机自组网按需路由机制,其中路由探测与转发过程包括有下列步骤:
步骤一,请求者生成请求报文并发送请求报文;
步骤101,请求者身份的确定;
第一架无人机NID1身份为请求者;
第一架无人机NID1的请求内容为
Figure BDA0003355605950000091
执行步骤102和步骤103;
步骤102,自查路由表;
记录,无人机NID1的路由表
Figure BDA0003355605950000092
中路由表项,即
Figure BDA0003355605950000093
执行步骤104;
下角标h表示第h条路由表项。
所述
Figure BDA0003355605950000094
步骤103,自查待定请求表;
记录,无人机NID1的待定请求表
Figure BDA0003355605950000095
中请求表项,即
Figure BDA0003355605950000096
执行步骤104;
下角标g表示第g条请求表项。
所述
Figure BDA0003355605950000097
步骤104,请求报文;
无人机NID1依据请求内容
Figure BDA0003355605950000098
生成TA时刻的请求报文GET_NID1,TA,且
Figure BDA0003355605950000099
其中执行步骤105;
步骤105,检查请求者节点路由表;
无人机NID1以所述GET_NID1,TA中的
Figure BDA00033556059500000910
里包含的NIDa作为键值,检查无人机NID1的路由表
Figure BDA00033556059500000911
中是否有远端为NIDa的路由表项;
若路由表中不存在远端为NIDa的路由表项,执行步骤106;
若路由表中存在远端为NIDa的路由表项
Figure BDA00033556059500000912
该路由表项的KEY携带内容为NIDa,执行步骤107;
NIDa表示第a架无人机。
步骤106,请求报文探测转发;
设置GET_NID1,TA中Next_hopTA字段值为全零,Last_hopTA为NID1;无人机NID1发送
Figure BDA0003355605950000101
执行步骤108;
步骤107,请求报文按路由转发;
设置GET_NID1,TA中Next_hopTA字段值为近端NEXT,Last_hopTA为NID1;无人机NID1发送
Figure BDA0003355605950000102
执行步骤108;
步骤108,添加待定请求表项;
在无人机NID1的待定请求表
Figure BDA0003355605950000103
中增加请求表项,即
Figure BDA0003355605950000104
执行步骤201;
Figure BDA0003355605950000105
表示第g+1条请求表项。
Figure BDA0003355605950000106
携带的元素为
Figure BDA0003355605950000107
F_offsetTD为OffsetTA
Figure BDA0003355605950000108
表示
Figure BDA0003355605950000109
的创建时间。
步骤二,中继节点转发请求报文,并对命中的缓存片进行回传数据报文;
步骤201,中继节点的身份确定;
第三架无人机NID3身份为中继节点;
步骤202,中继节点接收请求报文并更新路由表;
第三架无人机NID3接收到TA时刻的请求报文
Figure BDA00033556059500001010
检查无人机NID3的路由表
Figure BDA00033556059500001011
中是否有远端为NID1的路由表项;
若存在远端为NID1的路由表项
Figure BDA00033556059500001012
则检查其中的NEXT是否携带内容为NID1
若NEXT不是NID1则修改NEXT携带内容为NID1;执行步骤203;
若NEXT是NID1则保持不变,仍为NID1;执行步骤203;
若不存在远端为NID1的路由表项,则添加路由表项
Figure BDA00033556059500001013
其中KEY携带的内容是NID1,NEXT携带的内容是NID1;执行步骤203;
步骤203,检查请求报文下一跳节点标识;
第三架无人机NID3检查TA时刻的请求报文
Figure BDA00033556059500001014
中的下一跳节点标识Next_hopTA是否等于0或者NID3
若请求报文GET_NID1,TA中下一跳节点标识Next_hopTA不等于0也不等于NID3,执行步骤201;
若请求报文GET_NID1,TA中下一跳节点标识Next_hopTA等于0或者等于NID3,执行步骤204;
步骤204,中继节点检查待定请求表;
检查无人机NID3的待定请求表
Figure BDA0003355605950000111
中是否存在TA时刻的请求报文
Figure BDA0003355605950000112
中的请求内容
Figure BDA0003355605950000113
对应的请求表项
Figure BDA0003355605950000114
若不存在,执行步骤205;
若存在,则检查请求表项
Figure BDA0003355605950000115
的上一跳节点NIDc是否等于请求报文
Figure BDA0003355605950000116
中的Last_hopTA
若NIDc不等于Last_hopTA,执行步骤205;
若NIDc等于Last_hopTA则执行步骤301;
步骤205,中继节点检查缓存内容;
检查无人机NID3缓存中是否存在缓存内容
Figure BDA0003355605950000117
的缓存片,
若不存在
Figure BDA0003355605950000118
则执行步骤206;
若存在
Figure BDA0003355605950000119
检查缓存中分片标识与请求报文
Figure BDA00033556059500001110
中缓存片的片偏移OffsetTA有重叠;
若无重叠,执行步骤206;
若有部分重叠,执行步骤206;
若有全部重叠,执行步骤211;
在本发明中,部分重叠是指中继节点的缓存中存在缓存内容,同时请求报文中的缓存片偏移OffsetTA与该缓存内容的缓存片有部分相同。
在本发明中,全部重叠是指中继节点的缓存中存在缓存内容,同时请求报文中的缓存片偏移OffsetTA所指的全部缓存片均存在于该缓存内容的缓存片中。
步骤206,中继节点修改请求报文;
无人机NID3修改TA时刻的请求报文GET_NID1,TA为TA+1时刻的请求报文
Figure BDA0003355605950000121
执行步骤207;
Next_hopTA+1表示请求报文在当前发送时刻TA+1时的下一跳节点标识;
Last_hopTA+1表示请求报文在当前发送时刻TA+1时的上一跳节点标识;
OffsetTA+1表示请求报文在当前发送时刻TA+1时的缓存片的片偏移;
步骤207,中继节点的路由表的远端检测;
无人机NID3以所述GET_NID3,TA+1中的
Figure BDA0003355605950000122
里包含的NIDa作为键值,检查无人机NID3的路由表
Figure BDA0003355605950000123
中是否有远端为NIDa的路由表项;
若路由表中不存在远端为NIDa的路由表项,执行步骤208;
若路由表中存在远端为NIDa的路由表项
Figure BDA0003355605950000124
该路由表项的KEY携带内容为NIDa,执行步骤209;
步骤208,中继节点的请求报文探测转发;
设置TA+1时刻的请求报文GET_NID3,TA+1中Next_hopTA+1字段值为全零,Last_hopTA+1为NID3
检查请求报文GET_NID1,TA中下一跳节点标识Next_hopTA等于0或者等于NID3
若Next_hopTA等于0,设置延迟计时器,当延迟计时器超时,无人机NID3发送
Figure BDA0003355605950000125
执行步骤210;
若Next_hopTA等于NID3,无人机NID3发送
Figure BDA0003355605950000126
执行步骤210;
步骤209,中继节点的请求报文按路由转发;
设置TA+1时刻的请求报文GET_NID3,TA+1中Next_hopTA+1字段值为路由表项
Figure BDA0003355605950000127
中的近端NEXT,Last_hopTA+1为NID3;无人机NID3发送
Figure BDA0003355605950000128
执行步骤210;
步骤210,中继节点添加待定请求表项;
在无人机NID3的待定请求表
Figure BDA0003355605950000129
中增加请求表项,即
Figure BDA00033556059500001210
执行步骤301;
Figure BDA00033556059500001211
表示第g+1条请求表项。
Figure BDA00033556059500001212
携带的有请求内容和请求报文中的上一跳节点,即
Figure BDA0003355605950000131
F_offsetTD为OffsetTA+1
Figure BDA0003355605950000132
表示
Figure BDA0003355605950000133
的创建时间。
步骤211,中继节点回传命中缓存片数据报文;
无人机NID3检查路由表
Figure BDA0003355605950000134
中远端为NID1的路由表项为
Figure BDA0003355605950000135
发送重叠分片标识指定的数据报文
Figure BDA0003355605950000136
其中Next_hopTB为NID1,Last_hopTB为NID3,执行步骤212;
步骤212,请求者身份节点接收中继节点回传的命中缓存片数据报文;
无人机NID1接收
Figure BDA0003355605950000137
其中Next_hopTB为NID1,Last_hopTB为NID3
Next_hopTB表示数据报文在当前发送时刻TB时的下一跳节点标识;
Last_hopTB表示数据报文在当前发送时刻TB时的上一跳节点标识;
Offset(OF1)表示携带的缓存片OF1的片偏移标志;
检查无人机NID1的路由表
Figure BDA0003355605950000138
中是否有远端为NID3的路由表项;
若存在远端为NID3的路由表项
Figure BDA0003355605950000139
则检查其中的NEXT是否携带内容为NID3
若NEXT不是NID3则修改NEXT携带内容为NID3;则结束内容请求处理。
若NEXT是NID3则保持不变,仍为NID3;则结束内容请求处理。
若不存在远端为NID3的路由表项,则添加路由表项
Figure BDA00033556059500001310
其中KEY携带内容为NID3,NEXT携带内容为NID3;则结束内容请求处理。
在本发明中,对于身份为中继节点的其他无人机,采用步骤二的处理方法。
为了方便说明,第一个中继节点的身份是无人机NID3,经NID3后的第二个中继节点的身份是无人机NID6,经NID6后的第三个中继节点的身份是无人机NID9
第六架无人机NID6采用步骤二的步骤209的处理后,发送
Figure BDA00033556059500001311
第六架无人机NID6的待定请求表
Figure BDA00033556059500001312
中增加请求表项,即
Figure BDA0003355605950000141
Figure BDA0003355605950000142
表示第g+1条请求表项。
Figure BDA0003355605950000143
携带的有请求内容和请求报文中的上一跳节点,即
Figure BDA0003355605950000144
第九架无人机NID9采用步骤二的步骤209的处理后,发送
Figure BDA0003355605950000145
第九架无人机NID9的待定请求表
Figure BDA0003355605950000146
中增加请求表项,即
Figure BDA0003355605950000147
Figure BDA0003355605950000148
表示第g+1条请求表项。
Figure BDA0003355605950000149
携带的有请求内容和请求报文中的上一跳节点,即
Figure BDA00033556059500001410
步骤三,生产者节点收到请求报文,根据条件判断回传数据报文;
步骤301,生产者身份的确定;
第a架无人机NIDa身份为生产者;
步骤302,生产者接收请求报文并更新远端为请求者的路由表项;
第a架无人机NIDa接收到请求报文
Figure BDA00033556059500001411
检查无人机NIDa的路由表
Figure BDA00033556059500001412
中是否有远端为NID1的路由表项;
OffsetTA+3表示请求报文在发送时刻TA+3时的缓存片的片偏移;
若存在远端为NID1的路由表项
Figure BDA00033556059500001413
则检查其中的NEXT是否携带内容为NID9
若NEXT不是NID9则修改NEXT携带内容为NID9;执行步骤303;
若NEXT是NID9则保持不变,仍为NID9;执行步骤303;
若不存在远端为NID1的路由表项,则添加路由表项
Figure BDA00033556059500001414
其中KEY携带内容为NID1,NEXT携带内容为NID9;执行步骤303;
步骤303,生产者更新远端为上一跳节点的路由表项;
检查无人机NIDa的路由表
Figure BDA00033556059500001415
中是否有远端为NID9的路由表项;
若存在远端为NID9的路由表项
Figure BDA00033556059500001416
则检查其中的NEXT是否携带内容为NID9
若NEXT不是NID9则修改NEXT为NID9;执行步骤304;
若NEXT是NID9则保持不变,仍为NID9;执行步骤304;
若不存在远端为NID9的路由表项,则添加路由表项
Figure BDA0003355605950000151
其中KEY携带内容为NID9,NEXT携带内容为NID9;执行步骤304;
步骤304,生产者身份节点回传请求报文中缓存片片偏移指定的缓存片数据报文;
无人机NIDa检查路由表
Figure BDA0003355605950000152
中远端为NID1的路由表项为
Figure BDA0003355605950000153
其中,KEY为NID1,NEXT为NID9,发送重叠分片标识指定时刻TB+3的数据报文
Figure BDA0003355605950000154
其中Next_hopTB+3为NID9,Last_hopTB+3为NIDa,执行步骤401;
步骤四,中继节点处理缓存片数据报文,根据条件回传;
步骤401,中继节点接收数据报文并更新路由表;
第九架无人机NID9接收时刻TB+3的数据报文
Figure BDA0003355605950000155
其中Next_hopTB+3为NID9,Last_hopTB+3为NIDa
Next_hopTB+3表示数据报文在发送时刻TB+3时的下一跳节点标识;
Last_hopTB+3表示数据报文在发送时刻TB+3时的上一跳节点标识;
Offset(OF4)表示携带的缓存片OF4的片偏移标志;
检查无人机NID9的路由表
Figure BDA0003355605950000156
中是否有远端为NIDa的路由表项;
若存在远端为NIDa的路由表项
Figure BDA0003355605950000157
则检查其中的NEXT是否携带内容为NIDa
若NEXT不是NIDa则修改NEXT携带内容为NIDa,执行步骤402;
若NEXT是NIDa则保持不变,仍为NIDa;执行步骤402;
若不存在远端为NIDa的路由表项,则添加路由表项
Figure BDA0003355605950000158
其中KEY携带内容为NIDa,NEXT携带内容为NIDa;执行步骤402;
步骤402,中继节点将数据报文携带的缓存片存储到缓存表中;
无人机NID9
Figure BDA0003355605950000159
中的缓存片OF4存储到缓存表
Figure BDA00033556059500001510
中;
步骤403,中继节点检查待定请求表;
无人机NID9检查待定请求表
Figure BDA0003355605950000161
中键值为
Figure BDA0003355605950000162
的请求表项为
Figure BDA0003355605950000163
若无人机NID9
Figure BDA0003355605950000164
中的Offset(OF4)与请求表项
Figure BDA0003355605950000165
中的F_offsetTD+2重合,则执行步骤404;
若无人机NID9
Figure BDA0003355605950000166
中的Offset(OF4)与请求表项
Figure BDA0003355605950000167
中的F_offsetTD+2不重合,则丢弃DATA_NIDa,TB+3
步骤404,中继节点修改并发送缓存片数据报文;
无人机NID9修改时刻TB+3的数据报文
Figure BDA0003355605950000168
中的Next_hopTB+3为请求表项
Figure BDA0003355605950000169
中的NID6,修改Last_hopTB+3为NID9;则有时刻TB+4的数据报文为
Figure BDA00033556059500001610
Next_hopTB+4表示数据报文在发送时刻TB+4时的下一跳节点标识;
Last_hopTB+4表示数据报文在发送时刻TB+4时的上一跳节点标识;
Offset(OF4)表示携带的缓存片OF4的片偏移标志;
无人机NID9发送时刻TB+4的数据报文
Figure BDA00033556059500001611
其中Next_hopTB+4为NID6,Last_hopTB+4为NID9;执行步骤405;
步骤405,中继节点修改待定请求表;
无人机NID9修改
Figure BDA00033556059500001612
中的F_offsetTD+2为F_offsetTD+3,所述F_offsetTD+3为F_offsetTD+2-Offset(OF4);
即,将Offset(OF4)对应的缓存片标志位在F_offsetTD+2中从1置为0;
若F_offsetTD+3不等于0,则执行步骤501;
若F_offsetTD+3等于0,则将
Figure BDA0003355605950000171
从无人机NID9的待定请求表
Figure BDA0003355605950000172
中删除,执行步骤501;
在本发明中,对于身份为中继节点的第六架无人机NID6和第三架无人机NID3,采用与步骤四相同的处理方法。
第六架无人机NID6采用步骤四的步骤404的处理后,发送
Figure BDA0003355605950000173
第六架无人机NID6采用步骤四的步骤405的处理后,修改待定请求表
Figure BDA0003355605950000174
中的请求表项
Figure BDA0003355605950000175
将其中的F_offsetTD+2修改为F_offsetTD+3,所述F_offsetTD+3为F_offsetTD+2-Offset(OF4);即,将Offset(OF4)对应的缓存片标志位在F_offsetTD+2中从1置为0;
第三架无人机NID3采用步骤四的步骤404的处理后,发送
Figure BDA0003355605950000176
第三架无人机NID3采用步骤四的步骤405的处理后,修改待定请求表
Figure BDA0003355605950000177
中的请求表项
Figure BDA0003355605950000178
将其中的F_offsetTD+2修改为F_offsetTD+3,所述F_offsetTD+3为F_offsetTD+2-Offset(OF4);即,将Offset(OF4)对应的缓存片标志位在F_offsetTD+2中从1置为0;
步骤五,请求者节点处理接收到的数据报文缓存片;
步骤501,请求者节点接收数据报文并更新远端为生产者的路由表项;
第一架无人机NID1接收到时刻TB+6的数据报文
Figure BDA0003355605950000179
其中Next_hopTB+6为NID1,Last_hopTB+6为NID3
Next_hopTB+6表示数据报文在发送时刻TB+6时的下一跳节点标识;
Last_hopTB+6表示数据报文在发送时刻TB+6时的上一跳节点标识;
检查无人机NID1的路由表
Figure BDA00033556059500001710
中是否有远端为NIDa的路由表项;
若存在远端为NIDa的路由表项
Figure BDA00033556059500001711
则检查其中的NEXT是否携带内容为NID3
若NEXT不是NID3则修改NEXT携带内容为NID3,执行步骤502;
若NEXT是NID3则保持不变,仍为NID3;执行步骤502;
若不存在远端为NIDa的路由表项,则添加路由表项
Figure BDA0003355605950000181
其中KEY携带内容为NIDa,NEXT携带内容为NID3;执行步骤502;
步骤502,请求者更新远端为上一跳节点的路由表项;
检查无人机NID1的路由表
Figure BDA0003355605950000182
中是否有远端为NID3的路由表项;
若存在远端为NID3的路由表项
Figure BDA0003355605950000183
则检查其中的NEXT是否携带内容为NID3
若NEXT不是NID3则修改NEXT为NID3;执行步骤503;
若NEXT是NID3则保持不变,仍为NID3;执行步骤503;
若不存在远端为NID3的路由表项,则添加路由表项
Figure BDA0003355605950000184
其中KEY携带内容为NID3,NEXT携带内容为NID3;执行步骤503;
步骤503,请求者节点将数据报文携带的缓存片存储到缓存表中;
无人机NID1将时刻TB+6的数据报文
Figure BDA0003355605950000185
中的OF4存储到缓存表
Figure BDA0003355605950000186
中;
步骤504,请求者节点检查待定请求表;
无人机NID1检查待定请求表
Figure BDA0003355605950000187
中键值为
Figure BDA0003355605950000188
的请求表项为
Figure BDA0003355605950000189
无人机NID1修改请求表项
Figure BDA00033556059500001810
中的F_offsetTD+3为F_offsetTD+4,所述F_offsetTD+4为F_offsetTD+3-Offset(OF4);
即,将Offset(OF4)对应的缓存片标志位在F_offsetTD+3中从1置为0;
若F_offsetTD+4不等于0,则等待请求表项超时,并进行路由失效判断,执行步骤601;
若F_offsetTD+4等于0,则说明请求内容的缓存片被完整接收,将
Figure BDA00033556059500001811
从无人机NID1的待定请求表
Figure BDA00033556059500001812
中删除,则结束内容请求处理。
步骤六,路由失效的处理;
步骤601,请求者节点查询路由表项;
检查无人机NID1的路由表
Figure BDA00033556059500001813
中是否有远端为NIDa的路由表项;
若存在远端为NIDa的路由表项
Figure BDA0003355605950000191
则将
Figure BDA0003355605950000192
从路由表
Figure BDA0003355605950000193
中删除;执行步骤602;
步骤602,请求者节点生成新的请求报文;
无人机NID1依据请求内容
Figure BDA0003355605950000194
Figure BDA0003355605950000195
中的F_offsetTD+4生成时刻TA+4的请求报文GET_NID1,TA+4,且
Figure BDA0003355605950000196
其中Next_hopTA+4等于0,Last_hopTA+4为NID1,OffsetTA+4为F_offsetTD+4,执行步骤603;
Next_hopTA+4表示请求报文在发送时刻TA+4时的下一跳节点标识;
Last_hopTA+4表示请求报文在发送时刻TA+4时的上一跳节点标识;
OffsetTA+4表示请求报文在发送时刻TA+4时的缓存片的片偏移;
F_offsetTD+4表示时刻TD+4携带的缓存片的片偏移标志;
步骤603,请求者节点删除请求表项,进行条件判断;
Figure BDA0003355605950000197
从无人机NID1的待定请求表
Figure BDA0003355605950000198
中删除,执行步骤106。
在本发明中,如图2所示的场景下,经步骤一至步骤六的处理后,请求成功率与请求延时的随拓扑规模变化趋势如图3、图4所示。图中,在无人机的密度不变,保持为1架/公顷,所有无人机节点在场地中以15m/s的速度随机移动。选择NID1、NIDa作为请求者节点与生产者节点,请求者NID1以0.02s的间隔向生产者NIDa请求缓存内容或缓存片。通过改变无人机的数量控制网络的规模大小,观察请求者节点NID1处的平均请求成功率、请求延时的变化。
在图3、图4中“CoLoR”指的是本发明方法。“AODV”是指2003年互联网工程任务组发布的RFC3561文档中所所述的AODV(Ad hoc On-Demand Distance Vector Routing)移动自组网按需距离矢量路由。“LFBL”是指2010年的国际网络与信息科学技术联盟年会论文集中介绍的LFBL方法,所述LFBL(Listen first broadcast later)方法为先侦听后广播方式。其中,CoLoR和LFBL的请求成功率与请求延时结果皆优于AODV。在节点个数超过36个的无人机自组织网络中,CoLoR请求成功率明显高于其他两者,并且随拓扑规模越大,CoLoR在请求成功率上的优势越明显。AODV由于需要先路由探测再转发,请求延时最高,最大超过1s;LFBL由于采用全广播,报文在链路层无需等待重传确认,排队时间较短,因此平均请求延时最低;CoLoR的请求延时介于两者之间,并且在144个节点的网络中小于100ms。CoLoR能在保持较高请求成功率的同时,保持较低的请求延时。
在本发明中,如图2所示的场景下,经步骤一至步骤六的处理后,移动性请求成功率与请求延时如图5、图6所示。在图5和图6中展示了在不同无人机自组网中移动性对请求成功率和请求延时的影响。总体而言,在请求者NID1与生产者NIDa对数相同的情况下,CoLoR的请求成功率高于AODV与LFBL,请求延时低于AODV协议。在拓扑动态性相同的条件下(移动节点占比相同),请求者与生产者节点对数越多,网络冲突与拥塞问题越严重。因此,三者实验结果有类似趋势,节点对数越少请求成功率越高,请求延时越低。
对于请求者生产者节点对数为8的情况,网络冲突与拥塞为影响网络性能的主要因素,三种路由机制的传输成功率都较低。其中,AODV和CoLoR的请求成功率相近,都保持较低且平稳,维持在20%以上的水平。AODV的请求延时明显高于本方法CoLoR,最大时接近10s。LFBL由于使用多路径传输,容易造成冲突,请求成功率更低仅保持约11%。
对于请求者生产者节点对数为4的情况,冲突与拥塞的影响减弱。对于本方法和AODV而言,制约网络性能的主要因素是节点移动造成的路由失效,因此两种协议的请求成功率随拓扑动态性增强而明显降低,请求延时先增加后趋于平稳。其中本发明方法CoLoR延时最高时也小于1s,而AODV则普遍大于1s。对LFBL而言,虽然请求延时较低能维持在10ms左右,但不同请求同时多路径转发造成了大量冲突,使得其请求成功率远低于本发明方法CoLoR和AODV,仅约20%。
对于请求者生产者节点对数为2的情况,冲突和网络拥塞的影响进一步降低。本发明方法CoLoR和AODV都保持了较高的请求成功率,但AODV在拓扑移动性较强的情况(移动节点占比超过0.5)请求延时大于1s;LFBL采用多路径传输,由转发者(无人机自组织网络中身份为中继节点)做决策,不存在路由失效问题,保持了较好的移动性适应性,性能参数保持稳定,但请求成功率仅约为50%,全面低于本发明方法CoLoR和AODV。本发明方法CoLoR在请求成率这一指标上全面优于AODV与LFBL。
总结上述,本发明方法CoLoR在不同移动性条件下请求成功率全面高于AODV,请求延时更小;LFBL的特点是对移动性适应较强,请求成功率与请求延时随拓扑动态性变化不明显,基本保持稳定,但由于冲突较严重,在负载较大时请求成功率较低。本发明方法CoLoR在请求成功率和延时两个指标间取得了较好的平衡。

Claims (4)

1.一种内容标识与节点标识相结合的无人机自组网的按需路由机制,其特征在于包括有下列步骤:
步骤一,请求者生成请求报文并发送请求报文;
步骤101,请求者身份的确定;
第一架无人机NID1身份为请求者;
所述第一架无人机NID1的请求内容为
Figure FDA0003355605940000011
执行步骤102和步骤103;
步骤102,自查路由表;
记录,无人机NID1的路由表
Figure FDA0003355605940000012
中路由表项,即
Figure FDA0003355605940000013
执行步骤104;
下角标h表示第h条路由表项;
Figure FDA0003355605940000014
表示无人机NID1的路由表中的第一条表项;
Figure FDA0003355605940000015
表示无人机NID1的路由表中的第二条表项;
Figure FDA0003355605940000016
表示无人机NID1的路由表中的第h条表项;
所述
Figure FDA0003355605940000017
携带的元素包括有路由表项的远端KEY和路由表项的近端NEXT,即
Figure FDA0003355605940000018
步骤103,自查待定请求表;
记录,无人机NID1的待定请求表
Figure FDA0003355605940000019
中请求表项,即
Figure FDA00033556059400000110
执行步骤104;
下角标g表示第g条请求表项;
Figure FDA00033556059400000111
表示无人机NID1的待定请求表中的第一条表项;
Figure FDA00033556059400000112
表示无人机NID1的待定请求表中的第二条表项;
Figure FDA00033556059400000113
表示无人机NID1的待定请求表中的第g条表项;
所述
Figure FDA00033556059400000114
携带的元素包括有无人机NIDa产生的第i个请求内容
Figure FDA00033556059400000115
请求报文中的上一跳节点NIDc、所请求内容的缓存片片偏移标志F_offsetTD、创建
Figure FDA00033556059400000116
的时间
Figure FDA00033556059400000117
Figure FDA00033556059400000118
NIDc表示第c架无人机;
步骤104,请求报文;
无人机NID1依据请求内容
Figure FDA00033556059400000119
生成TA时刻的请求报文GET_NID1,TA,且
Figure FDA0003355605940000021
其中执行步骤105;
Nonce表示每次生成请求报文GET时随之生成的一个32位随机数;
Next_hopTA表示请求报文在当前发送时刻TA时的下一跳节点标识;
Last_hopTA表示请求报文在当前发送时刻TA时的上一跳节点标识;
OffsetTA表示请求报文在当前发送时刻TA时的缓存片的片偏移;
步骤105,检查请求者节点路由表;
无人机NID1以所述GET_NID1,TA中的
Figure FDA0003355605940000022
里包含的NIDa作为键值,检查无人机NID1的路由表
Figure FDA0003355605940000023
中是否有远端为NIDa的路由表项;
若路由表中不存在远端为NIDa的路由表项,执行步骤106;
若路由表中存在远端为NIDa的路由表项
Figure FDA0003355605940000024
该路由表项的KEY携带内容为NIDa,执行步骤107;
NIDa表示第a架无人机;
步骤106,请求报文探测转发;
设置GET_NID1,TA中Next_hopTA字段值为全零,Last_hopTA为NID1;无人机NID1发送
Figure FDA0003355605940000025
执行步骤108;
步骤107,请求报文按路由转发;
设置GET_NID1,TA中Next_hopTA字段值为近端NEXT,Last_hopTA为NID1;无人机NID1发送
Figure FDA0003355605940000026
执行步骤108;
步骤108,添加待定请求表项;
在无人机NID1的待定请求表
Figure FDA0003355605940000027
中增加请求表项,即
Figure FDA0003355605940000028
执行步骤201;
Figure FDA0003355605940000029
表示第g+1条请求表项;所述
Figure FDA00033556059400000210
携带元素为
Figure FDA00033556059400000211
该请求内容的缓存片片偏移标志F_offsetTD则是请求报文在当前发送时刻TA时的缓存片的片偏移OffsetTA
Figure FDA00033556059400000212
表示
Figure FDA00033556059400000213
的创建时间;
步骤二,中继节点转发请求报文,并对命中的缓存片进行回传数据报文;
步骤201,中继节点的身份确定;
第三架无人机NID3身份为中继节点;
步骤202,中继节点接收请求报文并更新路由表;
第三架无人机NID3接收到TA时刻的请求报文
Figure FDA0003355605940000031
检查无人机NID3的路由表
Figure FDA0003355605940000032
中是否有远端为NID1的路由表项;
若存在远端为NID1的路由表项
Figure FDA0003355605940000033
则检查其中的NEXT是否携带内容为NID1
若NEXT不是NID1则修改NEXT携带内容为NID1;执行步骤203;
若NEXT是NID1则保持不变,仍为NID1;执行步骤203;
若不存在远端为NID1的路由表项,则添加路由表项
Figure FDA0003355605940000034
其中KEY携带的内容是NID1,NEXT携带的内容是NID1;执行步骤203;
步骤203,检查请求报文下一跳节点标识;
第三架无人机NID3检查TA时刻的请求报文
Figure FDA0003355605940000035
中的下一跳节点标识Next_hopTA是否等于0或者NID3
若请求报文GET_NID1,TA中下一跳节点标识Next_hopTA不等于0也不等于NID3,执行步骤201;
若请求报文GET_NID1,TA中下一跳节点标识Next_hopTA等于0或者等于NID3,执行步骤204;
步骤204,中继节点检查待定请求表;
检查无人机NID3的待定请求表
Figure FDA0003355605940000036
中是否存在TA时刻的请求报文
Figure FDA0003355605940000037
中的请求内容
Figure FDA0003355605940000038
对应的请求表项
Figure FDA0003355605940000039
若不存在,执行步骤205;
若存在,则检查请求表项
Figure FDA00033556059400000310
的上一跳节点NIDc是否等于请求报文
Figure FDA0003355605940000041
中的Last_hopTA
若NIDc不等于Last_hopTA,执行步骤205;
若NIDc等于Last_hopTA则执行步骤301;
步骤205,中继节点检查缓存内容;
检查无人机NID3缓存中是否存在缓存内容
Figure FDA0003355605940000042
的缓存片,
若不存在
Figure FDA0003355605940000043
则执行步骤206;
若存在
Figure FDA0003355605940000044
检查缓存中分片标识与请求报文
Figure FDA0003355605940000045
中缓存片的片偏移OffsetTA有重叠;
若无重叠,执行步骤206;
若有部分重叠,执行步骤206;
若有全部重叠,执行步骤211;
所述的部分重叠是指中继节点的缓存中存在缓存内容,同时请求报文中的缓存片偏移OffsetTA与该缓存内容的缓存片有部分相同;
所述全部重叠是指中继节点的缓存中存在缓存内容,同时请求报文中的缓存片偏移OffsetTA所指的全部缓存片均存在于该缓存内容的缓存片中;
步骤206,中继节点修改请求报文;
无人机NID3修改TA时刻的请求报文GET_NID1,TA为TA+1时刻的请求报文
Figure FDA0003355605940000046
执行步骤207;
Next_hopTA+1表示请求报文在发送时刻TA+1时的下一跳节点标识;
Last_hopTA+1表示请求报文在发送时刻TA+1时的上一跳节点标识;
OffsetTA+1表示请求报文在发送时刻TA+1时的缓存片的片偏移;
步骤207,中继节点的路由表的远端检测;
无人机NID3以所述GET_NID3,TA+1中的
Figure FDA0003355605940000047
里包含的NIDa作为键值,检查无人机NID3的路由表
Figure FDA0003355605940000048
中是否有远端为NIDa的路由表项;
若路由表中不存在远端为NIDa的路由表项,执行步骤208;
若路由表中存在远端为NIDa的路由表项
Figure FDA0003355605940000049
该路由表项的KEY携带内容为NIDa,执行步骤209;
步骤208,中继节点的请求报文探测转发;
设置TA+1时刻的请求报文GET_NID3,TA+1中Next_hopTA+1字段值为全零,Last_hopTA+1为NID3
检查请求报文GET_NID1,TA中下一跳节点标识Next_hopTA等于0或者等于NID3
若Next_hopTA等于0,设置延迟计时器,当延迟计时器超时,无人机NID3发送
Figure FDA0003355605940000051
执行步骤210;
若Next_hopTA等于NID3,无人机NID3发送
Figure FDA0003355605940000052
执行步骤210;
步骤209,中继节点的请求报文按路由转发;
设置TA+1时刻的请求报文GET_NID3,TA+1中Next_hopTA+1字段值为路由表项
Figure FDA0003355605940000053
中的近端NEXT,Last_hopTA+1为NID3;无人机NID3发送
Figure FDA0003355605940000054
执行步骤210;
步骤210,中继节点添加待定请求表项;
在无人机NID3的待定请求表
Figure FDA0003355605940000055
中增加请求表项,即
Figure FDA0003355605940000056
执行步骤301;
Figure FDA0003355605940000057
表示第g+1条请求表项;所述
Figure FDA0003355605940000058
携带元素为
Figure FDA0003355605940000059
时刻TD携带的缓存片的片偏移标志F_offsetTD为时刻TA+1时的缓存片的片偏移OffsetTA+1
Figure FDA00033556059400000510
表示
Figure FDA00033556059400000511
的创建时间;
步骤211,中继节点回传命中缓存片数据报文;
无人机NID3检查路由表
Figure FDA00033556059400000512
中远端为NID1的路由表项为
Figure FDA00033556059400000513
发送重叠分片标识指定的数据报文
Figure FDA00033556059400000514
其中Next_hopTB为NID1,Last_hopTB为NID3,执行步骤212;
Next_hopTB表示数据报文在当前发送时刻TB时的下一跳节点标识;
Last_hopTB表示数据报文在当前发送时刻TB时的上一跳节点标识;
Offset(OF1)表示携带的缓存片OF1的片偏移标志;
步骤212,请求者身份节点接收中继节点回传的命中缓存片数据报文;
无人机NID1接收
Figure FDA0003355605940000061
其中Next_hopTB为NID1,Last_hopTB为NID3
检查无人机NID1的路由表
Figure FDA0003355605940000062
中是否有远端为NID3的路由表项;
若存在远端为NID3的路由表项
Figure FDA0003355605940000063
则检查其中的NEXT是否携带内容为NID3
若NEXT不是NID3则修改NEXT携带内容为NID3;则结束内容请求处理;
若NEXT是NID3则保持不变,仍为NID3;则结束内容请求处理;
若不存在远端为NID3的路由表项,则添加路由表项
Figure FDA0003355605940000064
其中KEY携带内容为NID3,NEXT携带内容为NID3;则结束内容请求处理;
步骤三,生产者节点收到请求报文,根据条件判断回传数据报文;
步骤301,生产者身份的确定;
第a架无人机NIDa身份为生产者;
步骤302,生产者接收请求报文并更新远端为请求者的路由表项;
第a架无人机NIDa接收到时刻TA+3的请求报文
Figure FDA0003355605940000065
检查无人机NIDa的路由表
Figure FDA0003355605940000066
中是否有远端为NID1的路由表项;
OffsetTA+3表示请求报文在发送时刻TA+3时的缓存片的片偏移;
若存在远端为NID1的路由表项
Figure FDA0003355605940000067
则检查其中的NEXT是否携带内容为NID9
若NEXT不是NID9则修改NEXT携带内容为NID9;执行步骤303;
若NEXT是NID9则保持不变,仍为NID9;执行步骤303;
若不存在远端为NID1的路由表项,则添加路由表项
Figure FDA0003355605940000068
其中KEY携带内容为NID1,NEXT携带内容为NID9;执行步骤303;
步骤303,生产者更新远端为上一跳节点的路由表项;
检查无人机NIDa的路由表
Figure FDA0003355605940000071
中是否有远端为NID9的路由表项;
若存在远端为NID9的路由表项
Figure FDA0003355605940000072
则检查其中的NEXT是否携带内容为NID9
若NEXT不是NID9则修改NEXT为NID9;执行步骤304;
若NEXT是NID9则保持不变,仍为NID9;执行步骤304;
若不存在远端为NID9的路由表项,则添加路由表项
Figure FDA0003355605940000073
其中KEY携带内容为NID9,NEXT携带内容为NID9;执行步骤304;
步骤304,生产者身份节点回传请求报文中缓存片片偏移指定的缓存片数据报文;
无人机NIDa检查路由表
Figure FDA0003355605940000074
中远端为NID1的路由表项为
Figure FDA0003355605940000075
其中,KEY为NID1,NEXT为NID9,发送重叠分片标识指定时刻TB+3的数据报文
Figure FDA0003355605940000076
其中Next_hopTB+3为NID9,Last_hopTB+3为NIDa,执行步骤401;
步骤四,中继节点处理缓存片数据报文,根据条件回传;
步骤401,中继节点接收数据报文并更新路由表;
第九架无人机NID9接收到时刻TB+3的数据报文
Figure FDA0003355605940000077
其中Next_hopTB+3为NID9,Last_hopTB+3为NIDa
Next_hopTB+3表示数据报文在发送时刻TB+3时的下一跳节点标识;
Last_hopTB+3表示数据报文在发送时刻TB+3时的上一跳节点标识;
Offset(OF4)表示携带的缓存片OF4的片偏移标志;
检查无人机NID9的路由表
Figure FDA0003355605940000078
中是否有远端为NIDa的路由表项;
若存在远端为NIDa的路由表项
Figure FDA0003355605940000079
则检查其中的NEXT是否携带内容为NIDa
若NEXT不是NIDa则修改NEXT携带内容为NIDa,执行步骤402;
若NEXT是NIDa则保持不变,仍为NIDa;执行步骤402;
若不存在远端为NIDa的路由表项,则添加路由表项
Figure FDA0003355605940000081
其中KEY携带内容为NIDa,NEXT携带内容为NIDa;执行步骤402;
步骤402,中继节点将数据报文携带的缓存片存储到缓存表中;
无人机NID9将时刻TB+3的数据报文
Figure FDA0003355605940000082
中的缓存片OF4存储到缓存表
Figure FDA0003355605940000083
中;
步骤403,中继节点检查待定请求表;
无人机NID9检查待定请求表
Figure FDA0003355605940000084
中键值为
Figure FDA0003355605940000085
的请求表项为
Figure FDA0003355605940000086
若无人机NID9将时刻TB+3的数据报文
Figure FDA0003355605940000087
中的Offset(OF4)与请求表项
Figure FDA0003355605940000088
中的F_offsetTD+2重合,则执行步骤404;
若无人机NID9将时刻TB+3的数据报文
Figure FDA0003355605940000089
中的Offset(OF4)与请求表项
Figure FDA00033556059400000810
中的F_offsetTD+2不重合,则丢弃DATA_NIDa,TB+3
步骤404,中继节点修改并发送缓存片数据报文;
无人机NID9修改时刻TB+3的数据报文数据报文
Figure FDA00033556059400000811
中的Next_hopTB+3为请求表项
Figure FDA00033556059400000812
中的NID6,修改Last_hopTB+3为NID9;则有时刻TB+4的数据报文为
Figure FDA00033556059400000813
Next_hopTB+4表示数据报文在发送时刻TB+4时的下一跳节点标识;
Last_hopTB+4表示数据报文在发送时刻TB+4时的上一跳节点标识;
无人机NID9发送时刻TB+4的数据报文
Figure FDA0003355605940000091
其中Next_hopTB+4为NID6,Last_hopTB+4为NID9;执行步骤405;
步骤405,中继节点修改待定请求表;
无人机NID9修改
Figure FDA0003355605940000092
中的F_offsetTD+2为F_offsetTD+3,所述F_offsetTD+3为F_offsetTD+2-Offset(OF4);
即,将Offset(OF4)对应的缓存片标志位在F_offsetTD+2中从1置为0;
若F_offsetTD+3不等于0,则执行步骤501;
若F_offsetTD+3等于0,则将
Figure FDA0003355605940000093
从无人机NID9的待定请求表
Figure FDA0003355605940000094
中删除,执行步骤501;
步骤五,请求者节点处理接收到的数据报文缓存片;
步骤501,请求者节点接收数据报文并更新远端为生产者的路由表项;
第一架无人机NID1接收到时刻TB+6的数据报文
Figure FDA0003355605940000095
其中Next_hopTB+6为NID1,Last_hopTB+6为NID3
Next_hopTB+6表示数据报文在发送时刻TB+6时的下一跳节点标识;
Last_hopTB+6表示数据报文在发送时刻TB+6时的上一跳节点标识;
检查无人机NID1的路由表
Figure FDA0003355605940000096
中是否有远端为NIDa的路由表项;
若存在远端为NIDa的路由表项
Figure FDA0003355605940000097
则检查其中的NEXT是否携带内容为NID3
若NEXT不是NID3则修改NEXT携带内容为NID3,执行步骤502;
若NEXT是NID3则保持不变,仍为NID3;执行步骤502;
若不存在远端为NIDa的路由表项,则添加路由表项
Figure FDA0003355605940000098
其中KEY携带内容为NIDa,NEXT携带内容为NID3;执行步骤502;
步骤502,请求者更新远端为上一跳节点的路由表项;
检查无人机NID1的路由表
Figure FDA0003355605940000099
中是否有远端为NID3的路由表项;
若存在远端为NID3的路由表项
Figure FDA00033556059400000910
则检查其中的NEXT是否携带内容为NID3
若NEXT不是NID3则修改NEXT为NID3;执行步骤503;
若NEXT是NID3则保持不变,仍为NID3;执行步骤503;
若不存在远端为NID3的路由表项,则添加路由表项
Figure FDA0003355605940000101
其中KEY携带内容为NID3,NEXT携带内容为NID3;执行步骤503;
步骤503,请求者节点将数据报文携带的缓存片存储到缓存表中;
无人机NID1将时刻TB+6的数据报文
Figure FDA0003355605940000102
中的OF4存储到缓存表
Figure FDA0003355605940000103
中;
步骤504,请求者节点检查待定请求表;
无人机NID1检查待定请求表
Figure FDA0003355605940000104
中键值为
Figure FDA0003355605940000105
的请求表项为
Figure FDA0003355605940000106
无人机NID1修改请求表项
Figure FDA0003355605940000107
中的F_offsetTD+3为F_offsetTD+4,所述F_offsetTD+4为F_offsetTD+3-Offset(OF4);
即,将Offset(OF4)对应的缓存片标志位在F_offsetTD+3中从1置为0;
若F_offsetTD+4不等于0,则等待请求表项超时,并进行路由失效判断,执行步骤601;
若F_offsetTD+4等于0,则说明请求内容的缓存片被完整接收,将
Figure FDA0003355605940000108
从无人机NID1的待定请求表
Figure FDA0003355605940000109
中删除,则结束内容请求处理;
步骤六,路由失效的处理;
步骤601,请求者节点查询路由表项;
检查无人机NID1的路由表
Figure FDA00033556059400001010
中是否有远端为NIDa的路由表项;
若存在远端为NIDa的路由表项
Figure FDA00033556059400001011
则将
Figure FDA00033556059400001012
从路由表
Figure FDA00033556059400001013
中删除;执行步骤602;
步骤602,请求者节点生成新的请求报文;
无人机NID1依据请求内容
Figure FDA00033556059400001014
Figure FDA00033556059400001015
中的F_offsetTD+4生成时刻TA+4的请求报文GET_NID1,TA+4,且
Figure FDA0003355605940000111
其中Next_hopTA+4等于0,Last_hopTA+4为NID1,OffsetTA+4为F_offsetTD+4,执行步骤603;
Next_hopTA+4表示请求报文在发送时刻TA+4时的下一跳节点标识;
Last_hopTA+4表示请求报文在发送时刻TA+4时的上一跳节点标识;
OffsetTA+4表示请求报文在发送时刻TA+4时的缓存片的片偏移;
F_offsetTD+4表示时刻TD+4携带的缓存片的片偏移标志;
步骤603,请求者节点删除请求表项,进行条件判断;
Figure FDA0003355605940000112
从无人机NID1的待定请求表
Figure FDA0003355605940000113
中删除,执行步骤106。
2.根据权利要求1所述的内容标识与节点标识相结合的无人机自组网的按需路由机制,其特征在于:请求报文
Figure FDA0003355605940000114
GET_NIDb,TA表示在请求报文发送时刻TA无人机NIDb发出的请求报文;
TA表示请求报文的当前发送时刻;
NIDb表示第b架无人机;
NIDa表示第a架无人机;
Figure FDA0003355605940000115
表示无人机NIDa产生的第i个请求内容;所述
Figure FDA0003355605940000116
一个请求内容
Figure FDA0003355605940000117
中有多个缓存片{OF1,OF2,…,OFf,…,OFF},OF1表示第一个缓存片,OF2表示第二个缓存片,OFf表示第f个缓存片,OFF表示最后一个缓存片;下角标f为请求内容中的缓存片的标识号,下角标F为请求内容中的缓存片总片数;
Hash_SIDi表示第i个请求内容的哈希值;
Nonce表示每次生成请求报文GET时随之生成的一个32位随机数;
Next_hopTA表示请求报文在当前发送时刻TA时的下一跳节点标识;
Last_hopTA表示请求报文在当前发送时刻TA时的上一跳节点标识;
OffsetTA表示请求报文在当前发送时刻TA时的缓存片的片偏移。
3.根据权利要求1所述的内容标识与节点标识相结合的无人机自组网的按需路由机制,其特征在于:数据报文
Figure FDA0003355605940000121
DATA_NIDc,TB表示在数据报文发送时刻TB无人机NIDc发出的数据报文;
TB表示数据报文的当前发送时刻;
NIDc表示第c架无人机;
OFf表示缓存片;
Offset(OFf)表示携带缓存片OFf的片偏移标志。
4.根据权利要求1所述的内容标识与节点标识相结合的无人机自组网的按需路由机制,其特征在于:从请求者至生产者之间的中继节点采用相同的步骤二和步骤四的处理。
CN202111350247.2A 2020-11-26 2021-11-15 内容标识与节点标识相结合的无人机自组网的按需路由机制 Active CN114071638B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202011348970 2020-11-26
CN2020113489702 2020-11-26

Publications (2)

Publication Number Publication Date
CN114071638A true CN114071638A (zh) 2022-02-18
CN114071638B CN114071638B (zh) 2023-08-22

Family

ID=80272239

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111350247.2A Active CN114071638B (zh) 2020-11-26 2021-11-15 内容标识与节点标识相结合的无人机自组网的按需路由机制

Country Status (1)

Country Link
CN (1) CN114071638B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090129316A1 (en) * 2007-08-20 2009-05-21 Bbn Technologies Corp. Systems and methods for adaptive routing in mobile ad-hoc networks and disruption tolerant networks
CN108243480A (zh) * 2018-01-11 2018-07-03 南京华讯方舟通信设备有限公司 一种基于链路可用带宽预测和前进距离的无人机自组网机会路由算法
CN109347983A (zh) * 2018-11-30 2019-02-15 东南大学 一种基于网络编码的命名数据网络中多路径转发方法
CN109688614A (zh) * 2019-01-14 2019-04-26 西安电子科技大学 用于高动态无人机自组网路由协议的实现方法及***

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090129316A1 (en) * 2007-08-20 2009-05-21 Bbn Technologies Corp. Systems and methods for adaptive routing in mobile ad-hoc networks and disruption tolerant networks
CN108243480A (zh) * 2018-01-11 2018-07-03 南京华讯方舟通信设备有限公司 一种基于链路可用带宽预测和前进距离的无人机自组网机会路由算法
CN109347983A (zh) * 2018-11-30 2019-02-15 东南大学 一种基于网络编码的命名数据网络中多路径转发方法
CN109688614A (zh) * 2019-01-14 2019-04-26 西安电子科技大学 用于高动态无人机自组网路由协议的实现方法及***

Also Published As

Publication number Publication date
CN114071638B (zh) 2023-08-22

Similar Documents

Publication Publication Date Title
EP2705645B1 (en) Name-based neighbor discovery and multi-hop service discovery in information-centric networks
KR101376014B1 (ko) 복수의 랑데뷰 포인트에서 모바일 멀티캐스트 소스로부터의 멀티캐스트 트래픽을 함께 처리하기 위한 방법 및 장치
US7366111B2 (en) Arrangement for providing optimized connections between peer routers in a tree-based ad hoc mobile network
US7668173B2 (en) Method and system for an adaptive wireless routing protocol in a mesh network
US20050122955A1 (en) Method and system for route selection and method for route reconstruction
KR20100114043A (ko) 무선 메쉬 네트워크들을 위한 하이브리드 멀티캐스트 라우팅 프로토콜
CN110943918B (zh) 无中心多路并发传输***的组网方法
US20210029022A1 (en) Packet forwarding method and apparatus
CN104754687B (zh) 信息发送方法及设备
CN111510365B (zh) 基于Wi-Fi数据包的设备桥接云端方法、装置、设备及介质
US9979643B2 (en) Communication apparatus, communication method, and computer-readable recording medium
CN109218111B (zh) 一种处理报文的方法和转发器
WO2020156340A1 (zh) 一种传输数据的方法及装置
CN107846706A (zh) 一种拥塞避免的编码感知无线mesh网络多路径路由方法
Li et al. A reliable and efficient forwarding strategy in vehicular named data networking
CN110178410A (zh) 一种通信路径确定方法及网络设备
Jin et al. MANET for Disaster Relief based on NDN
US20080008201A1 (en) Communication terminal, a method for communication, and a program strorage medium storing a program thereof
WO2009006831A1 (fr) Procédé et équipement servant à limiter la transition d'un paquet de données
US11997005B2 (en) BIER overlay signaling enhancement
CN104754649A (zh) 一种数据传输方法与无线Mesh节点
CN111526512A (zh) 基于Wi-Fi数据包的网关桥接方法、装置、设备及介质
CN110380977B (zh) 一种面向移动自组网与因特网混合环境的路由融合方法
CN114071638A (zh) 内容标识与节点标识相结合的无人机自组网的按需路由机制
Jayaraman et al. A trusted water fall model for efficient data transmission in VANET

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