一种基于内容中心网络的层次拓扑组网方法与流程

文档序号:18712860发布日期:2019-09-20 20:45阅读:224来源:国知局

本发明涉及无线传感器网络领域,尤其涉及一种基于内容中心网络的层次拓扑组网方法。



背景技术:

传感器已经在各行各业得到广泛应用,如环境监测,城市煤气监控,工业数数据采集。这些传感器相互协作,自主形成传感器网络,负责数据的采集、处理和传输。为了在大规模的传感器网络中实现数据传输,很多标准和协议不断涌现,其中比较知名的是RPL(Routing Protocol for Low-Power and Lossy Networks)标准和Zigbee协议。Zigbee组网可以形成简星形和对等式网络,但是这种组网方式只能实现最简单的数据传输功能,而且还存在协议相对复杂等问题。RPL是给6LowPAN提出的组网方法的补充标准,RPL结合传感器网络的数据收集特征,提出建立树形拓扑结构来路由数据,这种思路比星形和对等式网络要高效。

现有的RPL和Zigbee等标准和协议提出的组网结构形式相对简单,只适用于小规模的网络数据传输,很难适应在大规模传感器网络和海量的传感器数据。因而,这种方法无法应对网络稳定性以及在传感器网络内部直接进行数据聚集的需求。

此外,从组网协议角度看,RPL和Zigbee中的组网协议都相对复杂,并且实现代价大。Zigbee中的组网方法涉及利用帧中信息来组网,这种方式使得组网功能与数据链路层交织在一起,增大了链路层的复杂性,降低了组网的灵活性,使得实现也相对复杂,与物联网需要轻量级的协议的目标不匹配。RPL依赖6LowPAN协议来进行组网通信,而6LowPAN协议本身是由 IPv6演化而来,协议本身非常复杂,RPL依赖6LowPAN协议通信使得组网过程开销很大。

另外,由于物联网主要是面向数据驱动型的应用,即采集数据,汇聚数据,并根据数据反馈做相应的操作,物联网中数据通过网络传感器节点以多跳方式传递到网络终端。因此,在物联网中,多层次的拓扑结构是一种比较合理的思路。



技术实现要素:

本发明提出一种在轻量级的通信协议上的层次化结构组网方法,具体地,本发明涉一种基于内容中心网络(Content Centric Network)协议来构建无线传感器网络主干网拓扑结构的方法,该拓扑结构可应用于无线传感器网络中层次化的数据传输,即数据首先传送到主干网拓扑结构,然后通过主干网多跳传输到目的终端。这种数据传递方法可以易于数据处理和管理,数据在主干网上汇聚,使得综合处理数据成为可能,从而使得网络可以有效的传输需要的数据,并且降低传输数据量。此外,采用主干网结构传输数据有利于网络的维护,传感器网络只需保证主干网的有效运行,保障了数据传输的稳定性,而无需保证传感器网络中每个节点有效运行,降低了网络维护的代价。

本发明的实施例提供了一种基于内容中心网络的层次拓扑组网方法,包括:

步骤1:应用内容中心网络的组件及兴趣消息来构建树形结构的层次图,其中,所述树形结构中每隔2层的节点为主干网节点,采用节点名字来命名所述兴趣消息,并将组网所需的所述兴趣消息作为名字组件添加到已有节点名字上;

步骤2:在所述步骤1得到的树形结构的层次图中,从叶子节点开始构建层次邻居信息,设置汇聚点,构建所述汇聚点上的路由信息。

有益效果

根据本发明实施例的基于内容中心网络的层次拓扑组网方法,能够减少通信量,进而实现并达到组网过程方便、简单、代价小。

具体实施方式

以下将详细说明本发明的各种示例性实施例、特征和方面。

在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。

另外,为了更好的说明本发明,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本发明同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本发明的主旨。

实施例

