一种基于SDN的IPv4向IPv6过渡的方法及系统与流程

文档序号:11147884阅读:315来源:国知局
一种基于SDN的IPv4向IPv6过渡的方法及系统与制造工艺

本发明涉及SDN技术领域,具体为一种基于SDN的IPv4向IPv6过渡的方法及系统。



背景技术:

当前,大量的网络是IPv4网络,随着IPv6的部署,很长一段时间是IPv4与IPv6共存的过渡阶段。传统IPv6over IPv4隧道是静态建立的,当网络发生变化的时候,需要重新拆除和建立。而且隧道拆除和建立的配置需要涉及到整个转发节点,配置复杂而且繁琐。目前IPv4(Internet Protocol Version4,因特网协议版本4)的发展遇到瓶颈,一方面,IANA(The Internet Assigned Numbers Authority,互联网数字分配机构)的IPv4地址已经枯竭,各RIR(Regional Internet Register,地区性互联网注册机构)可分配地址空间将在2014年左右耗尽,现有网络将无法获得IPv4地址以持续发展,移动互联网、物联网的出现使得问题加剧;另一方面,IPv4体系的路由效率低,移动性差,安全和服务质量难以保障,可扩展性较差,因此,IPv4网络难以满足和支撑网络,特别是移动互联网、物联网等新业务和网络构架的发展。IPv6(Internet Protocol Version6,因特网协议版本6)作为IETF(Internet Engineering Task Force,互联网工程任务组)确定的下一代互联网协议,能够从根本上解决IPv4存在的问题。IETF从1992年就开始着手研究IPv6,目前IPv6的相关标准和产品已经成熟。IPv6以其地址充足、报头高效、即插即用、网络安全、端到端QoS(Quality of Service,服务质量)以及良好移动IP等特性,可为移动互联网、云计算、物联网等新业务的开展提供有力的保证。因此,IPv4网络向IPv6网络过渡演进是必然趋势,且刻不容缓。现阶段在SDN环境下实现IPv4向IPv6过渡技术还不够好。

如公开号为CN104135446A的专利公开了一种基于SDN实现IPv4向IPv6过渡的系统及方法,涉及SDN领域,该系统的硬件包括控制器和交换机,该系统的软件模块均在linux操作系统的应用层开发,控制器包括第一OpenFlow接口模块、第一配置管理模块、第一流表管理模块和第一地址管理模块;交换机包括第二OpenFlow接口模块、第二配置管理模块、第二流表管理模块、第二地址管理模块、隧道模块和网络地址转换NAT模块。其存在上述的缺陷,其IPV6头是在交换机端实现的,IPv6over IPv4隧道是静态建立的,当网络发生变化的时候,需要重新拆除和建立。而且隧道拆除和建立的配置需要涉及到整个转发节点,配置复杂而且繁琐。



技术实现要素:

本发明的一个目的是提供一种稳定性高、配置简单、无需人为干预、运行更加流畅的基于SDN的IPv4向IPv6过渡的方法及系统。

本发明的上述技术目的是通过以下技术方案得以实现的:

一种基于SDN的IPv4向IPv6过渡的系统,包括SDN控制器和SDN交换机,SDN控制器具有未匹配流表的IPv6报文接收模块、IPv6转发表查询模块、转发路径计算模块、流表下发模块;其中,

所述未匹配流表的IPv6报文包括源IP信息、目的IP信息;

所述未匹配流表的IPv6报文接收模块用于接收来自SDN交换机的未匹配流表的IPv6报文;

所述IPv6转发表查询模块用于SDN控制器根据目的IP查询IPv6转发表,获得出口交换机的出端口;

所述转发路径计算模块用于SDN控制器根据IPv6转发表查询模块查询结果和网络拓扑并计算转发路径;

所述流表下发模块用于SDN控制器向SDN交换机下发流表。

作为对本发明的优选,SDN控制器还具有交换机端口IPv4或IPv6地址、掩码或前缀长度获取模块,所述交换机端口IPv4或IPv6地址、掩码或前缀长度获取模块用于接收SDN交换机端口IPv4或IPv6地址、掩码或前缀长度并形成基于SDN网络的IPv4或IPv6转发表。

作为对本发明的优选,所述流表下发模块下发的流表中包括若为入口交换机则对报文打上IPv4隧道头的流表项、若为中间交换机则基于IPv4隧道头则对报文进行转发的流表项、若为出口交换机则对报文剥离IPv4隧道头的流表项,SDN交换机具有相应的流表执行模块,所述流表执行模块用于当SDN交换机为入口交换机则根据流表插入IPv4隧道头、当SDN交换机为中间交换机则根据流表转发、当SDN交换机为出口交换机则根据流表剥离IPv4隧道头。

