基于连接标识的异构物联网节点接入IPv6网络方法与流程

文档序号:18161262发布日期:2019-07-13 09:20阅读:289来源:国知局
基于连接标识的异构物联网节点接入IPv6网络方法与流程

本发明涉及ipv6物联网领域,具体地,涉及一种基于连接标识的异构物联网节点接入ipv6网络方法。



背景技术:

ipv6协议应用于物联网领域是大势所趋,ipv6协议提供的海量地址空间可以有效满足物联网节点标识需求,同时,ipv6协议简化了地址分配机制、报头选项、路由器分组处理,并更好的提供移动性支持,安全性支持及自动认证功能。

物联网节点接入基于ipv6协议的互联网,实现物联网节点数据信息在ipv6互联网有效传输是推动物联网发展的根本保障。但通常情况下,物联网节点具有低功耗、资源受限的特点,从硬件层次而言,其无法直接运行体积庞大的tcp/ip协议栈。同时,物联网存在多种无线通信技术,典型的包括zigbee、bluetoothle、wirelesshart、rfid等等,不同的无线通信技术拥有其特定的通信协议栈,且这些协议栈mac层的帧载荷也极为受限,基本难以承载ipv6数据包。

应用于物联网领域的无线通信协议栈一般又可分为可编程通信协议栈和不可编程通信协议栈。针对可编程协议栈,6lowpan工作组提出了在协议栈mac层与网络层之间添加适配层的方案,并先后设计了lowpan_hc1、lowpan_hc2和lowpan_iphc、lowpan_nhc两套ipv6报头及上层报头压缩方案。2012年,6lowpan工作组完成了适配层研究工作,但其适配层仅支持802.15.4协议标准。2013年,ietf进一步成立了6lo(ipv6overnetworksofresource-constrainednodes)工作组,研究支持多种无线通信技术适配层,包括ble、dectule、ms/tp、g.9959、ieee1901.2、nfc、ieee802.11ah等等。

尽管6lowpan及6lo工作组为低功耗物联网节点接入ipv6网络提出了规范标准并形成了一系列rfc文档,但其基本思路均为在可编程的通信协议栈上进行改动,即在原有协议栈mac层之上设计适配层,以保证ipv6数据包在相应的通信链路上有效传输。这种方式必然要求物联网网关能够在网络层对ipv6数据报头进行压缩与解压缩,且压缩效率的好坏受到了较多条件的限制,从而直接影响到有效数据传输率。例如是否需要进行全局范围通信,若是,则上下文标识不可压缩;ipv6接口标识具体采用何种方式生成,若为eui-64方式生成,则可全部压缩,若由16位短地址生成,则仅能压缩为16位,若由其他方式生成,则接口标识不可压缩;网络层之上的传输层协议仅能为udp协议,否则,上层协议不可压缩;端口号仅能选用特定范围数值,否则,端口号不可压缩。



技术实现要素:

本发明的目的是提供一种基于连接标识的异构物联网节点接入ipv6网络方法,该基于连接标识的异构物联网节点接入ipv6网络方法保证资源受限的物联网节点可基于ipv6协议进行全局范围通信,同时保证数据帧具有更加稳定、更高比例的有效数据传输率。

为了实现上述目的,本发明提供了一种基于连接标识的异构物联网节点接入ipv6网络方法,该基于连接标识的异构物联网节点接入ipv6网络方法包括:

步骤1,将物联网节点n进行初始化操作;自动配置ipv6地址,自行构建由去除冗余字段的ipv6数据报头和去除冗余字段的传输层报头组成的session层pdu,并完成init消息封装与传送;

步骤2,物联网网关g与物联网节点n完成连接标识connid的协商,同时建立起网络通信参数-连接标识connid映射表;基于所协商的连接标识connid,物联网节点n完成后续data消息的封装与传送。

优选地,在步骤1中,

s1,物联网网关g周期性的广播信标帧,信标载荷为64bits的全局路由前缀;

