物联网环境下IPv6与IPv4共存与过渡研究

2018-01-09 14:38王飞
电脑知识与技术 2017年34期
关键词:物联网

王飞

摘要: 目前逐渐从基于虚拟信息的网络时代进入到万物互联的物联网时代,但是连接网络的可用IPv4地址已经枯竭。IPv6将逐渐成为解决因特网网络地址来源的主要途径,同时也为物联网的大规模应用提供了可能。由于因特网主干网络仍然基于IPv4地址运行着,将长期存在IPv6与IPv4共存局面,必须通过一些可行的过渡策略去解决二者的共存问题。

关键词:IPv6;IPv4;物联网;隧道技术;双协议栈

中图分类号:TP393.04 文献标识码:A 文章编号:1009-3044(2017)34-0047-03

Abstract:Today is changing from the virtual information Based on the Internet age into the Internet of things Internet era, but the connection network available IPv4 address has been exhausted. IPv6 will gradually become the main way to solve the Internet network address source, which will be possible for the large-scale application of the Internet of Things. As the Internet backbone network is still Based on IPv4 address running, there will be long-term coexistence of IPv6 and IPv4 situation, and some feasible transition strategy should be designed to solve the coexistence of the two issues.

Key words:IPv6; IPv4; IoT; tunnel technology; bi-protocol stack

因特网(Internet)已经成为人类生活的一部分,深刻影响着人们的工作、学习、社交以及日常生活。[1] 已经从基于信息的互联网时代进入到“万物互联”的物联网时代。物联网的核心是因特网,因为需要连接的物体都必须分配可访问的IP地址,然而使用的是IPv4版本(IP version 4)的地址已经不能满足这样的需求。为有效提升IP地址空间和使用效率进行过相关研究并引入过一些方法和策略,譬如:地址转换协议(Network Address Translation, NAT)、可变长子网划分(Variable Length Subnetwork Mask ,VLSM)、無类别域间路由(Classless Inter-Domain Routing, CIDR)等方法,确实有效提高了IPv4地址的使用效率,对IP地址的使用起到一定的缓解作用,但终究是不能满足日益膨胀的因特网应用及物联网工程的需求。引入下一代互联网协议—— IPv6版本(IP version 6)已经成为必然,[2]主要因为IPv6拥有海量的IP地址空间,其绝对量已经非常之大完全可以解决IPv4地址空间不足的问题,满足物联网的需求。由于当前主要网络应用、因特网主干网、物联网设备等仍然是基于IPv4的协议标准,同时小规模IPv6网络已经开始建立并尝试着应用。因此,如何处理IPv4与IPv6的共存和过渡迁移是值得研究的问题。

1 IPv4与IPv6的区别

IPv6是由互联网工程任务组(The Internet Engineering Task Force,IETF)于1998年开发的下一代互联网协议或下一版本的互联网协议。IPv4就是互联网的传统IP协议,即互联网协议(IP,Internet Protocol)的第四版,被广泛应用于互联网的构建中,是现今互联网技术的应用基石协议。IPv6与IPv4的区别表现在以下方面:

(1) 地址空间数量不同

IPv4中规定IP地址长度为32,即有232-1个地址;而IPv6中IP地址的长度为128,即有2128-1个地址。

(2) 地址格式不同

IPv4的32位地址,由4个地址节组成,每个地址节长8位,用十进制书写,地址节之间用点号(“.”)分隔,如:127.0.0.1和192.168.1.2这样的IP地址都是典型IPv4地址。而IPv6的128位地址,由8个地址节组成,每个地址节长16位,用十六进制书写,地址节之间用冒号(“:”)分隔,如:CDEA:1025:CCAA:3435:1111:3900:5498:2013是合法的IPv6地址。

(3) 报头结构不同

IPv4的报头采用32位的结构组织,由13个字段构成。如表1所示。

IPv6的报头其长度为 40字节,有8个必要字段[3]。如表2所示。

(4) 服务质量(QoS)不同

由于IPv4协议面向无连接的、不可靠的、点对点的分组发送服务,这种基于“尽力投递”的传输机制难以保证良好的带宽、低的时延和低的丢包率,而且流量控制也很难实现。但是IPv6精简了报头信息,并且采用聚类机制减小了路由表容量,有效提高了通过路由转发数据包的速度,服务质量(Quality of Service, QoS)性能改善能够提供比IPv4更强大的数据处理能力。

(5) 移动应用和自动配置不同

IPv4仅支持单个移动IP服务,而且其结点配置较为复杂。对于IP地址经常需要变化的结点以及移动应用需求,尽管可以使用动态主机配置协议(Dynamic Host Configuration Protocol, DHCP),但是无法实现“无状态自动配置”功能,也就无法支持“即插即用”。在DHCP的基础上,IPv6完全支持自动配置地址,既可以是全状态也可以是无状态的场景,极大地提高了管理网络的效率,符合移动应用、自动配置、即插即用的使用要求。

