一种基于物联网的下一代互联网协议报头压缩方法

文档序号:7749520阅读:179来源:国知局
专利名称:一种基于物联网的下一代互联网协议报头压缩方法
技术领域
本发明用于物联网和下一代Internet(因特网)互联中的关键技术之一,下一代 互联网协议,即IPv6报头压缩。主要解决如何物联网中采用精简IPv6的报头格式进行节 点之间的通信,属于物联网和互联网通信协议配置的交叉领域。
背景技术
我国《信息产业科技发展“十一五”计划和2020年中长期规划(纲要)》中将“智 能信息处理和物与物通信网络技术”确定为网络与通信领域11个主要技术领域之一,并将 之确定为我国需要重点突破的核心技术,其发展目标包括“重视射频标签、传感器网络等物 与物通信网络技术的研发,形成自主知识产权的核心技术和产品,打造完善的产业链;推广 射频识别、传感器网络技术在全社会的应用,形成一大批有示范效应的应用范例,为无处不 在、人与物共享的网络应用奠定基础”。简言之,就是要大力发展物联网事业,使其真正造福 人类。物联网的定义是通过射频识别、红外感应器、全球定位系统、激光扫描器等信息传 感设备,按约定的协议,把任何物品与互联网连接起来,进行信息交换和通讯,以实现智能 化识别、定位、跟踪、监控和管理的一种网络。物联网的概念是在1999年提出的。物联网 就是“物物相连的互联网”。这有两层意思第一,物联网的核心和基础仍然是互联网,是在 互联网基础上的延伸和扩展的网络;第二,其用户端延伸和扩展到了任何物品与物品之间, 进行信息交换和通讯。伴随着科技的日新月异,和嵌入式计算技术以及传感器技术的飞速 发展和日益成熟,物联网作为一种全新的信息获取和处理技术,将其监测重点转移到音频, 视频,图像等大数据量,大信息量的采集和处理。因为随着监测环境的日趋复杂和多变,传 统的无线传感器网络由于只能对简单的环境数据如温度、湿度、光照度等方面进行探测,这 些单一的数据显然不能满足人们对环境监测的全面需求,只有加上更加直观而又具体的图 像,音频,视频的信息,才能实现细粒度、精准信息的环境监测。另外随着嵌入在节点上面的 传感器件的高度集成化、廉价化比如CMOS摄像头,微型麦克风现如今都能方便的容易的集 成到传感器节点上面,加上节点上的处理芯片和通信芯片日渐强大,硬件方面来说已经完 全有能力处理和传输多媒体数据,为一些高级的应用提供了硬件保障,由此物联网应运而 生。自从RFC791于1981年发布以后,当前版本的IP协议(IPv4)就没有发生什么实 质性的变化。实践证明,IPv4是健壮的,易于实现的,并且具有很好的互操作性。它本身也 经受住了互联网络从小型发展到今天这种全球规模的考验。这些都是对IPv4协议初始设 计的肯定。然而,IPv4发展到今天也有一些不容忽视的问题逐渐暴露出来(1)地址空间即将耗尽。尽管IPv4协议可以最多容纳2的32次方即4294,967, 296个地址,但是谁都没有预料到互联网发展的速度居然如此迅速,再加上早前和现在的 IP地址分配准则把公共IP地址数目限制到了只有几百万个。此外,随着接入Internet的 设备和应用程序的数目日益增加,必然导致IPv4地址空间的最终耗尽,例如物联网,随着大规模应用的日渐普及,必然需要实现网间互联互通,这就要求更大的地址空间来满足节 点的地址需求。(2)简便的配置需求。在IPv4中很多的相关协议都需要用户自己手动配置,例如 邻居发现协议,这种配置方法对于规模较小的网络比较适用。随着越来越多的计算机和网 络设备使用IP协议,我们更迫切的需要一种更加简便而又可靠的地址配置方式。(3)真正的面向应用的技术支持。随着网络中数据的多样性,伴随而来的所需服 务也纷繁复杂,尽管IPv4中已有QoS标准,但是对于需要即时传输的实时数据现阶段还是 都依赖于协议中的服务类型字段,以及报文标识,而且这种报文标识通常使用UDP或TCP端 口,并且IPv4的服务类型字段功能十分有限,当经过一段时间以后,就会被重新定义。为了解决上述问题,IETF小组开发了一套新的协议和标准,S卩IPv6,它包含了以 往IPv4协议的众多优点,同时又加入了更多实用的新思想。但是因为它是针对Internet 开发的协议,其报头包含40个字节,所以要想应用到物联网中必须对其进行裁剪和优化。 作为下一代通信协议的重点发展对象,IPv6有着许许多多IPv4无法比拟的优势,当然这种 优势也日渐得到物联网研究人员的重视。因为随着科技的进步,网络的普及,传统的那种 以数据为中心的无线传感器网络研究思路也逐渐发生了变化,毕竟传感器网络的大规模应 用,诸如智能家居,医疗护理,公路铁路的列车定位,军事上通过飞机或者炮弹大面积的节 点播撒等等,这些常见的场景在应用过程中不仅仅需要我们关注传感器节点反馈给我们的 数据,在对于节点本身的信息要求,网络的管理等方面也逐步提高。IPv6作为下一代互联网 通信协议的核心,具有地址空间丰富、节点地址自动配置、移动性和自组织性好等优点,这 些优点恰恰可以满足物联网在地址和管理上面的需求。IP网络和物联网相互融合,利用各 自网络固有的优点,物联网提供物理设备和介质访问控制机制,IP网络提供TCP/IPv6的核 心协议,这样以来,两者有机结合就形成一种基于地址点对点、点对多点的通信解耦模式和 端对端的服务解耦模式,集通信、控制、传感等功能为一体的新型网络,去满足更广范围以 及更高要求的应用场景。

