openflow网络和现有IP网络互联的系统和方法

文档序号:7891616阅读:172来源:国知局
专利名称:openflow网络和现有IP网络互联的系统和方法
技术领域
本发明属于网络通信技术领域,涉及一种openflow网络和现有IP网络互联互通的系统和方法。
背景技术
在现有研究openflow的项目中,比如GENI和斯坦福的openflow实验网,不同 openflow子网之间的互联,主要采用的是二层的技术。可选的方案有二层隧道技术、 VLAN翻译技术、直接光纤连接技术等。GENI也提供了三层网络连接的一些解决方案,比如三层隧道技术、MPLS技术。但是由于缺少对网络层路由协议的处理,这些方案都只能是 openflow网络之间二层的互通,地理上分布的子网在逻辑上属于同一个局域网。已有的openflow网络的控制器技术,能够让openflow网络表现为普通的交换式的网络。针对交换式网络的二层技术显然不能满足不同IP网段的网络之间的互联的需求。 已有的openflow网络的控制器技术,只能通过人工采用手动静态配置流表的方式,使得不同IP网段的子网互通,但是静态配置流表的方式有以下缺点1、配置需要过多的人工干预;2、不能动态自适应openflow网络内部连接的拓扑改变的情况;3、不能动态自适应openflow网络和IP网络组成的混合网络拓扑改变的情况;4、不能动态自适应IP网段的地址发生改变的情况;以上缺陷的根本原因,是已有的openflow网络的控制器技术缺少对现有IP网络中标准路由协议的处理。下面通过具体的场景,说明已有的openflow网络的控制器技术, 所难以解决的openflow网络和现有IP网络的互联问题。场景一如图1所示,一个openflow网络连接IP子网A和IP子网B,IP子网A和 B属于不同的IP网段。对于1、openflow网络内部连接的拓扑发生变化;2、子网A和子网 B的IP地址重新配置等情况,已有的openflow网络的控制器技术,不能根据相应的变化自动适应,动态地调整、配置流表以使IP子网A和IP子网B保持互通。场景二 如图2所示,直接相连的两个openflow网络分别连接IP子网A和IP子网B,IP子网A和B属于不同的IP网段。对于l、openfloW网络内部连接的拓扑发生变化; 2、子网A和子网B的IP地址重新配置等情况,已有的openflow网络的控制器技术,不能根据相应的变化自动适应,动态地调整、配置流表以使IP子网A和IP子网B保持互通。场景三如图3所示,openflow网络和IP网络相连,IP网络中和openflow网络相连的标准路由器的openflow网络一侧的接口所属的IP网段为C。openflow网络连接着 IP子网A,IP网络连接着IP子网B,且IP子网A、B和C都属于不同的IP网段。对于1、 openflow网络和IP网络组成的混合网络拓扑发生变化;2、子网A和子网B的IP地址重新配置等情况,已有的openflow网络的控制器技术,不能根据相应的变化自动适应,动态地调整、配置流表以使IP子网A和IP子网B保持互通。场景四如图4所示,两个openflow网络和IP网络相连,IP网络中和openflow网络相连的标准路由器的openflow网络一侧的接口所属的IP网段分别为C和D。一个 openflow网络连接着IP子网A,另一个openflow网络连接着IP子网B,且A、B、C、D都属于不同的IP网段。对于l、openflOW网络和IP网络组成的混合网络拓扑发生变化;2、子网 A和子网B的IP地址重新配置等情况,已有的openflow网络的控制器技术,不能根据相应的变化自动适应,动态地调整、配置流表以使IP子网A和IP子网B保持互通。以上各个场景中的IP子网A和IP子网B都可以扩展到由标准路由器相连的多个 IP子网组成的IP网络的情况。

