物联网与IPv6

转载 2013年12月04日 22:14:43
http://wenku.baidu.com/view/160e0fc45fbfc77da269b1e1.html











  

在8位的处理器上,只有数千字节的内存空间,这样的环境中直接应用IPv6协议还存在一些问题,因此多个标准化工作组制订的标准都对IPv6协议做了简化和优化,本文主要介绍这些“轻量级IPv6协议”技术标准化的相关进展。 2 轻量级IPv6协议 
轻量级IPv6协议的技术标准主要在IETF完成制订,然后在IPSO,Zigbee,ISA等标准组织中具体应用。轻量级IPv6主要解决几个方面的问题,首先是协议栈方面,IPv6协议如何适配到物联网节点的链路层和物理层上。其次是路由问题,如何针对轻量级IPv6节点设计路由协议。最后还有应用层的问题,即如何设计一个能在受限节点上运行的应用层协议,承载各种不同的业务。 
IETF成立了三个工作组来进行低功耗IPv6网络方面的研究。6LowPan(IPv6 over Low-power and Lossy Networks)工作组主要讨论如何把IPv6协议适配到IEEE 802.15.4 MAC层和PHY层协议栈上的工作。RoLL(Routing Over Low power and Lossy networks)工作组主要讨论低功耗网络中的路由协议,制订了各个场景的路由需求以及传感器网络的RPL(Routing Protocol for LLN)路由协议。CoRE(Constrained Restful Environment)工作组由6LowApp兴趣小组发展而来,主要讨论资源受限网络环境下的信息读取操控问题,旨在制订轻量级的应用层协议(Constrained Application Protocol, CoAP)。 2.1 6LowPan工作组 
6LowPan工作组成立于2006年,属于IETF互联网领域。该工作组已完成两个RFC:《在低功耗网络中运行IP6协议的假设、问题和目标》(RFC4919, Informational);《在IEEE802.15.4上传输IPv6报文》(RFC4944, Proposed Standard)。 
在IEEE 802.15.4网络中运行IPv6协议的主要挑战来自于两个方面,一方面802.15.4物理层支持的最大帧长度是127字节,而IPv6的报头就占据了40字节,再加上MAC层报头,安全报头、传输层报头的长度,实际能够给应用层使用报文长度变得非常小。另一方面,IPv6协议(RFC2460)中规定的MTU值最小是1280字节,表明IP层最小只会把数据包分片到1280字节。如果链路层支持的MTU小于此值,则链路层需要自己负责分片和重组。所以,6LowPan工作组为IEEE 802.15.4设计了一个适配层,把IPv6数据包适配到IEEE 802.15.4规定的物理层和链路层之上,支持报文分片和重组,同时6LowPan规定了IPv6报头的无状态压缩方法,减小IPv6协议带来的负荷。6LOWPAN工作组的工作在低功耗节点协议栈中的位置如图1所示。 
 
图1 6LowPan协议栈模型 
报头压缩的主要原理是通过压缩编码省略掉报头中冗余的信息。不包含扩展头的IPv6报头一共有40个字节,但是在网络感知层,IPv6报头中的很多信息可以省略或者压缩,IPv6报头中的各个信息域
TCP/UDP IPv6 6lowPAN 802.15.4 MAC 802.15.4PHY 
Sensor TCP/UDP IPv6 6lowPAN 802.15.4MAC 802.15.4PHY 
Sensor/GW 












  

的压缩方法如下: 
 版本号Version (4位): 取值为6,在运行IPv6协议的网络中,此项可以省略;  流类型Traffic class (8 位):可以通过压缩编码压缩;  流标识Flow label (20位):可以通过压缩编码压缩; 
 载荷长度Payload Length (16位):可以省略,因为IP头长度可以通过MAC头中的载荷长度字段计
算出来; 
 下一个头Next Header (8位):可以通过压缩编码压缩,假设下一个头是UDP, ICMP, TCP或者扩展
头的某一种; 
 跳极限Hop Limit (8位):唯一不能够进行压缩的信息; 
 源地址Source Address(128位):可以进行压缩,省略掉前缀或者IID; 
 目标地址Destination Address (128位):可以进行压缩,省略掉前缀或者IID;  
