用于软件定义网络的转发规则配置方法及装置的制造方法

文档序号:9474217阅读:442来源:国知局
用于软件定义网络的转发规则配置方法及装置的制造方法
【技术领域】
[0001]本发明涉及软件定义网络领域,特别是涉及一种用于软件定义网络的转发规则配置方法及装置。
【背景技术】
[0002]软件定义网络(Software Defined Network, SDN)将控制平面与转发平面分离开,打破了传统网络交换机/路由器设计的封闭性,提高了网络管理的可编程性,降低了网络交换机/路由器的复杂性。控制器可以分别通过两个不同的接口与交换机和管理应用进行通信。与管理应用进行通信的接口为上层应用提供网络功能调用,与交换机进行通信的接口能够屏蔽不同交换机之间的差异性。
[0003]其中,流表的差异是不同交换机的主要差异之一。流表的差异体现在流表的数量、类型、大小和查询速度等方面。例如,Fulcrum Monaco Reference仅支持硬件流表,OpenvSwitch on Xeon X3210 仅支持软件流表,HP ProCurve J9451A 和 Quanta LB4G 既支持软件流表又支持硬件流表;HP ProCurve J9451A的硬件流表可以存储1500条规则,FulcrumMonaco Reference的硬件流表仅可存储511条规则。此外,为了扩展交换机的存储空间,可以将软件交换机和硬件交换机组合使用,在逻辑上使它们被看作是一个交换机。
[0004]在目前的网络应用中,不同的业务,例如网页浏览、电子邮件、IP语音、视频点播、视频会议等,对网络的时延、吞吐量、丢包率等性能指标都有不同的需求。对于同一业务,由于资金等方面的原因,不同用户对网络需求也存在一定差异。在现有的SDN中,与传统网络类似,仍然主要是通过选择不同的路径和队列区分实现不同用户和业务的不同需求,没有根据每个流表的时延采用不同的流表存储数据转发规则,这会导致具有低时延需求的数据流的规则因快速查询流表耗尽而被放置到慢速查询流表中,而慢速查询流表中存储了大量能够容忍较高时延的数据流的规则,从而导致网络服务质量较低。因此,为了提高网络服务质量,如何根据每个流表的时延,为不同的业务选择数据转发规则所需放置的流表,是一个亟待解决的问题。

【发明内容】

[0005]本发明实施例的目的在于提供一种用于软件定义网络的转发规则配置方法及装置,以提高网络服务质量。具体技术方案如下:
[0006]第一方面,本发明提供了一种用于软件定义网络的转发规则配置方法,应用于服务器,所述方法包括:
[0007]获得所述软件定义网络中各交换机的所有流表的特征信息,并根据所有流表的特征信息确定各流表的流表优先级;
[0008]获得所述软件定义网络中所有数据流,并根据所有数据流的用户和/或业务需求,确定各数据流的数据流优先级;
[0009]根据所述各数据流的数据流优先级和所述各流表的流表优先级,将各数据流的转发规则放置到相应的流表中。
[0010]进一步地,所述根据所述各数据流的数据流优先级和所述各流表的流表优先级,将各数据流的转发规则放置到相应的流表中,包括:
[0011]按照预设配置顺序和配置规则,依次为各数据流配置其转发规则在对应各数据流需经过的各个交换机中的目的流表;
[0012]根据各数据流的转发规则在对应各交换机中标记的目的流表,将各数据流的转发规则放置到相应的流表中。
[0013]进一步地,所述按照预设配置顺序和配置规则,依次为各数据流配置其转发规则在对应各数据流需经过的各个交换机中的目的流表,包括:
[0014]从未被配置的各数据流中,选择数据流优先级最高的数据流为当前数据流;
[0015]从所述当前数据流所需经过的各个交换机中,选择一个未被标记的交换机作为当前交换机;
[0016]确定所述当前数据流所经过的当前交换机中,流表优先级最高的流表为当前流表;
[0017]判断所述当前流表是否有空闲资源;
[0018]若是,则将所述当前流表标记为所述当前数据流的转发规则在当前交换机的目的流表,并继续执行从所述当前数据流所需经过的各个交换机中,选择一个未被标记的交换机作为当前交换机的步骤,直至所述当前数据流在所需经过的各个交换机中均被标记完成或当前交换机中的流表均被判断出未有空闲资源,再继续执行从未被配置的各数据流中,选择数据流优先级最高的数据流为当前数据流的步骤,直至所有的数据流均被配置完成;
[0019]否则,判断所述当前流表是否为所述当前交换机中流表优先级最低的流表,当所述当前流表不是所述当前交换机中流表优先级最低的流表时,将所述当前交换机中流表优先级仅低于所述当前流表的流表替换为当前流表,并返回执行判断所述当前流表是否有空闲资源。
[0020]进一步地,所述特征信息为:查询速度。
[0021]第二方面,本发明提供了一种用于软件定义网络的转发规则配置装置,应用于服务器,所述装置包括:
[0022]获得模块,用于获得所述软件定义网络中各交换机的所有流表的特征信息,并根据所有流表的特征信息确定各流表的流表优先级;
[0023]执行模块,用于获得所述软件定义网络中所有数据流,并根据所有数据流的用户和/或业务需求,确定各数据流的数据流优先级;
[0024]配置模块,用于根据所述各数据流的数据流优先级和所述各流表的流表优先级,将各数据流的转发规则放置到相应的流表中。
[0025]进一步地,所述配置模块包括:
[0026]配置子模块,用于按照预设配置顺序和配置规则,依次为各数据流配置其转发规则在对应各数据流需经过的各个交换机中的目的流表;
[0027]处理子模块,用于根据各数据流的转发规则在对应各交换机中标记的目的流表,将各数据流的转发规则放置到相应的流表中。
[0028]进一步地,所述配置子模块具体用于:
[0029]从未被配置的各数据流中,选择数据流优先级最高的数据流为当前数据流;
[0030]从所述当前数据流所需经过的各个交换机中,选择一个未被标记的交换机作为当前交换机;
[0031]确定所述当前数据流所经过的当前交换机中,流表优先级最高的流表为当前流表;
[0032]判断所述当前流表是否有空闲资源;
[0033]若是,则将所述当前流表标记为所述当前数据流的转发规则在当前交换机的目的流表,并继续执行从所述当前数据流所需经过的各个交换机中,选择一个未被标记的交换机作为当前交换机的步骤,直至所述当前数据流在所需经过的各个交换机中均被标记完成或当前交换机中的流表均被判断出未有空闲资源,再继续执行从未被配置的各数据流中,选择数据流优先级最高的数据流为当前数据流的步骤,直至所有的数据流均被配置完成;
[0034]否则,判断所述当前流表是否为所述当前交换机中流表优先级最低的流表,当所述当前流表不是所述当前交换机中流表优先级最低的流表时,将所述当前交换机中流表优先级仅低于所述当前流表的流表替换为当前流表,并返回执行判断所述当前流表是否有空闲资源。
[0035]进一步地,所述特征信息为:查
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1