s2,物联网节点n采用无状态地址自动配置机制完成ipv6地址配置:

64bits的ipv6地址接口标识字段采用eui-64地址方式生成,若物联网节点mac地址为eui-64格式,则将其第7比特位取反直接生成接口标识,若物联网节点mac地址为48bits地址格式,则在48bits的mac地址中间插入固定数值fffe生成eui-64格式,再生成接口标识;

s3,物联网节点n依据所接收的全局路由前缀和自行生成的接口标识,构造完整的ipv6全局单播地址;

s4,物联网节点n完成ipv6数据报头及传输层报头构造:

所构造的ipv6数据报头去除冗余字段,所保留的字段包括128bits的ipv6源地址、128bits的ipv6目的地址、8bits的下一个首部和8bits的跳数限制;

s5,自行构建由去除冗余字段的ipv6数据报头和去除冗余字段的传输层报头组成的session层pdu。

优选地,在s2中,ipv6地址接口标识生成方式包括基于隐私保护策略的生成方式、随机生成方式或基于dhcpv6有状态分配方式。

优选地,在s4中,当传输层报头为udp报文时,所保留的字段包括16bits的源端口号和16bits的目的端口号。

优选地,在步骤s5中,将session层数据段最前8bits预留为消息标识符字段,当消息标识符字段为01h时,表明物联网节点所发出的数据帧为init消息,其应用层载荷为空。

优选地,在s2中,

s6,物联网网关g接收物联网节点n的数据帧,由链路层算法按相应协议链路层帧头规则扫描,并保存源mac地址,去除链路层帧头后,交由session层处理,由session层算法扫描消息标识符字段,若为01h,执行s7,否则,执行s10。

s7,物联网网关g的session层算法按字节继续扫描后续数据,依据所规定的报头规则形成报头各字段;

s8,依据s7的解析结果,物联网网关g将ipv6源地址、ipv6目的地址、源端口号和目的端口号作为连接主参数,依据sha-3哈希加密算法,生成64bits的加密数据,作为当前数据通信的连接标识connidi:

connidi=h(sourceip,destinationip,sourceport,destinationport);

s9,物联网网关g依据s6中所获取的源mac地址,向物联网节点n发送response消息,消息标识符设置为02h,并将连接标识connidi作为session层后续数据,应用层数据为空;

s10,物联网节点n接收物联网网关g数据帧,读取session层消息标识符字段,若值为02h,则可判断为response消息,读取session层后续连接标识connidi并存储,而后向物联网网关g发送确认消息,消息标识符设置为03h;否则,执行s15;

s11,物联网网关g接收物联网节点n的确认消息后,将连接标识connidi加入到连接标识池中;初始加入到连接标识池中的连接标识剩余有效时间设置为10min;

s12,依据s7的解析结果,物联网网关g将ipv6源地址、ipv6目的地址、下一个首部、跳数限制、源端口号和目的端口号作为网络通信参数,与新生成的连接标识connidi进行映射,并添加至网络通信参数-连接标识connid映射表,映射表表项表达式如下:

[connidi→sourceip,destinationip,nextheader,hoplimit,sourceport,destinationport]

s13,物联网节点n采集传感数据,或生成访问数据,结合特定应用层报头,形成应用层数据;

s14,物联网节点n进行data消息封装与发送,其中session层消息标识符设置为ffh,session层后续数据设置为连接标识connidi;

s15,物联网网关g接收物联网节点n的数据帧,读取session层消息标识符字段,若消息标识符字段为ffh,则可判断为data消息;物联网网关g读取session层后续连接标识connidi,依据连接标识connidi查找连接标识池,并将其剩余有效时间更新为10min;