为了对IPv6报头进行无状态压缩,6LowPan工作组制定了两种压缩算法LOWPAN_HC1(RFC4944[2])和LOWPAN_IPHC (draft-ietf-6lowpan-hc-08),其中HC1算法用于使用本地链路地址(Link-local Address)的网络,节点的IPv6地址前缀固定(FE80::/10),IID可以由MAC层的地址计算而来,但是这种算法不能有效压缩全局的可路由地址和广播地址,因此不能用于LOWPAN网络与互联网互访的应用。LOWPAN_IPHC算法的提出主要是为了压缩可路由的地址,目前LOWPAN_IPHC算法正在IESG最后征求意见。 
除了IPv6无状态报头压缩的方法之外,6LOWPAN工作组还制定了一系列相关标准,包括支持mesh 路由的方法,简化的IPv6 Neighbor Discovery协议,应用场景和路由需求等等几个关键的技术规范。6LowPan工作组是IETF物联网IPv6工作的发源地,其中的很多研究和探索直接影响到了另外几个工作组的成立和方向,下面将分别介绍。  
2.2 IPv6路由工作组RoLL 
RoLL(Routing over Lossy and Low-power Networks)工作组于2008年2月成立,属于IETF路由领域的工作组。IETF RoLL工作组致力于制定低功耗网络中IPv6路由协议的规范。ROLL工作组的思路是从各个应用场景的路由需求开始,目前已经制定了四个应用场景的路由需求,包括家庭自动化应用(Home Automation, RFC5826)、工业控制应用(Industrial Control, RFC5673)、城市应用(Urban Environment, RFC5548)和楼宇自动化应用(Building Automation, draft-ietf-roll-building-routing-reqs)。 
为了制订出适合低功耗网络的路由协议,ROLL工作组首先对现有的传感器网络的路由协议进行了综述分析,工作组文稿draft-ietf-roll-routing-survey[3]分析了相关协议的特点以及不足。然后研究了路由协议中路径选择的定量指标。ROLL工作组文稿draft-ietf-roll-routing-metrics[4]包含两个方面的定量指标,一方面是节点选择指标,包括节点状态,节点能量,节点跳数(Hop count);另一方面是链路指标,包括链路吞吐率、链路延迟、链路可靠性、ETX、链路着色(区分不同流类型)。同时为了辅助动态路由,节点还可以设计目标函数(Objective Function)来指定如何利用这些定量指标来选择路径。 
在路由需求、链路选择定量指标等工作的基础上,ROLL工作组研究制定了RPL(Routing Protocol for LLN)协议。RPL协议[5]已经完成最后意见征集,不久就会正式成为RFC。RPL协议支持三种类型的数据通信模型,即低功耗节点到主控设备的多点到点的通信,主控设备到多个低功耗节点的点到多点通信,以及低功耗节点之间点到点的通信。RPL协议是一个距离向量路由协议,节点通过交换距离向量构造一个有向无环图(DAG, Directed Acyclic Graph)。DAG可以有效防止路由环路问题,DAG的根节点通过广播路由限制条件来过滤网络中的一些不满足条件的节点,然后节点通过路由度量来选择最优的路径。 












  

2.3 IPv6应用工作组CoRE 
2010年3月,CoRE(Constrained RESTful Environment)工作组正式成立,属于应用领域(Application Area)。CoRE起源于6lowapp兴趣组(BOF),主要讨论受限节点上的应用层协议。随着讨论的深入,IETF技术专家把工作组的内容界定在为受限节点制定相关的REST形式的协议上。REST(Representational State Transfer)是指表述性状态转换架构,是互联网资源访问协议的一般性设计风格。REST提出了一些设计概念和准则:网络上的所有对象都被抽象为资源;每个资源对应一个唯一的资源标识;对资源的各种操作不会改变资源标识;对资源的所有操作是无状态的。HTTP协议就是按照REST准则设计的协议。在资源受限的传感器网络中,HTTP过于复杂,开销过大,因此也需要设计一种符合REST准则的协议,这就是CoRE工作组正在制订的CoAP协议(Constrained Application Protocol)[6]。 
应用CoAP协议之后,互联网上的服务就能够直接通过CoAP协议或者通过HTTP与CoAP协议之间的网关来进行资源读取、修改、删除等操作。图2显示了CoAP协议在传感器、网关、互联网服务器上的呈现。图2(a)显示了CoAP通过网关与HTTP协议进行转换的方式,图2(b)显示了传感器节点直接与支持CoAP协议的互联网服务器进行信息交互的方式。图中也显示了,在这两种方式中节点和网关的协议栈都是建立在IPv6和6Lowpan协议栈之上的,但是实际上目前CoAP的实现也是支持IPv4的。  
 