发明内容
本发明所要解决的技术问题在于,发明一种openflow网络和现有IP网络混合环境下的系统和方法,解决openflow网络和IP网络互联互通的问题。本发明的技术方案如下一种openflow网络和现有IP网络互联的系统,所述系统包括两个部分控制子系统和转发子系统;所述控制子系统包括openflow网络操作系统、多个系统组件、路由组件和多个其他扩展组件;所述转发子系统包括边缘交换单元、内部交换单元;所述边缘交换单元和内部交换单元在物理实现上均为openflow交换机,他们的不同之处是边缘交换单元的一些接口被定义为边缘接口,整个系统通过所述边缘接口和其他网络相连,每个所述边缘接口都具有整个系统唯一的编号;内部交换单元的所有接口和边缘交换单元中除了边缘接口之外的接口,均被定义为内部接口,内部接口之间互相连通,组成内部网络;所述控制子系统,相比于现有的openflow网络操作系统,新增了路由组件,路由组件是整个系统的核心部分,为openflow网络提供网络层的路由功能;路由组件根据功能划分为三个模块接口管理模块、路由解析模块、路由选择模块;所述接口管理模块,在系统启动时,获取系统边缘接口的信息,所述信息包括边缘接口在系统中唯一的编号标识,边缘接口所直连网络的网络地址;所述路由解析模块,运行一个路由内核,将边缘接口上收到的所有的路由协议相关的消息,聚合到路由内核进行解析,路由内核根据路由协议的规则,对需要应答的路由相关的消息进行应答,计算并维护一个标准的路由表;所述路由选择模块,当有数据流需要通过系统进行路由时,查询路由解析模块中维护的路由表,将查得的路由表映射成交换单元中的流表,并下发至交换单元中,完成对数据流的转发。本发明同时提供一种openflow网络和现有IP网络互联的方法,把整个openflow 网络抽象为一个现有IP网络中的路由器,在控制子系统的控制下,整个openflow网络对外表现得就像一台标准的路由器,控制子系统映射为标准路由器的路由处理部分;转发子
系统映射为标准路由器的数据转发部分;边缘交换单元的边缘接口映射为标准路由器的接□。所述的openflow网络和现有IP网络互联的方法,包括如下步骤1)接口管理模块在系统启动时,获取系统边缘接口的信息,所述信息包括边缘接口在系统中唯一的编号标识,边缘接口所直连网络的网络地址;
2)路由解析模块,运行一个负责路由解析的路由内核,然后根据边缘接口信息,为路由内核配置虚拟接口;3)路由解析模块,向每一个边缘交换机的下发流表,控制其将边缘接口收到的路由协议相关的数据包发送至控制子系统进行集中处理;4)路由解析模块,将收到的路由协议消息,沿着路由协议消息进入系统的边缘接口所对应的虚拟接口,发送给路由内核进行解析;对于需要应答的消息,从收到路由协议消息的边缘接口上,发送回复应答消息;路由解析模块的路由内核维护着包含全网路由信息的标准路由表;5)当有应用数据流到达某一交换单元时,交换单元如果没有流表项可以处理该数据流,则发送至控制子系统进行处理;路由选择模块,查询标准路由表,如果数据流的目的 IP不能匹配某一条路由表项,则发送指令给交换单元,丢弃所有该数据流的包;如果目的 IP匹配了某条路由表项,则将该路由表项映射为交换单元中的流表项,并将流表下发给交换单元,完成应用数据流的路由转发。所述的openflow网络和现有IP网络互联的方法,步骤1)所述的接口管理模块获取系统边缘接口所直连网络的网络地址信息方法,如果边缘接口连接的网络是现有IP网络,则采用动态探测的方式;如果边缘接口连接的网络也是一个openflow网络,则采用静态添加的方式来配置。所述的openflow网络和现有IP网络互联的方法,步骤2)所述的路由内核能够解析常见的路由协议,所述路由内核为带有虚拟接口、运行着路由操作系统的虚拟机,路由内核的虚拟接口和系统的边缘接口一一对应,虚拟接口配置IP地址和对应的边缘接口所直连的网络处于同一个IP网段。所述的openflow网络和现有IP网络互联的方法,步骤幻所述的向边缘交换机下发的流表,指定所有路由协议相关消息的整个数据包都发送至控制子系统进行集中处理, 而不是按照默认的只发送包头。所述的openflow网络和现有IP网络互联的方法,步骤4)所述路由内核进行路由解析的过程,取决于虚拟接口的配置、所收到路由消息的类别以及路由消息所携带的数据。所述的openflow网络和现有IP网络互联的方法,步骤5)所述将路由表项映射为交换单元中的流表项的方法如下数据流的目的IP匹配了某条路由表项,该路由表项的出接口为所述的路由内核的某一虚拟接口,路由内核的虚拟接口和系统的边缘接口是一一映射的,可得数据流的出口边缘接口、出口边缘交换单元,以数据流的〈入口交换单元,出口交换单元〉为参数,使用openflow系统组件的服务,获取一条从入口交换单元到出口交换单元的路径,将路径以openflow指令的方式下发到路径上的每一跳交换单元,完成路径的建立,从而实现了数据流转发功能。本发明的有益效果布置了本发明的openflow网络可以看成整个互联网中的一个路由器,使网络很好地融入了整个互联网的路由体系之中,数据包通过openflow网络就像经过了一跳标准的路由器,从而实现了 openflow网络和现有IP网络的互联互通。


图1 一个openflow网络连接不同IP网段的子网。
图2直接相连的openflow网络连接不同IP网段的子网。图3openflow网络和IP网络相连,各自连接不同IP网段的子网。图4 Sfopenflow网络通过IP网络相连,各自连接不同IP网段的子网。图5openflow网络和现有IP网络混合环境。图6openflow网络和现有IP网络互联的系统。图7实施例拓扑图。
具体实施例方式发明提出的openf low网络和现有IP网络互联的系统,所述系统包括两个部分控制子系统和转发子系统;所述控制子系统包括0penfl0W网络操作系统、若干系统组件、路由组件和若干其他扩展组件;所述转发子系统包括边缘交换单元、内部交换单元。如图6。转发子系统由边缘交换单元和内部交换单元两类逻辑单元组成。边缘交换单元和内部交换单元在物理实现上都是openflow交换机,但由于他们在网络中所处位置的不同, 而在本发明所述的系统中被划分为不同的逻辑单元。各个交换单元和控制子系统通过专用数据通道相连,专用数据通道可以是专用的私有网络,也可以简单地采用公网。两种交换单元的不同之处是边缘交换单元的一些接口被定义为边缘接口,整个系统通过边缘交换单元的边缘接口,和其他网络相连,边缘接口具有全系统唯一的编号,处于控制子系统的控制之下。内部交换单元的所有接口和边缘交换单元中除了边缘接口之外的接口,被定义为内部接口,内部接口之间互相连通,组成内部网络。openflow网络操作系统可以看做是一个管理整个openflow网络资源的操作系统,为整个openflow网络提供一个统一、集中的编程平台,openflow网络操作系统提供对一个openflow网络进行监管和控制的能力。openflow网络操作系统并不实现具体的网络功能,仅仅提供编程接口。具体的网络管理功能由openflow网络操作系统之上的一系列组件来实现。openflow网络操作系统应该具有一些基本的系统组件以实现网络的基本功能, 比如节点管理、链路管理、用户认证等。研究者可以在openflow网络操作系统之上开发自己的组件以实现特定的功能,自行开发组件既可以采用openflow网络操作系统提供的 API,也可以使用已有基本系统组件实现的功能,也可以配合使用两者。控制子系统相比于现有的openflow网络操作系统,新增了路由组件,路由组件是整个系统的核心部分,为openflow网络提供网络层的路由功能。路由组件根据功能可以划分为三个模块接口管理模块、路由解析模块、路由选择模块。接口管理模块的主要功能是维护边缘接口的一个列表,在这个列表中,每一个边缘接口具有一个全系统唯一的编号,还记录了每一个边缘接口的一些基本信息,包括边缘接口在系统中唯一的编号标识,边缘接口所直连网络的网络地址等。接口管理可以采用主动探测的方式也可以采用静态添加的方式。一般来说,如果边缘接口连接的网络是现有IP 网络,则可以采用动态探测的方式,因为现有IP网络的路由器接口上,都具有IP地址;如果边缘接口连接的网络也是一个openflow网络的话,则应该采用静态添加的方式来配置,因为openflow交换单元的接口上没有IP地址。路由解析模块的主要功能是运行一个路由内核,将边缘接口上收到的所有的路由协议相关的消息,聚合到路由内核进行解析,路由内核根据路由协议的规则,对需要应答的路由相关的消息进行应答,计算并维护一个标准的路由表。路由选择模块的主要功能是当有数据流需要通过系统进行路由时,查询路由解析模块中维护的路由表,将查得的路由表映射成交换单元中的流表,并下发至交换单元中, 完成对数据流的转发。一种openflow网络和现有IP网络互联的方法,其特征在于把整个openflow网络抽象为一个现有IP网络中的路由器,在控制子系统的控制下,整个openflow网络对外表现得就像一台标准的路由器。控制子系统映射为标准路由器的路由处理部分;转发子系统映射为标准路由器的数据转发部分;边缘交换单元的边缘接口映射为标准路由器的接口。一种openf low网络和现有IP网络互联的方法,包括如下步骤1)接口管理模块在系统启动时,获取系统边缘接口的信息,包括边缘接口所直连网络的网络地址等。2)路由解析模块,运行一个负责路由解析的路由内核,然后根据边缘接口信息,为路由内核配置虚拟接口,路由内核的虚拟接口和系统的边缘接口一一对应,虚拟接口配置 IP地址应该和边缘接口直连网络处于同一个IP网段。3)路由解析模块,向每一个边缘交换机的下发流表,控制其将边缘接口收到的路由协议相关的数据包发送至控制子系统进行集中处理。4)路由解析模块,将收到的路由协议消息,沿着路由协议消息进入系统的边缘接口所对应的虚拟接口,发送给路由内核进行解析;对于需要应答的消息,从收到路由协议消息的边缘接口上,发送回复应答消息。从而,路由解析模块的路由内核维护着包含全网路由信息的标准路由表。5)当有应用数据流到达某一交换单元时,交换单元如果没有流表项可以处理该数据流,则发送至控制子系统进行处理。路由选择模块,查询标准路由表,如果数据流的目的 IP不能匹配某一条路由表项,则发送指令给交换单元,丢弃所有该数据流的包;如果目的 IP匹配了某条路由表项,则将路由表映射为交换单元中的流表,并将流表下发给交换单元, 完成应用数据流的路由转发。一个openflow网络和现有IP网络混合环境如图5,本发明能够使得openflow网络K和网络A、B、C、D互通,IP网络A和B能够经过openflow网络K进行互通。为使本发明的目的、技术方案和优点更加清楚,下面结合实际的网络环境,介绍本发明的一种具体实施例,做进一步的详细描述。实施例拓扑图如图7所示。系统通过边缘openflow交换机a和IP网络B相连,通过边缘openflow交换机e 和IP网络A相连。系统启动时,控制子系统中的路由组件,动态地获得系统的边缘接口有两个,分别是openflow交换机a和IP网络B相连的接口、openflow交换机e和IP网络A相连的接口。路由组件向openflow交换机a和e发送流表,控制他们将从边缘接口收到的路由相关的消息全部都发送到控制子系进行处理。 路由组件对收到的路由消息进行解析和回复,通过这样的交互,路由组件维护了一个包含全网路由信息的标准的路由表,形如下表
权利要求
1.一种openflow网络和现有IP网络互联的系统,所述系统包括两个部分控制子系统和转发子系统;所述控制子系统包括0Penfi0W网络操作系统、多个系统组件、路由组件和多个其他扩展组件;所述转发子系统包括边缘交换单元、内部交换单元;其特征是,所述边缘交换单元和内部交换单元在物理实现上均为openflow交换机,他们的不同之处是边缘交换单元的一些接口被定义为边缘接口,整个系统通过所述边缘接口和其他网络相连,每个所述边缘接口都具有整个系统唯一的编号;内部交换单元的所有接口和边缘交换单元中除了边缘接口之外的接口,均被定义为内部接口,内部接口之间互相连通,组成内部网络;所述控制子系统,相比于现有的openflow网络操作系统,新增了路由组件,路由组件是整个系统的核心部分,为openflow网络提供网络层的路由功能;路由组件根据功能划分为三个模块接口管理模块、路由解析模块、路由选择模块;所述接口管理模块,在系统启动时,获取系统边缘接口的信息,所述信息包括边缘接口在系统中唯一的编号标识,边缘接口所直连网络的网络地址;所述路由解析模块,运行一个路由内核,将边缘接口上收到的所有的路由协议相关的消息,聚合到路由内核进行解析,路由内核根据路由协议的规则,对需要应答的路由相关的消息进行应答,计算并维护一个标准的路由表;所述路由选择模块,当有数据流需要通过系统进行路由时,查询路由解析模块中维护的路由表,将查得的路由表映射成交换单元中的流表,并下发至交换单元中,完成对数据流的转发。
2.—种openflow网络和现有IP网络互联的方法,其特征是,把整个openflow网络抽象为一个现有IP网络中的路由器,在控制子系统的控制下,整个openflow网络对外表现得就像一台标准的路由器,控制子系统映射为标准路由器的路由处理部分;转发子系统映射为标准路由器的数据转发部分;边缘交换单元的边缘接口映射为标准路由器的接口。
3.如权利要求2所述的openflow网络和现有IP网络互联的方法,包括如下步骤1)接口管理模块在系统启动时,获取系统边缘接口的信息,所述信息包括边缘接口在系统中唯一的编号标识,边缘接口所直连网络的网络地址;2)路由解析模块,运行一个负责路由解析的路由内核,然后根据边缘接口信息,为路由内核配置虚拟接口;3)路由解析模块,向每一个边缘交换机的下发流表,控制其将边缘接口收到的路由协议相关的数据包发送至控制子系统进行集中处理;4)路由解析模块,将收到的路由协议消息,沿着路由协议消息进入系统的边缘接口所对应的虚拟接口,发送给路由内核进行解析;对于需要应答的消息,从收到路由协议消息的边缘接口上,发送回复应答消息;路由解析模块的路由内核维护着包含全网路由信息的标准路由表;5)当有应用数据流到达某一交换单元时,交换单元如果没有流表项可以处理该数据流,则发送至控制子系统进行处理;路由选择模块,查询标准路由表,如果数据流的目的IP 不能匹配某一条路由表项,则发送指令给交换单元,丢弃所有该数据流的包;如果目的IP 匹配了某条路由表项,则将该路由表项映射为交换单元中的流表项,并将流表下发给交换单元,完成应用数据流的路由转发。
4.如权利要求3所述的openflow网络和现有IP网络互联的方法,其特征是,步骤1) 所述的接口管理模块获取系统边缘接口所直连网络的网络地址信息方法,如果边缘接口连接的网络是现有IP网络,则采用动态探测的方式;如果边缘接口连接的网络也是一个 openflow网络,则采用静态添加的方式来配置。
5.如权利要求3所述的openflow网络和现有IP网络互联的方法,其特征是,步骤2) 所述的路由内核能够解析常见的路由协议,所述路由内核为带有虚拟接口、运行着路由操作系统的虚拟机,路由内核的虚拟接口和系统的边缘接口一一对应,虚拟接口配置IP地址和对应的边缘接口所直连的网络处于同一个IP网段。
6.如权利要求3所述的openflow网络和现有IP网络互联的方法,其特征是,步骤3) 所述的向边缘交换机下发的流表,指定所有路由协议相关消息的整个数据包都发送至控制子系统进行集中处理,而不是按照默认的只发送包头。
7.如权利要求3所述的openflow网络和现有IP网络互联的方法,其特征是,步骤4) 所述路由内核进行路由解析的过程,取决于虚拟接口的配置、所收到路由消息的类别以及路由消息所携带的数据。
8.如权利要求5所述的openflow网络和现有IP网络互联的方法,其特征是,步骤5) 所述将路由表项映射为交换单元中的流表项的方法如下数据流的目的IP匹配了某条路由表项,该路由表项的出接口为所述的路由内核的某一虚拟接口,路由内核的虚拟接口和系统的边缘接口是一一映射的,可得数据流的出口边缘接口、出口边缘交换单元,以数据流的〈入口交换单元,出口交换单元 > 为参数,使用openflow系统组件的服务,获取一条从入口交换单元到出口交换单元的路径,将路径以openflow指令的方式下发到路径上的每一跳交换单元,完成路径的建立,从而实现了数据流转发功能。
全文摘要
本发明公布了一种openflow网络和现有IP网络互联互通的系统和方法。把整个openflow网络抽象为一个现有IP网络中的路由器,在控制子系统的控制下,整个openflow网络对外表现得就像一台标准的路由器,控制子系统映射为标准路由器的路由处理部分;转发子系统映射为标准路由器的数据转发部分;边缘交换单元的边缘接口映射为标准路由器的接口。布置了本发明的openflow网络可以看成整个互联网中的一个路由器,使网络很好地融入了整个互联网的路由体系之中,数据包通过openflow网络就像经过了一跳标准的路由器,从而实现了openflow网络和现有IP网络的互联互通。
文档编号H04L29/12GK102546351SQ201210069330
公开日2012年7月4日 申请日期2012年3月15日 优先权日2012年3月15日
发明者李鹏飞, 王文东, 王楠, 阙喜戎, 龚向阳 申请人:北京邮电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1