(6) 安全性能不同

由于IPv4本身结构存在固有安全漏洞,缺乏对网络层数据包的真实性、安全性和私有性认证机制。IPv6可以实现网络层数据加密并校验,因为该协议内置了必选的IPsec安全协议,通过完善的认证机制保证了数据的完整性,通过加密算法保证了数据的机密性,通过端到端加密保证了数据传输的安全性。

2 IPv4与IPv6共存方式及过渡策略

IPv6作为新的联网协议的标准,有很多IPv4不具备的优点,如超大地址空间、简化的数据包头、安全认证机制等。由于IPv4的发展及应用已有比较长的历史,现有的网络及其连接设备几乎都支持IPv4,因此直接从IPv4转换到IPv6是无法完成,短时间实现也是不切合实际的。而是IPv4与IPv6会在一个环境中共存一段相当的时间。必须逐渐平稳的转换,建立良好的转换机制使得对现有的使用者影响最小。而且IPv6必须能够解决从IPv4转换后的遗留问题,尤其是用户的投资、使用习惯、管理难易等。所以从IPv4向IPv6的演进必须是平滑渐进的。IPv4向IPv6的过渡或迁移一定会需要相当长的时间才能实现。[3]因此,两种协议必然会有共存期,两种协议也必须支持互操作性。

随着IPv6协议的逐渐推广应用,因特网中基于IPv6的网络和基于IPv4的网络规模终将出现此消彼长的局面,正如前面所述,但二者必然会长期共存,不同阶段共存的方式会有所不同,主要存在的形式及过渡策略如下:

2.1 IPv6 over IPv4

现行的因特网依然将IPv4作为骨干网络的运行协议,虽然局部出现了小规模的试运行的IPv6网络,但是这些小规模的IPv6网络还是被运行着IPv4协议的主干网络隔离开来,从而变成了“IPv6孤岛”。为了让这些IPv6網络实现真正的互联互通,目前也只能通过IPv4骨干网络将它们起来,并借助于相应的转换机制和管理策略才能得以实现。

针对现阶段小规模IPv6网络的应用情况,要实现将这些IPv6网络相互联通,可以使用隧道技术[4]。网络隧道(Tunnel)技术就是采用运行于IPv4协议的因特网骨干网络将处于某个或某些局部的IPv6网络连接起来,最终实现IPv6网络与IPv4网络互通的技术,其中IPv4网络的骨干网起到的作用就是“隧道”。从网络协议结构上来讲,隧道就是将其中一种协议的报头信息封装于另一种协议报头之中。这样就可以实现一种协议通过另一种协议的封装进行互联互通。如果将IPv4骨干网作为隧道,也就是说将发送端IPv6报头信息封装于IPv4报头之中,在数据转发过程中,实现了IPv6协议数据包穿越IPv4网络的情况,接收端通过解封装得到IPv6报头信息并且转发至目的网络,完成IPv6网络之间的通信。这一过程的实现可以采用两种建立隧道的机制:手工配置建立隧道和自动建立隧道。其工作原理如图1所示。

2.2 IPv6 to IPv4

当IPv6网络规模的扩大到一定程度,可以通过在IPv6结点中嵌入IPv4协议栈的方式来实现IPv6结点与IPv4结点互相通信。[5]这种兼有双协议栈的结点被称作“IPv4/IPv6结点”,这些结点既可以收发IPv4分组,也可以收发IPv6分组。不仅可以使用IPv4协议实现IPv4结点互通,也可以直接使用IPv6协议实现IPv6结点互通。要求该网络链路中至少有两台路由器同时支持双栈。[6]

这种机制借助于中继路由器(Relay Router)完成通信,中继路由器有时也称为双栈路由器,通过在该双栈路由器上运行边界网关协议(Border Gateway Protocol version 4,BGP4)就可以实现两个端点之间非IPv4连接的通信。由于从正常IPv4链路中收发的数据流都是按照IPv4协议标准来处理。同样从正常的IPv6网络收发的数据流也是按照IPv6协议标准被处理。在实现的过程中可以采用附加的基于源地址的包过滤技术防止地址欺骗,主要通过检查被封装的IPv6报头地址与用于封装的IPv4地址一致性。为达到这种检查目的,需要要在中继路由器中进行相应的配置。其工作原理如图2所示。

2.3 IPv4 over IPv6

将来,随着IPv6技术的成熟,特别是物联网应用需求进一步加大了对IPv6的依赖,IPv6网络将逐渐成为互联网的骨干网络。届时将有大量IPv4网络需要借助于IPv6骨干网来实现互通。在这种IPv4/IPv6互联网络拓扑结构中,其中那些仅运行IPv6网络协议栈的路由器组成了纯IPv6的骨干网。因为大量IPv4应用已经客观存在并在一定时期内将仍然被广泛使用,所以要求这种纯IPv6骨干网必须能为边界网络提供IPv4协议栈的接入,为周边的IPv4网络服务并实现互通。

