软件定义网络中的流量管理系统及方法
【技术领域】
[0001]本发明涉及流量管理领域,特别是涉及一种软件定义网络中的流量管理系统及方法。
【背景技术】
[0002]随着互联网的快速发展,网络用户和业务流量不断增加,网络资源相对不足造成数据交互速率下降,网络拥塞问题日益凸现。网络流量管理是基于网络的实时流量和流量管理策略,对数据流识别分类,实现流量控制、优化和保障关键应用的主要技术,可以保障网络运行效率和QoS (Quality of Service,服务质量)。
[0003]软件定义网络(Software Defined Network, SDN)是把传统网络设备紧密f禹合的网络架构分拆为应用、控制、数据转发3层分离的体系架构,其核心技术Openf low通过实现网络设备的控制权和转发权的相互独立,从而灵活、方便的控制数据包的转发,SDN提供了一种可编程的网络管理模式。在软件定义网络中,控制器通过南向接口(openflow协议)获取底层网络设备信息,进行统一部署、集中管理以及灵活控制,从而解决了分散网络设备的管理控制问题。同时,控制器提供了可编程扩展的北向接口,按不同需求设计的功能应用软件可以直接运行在控制器上,利用控制器对全局网络设备进行统一更新和功能升级。
[0004]软件定义网络是一个新兴的网络架构体系,其网络设备由控制器统一管理,而原有的网络流量管理多为分布式管理,并且都需要增加额外的硬件设备或软件agent系统,使得原有的方法难以应用到SDN网络架构中,形成完整有效的流量管理系统,保障网络运行效率。因此,如何实现对SDN网络的流量管理已经成为本领域技术人员需要解决的技术课题。
【发明内容】
[0005]鉴于以上所述现有技术的缺点,本发明的目的在于提供一种软件定义网络中的流量管理系统及方法,以解决传统流量管理技术无法适用SDN网络的问题,有效地提高网络运行效率。
[0006]为实现上述目的及其他相关目的,本发明提供一种软件定义网络中的流量管理系统,其至少包括:
[0007]设置在Openflow交换机中的匹配模块,用于基于openflow流表来对接收到的数据包进行匹配;
[0008]设置在Openflow交换机中的数据包转发模块,用于基于匹配结果来转发数据包;
[0009]设置在Openflow交换机中的流量测量模块,用于基于匹配结果来对数据包的相关信息进行统计;
[0010]设置在控制器中的流量分析模块,用于基于所述流量测量模块所统计的数据包的相关信息来计算流量相关信息;
[0011]流量管理模块,用于基于所述流量分析模块所计算出的流量相关信息、网络拓扑信息及流量管理策略来生成流量管理规则;
[0012]设置在所述控制器的流表更新模块,用于基于所述流量管理规则来生成openflow流表更新信息,并将所述流表更新信息提供给所述匹配模块;
[0013]设置在控制器中的封装模块,用于将所述流量分析模块及流表更新模块封装成具有北向接口的模块,以便与所述流量管理模块通信。
[0014]优选地,所述流量相关信息包括:交换机端口流的流量速率及丢包率、mac流的流量速率及丢包率、IP流的流量速率及丢包率、tcp/udp流的流量速率及丢包率等。
[0015]优选地,所述北向接口包括具有REST API接口形式的北向接口。
[0016]本发明还提供一种软件定义网络中的流量管理方法,其至少包括:
[0017]匹配模块基于openflow流表来对接收到的数据包进行匹配,若匹配成功,则数据包转发模块将数据包予以转发,同时流量测量模块更新数据包的相关信息;
[0018]流量分析模块获取所述流量测量模块所统计的数据包的相关信息,并进行分析后,将获得的流量相关信息通过北向接口传送给流量管理模块;
[0019]流量管理模块根据流量管理策略和接收到的流量相关信息,判断是否需要对于当前网络采取管理动作,如果需要,则形成相应的流量管理规则并通过北向接口返回给流表更新1吴块;
[0020]流表更新模块根据流量管理规则生成openflow流表更新信息,并基于Openflow协议将所述openflow流表更新信息下发给所述匹配模块;
[0021]所述匹配模块基于所述openflow流表更新信息来更新openflow流表。
[0022]优选地,若匹配不成功,则将数据包交由控制器进行处理。
[0023]优选地,所述管理动作包括丢包、限制速率、及分配空闲资源等。
[0024]如上所述,本发明的软件定义网络中的流量管理系统及方法,具有以下有益效果:能实现对整个网络中所有数据流的灵活调配和统一管理,可弥补分布式管理无法进行最优配置的缺陷;同时还简化了流量管理措施的执行等。
【附图说明】
[0025]图1显示为本发明的软件定义网络中的流量管理系统示意图。
[0026]图2显示为本发明的软件定义网络中的流量管理方法流程图。
[0027]元件标号说明
[0028]I流量管理系统
[0029]11匹配模块
[0030]12数据包转发模块
[0031]13流量测量模块
[0032]14流量分析模块
[0033]15流量管理模块
[0034]16流表更新模块
[0035]17封装模块
[0036]2Openflow 交换机
[0037]3控制器
[0038]SI ?S5步骤
【具体实施方式】
[0039]以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的【具体实施方式】加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。
[0040]请参阅图1至图2。需要说明的是,本实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
[0041]如图1所示,本发明提供一种软件定义网络中的流量管理系统。所述流量管理系统I至少包括:匹配模块11、数据包转发模块12、流量测量模块13、流量分析模块14、流量管理模块15、流表更新模块16以及封装模块17。
[0042]所述匹配模块11设置在Openflow交换机2中,用于基于openflow流表来对接收到的数据包进行匹配。
[0043]具体地,所述匹配模块11基于openflow流表中的各流表项来匹配接收到的数据包的包头,以确定是否匹配。
[0044]其中,所述流表项包括但不限于:交换机端口、mac地址、、IP地址、协议端口号等项目。
[0045]所述数据包转发模块I设置在Openflow交换机2中,用于基于匹配结果来对数据包进行相应转发。
[0046]具体地,若所述匹配模块11对接收到的数据包匹配成功,则所述数据包转发模块I将该匹配成功的数据包转发至其他相应设备;若匹配不成功,则所述数据包转发模块I将该匹配不成功的数据包转发给控制器3进行处理。其中,所述其他相应设备为主机或其他交换机等。
[0047]所述流量测量模块13设置在Openflow交换机2中,用于基于匹配结果来对数据包的相关信息进行统计。
[0048]其中,所述数据包的相关信息包括任何与数据包相关的信息,优选地,包括但不限于:接收及传输数据包的数目、丢包数、接收及传输的字节数等。
[0049]所述流量分析模块14设置在控制器3中,用于基于所述流量测量模块13所统计的数据包的相关信息来计算流量相关信息。
[0050]其中,所述流量相关信息包括任何与流量相关的信息,优选地,包括但不限于:交换机端口流的流量速率及丢包率、mac流的流量速率及丢包率、IP流的流量速率及丢包率、tcp/udp流的流量速率及丢包率等。
[0051]具体地,所述流量分析模块14根据流表项中的匹配域和计数器,分类计算交换机端口、mac地址、IP地址、协议端口号的各个流的流量接收速率、传输速率以及丢包速率。
[0052]所述流量管理模块15用于基于所述流量分析模块14所计算出的流量相关信息、网络拓扑信息及流量管理策略来生成流量管理规则理模块。
[0053]具体地,所述流量管理模块15利用所述流量分析模块14提供的流量相关信息以及软件定义网络中的控制器3提供的网络拓扑信息、以及管理人员提供的流量管理策略来生成流量管理规则,也就是确定是否需要对