IPv4与IPv6协议双栈技术融合企业网络的方案及应用

2019-01-03 09:20黄萍罗伟峰刘昕林邓巍
粘接 2019年11期

黄萍 罗伟峰 刘昕林 邓巍

摘要:文章阐述了IPv6协议双战技术基础上,提出了IPv4/IPv6双栈技术的混合网络的实际方案操作,并且分析了双协议栈技术中的运行机制及工作过程,双栈通信系统客户端与服务器端模块的功能设计,并且在校园网络环境下描述了此方案的实施步骤,而实施结果验证了该方案的有效性及可行性。

关键词:Ipv6协议;双栈技术;混合网络

中图分类号:TP393.04文献标识码:A 文章编号:1001-5922(2019)11-0110-04

随着互联网科技的飞快发展,传统的互联网协议IPv4由于本身数量不达标,移动、安全及服务质量差等方面的缺陷,促使新一代的IPv6协议应运而生,IPv6以RFCI752为标准,使用率高达到128位地址空间,彻底解决了地址数量不足的问题,还加强了服务质量、端对端间的连接、移动、安全和及时等多方面的支持功能,成为未来网络协议发展的趋势之一。但是IPv6网络协议并没有得到广泛普及,目前还处于IPv4向IPv6网络的过渡时期,两者之间共存的现象也普遍存在,因此IPv4向IPv6的过渡是我们亟待解决的关键问题。IETF、BBF等提出了许多研究解决方案,众多的研究机构和技术人员在这方面也作出了巨大贡献,经研究得出,当前可实施的方案有3种:双栈技术、隧道技术及协议转换技术,在实施过渡技术时除了要充分了解其工作原理外,还需结合网络实际探究出相对应的实施方法。

1IPv4向IPv6的过渡技术

目前的过渡技术主要有3种。

1)双栈协议:双栈技术指的是在一个系统(比如一台主机或一台路由器)中同时支持IPv4和IPv6两种协议同时并行工作,简单来说就是允许设置IPv4和IPv6同时进行通信,之后再慢慢过渡,最终实现整个网络都是IPv6,双栈技术也可应用到NAT-PT之中。

2)隧道技术:又称为手动隧道、自动隧道、6to4或6over4,基于IPv4隧道的IPv6由路由器将IPv6的数据分组装入IPv4数据包中,以此来实现现有的IPv4网络中IPv6节点和IPv4节点之间的IP通信,该技术过程比较复杂,分为打包、解包和隧道管理3个步骤。

3)协议转换技术:协议转换技术对于IPv4地址的需求少,具有良好的扩展性,允许主机IPv4与主机IPv6直接通信,但是在一般情况下,只有在不能使用隧道技术与双栈技术时,才会考虑使用协议转换技术,因为转换技术的地址和协议转换需要较大的时间延迟,可能存在某些字段不能转换的问题,带来信息的丢失,更严重的还会带来数据的粉碎。

2双栈技术原理及技术方法

2.1双栈技术协议原理

基于IPv4与IPv6融合的校园网建设研究,目前两者协议具有相同的数据网结构,网络层的上下层(传输层和数据链路层)平台也有相同的特征,因此很容易把这种双栈节点看成是两个单独的节点组合。以下对双栈节点的过程进行了简单的描述:在目的地使用地址IP协议类型时,有目的性的对封装协议进行选择,则发送数据方根据应用请求进行发送,如果是IPv4协议封装则选用IPv4目的地址发送,是IPv6协议封装便选用IPv6目的地址发送。接收方会根据传来的IP数据头版本号是6或是4决定性用哪个协议栈记性封装,如目的地址用域名表示,则发送数据方会经过DNS服务器进行解释分析,要选择相对应的协议栈进行封装及发送必须取得数字格式是IPv4和IPv6协议,两者协议在应用的请求下同时支持,然而双栈发送节点就会优选IPv6网络协议栈,在解析域名DNS时,会优先选择请求B记录,如B记录没有收到请求,这时IPv6网络协议就会比IPv4更有优势,双栈技术除了用于构建双栈协议网络外也是其他过渡技术进行的基础。

2.2实现分析双栈技术方法

双栈协议技术在路由器的支持下,若想成为真正的双栈设备还需经过一系列技术配置,在路由器接口处既能很好的分配IPv4网络协议地址,也能激活IPv6網络协议数据的转发功能,在对IPv6网络协议进行转发单播地址时,必须通过路由器中的IPv4路由表或IPv6网络协议下的路由表,只有这样才能实现两者协议之间报文的路由转发功能,各自完成自己的独立工作,成为双栈节点的路由器。以思科路由器举例说明,可支持IPv6协议的12.2(2)T路由及其后续的版本Cisco IOS(包括相应的功能集),要将其配置提升为双协议栈的路由器,主要的配置命令如下:

ipv6unicast-routing

interface type number

ip address IPv4-address netmask

ipv6address ipv6-prefix/prefix-length[eui-64]

如要使双栈路由器同时具有IPv4报文及IPv6报文路由器转发的功能,则必须同时运行持IPv4和IPv6协议的路由协议,如OSPF和OSPFv3等设备。

3IPv6协议双栈技术的运行机制及工作过程

3.1IPv4/IPv6双协议栈体系模型

双栈技术指的是在同一个网络节点同时支持IPv4与IPv6两种协议栈,IPv4和IPv6在形式及功能等一些方面相同,IPv6是IPv4的改进版本,因此IPv6和IPv4这两种网络层协议基本是同一物理平台,而且在加载上传的传输层次的协议也比较相同,所有在理论与实践上,都可实现支持双栈技术的节点同时即能支持到IPv4协议的节点通信,又能支持IPv6协议的结点通信,其双协议栈的理论模型图如表1所示。