发明内容
技术问题本发明的目的在于设计出一种适用于物联网的IPv6报头压缩方法,既 要能体现出IPv6协议无法比拟的优势,又要兼顾到传感器网络的一些特点和局限性,把针 对互联网设计的IP通信协议加以改进,使其能够灵活的应用在物联网上面,从而实现传统 互联网之间更方便的网间通信。技术方案本发明的主要工作就是设计出一种适用于物联网的报头,借鉴下一代 互联网的通信协议IPv6的报头格式,在分析出这种报头格式的优缺点之后,对其进行精简 和优化,通过深入研究物联网数据链路层帧结构的形式,引入了控制域这个概念来实现在 物联网中采用IPv6报头格式这一设想。进而为以后的网间互联打下了良好的基础。该方法包括以下步骤步骤1).初始化控制域的首位判断下一代互联网协议(Internet Protocol version6,IPv6)数据包的类型,由于物联网中的数据类型很多,为了简化整个算法的流程, 网络中出现的数据大致可以分为两类,如果是传统的标量数据,则控制域的第一位BIT0置 为0 ;如果是图像、视频、多媒体数据,BIT0置为1 ;
步骤2).初始化控制域的第二位判断IPv6数据包的类型,传感器网络具有两 种服务模式,一种是基于事件驱动的服务模式,另一种是基于查询驱动的服务模式;第一 种模式是在网络中被检测的区域出现异常所产生的报警信息,这类型的数据对服务质量 (Quality of Service,QoS)的要求很高,需要立即无差错的送到终端,当判断出IPv6数据 包为此种类型的数据时,控制域第二位(BIT1)置为1 ;其他置为0 ;步骤3).初始化控制域的第三位和第四位根据上层协议的具体类型来初始化 第二位(BIT2)和第三位(BIT3),00表示没有压缩,即它们会出现在上层协议数据单元里 面,01表示报头里面的有效载荷字段是因特网控制报文协议(InternetControl Message Protocol, ICMP)报文,10表示报头里面的有效载荷字段是UDP报文,11暂时预留给TCP协 议;步骤4) 读取跳数限制(HL)HopLimit ;步骤5).处理源地址前缀分析原始IPv6报头的源地址前缀,如果和下一跳的地 址前缀相同则压缩地址前缀;如果和下一跳的地址前缀不同,则复制不相同的地址前缀;步骤6).处理源地址子网地址如果源地址当中的子网地址是节点的标识,则压 缩子网地址;若源地址当中的子网地址不是节点标识,则复制不相同的子网地址;步骤7).处理目的地址前缀如果目的地址的前缀和下一跳地址前缀相同,则压 缩目的地址前缀;如果目的地址前缀和下一跳地址前缀不相同,则复制不相同的地址前
5双;步骤8).处理目的地址的子网地址如果目的地址的子网地址是节点标识,则压 缩子网地址,否则,复制不相同的子网地址。有益效果因为传感器网络资源有限,所以节省开销就成了头等大事,进一步考 虑,当网络采用某种体系结构时,节点传输每一比特信息所消耗的能量,可能是处理这一信 息的一千倍,这就强迫我们必须要把待传输的信息压缩到最简,另外在物联网中会有大量 的图像和视频,其信息量要比传统传感器网络大的多,除了要采用合适的图像和视频压缩 算法之外,对报头的压缩工作也显得尤为重要,在6LoWPAN适配层所要完成的工作中,报头 压缩是所有工作的基础,是节省能量的关键,下面将介绍本发明中的针对物联网的IPv6报 头压缩算法。


