一种基于子路径串接的SDN流控系统转让专利

申请号 : CN201710149710.4

文献号 : CN107018073B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 罗龙罗晨伊虞红芳

申请人 : 电子科技大学

摘要 :

本发明公开了一种基于子路径串接的SDN流控系统,通过引入子路径,将路径转化为子路径串接的形式,使得网络可以灵活控制网络流量。同时,由于引入了子路径,当网络发生变化时,只需要修改入边缘路由器的子路径序列即可实现对实现对网络的控制,提高了路径更新速度,并且引入子路径减少了交换机上需要安装的转发流表数目,提高了可扩展性。

权利要求 :

1.一种基于子路径串接的SDN流控系统,其特征在于,包括:

一流控APP模块,包括数据库与流控模块;

所述的数据库提供包含流量控制的相关信息,该信息由SDN控制器中的拓扑发现模块和链路状态监测模块递交;

所述的流控模块根据实际需要和网络运行状态设计相应的流量控制功能,同时根据设计目标规划出符合流控目标路由路径,执行流控APP模块的任意的流量控制功能;

流控模块对业务流的路由路径优化并输出目标路由路径后,再由流控模块通过北向接口将目标路由路径提交到SDN控制器;

一SDN控制器,包括拓扑发现模块,链路状态监测模块,子路径模块,路径转换模块和表项规则下发模块;

所述的拓扑发现模块用于获取全网拓扑结构,通过链路状态监测模块汇聚所有链路相关的运行状态,实现流量控制相关的全网信息的维护,同时将这些网络信息递交到流控APP模块的数据库保存;

所述的子路径模块利用全网信息,按照一定规则计算子路径集,并维护所有选取的子路径信息,再将所有的子路径递交给表项规则下发模块;

所述的路径转换模块将来自上层流控APP模块的需求路由路径与子路径模块的子路径信息,根据一定设计原则挑选一组子路径串接出请求的路由路径,形成子路径序列,再将子路径序列递交给表项规则下发模块;

所述的表项规则下发模块将子路径或子路径序列转换成流表规则,并通过OpenFlow协议将流表规则下发到相应的边缘交换机;

一网络基站设施,包含支持SDN的转发设备和物理链路;是利用MPLS协议来实现数据包携带子路径信息并传递数据包,以及对网络信息的采集;

其中,SDN的转发设备通过南向接口与SDN控制器进行信息的交互,具体的讲,SDN的转发设备通过OpenFlow协议向SDN控制器汇报请求的网络信息;对于SDN控制器通过OpenFlow协议下发的流表规则,SDN的转发设备将其安装在转发表中。

2.根据权利要求1所述的基于子路径串接的SDN流控系统,其特征在于,所述的SDN控制器的拓扑发现模块与链路状态监测模块对网络信息维护的具体过程为:在网络初始化的阶段,通过执行一次拓扑发现模块来维护静态的网络拓扑结构;在整个网络生命周期执行链路状态监测模块来维护网络的动态运行信息。

3.根据权利要求1所述的基于子路径串接的SDN流控系统,其特征在于,所述的SDN控制器的流表规则下发模块维护的具体过程为:对于子路径,流表下发模块向所有子路径上的转发设备下发用于指示此子路径路由的流表;对于子路径序列,流表下发模块仅向对应的入边缘转发设备下发流表。

4.根据权利要求1所述的基于子路径串接的SDN流控系统,其特征在于,所述的网络基站设施维护的具体过程为:当网络需要执行流控APP的流控功能时,SDN控制器利用上述所述模块对网络进行维护并生成包含子路径序列信息的流表规则,并下发规则到入边缘转发设备;其中,对于起点路由器,下发的内容包括匹配项为源目IP地址对,匹配操作为添加子路径序列头部;对于中间路由器,匹配项为子路径label ID;

入边缘转发设备接收流表规则后,修改已有的规则;

