一种能够进行IPv4与IPv6地址转化的系统的制作方法

文档序号:21276996发布日期:2020-06-26 23:20阅读:296来源:国知局
一种能够进行IPv4与IPv6地址转化的系统的制作方法

本实用新型涉及ipv4与ipv6地址转化,尤其涉及一种能够进行ipv4与ipv6地址转化的系统。



背景技术:

当前公司信息网络在支撑业务需求方面面临两个关键难题:

一是:随着信息技术的快速发展,电网公司各专业的信息化程度越来越高,大量的网络设备、办公计算机和各专业部署的终端设备应用于公司信息网络中。电网设备应用物联网技术工控机信号源点的监控监测点密集增加,一个设备往往有多种大量的信号收集探针,在张家口新能源和柔性直流示范区中对新能源场站,电网对设备的监控监测密集点会以几何倍数增加。电网需要监测到所有运行数据量以增强对运行的管控,在原有基础上丰富多样的数据手段,来提供对调度、继电保护、遥信遥感遥测信息的采集和处理,一个变电站需要几个ipv4c段地址才能覆盖,难以进行区块式链条式的系统管理。冬奥会因此传统的ipv4组网已逐渐不能满足电网业务增长需求。

二是:随着信息系统对各专业支撑程度的提高,网络中的数据量越来越大,如何根据业务性质,自定义业务流向,如何更简化的配置网络协议,如何更有效地管理网络设备,如何简化网络运维是当前信息专业工作的难点。而传统的网络交换机因原有设计理念的缺陷,难以解决上述问题。

针对上述问题当前国际上先进的解决方法是通过ipv6技术解决网络地址紧张的问题,通过sdn技术解决网络自定义问题。但两者兼容问题缺少有效的解决方式,由于现有网络均采用ipv4协议,同时全部用ipv6协议替换是不现实的,必要要采用先将网络中的一部分设备改变为ipv6协议,逐步实现全网向ipv6的演进。在演进过程中急需实现sdn设备对ipv4和ipv6两种协议的转换,实现数据的转发。



技术实现要素:

本实用新型所要解决的技术问题是克服现有技术中存在的不足,提供一种能够进行ipv4与ipv6地址转化的系统。本实用新型公开了一种支持ipv4和ipv6协议转换的sdn网络设备可提供大量的可与现有ipv4地址互相访问的ipv6地址,以解决现阶段ipv4地址资源紧缺的问题。

前几年国际上已经开展了ipv6地址的相关技术研究,取得了一定成功,可以解决网络地址紧张的问题,在国际上,美国、欧洲等发达国家技术要相对领先,亚洲对待ipv6的态度比欧美更加积极,尤其是日本、韩国等,已经逐渐将现有网络过渡到ipv6网络。我国是ipv6研究工作启动较早的国家之一,对ipv6在我国的发展也高度重视,但ipv6技术目前主要在教育方面试行,在国网公司内部还很少应用。

sdn是近几年兴起的新技术,以应用openflow技术为主,将控制模块从交换机中独立出来,设计成控制器,作为全网设备的管理端,而交换机只承担数据转发功能,可以实现网络策略的自定义、策略快速下发、流量自动控制等功能。目前谷歌等国际公司在该技术领域相对领先,国内电信等网络运营商已经开始该技术的应用,国网公司近两年也开展了技术研究,张家口供电公司也作为国网相关课题的试点单位,进行了相关技术的测试和试点应用,但还没有大规模推广。

在sdn对ipv6和ipv4协议的转换方面,目前相关研究很少,更多的停留在理论阶段,相关应用案例不多。

本实用新型针对目前国网公司内部ipv4地址不足及管理不畅的问题,进行基于ipv6和sdn的数据转发技术研究与应用,设计一种支持ipv4和ipv6协议转换的sdn网络设备,为网络中各用户设备提供更多的ip地址,同时使得维护人员对网络中各设备的管理更加简单方便、高效。

本实用新型是通过以下技术方案予以实现:

一种能够进行ipv4与ipv6地址转化的系统,包括数据中心网关、openflow控制器、协议翻译模块和openflow交换机,所述openflow控制器和多个openflow交换机构成openflow网络系统,所述openflow交换机连接openflow控制器,所述openflow交换机之间相互连接,所述协议翻译模块包括nat64模块、http-alg应用网关和ftp-alg应用网关,所述协议翻译模块通过北向接口与控制器通信,所述数据中心网关连接用户端和openflow网络系统。

根据上述技术方案,优选地,还包括路由子系统,所述路由子系统包括路由配置模块、路由设备探测模块和路由信息管理模块理模块。

根据上述技术方案,优选地,还包括互联子系统包括nat-pt模块和dns-alg模块。

根据上述技术方案,优选地,还包括数据中心服务器,所述数据中心服务器中部署icp应用。

根据上述技术方案,优选地,所述数据中心服务器支持ipv4和ipv6时配置dns模块。

根据上述技术方案,优选地,所述数据中心服务器只支持ipv4时配置dns64模块。

本实用新型的有益效果是:该实用新型成功推出产品后应用前景广泛,会给市场带来更多的选择,收益会逐步提高。本实用新型能够进一步细化局域网网络管理,实现各业务系统数据转发的优化处理。通过ipv4向ipv6协议的转换,提高网络对ip设备的承载能力,更有效地管理网络设备,简化网络运维。

附图说明

图1示出了本实用新型的实施例的功能原理图。

图2示出了本实用新型的实施例的nat64/dns64的工作原理图。

图3示出了本实用新型的实施例的openflow网络示意图。

图4示出了本实用新型的实施例的基于openflowsdn的ipv4/ipv6协议转换的处理流程图。

图5示出了本实用新型的实施例的控制器路由选择流程图。

图6示出了本实用新型的实施例的互联子系统的实现架构图。

图7示出了本实用新型的实施例的nat-pt模块处理流程图。

具体实施方式

为了使本技术领域的技术人员更好地理解本实用新型的技术方案,下面结合附图和最佳实施例对本实用新型作进一步的详细说明。

如图所示,本系统由硬件sdn设备和软件网管系统组成,其硬件主要进行ipv4和ipv6地址之间的倒换,软件主要进行网络地址的分配和管理,两者协调解决ipv4地址资源不足的问题。

ipv4/ipv6翻译技术可以分为网络层翻译和应用层翻译两种。网络层翻译只在网络层对ipv4数据分组和ipv6数据进行地址映射和协议转换,应用层翻译则在网络层翻译的基础上更进一步地深入到应用层分组头和负载进行地址映射。目前,业界主流的ipv4/ipv6翻译技术是网络层翻译,其中nat64/dns64使用最为广泛。

nat64是一种有状态的网络地址与协议转换技术,由rfc6145和rfc6146两个标准草案定义。rfc6145定义无状态的ipv4和ipv6翻译,由rfc2765siit(statelessip/icmptranslationalgorithm,无状态ip/icmp翻译算法)发展而来,描述如何实现ipv6/icmpv6分组头与ipv4/icmpv4分组头的互换。无状态翻译不维护会话的状态,要求每个主机拥有一个ipv4地址,本质上并不能解决ipv4地址匮乏问题。rfc6146描述有状态的nat64翻译,通过维护动态的地址映射关系,在多个ipv6主机共享一组ipv4地址。nat64允许纯ipv6用户通过tcp、udp和icmp单播协议访问ipv4服务器。ietf在rf6384中定义了ftp应用层网关,可以实现对ftp的转换。nat64一般只支持通过ipv6网络侧用户发起连接,访问ipv4网络侧资源。但nat64也支持通过手工配置静态映射关系,实现ipv4网络主动发起连接,访问ipv6网络。

