APP下载

基于IPv6技术的跨区域数据通信研究与实现

2022-09-06孙道远

关键词:报文网关路由

孙道远

(安徽工贸职业技术学院,安徽 淮南 232001)

1 引言

中国互联网络信息中心(CNNIC)发布的第49次《中国互联网络发展状况统计报告》数据显示,截至2021年12月,我国拥有互联网协议第六版(IPv6)地址数量为63052块/32,IPv6活跃用户数达6.08亿[1]。中央网络安全和信息化委员会办公室也就推进IPv6下发了《关于加快推进互联网协议第六版(IPv6)规模部署和应用工作的通知》,IPv6是互联网发展的必然趋势、网络技术创新的重要方向、网络强国建设的基础支撑[2]。

目前,在互联网通信中互联网协议第四版(IPv4)还占据着绝对的优势,一方面是由于IPv4在现有的设备和通信中较为稳定,满足了当前数据通信的需要;另一方面是由于IPv4地址较IPv6使用方便。由于IPv4地址已经被分配完毕,IPv6将是互联网及物联网发展的重点,信息技术的发展加快推进了IPv6部署。从当前公开发表的学术论文来看对于IPv6技术的应用研究多集中在原理分析以及IPv6环境下的方案研究,如袁伟等人发表的IPv6双栈技术在智慧校园中的应用研究[3],仅对校园网中IPv6技术的需求和建设方案进行简单的阐述;马骁发表的IPv6网络过渡环境建设方案[4],针对IPv6与IPv4过渡方案进行的介绍,没有进行具体实践。

文章以某教育集团不同区域IPv6网络通过IPv4互联网区域的数据通信作为研究对象,每个区域内部包含了多个IPv6网络,采用锐捷网络设备搭建网络环境,对IPv6环境下交换网络的可靠性、有线和无线网络搭建、区域内数据通信以及终端跨越多个IPv6网络通过IPv4环境进行通信做了全面的分析研究并技术实现,具有一定的推广价值。

2 网络中常用的IPv6技术

目前网络通信设备和网络终端设备已经全面支持IPv6技术,在IPv4网络环境下的应用使用IPv6也可以实现,常见的如:IPv6地址自动获取、VRRP的IPv6技术、OSPFv3路由协议、IPv6静态路由协议、IPv6无线技术等。IPv6技术部署的关键是如何实现IPv6区域通过现有的IPv4技术进行数据通信,目前常用的方法是在IPv4环境中使用隧道技术,将IPv6数据报文封装在IPv4报文中,通过IPv4环境,到达IPv6环境后,再将数据解封装为IPv6数据包,实现IPv6终端通信。常用的隧道技术有6to4自动隧道技术和GRE通用路由封装隧道技术等。

2.1 隧道内数据转换过程

隧道技术是一种虚拟封装技术,是在物理网络联通的基础之上,将一种数据以一定的格式封装在另外一种数据中进行传输。目前广泛使用隧道技术是在IPv4环境中传输IPv6数据包,就需要将IPv6报文封装在IPv4报文中,使得IPv6报文能够穿越IPv4网络,从而实现处于不同区域的IPv6网络的互通。

在IPv4隧道中对IPv6报文的处理流程如下。(1)IPv6网络中的设备发送IPv6报文,到达隧道的源端设备,一般是IPv6网络区域的出口设备。(2)隧道的源端设备根据路由表判定该报文是否需要通过隧道进行转发,如需要则将IPv6报文封装在IPv4报文中,采用IPv4报文格式,并通过隧道接口将报文转发出去。(3)封装报文通过隧道到达隧道目的端设备,即另外一个IPv6区域的出口设备,目的端设备判断该封装报文的目的地是本设备后,对报文进行解封装,将IPv4报文解封装为IPv6报文。(4)目的端设备根据解封装后的IPv6报文目的地址将报文进行转发;如果目的地就是本设备,则将IPv6报文转给上层协议处理;如果目的地址不是本设备,再根据路由表在区域内进行转发。隧道内数据转换过程如图1所示。

使用IPv4隧道技术转发IPv6报文的方法可分为人工隧道和自动隧道两种实现方式,常用的人工隧道有GRE技术,而自动隧道机制则主要包括6to4和ISATAP两种类型,本文重点研究的是6to4自动隧道技术的应用。

2.2 6to4隧道建立过程

随着IPv6网络普及推广,IPv6网络部署量越来越大,如果都采用手动隧道配置工作量和维护量很大。6to4自动隧道技术,可以在一个网络节点上进行配置自动建立隧道[5],从而减轻了工作量。6to4隧道的接口地址可以根据接口IPv4地址计算得出,开头以2002位前缀,然后将接口IPv4地址转化为8位十六进制数,形成具有64位前缀的隧道接口地址。比如接口地址为20.0.0.1,每一段十进制转化为2位十六进制,最后形成2002:1400:0001::/64的隧道接口地址。