作为对本发明的优选,SDN交换机还具有报文接收模块、流表匹配模块、匹配转发模块;其中,

所述报文接收模块用于接收报文;

所述流表匹配模块用于将报文与流表进行匹配,若不匹配则报文被送往SDN控制器,若匹配则通过所述匹配转发模块进行转发;

所述匹配转发模块用于判断报文是IPv4报文还是IPv6报文且如果是IPv4报文则根据流表进行转发、如果是IPv6报文又是入口交换机则插入IPv4隧道头并转发、如果是IPv6报文又是中间交换机则根据IPv4隧道头进行转发、如果是IPv6报文又是出口交换机则剥离IPv4隧道头进行转发。

作为对本发明的优选,所述IPv6转发表包括IPv6地址、IPv6前缀长度、类型、交换机id、交换机端口;其中,

所述IPv6地址用于表明IPv6地址;

所述IPv6前缀长度用于表明IPv6前缀长度;

所述类型包括静态和动态类型;

所述交换机id用于表明SDN交换机的id。

所述交换机端口用于表明SDN交换机的端口。

作为对本发明的优选,SDN控制器支持基于SDN的IPv4向IPv6过渡技术算法配置任务序列并包括:基于SDN的IPv4向IPv6过渡功能打开或关闭。

作为对本发明的优选,SDN交换机和SDN控制器支持扩充流表。

本发明还公开了一种基于SDN的IPv4向IPv6过渡的方法,其按如下步骤进行:

步骤1,SDN交换机上报给SDN控制器未匹配流表的IPv6报文;

步骤2,SDN控制器查询IPv6转发表和计算转发路径;

步骤3,SDN控制器根据步骤2的结果下发流表。

作为对本发明的优选,在步骤1之前,SDN交换机上报端口的IPv4或IPv6的地址、掩码或前缀长度并形成基于SDN网络的IPv4或IPv6转发表。

作为对本发明的优选,步骤3中,下发的流表中包括若为入口交换机则对报文打上IPv4隧道头的流表项、若为中间交换机则基于IPv4隧道头则对报文进行转发的流表项、若为出口交换机则对报文剥离IPv4隧道头的流表项。

本发明一种基于SDN的IPv4向IPv6过渡的方法,SDN控制器对流表的控制,即,SDN控制器配置流表,来完善过渡的方法,配置简单、无需人为干预,基于SDN架构的,IPv6over IPv4隧道根据IPv6的转发表自动建立。

附图说明

图1是本发明实施例2的基于SDN的IPv4向IPv6过渡总流程图;

图2是本发明实施例2的SDN控制器处理示意图;

图3是本发明实施例2的SDN交换机处理示意图;

图4是本发明实施例2的私有扩展Experimenter报文的格式;

图5是本发明实施例2的模拟测试环境的示意图。

具体实施方式

以下具体实施例仅仅是对本发明的解释,其并不是对本发明的限制,本领域技术人员在阅读完本说明书后可以根据需要对本实施例做出没有创造性贡献的修改,但只要在本发明的权利要求范围内都受到专利法的保护。

实施例1

本实施例一种基于SDN的IPv4向IPv6过渡的系统,包括SDN控制器和SDN交换机(S0、S1、S2、S3),SDN控制器具有未匹配流表的IPv6报文接收模块、IPv6转发表查询模块、转发路径计算模块、流表下发模块;其中,

所述未匹配流表的IPv6报文包括源IP信息、目的IP信息;

所述未匹配流表的IPv6报文接收模块用于接收来自SDN交换机的未匹配流表的IPv6报文;

所述IPv6转发表查询模块用于SDN控制器根据目的IP查询IPv6转发表,获得出口交换机的出端口;

所述转发路径计算模块用于SDN控制器根据IPv6转发表查询模块查询结果和网络拓扑并计算转发路径;

所述流表下发模块用于SDN控制器向SDN交换机下发流表。

SDN交换机上报未匹配流表的IPv6报文至SDN控制器,SDN控制器通过未匹配流表的IPv6报文接收模块进行接收,通过IPv6转发表查询模块根据目的IP查询IPv6转发表,获得出口交换机的出端口,并有通过转发路径计算模块根据IPv6转发表查询模块查询结果和网络拓扑并计算转发路径,最后SDN控制器由流表下发模块根据前面的结论下向SDN交换机下发流表来有效实现IPv4向IPv6过渡。