dns64配合nat64工作,根据dns系统中a记录自动合成aaaa记录。当用户发起请求ipv6地址的aaaa记录请求时,dns64解析该请求,如果没有本地缓存记录,将同时向目标dns发出a记录请求和aaaa记录请求,如果目标dns没有返回aaaa记录(即目标主机只支持ipv4),那么dns64将按照与nat64协商好的ipv6地址前缀,将目标主机的ipv4地址内嵌到ipv6地址前缀中,形成ipv6地址返回给ipv6用户。ipv6用户通过该地址访问ipv4主机。发往该地址的数据分组最终将被路由到nat64。nat64识别地址前缀,从中抽取出目的ipv4地址,然后像普通的nat一样,使用ipv4地址与目标服务器通信,并创建翻译状态映射ipv4服务器连接和ipv6主机连接,完成地址映射和协议转换。nat64/dns64的工作原理如图2所示。

nat64和dns64模块是分开的,如果有其他手段为ipv4主机生成ipv6地址,那么可以不用dns64。dns64通常部署在用户侧,完成用户ipv4地址到ipv6地址的转换。一个dns64可以支持多个ipv6地址前缀,为不同的ipv4地址生成不同的ipv6地址。通过这种方式可以实现多个nat64设备间的负载均衡。

软件定义网络是近年来网络通信领域最热门、发展最为迅速的新兴技术,被视为下一代互联网的核心技术。其核心思想是通过软件编程的方式定义网络的行为,提高网络灵活性。openflow是sdn的重要分支,最早由斯坦福大学研究人员提出,目标是以推倒重来的方式重新设计互联网,以支持灵活的网络创新。openflowsdn定义了一种分离控制与转发的新型网络架构。在这种架构下,网络智能由运行在远端的控制器软件及其上的应用程序实现,网络设备根据控制器下发的转发决策进行高速数据转发。

openflow网络不再区分交换机、路由器的概念,而统一将网络转发设备定义为openflow交换机。交换机按照“流匹配”的方式转发数据分组,流由数据分组输入端口、元数据、l2-l4分组头域以及ipv6、mpls、pbb和tunnel等信息标识,控制器基于流定义转发规则。在openflow网络中,控制器取代传统交换机和路由器的控制面功能,对转发设备进行统一的管理和集中的控制,其核心功能是维护网络状态,根据业务需求制定和下发转发策略。应用通过控制器的北向接口对网络进行操作,而不必关心具体网络实现。openflow网络示意如图3所示。

openflowsdn打破了传统网络软硬一体的封闭架构,使得网络变得开放、可编程。通过控制器开放的接口,应用程序可以灵活修改网络的转发行为。基于openflowsdn实现ipv4/ipv6协议转换系统,可以将复杂的协议翻译功能从网关设备中分离出来,交由软件实现。协议翻译模块可以集成在控制器中或作为独立的应用程序运行在商业服务器上,带来的最显而易见的好处是扩展性。可针对实际业务需求对协议翻译功能进行灵活的扩展,例如针对不同icp定制相应的应用网关,从而获得更优的协议转换效果。

ipv6过渡是个复杂的工程,对于运营商网络尤其如此,本方案提出的基于openflowsdn的ipv4/ipv6协议转换方法应用于数据中心内部,用于协助icp在不修改或者少量修改现有平台的基础上,将运行在ipv4网络的应用迁移到ipv6网络,使得ipv4应用能够为ipv6用户提供服务。该方法基于如下假设:从ipv6用户到数据中心的网络已经具备ipv6承载能力。事实上,经过多年的改造,运营商网络从接入网、城域网到骨干网已经基本具备ipv6承载能力,部分数据中心内部网络经过改造也已经具备ipv6访问能力。

为了实现软件定义ipv4/ipv6协议转换,要求在数据中心部署openflow网络,并且在数据中心出口部署网关设备,实现openflow网络与传统网络的互通。从1.2版本开始,openflow协议增加了对ipv6分组头匹配的支持,因此数据中心内部的openflow网络可同时支持ipv4和ipv6数据分组转发。

icp应用部署在数据中心内部,应用本身只支持ipv4(纯ipv4应用)。运行应用的服务器可以支持双栈,也可以只支持ipv4。在双栈情况下,由于服务器已经具有ipv6地址,因此可以在dns中直接添加相应的aaaa记录,而无需额外使用dns64。对于只支持ipv4协议栈的情况,需要借助dns64服务实现a记录(ipv4地址)到aaaa记录(ipv6地址)的合成。

在协议翻译方面,采用融合网络层翻译和应用层翻译的技术,网络层翻译采用业界主流的nat64技术,应用层翻译包括标准的http-alg、ftp-alg应用网关和针对icp应用定制的客户应用网关。各种协议翻译技术作为控制器模块或外部应用程序实现,通过北向接口与控制器通信。本文提出的协议转换方法延续nat64的场景限制,只支持ipv6用户发起的到ipv4应用的访问。

控制器负责识别网络流量和制定转发决策,对于跨网访问流量,控制器交给相应的协议转换网关处理。控制器需要维护两张表,一张是“icp应用地址表”记录纯ipv4应用对应的ipv6地址和ipv4地址(例如“应用a,ipv6地址b,ipv4地址c”,表明应用a对应ipv6地址b和ipv4地址c),由于dns64合成的ipv6地址暗含表明该应用使用的ipv4地址,因此控制器实际只需维护运行在双栈服务器中的icp应用对应的ipv6地址和ipv4地址。该表用于控制器识别跨网流量和获取icp应用的实际ipv4地址。

另一张表是“应用网关表”,记录icp应用与应用网关的对应关系(如“应用a,ipv6地址,端口,应用网关b”,表明ipv6地址或者端口对应的应用a需交由应用网关b处理)。图4描述了基于openflowsdn的ipv4/ipv6协议转换的处理流程。

ipv6用户要访问ipv4应用时,通过查询dns(或dns64)获取ipv4应用对应的ipv6地址。数据分组通过ipv6网络到达数据中心网关,进入openflow网络。openflow交换机接收到数据分组后,由于缺乏相应的匹配流表,转发给控制器处理。控制器识别数据分组是否来自同一个网络(如果目的ipv6地址是带前缀的dns64合成地址,或者在icp应用地址表中存在相应条目,则认为是跨网访问),如果是来自同一网络的访问,控制器直接计算转发路径并下发流表到openflow交换机,由交换机将数据分组转发到目的服务器。如果是来自不同网络的访问(即ipv6用户访问ipv4应用),那么控制器将进一步识别该数据分组是否具有应用网关处理,如果有,则转交给相应的应用网关处理;否则,转交给nat64模块进行网络层翻译。对于非dns64合成地址的情况,协议转换模块通过icp应用地址表查询目标ipv4地址,将ipv6数据分组转换成ipv4数据分组后,调用控制器北向接口为新数据分组计算转发路径并下发流表。openflow交换机将新的数据分组传递给目的服务器。目的服务器收到数据分组后,进行相应的处理。处理结果通过openflow网络返回给协议转换模块,协议转换模块根据存储的会话状态,进行协议翻译,将ipv4数据分组转换成ipv6数据分组,返回给ipv6用户。

在本实施例中,每个跨网访问的数据分组都要交由控制器识别和分发,对控制器的处理压力较大,可能成为性能瓶颈。通过集群技术实现控制器,可以有效解决这一问题。协议转换模块也可以采用分布式技术实现,提高协议翻译的效率。

sdn设备为ipv4与ipv6网络间的数据通信选择路径需要根据ip地址判断数据包是否需要由互联网关处理或是数据包的出口边界路由,sdn设备仅实现了对sdn网络的基本管理控制功能,它实际管理的是一个二层链路网络,不支持不同网络间的三层路由功能。因此本文在sdn设备的基本功能架构基础之上设计实现了路由子系统,这样对于连接到sdn网络的其他网络来说相当于连接到一个中心路由器上。路由子系统包括路由配置模块、路由设备探测模块和路由信息管理模块理模块三个功能模块。