6to4自动隧道的转发分为两种情况,一种是区域边界6to4路由器连接两端的IPv6区域内地址是自动获取的[6],和6to4隧道接口地址在一个网段内,实现起来较为简单;另一种是通过6to4隧道通信的IPv6地址已经存在,应用更加广泛,如图2所示。在当前环境下,每个IPv6区域内部有多个IPv6网段,包括通信网段和业务终端网段。两个IPv6区域使用6to4自动隧道技术通过IPv4网络环境进行通信的过程如下。(1)区域内部使用OSPFv3路由协议实现区域内数据通信。(2)在终端网关S4上部署到达其他IPv6区域的默认路由,提供内部数据到达外部区域的通道。(3)在出口路由器R1上部署到达本区域内部终端网段和外部区域终端网段的静态路由。(4)在出口路由器R1上部署通过6to4隧道接口到达隧道网段的静态路由,数据被封装到隧道中传输。同样,对端IPv6区域网关设备S6和R2也执行同样的操作过程。在使用6to4隧道技术进行IPv6数据传输的过程中,隧道的接口地址是通过建立隧道的出口路由器接口地址自行计算的。

图2 网络拓扑设计图

图2 IPv6网络使用6to4隧道技术通信示意图

2.3 GRE隧道建立过程

GRE(通用路由选择封装)隧道是人工配置隧道的一种类型,也叫作IPv6 over IPv4 GRE隧道。通过指定隧道的源地址和目的地址,并使用GRE协议对IPv6报文进行封装,可实现IPv6与IPv4网络之间的数据在双栈设备之上传输。

通过GRE隧道技术转发IPv6报文的过程如下。当IPv6主机在转发数据时,数据封装在IPv6的报文中。区域出口设备接收到数据,查看路由表,将数据从隧道口按照路由表进行转发。当数据从隧道口进行转发时,由于隧道是建立在IPv4的网络中,将需要转发的IPv6数据报的封装上GRE报头,再封装IPv4的报头,按照GRE隧道配置的源地址与目的地址封装。数据到达对端网络之后,先拆开IPv4的报文头部,发现内层是IPv6的数据,正常查看路由转发。GRE隧道的源端和目的端地址都是指定的IPv4地址和具体区域出口设备的物理地址不同。

2.4 IPv6无线网络

无线IPv6网络部署的原理采用无线控制器(以下简称AC)和无线接入点(以下简称AP)的架构。两台AC使用无线热备技术旁挂在网关核心交换机上,无线用户和AP的DHCPv6服务器在核心交换机上,AC与核心交换机之间通过静态路由实现路由互通,采用本地转发模式减轻AC的负担。

3 IPv6 环境下网络需求设计

3.1 情境分析

某教育集团公司有北京分校、广州分校与本部校区等3个区域,已有IPv4正常稳定运行,为了适应更多的IPv6设备接入到网络中,现在准备在原有网络设备的基础上搭建IPv6网络,实现通信。按照网络的稳定可靠和区域网络接入需要,网络拓扑结构图设计如图3所示。

3.2 需求分析

根据网络应用有以下需求。(1)总部机构部署IPv6实现其IPv6终端互联互通,在S3和S4上配置VRRP for IPv6,实现主机的IPv6网关冗余;使用MSTP技术进行物理网络环路规避,实现数据转发分流与链路备份。(2)S3、S4、R1 间部署 OSPFv3,进程为10,区域为0;R2、S6间部署OSPFv3进程为20,区域为 0;R3、S7间部署 OSPFv3进程为 30,区域为 0。(3)S3、S4、AC1、AC2 部署 IPv6 静态路由协议,实现总部有线与无线IPv6终端互联互通。(4)R1与R2间部署IPv66to4动态隧道,隧道内部署静态路由协议,实现总分机构间IPv6终端互联互通。(5)R1与R3间部署IPv6GRE隧道,隧道内部署OSPFv3协议,实现总分机构间IPv6终端互联互通。网络IPv6地址规划如表1所示。

表1 IPv6地址规划表

3.3 网络设备调试

3.3.1 IPv6VRRP实施