物联网的无线传感器网络包含一个终端节点和大量的传感器节点,终端节点不受能量和计算等资源限制,负责收集传感器网络传送的数据,并参与网络拓扑结构的构建。每个传感器节点都运行面向物联网的轻量级内容中心网络CCN组件,该组件运行轻量级CCN协议。

具体地,所述轻量级CCN协议是对面向物联网的内容中心网络CCN协议进行优化后的协议,所述优化过程包括以下步骤:

步骤A:将内容中心网络协议部署于低功耗无线网络传输协议上。

低功耗无线网络传输协议作为通信基础,内容中心网络协议作为负责物联网的内容的处理以及路由等功能。协议栈结构中,缩减后的面向物联网的内容中心网络协议部署在低功耗的无线传输协议802.15.4之上, 也就是作为传输层的内容中心网络协议同时作为无线网络传输协议的帧的负载。

步骤B:针对物联网优化内容中心网络传输层协议的空间。

考虑到内容中心网络CCN协议作无线协议的负载传输,而无线协议的最大负载较小,如802.15.4协议的最大负载为127字节,在如此受限的负载空间内,为给内容中心网络CCN协议本身的负载预留更多的空间,因此本发明提出从精简CCN协议头开销的优化技术,从而大大缩减CCN协议头,降低其空间开销。该优化技术包含3个方面:

合并协议字段。与传统CCN协议相比,在面向物联网的轻量级的CCN协议中,少量的版本和消息类型即可实现相应功能,因为本发明将CCN协议版本和消息类型这两个固定头合并到1字节空间内。协议版本version和消息类型(MsgType)由原来需要2个字节合并为一个字节,其中version和MsgType各四个比特,包长和跳数合并为使用2个字节空间。

针对不同消息类型,灵活复用字段空间。即同一协议头空间可以灵活表示不同类型消息的协议字段。因为CCN中不同消息类型对负载空间要求不同,如CCN中兴趣包(Interest Packet)不包含特定的数据内容,因此其消息长度字段可以缩短。在兴趣包中,包长(PacketLength)和跳数/保留字段(HopLimit/Resv)各占据第三字节和第四字节空间;而内容包(Content Packet)中,包长则占据了整个第三和第四字节(总共两个字节)空间。

共享协议字段空间。CCN协议中,HopLimit字段只在兴趣包中。HopLimit一般用于路由循环检测。而在物联网中,由于大量传感器的存在,与IP网络相比,HopLimit可能非常多,使之过大从而占据大量的协议空间,而物联网中天然需要构造树形拓扑结构来执行数据采集,从而可以无需通过HopLimit实现路由循环检测。所以在实际应用中,第四字节空间可以用于保留做其他扩展字段之用,或者在需要使用HopLimit来控制兴趣消息的有效性时,将第四字节空间用于保存HopLimit,注意HopLimit限制在255之内。基于此,从压缩空间目标以及物联网的功能出发,可以让HopLimit和保留字段共享该第四节协议空间。

步骤C:裁剪和适用原CCN协议中与物联网需求不相关或弱关联的字段空间。

不相关字段空间裁剪:对于兴趣包,保留CCN中兴趣包的基本结构,即保留MessageType,MessageLength以及Name TLV结构,移除Optional Metadata TLV,因为该Metadata中涉及到的keyID、内容创建时间、SHA-256哈希不是物联网中所必须的,且占用空间过大,所以去掉该Metadata TLV部分。

适用已有字段空间:对用于安全验证的可选TLV结构保留,此结构不仅可以使用原CCN协议中列出的安全套件,而且还可以将该处结构用于新兴适用于物联网的轻量级的安全套件。

本发明实施例的基于内容中心网络的层次拓扑组网方法,具体包括以下步骤:

步骤1:应用CCN兴趣消息构建层次图。组网所需的消息均为兴趣消息类型存在,包括三种消息:

第一种是发现消息,该消息会携带自身节点的层次,将层次值作为名字组件放置于该消息名字之后。例如,该消息以“/ccn/discovery/”命名,则“/ccn/discovery/层次值/”为新的消息的名字。