在此基础之上,SDN控制器还具有交换机端口IPv4或IPv6地址、掩码或前缀长度获取模块,所述交换机端口IPv4或IPv6地址、掩码或前缀长度获取模块用于接收SDN交换机端口IPv4或IPv6地址、掩码或前缀长度并形成基于SDN网络的IPv4或IPv6转发表。便于上述的目的IP的查询作业。

为了具体有效地实现这个过程,所述流表下发模块下发的流表中包括若为入口交换机则对报文打上IPv4隧道头的流表项、若为中间交换机则基于IPv4隧道头则对报文进行转发的流表项、若为出口交换机则对报文剥离IPv4隧道头的流表项,SDN交换机具有相应的流表执行模块,所述流表执行模块用于当SDN交换机为入口交换机则根据流表插入IPv4隧道头、当SDN交换机为中间交换机则根据流表转发、当SDN交换机为出口交换机则根据流表剥离IPv4隧道头。

而在上述的过渡的过程之前,SDN交换机还要预先对是IPv4报文还是IPv6报文发送过程中作出有效的区分,因此系统的设计中还有如下设置:SDN交换机还具有报文接收模块、流表匹配模块、匹配转发模块;其中,

所述报文接收模块用于接收报文;

所述流表匹配模块用于将报文与流表进行匹配,若不匹配则报文被送往SDN控制器,若匹配则通过所述匹配转发模块进行转发;

所述匹配转发模块用于判断报文是IPv4报文还是IPv6报文且如果是IPv4报文则根据流表进行转发、如果是IPv6报文又是入口交换机则插入IPv4隧道头并转发、如果是IPv6报文又是中间交换机则根据IPv4隧道头进行转发、如果是IPv6报文又是出口交换机则剥离IPv4隧道头进行转发。

因此,未匹配的IPv6报文会被送往SDN控制器并根据SDN控制器下发的流表进行相应的涉及IPv4隧道头的转发,而未匹配的IPv4报文也会被送往SDN控制器并根据SDN控制器下发的流表进行转发即可。

SDN控制器应支持基于SDN的IPv4向IPv6过渡技术算法配置任务序列,应包括:基于SDN的IPv4向IPv6过渡功能打开或关闭。

所述IPv6转发表包括IPv6地址、IPv6前缀长度、类型、交换机id、交换机端口;其中,

所述IPv6地址用于表明IPv6地址;

所述IPv6前缀长度用于表明IPv6前缀长度;

所述类型包括静态和动态类型;

所述交换机id用于表明SDN交换机的id。

所述交换机端口用于表明SDN交换机的端口。

基于SDN网络的IPv6转发表格式如下表所示:

SDN交换机和SDN控制器支持扩充流表,其定义如下表所示:

本系统是基于SDN架构的,IPv6over IPv4隧道根据IPv6的转发表自动建立。如果网络拓扑发生变化,交换机需立即通知控制器,更新IPv6的转发表,同时自动拆除旧的IPv6隧道,建立新的IPv6隧道,整个过程无需人为干预,配置简单。

实施例2

本实施例一种基于SDN的IPv4向IPv6过渡的方法,按如下步骤进行:

步骤1,SDN交换机上报给SDN控制器未匹配流表的IPv6报文;

步骤2,SDN控制器查询IPv6转发表和计算转发路径;

步骤3,SDN控制器根据步骤2的结果下发流表。

上述方法是基于SDN的过渡方法,其总流程图如图1所示,而在步骤1之前,SDN交换机需要上报端口的IPv4或IPv6地址和掩码或前缀长度给SDN控制器,下面在进一步具体的实现方案中也会提及。

在步骤1之前,SDN交换机上报端口的IPv4或IPv6的地址、掩码或前缀长度并形成基于SDN网络的IPv4或IPv6转发表。

步骤3中,下发的流表中包括若为入口交换机则对报文打上IPv4隧道头的流表项、若为中间交换机则基于IPv4隧道头则对报文进行转发的流表项、若为出口交换机则对报文剥离IPv4隧道头的流表项。

