一种SDN域间路由实现方法转让专利

申请号 : CN201610162083.3

文献号 : CN105871718B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李伟罗军舟蒋健丁文江

申请人 : 东南大学焦点科技股份有限公司

摘要 :

本发明公开了一种SDN域间路由实现方法,在此方法下,SDN自治域的控制器承担域间路由功能,负责与相邻SDN自治域的控制器交互BGP路由信息,依据本自治域的路由策略生成最优路径,并将路径通告给邻居自治域;SDN自治域的控制器实现OpenFlow协议和BGP协议的交互接口,根据生成的最优路径和域内拓扑信息,计算得到域内OpenFlow交换机流表的更新表项,并下发流表项到指定的交换机,实现自身的路由策略。本发明公开的方法的优势在于能够在不破坏现有SDN网络结构的前提下将BGP协议应用于SDN域间路由,并且为控制器设计了协议交互接口,助其实现路由策略。

权利要求 :

1.一种SDN域间路由实现方法,其特征包括:域内控制器执行域间路由服务功能,不同SDN自治域的控制器交互路由信息生成路由路径;域内控制器通过协议转换接口将本自治域的路由策略转变为交换机流表配置指令,下发流表更新指令到交换机完成配置;具体如下:

1)域间路由交互模型:域间路由交互方式从传统的边界路由器交互模式转变为自治域的域内控制器逻辑交互模式,每个自治域的边界交换机与本域的控制器交互域间路由指令,执行域间路由服务功能;

2)域内控制器与边界交换机对BGP协议报文的交互过程:按照功能交换机分为流入报文交换机、内部交换机和流出报文交换机,不同的交换机与域内控制器交互不同报文,实现BGP协议报文的转换和控制;

3)域内控制器将路由策略转变为交换机流表项的控制过程:域内控制器本着节省开销的目的,根据其域间路由策略计算得出的域内最短路径,并将路径转变为交换机流表项下发至交换机。

2.根据权利要求1所述的SDN域间路由实现方法,其特征在于:所述步骤1)中域间路由交互实体是SDN自治域的控制器,所述控制器的IP地址是自治域的身份标识,其网络地址即是本网络的网络地址;所述控制器之间逻辑交互BGP路由信息,建立连接通道,定期维护连接消息,并发送BGP路由更新通告建立路由路径。

3.根据权利要求1所述的SDN域间路由实现方法,其特征在于:所述步骤2)中SDN自治域控制器之间是逻辑连接,实际物理连接是通过边界交换机实现,所述边界交换机是接收和发送数据报文以及路由报文的具体实体;接收报文后,边界交换机需要实时检索流表项,匹配报文流,执行流表项中的动作action,将报文发送至指定交换机或者控制器;当没有流表项与报文流匹配时,边界交换机直接将报文流发送至控制器;控制器收到报文流后,依据报文流的类型选择自己处理还是发送至上层路由服务器;控制器分析非路由报文流,直接下发流表更新指令至指定的交换机;路由服务器分析路由报文流,根据自身的路由策略生成相应的答复报文,通过协议转换接口将路由策略转变为流表配置指令,并下发流表项至指定的交换机,完成路由策略配置和路由报文转发的功能。

说明书 :

一种SDN域间路由实现方法

技术领域

[0001] 本发明属于计算机网络领域,涉及SDN网络域间路由方法,具体涉及一种SDN域间路由实现方法。

背景技术