s16,物联网网关g依据连接标识connidi的位置信息查找网络通信参数-连接标识connid映射表,结合所查询的通信参数,封装为可直接运行在ipv6网络环境下完整的ipv6数据包,其中完整的ipv6数据包的应用层数据为data消息应用层数据,ipv6报头及传输层报头各字段由所查询出的通信参数相应填充,其他在通信参数中无对应项的字段,若为版本号,则按实际数值填充,若为有效载荷长度,则扫描计算除基本报头外的其他字段长度并进行填充,否则全部填充比特0;

s17,物联网网关g辅助物联网节点n,将完整的ipv6数据包传输至ipv6网络;

s18,若物联网节点n有后续数据进行传输,则重复执行s13~s17,实现物联网节点n基于连接标识connidi接入ipv6网络进行数据通信。

优选地,在s7中,若第34字节为11h,则可确定后续报头为udp报头,并按s4中udp报头保留字段规则生成相应字段。

优选地,在s12中,当连接标识connidi剩余有效时间为0时,将连接标识connidi从连接标识池中删除,并且将相对应的映射表表项进行删除;

物联网网关g内置节点mac地址-节点ipv6地址映射表,其中,所述节点mac地址为s6中解析的源mac地址,节点ipv6地址为s7中解析的源ipv6地址。

优选地,在s15中,物联网网关g在首次查询连接标识connidi后,需临时存储连接标识connidi位置信息,以便后续依据连接标识connidi位置信息快速查询网络通信参数-连接标识connid映射表。

优选地,当物联网节点n因位置移动而改变其网络环境时,重新执行s1~s5,进行初始化工作,而后与新的物联网网关g′重新协商连接标识connid,并基于新的连接标识connid进行应用数据的传输;

当物联网节点ipv6地址接口标识因采用随机生成方式或其他方式导致标识冲突问题,物联网网关应通知物联网节点重新生成ipv6地址接口标识;

当物联网节点n所要访问的ipv6网络节点发生变化时,重新进行初始化工作,并与物联网网关g重新协商新的连接标识connid;

当物联网节点n因长时间未向物联网网关g发送数据导致连接标识connid超时失效时,物联网网关g将通知物联网节点n重新发送init消息并重新协商新的连接标识connid。

根据上述技术方案,本发明中物联网节点与物联网网关之间进行通信时,仅需在初始化阶段传输ipv6网络通信参数,后续的数据传输完全基于64bits的连接标识,相比6lowpan方案,本发明进一步提高了报头压缩比例,并具备稳定的压缩率。本发明采用sha-3加密过后的连接标识作为通信枢纽,极大减少了实际的网络通信参数在网络通信过程中出现的频率,增强了网络通信的安全性。本发明不受物联网节点所采用的无线通信技术种类的限制,仅要求协议栈应用层可编程,通过在应用层之下设计session层,实现异构物联网节点有效接入ipv6网络。除6lowpan方案外,现有的其他应用于资源受限物联网节点的ipv6方案为了能够提高有效数据传输率,针对ipv6地址接口标识部分采用压缩与扩展技术,本发明在保证有效数据传输率的同时,无需压缩64bits接口标识,保证可使用接口标识作为节点全局唯一性标识,并满足节点移动性需求。

本发明的其他特征和优点将在随后的具体实施方式部分予以详细说明。

附图说明

附图是用来提供对本发明的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明,但并不构成对本发明的限制。在附图中:

图1是本发明的一种基于连接标识接入ipv6网络的数据通路图;

图2为本发明的一种优化实施方式的物联网节点init消息格式;

图3为本发明中物联网网关response消息格式;

图4为本发明中物联网节点confirmation消息格式;

图5为本发明中物联网节点data消息格式;

图6为本发明中物联网节点初始化及连接标识协商时序图;

图7为本发明中物联网节点数据通信时序图。

具体实施方式

以下结合附图对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。

本发明提供一种基于连接标识的异构物联网节点接入ipv6网络方法,该方法包括:

步骤1,物联网节点n初始化。自动配置ipv6地址,自行构建去除冗余字段的ipv6数据报头及传输层报头作为session层数据,并完成init消息封装与传送;