对于IPv6网络中的边界路由器或双协议栈路由器需要同时运行IPv4和IPv6双协议栈。[7]该双协议栈路由器通过IPv6协议来连接纯IPv6骨干网,通过IPv4协议将IPv4单协议栈路由器连接的边缘网络接入该网络,从而实现对已有IPv4网络提供了接入服务。这种机制是采用了IPv6隧道技术将IPv4网络通过IPv6主干网实现互联。[8]

这种IPv4 over IPv6机制存在“控制”和“数据”两方面的问题。其中“控制”主要解决如何通过隧道端结点发现机制来构建隧道。因为在IPv6网上存在多个路由器,为了将封装IPv4的分组准确转发至某个出口路由器,网络中的入口路由器就需要能准确判别出口路由器。IPv6骨干网发送端将封装了IPv4目的网络信息和隧道端结点信息的传输到IPv6骨干网的另一端并建立起无状态的隧道。在已建立的隧道基础上,“数据”主要关注数据的封装、分组转发和解封装等处理过程。因此其工作过程就是入口路由器按照“控制”机制确定了出口路由器后,也就建立了IPv6隧道,然后入口路由器采用特定的封装机制来封装原始IPv4分组并沿着隧道进行转发,出口路由器从IPv6隧道收到封装分组后,该出口路由器对收到的分组进行解封装,并转发至相应的IPv4目的网络。具体工作原理如图3所示。

2.4 IPv4 to IPv6

随着IPv4网络的萎缩及IPv6网络规模的扩大,同时IPv4网络还不能完全过渡到IPv6的情况下,仍然可以这种共存方式与互通策略。首先通过发送端网关利用地址转换机制将IPv4格式的数据包的地址转化成特殊的IPv6地址,然后转发至IPv6网络,由IPv6网络按照IPv6协议继续转发到目的端网关,并由目的端网关进行解封装并完成转化为IPv4格式的数据包,继续转发至IPv4的目的网络。[9]

这种共存机制与互通方式中起关键转换作用的是网关,在网关中采用了与IPv4地址对应特殊的内嵌IPv6地址。这种特殊的IPv6地址分为两类,这两类共同之处是高80位均为0,低32位为IPv4地址。区别在于中间的16位,当中间的16位为1时,称为“IPv6映射地址”,表示的地址为IPv4地址映射而来的IPv6地址;当中间16位为0时,称为“IPv6兼容地址”,表示的地址为IPv4兼容的IPv6地址。[10]具体工作原理,如图4所示。

3 结束语

IPv4可分配地址的已经用完,尽管通过一些办法和策略来解决地址的不足,但是不能彻底解决IPv4地址本身的绝对量与需求不匹配的问题,新的网络应用不断涌现,特别是物联网应用需求在快速增长。下一代网络地址——IPv6地址逐渐引起人们的关注,已经从试验开始投入实际应用。但是IPv4应用基础已经相当成熟、应用简单、用户已经习惯了这种的应用体验,现有IPv4网络平台庞大,设备配备、管理维护投入相当惊人。使得IPv4网络不可能立即直接切换到IPv6网络,二者必然经历一段时间的共存与过渡期。由于IPv6的优点和IPv4自身的不足,不能解决IPv4网络主机与IPv6网络主机的直接互相通信,IPv6终将代替IPv4成为Internet的骨干网协议。

参考文献:

[1] 杨云,高鸿峰.IPv6技术与应用[M].北京:清华大学出版社,2010,2(1).

[2] 陈仲华.IPv6 技术在物联网中的应用[J]. 电信科学, 2010(4):16-19.

[3] 王洪智,尚尊义.IPv4与IPv6的比较与过渡策略[J].科技导报,2011,29(24):77.

[4] 尹韶峰.Ipv4與Ipv6双栈网络设计[J].微计算机信息,2010,26(11):90-92.

[5] 王浩.IPv4与IPv6相互转换技术研究[J].计算机与数字工程,2010,38(1):114-117.

[6] 苏云成,宋如敏.实现IPv4向IPv6过渡的双协议栈技术和隧道技术[J].电脑知识与技术,2009,7(5):5394-5395.

[7] 袁艳君.IPv4与IPv6协议上数据传输相关技术[J].黑龙江科技信息,2012(31).

[8] 葛敬国,弭伟,吴玉磊.IPv6 过渡机制:研究综述、评价指标与部署考虑[J]. 软件学报, 2014,25(4):896?912.

[9] 张平,李春青.IPv4 与 IPv6 隧道技术的研究及实现[J]. 计算机技术与发展, 2012,22(8):135-138.

[10] 沈庆伟,张霖.基于隧道的 IPv4/IPv6 过渡技术分析[J]. 计算机技术与发展, 2007,17(5):170-176.

猜你喜欢
物联网
基于LABVIEW的温室管理系统的研究与设计
论智能油田的发展趋势及必要性
中国或成“物联网”领军者