当数据包到达入边缘路由器时,该入边缘路由器在转发表中为数据包查找匹配的转发表项;

若数据流为首包,则入边缘路由器由于查找不到匹配的转发表项,从而将数据包上报控制器并请求计算路由路径和分配相应的转发表项;当控制器接收到请求后,根据数据库中信息为所请求的数据包/所属的数据流建立合适的路由转发路径并将此路径转化为对应的子路径序列,然后生成包含子路径序列信息的转发表项并下发到对应的入边缘路由器;

入边缘路由器存储接收到的转发表项,并按其对应的规则处理数据包,即为此数据包添加子路径序列头部并将数据包按照其头部信息从相应端口转发到中间网络,此时,将MPLS协议中的TTL字段作为Index,数据包从相应端口转发出去时,Index指示第一个label ID生效;在一个label ID所指示的子路径上,若此路由器为所在子路径终点的前一个路由器,则将编号更新为下一编号,并将数据包转发到子路径终点路由器;

若数据流不是首包,可以在入边缘路由器转发表中查找到匹配项,则根据查找到的转发表项规则处理数据包,在数据包头部添加相应的子路径序列头部并将其从相应端口转发到网络中。

5.根据权利要求1或4所述的基于子路径串接的SDN流控系统,其特征在于,所述的MPLS协议包括5个label ID和一个Index;其中,Label ID为子路径序列,用于指示数据包传输;

Index用于指示当前所使用的Label ID,其中label ID为本地标识,用两个字节标识一个label ID。

说明书 :

一种基于子路径串接的SDN流控系统

技术领域

[0001] 本发明属于网络通信技术领域,更为具体地讲,涉及一种基于子路径串接的SDN流控系统。

背景技术

[0002] SDN将网络控制平面从数据转发平面分离出来,在全局网络视角和全局流状态信息下管理网络资源,实现了对网络流量的灵活控制,提高网络资源利用率,简化网络管理和减少运维费用,从而促进网络创新和演变。
[0003] 将SDN应用于IP骨干网流控,SDN理论上能够为每条业务流单独配置路由路径,但是,由于IP骨干网业务数量庞大,SDN需要维护并下发数目庞大的流表项,交换机也需要存储大量的流表项。此外,由于IP骨干网交换机/路由器地域分布广,路由路径的配置和重配置生效时间较慢。
[0004] 为减少交换机流表项与加速路径配置,使得SDN适用于IP骨干网流控,本专利提出了一种利用MPLS实现子路径串接的方案。

发明内容