第二种是确认消息,有唯一的命名,例如,“/ccn/confirm/”,确认消息中名字最后两个名字组件分别为节点的父亲节点ID和节点ID,例如包含v节点和v节点的父亲节点的名字“/ccn/confirm/Parent(v)/v”。

第三种是撤销消息,用于通知撤销之前的父子关系。以名字命名这种消息,如“/ccn/revoke”携带某个节点和该节点的父亲节点信息,如“/ccn/revoke/v的父亲节点ID/节点v”。

端节点默认层次为0,其他所有节点层次默认为无穷大。从终端节点开始,设置该终端节点层次为0, 然后向它的邻居广播发现消息。

对于每个传感器节点,部署的CCN组件执行以下消息驱动操作:

(1)v节点收到从u发来的发现消息:解析该兴趣包中名字最后的名字组件,提取出消息源的层次值level(u)。

如果level(u)=无穷大 & level(u)+ 1 < level(v),//即第一次更新层次;

设置level(v)= level(u)+ 1;设置v的父亲节点为u,即Parent(v)= u;

发回给u确认消息,消息中包含v节点的父亲节点u。

如果level(u)!=无穷大 & level(u)+ 1 < level(v), //非第一次更新层次;

发回给Parent(v)撤销消息,消息中包含Parent(v)和v节点信息。

设置level(v)= level(u)+ 1;设置v的父亲节点为u,即Parent(v)= u;

发回给u确认消息,消息名字中包含Parent(v)和v节点。

(2)v节点收到u发来的确认消息:解析该兴趣包中名字最后的名字组件,提取出消息源的节点的父亲值。

如果确认消息名字信息中包含的父亲节点值=节点v,则设置节点u为v的子节点,即Children(v)=u;

转发该确认消息给v的父亲节点;

(3)v节点收到u发来的撤销消息:解析该兴趣包中名字最后的名字组件,提取出消息源的节点的父亲值。

如果该撤销消息名字信息中包含的父亲节点值=节点v,则撤销之前关于u节点的父亲值设置。

转发该撤销消息给v的父亲节点。

步骤2:构建层次邻居信息,设置汇聚点。在步骤1中会得到树形层次图,在第一阶段基础上,从叶子节点开始构建层次信息,设置汇聚点。

该阶段组网所需的消息均为兴趣消息类型存在。定义一种完成兴趣消息(简称完成消息),该信息名字为“/ccn/complete/level(u)/u/parent(u)”,并且名字字段最后包含节点的层次信息、节点ID和节点的父亲节点。

从叶子节点(层次图上没有子女的节点)开始,发送完成消息给父亲节点。节点收到完成消息做以下消息驱动动作。

节点执行以下消息驱动:

v节点收到来自u完成消息后:解析该兴趣包中的名字组件,提取出消息源的层次值level(s),节点s,节点s的父亲节点Parent(s);

发送给Parent(v)完成消息;//发送关于自己的路由信息;

如果v节点的层次level(v)% 2 != 0: //如果该节点不是属于每隔2层的节点;

转来自u的完成消息到v的父亲节点Parent(v) ;//转发下级发来的路由信息;

如果v节点的层次level(v)% 2 = 0: //如果该节点是属于每隔2层的节点;

如果0 < level(s)- level(v)< = 2,把节点s和其Parent(s)信息放入路由表。

本领域普通技术人员可以意识到,本文所描述的实施例中的各示例性单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件形式来实现,取决于技术方案的特定应用和设计约束条件。专业技术人员可以针对特定的应用选择不同的方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

如果以计算机软件的形式来实现所述功能并作为独立的产品销售或使用时,则在一定程度上可认为本发明的技术方案的全部或部分(例如对现有技术做出贡献的部分)是以计算机软件产品的形式体现的。该计算机软件产品通常存储在计算机可读取的非易失性存储介质中,包括若干指令用以使得计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各实施例方法的全部或部分步骤。而前述的存储介质包括U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1