图2 利用CoAP协议进行资源访问的节点、网关和服务器的协议栈 
除了CoAP协议,资源受限环境中的资源发现、安全、API等都在CoRE工作组的工作范围之内,相关的工作正在积极地展开。 3 轻量级IPv6协议的相关应用 3.1 IPSO Alliance 
IPSO Alliance(IP Smart Object Alliance)即IP智能物体产业联盟,是推动IETF所制订的轻量级IPv6协议相关应用的产业联盟。IPSO成立于2008年9月,其发起组织包括CISCO, Ericsson, SUN等电信和互联网厂商,也包括一些传统的传感器网络的芯片和器件厂商,如Atmel, Freescale, Arch Rock, Sensinode等。 
IPSO联盟的主要目的是推动智能IP解决方案的产业实施,实现智能IP解决方案的技术优势。IPSO












  

分析了现有传感器网络系统和控制系统中方案的问题,特别是这些方案长远来看在大规模系统中难以互通的问题,指出IP技术作为一种成熟和高度互通的方案,是市场和技术的最优选择。IPSO目前的工作包括:引起产业界对IP智能物体解决方案的重视,利用现有方案并且进行技术开发;产出一系列帮助厂商开发的指导性研究报告、白皮书和应用场景;从市场层面辅助IETF组织的工作;连接起全世界支持IP智能感知和控制系统的公司;协调和组织市场推动工作;组织互通性测试。 
目前IPSO已经产出五份白皮书,包括: (1)《IP协议带来的优势》 (2)《智能物体的轻量级IPv6协议栈:来自三个独立互通实现的经验》 (3)《6LOWPAN介绍》 (4)《6LOWPAN邻居发现协议概览》 (5)《智能物体的网络安全》  IPSO主要基于IETF所制订的技术标准,以此来推动应用和产业发展,进行互通性测试,资质认证等等工作,是IETF物联网技术的主要推动者。 3.2 Zigbee Alliance 
Zigbee是IEEE 802.15.4组织对应的产业联盟。Zigbee制订了短距离无线通信标准的网络层和应用层,针对不同的应用制订了相应的应用规范。Zigbee对应的物理层和链路层是在IEEE 802.15.4组织研究制订的。 
Zigbee目前正式发布的规范涵盖了下面几种应用:智能电力,遥控,家庭自动化,医疗,楼宇自动化,电信服务应用,零售服务应用等。Zigbee组织目前包含23个工作组和任务组,涵盖技术相关的工作组:架构评估、核心协议栈、IP协议栈、低功耗路由器、安全,以及应用相关的工作组:楼宇自动化、家庭自动化、医疗、电信服务、智能电力、远程控制、零售业务,还有与市场、认证相关的一些工作组。 
Zigbee最初是不支持IP协议的,目前Zigbee已经正式发布的应用规范都没有对IP协议的支持。但是随着IETF, IPSO相关工作的推进,以及Zigbee内部成员单位的推动,Zigbee的智能电力Smart Energy 2.0应用已经开始全面支持IP协议。同时,Zigbee内部成立了IP-stack工作组,专门制定IPv6协议在Zigbee规范中的应用方法[7]。Zigbee Smart Energy2.0应用也将采用IETF 6LowPAN制订的适配层,要求IEEE 802.15.4设备的网络中使用这种轻载的IPv6协议栈,同时把对6LOWPAN的支持作为一种必选。在应用层,新的规范也支持轻量级的CoAP协议。 3.3 ISA-100 
ISA(International Society of Automation)是无线传输在工控领域的产业联盟,ISA专门成立了一个由终端用户和技术提供者组成的ISA-100委员会,该委员会的主要任务是制定标准、推荐操作规程、起草技术报告等,用以定义工业环境下的无线系统相关规程和实现技术。ISA-100.11a工作组主要由以下十个子工作组组成:系统工作组、汇集工作组、PHY/MAC层工作组、安全工作组、网络/传输层工作组、网络管理工作组、评估工作组、应用层工作组、编辑工作组和网关工作组。其中在网络/传输层上,ISA-100.11a组织也要求支持RFC4944的网络层协议栈,支持6LOWPAN, IPv6协议和TCP/UDP。 4 中国移动的相关活动 
虽然IETF和其他标准化组织分别制订了轻量级IPv6协议的一些技术标准,但是这些相关的技术标准没有提供一些指导在不同场景下应用的规范,仍然会影响不同场景下产品之间的互通;并且TCP协议、HIP协议还有很多安全协议还没有完成轻量级的改造。针对这些问题,中国移动在2010年3月IETF第77












  