图1是基于IPv6的物联网体系结构图,图2是报头控制域格式图,图3是本发明的报头压缩算法流程图。
具体实施例方式一、体系结构虽然IPv6有着种种优点,但是因为它是针对Internet所研究设计的协议栈而没有考虑到物联网自身的一些局限性,比如带宽的限制,能量的有限,处理器的功能 不强大等等,所以这两种网络要想真正的融合在一起必须对其进行一定的修改,所以我们在设计基于IPv6的物联网时,必须要考虑全面,既要能体现出IPv6协议无法比拟的优势,又要兼顾到传感器网络的一些特点和局限性,节点的体系结构设计要能 够满足造价低、功耗小、便于组网等方面特性,综合上面几点我们设计出大致的体系结构如 图1所示。物理层定义了物理无线信道和MAC子层之间的接口,提供物理层数据服务和物理 层管理服务,以保证能够正常的从物理信道上收发数据和维护相关的数据库。我们仍采用 传统传感器网络的构架,采用0QPSK的调制方式,频段为2. 4G。数据链路层方面,我们假设以IEEE 802. 15. 4介质接入控制为标准,采用上一章 节提到的竞争窗口自适应的MAC协议,提供两种必要的服务MAC层数据服务和MAC层管理 服务,前者保证MAC协议数据单元在物理层数据服务中的正确收发,后者维护一个存储MAC 子层协议状态相关信息的数据库。6LoWPAN适配层是一个全新的概念,是IETF与2004年11月提出的一个标准,主要 工作是致力于如何将IPv6和802. 15. 4相结合,实现IPv6数据包在802. 15. 4上的传输,而 适配层的主要目的和所做的工作会在下面一节详细叙述。网络层是由IPv6微型协议栈和若干相关的协议组成,微型协议栈的主要工作是 负责IPv6数据的封装和解析,实现与现有的TCP/IP协议体系网络进行端到端的通信。网 络层的协议众多,IPv6基本协议栈核心协议的最基本功能,包括IPv6基本描述协议、ND (邻 居发现)协议、ICMPv6 (因特网控制报文)协议和IPv6地址的自动配置协议等。应用层的概念比较容易理解,就是为物联网提供各种应用程序的集合,支持网络 管理,数据查询和服务发现等,总体来说实现一个终端的接口,以达到和管理人员的交互操 作。二、方法流程首先,我们注意到IEEE 802. 15. 4MAC帧结构采用了利用控制域来确定具体帧格 式的方法,类似于一种自适应的结构,从而不必每个帧都采用最坏的可能情况。采用这样一 种方式就可以有效的缩短实际传输中大部分MAC帧的大小,降低了发送帧所消耗的能量。 类似的思想同样适用于IPv6的报头压缩。其次,在一般情况下,IPv6报文头部的版本、通信流类别和流标签字段都是常数,而有效载荷长度这一字段的值是可以通过MAC帧中的长度域计算出来的,同 时根据物联网的特点,上层协议我们都是采用几种简单的协议类型即可,如UDP,ICMP等,因此也可以对除了地址字段之外的其他字段进行压缩。根据MAC帧结构 的方式引入控制域这一思想,控制域后是其他没有压缩的IPv6报头其他字段,控制域的一 个字节8位分别代表了各个字段不同的状态,如图2所示,控制域当中每一位代表的意思不 尽相同。(l)bitO代表通信流类别,0表示所传输的数据是一般类型,1表示所传输的数据 是多媒体类型;(2) bitl表示流标签的数值,0表示所传输的数据对QoS没有需求,1表示所传输的 数据对QoS有要求;(3)bit2-3表示下一报头的状态,00表示没有压缩,即它们会出现在上层协议数 据单元里面,01表示报头里面的有效载荷字段是ICMP报文,(4) 10表示报头里面的有效载荷字段是UDP报文,11暂时预留给TCP协议,虽然传感器网络的特点决定了 TCP并不适用,但还是预留给TCP ;(5)bit4-5表示源节点的地址,00表示地址没有压缩,报文中将包含完整的源地 址,01表示带IPv6地址前缀,不带子网地址,10表示不带IPv6地址前缀,带子网地址,11表 示没有源地址,直接从接受节点的IPv6地址信息和MAC层地址获得;bit6-7表示目的节点 的地址,00表示地址没有压缩,报文中将包含完整的源地址,01表示带IPv6地址前缀,不带 子网地址,10表示不带IPv6地址前缀,带子网地址,11表示没有源地址,直接从接收节点的 IPv6地址信息和MAC层地址获得。引入了控制域后,再对本发明的报头压缩算法作进一步的论述。控制域的前4位 我们很容易理解它们各自的功能,难点在于后4位的取值,何种情况下我们对地址前缀压 缩,何种情况下我们又对子网地址压缩,这是我们要解决的难点,同时如果目的地址和源地 址不在同一个子网中,即地址前缀不相同时,这样我们就无法对其进行压缩,但是在互联网的实际应用中,即使给定的前缀长度和地址长度不相 同,一部分地址还是有可能进行压缩的,这里我们需要弓I入一个额外的字节来实现,不是简 单的将前缀地址复制到压缩的IPv6报文控制域后面,而是用额外字节的高4位来指示地址 与接收节点的IPv6地址前缀不相同的字节数,而低4位则可以在子网地址的压缩过程中进 行使用,不需要再引入额外的字节,从而最大限度的节省传输所消耗的能量。工作流程步骤1)初始化控制域的首位。判断IPv6数据包的类型,由于物联网中的数据类 型很多,但是为了简化整个算法的流程,我们就假设网络中出现的数据大致可以分为两类, 如果是传统的标量数据,例如温度、湿度等,则控制域的BIT0置为0 ;如果是图像、视频等多 媒体数据,BIT0置为1。步骤2)初始化控制域的第二位。判断IPv6数据包的类型,传感器网络具有两种服 务模式,一种是基于事件驱动的服务模式,另一种是基于查询驱动的服务模式。第一种模式 往往是在网络中被检测的区域出现异常所产生的报警信息,这类型的数据对QoS的要求很 高,需要立即无差错的送到终端,当判断出IPv6数据包为此种类型的数据时,控制域BIT1 置为1 ;其他置为0。步骤3)初始化控制域的第三位和第四位。根据上层协议的具体类型来初始化 BIT2和BIT3,00表示没有压缩,即它们会出现在上层协议数据单元里面,01表示报头里面 的有效载荷字段是ICMP报文,10表示报头里面的有效载荷字段是UDP报文,11暂时预留给 TCP协议。步骤4)读取跳数限制。步骤5)处理源地址前缀。分析原始IPv6报头的源地址前缀,如果和下一跳的地 址前缀相同则压缩地址前缀;如果和下一跳的地址前缀不同,则复制不相同的地址前缀。步骤6)处理源地址子网地址。如果源地址当中的子网地址是节点的标识,则压缩 子网地址;若源地址当中的子网地址不是节点标识,则复制不相同的子网地址。步骤7)处理目的地址前缀。如果目的地址的前缀和下一跳地址前缀相同,则压缩 目的地址前缀;如果目的地址前缀和下一跳地址前缀不相同,则复制不相同的地址前缀。步骤8)处理目的地址的子网地址。如果目的地址的子网地址是节点标识,则压缩 子网地址,否则,复制不相同的子网地址。
权利要求
一种基于物联网的下一代互联网协议报头压缩方法,该方法包括以下步骤步骤1).初始化控制域的首位判断下一代互联网协议IPv6数据包的类型,由于物联网中的数据类型很多,为了简化整个算法的流程,网络中出现的数据分为两类,如果是传统的标量数据,则控制域的第一位置为0;如果是图像、视频、多媒体数据,则置为1;步骤2).初始化控制域的第二位判断IPv6数据包的类型,传感器网络具有两种服务模式,一种是基于事件驱动的服务模式,另一种是基于查询驱动的服务模式;第一种模式是在网络中被检测的区域出现异常所产生的报警信息,这类型的数据对服务质量QoS的要求很高,需要立即无差错的送到终端,当判断出IPv6数据包为此种类型的数据时,控制域第二位置为1;其他置为0;步骤3).初始化控制域的第三位和第四位根据上层协议的具体类型来初始化第二位和第三位。00表示没有压缩,即它们会出现在上层协议数据单元里面,01表示报头里面的有效载荷字段是因特网控制报文协议ICMP报文,10表示报头里面的有效载荷字段是UDP报文,11暂时预留给TCP协议;步骤4).读取跳数限制;步骤5).处理源地址前缀分析原始IPv6报头的源地址前缀,如果和下一跳的地址前缀相同则压缩地址前缀;如果和下一跳的地址前缀不同,则复制不相同的地址前缀;步骤6).处理源地址子网地址如果源地址当中的子网地址是节点的标识,则压缩子网地址;若源地址当中的子网地址不是节点标识,则复制不相同的子网地址;步骤7).处理目的地址前缀如果目的地址的前缀和下一跳地址前缀相同,则压缩目的地址前缀;如果目的地址前缀和下一跳地址前缀不相同,则复制不相同的地址前缀;步骤8).处理目的地址的子网地址如果目的地址的子网地址是节点标识,则压缩子网地址,否则,复制不相同的子网地址。
全文摘要
一种基于物联网的下一代互联网协议报头压缩方法,主要解决在采用IPv6协议作为主要通信协议的传感器网络中,针对物联网能量有限,数据多样化的特点,分析和借鉴了物联网数据链路层所采用的帧结构形式,设计了一种报头压缩算法,该算法引入了控制域这一概念,从而把传统的报头格式里的一些字段进行了压缩,与此同时又照顾到了物联网数据类型丰富的特点,很好的权衡了QoS的保障和能量有限这两个矛盾的因素,同时又为物联网和下一代互联网之间的互联互通打下了良好的基础。
文档编号H04L29/12GK101854361SQ20101017967
公开日2010年10月6日 申请日期2010年5月21日 优先权日2010年5月21日
发明者凡高娟, 叶宁, 孙凯, 孙力娟, 沙超, 王汝传, 肖甫, 黄小桑, 黄海平 申请人:南京邮电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1