在这整个方法过程中,SDN控制器的处理过程如图2所示,1、SDN控制器接收SDN交换机端口IPv4或IPv6地址、掩码或前缀长度并形成基于SDN网络的IPv4或IPv6转发表;2、SDN控制器从SDN交换机接收未匹配流表的IPv6报文,提取源IP、目的IP,SDN控制器根据目的IP查询IPv6转发表,获得出口交换机的出端口,SDN控制器根据查询结果和网络拓扑,计算转发路径,并下流表,流表中包括若SDN交换机为入口交换机则对报文打上IPv4隧道头的流表项、若SDN交换机为中间交换机则基于IPv4隧道头则对报文进行转发的流表项、若SDN交换机为出口交换机则对报文剥离IPv4隧道头的流表项。而SDN交换机根据流表进行有效执行。

在这整个方法过程中,SDN交换机的处理过程如图3所示,SDN交换机接收报文并将报文与流表进行匹配,如果不匹配,报文被送往SDN控制器,否则需要判断是IPv4报文还是IPv6报文,如果是IPv4报文,根据流表进行转发;如果是IPv6报文并且是入口交换机则插入IPv4隧道头并转发、如果是IPv6报文并且是中间交换机则根据IPv4隧道头进行转发,如果是IPv6报文并且是出口交换机则剥离IPv4隧道头进行转发。这样就可以配合SDN控制器的工作,针对流表进行报文的转发任务。有效实现IPv4向IPv6的过渡,并且可以有效处理IPv4报文和IPv6报文。

SDN控制器应支持基于SDN的IPv4向IPv6过渡技术算法配置任务序列,应包括:基于SDN的IPv4向IPv6过渡功能打开或关闭。

所述IPv6转发表包括IPv6地址、IPv6前缀长度、类型、交换机id、交换机端口;其中,

所述IPv6地址用于表明IPv6地址;

所述IPv6前缀长度用于表明IPv6前缀长度;

所述类型包括静态和动态类型;

所述交换机id用于表明SDN交换机的id。

所述交换机端口用于表明SDN交换机的端口。

基于SDN网络的IPv6转发表格式如下表所示:

SDN交换机和SDN控制器支持扩充流表,其定义如下表所示:

从SDN交换机到控制器的私有扩展Experimenter报文的格式如图4所示。Experimenter值为255需要向ONF组织申请。Experimenter type值为1表明是从SDN交换机方向到控制器。私有扩展Experimenter报文由SDN交换机上报给控制器。包括:端口的IPv4或IPv6地址、端口的掩码或前缀长度。

下面,做一个具体的模拟测试,搭建如图5所示的测试环境。

其中包括SDN交换机(S0、S1、S2、S3)、SDN控制器、IPv6客户端A、IPv6服务器、抓包工具。

SDN交换机S1作为入口交换机,SDN交换机S3作为出口交换机,SDN交换机S0、S2可作为中间交换机,IPv6客户端A向SDN交换机S1发送IPv6报文,如果SDN交换机S1进行流表匹配后是匹配的情况,则会插入IPv4隧道头并转发,如果不配的情况,则IPv6报文会被发送至SDN控制器,SDN控制器从SDN交换机接收未匹配流表的IPv6报文,提取源IP、目的IP,SDN控制器根据目的IP查询IPv6转发表,获得出口交换机的出端口,SDN控制器根据查询结果和网络拓扑,计算转发路径,并下流表,由于是入口交换机则会打上对报文打上IPv4隧道头并转发,当在SDN交换机S3的时候,同样要判断是否匹配流表,如果匹配则剥离IPv4隧道头进行转发,不匹配则还是要发送至SDN控制器,SDN控制器根据目的IP查询IPv6转发表,获得出口交换机的出端口,SDN控制器根据查询结果和网络拓扑,计算转发路径,并下流表,由于是出口交换机则会剥离IPv4隧道头并转发。

因此,IPv6客户端A可以访问IPv6服务器,抓包工具表明隧道报文是外层是IPv4头,内层是IPv6头。

传统IPv6over IPv4隧道是静态建立的,当网络发生变化的时候,需要重新拆除和建立。而且隧道拆除和建立的配置需要涉及到整个转发节点,配置复杂而且繁琐。

而本发明是基于SDN架构的,IPv6over IPv4隧道根据IPv6的转发表自动建立,如果网络拓扑发生变化,交换机需立即通知SDN控制器,更新IPv6的转发表,同时自动拆除旧的IPv6隧道,建立新的IPv6隧道。整个过程无需人为干预,配置简单,本发明中SDN控制器对流表的控制,即,SDN控制器配置流表,然后根据流表可以判别入口交换机。

本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。

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