[0005] 本发明的目的在于克服现有技术的不足,提供一种基于子路径串接的SDN流控系统,通过搭建SDN流量调度架构,减少了路由器流表数目,提高全网质量。
[0006] 为实现上述发明目的,本发明一种基于子路径串接的SDN流控系统,其特征在于,包括:
[0007] 一流控APP模块,包括数据库与流控模块;
[0008] 所述的数据库提供包含流量控制的相关信息,该信息由SDN控制器中的拓扑发现模块和链路状态监测模块递交;
[0009] 所述的流控模块根据实际需要和网络运行状态设计相应的流量控制功能,同时根据设计目标规划出符合流控目标路由路径,执行流控APP模块的任意的流量控制功能;
[0010] 流控模块对业务流的路由路径优化并输出目标路由路径后,再由流控模块通过北向接口将目标路由路径提交到SDN控制器;
[0011] 一SDN控制器,包括拓扑发现模块,链路状态监测模块,子路径模块,路径转换模块和表项规则下发模块;
[0012] 所述的拓扑发现模块用于获取全网拓扑结构,通过链路状态监测模块汇聚所有链路相关的运行状态,实现流量控制相关的全网信息的维护,同时将这些网络信息递交到流控APP模块的数据库保存;
[0013] 所述的子路径模块利用全网信息,按照一定规则计算子路径集,并维护所有选取的子路径信息,再将所有的子路径递交给表项规则下发模块;;
[0014] 所述的路径转换模块将来自上层流控APP模块的需求路由路径与子路径模块的子路径信息,根据一定设计原则挑选一组子路径串接出请求的路由路径,形成子路径序列,再将子路径序列递交给表项规则下发模块;
[0015] 所述的表项规则下发模块将子路径或子路径序列转换成流表规则,并通过OpenFlow协议将流表规则下发到相应的边缘交换机;
[0016] 一网络基站设施,包含支持SDN的转发设备和物理链路;主要是利用MPLS协议来实现数据包携带子路径信息并传递数据包,以及对网络信息的采集;
[0017] 其中,SDN的转发设备通过南向接口与SDN控制器进行信息的交互,具体的讲,SDN的转发设备通过OpenFlow协议向SDN控制器汇报请求的网络信息;对于SDN控制器通过OpenFlow协议下发的流表规则,SDN的转发设备将其安装在转发表中。
[0018] 本发明的发明目的是这样实现的:
[0019] 本发明一种基于子路径串接的SDN流控系统,通过引入子路径,将路径转化为子路径串接的形式,使得网络可以灵活控制网络流量。同时,由于引入了子路径,当网络发生变化时,只需要修改入边缘路由器的子路径序列即可实现对实现对网络的控制,提高了路径更新速度,并且引入子路径减少了交换机上需要安装的转发流表数目,提高了可扩展性。
[0020] 同时,本发明一种基于子路径串接的SDN流控系统还具有以下有益效果:
[0021] (1)、通过引入子路径串接路径的方案,大幅减少了交换机上需要安装的转发流表项数目,提高了SDN应用于IP流控的可扩展性;
[0022] (2)、通过引入子路径转发机制,提高路径建立/更新的响应速度,减少路径建立/更新的控制开销,便于实现实时性较强的流控功能;
[0023] (3)、通过设计三层SDN流控路径配置方案,将上层流控功能与控制器路径转换功能独立开来,便于实际部署。

附图说明

[0024] 图1是本发明基于子路径串接的SDN流控系统一种具体实施方式架构图;

具体实施方式