为了保证交换网络的可靠性,在交换网络中实施VRRPIPv6技术,实现网关冗余。由于网络中存在环路,终端虚拟局域网所在的多生成树实例的根和虚拟路由器冗余协议的承担实际工作的网关需要保持一致。同时,在部署VRRP时需要配置本地IPv6链路地址的虚拟网关地址,不配置会导致IPv6虚拟网关配置不上,在配置多个VRRP组时本地IPv6链路地址的虚拟网关地址配置为不同地址。以终端VLAN10为例,在网关设备S3和S4上部署VRRP,在S3上的网关设置为2001:192:10::252/64,在S4上的网关设置为2001:192:10::253/64。为了保证虚拟网关的一致,在S3和S4上设置VRRP虚拟网关为2001:192:10::254,并将虚拟局域网的接口优先级在S3上设置为150,在S4上设置为120,使S3作为承担数据转发的设备。当VLAN10接口开启了IPv6功能之后,会自动生成一个链路本地地址,此时还需要为VLAN10在网关S3和S4上配置相同的本地IPv6链路地址FE80::10作为虚拟网关地址。最后使用在VLAN10接口下no IPv6 nd suppress-ra命令开启路由通告功能,使VLAN10所在的终端设备可以自动获取IPv6地址。

在完成VRRP部署后进行测试,可以看到VLAN10、VLAN20、VLAN30 以汇聚层交换机 SW3作为实际网关主要转发设备;VLAN40、VLAN100以汇聚层交换机SW4作为实际网关主要转发设备,虚拟路由器冗余协议部署结果如图4所示。

图4 交换网络VRRP部署结果

3.3.2 区域内部OSPFv3实施

为了实现区域内部IPv6的数据通信,使用了OSPFv3路由协议。OSPFv3的Router ID(路由设备标识)仍然使用32位的IPv4地址,而不是IPv6地址。OSPFV3配置如下。

IPv6 router ospfprocess-id//启动OSPFv3路由进程,进入OSPFv3配置模式

router-idrouter-id//配置本设备运行OSPFv3时使用的Router ID

interface interface-id//进入接口配置模式

IPv6 ospfprocess-id area area-id//在接口上启动OSPFv3,使接口参与OSPFv3路由进程

当路由器邻居关系出现Loading to Full,Loading-Done提示时,表示和邻居成功进行了链路状态信息的交换。使用上述方法,在企业总部区域和北京校区内部部署OSPFv3实现企业内部路由互通。

3.3.3 总部区域与北京校区6to4隧道部署

总部区域与北京校区通过IPv4网络相连接,IPv6数据需要通过IPv4环境进行互联,在此使用6to4自动隧道技术实现。

本当前网络环境中,区域内部网络终端通过接入层交换机、汇聚层网关交换机和出口路由器相连,区域之间通过区域出口路由器建立隧道,IPv6终端和出口路由器跨越了多个网段,相对于终端和出口路由器内网接口在同一网段中的情况,更加具有实际意义,同时也更为复杂。要实现两个区域内终端跨越多个IPv6网段使用6to4隧道进行数据通信,首先需要解决区域内汇聚层网关交换机的路由出口问题。以总部区域为例,汇聚层交换机S4需要设置一条下一跳IP地址为2001:193:10::2的默认路由,使内网数据能够到达出口路由器。出口路由器R1设置一条下一跳地址为2001:193:10::1到达2001:192::网段的静态路由,使数据能够到达本端区域内IPv6终端网络,因为区域内有终端有多个网络地址,在此使用了路由聚合的方式,将涉及内网VLAN10的网段2001:192:10::/64聚合成2001:192::/32的网段,减小了路由表的规模。当解决了区域内IPv6数据传输之后,在出口路由器R1上设置一条到达对端区域终端所在IPv6网段2001:194:10::/64的路由,下一跳地址为通过对端路由器IPv4接口地址生成的隧道接口地址2002:1400:2::2,最后设置一条通过R1经过隧道口到达2002::/16路由。在对端区域汇聚层网关交换机和出口路由器也做类似的部署,至此实现了两个纯IPv6区域使用6to4隧道技术通过IPv4网络环境通信。

总部区域核心交换机S4和出口路由器R1的配置具体如下:

S4(config)#IPv6 route::/0 2001:193:10::2//配置默认路由,将下一跳指向出口路由器R1,使S4可以到达S6所在的IPv6区域

R1(config)#interface Tunnel1//创建隧道

R1(config-if-Tunnel 1)#tunnel mode IPv6ip 6to4//指定模式是6to4隧道

R1(config-if-Tunnel 1)#tunnel source 20.0.0.1//配置隧道源地址

R1(config-if-Tunnel 1)#IPv6 address 2002:1400:1::1/64//配置隧道接口IPv6地址

R1(config-if-Tunnel 1)#IPv6 enable

R1(config-if-Tunnel 1)#no IPv6 nd suppress-ra//开启路由通告

R1(config)#IPv6route 2001:192::/32 2001:193:10::1//配置静态路由,到达R1所在内部终端区域

R1(config)#IPv6 route 2001:194:10::/64 Tunnel1 2002:1400:2::2//配置静态路由,到达对端IPv6终端区域,通过隧道转发数据

