流标识封装方法及系统的制作方法_3

文档序号:8322181阅读:来源:国知局
r>[0049]本发明实施例提供一种流标识封装方法。图7是根据本发明实施例的流标识封装方法流程图,如图7所示,该方法主要包括以下步骤(步骤S702-步骤S704):
[0050]步骤S702,在对报文进行流表匹配成功的情况下,OpenFlow交换机为报文添加流标识;
[0051]步骤S704, OpenFlow交换机调用预先保存的函数计算功能为流标识赋值以完成流标识的封装。
[0052]通过上述各个步骤,OpenFlow交换机可以为报文添加流标识,并调用预先保存的函数计算功能为流标识赋值以完成流标识的封装,OpenFlow网络节点可以实现流标识封装所要求的将封装前原始报文的某些字段哈希计算的结果作为新封装的流标识的赋值。
[0053]在本实施例中,在OpenFlow交换机对报文进行流表匹配之前,OpenFlow交换机可以从OpenFlow控制器接收流表配置消息,其中,流表配置消息可以包括:流表信息和/或管理信息,其中:流表信息可以包括:流表条目,流表条目可以包括:添加流标识的指令,和调用函数计算功能为流标识赋值的指令;管理信息用于对调用函数计算功能为流标识进行赋值的操作进行以下至少之一的管理:增加、修改、删除。
[0054]在本实施例中,管理信息可以包含一比特的指示位,该指示位可以用于指示管理信息包含用于调用函数计算功能的函数标识值且不包含赋予流标识的显式的数值。
[0055]在本实施例中,函数计算功能的来源包括以下之一:厂商在制造过程中固化在OpenFlow交换机内部、OpenFlow配置点通过扩展的OF-Config协议对OpenFlow交换机进行配置、OpenFlow控制器将函数计算功能携带在函数计算功能管理消息中下发给OpenFlow交换机。
[0056]在本实施例中,函数计算功能管理消息可以包括:包含函数计算功能的函数计算功能表的配置消息和/或读取消息,其中,函数计算功能表的配置消息用于对函数计算功能表和函数计算功能表中的条目进行以下至少之一的管理:增加、修改、删除;函数计算功能表的读取消息用于读取函数计算功能表和函数计算功能表中的条目。
[0057]在本实施例中,在接收到函数计算功能表的配置消息和/或读取消息之后,OpenFlow交换机可以进行函数计算功能的本地配置和/或读取操作;在本地配置和/或读取操作失败的情况下,OpenFlow交换机向OpenFlow控制器发送用于指示相应配置和/或读取操作失败的错误消息。
[0058]在本实施例中,在函数计算功能的来源为OpenFlow控制器将函数计算功能携带在函数计算功能管理消息中下发给OpenFlow交换机的情况下,在OpenFlow控制器下发函数计算功能之前,OpenFlow交换机可以接收OpenFlow控制器发送的函数计算功能支持能力查询消息,其中,函数计算功能支持能力查询消息用于查询OpenFlow交换机是否具备函数计算功能支持能力以及能够支持哪些函数计算功能。
[0059]在本实施例中,函数计算功能的内容可以包括:函数标识字段、函数参数字段以及函数功能字段,其中,函数标识字段是对流标识赋值时用于调用函数计算功能的函数标识值;函数参数字段用于从报文中选择字段作为函数参数;函数功能字段用于指示预定的函数计算方式和算法。
[0060]在本实施例中,流标识可以包括以下之一:伪线PW流标签、标签交换路径LSP熵标签、提供商骨干桥接PBB流过滤标签。
[0061]本发明实施例提供一种流标识封装系统。图8是根据本发明实施例的流标识封装系统的结构框图,该系统用以实现上述实施例提供的流标识封装方法,如图8所示,该系统主要包括:0penFlow控制器、OpenFlow配置点和OpenFlow交换机,其中,OpenFlow交换机包括:添加模块10和赋值模块20。其中,添加模块10,用于在对报文进行流表匹配成功的情况下,为报文添加流标识;赋值模块20,用于调用函数计算功能为流标识赋值以完成流标识的封装。
[0062]在本实施例中,管理信息可以包含一比特的指示位,该指示位可以用于指示管理信息包含用于调用函数计算功能的函数标识值且不包含赋予流标识的显示的数值。
[0063]在本实施例中,函数计算功能的来源可以包括以下之一:厂商在制造过程中固化在OpenFlow交换机内部、OpenFlow配置点通过扩展的OF-Config协议对OpenFlow交换机进行配置、OpenFlow控制器将函数计算功能携带在函数计算功能管理消息中下发给OpenFlow交换机。
[0064]在本实施例中,函数计算功能管理消息可以包括:包含函数计算功能的函数计算功能表的配置消息和/或读取消息,其中,函数计算功能表的配置消息用于对函数计算功能表和函数计算功能表中的条目进行以下至少之一的管理:增加、修改、删除;函数计算功能表的读取消息用于读取函数计算功能表和函数计算功能表中的条目。
[0065]在本实施例中,函数计算功能的内容可以包括:函数标识字段、函数参数字段以及函数功能字段,其中,函数标识字段是对流标识赋值时用于调用函数计算功能的函数标识值;函数参数字段用于从报文中选择字段作为函数参数;函数功能字段用于指示预定的函数计算方式和算法。
[0066]在本实施例中,流标识可以包括以下之一:伪线PW流标签、标签交换路径LSP熵标签、提供商骨干桥接PBB流过滤标签。
[0067]图9是根据本发明优选实施例的流标识封装系统的结构框图,如图9所示,该优选实施例提供的流标识封装系统包括=OpenFlow控制器、OpenFlow配置点和OpenFlow交换机,其中,OpenFlow交换机还可以包括:第一接收模块30,用于从OpenFlow控制器接收流表配置消息,其中,流表配置消息包括:流表信息和/或管理信息,其中:流表信息包括:流表条目,流表条目包括:添加流标识的指令,和调用函数计算功能为流标识赋值的指令;管理信息用于对调用函数计算功能为流标识进行赋值的操作进行以下至少之一的管理:增加、修改、删除。
[0068]在本优选实施例中,OpenFlow交换机还可以包括:第二接收模块40,用于接收OpenFlow控制器发送的包含函数计算功能的函数计算功能表的配置消息和/或读取消息;配置模块50,用于根据包含函数计算功能的函数计算功能表的配置消息和/或读取消息,进行函数计算功能的本地配置和/或读取操作;发送模块60,用于在本地配置和/或读取操作失败的情况下,向OpenFlow控制器发送用于指示相应配置和/或读取操作失败的错误消息。
[0069]在本优选实施例中,在函数计算功能的来源为OpenFlow控制器将所述函数计算功能携带在函数计算功能管理消息中下发给所述OpenFlow交换机的情况下,OpenFlow交换机还可以包括:第三接收模块70,用于在OpenFlow控制器下发函数计算功能之前,接收OpenFlow控制器发送的函数计算功能支持能力查询消息,其中,函数计算功能支持能力查询消息用于查询OpenFlow交换机是否具备函数计算功能支持能力以及能够支持哪些函数计算功能。
[0070]采用上述实施例提供的流标识封装方法及系统,OpenFlow交换机可以为报文添加流标识,并调用预先保存的函数计算功能为流标识赋值以完成流标识的封装,达到了使OpenFlow网络节点可以实现流标识封装所要求的将封装前原始报文的某些字段哈希计算的结果作为新封装的流标识的赋值的效果。
[0071]下面结合图10至图17以及优选实施例一和优选实施例二对上述实施例提供的流标识封装方法及系统的实现进行更加详细的描述和说明。
[0072]图10是根据本发明优选实施例的OpenFlow网络中流标识封装的实现流程图,如图10所示,该流程包括:
[0073]步骤S1002,对进入OpenFlow交换机的报文,在流表匹配成功时,执行添加流标识封装的动作和调用函数计算功能给流标识赋值的动作。
[0074]在现有技术中,在流表匹配成功时,虽然也可以执行添加流标识封装的动作和给流标识赋值的动作,但只能给流标识赋予显式的数值,无法调用函数计算功能,也就无法满足流标识的赋值根据封装前报文的某些字段哈希计算获得的要求。
[0075]图11是根据本发明优选实施例的OpenFlow交换机实现外层标签封装的添加和给新封装的外层标签赋值的报文处理流程示意图,如图11所示,OpenFlow交换机上包含一个函数计算功能表(Funct1n Table),此表中可包含多个函数计算功能(Funct1n Entry)供流表中的“给标签赋值”动作进行调用。图12是根据本发明优选实施例的OpenFlow函数计算功能表的格式图,如图12所示,每个函数计算功能包含“函数标识”(Funct1n ID)字段,这个字段是流表中包含的赋值动作调用函数计算功能时所使用的标识,用于调用指定的函数计算功能;每个函数计算功能也包含“函数参数”(Funct1n Parameters)字段,该字段用于选择进入交换机报文的某些字段作为函数参数;每个函数计算功能也包含“函数功能”(Funct1n)字段,该字段用于标明指定的函数计算方式和算法。
[0076]步
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1