从表1能看出双协议栈体系模型中,IPv4向IPv6过渡中大部分的都采用了节点技术完成的,则节点模型如图1所示。

图2显示IPv4与Ipv6双栈节点与其他类型的多栈节点的工作方式基本相同,连接层接到数据段,拆开并且检查爆头,如果IP地址的版本号是4,则该包就会由IPv4网络来处理,相同如果版本号是6,则会由IPv6网络来处理。

3.2IPv6双栈的通信系统的设计

系统的主体结构采用socket技术,并提供client/server通信模式。首先设计和实现一组网络通信功能的接口;然后分别在IPv4和IPv6下使用socket函数设计和实现网络通信功能,最终屏蔽了IPv4和IPv6在网络编程方面的差异。系统的主体结构程序实现流程图如图3所示。具体步骤为:首先设计并实现通用的抽象接口父类,然后在IPv4和IPv6下使用socket函数继承此抽象接口父类并实现通信功能的具体接口类,并且使用统一的接口格式实现支持IPv4和IPv6通信功能。IPv4服务器端接口类的设计与CSrvLstv4Thread继承自父类CSrvThread,它提供的接口方法StartUp()包含了父类CSrvThread所规定的主要接口方法。IPv6服务器端接口类的设计与IPv4非常相似,IPv6服务器端通信功能类CSrvLstv6Thread继承自父类CS-rvThread,其提供了接口方法startUp(),依照IPv6下的socket函数,其具体实现为:初始化Winsock,绑定本地地址并开始侦听,实现原理与IPv4下的接口方法startUp()相同,只是socket函数在两种协议下的使用有所不同。具体流程为:首先调用WSAStartup()函数初始化Winsock,再调用getaddrinfo()解析服务器地址,接着创建socket准备侦听;然后调用bind()将该socket绑定到本地;最后调用listen()开始侦听并调用freeaddrinfo()释放解析服务器地址时获得的地址列表。具体流程与IPv4稍有区别。值得注意的是,还需要根据所开发软件的实际需求,设计与之相配套的接收线程类,该类也需要处理少量与IPv6协议相关的细节。

4IPv6协议双栈技术方法实现

1)边界处的路由器配置信息在路由器的出口配置信息是:

ipv6协议address2003:DA8:AF:18::2/64

tunnel-protocol ipv6-IPv4网络协议

source X.X.X.X(源IP地址)

destination X.X.X.X(目标IP地址)

在路由器与核心交换机的端口配置信息:

ipv6协议address2003:DA8:4015:F:1F::1/96

ip address 172.16.250.2255.255.255.252

静态路由信息在路由器上配置的是:

ipv6协议route-static::0 2003:DA8:AF:18::1

ipv6协议route-static 2003:DA8:4013:1:1:1::962001:

DA8:4015:F:1F::2

ipv6route-static 2003:DA8:4013:F:F::962001:DA8:

4015:F:1F::2

2)配置信息处的路由器互联端口与核心交换机:

ipv6协议address2003:DA8:4013:F:1F::2/96

ip address 172.16.250.1255.255.255.252

配置信息在核心交换机与汇聚交换机上:

ipv6协议address2003:DA8:4015:F:F::2/96

ospfv31area0.0.0.0

ip address 172.16.255.5255.255.255.252

路由信息在核心交换机上配置的静态:

ipv6协议route-static::0 2003:DA8:4013:F:IF::1

ipv6协议route-static 2003:DA8:4013:1:1:1::962001:

DA8:4015:F:F::1()

3)在匯聚交换机(接入交换机)上的配置信息与汇聚交换机上的用户VLAN下配置IPv6协议网关地址,配置信息:

ipv6协议address2001:DA8:4013:1:1:1:0:1/96

核心交换机与汇聚交换机之间互相连接口上的配置信息:

undo ipv6协议nd ra halt

ipv6协议address2003:DA8:4013:F:F::1/96

ip address 172.16.255.6255.255.255.252

配置路由在汇聚交换机上配置时:

ipv6协议route-static::0 2003:DA8:4013:F:F::2根据以上所表述出的配置信息可得出,对IPv4与IPV6的网络资源进行访问及练连接在一台PC机上就可进行,但需要注意的是在配置过程进行中需要检测设备IOS版本,如果在对IPv6协议进行配置时,出现IOS设备不支持的状态,届时必须要先进行版本升级然后在配置。

5具体应用实例

文中提出了具体的设计思想及方法,双栈技术的应用编程变得比较简单化,因此IPv6网络协议的细节不必过多的去考虑及处理。可使用IPv4网络协议下类似的方法编程,使用具有实例代码如下:

经过以上的实例分析可得出以下结论:在已开发出的网络软件下,要实现双栈通信模块,必须添加或扩充IPv6协议网络的通信功能模块及顶层通信模块。

6结语

在不同网络环境下,设备及操作系统的使用技术不同,网络主机和设备配置方法也有不同,文中讲述了根据特定的设备及操作系统实现不同过渡技术的方法和配置,IPv6网络迅速发展对实施协议双栈过渡技术的研究方法和实现方向有着重要的意义,这也是技术人员不断探索的课题之一,随着对IPv6网络协议需求的与日俱增,未来网络发展趋势就是IPv6将取代IPv4,目前IPv4和IPv6仍存在着共存的现象,为解决该问题文章结合具体的实例分析阐述了IPv6网络双栈通信的优点,并目在设计模块中提出了实用性较强的实现方法。