R1(config)#IPv6 route 2002::/16 Tunnel1//配置静态路由,指定对端6to4网络出口,访问对这个网段的时候走隧道

北京区域核心交换机S6和出口路由器R2的配置具体如下。

S6(config)#IPv6 route2001::/16 2001:193:20::1//配置静态路由,将下一跳指向出口路由器R2,使S6可以到达S4所在的IPv6区域

R2(config)#interface tunnel 1//创建隧道

R2(config-if-Tunnel 1)#tunnel mode IPv6ip 6to4//指定模式是6to4隧道

R2(config-if-Tunnel 1)#tunnel source 20.0.0.2//配置隧道源地址

R2(config-if-Tunnel 1)#IPv6 address 2002:1400:2::2/64//配置隧道接口IPv6地址

R2(config-if-Tunnel 1)#IPv6 enable

R2(config-if-Tunnel 1)#no IPv6 nd suppress-ra//开启路由通告

R2(config)#IPv6 route 2001::/16 Tunnel 1 2002:1400:1::1//配置静态路由,到达R1所在内部终端区域,通过隧道转发数据

R2(config)#IPv6 route 2001:194:10::/642001:193:20::2//配置静态路由,到达R2所在内部终端区域

R2(config)#IPv6 route 2002::/16Tunnel1//配置静态路由,指定对端6to4网络出口,访问对这个网段的时候走隧道

3.3.4 总部区域与广州校区GRE隧道部署

总部区域与广州校区通过IPv4网络相连接,IPv6数据需要通过IPv4环境进行互联,在此使用GRE隧道技术实现。GRE隧道实现的具体过程以R1的GRE隧道创建为例。

(1)使用interface tunnel0命令创建隧道,并指定隧道接口地址为2001:191:10::1/64。

(2)开启tunnel mode greip命令设置隧道模式为GRE,并使用IPv6 ospf10 area0实现隧道内IPv6路由畅通。

(3)使用tunnel source 10.1.0.22命令指定隧道源地址和tunnel destination 10.1.0.21命令指定隧道目的地址,此时使用R1与R3之间的IPv4接口地址,因为IPv6此时需要跨越IPv4网络。

(4)使用IPv6 route 2001:195:10::/64Tunnel1配置到达对端IPv6网络的静态路由,到达对端IPv6终端区域。

(5)部署iproute0.0.0.00.0.0.010.1.0.21的静态路由,实现内网数据的出口路径。

通过R3到达R1的GRE隧道部署和R1类似,不再赘述。

4 测试结果

在前期网络部署和调试的基础上,在R1与R2路由器之间部署6to4隧道,测试结果如下。

(1)分部路由器R2到达总部终端VLAN40内主机结果。R2的IPv6数据通过6to4隧道,到达S4,最后到达VLAN40的IPv6终端,实现了数据互通,测试结果如图5所示。

图5 分部路由器R2与总部终端VLAN40的数据转发路径

(2)总部路由器R1的路由表。从R1的路由表中可以看出R1已经通过6to4隧道学习到了到达分部终端主机的路由,R1的路由表如图6所示。

图6 本部校区出口路由器IPv6路由表

(3)分部主机与总部主机的通信。分部主机2001:194:10::10/64实现了到达总部主机2001:192:40::10/64的通信,数据转发表如图7所示。总部IPv6终端主机与分部IPv6终端主机也实现了互通,数据转发表如图8所示。

图7 分部IPv6终端主机与总部IPv6终端主机通信过程

图8 总部IPv6终端主机与分部IPv6终端主机通信过程

5 结语

根据IPv6数据通信需求,设计网络模型,使用锐捷网络设备搭建网络环境,对IPv6环境下的数据通信过程进行了研究。通过部署MSTP与VRRP技术实现了局域网内部IPv6数据通信,OSPFv3路由协议与IPv6静态路由协议的部署,实现了不通同网段之间数据通信。在此基础之上重点研究了使用6to4隧道技术和GRE隧道技术,实现了IPv6网络孤岛通过IPv4网络进行通信。上述问题的研究及其解决方案,对于普适环境下IPv6技术的应用与推广,具有一定的参考价值。

猜你喜欢

报文网关路由
基于J1939 协议多包报文的时序研究及应用
以太网QoS技术研究及实践
智能燃气表物联网运行体系网关技术研究
基于FPGA的工业TSN融合网关设计
大规模低轨卫星网络移动性管理方案
基于Python的汽车CAN总线报文格式转换系统的设计与实现
一种主从冗余网关的故障模式分析与处理
基于报文类型的限速值动态调整
数据通信中路由策略的匹配模式
一种用于6LoWPAN的多路径路由协议