[0002] 近年来,研究人员提出的一种新的网络架构,软件定义网络(Software-Defined Networking,SDN)。SDN将网络配置平面从嵌入式结点中独立出来,以开放软件模式的控制平面替代了传统基于系统嵌入的控制平面,由软件驱动的中央控制结点来自动化控制整个网络。SDN技术通过软件平台来打造弹性化的可控互联网,给网络的发展带来巨大冲击。
[0003] 随着云计算和数据中心的发展,SDN的应用模式和研究工作主要在数据中心网络内部进行,这是由于数据中心的数据流量大,交换机层次管理复杂。然而随着技术的发展,数据中心之间的数据迁移、备份和传输愈加引起重视,尤其是跨多个数据中心的大数据传输成为很多数据应用的主要组成部分,因此以SDN技术为管理模式的数据中心网络即SDN自治域之间的数据传输成为亟需研究的难点。
[0004] 研究人员提出了一种基于SDN技术的域间路由结构,它借用MPLS的网络边缘与核心分离的思想,实现域间和域内路由的隔离。每个自治域内只有边界路由器以及与之关联的控制器参与域间路由进程。这种方法专注于路由的分离,并没有提出具体的实现方法。另外研究人员提出了一种基于Pathlets的SDN路由机制,但是他只提出一个Pathlets和SDN技术相结合的思想,并没有介绍协议的细节。

发明内容

[0005] 本发明目的是,针对现有SDN网络缺乏域间路由方法的问题,设计一种SDN域间路由实现方法,能够在不破坏现有SDN网络结构的前提下将BGP协议应用于SDN域间路由,并且为控制器设计了协议交互接口,助其实现路由策略。
[0006] 本发明的技术方案是:一种SDN域间路由实现方法,主要包括:
[0007] 1、域间路由交互模型。域间路由交互实体是SDN自治域的控制器,控制器的IP地址是自治域的身份标识,其网络地址即是本网络的网络地址;控制器之间逻辑交互BGP路由信息,建立连接通道,定期维护连接消息,并发送BGP路由更新通告建立路由路径。
[0008] 2、域内控制器与边界交换机对BGP协议报文的交互过程。由于SDN自治域控制器之间是逻辑连接,实际物理连接是通过边界交换机实现,因此边界交换机是接收和发送数据报文以及路由报文的具体实体。接收报文后,边界交换机需要实时检索流表项,匹配报文流,执行流表项中的action,将报文发送至指定交换机或者控制器;当没有流表项与报文流匹配时,边界交换机直接将报文流发送至控制器;控制器依据报文流的类型选择自己处理还是发送至上层路由服务器;控制器分析非路由报文流,直接下发流表更新指令至指定的交换机;路由服务器分析路由报文流,根据自身的路由策略生成相应的答复报文,通过协议转换接口将路由策略转变为流表配置指令,并下发流表项至指定的交换机,完成路由策略配置和路由报文转发的功能。
[0009] 3、域内控制器将路由策略转变为交换机流表项的控制过程。SDN自治域的控制器存储域间路由RIB表,RIB表中的内容直接反映其路由策略;为了将RIB表中的最优路径转变为交换机配置指令,控制器需要考虑例如域内链路带宽、链路负载和链路可靠性等诸多因素。同时在数据中心网络中,控制器本身的负载很高,一个控制器往往需要控制多达上千个交换机。如果1条最优路径需要生成并下发100条流表项,那么RIB表中的多条最优路径会使控制器产生很大的开销。同时庞大的流表项会产生链路冲突和冗余等问题,因此我们必须减少控制器添加和修改流表项的动作,在选择域内路径时尽量包含已有的子路径。具体地,SDN自治域的控制器存储域内交换机的拓扑信息,拓扑信息不局限于传统的连接表,而直接反映相邻节点的流表项状态,拓扑信息以矩阵的形式如公式1所示:
[0010]
[0011] 其中ri,j=1表示交换机i有到达邻居交换机j的流表项,ri,j=0表示交换机i没有到达邻居交换机j的流表项;此处的流表项命名为基础流表项。流表项本身有优先级选项priority,表示当匹配域相同时,流表项的匹配优先级。基础流表项指匹配域和action仅包含端口信息,例如匹配域为从当前交换机port1进入,action为将报文流从当前交换机port3发出;为了减少流表项的添加、删除和修改的开销,控制器确定了报文流入和报文流出边界交换机后,选择连接两个边界交换机的路径时,将拓扑信息中∏rij=1且尽可能长的子路径作为考虑因素,综合带宽和链路负载等因此选择连接路径。
[0012] 本发明的有益效果是:本发明方法与现有技术相比,实现SDN域间路由有如下优点:
[0013] 1、能够在不破坏现有SDN网络结构的前提下将BGP协议应用于SDN域间路由,提出兼容现有网络的SDN域间路由的实现方法。
[0014] 2、为控制器设计了协议交互接口,通过协议交互接口实现路由策略。
[0015] 3、在协议交互接口中,为了节省控制器生成流表项的开销,提出了一种基于基本流表项的最长子路径作为选路因素。

