基于SDN的IPv4/IPv6转换系统和方法
技术领域
本发明涉及计算机网络技术领域,尤其涉及一种基于SDN的IPv4/IPv6转换系统和方法。
背景技术
在今天互联网已经成为获取知识的重要源泉,无论个人、学校、企业都以各种各样的方式接入了互联网。校园网与互联网的连接确实给师生员工提供了极大的方便,但是这也给管理带来了严峻的考验。在校园网络中主要需要考虑以下几个问题:
1.网络可持续发展问题
运营一个网络,不仅仅要有初期的软硬件投入,还需要有不断的运营费用。如果完全依靠学校的资金来维持网络运营,可能给学校带来不小经济负担。这就需要充分发挥网络的可营业性,实现健康的自主盈亏方式,从而促进学校网络的可持续发展。因此,引入网络计费是可持续发展的必由之路。
2.网络的管理
互联网给师生们带来了极大的便利,但是网络设备有时也会出现故障,这就需要备用方案,一旦网络出现故障时,网络可以自动切换,保障师生正常的网络访问。因此,在校园网中加入了SDN技术,保障校园网的正常、有序的运行。
SDN指的是软件定义网络,你可以这样去理解SDN:如果将网络中所有的网络设备视为被管理的资源,那么参考操作系统的原理,可以抽象出一个网络操作系统(NetworkOS)的概念-这个网络操作系统一方面抽象了底层网络设备的具体细节,同时还为上层应用提供了统一的管理视图和编程接口。这样,基于网络操作系统这个平台,用户可以开发各种应用程序,通过软件来定义逻辑上的网络拓扑,以满足对网络资源的不同需求,而无需关心底层网络的物理拓扑结构。
SDN的最重要特征:将传统网络设备的数据转发(data plane)和路由控制(control plane)两个功能模块相分离,通过集中式的控制器(Controller)以标准化的接口对各种网络设备进行管理和配置,那么这将为网络资源的设计、管理和使用提供更多的可能性,从而更容易推动网络的革新与发展。
迁移(Migration)就是把一个虚拟机从一台物理主机搬到另一台物理主机,动态(Live)就是在迁移过程中虚拟机正常工作不影响用户的使用。对系统管理员来说,动态迁移是个非常有用的工具,当计划对一个物理主机进行更新或者升级(update/upgrade)的时候,管理员不需要关闭这个物理主机上的虚拟机,只是在更新或者升级前把虚拟机动态迁移到另外一个物理主机,等更新或者升级工作完成后,在迁移回来。从用户的角度来看,好像这个过程没有发生。虚拟机虽然迁来迁去,但丝毫不会影响用户的使用。迁移(Migration)就是把一个虚拟机从一台物理主机搬到另一台物理主机,动态(Live)就是在迁移过程中虚拟机正常工作不影响用户的使用。对系统管理员来说,动态迁移是个非常有用的工具,当计划对一个物理主机进行更新或者升级(update/upgrade)的时候,管理员不需要关闭这个物理主机上的虚拟机,只是在更新或者升级前把虚拟机动态迁移到另外一个物理主机,等更新或者升级工作完成后,在迁移回来。从用户的角度来看,好像这个过程没有发生。虚拟机虽然迁来迁去,但丝毫不会影响用户的使用。迁移(Migration)就是把一个虚拟机从一台物理主机搬到另一台物理主机,动态(Live)就是在迁移过程中虚拟机正常工作不影响用户的使用。对系统管理员来说,动态迁移是个非常有用的工具,当计划对一个物理主机进行更新或者升级(update/upgrade)的时候,管理员不需要关闭这个物理主机上的虚拟机,只是在更新或者升级前把虚拟机动态迁移到另外一个物理主机,等更新或者升级工作完成后,在迁移回来。从用户的角度来看,好像这个过程没有发生。虚拟机虽然迁来迁去,但丝毫不会影响用户的使用。
发明内容
有鉴于此,本发明提出了一种基于SDN的IPv4/IPv6转换系统和方法,能够很好地解决当IVI服务器出现故障时,在局域网内如何实现IPv4访问IPv6资源的问题。
根据本发明一方面提供了一种基于SDN的IPv4和IPv6转换系统,包括:IPv6/IPv4双栈客户端、IVI服务器、SDN交换机,其中:
所述IPv6/IPv4双栈客户端配置有IPv6地址和IPv4地址;
所述IVI服务器用于将从所述SDN交换机接收到的IPv4数据包转换成IPv6数据包后,返回给所述SDN交换机;
所述SDN交换机用于从所述IPv6/IPv4双栈客户端接收IPv4数据包,并且所述SDN交换机用于判断所述IVI服务器是否正常运行,在所述IVI服务器运行正常时,所述SDN将从所述IPv6/IPv4双栈客户端接收到的IPv4数据包转发至IVI服务器,并将所述IVI服务器返回的IPv6数据包通过IPv6路线发送出去;在所述IVI服务器运行异常时,所述SDN交换机将从所述IPv6/IPv4双栈客户端接收到的IPv4数据包通过备用IPv4路线转发出去。
其中,所述系统还包括:
汇聚层交换机,其用于接收所述IPv6/IPv4双栈客户端的IPv4数据包,并将其转发至SDN交换机,还用于接收所述SDN交换机转发的IPv6数据包,并将其转发至核心交换机;NAT服务器,其用于接收所述SDN交换机转发的IPv4数据包,并将其通过IPv4备用路线转发至核心交换机;
核心交换机,用于将接收到的IPv6数据包或Ipv4数据包转发至外网。
其中,所述SDN交换机根据从所述IPv6/IPv4双栈客户端接收到的IPv4数据包和从IVI服务器返回的IPv6数据包,判断所述IVI服务器是否异常。
其中,当所述SDN交换机确定从所述IPv6/IPv4双栈客户端接收到的IPv4数据包和从IVI服务器返回的IPv6数据包完全一致时,确定所述IVI服务器运行异常;或者,当所述SDN交换机确定IVI服务器转换后的IPv6数据包有丢包时,确定所述IVI服务器运行异常。
其中,所述SDN交换包括五个端口,第一端口用于接收所述IPv6/IPv4双栈客户端的IPv4数据包,第二端口用于将所述IPv4数据包转发至IVI服务器,第三端口用于接收从所述IVI服务器返回的IPv6数据包,第四端口用于将所述IPv6数据包通过IPv6线路转发出去,第五端口用于将所述IPv4数据包通过IPv4备用线路转发出去。
根据本发明另一方面提供了一种基于SDN的IPv4和IPv6转换方法,包括:
SDN交换机用于从IPv6/IPv4双栈客户端接收IPv4数据包;所述IPv6/IPv4双栈客户端配置有IPv6地址和IPv4地址;
所述SDN交换机用于判断IVI服务器是否正常运行;
在所述IVI服务器运行异常时,所述SDN交换机将从所述IPv6/IPv4双栈客户端接收到的IPv4数据包通过备用IPv4路线转发出去;
在所述IVI服务器运行正常时,所述SDN将从所述IPv6/IPv4双栈客户端接收到的IPv4数据包转发至IVI服务器;
所述IVI服务器用于将从SDN交换机接收到的IPv4数据包转换成IPv6数据包后,返回给所述SDN交换机;
所述SDN交换机将所述IVI服务器返回的IPv6数据包通过IPv6路线发送出去。
其中,所述方法还包括:
汇聚层交换机接收所述IPv6/IPv4双栈客户端的IPv4数据包,并将其转发至所述SDN交换机;
所述SDN交换机将所述IVI服务器返回的IPv6数据包通过IPv6路线发送出去,包括:
所述汇聚层交换机接收所述SDN交换机转发的IPv6数据包,并将其转发至核心交换机;
所述在所述IVI服务器运行异常时,所述SDN交换机将从所述IPv6/IPv4双栈客户端接收到的IPv4数据包通过备用IPv4路线转发出去,包括:
NAT服务器接收所述SDN交换机转发的IPv4数据包,并将其通过IPv4备用路线转发至核心交换机;所述核心交换机用于将接收到的IPv6数据包或Ipv4数据包转发至外网。
其中,所述SDN交换机用于判断IVI服务器是否正常运行,包括:
所述SDN交换机根据从所述IPv6/IPv4双栈客户端接收到的IPv4数据包和从IVI服务器返回的IPv6数据包,判断所述IVI服务器是否异常。
其中,所述SDN交换机根据从所述IPv6/IPv4双栈客户端接收到的IPv4数据包和从IVI服务器返回的IPv6数据包,判断所述IVI服务器是否异常,包括:
当所述SDN交换机确定从所述IPv6/IPv4双栈客户端接收到的IPv4数据包和从IVI服务器返回的IPv6数据包完全一致时,确定所述IVI服务器运行异常;
当所述SDN交换机确定IVI服务器转换后的IPv6数据包有丢包时,确定所述IVI服务器运行异常。
其中,所述SDN交换包括五个端口,第一端口用于接收所述IPv6/IPv4双栈客户端的IPv4数据包,第二端口用于将所述IPv4数据包转发至IVI服务器,第三端口用于接收从所述IVI服务器返回的IPv6数据包,第四端口用于将所述IPv6数据包通过IPv6线路转发出去,第五端口用于将所述IPv4数据包通过IPv4备用线路转发出去。
通过本发明的上述方案,能够提供IPv4和IPv6无线接入服务,可以访问IPv4、IPv6站点,并且通过在IPv4客户端或IPv4/IPv6双栈客户端通过IPv4地址访问IPv6资源,并且IVI服务器出现故障的情况下,通过SDN交换机实现数据包的正常转发。
附图说明
图1是本发明一示例性实施例示出的基于SDN的IPv4/IPv6转换系统结构示意图;
图2是本发明一示例性实施例示出的基于SDN的IPv4/IPv6转换方法流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明作进一步的详细说明。
本发明一示例性实施例示出的一种基于SDN的IPv4/IPv6转换系统,包括:IPv6/IPv4双栈客户端、IVI服务器、SDN交换机,其中:
所述IPv6/IPv4双栈客户端配置有IPv6地址和IPv4地址;
所述IVI服务器用于将从所述SDN交换机接收到的IPv4数据包转换成IPv6数据包后,返回给所述SDN交换机;
所述SDN交换机用于从所述IPv6/IPv4双栈客户端接收IPv4数据包,并且所述SDN交换机用于判断所述IVI服务器是否正常运行,在所述IVI服务器运行正常时,所述SDN将从所述IPv6/IPv4双栈客户端接收到的IPv4数据包转发至IVI服务器,并将所述IVI服务器返回的IPv6数据包通过IPv6路线发送出去;在所述IVI服务器运行异常时,所述SDN交换机将从所述IPv6/IPv4双栈客户端接收到的IPv4数据包通过备用IPv4路线转发出去。
所述系统还包括:
汇聚层交换机,其用于接收所述IPv6/IPv4双栈客户端的IPv4数据包,并将其转发至SDN交换机,还用于接收所述SDN交换机转发的IPv6数掘包,并将其转发至核心交换机;
NAT服务器,其用于接收所述SDN交换机转发的IPv4数据包,并将其通过IPv4备用路线转发至核心交换机;
核心交换机,用于将接收到的IPv6数据包或Ipv4数据包转发至外网。
由于NAT服务器所获得的IPv4数据包中的IPv4地址是局域网中的私网地址,NAT服务器还需要将IPv4数据包中的IPv4地址转换成外网中的公网地址,然后将IPv4数据包转发至核心交换机。
如图1所示,用户访问IPv4站点的数据流程,以www.XXXX.com为例:
1、用户在浏览器中输入www.XXXX.com,IPv4数据包通往无线网络到达各层AP。
2、AP将IPv4数据包转发给接入层交换机。
3、接入层交换机将IPv4数据包转发给汇聚层交换机wireless-3750。
4、wireless-3750交换机将IPv4数据包转发给SDN交换机。
5、SDN交换机做出判断,如果IPv4数据包有丢失,或者上联IVI服务器链路不通,则直接将IPv4数据包转发给NAT服务器;如果上联链路通畅或者没有数据丢失,则将IPv4数据包转发给IVI服务器。
6、IPv4数据到达IVI服务器后,IVI服务器对IPv4数据包进行转换,将IPv4数据包转换为IPv6数据包,然后转发给SDN交换机。
7、SDN交换机从IVI服务器接收到IPv6数据包,随后SDN交换机交转换后的IPv6数据包转发给wireless-3750交换机。
8、然后wireless-3750交换机将IPv6数据包转发给核心交换机,核心交换机根据路由规则把IPv6数据包发送到防火墙。
9、IPv6数据包通过CERNET2网络走到一级IVI服务器,一级IVI服务器根据事先设定的转换规则,将IPv6数据包转换成IPv4数据包,最后路由到www.XXXX.com。
用户防问IPv6站点的数据流程,以ipv6.XXXXcom为例:
1、用户在浏览器中输入ipv6.XXXX.com,IPv6数据请求包通往无线网络到达各层AP。
2、AP将IPv6数据包转发给接入层交换机。
3、接入层交换机将IPv6数据包转发给汇聚层交换机wireless-3750。
4、wireless-3750交换机将IPv6数据包直接转发给核心交换机,核心交换机根据路由规则把IPv6数据包发送到防火墙。
5、IPv6数据包通过CERNET2网络走到一级IVI服务器,一级IVI服务器在接收到IPv6数据包时,将不对数据包做任何处理,直接通过IVI服务器访问ipv6.XXXX.com。
所述SDN交换机根据从所述IPv6/IPv4双栈客户端接收到的IPv4数据包和从IVI服务器返回的IPv6数据包,判断所述IVI服务器是否异常。
其中,当所述SDN交换机确定从所述IPv6/IPv4双栈客户端接收到的IPv4数据包和从IVI服务器返回的IPv6数据包完全一致时,确定所述IVI服务器运行异常;或者,当所述SDN交换机确定IVI服务器转换后的IPv6数据包有丢包时,确定所述IVI服务器运行异常。
其中,所述SDN交换包括五个端口,第一端口用于接收所述IPv6/IPv4双栈客户端的IPv4数据包,第二端口用于将所述IPv4数据包转发至IVI服务器,第三端口用于接收从所述IVI服务器返回的IPv6数据包,第四端口用于将所述IPv6数据包通过IPv6线路转发出去,第五端口用于将所述IPv4数据包通过IPv4备用线路转发出去。
SDN能提供基于应用的多出口路由,根据丢包率、网络通畅情况等,SDN将用户请求转发到不同的出口。
如图1所示,对于SDN交换机来讲:
正常的数据流为portl->port2,port4->port3,然后数据从正常线路出网;
但是,当二级IVI设备出问题或者port2、port4所在的链路故障时,数据流改为port1->port5,数据从备用线路出网。
通过在交换机上安装RYU控制系并运行脚本,程序周期性检测port2和port4的端口状态,如果down掉,则复制流量到备用线路;检测从port2出去的包个数,以及进入port4的包个数,做差,达到阈值则复制流量到备用线路;同时,流量复制到备用链路后,port4收到的流量需要被drop。
切换到备用线路后,还需要检测IVI链路是否恢复,计算port4和port2的包个数差值,来检测IVI是否恢复,如果恢复流量仍按照port1->port2,port4->port3转发。
在校园网中实现无感知的接入网络,在用户首次web认证之后,获取无感知接入网络的体验,不需要繁琐的web认证登录。本发明中还使用Web推送http交互的形式进行认证,便于管理员向用户推送网页通知或广告。
Mac By Pass认证协议采用终端的MAC地址radius认证,只要在SMP服务器记录了该终端的MAC地址,该终端即可接入网络。
用户第一次关联SSID时,AC获取用户的MAC地址,AC封装该MAC地址,先到SMP服务器进行MAC BY PASS认证。
如果认证失败,AC记录本次用户认证失败的状态,当用户浏览器访问网络的时候,AC根据用户mac by pass认证失败的记录,推送web认证界面给用户。
如果认证成功,AC记录用户在线状态,不推送web界面给用户,用户可直接上网,用户获得一个IPv4和一个IPv6地址。
图2为根据本发明一示例性实施例示出的一种基于SDN的IPv4和IPv6转换方法,包括:
SDN交换机用于从IPv6/IPv4双栈客户端接收IPv4数据包;所述IPv6/IPv4双栈客户端配置有IPv6地址和IPv4地址;
所述SDN交换机用于判断IVI服务器是否正常运行;
在所述IVI服务器运行异常时,所述SDN交换机将从所述IPv6/IPv4双栈客户端接收到的IPv4数据包通过备用IPv4路线转发出去;
在所述IVI服务器运行正常时,所述SDN将从所述IPv6/IPv4双栈客户端接收到的IPv4数据包转发至IVI服务器;
所述IVI服务器用于将从SDN交换机接收到的IPv4数据包转换成IPv6数据包后,返回给所述SDN交换机;
所述SDN交换机将所述IVI服务器返回的IPv6数据包通过IPv6路线发送出去。
其中,所述方法还包括:
汇聚层交换机接收所述IPv6/IPv4双栈客户端的IPv4数据包,并将其转发至所述SDN交换机;
所述SDN交换机将所述IVI服务器返回的IPv6数据包通过IPv6路线发送出去,包括:
所述汇聚层交换机接收所述SDN交换机转发的IPv6数据包,并将其转发至核心交换机;
所述在所述IVI服务器运行异常时,所述SDN交换机将从所述IPv6/IPv4双栈客户端接收到的IPv4数据包通过备用IPv4路线转发出去,包括:
NAT服务器接收所述SDN交换机转发的IPv4数据包,并将其通过IPv4备用路线转发至核心交换机;所述核心交换机用于将接收到的IPv6数据包或Ipv4数据包转发至外网。
其中,所述SDN交换机用于判断IVI服务器是否正常运行,包括:
所述SDN交换机根据从所述IPv6/IPv4双栈客户端接收到的IPv4数据包和从IVI服务器返回的IPv6数据包,判断所述IVI服务器是否异常。
其中,所述SDN交换机根据从所述IPv6/IPv4双栈客户端接收到的IPv4数据包和从IVI服务器返回的IPv6数据包,判断所述IVI服务器是否异常,包括:
当所述SDN交换机确定从所述IPv6/IPv4双栈客户端接收到的IPv4数据包和从IVI服务器返回的IPv6数据包完全一致时,确定所述IVI服务器运行异常;
当所述SDN交换机确定IVI服务器转换后的IPv6数据包有丢包时,确定所述IVI服务器运行异常。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。