1.路由配置模块:网络管理员通过该模块配置边界路由设备和配置边界路由设备的网络可达信息,即边界路由设备的路由表。

2.路由设备探测模块:该模块主要用来探测定位边界路由设备在sdn网络中具体物理信息。

3.路由信息管理模块:管理维护sdn网络中已知的边界路由设备和边界路由设备中的网络可达信息。

sdn设备收到一个交换机不能处理的数据包后,若发现该数据包需要翻译转换,则先将该数据包转发到互联子系统处理。其收到该数据包后为数据包做协议翻译与地址转换处理,然后将翻译转换完成的新数据包发送到网络中由控制器继续处理。互联子系统包括dns-alg(domainnamesystem-applicationlayergateway)和nat-pt(networkaddresstranslation-protocoltranslation)模块两个功能模块。

1.nat-pt模块:主要是实现ipv4格式数据包与ipv6格式数据包间的翻译转换,包括协议翻译与地址转换。

2.dns-alg模块:在nat-pt模块基础上,通过域名解析建立ipv4地址与ipv6地址的映射。

加入路由子系统后的sdn交换机收到交换机不能处理的数据包后处理流程如图2所示。路由子系统会根据数据包的目的ip地址判断该数据包的目的主机是否在sdn网络,若目的主机在sdn网络,则按照设备常规的处理流程即可;若不在,则路由子系统会遍历其维护管理的所有边界路由网关设备实例,为该数据包查询可以通过哪一个边界路由设备到达目的网络,找到正确的边界路由设备后会获取其所连接的sdn交换机,最后按照控制器常规处理流程在两个交换机间选择一条路径并下发流表。

互联子系统相当于一个边界路由,它所到达的网络包括一个代表所有ipv6网络的ipv4网络和一个代表所有ipv4网络的ipv6网络。对于一个来自ipv4网络主机而目的主机在ipv6网络的数据包而言,路由子系统会认为该数据包可以通过互联子系统到达目的网络,设备会将数据包转发到互联子系统。互联子系统将收到的ipv4数据包翻译转换成ipv6数据包后发送回sdn网络中,与之前处理流程相似,路由子系统为新的ipv6数据包找到出口边界路由设备,然后设备选择一条转发路径并下发流表到路径上的交换机中。

要实现不同网络间的三层路由选择,路由子系统需要管理维护边界路由网关设备的逻辑信息和边界路由网关设备的网络可达信息。网络管理员可以通过路由子系统的配置模块对配置两种信息。配置模块取得配置信息参数后,根据具体参数细节确定配置类型。若要配置路由网关设备,则先由探测模块构造设备探测消息并在sdn网络中广播该探测消息,对于ipv4路由网关设备而言,探测消息是arp地址请求报文;对于ipv6路由网关设备而言,探测消息是icmpv6邻居地址请求报文。当控制器的基础功能模块收到探测消息的回复后,会为该设备记录注册物信息,包括该设备在网络中具体位置。然后,路由子系统的管理模块收到探测消息的回复后,为该设备创建逻辑实例,包括该设备的路由表和路由选择方法等。至此路由网关设备配置完成。若要为某个路由网关设备配置网络可达信息,路由子系统的管理模块会根据具体参数找到对应的路由网关实例,然后在其路由表中增加路由表项即可。

路由子系统解决了不同网络主机间通信的网络路由问题,确定了数据包的传输路径。互联子系统则用来解决ipv4网络主机与ipv6网络主机间通信数据包的翻译转换问题。互联子系统的详细实现架构如图3所示。整个架构除了三个功能模块还有ip消息队列和dns消息队列两个消息队列,一个地址池和一张地址转换表。互联子系统首先过滤分类接收到的数据包,若数据包的目的ip地址是互联网关自身的ip地址且传输层的源端口号或目的端口号是53,则将该数据包放到dns消息队列中,等待dns-alg模块处理;若数据包的目的ip地址是临时ipv4地址池中的ipv4地址或是具体特定96位地址前缀的ipv6地址,则将该数据包放到ip消息队列中,等待nat-pt模块处理。