附图说明

[0016] 图1SDN域间路由过程图。
[0017] 图2域间路由模型示意图。
[0018] 图3域内控制器与边界交换机对BGP协议报文的交互过程。
[0019] 图4域内控制器将路由策略转变为交换机流表项的控制过程。

具体实施方式

[0020] 本发明在SDN自治域间运行,下面结合附图及具体实施方式对本发明再做进一步说明。
[0021] 如图2所示,3个SDN自治域分别以a、b和c标记。SDN自治域内交换机组成域内网络,域间通过边界交换机物理连接,控制器宏观控制所有交换机。不同自治域的控制器逻辑连接,构成域间路由拓扑。控制器的IP地址是自治域的身份标识,其网络地址即是本网络的网络地址。邻居控制器直接发送路由报文至本自治域的控制器,实现路由信息交互。控制器之间建立并保持连接通道,定期维护连接消息,并发送BGP路由更新通告建立路由路径。
[0022] 当边界交换机收到报文流后,执行动作如下(图3所示):
[0023] (1)首先判断报文流特征是否与流表中流表项的匹配域匹配。如果匹配,执行流表项的action动作,将报文发送到指定交换机转到(2)或者发送到控制器转到(3);如果不匹配,则将报文流直接发送到控制器,转到(3);
[0024] (2)接收报文流的交换机继续依据流表项转发,直至到达目的地。如果中途交换无法匹配报文流和流表项,将报文流发送至控制器,转到(3);
[0025] (3)控制器检测报文流是BGP消息还是普通报文。如果报文流是普通报文,转到(4),如果报文流是BGP消息,转到(5);
[0026] (4)控制器根据拓扑信息和报文载荷生成流表项,并下发到指定的交换机,选择转发或者丢弃报文,然后转发报文流到指定的交换机;
[0027] (5)控制器将BGP消息转发至上层的路由服务器,路由服务器根据路由策略处理BGP消息,更新最优路径,同时生成本自治域的BGP消息,发送至邻居自治域的控制器,转到(6);
[0028] (6)控制器根据路由服务器的消息处理结果,生成流表项配置指令下发到边界交换机和内部交换机,完成路由配置。
[0029] 公式1显示了控制器中存储的域内交换机的拓扑信息。以图4为例,SDN自治域b在收到a的路由通告后,产生最优路径ba,并将ba通告给邻居节点c。此时自治域b在域内需要建立一条连接c和a的路径。编号为1和12的交换机分别被选为边界交换机。自治域b的控制器的域内拓扑信息表中可知r16=1、r69=1、r84=1、r411=1和r1112=1。即根据当前基础流表项,r16*r69=1且r84*r41*r1112=1。子路径1-6-9和8-4-11-12是当前域内拓扑中存在的默认路径,不需要新增流表项就可以转发数据报文。为了节省控制器的运算开销,b的控制器将两条子路径作为主要考虑因素构建主路径,分别可以选择1-6-9-7-8-4-11-12或者1-6-9-10-8-4-11-12作为域内路径,在实现其路由策略的同时达到节省开销的目的。
[0030] 本发明还可有其他多种实施方式,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员可根据本发明做出各种相应的改变和变形,这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。