步骤2,物联网网关g与物联网节点n完成连接标识connid的协商,同时建立起网络通信参数-连接标识connid映射表。基于所协商的连接标识connid,物联网节点n完成后续data消息的封装与传送。

本发明的一种具体实施方式步骤1中,

s1,物联网网关g周期性的广播信标帧,信标载荷为64bits的全局路由前缀。设定全局路由前缀为2001:da8:d813:65::/64。

s2,假定物联网节点n底层协议遵循ieee802.15.4标准,其mac地址为eui-64格式,且mac地址为1001:0585:feab:5001,依据eui-64生成接口标识方式,其对应的接口标识应为1201:0585:feab:5001。

s3,物联网节点n依据所获得的全局路由前缀及自行生成的接口标识,构造其完整的ipv6全局单播地址,即2001:da8:d813:65:1201:0585:feab:5001。

s4,物联网节点n确定其通信对象ipv6地址,即ipv6网络服务器s的ipv6地址,假定其为2001:da8:d818:61::1234。指定下一报头为udp报头,即下一个首部字段为11h,同时确定通信对象端口号为61616(即0xf0b0),并指定端口61631(即0xf0bf)与其通信。跳数限制指定为255(即ffh)。

s5,物联网节点n封装init消息并发送至物联网网关g,init消息格式如图1所示,一个完整的init消息为

(802.15.4frameheader||01h||2001_0da8_d813_0065_1201_0585_feab_5001h||2001_0da8_d818_0061_0000_0000_0000_1234h||11h||ffh||f0bfh||f0b0h)

在本发明的一种具体实施方式步骤2中,

s6,物联网网关接收到来自物联网节点n的数据帧,由链路层算法解析数据帧头,并保留源mac地址,即1001:0585:feab:5001。session层算法扫描数据帧数据部分,读取第1字节(即消息标识符)为01h,则确定数据帧为init消息,按init消息格式继续读取后续数据。当判断第34字节为11h时,可确定传输层协议为udp,并按规则读取最后4字节分为作为源端口、目的端口。

s7,依据s6中解析结果,物联网网关g将

(2001_0da8_d813_0065_1201_0585_feab_5001h||2001_0da8_d818_0061_0000_0000_0000_1234h||f0bfh||f0b0h)

作为连接主参数,依据sha-3哈希加密算法,生成连接标识

connidi=ee36242abbe079a3

s8,物联网网关g将s6中获取的源mac地址作为目的mac地址,向物联网节点n发送response消息,response消息格式如图2所示,一个完成的response消息为

(802.15.4frameheader||02h||ee36242abbe079a3h)

s9,物联网节点n接收物联网网关g数据帧,读取session层第1字节为02h,判断为response消息,读取session层后续数据作为连接标识connidi并存储,若已存在连接标识,则用最新的连接标识进行替换。而后向物联网网关g发送确认消息,确认消息格式如图3所示,一个完整的确认消息为

(802.15.4frameheader||03h||ee36242abbe079a3h)

s10,物联网网关g接收到确认消息后,将连接标识connidi加入连接标识池,并设定剩余有效时间为10min。

s11,连接标识connidi加入连接标识池后,填充通信参数-连接标识connid映射表,在本次实施案例中,对应的表项为(其中跳数限制应减1);

[ee36242abbe079a3→2001_0da8_d813_0065_1201_0585_feab_5001h,2001_0da8_d818_0061_0000_0000_0000_1234h,11h,feh,f0bfh,f0b0h]

s12,在填充通信参数-连接标识connid映射表的同时,依据s6解析结果中的源mac地址、源ipv6地址,填充“节点mac地址-节点ipv6地址”映射表。

s13,物联网节点n采集传感数据,或生成访问数据,结合特定应用层报头,形成应用层数据。

s14,物联网节点n进行data消息封装与发送,data消息格式如图4所示,一个完整的data消息为

