CN111404821A - 一种基于SDN的IPv4和IPv6互联系统 - Google Patents
一种基于SDN的IPv4和IPv6互联系统 Download PDFInfo
- Publication number
- CN111404821A CN111404821A CN201910002509.2A CN201910002509A CN111404821A CN 111404821 A CN111404821 A CN 111404821A CN 201910002509 A CN201910002509 A CN 201910002509A CN 111404821 A CN111404821 A CN 111404821A
- Authority
- CN
- China
- Prior art keywords
- routing
- address
- ipv4
- ipv6
- data packet
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/251—Translation of Internet protocol [IP] addresses between different IP versions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/52—Multiprotocol routers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/741—Routing in networks with a plurality of addressing schemes, e.g. with both IPv4 and IPv6
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4511—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种基于SDN的IPv4和IPv6互联系统,利用SDN的技术手段,用控制面提供的标准控制接口编写IPv4与IPv6互联的应用软件,实现IPv4数据包与IPv6数据包的协议翻译和地址转换,然后将其安装配置到SDN控制器中。这种方式不仅配置起来简单方便而且不需要对原有网络设备做功能上的改动。当不需要IPv4与IPv6互联的需求时,只需从控制器中移除IPv4与IPv6互联的功能即可,对网络造成的影响微乎其微。本发明使网络功能的调试测试变得灵活方便,即使以后不再需要某些网络应用功能,只需将相关应用模块从控制器中移除即可,对网络造成的影响微乎其微。
Description
技术领域
本发明涉及一种基于SDN的IPv4和IPv6互联系统
背景技术
随着网络规模的扩大和各种各样新应用的产生,IPv4网络暴露出来越来越多的问题,如IPv4地址耗尽、安全性问题、QoS(服务质量)问题、配置不够简便等。这些问题已严重阻碍了当前互联网的发展,因此设计制定了新的IPv6协议。而要将当前的IPv4网络完全升级为IPv6网络需要付出巨大的成本,因此在未来一段漫长的时间内IPv4与IPv6会同时存在。为保证网络业务的连续性,在IPv4与IPv6共存阶段必须引入IPv6过渡技术。当前使用的每种过渡技术都只针对某一种特定应用需求而不具有普适性。因此在实际部署中根据具体应用需求在网络中添加具有相应功能的设备,这不但会增加网络功能的复杂性,而且配置复杂易造成资源浪费。
SDN(Software Defined Networking)是由斯坦福大学CleanSlate研究组提出的一种新型网络架构,其核心思想是将传统网络中的网络控制与网络转发解耦分离成一个控制面和一个数据面,控制面对外界开放标准控制接口,网络管理员可以使用这些控制接口编写具体的网络应用程序从而达到对网络具体需求的控制。而数据面仅根据来自控制面的命令对网络中数据通信进行转发等处理。SDN自从其问世以来,以其通过软件编程来实现对网络实行更加灵活、开放、细粒度的管理和控制广受学术界和企业界的关注。目前OpenFlow作为SDN一种比较受最多认可实现方式,在学术界、企业界得到了广泛研究和发展。因此SDN很可能会成为下一代互联网体系架构的方向。
SDN出现后已经在很多方面得到关注和应用,但是如何在传统IPv6过渡技术中引入结合SDN技术,从而解决IPv4与IPv6共存阶段网络的复杂性和业务的可持续性,目前还没有过多深入的研究。
发明内容
针对现有技术的不足,本发明提供了避免了在网络中为需要的实现某种功能而定制各种配置复杂的网络设备,而且使网络功能的调试测试变得灵活方便。
为实现以上目的,本发明通过以下技术方案予以实现:
本发明的基于SDN的IPv4和IPv6互联系统,其由路由子系统和互联子系统两个子系统组成;
所述路由子系统实现在控制器中,该子系统会根据收到的跨网通信数据包源目的IP地址在SDN网络中选择一条连接两个网络的路径;
所述互联子系统在控制器收到一个交换机不能处理的数据包后,若发现该数据包需要翻译转换,则先将该数据包转发到互联网关由互联子系统处理;互联网关收到该数据包后为数据包做协议翻译与地址转换处理,然后将翻译转换完成的新数据包发送到网络中由控制器继续处理。
进一步的,路由子系统包括路由配置模块、路由设备探测模块和路由信息管理模块理模块三个功能模块;
路由配置模块:网络管理员通过该模块配置边界路由设备和配置边界路由设备的网络可达信息,即边界路由设备的路由表;
路由设备探测模块:该模块主要用来探测定位边界路由设备在SDN网络中具体物理信息;
路由信息管理模块:管理维护SDN网络中已知的边界路由设备和边界路由设备中的网络可达信息。
进一步的,所述互联子系统包括DNS-ALG和NAT-PT模块两个功能模块;
NAT-PT模块:主要是实现IPv4格式数据包与IPv6格式数据包间的翻译转换,包括协议翻译与地址转换。
DNS-ALG模块:在NAT-PT模块基础上,通过域名解析建立IPv4地址与IPv6地址的映射。
进一步的,路由子系统实现方法如下:
路由子系统根据数据包的目的IP地址判断该数据包的目的主机是否在 SDN网络,若目的主机在SDN网络,则按照控制器常规的处理流程即可;若不在,则路由子系统会遍历其维护管理的所有边界路由网关设备实例,为该数据包查询可以通过哪一个边界路由设备到达目的网络,找到正确的边界路由设备后会获取其所连接的SDN交换机,最后按照控制器常规处理流程在两个交换机间选择一条路径并下发流表。
进一步的,要实现不同网络间的三层路由选择,路由子系统需要管理维护边界路由网关设备的逻辑信息和边界路由网关设备的网络可达信息,网络管理员可以通过路由子系统的配置模块对配置两种信息;配置模块取得配置信息参数后,根据具体参数细节确定配置类型;若要配置路由网关设备,则先由探测模块构造设备探测消息并在SDN网络中广播该探测消息,对于IPv4 路由网关设备而言,探测消息是ARP地址请求报文;对于IPv6路由网关设备而言,探测消息是ICMPv6邻居地址请求报文;当控制器的基础功能模块收到探测消息的回复后,会为该设备记录注册物信息,包括该设备在网络中具体位置。然后,路由子系统的管理模块收到探测消息的回复后,为该设备创建逻辑实例,包括该设备的路由表和路由选择方法等;至此路由网关设备配置完成;若要为某个路由网关设备配置网络可达信息,路由子系统的管理模块会根据具体参数找到对应的路由网关实例,然后在其路由表中增加路由表项即可。
进一步的,互联子系统实现方法如下:
互联子系统首先过滤分类接收到的数据包,若数据包的目的IP地址是互联网关自身的IP地址且传输层的源端口号或目的端口号是53,则将该数据包放到DNS消息队列中,等待DNS-ALG模块处理;若数据包的目的IP地址是临时IPv4地址池中的IPv4地址或是具体特定96位地址前缀的IPv6地址,则将该数据包放到IP消息队列中,等待NAT-PT模块处理。
7.如如权利要求6所述的一种基于SDN的IPv4和IPv6互联系统,其特征在于,NAT-PT模块从IP消息队列中获取消息,然后根据具体的消息类型做翻译转换处理,根据消息类型进行不同的处理,分四步描述:
(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网络中由控制器继续处理。
本发明具备以下有益效果:
本发明在该系统中利用SDN的技术手段,用控制面提供的标准控制接口编写IPv4与IPv6互联的应用软件,然后将其以插件的形式安装添加到SDN 控制器中,当控制器收到IPv4主机与IPv6主机间通信的数据包后,会将数据包交给IPv4与IPv6互联的应用模块处理,然后将根据处理结果在交换机中设置相应的转发规则。最后,交换机根据控制器下发的转发规则数对数据包完成传输交换。可以看出采用了SDN后,不仅避免了在网络中为需要的实现某种功能而定制各种配置复杂的网络设备,而且使网络功能的调试测试变得灵活方便。即使以后不再需要某些网络应用功能,只需将相关应用模块从控制器中移除即可,对网络造成的影响微乎其微。
附图说明
图1为本发明的基于SDN的IPv4和IPv6互联系统原理图。
图2为本发明的控制器路由选择流程图。
图3为本发明的互联子系统的详细实现架构图。
图4为本发明的NAT-PT模块处理流程图。
图5为本发明的实验环境结构图。
图6是本发明的边界路由网关的配置示意图。
图7为交换机流表信息图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
本文在SDN框架基础上做了IPv4与IPv6互联技术的研究,设计了基于 SDN的IPv4和IPv6互联系统。在该系统中利用SDN的技术手段,用控制面提供的标准控制接口编写IPv4与IPv6互联的应用软件,然后将其以插件的形式安装添加到SDN控制器中,当控制器收到IPv4主机与IPv6主机间通信的数据包后,会将数据包交给IPv4与IPv6互联的应用模块处理,然后将根据处理结果在交换机中设置相应的转发规则。最后,交换机根据控制器下发的转发规则数对数据包完成传输交换。可以看出采用了SDN后,不仅避免了在网络中为需要的实现某种功能而定制各种配置复杂的网络设备,而且使网络功能的调试测试变得灵活方便。即使以后不再需要某些网络应用功能,只需将相关应用模块从控制器中移除即可,对网络造成的影响微乎其微。
本文设计的基于SDN的IPv4与IPv6互联系统的模型如图1所示,整个系统由路由子系统和互联子系统两个子系统组成。路由子系统设计实现在控制器中,该子系统会根据收到的跨网通信数据包源目的IP地址在SDN网络中选择一条连接两个网络的路径。这样对于连接到SDN网络的IPv4和IPv6网络而言,相当于连接到一个中心路由器。如果将互联子系统同样设计实现在控制器,那么所有IPv4与IPv6网络间的通信数据包都需要由控制器处理,这将占用控制器大量的计算资源。不仅会造成网络IPv4与IPv6网络间的通信效率低下,而且会影响控制器对其他网络业务的处理。因此互联系统在一台独立的设备中实现,即图中的互联网关。控制器会为IPv4与IPv6网络间的数据通信在SDN网络中选择一条经过互联网关设备的路径。
路由子系统
控制器为IPv4与IPv6网络间的数据通信选择路径需要根据IP地址判断数据包是否需要由互联网关处理或是数据包的出口边界路由,SDN控制器仅实现了对SDN网络的基本管理控制功能,它实际管理的是一个二层链路网络,不支持不同网络间的三层路由功能。因此本文在控制器的基本功能架构基础之上设计实现了路由子系统,这样对于连接到SDN网络的其他网络来说相当于连接到一个中心路由器上。路由子系统包括路由配置模块、路由设备探测模块和路由信息管理模块理模块三个功能模块。
1.路由配置模块:网络管理员通过该模块配置边界路由设备和配置边界路由设备的网络可达信息,即边界路由设备的路由表。
2.路由设备探测模块:该模块主要用来探测定位边界路由设备在SDN网络中具体物理信息。
3.路由信息管理模块:管理维护SDN网络中已知的边界路由设备和边界路由设备中的网络可达信息。
互联子系统
控制器收到一个交换机不能处理的数据包后,若发现该数据包需要翻译转换,则先将该数据包转发到互联网关由互联子系统处理。互联网关收到该数据包后为数据包做协议翻译与地址转换处理,然后将翻译转换完成的新数据包发送到网络中由控制器继续处理。互联子系统包括DNS-ALG(Domain Name System-ApplicationLayer Gateway)和NAT-PT(Network Address Translation-Protocol Translation)模块两个功能模块。
1.NAT-PT模块:主要是实现IPv4格式数据包与IPv6格式数据包间的翻译转换,包括协议翻译与地址转换。
2.DNS-ALG模块:在NAT-PT模块基础上,通过域名解析建立IPv4地址与 IPv6地址的映射。
路由子系统
加入路由子系统后的控制器收到交换机不能处理的数据包后处理流程如图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消息队列中获取消息,然后根据具体的消息类型做翻译转换处理,根据消息类型进行不同的处理,具体处理流程如图4所示,大致可以分四步描述:
(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网络中由控制器继续处理。
仿真环境搭建
系统仿真所需要的设备与工具如图1所示,在本文的仿真实验环境中,使用一台物理PC主机仿真模拟SDN网络。本文使用的SDN控制器是 Floodlight,Floodlight是一个开源的控制器,本文在上面实现添加了路由子系统。本文选择OpenvSwitch模拟SDN交换机,仿真搭建SDN网络拓扑。使用VirtualBox创建两台虚拟机,详细情况参考图1。搭建完成的实验仿真网络如图5所示。
功能测试
在对整个互联系统测试之前先在Floodlight控制器中配置添加SDN网络边界路由网关和配置添加边界网关所达网络的路由信息,这也是对路由子系统的测试。在该实验仿真中,虽然IPv4主机host1和IPv6主机host2分别代表实际与SDN网络相连的IPv4网络和IPv6网络,但他们也都是SDN网络下普通主机,因此不需要将他们为边界路由网关。但互联网关作为一台特殊的边界路由设备,它的可达网络是222.205.38.0/24和64:ff9b::0/96,所以需要在路由子系统中对其设置。因此实验中,将互联网关配置为IPv4边界路由网关和IPv6边界路由网关,然后配置这两个边界路由网关所达网络的路由信息。图6(a)是对IPv4网络边界路由网关和IPv6网络边界路由网关的配置,图6(b)则是对两个边界路由网关的路由表的配置。现在进行测试 IPv4主机host1与IPv6主机host2之间的连通性,在host1上使用host2的域名“www.zyt.com”测试与host2的连通性,从测试结果可以看出,IPv6主机host2的域名“www.zyt.com”被解析为222.205.38.1,这是互联子系统中临时地址池中的地址,说明互联网关在处理域名解析报文时为host2的IPv6 地址从临时地址池中分配了临时IPv4地址,完成了地址映射。
通过查看网桥br0、br1和br2中的流表项可以看到host1host2间通信的全部过程。首先是网桥br1,它只有IPv4协议的流表项,如图7(a)所示,可以看到host1与互联网关间的UDP类型的报文通信,根据端口号可知这是他们之间的域名解析请求和域名解析答复。还有host1与地址为222.205.38.1 的主机间的通信报文,这些报文的收发仍在host1与互联网关之间,这就是 host1与host2整个通信过程的IPv4部分。其次是网桥br0,它流表项既有IPv6协议的流表项也有IPv4协议的流表项,从中可以看到报文的翻译转换过程,如图7(b)所示,根据报文类型和端口号,不但可以看到互联网关与host1 之间的域名解析报文的交互,而且还有互联网关与host2之间的域名解析报文的交互。还有host1与host2通信报文的转换,可以看到在host1与host2 通信的IPv4部分中,host2使用IPv6映射地址222.205.38.1,而在在host1 与host2通信的IPv6部分中,host1使用IPv4映射地址64:ff9b::c0a8: 3802,两部分的通信报文必须经过互联网关,由互联网关负责翻译转换。最后是网桥br2,它只有IPv6协议的流表项,与br1类似,不过它展现的是host1 与host2整个通信过程的IPv6部分。
在IPv6主机host2上使用IPv4主机host1的域名“www.zql.com”测试与host1的连通性,同样可以得到预期的测试结果。
SDN的出现带来一种以软件和驱动的方式管理控制网络,它通过解耦传统网络的控制逻辑和数据逻辑形成的新型网络架构对于传统网络中难以解决的问题有巨大的优势。本文就是在传统IPv6过渡技术基础上引入SDN,利用其控制与转发分离的技术,研究设计了基于SDN的IPv4与IPv6互联系统,整个互联系统路由子系统和互联子系统两个子系统组成。路由子系统主要实现了边界路由网关设备的配置、探测和路由表等信息的维护管理,控制器会根据其维护的路由表在SDN网络拓扑中寻找一条连接IPv4网络和IPv6网络的路径。互联子系统则在IPv4主机与IPv6主机的通信过程中实现了域名解析阶段中IPv4地址与IPv6地址的映射关系的建立和数据通信过程中IPv4数据包与IPv6数据包间的协议翻译和地址转换。本文最后用Floodlight控制器、 OpenvSwitch等工具搭建了基于OpenFlow技术的SDN仿真网络来对互联系统进行测试并对测试结果进行分析。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。
Claims (8)
1.一种基于SDN的IPv4和IPv6互联系统,其特征在于,由路由子系统和互联子系统两个子系统组成;
所述路由子系统实现在控制器中,该子系统会根据收到的跨网通信数据包源目的IP地址在SDN网络中选择一条连接两个网络的路径;
所述互联子系统在控制器收到一个交换机不能处理的数据包后,若发现该数据包需要翻译转换,则先将该数据包转发到互联网关由互联子系统处理;互联网关收到该数据包后为数据包做协议翻译与地址转换处理,然后将翻译转换完成的新数据包发送到网络中由控制器继续处理。
2.如权利要求1所述的一种基于SDN的IPv4和IPv6互联系统,其特征在于,路由子系统包括路由配置模块、路由设备探测模块和路由信息管理模块理模块三个功能模块;
路由配置模块:网络管理员通过该模块配置边界路由设备和配置边界路由设备的网络可达信息,即边界路由设备的路由表;
路由设备探测模块:该模块主要用来探测定位边界路由设备在SDN网络中具体物理信息;
路由信息管理模块:管理维护SDN网络中已知的边界路由设备和边界路由设备中的网络可达信息。
3.如权利要求1所述的一种基于SDN的IPv4和IPv6互联系统,其特征在于,所述互联子系统包括DNS-ALG和NAT-PT模块两个功能模块;
NAT-PT模块:主要是实现IPv4格式数据包与IPv6格式数据包间的翻译转换,包括协议翻译与地址转换。
DNS-ALG模块:在NAT-PT模块基础上,通过域名解析建立IPv4地址与IPv6地址的映射。
4.如如权利要求1所述的一种基于SDN的IPv4和IPv6互联系统,其特征在于,路由子系统实现方法如下:
路由子系统根据数据包的目的IP地址判断该数据包的目的主机是否在SDN网络,若目的主机在SDN网络,则按照控制器常规的处理流程即可;若不在,则路由子系统会遍历其维护管理的所有边界路由网关设备实例,为该数据包查询可以通过哪一个边界路由设备到达目的网络,找到正确的边界路由设备后会获取其所连接的SDN交换机,最后按照控制器常规处理流程在两个交换机间选择一条路径并下发流表。
5.如如权利要求1所述的一种基于SDN的IPv4和IPv6互联系统,其特征在于,要实现不同网络间的三层路由选择,路由子系统需要管理维护边界路由网关设备的逻辑信息和边界路由网关设备的网络可达信息,网络管理员可以通过路由子系统的配置模块对配置两种信息;配置模块取得配置信息参数后,根据具体参数细节确定配置类型;若要配置路由网关设备,则先由探测模块构造设备探测消息并在SDN网络中广播该探测消息,对于IPv4路由网关设备而言,探测消息是ARP地址请求报文;对于IPv6路由网关设备而言,探测消息是ICMPv6邻居地址请求报文;当控制器的基础功能模块收到探测消息的回复后,会为该设备记录注册物信息,包括该设备在网络中具体位置。然后,路由子系统的管理模块收到探测消息的回复后,为该设备创建逻辑实例,包括该设备的路由表和路由选择方法等;至此路由网关设备配置完成;若要为某个路由网关设备配置网络可达信息,路由子系统的管理模块会根据具体参数找到对应的路由网关实例,然后在其路由表中增加路由表项即可。
6.如如权利要求1所述的一种基于SDN的IPv4和IPv6互联系统,其特征在于,互联子系统实现方法如下:
互联子系统首先过滤分类接收到的数据包,若数据包的目的IP地址是互联网关自身的IP地址且传输层的源端口号或目的端口号是53,则将该数据包放到DNS消息队列中,等待DNS-ALG模块处理;若数据包的目的IP地址是临时IPv4地址池中的IPv4地址或是具体特定96位地址前缀的IPv6地址,则将该数据包放到IP消息队列中,等待NAT-PT模块处理。
7.如如权利要求6所述的一种基于SDN的IPv4和IPv6互联系统,其特征在于,NAT-PT模块从IP消息队列中获取消息,然后根据具体的消息类型做翻译转换处理,根据消息类型进行不同的处理,分四步描述:
(1)从消息中获取原始数据包;
(2)根据数据包的IPv4/IPv6地址查询地址转换表,进行地址映射转换;
(3)根据数据包的实际情况对IPv4/IPv6、ICMPv4/ICMPv6、UDP和TCP的头部字段进行翻译转换;
(4)将经过翻译后得到的新的数据包直接从链路层发送出去,该数据包到达SDN网络的交换机后,交换机中没有可以匹配的流表项所以将该数据包发送给控制器,由控制器继续处理。
8.如如权利要求6所述的一种基于SDN的IPv4和IPv6互联系统,其特征在于,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网络中由控制器继续处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910002509.2A CN111404821A (zh) | 2019-01-02 | 2019-01-02 | 一种基于SDN的IPv4和IPv6互联系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910002509.2A CN111404821A (zh) | 2019-01-02 | 2019-01-02 | 一种基于SDN的IPv4和IPv6互联系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111404821A true CN111404821A (zh) | 2020-07-10 |
Family
ID=71432037
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910002509.2A Pending CN111404821A (zh) | 2019-01-02 | 2019-01-02 | 一种基于SDN的IPv4和IPv6互联系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111404821A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112491724A (zh) * | 2020-12-09 | 2021-03-12 | 福建农林大学 | 基于SDN的IPv4及IPv6的管理系统及方法 |
CN114070817A (zh) * | 2020-07-29 | 2022-02-18 | 小鱼视讯(北京)科技有限公司 | 应用于SDN网络Overlay层的IPv4与IPv6双向翻译方法及装置 |
CN115051973A (zh) * | 2022-04-25 | 2022-09-13 | 浙江大华技术股份有限公司 | 一种设备内部通信建立方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104734963A (zh) * | 2015-03-24 | 2015-06-24 | 电子科技大学 | 一种基于SDN的IPv4和IPv6网络互连方法 |
US20180167282A1 (en) * | 2016-12-09 | 2018-06-14 | NoFutzNetworks Inc. | Address Assignment by Port Enumeration in a Software-Defined Network |
-
2019
- 2019-01-02 CN CN201910002509.2A patent/CN111404821A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104734963A (zh) * | 2015-03-24 | 2015-06-24 | 电子科技大学 | 一种基于SDN的IPv4和IPv6网络互连方法 |
US20180167282A1 (en) * | 2016-12-09 | 2018-06-14 | NoFutzNetworks Inc. | Address Assignment by Port Enumeration in a Software-Defined Network |
Non-Patent Citations (2)
Title |
---|
张永涛: "基于SDN的IPv4与IPv6互联技术的研究" * |
胡力卫;单冉冉;唐勇;汪文勇;: "基于SDN的IPv4与IPv6互联技术研究" * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114070817A (zh) * | 2020-07-29 | 2022-02-18 | 小鱼视讯(北京)科技有限公司 | 应用于SDN网络Overlay层的IPv4与IPv6双向翻译方法及装置 |
CN112491724A (zh) * | 2020-12-09 | 2021-03-12 | 福建农林大学 | 基于SDN的IPv4及IPv6的管理系统及方法 |
CN112491724B (zh) * | 2020-12-09 | 2022-12-09 | 福建农林大学 | 基于SDN的IPv4及IPv6的管理系统及方法 |
CN115051973A (zh) * | 2022-04-25 | 2022-09-13 | 浙江大华技术股份有限公司 | 一种设备内部通信建立方法及装置 |
CN115051973B (zh) * | 2022-04-25 | 2023-10-20 | 浙江大华技术股份有限公司 | 一种设备内部通信建立方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5579853B2 (ja) | バーチャル・プライベート・ネットワークの実現方法及びシステム | |
US9448821B2 (en) | Method and system for realizing virtual machine mobility | |
US6631137B1 (en) | Method and system for improving high speed internetwork data transfers | |
CN104734963B (zh) | 一种基于SDN的IPv4和IPv6网络互连方法 | |
CN107181688B (zh) | 一种sdn网络中实现服务器端跨域数据传输优化的系统和方法 | |
JP2013504959A (ja) | バーチャルプライベートネットワークの実現方法及びシステム | |
KR20130112863A (ko) | 사설 ipv4 도달가능성으로 ds-라이트 향상 | |
KR20120060810A (ko) | 통신망 사이에서 데이터를 라우팅하는 기술 | |
CN111404821A (zh) | 一种基于SDN的IPv4和IPv6互联系统 | |
CN110691150A (zh) | 一种基于SDN的IPv4与IPv6互联方法及系统 | |
CN108123819B (zh) | 一种虚实网络无缝融合的仿真方法 | |
CN113973027B (zh) | 具有物理网络功能和虚拟化网络功能的服务链 | |
Kalwar et al. | A survey of transition mechanisms from IPv4 to IPv6—Simulated test bed and analysis | |
CN109547452A (zh) | Linux网桥设备上实现TCP透明代理的方法及系统 | |
CN113271255A (zh) | 一种网络地址转换回环的方法、装置 | |
CN114363410B (zh) | 应用访问方法、云端代理及节点代理组件、设备、介质 | |
US7742479B1 (en) | Method and apparatus for dynamic network address reassignment employing interim network address translation | |
CN210867778U (zh) | 一种能够进行IPv4与IPv6地址转化的系统 | |
Sekigawa et al. | Toward a cloud-native telecom infrastructure: Analysis and evaluations of kubernetes networking | |
CN112929284A (zh) | 一种IPv6 VXLAN场景下的ND报文识别方法与系统 | |
CN101022426A (zh) | 静态网络地址转换-协议转换的实现方法及网关设备 | |
Martins et al. | An SDN-based framework for managing Internet exchange points | |
Wu et al. | Research on the application of cross-domain VPN technology based on MPLS BGP | |
KR101124635B1 (ko) | IPv4/IPv6 연동 게이트웨이 | |
Dumba et al. | Experience in implementing & deploying a non-ip routing protocol viro in geni |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |