高可用高性能灵敏的SDN控制器与SDN交换机架构的制作方法

文档序号:11436549阅读:576来源:国知局
高可用高性能灵敏的SDN控制器与SDN交换机架构的制造方法与工艺

本发明公开了高可用高性能灵敏的sdn控制器与sdn交换机架构,属于云计算中心软件定义网络的技术领域。



背景技术:

软件定义网络(sdn,softwaredefinednetwork)是国际上针对云计算中心网络的需要所提出的一个网络架构。软件定义网络通常是由一个sdn控制器及其所控制管辖的sdn交换机机群所组成,如图1所示。

图1所示sdn交换机的主要结构包括:(1)与主机、服务器或其它网络设备相连的网络端口,sdn交换机通过网络端口接收/发送网络封包;(2)包含多级转发流表的网络芯片,sdn交换机通过网络芯片检验从网络端口接收的封包包头以决定如何处置封包,多级转发流表由sdn控制器根据网络使用协议的需要来定义,每一级流表对应封包包头的一段字节,转发流表的内容由sdn控制器根据网络建立的路由设置;(3)cpu子板,包含:控制器代理模块、网络设备操作系统(nos,networkoperatingsystem)、linux内核及芯片驱动,控制器代理模块接收sdn控制器的指令,通过芯片驱动将控制器代理模块接收的指令下发到网络芯片用以更新多级转发流表,芯片驱动通过经过功能裁剪的linux内核实现。

当sdn交换机开始检验一个从网络端口接收的网络封包时,sdn交换机根据每一级转发流表的定义从封包包头截取对应的字节后逐级查表。sdn交换机在当前级转发流表内无匹配内容时会丢弃封包或将封包上传至sdn控制器来做进一步处理;sdn交换机在当前级转发流表内有匹配内容时前进到下一级转发流表以便做更进一步的检验。在完成最后一级转发流表的查表后,sdn交换机根据查表结果将封包转发到对应网络端口出口并对封包头做出必要的改换。

图1所示sdn控制器的主要功能包括:(1)通过南向接口连接各sdn交换机以形成sdn交换机群的网络拓扑;(2)通过北向接口传送sdn交换机上传的路由封包并接收业务应用的请求,以便得知网络拓扑的变化及业务应用的需求;(3)根据北向接口上接收的新路由封包以及业务应用的请求,并利用内建的网络控制协议建立网络路由表,然后将网络路由表转换成多级转发流表指令。多级转发流表指令从南向接口发送到sdn交换机。

虽然sdn交换机架构能基本满足软件定义网络的需要,但还存在以下缺陷:

(1)性能不足:在sdn交换机架构下,sdn控制器除了担负许多功能还需要对每条新建的路由下达对应的多级流表指令,而每一级转发流表需要一个指令,所以多级转发流表需要多个指令,这会对sdn控制器所处的主机造成相当大的负荷,这导致一个sdn控制器所能控制的sdn交换机的数目有限制,因而使得sdn的性能不足;

(2)灵敏度不够:当业务应用与网络拓扑变化时会产生新的路由封包,这些新的路由封包必须先由sdn交换机转发给sdn控制器,接着由sdn控制器建立新的路由表,然后再由sdn控制器将新的路由表转成相对应的多级转发流表指令后传达给sdn交换机,这段由sdn交换机到sdn控制器再回到sdn交换机的路径所产生的时延会造成网络反应过慢,尤其当业务应用与网络拓扑有重大变化时,网络反应慢的缺陷会更加凸显;

(3)可用度不够:网络设备在运行时只能加载1个nos(networkoperatingsystem,网络设备操作系统),当因为业务需要修改定制应用程序时,需要在网络设备上对整个集成系统进行变更,网络设备在变更过程中会停止运行并在变更完成后恢复运行,变更时间因集成nos的大小不同而不同,目前,正常数据中心网络设备的变更时间通常需要10分钟以上,网络运维方需要为10分钟的网络中断做出大量的协调工作。



技术实现要素:

本发明的发明目的是针对上述背景技术的不足,提供了高可用高性能灵敏的sdn控制器与sdn交换机架构,实现了sdn的高性能运行,提高了sdn应对业务应用和网络拓扑变化的灵敏度,提升了网络设备可用度,解决了sdn交换机架构性能不足、灵敏度不够、可用度不够的技术问题。

本发明为实现上述发明目的采用如下技术方案:

高可用高性能灵敏的sdn控制器,包括:

南向接口,连接各sdn交换机以形成sdn交换机群网络拓扑,

北向接口,传送由sdn交换机上传的路由封包并接收业务应用的请求,及,

抽象层模块,结合sdn交换机上传的路由封包以及北向接口接收的业务应用请求生成路由表,将路由表转化为单级虚拟转发流表指令后下发至sdn交换机。

高可用高性能灵敏的sdn交换机架构,包括:

sdn控制器,通过其南向接口与所辖sdn交换机群建立拓扑连接关系,通过其北向接口接收业务应用的请求,将sdn交换机上传的路由封包以及北向接口接收的业务应用请求转化为单级虚拟转发流表指令,及,

sdn交换机群,各sdn交换机通过各自的网络端口接收主机、服务器、其它网络设备发送的网络封包并根据其内部网络芯片配置的多级转发流表向主机、服务器、其它网络设备发送网络封包,同时,各sdn交换机将从sdn控制器接收的单级虚拟转发流表指令转化为多级转发流表指令以实时更新多级转发流表。

作为高可用高性能灵敏的sdn交换机架构的进一步优化方案,各sdn交换机分别配置有根据其内建路由政策建立的临时路由表,各sdn交换机在收到sdn控制器更新的单级虚拟转发流表指令之前按照临时路由表转发网络封包。

作为高可用高性能灵敏的sdn交换机架构的更进一步优化方案,各sdn交换机运行有支持主备nos容器的linux系统。

sdn交换机架构的网络封包转发机制,sdn交换机将接收到的新的路由封包上传至sdn控制器,同时,sdn交换机将根据其内建路由政策建立的路由表存储至临时路由表,sdn交换机在sdn控制器下发新的单级虚拟转发流表指令之前根据临时路由表转发网络封包,sdn交换机在sdn控制器下发新的单级虚拟转发流表指令之后根据更新后的多级转发流表转发网络封包。

本发明采用上述技术方案,具有以下有益效果:

(1)本申请公开的sdn控制器将现有往sdn交换机下传多级转发流表指令虚拟为单级虚拟转发流表指令,减轻了网络计算负荷,减少i/o流量,提升了sdn的性能;

(2)本申请公开的sdn交换机配置有根据其内建路由政策建立的临时路由表,这使得sdn交换机在sdn控制器处理新路由封包时仍能转发网络封包,避免了sdn流控制器处理新路由封包带来的时延,提高了sdn应对业务应用和网络拓扑变化的灵敏度;

(3)利用linux容器的特点,采用支持主备nos容器的linux系统实现单一网络设备的温复位,增加了网络设备的可用性。

附图说明

图1为现有sdn交换机架构。

图2为本发明的sdn交换机架构。

图3为支持主备nos容器的linux系统的sdn交换机。

具体实施方式

下面结合附图对发明的技术方案进行详细说明。

本发明为克服现有sdn交换机架构性能不足的缺陷,将原先sdn控制器内从路由表转成多级转发流表指令这一个功能分解成下面两个步骤:结合sdn交换机上传的路由封包以及北向接口接收的业务应用请求生成路由表,然后将路由表转成单级虚拟转发流表指令(如图2标号①所示);sdn交换机内的cpu子板将单级虚拟转发流表指令转换成多级转发流表指令(如图2标号②所示)。原先从路由表转成多级转发流表需要发送多个指令,而本申请从路由表转成单级虚拟转发流表只需要发送一个指令,减轻sdn控制器的计算负荷。这样改进后,sdn控制器与sdn交换机之间对应的每个路由表的界面是一个流表指令而非多个流表指令,减少i/o的流量。

为克服现有sdn交换机架构存在灵敏度不够的缺陷,本申请在sdn交换机内增加临时路由表。当sdn交换机收到新的路由封包时,除了将新的路由封包转发给sdn控制器外,它也会将根据内建的路由政策建立的新路由存到临时路由表内(如图2标号③所示),在还没有从sdn控制器接到新的单级虚拟转发流表指令前,sdn交换机会一直根据临时路由表的内容来转发网络封包,这样sdn交换机构架就不会因为sdn控制器的时延而不够灵敏。

为了克服现有sdn交换机架构中网络设备可用度不够的缺陷,本申请将临时路由表、单级虚拟转多级流表程序及nos独立出来,以linux支持的容器方式运行。容器是一种虚拟化技术,一台网络设备可以同时运行多个容器,每个容器可以是不同版本的应用程序,不同版本的应用程序实现不同的特性,但一个时刻只能有1个容器内的nos能够操纵网络设备。

因为linux容器的特点,不同版本nos对网络设备的操纵权变更可以在1秒内完成。如图3所示,故障处理的复位应用程序工作就可以通过两个容器(主选容器及备选容器)之间的切换来完成,切换之后获得操纵权的容器会接管网络设备,这个时候重新收集网络设备信息再生成控制网络设备运行的信息,可以直接掠过重新加载集成系统所需要的时间,这种特性实现了单一网络设备应用程序温复位,因而增加了网络设备的可用性。

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