(802.15.4frameheader||ffh||ee36242abbe079a3h||applicationdata)

s15,物联网网关g接收物联网节点n的数据帧,读取session层第1字节为ffh,判断为data消息。继续读取后续8字节连接标识connidi并依据connidi查询连接标识池,记录connidi位置信息并更新剩余有效时间为10min。若在连接标识池中未查询到connidi,物联网网关g将通知物联网节点n重新进行连接标识connid协商。

s16,物联网网关g依据连接标识connidi位置信息快速查找通信参数-连接标识connid映射表,结合所查询的通信参数,封装为可直接运行在ipv6网络环境下完整的ipv6数据包,其中完整ipv6数据包的应用层数据为data消息应用层数据,ipv6报头及传输层报头各字段由所查询出的通信参数相应填充,其他在通信参数中无对应项的字段,若为版本号,则填充数值0x6,若为有效载荷长度,则扫描计算除基本报头外的其他字段长度并进行填充,否则全部填充比特0。

s17,物联网网关g辅助物联网节点n,将完整的ipv6数据包传输至ipv6网络,依据ipv6网络路由策略,最终传送至目标ipv6网络服务器s。

s18,若物联网节点n有后续数据进行传输,则重复执行s13~s17,实现物联网节点n基于连接标识connid接入ipv6网络进行数据通信。

为考虑数据双向通路及节点移动性,本发明的具体实施方式进一步说明了数据下行传输及节点网络环境变化后的数据通信情况。

s19,ipv6网络服务器s将物联子网传送而来的ipv6数据包中源ipv6地址的接口标识作为物联网节点标识,并读取源ipv6地址中的网络前缀,添加至节点标识-网络前缀映射表。当源ipv6地址中接口标识相同但网络前缀不同时,新的网络前缀将替换原映射表中的网络前缀。

s20,ipv6网络服务器s准备好发往物联网节点n的指令数据,依据物联网节点n的节点标识查询节点标识-网络前缀映射表,获取物联网节点完整的ipv6地址,即2001:da8:d813:65:1201:0585:feab:5001,而后封装为完整的ipv6数据包并发送。

s21,经过ipv6网络路由,传输至物联网网关g,物联网网关接收来自以太网的ipv6数据报文后,依据目的ipv6地址查找节点mac地址-节点ipv6地址映射表。若未查找到,则丢弃该报文;否则,解析ipv6数据报文,并将应用层指令数据重新封装为指令消息,发送至物联网节点n。指令消息的消息标识符为aah,一种完整的指令消息为

(802.15.4frameheader||aah||instructiondata)

s22,物联网节点n在物联网网关g的通信范围内移动,其网络环境不变,不影响数据通信。当物联网节点n移动至新的物联网网关g′通信范围时,将重新执行初始化过程s1~s5,接收物联网网关g′广播的信标帧,并获取新的全局路由前缀2001:da8:d813:66::/64,生成新的ipv6地址。而后执行步骤2,与物联网网关g′协商连接标识connidj。

s23,物联网网关之间进行定期协商同步,当物联网网关g′发现物联网网关g的节点mac地址-节点ipv6地址中同样存在物联网节点n的mac地址,则立即向ipv6网络服务器s发送数据报文(应用层数据为空),其中源ipv6地址即为物联网节点新的ipv6地址。

s24,ipv6网络服务器s执行s19,在节点标识-网络前缀映射表中,用物联网节点n新的ipv6地址网络前缀替换原有的网络前缀。

基于上述过程s19~s24,本发明同样可以有效满足下行传输需求,且当节点因移动而改变网络环境时,其双向数据通信亦能够顺利进行。

以上结合附图详细描述了本发明的优选实施方式,但是,本发明并不限于上述实施方式中的具体细节,在本发明的技术构思范围内,可以对本发明的技术方案进行多种简单变型,这些简单变型均属于本发明的保护范围。

另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本发明对各种可能的组合方式不再另行说明。

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