次大会上发起了轻量级协议设计(LwIP)的兴趣小组。约有80名IETF技术专家参加了这次非正式会议,其中包括IETF前主席,IAB成员、4位IESG成员、6位工作组主席,引起了较大反响。2010年7月在IETF第78次大会上,我公司继续推动轻量级协议设计的标准化工作,将致力于研究制订各种应用场景下轻量级协议应用的框架(profile),TCP协议在轻量级环境下应用的问题,以及指导协议开发实现的最佳实践的文件。这些工作将有效推进物联网环境中轻量级IPv6的应用,促进不同产品实现之间的互联互通。 5 结束语 
互联网的诞生地IETF制订了轻量级IPv6协议的相关标准,并且成为IPSO产业联盟、ISA-100组织的选择,以及Zigbee组织的发展方向。本文介绍了物联网轻量级IPv6协议标准化的动态,概括了相关技术标准的主要内容以及应用发展状况。物联网轻量级IPv6技术正日臻完善,未来会有越来越多的网络应用采用IPv6协议,实现真正的端到端的互联互通。

相关文章推荐

基于ipv6的物联网智能家居

  • 2012年02月24日 16:42
  • 32KB
  • 下载

物联网与IPV6(华为25P201004).pdf

  • 2013年01月09日 09:03
  • 1.89MB
  • 下载

IPv6技术在物联网中的应用及优势

物联网,英文名称叫“Internet of things”(简称IOT),也称为传感网、泛在网等。通俗地讲,物联网就是“物物相连的互联网”。即将各种信息传感设备通过互联网结合起来而形成的一个巨大网络。...
  • lchmcu
  • lchmcu
  • 2012年12月05日 16:44
  • 814

物联网感知层的IPv6协议标准化动态

核心提示:物联网(Internet of Things)的概念最初在1999年由美国麻省理工学院的Auto-ID实验室提出,其构想是通过RFID与无线传感器网络的结合来构建一个追踪货物的全球系统。In...

IPV6联网小技巧

IPV6联网小技巧 本文介绍如何使用IPV6上网以及如何通过IPV6访问IPV4的网站。

CentOS7彻底关闭IPV6

CentOS7彻底关闭IPV6
  • rznice
  • rznice
  • 2017年01月04日 10:38
  • 4122

最简XX-NET启用IPV6教程

使用xx-net的朋友最近肯定发现这个软件不好用了,所以有网友开发了使用IPV6上网的方法,本人经过实践,现将xx-net启用IPV6最简方法写出来。 先说明下本人的环境: windows 7 ...

IPV6学习之旅----1

学习IPV6有一段时间了,在接触网络协议之前,总觉得协议这东西不是一般人能搞的。但是学习了IPV6三个星期后,感觉协议也没以前想象的那么可怕。现在我大概总结一下这三个星期来的所学所想。 IPV6基础...

iOS 应用完全支持 IPv6-ONLY 网络

如何满足苹果要求 iOS 应用完全支持 IPv6-ONLY 网络? 最近一条新闻引起了我的注意: 注解 5月5日消息,苹果昨日向开发者发出提醒,App Store将于今年6月1日...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:物联网与IPv6
举报原因:
原因补充:

(最多只允许输入30个字)