nat-pt模块主要从ip消息队列中获取消息,然后根据具体的消息类型做翻译转换处理,根据消息类型进行不同的处理,具体处理流程如图7所示,大致可以分四步描述:

(1)从消息中获取原始数据包。

(2)根据数据包的ipv4/ipv6地址查询地址转换表,进行地址映射转换。

(3)根据数据包的实际情况对ipv4/ipv6、icmpv4/icmpv6、udp和tcp的头部字段进行翻译转换。

(4)将经过翻译后得到的新的数据包直接从链路层发送出去,该数据包到达sdn网络的交换机后,交换机中没有可以匹配的流表项所以将该数据包发送给控制器,由控制器继续处理。

dns-alg模块主要从dns消息队列中获取消息,然后根据具体的消息类型做对应处理。根据消息的类型执行不同的处理方式。

(1)dnsv4:对于ipv4格式的dns请求,将请求类型“a”改为“aaaa”,然后将目的地址改为ipv6网络的dns服务器地址,源地址改为该互联子系统所在设备ipv6地址;对于ipv4格式的dns应答,将请求类型“a”改为“aaaa”,为解析结果中的ipv4地址添加96位前缀,如该互联子系统使用的64:ff9b::/96,然后将目的地址改为ipv6网络的dns地址。最后将翻译转换后的数据包发送到sdn网络中由控制器继续处理。

(2)dnsv6:对于dns请求,将请求类型“aaaa”改为“a”,然后将目的地址改为ipv4网络的dns服务器地址,源地址改为该互联子系统所在设备ipv4地址;对于ipv6格式的dns应答,将请求类型“aaaa”改为“a”,为解析结果中的ipv6从地址池中分配一个临时可用的ipv4地址,并将该ipv4地址与解析结果中的ipv6地址作为地址映射对记录到地址映射转换表中,然后将目的地址改为ipv6网络的dns地址。最后将翻译转换后的数据包发送到sdn网络中由控制器继续处理。

在数据中心部署openflow网络,并且在数据中心出口部署网关设备,实现openflow网络与传统网络的互通。新一代版本的openflow协议可以对ipv6分组头匹配的支持,因此数据中心内部的openflow网络可同时支持ipv4和ipv6数据分组转发。

每个跨网访问的数据分组都要交由控制器识别和分发,对控制器的处理压力较大,可能成为性能瓶颈。通过集群技术实现控制器,可以有效解决这一问题。

本实用新型的有益效果是:本实用新型依托现有网络框架,不改变拓扑及系统业务,运用ipv6和sdn技术,针对新建ipv6网络和改造原有ipv4网络等多种模型,设计一种支持ipv4和ipv6协议转换的sdn网络设备,能够进一步细化局域网网络管理,实现各业务系统数据转发的优化处理,提高网络对ip设备的承载能力;能够满足因技术发展需要而实现的扩展和升级的需求;提供模块化设计思路以及灵活的接口设计,可以及时对产品进行有针对性的二次功能开发。

由于sdn技术的灵活性,可实现ipv6和ipv4协议的平滑过渡,高效、低成本的解决ipv6组网需求,满足二层和三层网络设备接入,解决网络地址不足的问题;在网络策略的自定义、策略快速下发、流量自动控制等功能的支撑下,实现网络运维便捷化,减少运维难度和工作量;本方案设计研发的一种支持ipv4和ipv6协议转换的sdn网络设备,提高信通专业人员网络管理新技术运用能力;提高信通专业对信息网络、系统业务各环节管控能力;提高信息运维人员信息网络运维水平。

该实用新型成功推出产品后应用前景广泛,会给市场带来更多的选择,收益会逐步提高。本实用新型能够进一步细化局域网网络管理,实现各业务系统数据转发的优化处理。通过ipv4向ipv6协议的转换,提高网络对ip设备的承载能力,更有效地管理网络设备,简化网络运维。

以上所述仅是本实用新型的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本实用新型原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本实用新型的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1