分流方法、OpenFlow交换机、控制器和分流系统的制作方法_2

文档序号:9931214阅读:来源:国知局
询报文指示所述 OpenFlow交换机上报所述交换机配置属性。
[0046] 本发明还提供了一种控制器,包括:
[0047] 属性接收模块,用于接收OpenFlow交换机发送的交换机配置属性,在该交换机配 置属性中携带有分流特性参数,表明该OpenFlow交换机支持分流;
[0048] 配置生成模块,用于结合业务模型及所述交换机配置属性,生成分流配置;
[0049] 配置下发模块,用于向所述OpenFlow交换机下发所述分流配置,指示所述 OpenFlow交换机根据所述分流配置完成流量的分流。
[0050] 优选的,该控制器还包括:
[0051] 业务模型解析模块,用于解析上层应用申请的业务模型,获取分流特性和不同分 流特性对应的分流配置;
[0052] 查询报文发送模块,用于向所述OpenFlow交换机发送查询报文,所述查询报文指 示所述OpenFlow交换机上报所述交换机配置属性。
[0053] 本发明还提供了一种分流系统,包括控制器和OpenFlow交换机;
[0054] 所述控制器,用于接收所述OpenFlow交换机发送的交换机配置属性,在该交换机 配置属性中携带有分流特性参数,表明该OpenFlow交换机支持分流,结合业务模型及所述 交换机配置属性,生成分流配置,并向所述OpenFlow交换机下发所述分流配置,指示所述 OpenFlow交换机根据所述分流配置完成流量的分流;
[0055] 所述OpenFlow交换机,用于向所述控制器发送所述交换机配置属性,,接收所述 控制器下发的分流配置,根据所述分流配置,将到达该OpenFlow交换机的流量分流至不同 的转发实体。
[0056] 优选的,所述控制器,还用于解析上层应用申请的业务模型,获取分流特性和不同 分流特性对应的分流配置,向所述OpenFlow交换机发送查询报文,所述查询报文指示所述 OpenFlow交换机上报所述交换机配置属性。
[0057] 所述OpenFlow交换机接收所述控制器发送的查询报文。
[0058] 本发明提供了一种分流方法、OpenFlow交换机、控制器和分流系统,OpenFlow交 换机向控制器发送交换机配置属性,在该交换机配置属性中携带有分流特性参数,表明该 OpenFlow交换机支持分流,OpenFlow交换机接收所述控制器下发的分流配置,并根据所述 分流配置,将到达该OpenFlow交换机的流量分流至不同的转发实体。实现了新的OpenFlow 协议架构下的负荷分担,解决了缺乏新的OpenFlow协议架构下负荷分担机制的问题。
【附图说明】
[0059] 图1为本发明的实施例一提供的一种分流方法的流程图;
[0060] 图2为本发明的实施例二提供的一种分流方法的流程图;
[0061] 图3为本发明的实施例二中生成的分流表的示意图;
[0062] 图4为本发明的实施例三提供的一种分流方法的流程图;
[0063] 图5为本发明的实施例三中计算型分流的分流表示意图;
[0064] 图6为本发明的实施例四提供的一种OpenFlow交换机的结构示意图;
[0065] 图7为图6中分流执行模块603的结构示意图;
[0066] 图8为本发明的实施例四提供的一种控制器的结构示意图。
【具体实施方式】
[0067] 在新的OpenFlow协议架构下,转发面不能对业务场景做相应的假定,所以就存在 着不能确定负荷分担算法的问题。特别是,meter表等业务模型的存在,负荷分担算法的设 计不当很可能造成业务无法实现。
[0068] 为了解决上述问题,本发明的实施例提供了一种分流方法、OpenFlow交换机、控制 器和分流系统。下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不 冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
[0069] 首先结合附图,对本发明的实施例一进行说明。
[0070] 本发明实施例提供了一种分流方法,具体流程如图1所示,包括:
[0071] 步骤101 :上层应用向控制器申明业务模型。
[0072] 步骤102 :控制器解析业务模型,获得不同分流特性对应的分流配置;
[0073] 本发明实施例中,涉及的分流特性主要包括:配置型分流和计算型分流。其中,配 置型分流要求控制器直接向OpenFlow交换机发送匹配字段和转发实体编号信息;计算型 分流则要求控制器向OpenFlow交换机发送一用于转发面流量分类的HASH值。
[0074] 相对应的,对于配置型分流,分流配置包含分流的匹配字段,以及转发实体编号; 对于计算型分流,分流配置包含上述HASH值,算法,以及转发实体编号等信息。
[0075] 步骤103 :控制器向OpenFlow交换机发送查询报文以获取交换机支持的分流能力 及特性。
[0076] 步骤104 :0penFlow交换机向控制器返回分流能力和分流特性;
[0077] 本步骤中,OpenFlow交换机通过交换机配置属性向控制器上报分流能力,表明本 OpenFlow交换机是否支持分流。
[0078] 在所述OpenFlow交换机支持分流时,可选的,还可以在该交换机配置属性中携带 分流特性。
[0079] 在交换机配置属性中携带分流能力可通过扩展现有的OpenFlow协议中的交换机 配置属性(switch configure)来实现,具体的,增加一个0FPC_EN_L0AD_BALANCE标记用于 指示分流特性:
[0080] /^Switch configuration. */
[0081] struct ofp_switch_config{
[0082] struct ofp_header header ;
[0083] uintl6_t flags ;
[0084] uintl6_t miss_send_len ;
[0085] };
[0086] 0FP_ASSERT (sizeof (struct ofp_switch_config) == 12);
[0087] enum ofp_config_flags{
[0088] 0FPC_FRAG_N0RMAL = 0,
[0089] 0FPC_FRAG_DR0P = 1?0,
[0090] 0FPC_FRAG_REASM = 1?1,
[0091] 0FPC_FRAG_MASK = 3,
[0092] 0FPC_EN_L0AD_BALANCE = 4,
[0093] }〇
[0094] 步骤105 :控制器结合业务模型及交换机分流特性,生成分流配置;
[0095] 本发明的实施例中,控制器可以根据OpenFlow交换机上报的分流特性确认分流 配置中的分流特性的相关配置;也可以由控制器自行决定OpenFlow交换机的分流特性,并 据此确定相应的分流配置。
[0096]
[0097] 步骤106 :控制器通过OpenFlow协议或0F-C0NFIG协议完成分流配置的下发;
[0098] 配置型分流对应的分配配置下发可通过扩展现有的OpenFlow协议中的action来 实现,具体的,添加了 〇FPAT_DISTRIBUTE,具体如下:
[0099] Enum oip_action_type { OFPAT_OUTPUT=0, OFPAT_C()PY_TTL_OUT:l 1, OFPAT-COPY-TTLJN= 12, OFPAT_SET_M PLS_TTL=15, OFPATDEC-MPLS_TTL=16, OFPAT_PUSH_VLAN=l 7, OFPAT-POP-VLAISN18S OFF AT_PUSH_MPLS= 19, OFPAT_POP_MPLS 二 20, 0「PAr_SET_QUEUE二 21. OFPAT_GROUP=22, OFPAT_S ET_MW_TTL-23,
[0100] O FP AT_D EC_N W_TT L=24, OFPAT_SET_FIELD=25, O FP AT _P U S HP B B=26, OFPAT _POP_PBB=27, O F F AT _D 1S T RIB l JTE=2 8S OFPAT_EXPERIMENTER = Oxffff 1 =
[0101] 步骤107 :0penFl〇W交换机根据分流配置,将接收到的流量分配到不同的转发实 体,所述转发实体具体为芯片或多核芯片的核。
[0102] 下面结合附图,对本发明的实施例二进行说明。
[0103] 本发明实施例
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1