[0025] 下面结合附图对本发明的具体实施方式进行描述,以便本领域的技术人员更好地理解本发明。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许会淡化本发明的主要内容时,这些描述在这里将被忽略。
[0026] 实施例
[0027] 为了方便描述,先对具体实施方式中出现的相关专业术语进行说明:
[0028] SDN(Software-Defined Network routing):软件定义网络;
[0029] IP(Internet Protocol):网络协议;
[0030] APP(Application):应用;
[0031] MPLS(Multi-Protocol Label Switching):多协议标签交换;
[0032] 图1是本发明基于子路径串接的SDN流控系统一种具体实施方式架构图。
[0033] 在本实施例中,如图1所示,本发明一种基于子路径串接的SDN流控系统,包括:流控APP模块、SDN控制器和网络基站设施。
[0034] 流控APP模块又包括数据库与流控模块,主要用于对业务流的路由路径优化并输出目标路由路径后,再由流控模块通过北向接口将目标路由路径提交到SDN控制器。
[0035] 其中,数据库提供包含流量控制的相关信息,该信息由SDN控制器中的拓扑发现模块和链路状态监测模块递交;其中,拓扑发现模块只在网络初始化的阶段执行一次,维护静态的网络拓扑结构;链路状态监测模块在整个网络生命周期执行,维护网络的动态运行信息。
[0036] 流控模块根据实际需要和网络运行状态设计相应的流量控制功能,同时根据设计目标(如最小化最大网络链路利用率,最大化网络吞吐量等),为已有业务流规划路由路径,执行流控APP模块的任意的流量控制功能。比如当出现热点链路时,流控模块迁移热点链路流量到较空闲的链路以避免拥塞,当网络低负载时,流控模块聚合低负载链路流量到网络部分链路以关闭空闲设备节省能耗。
[0037] SDN控制器又包括拓扑发现模块,链路状态监测模块,子路径模块,路径转换模块和表项规则下发模块。
[0038] 拓扑发现模块用于获取全网拓扑结构,通过链路状态监测模块汇聚所有链路相关的运行状态(如流量,故障等),实现流量控制相关的全网信息的维护,同时这些网络信息将被递交到流控APP模块的数据库保存;
[0039] 子路径模块利用全网信息,按照如下规则:限制路径跳数、覆盖网络常用路径等来计算子路径集,并维护所有选取的子路径信息,然后,子路径模块触发表项规则下发模块将所有子路径转换为流表的形式并下发到SDN的转发设备;子路径模块在网络初始化阶段执行,子路径集一旦建立,一般不随着网络流量的到达和离去动态变化,但是,SDN控制器可以根据需要(如链路故障场景)或定期地运行该模块以更新子路径集。
[0040] 路径转换模块将来自上层流控APP模块的需求路由路径与子路径模块的子路径信息,根据一定设计原则(如最小化串接子路径数目)挑选一组子路径串接出请求的路由路径,形成子路径序列,再将子路径序列递交给表项规则下发模块;
[0041] 表项规则下发模块将子路径所对应的子路径序列转换成流表规则,并通过OpenFlow协议将流表规则下发到相应的边缘交换机;具体的说,,流表下发模块向此子路径上的所有转发设备下发用于指示此子路径路由的流表;对于子路径序列,流表下发模块仅向此子路径对应的入边缘转发设备下发包含子路径序列的流表;
[0042] 网络基站设施,包含支持SDN的转发设备和物理链路,实现数据包的传递以及对网络信息的采集;SDN的转发设备通过南向接口与SDN控制器进行信息的交互;具体地,SDN的转发设备通过OpenFlow协议向SDN控制器汇报请求的网络信息;对于SDN控制器通过OpenFlow协议下发的流表规则,SDN的转发设备将其安装在转发表中。
[0043] 当网络需要执行流控APP的流控功能时,SDN控制器利用上述所述模块对网络进行维护并生成包含子路径序列信息的流表规则,并下发规则到入边缘转发设备;其中,对于起点路由器,下发的内容包括匹配项为源目IP地址对,匹配操作为添加子路径序列头部;对于中间路由器,匹配项为子路径label ID;
[0044] 入边缘转发设备接收流表规则后,修改已有的规则;
[0045] 当数据包到达入边缘路由器时,该入边缘路由器在转发表中为数据包查找匹配的转发表项;若数据流为首包,则入边缘路由器由于查找不到匹配的转发表项,从而将数据包上报控制器并请求计算路由路径和分配相应的转发表项;当控制器接收到请求后,根据数据库中信息为所请求的数据包/所属的数据流建立合适的路由转发路径并将此路径转化为对应的子路径序列,然后生成包含子路径序列信息的转发表项并下发到对应的入边缘路由器;入边缘路由器存储接收到的转发表项,并按其对应的规则处理数据包,即为此数据包添加子路径序列头部并将数据包按照其头部信息从相应端口转发到中间网络。其中,我们利用MPLS协议来实现数据包携带子路径信息的功能。我们所使用的协议包括5个label ID和一个Index。其中Label ID为子路径序列,用于指示数据包传输;Index用于指示当前所使用的Label ID。其中label ID为本地标识,用两个字节标识一个label ID;我们利用MPLS协议中的TTL字段,将TTL字段作为Index;此时数据包从相应端口转发出去时Index指示第一个label ID生效;在一个label ID所指示的子路径上,若此路由器为所在子路径终点的前一个路由器,则将编号更新为下一编号,并将数据包转发到子路径终点路由器;
[0046] 若数据流为后续包不是首包,则可以在入边缘路由器根据在转发表中查找到的匹配项,则根据查找到的转发表项的规则处理数据包,在数据包头部添加相应的子路径序列头部并将其从相应端口转发到网络中。
[0047] 尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。