CN105471726A - 转发参数传递的方法及设备 - Google Patents
转发参数传递的方法及设备 Download PDFInfo
- Publication number
- CN105471726A CN105471726A CN201410453369.8A CN201410453369A CN105471726A CN 105471726 A CN105471726 A CN 105471726A CN 201410453369 A CN201410453369 A CN 201410453369A CN 105471726 A CN105471726 A CN 105471726A
- Authority
- CN
- China
- Prior art keywords
- field
- shank
- rule
- forwarding
- retransmitting paramater
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/38—Flow based routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0823—Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0876—Aspects of the degree of configuration automation
- H04L41/0886—Fully automatic configuration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/34—Signalling channels for network management communication
- H04L41/342—Signalling channels for network management communication between virtual entities, e.g. orchestrators, SDN or NFV entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/64—Routing or path finding of packets in data switching networks using an overlay routing layer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/63—Routing a service request depending on the request content or context
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Abstract
本发明实施例公开了一种转发参数传递的方法、装置及系统,包括:所述控制器获得扩展的转发模型描述,所述扩展的转发模型描述中包括第一格式编码规则,所述第一格式编码规则用于指示第一转发参数的类型以及所述第一转发参数在第一字段中的位置,所述第一字段是开放流OpenFlow协议流表项中的字段;所述控制器将所述第一转发参数按照所述第一格式编码规则填入所述第一字段,并将携带所述第一字段的所述流表项通过OpenFlow协议发送到所述转发设备上,以使得所述转发设备根据所述第一格式编码规则解析所述流表项中的所述第一字段,得到所述第一转发参数。本发明提供了一种简单高效地传递转发参数的方法。
Description
技术领域
本申请涉及通信网络领域,具体涉及一种转发参数传递的方法、装置以及系统。
背景技术
基于控制转发分离思想的SDN(SoftwareDefinedNetworking)架构,是一种新型网络交换模型,对网络的创新发展起到了较好的推动作用,其关键组件包括OpenFlow交换机和控制器。控制器和OpenFlow交换机之间通过OpenFlow协议规范的控制通道完成消息的交互和信息的传递。控制器通过全网络视图来实现管控功能,为OpenFlow交换机生成转发流表;OpenFlow交换机根据流表来转发数据包,流表项主要由匹配字段(matchfields)和操作(instructions)等部分组成。然而,现网上已经部署了大量的传统转发设备,SDN/OpenFlow毕竟是新兴的网络架构和转发模型,如何兼容这些支持传统转发模型的传统网络转发设备,也是SDN/OpenFlow面临的挑战。
为了兼容这些支持传统转发模型的网络转发设备,ONF(OpenNetworkingFoundation)定义了可协商的数据转发面模型NDM(NegotiableDatapathModels)和表类型模板TTP(TableTypingPatterns)规范和描述语言,TTP是NDM的第一阶段,支持现有的OpenFlow协议版本,如OpenFlow-Switch1.x。NDM/TTP定义了一个框架,基于这个框架,允许厂商基于实际的应用需求和现有的芯片架构来定义很多种不同的转发模型,每种模型可以涉及多张表,匹配不同的字段,基于查找结果执行不同的动作,由于是基于现有传统的芯片,无论匹配的字段还是执行的动作都是有限制的,所以,NDM/TTP描述了OpenFlow协议规范中定义的OpenFLow交换机转发能力的一个有限子集。
NDM/TTP一定程度上解决了OpenFLow兼容传统转发模型的问题,但是当现有传统转发逻辑和转发表中需要的一些参数是OpenFlow协议规范没有定义的转发参数时,现有技术中通常需要扩展OpenFlow协议来支持,但是需要进行长时间的标准推动,而且每当发现需要增加一个新的OpenFlow规范没有定义的转发参数时,都需要进行一次或多次相应的标准推动,将这些转发参数扩展到OpenFlow协议规范中来,非常耗时费力繁琐、一定程度上拖延和影响了SDN/OpenFlow技术推动和发展的速度。
发明内容
本发明实施例提供一种转发参数传递的方法、装置及系统,当控制器需要向SDN网络中支持传统转发模型的转发设备传递OpenFlow协议规范没有定义的转发参数时,无需扩展OpenFlow协议,便可完成参数传递,从而使得OpenFlow能更好地兼容网络中支持传统转发模型的转发设备。
为了解决上述问题,本发明实施例第一方面提供一种控制器执行的转发参数传递的方法,应用于控制转发分离的网络,所述控制转发分离的网络包括控制器和转发设备,所述控制器控制所述转发设备,所述方法包括:所述控制器获得扩展的转发模型描述,所述扩展的转发模型描述中包括第一格式编码规则,所述第一格式编码规则用于指示第一转发参数的类型以及所述第一转发参数在第一字段中的位置,所述第一字段是开放流OpenFlow协议流表项中的字段;所述控制器将所述第一转发参数按照所述第一格式编码规则填入所述第一字段,并将携带所述第一字段的所述流表项通过OpenFlow协议发送到所述转发设备上,以使得所述转发设备根据所述第一格式编码规则解析所述流表项中的所述第一字段,得到所述第一转发参数。
在第一方面的第一种可能的实现方式中,包括:所述扩展的转发模型描述中还包括第二格式编码规则,所述第二格式编码规则用于指示第二转发参数的类型以及所述第二转发参数在所述第一字段中的位置;相应地,所述方法还包括:所述控制器将所述第二转发参数按照所述第二格式编码规则填入所述第一字段,并将携带所述第一字段的所述流表项通过OpenFlow协议发送到所述转发设备上,以使得所述转发设备根据所述第二格式编码规则解析所述流表项中的所述第一字段,得到所述第二转发参数。
在第一方面的第二种可能的实现方式中,包括:所述扩展的转发模型描述中还包括第二格式编码规则,所述第二格式编码规则用于指示第二转发参数的类型以及所述第二转发参数在第二字段中的位置,所述第二字段是OpenFlow协议流表项中的字段,所述第二字段和所述第一字段不同;相应地,所述方法还包括:所述控制器将所述第二转发参数按照所述第二格式编码规则填入所述第二字段,并将携带所述第二字段的流表项通过OpenFlow协议发送到所述转发设备上,以使得所述转发设备根据所述第二格式编码规则解析所述流表项中的所述第二字段,得到所述第二转发参数。
结合第一方面或者第一方面的第一种至第二种任一可能的实现方式,在第一方面的第三种可能的实现方式中,还包括:所述第一字段是OpenFlow协议中的元数据MetaData字段。
结合第一方面或者第一方面的第一种至第三种任一可能的实现方式,在第一方面的第四种可能的实现方式中,还包括:所述第一格式编码规则根据转发模型描述语言扩展的语法生成,所述扩展的语法包括字段格式编码关键字、编码的位置关键字和编码位置的信息类型关键字,其中所述字段格式编码关键字用于指示所述扩展的语法的功能,所述编码位置关键字用于指示一个字段中存放数据的位置,所述编码位置的信息类型关键字用于指示所述数据的类型。
结合第一方面的第四种可能的实现方式,在第一方面的第五种可能的实现方式中,还包括:所述数据的类型为虚拟路由转发实例标识VRFID、下一跳IP地址、出接口或表项索引。
结合第一方面或者第一方面的第一种至第五种任一可能的实现方式,在第一方面的第六种可能的实现方式中,还包括:所述扩展的转发模型描述保存在所述控制器上和/或所述转发设备上。
为了解决上述问题,本发明实施例第二方面提供一种转发设备执行的转发参数传递的方法,应用于控制转发分离的网络,所述控制转发分离的网络包括控制器和转发设备,所述转发设备接收所述控制器的控制,所述方法包括:所述转发设备获得扩展的转发模型描述,所述扩展的转发模型描述中包括第一格式编码规则,所述第一格式编码规则用于指示第一转发参数的类型以及所述第一转发参数在第一字段中的位置,所述第一字段是开放流OpenFlow协议流表项中的字段;所述转发设备接收所述控制器发来的携带所述第一字段的所述OpenFlow协议流表项,按照所述第一格式编码规则将所述第一字段解析得到所述第一转发参数。
在第二方面的第一种可能的实现方式中,包括:所述扩展的转发模型描述中还包括第二格式编码规则,所述第二格式编码规则用于指示第二转发参数的类型以及所述第二转发参数在所述第一字段中的位置;相应地,所述方法还包括:所述转发设备接收所述控制器发来的携带所述第一字段的所述OpenFlow协议流表项,按照所述第二格式编码规则将所述第一字段解析得到所述第二转发参数。
在第二方面的第二种可能的实现方式中,包括:所述扩展的转发模型描述中还包括第二格式编码规则,所述第二格式编码规则用于指示第二转发参数的类型以及所述第二转发参数在第二字段中的位置,所述第二字段是OpenFlow协议流表项中的字段,所述第二字段和所述第一字段不同;相应地,所述方法还包括:所述转发设备接收所述控制器发来的携带所述第二字段的所述OpenFlow协议流表项,按照所述第二格式编码规则将所述第二字段解析得到所述第二转发参数。
结合第二方面或者第二方面的第一种至第二种任一可能的实现方式,在第二方面的第三种可能的实现方式中,还包括:所述第一字段是OpenFlow协议中的元数据MetaData字段。
结合第二方面或者第二方面的第一种至第三种任一可能的实现方式,在第二方面的第四种可能的实现方式中,还包括:所述第一格式编码规则根据转发模型描述语言扩展的语法生成,所述扩展的语法包括字段格式编码关键字、编码的位置关键字和编码位置的信息类型关键字,其中所述字段格式编码关键字用于指示所述扩展的语法的功能,所述编码位置关键字用于指示一个字段中存放数据的位置,所述编码位置的信息类型关键字用于指示所述数据的类型。
结合第二方面或者第二方面的第四种可能的实现方式,在第二方面的第五种可能的实现方式中,还包括:所述数据的类型为虚拟路由转发实例标识VRFID、下一跳IP地址、出接口或表项索引。
结合第二方面或者第二方面的第一种至第五种任一可能的实现方式,在第二方面的第六种可能的实现方式中,还包括:所述扩展的转发模型描述保存在所述控制器上和/或所述转发设备上。
为了解决上述问题,本发明实施例第三方面提供一种控制器,应用于控制转发分离的网络,所述控制转发分离的网络包括所述控制器和转发设备,所述控制器控制所述转发设备,所述装置包括:获取单元用于获得扩展的转发模型描述,所述扩展的转发模型描述中包括第一格式编码规则,所述第一格式编码规则用于指示第一转发参数的类型以及所述第一转发参数在第一字段中的位置,所述第一字段是开放流OpenFlow协议流表项中的字段;发送单元用于将所述第一转发参数按照所述第一格式编码规则填入所述第一字段,并将携带所述第一字段的所述流表项通过OpenFlow协议发送到所述转发设备上,以使得所述转发设备根据所述第一格式编码规则解析所述流表项中的所述第一字段,得到所述第一转发参数。
在第三方面的第一种可能的实现方式中,包括:所述扩展的转发模型描述中还包括第二格式编码规则,所述第二格式编码规则用于指示第二转发参数的类型以及所述第二转发参数在所述第一字段中的位置;所述发送单元还用于将所述第二转发参数按照所述第二格式编码规则填入所述第一字段,并将携带所述第一字段的所述流表项通过OpenFlow协议发送到所述转发设备上,以使得所述转发设备根据所述第二格式编码规则解析所述流表项中的所述第一字段,得到所述第二转发参数。
在第三方面的第二种可能的实现方式中,包括:所述扩展的转发模型描述中还包括第二格式编码规则,所述第二格式编码规则用于指示第二转发参数的类型以及所述第二转发参数在第二字段中的位置,所述第二字段是OpenFlow协议流表项中的字段,所述第二字段和所述第一字段不同;所述发送单元还用于将所述第二转发参数按照所述第二格式编码规则填入所述第二字段,并将携带所述第二字段的流表项通过OpenFlow协议发送到所述转发设备上,以使得所述转发设备根据所述第二格式编码规则解析所述流表项中的所述第二字段,得到所述第二转发参数。
为了解决上述问题,本发明实施例第四方面提供一种转发设备,应用于控制转发分离的网络,所述控制转发分离的网络包括控制器和所述转发设备,所述转发设备接收所述控制器的控制,所述装置包括:获取单元用于获得扩展的转发模型描述,所述扩展的转发模型描述中包括第一格式编码规则,所述第一格式编码规则用于指示第一转发参数的类型以及所述第一转发参数在第一字段中的位置,所述第一字段是开放流OpenFlow协议流表项中的字段;接收单元用于接收所述控制器发来的携带所述第一字段的所述OpenFlow协议流表项,按照所述第一格式编码规则将所述第一字段解析得到所述第一转发参数。
在第四方面的第一种可能的实现方式中,包括:所述扩展的转发模型描述中还包括第二格式编码规则,所述第二格式编码规则用于指示第二转发参数的类型以及所述第二转发参数在第一字段中的位置,所述第一字段是开放流OpenFlow协议流表项中的字段;所述接收单元还用于所述转发设备接收所述控制器发来的携带所述第一字段的所述OpenFlow协议流表项,按照所述第二格式编码规则将所述第一字段解析得到所述第二转发参数。
在第四方面的第二种可能的实现方式中,包括:所述扩展的转发模型描述中还包括第二格式编码规则,所述第二格式编码规则用于指示第二转发参数的类型以及所述第二转发参数在第二字段中的位置,所述第二字段是OpenFlow协议流表项中的字段,所述第二字段和所述第一字段不同;所述发送单元还用于所述控制器将所述第二转发参数按照所述第二格式编码规则填入所述第二字段,并将携带所述第二字段的流表项通过OpenFlow协议发送到所述转发设备上,以使得所述转发设备根据所述第二格式编码规则解析所述流表项中的所述第二字段,得到所述第二转发参数。
为了解决上述问题,本发明实施例第五方面提供一种实现转发参数传递的系统,应用于控制转发分离的网络,所述系统包括:控制器和转发设备;所述控制器包括:上述第三方面的任一控制器;所述转发设备包括:上述第四方面的任一转发设备。
本发明实施例通过扩展转发模型描述语言,实现了将传统转发设备需要的转发参数,遵从OpenFlow协议规范,放入OpenFlow协议规范的字段中携带,从控制器发送到转发设备,在转发设备上把所述OpenFlow协议规范的字段恢复成转发设备需要的转发参数。本发明提供了一种简单高效地传递转发参数的方法,从而使得OpenFlow能更好地兼容网络中的传统转发设备。
附图说明
图1是本发明实施例一种转发参数传递方法的流程示意图;
图2-1是本发明实施例中第一种转发参数携带的示意图;
图2-2是本发明实施例中第二种转发参数携带的示意图;
图2-3是本发明实施例中第三种转发参数携带的示意图;
图3是本发明实施例一种转发参数传递方法的流程示意图;
图4是本发明实施例一种控制器的结构示意图;
图5是本发明实施例一种转发设备的结构示意图;
图6是本发明实施例一种转发参数传递系统的示意图;
图7是本发明实施例一种控制器的结构示意图;
图8是本发明实施例一种转发设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和实施方式对本发明实施例作进一步的详细说明。显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
关于本发明实施例描述中涉及的OpenFlow协议规范的具体细节,请参考ONF发布的《开放流交换机规范》版本1.x(OpenFlowSwitchSpecification1.x)。关于NDM/TTP的具体细节,请参考ONF发布的《开放流可协商的数据转发面模型》(OpenFlowNegotiableDatapathModels)规范。
实施例一、
本发明实施例方案涉及控制器和转发设备两侧,下面先从控制器出发,对本发明实施例传递转发参数的方法进行解释说明。
参见图1,示出了本发明实施例控制器传递转发参数方法的流程示意图,应用于控制转发分离的网络,所述控制转发分离的网络包括所述控制器和转发设备,所述控制器控制所述转发设备。具体方法可包括以下步骤:
步骤101,所述控制器获得扩展的转发模型描述,所述扩展的转发模型描述中包括第一格式编码规则,所述第一格式编码规则用于指示第一转发参数的类型以及所述第一转发参数在第一字段中的位置,所述第一字段是开放流OpenFlow协议流表项中的字段;
步骤102,所述控制器将所述第一转发参数按照所述第一格式编码规则填入所述第一字段,并将携带所述第一字段的所述流表项通过OpenFlow协议发送到所述转发设备上,以使得所述转发设备根据所述第一格式编码规则解析所述流表项中的所述第一字段,得到所述第一转发参数。
转发模型描述用于描述特定转发设备的转发能力和行为,例如ONF定义的TTP或NDM,描述了OpenFlow协议规范中定义的OpenFLow交换机转发能力和行为的一个有限子集。所述转发模型描述根据转发设备的转发能力,遵循转发模型描述语言生成,比如可以是人工生成。本发明实施例扩展了所述转发模型描述语言,增加了对一个字段进行格式化编码的语法,可以对一个无语义的字段进行语义化,以及对一个有语义的字段进行转义。所述第一格式编码规则根据所述扩展的格式化编码语法生成。
可选地,所述第一格式编码规则根据转发模型描述语言扩展的语法生成,所述扩展的语法包括字段格式编码(FieldFormatEncoding,简写为FldFmtEncd)关键字、编码的位置(FmtEncd_Location)关键字和编码位置的信息类型(FmtEncd_Type)关键字,其中所述字段格式编码关键字用于指示所述扩展的语法的功能,所述编码位置关键字用于指示一个字段中存放数据的位置,所述编码位置的信息类型关键字用于指示所述数据的类型。所述数据的类型为虚拟路由转发实例标识VRFID、下一跳IP地址、出接口或表项索引等。具体的,通过扩展的语法,可以定义一个变量,用于描述一种参数的类型,所述变量是所述编码位置的信息类型关键字的一个具体取值。举例示意性说明所述扩展的语法如下:
[“FldFmtEncd”“FmtEncd_Location”|“FmtEncd_Type”]
“FmtEncd_Type”=variable;
variable=VRFID;
“FmtEncdLocation”=number;
图2-1示意性表明了按照所述第一格式编码规则,用所述第一字段携带所述第一转发参数的方式。其中,所述第一字段的长度为M比特,第1位至第N位指示了所述第一转发参数放入所述第一字段的位置,1≤N≤M。举例说明,所述第一格式编码规则可以如下(此时,M=128,N=64;所述第一转发参数的类型是虚拟路由转发实例标识VRFID):
[“FldFmtEncd”
{“FmtEncd_Location”:"0xffff0000"|“FmtEncd_Type”:"VRFID"}]
优选的,所述第一字段是OpenFlow协议中的元数据MetaData字段。
可选地,所述扩展的转发模型描述保存在所述控制器上和/或所述转发设备上。
值得说明的是,上述步骤101中,所述控制器获得扩展的转发模型描述的方式,可以是通过所述控制器与所述转发设备之间的控制通道动态从所述转发设备上获取并保存在所述控制器上;也可以是管理员通过人工配置的方式直接保存在所述控制器上;还可以是所述控制器不保存转发模型描述,需要时,通过所述控制器与所述转发设备之间的所述控制通道,实时动态的从所述转发设备上读取。
上述步骤102执行后,所述转发设备收到携带所述第一字段的所述流表项。所述转发设备收到所述流表项后,获得所述流表项中的所述第一字段,并根据所述第一格式编码规则解析所述流表项中的所述第一字段,得到所述第一转发参数。举例来说,所述转发设备获得所述第一格式编码规则的方式,,可以是管理员通过人工配置的方式直接将含有所述第一格式编码规则的所述扩展的转发模型描述保存在所述转发设备上,由所述转发设备获取;也可以是通过所述控制器与所述转发设备之间的控制通道动态从所述控制器上获取所述扩展的转发模型描述并保存在所述转发设备上;还可以是所述转发设备不保存所述扩展的转发模型描述,需要时,通过所述控制器与所述转发设备之间的所述控制通道,实时动态的从所述控制器上获取。
进一步,可选地,如果还有第二转发参数需要传递,则可以通过以下方式实现:
方式一:所述扩展的转发模型描述中还包括第二格式编码规则,所述第二格式编码规则用于指示所述第二转发参数的类型以及所述第二转发参数在所述第一字段中的位置;相应地,所述方法还包括:所述控制器将所述第二转发参数按照所述第二格式编码规则填入所述第一字段,并将携带所述第一字段的所述流表项通过OpenFlow协议发送到所述转发设备上,以使得所述转发设备根据所述第二格式编码规则解析所述流表项中的所述第一字段,得到所述第二转发参数。
如图2-2示意性表明了按照所述第一格式编码规则和第二格式编码规则,用所述第一字段携带所述第一转发参数和第二转发参数的方式。其中,所述第一字段的长度为M比特位,第1位至第N位指示了所述第一转发参数放入所述第一字段的位置,第T位至第M位指示了所述第二转发参数放入所述第一字段的位置,1≤N<T,N<T≤M。举例说明,所述第二格式编码规则可以为(此时,M=128,N=64,T=65;所述第二转发参数的类型是下一跳IP地址NextHopIPAddr):
[“FldFmtEncd”
{“FmtEncd_Location”:"0x0000ffff"|“FmtEncd_Type”:"NextHopIPAddr"}]
值得说明的是,所述方式一中控制器将携带所述第一字段的所述流表项通过OpenFlow协议发送到所述转发设备上,具体的发送方法,例如可以是将所述第一转发参数和所述第二转发参数同时携带到一个流表项中的所述第一字段中,然后将该流表项发送到所述转发设备上;也可以是分别发送,例如下发两次流表项,其中一次下发的流表项的所述第一字段中携带所述第一转发参数,而另一次下发的流表项的所述第一字段中携带所述第二转发参数。
方式二:所述扩展的转发模型描述中还包括第二格式编码规则,所述第二格式编码规则用于指示第二转发参数的类型以及所述第二转发参数在第二字段中的位置,所述第二字段是OpenFlow协议流表项中的字段,所述第二字段和所述第一字段不同;相应地,所述方法还包括:所述控制器将所述第二转发参数按照所述第二格式编码规则填入所述第二字段,并将携带所述第二字段的流表项通过OpenFlow协议发送到所述转发设备上,以使得所述转发设备根据所述第二格式编码规则解析所述流表项中的所述第二字段,得到所述第二转发参数。
如图2-3示意性表明了按照所述第一格式编码规则用所述第一字段携带所述第一转发参数和按照所述第二格式编码规则用所述第二字段携带所述第二转发参数的方式。其中,所述第一字段的长度为M比特,第1位至第N位指示了所述第一转发参数放入所述第一字段的位置,1≤N≤M;所述第二字段的长度为S比特,第1位至第T位指示了所述第二转发参数放入所述第二字段的位置,1≤T≤S。举例说明,所述第二格式编码规则可以为(此时,S=128,T=64,所述第二转发参数的类型是下一跳IP地址NextHopIPAddr):
[“FldFmtEncd”
{“FmtEncd_Location”:"0xffff0000"|“FmtEncd_Type”:"NextHopIPAddr"}]
值得说明的是,本发明实施例中第一字段中的“第一”,第二字段中的“第二”,仅用于表明区分两个字段,不限定顺序;第一格式编码规则中的“第一”,第二格式编码规则中的“第二”,仅用于表明区分两个格式编码规则,不限定顺序;第一转发参数中的“第一”,第二转发参数中的“第二”,仅用于表明区分两个转发参数,不限定顺序。
进一步说明,本发明实施例中的所有举例说明,仅仅是一种示意,且并不局限于举例中所述的格式和样式。
更进一步说明,本发明实施例仅示意的说明了携带和传递两个转发参数的情况,使用本发明所述的方法,还可以根据需要传递三个以及三个以上的转发参数。
本发明实施例一通过扩展转发模型描述语言,实现了将传统转发设备需要的转发参数,遵从OpenFlow协议规范,放入OpenFlow协议规范的字段中携带,从控制器发送到转发设备,以使得在转发设备上把所述OpenFlow协议规范的字段恢复成转发设备需要的转发参数。本发明实施例有助于简单高效地传递转发参数,从而使得OpenFlow能更好地兼容网络中的传统转发设备。
实施例二、
与上文控制器的转发参数传递方法相对应的,本发明实施例还提供了一种转发设备的转发参数传递方法,应用于控制转发分离的网络,所述控制转发分离的网络包括所述控制器和所述转发设备,所述转发设备接收所述控制器的控制。具体方法可参见图3所示流程示意图,可包括以下步骤:
步骤301、所述转发设备获得扩展的转发模型描述,所述扩展的转发模型描述中包括第一格式编码规则,所述第一格式编码规则用于指示第一转发参数的类型以及所述第一转发参数在第一字段中的位置,所述第一字段是开放流OpenFlow协议流表项中的字段。
步骤302、所述转发设备接收所述控制器发来的携带所述第一字段的所述OpenFlow协议流表项,按照所述第一格式编码规则将所述第一字段解析得到所述第一转发参数。
本实施例中的所述扩展的转发模型描述、所述第一格式编码规则,以及生成所述第一格式编码规则的扩展的转发模型描述语言,请参考实施例一中相应的描述,在此不再赘述。
图2-1示意性表明了按照所述第一格式编码规则,用所述第一字段携带所述第一转发参数的方式。具体请参考实施例一中相应的描述,在此不再赘述。
优选的,所述第一字段是OpenFlow协议中的元数据MetaData字段。
可选地,所述扩展的转发模型描述保存在所述控制器上和/或所述转发设备上。
值得说明的是,上述步骤301中,所述转发设备获得扩展的转发模型描述的方式,可以是管理员通过人工配置的方式直接将含有所述第一格式编码规则的所述扩展的转发模型描述保存在所述转发设备上;也可以是通过所述控制器与所述转发设备之间的所述控制通道动态从所述控制器上获取所述扩展的转发模型描述并保存在所述转发设备上;还可以是所述转发设备不保存所述扩展的转发模型描述,需要时,通过所述控制器与所述转发设备之间的所述控制通道,实时动态的从所述控制器上读取。
进一步,可选地,如果还有第二转发参数需要传递,则可以通过以下方式实现:
方式一:所述扩展的转发模型描述中还包括第二格式编码规则,所述第二格式编码规则用于指示第二转发参数的类型以及所述第二转发参数在所述第一字段中的位置;相应地,所述方法还包括:所述转发设备接收所述控制器发来的携带所述第一字段的所述OpenFlow协议流表项,按照所述第二格式编码规则将所述第一字段解析得到所述第二转发参数。
如图2-2示意性表明了按照所述第一格式编码规则和第二格式编码规则,用第一字段携带第一转发参数和第二转发参数的方式。具体请参考实施例一中相应的描述,在此不再赘述。
值得说明的是,所述方式一中所述转发设备接收所述控制器发来的携带所述第一字段的所述OpenFlow协议流表项,具体的接收方法,可以是接收一次流表项,该流表项中的所述第一字段同时携带所述第一转发参数和所述第二转发参数;也可以是接收两次流表项,其中一次接收的流表项携带所述第一转发参数的所述第一字段,而另一次接收的流表项携带所述第二转发参数的所述第一字段。
方式二:所述扩展的转发模型描述中还包括第二格式编码规则,所述第二格式编码规则用于指示第二转发参数的类型以及所述第二转发参数在第二字段中的位置,所述第二字段是OpenFlow协议流表项中的字段,所述第二字段和所述第一字段不同;相应地,所述方法还包括:所述转发设备接收所述控制器发来的携带所述第二字段的所述OpenFlow协议流表项,按照所述第二格式编码规则将所述第二字段解析得到所述第二转发参数。
如图2-3示意性表明了按照所述第一格式编码规则用所述第一字段携带所述第一转发参数和按照所述第二格式编码规则用所述第二字段携带所述第二转发参数的方式。具体请参考实施例一中相应的描述,在此不再赘述。
值得说明的是,本发明实施例中第一字段中的“第一”,第二字段中的“第二”,仅用于表明区分两个字段,不限定顺序;第一格式编码规则中的“第一”,第二格式编码规则中的“第二”,仅用于表明区分两个格式编码规则,不限定顺序;第一转发参数中的“第一”,第二转发参数中的“第二”,仅用于表明区分两个转发参数,不限定顺序。
进一步说明,本发明实施例中的所有举例说明,仅仅是一种示意,且并不局限于举例中所述的格式和样式。
更进一步说明,本发明实施例仅示意的说明了携带和传递两个转发参数的情况,使用本发明所述的方法,还可以根据需要传递三个以及三个以上的转发参数。
本发明实施例二通过扩展转发模型描述语言,实现了在所述转发设备上接收从所述控制器携带传统转发设备需要的转发参数的OpenFlow协议规范的字段,并把所述OpenFlow协议规范的字段恢复成转发设备需要的转发参数。本发明实施例有助于简单高效地传递转发参数,从而使得OpenFlow能更好地兼容网络中的传统转发设备。
实施例三、
请参考图4,本发明的一个实施例提供一种控制器400,所述控制器400控制转发设备,应用在控制转发分离的网络中,包括:
获取单元401,用于获得扩展的转发模型描述,所述扩展的转发模型描述中包括第一格式编码规则,所述第一格式编码规则用于指示第一转发参数的类型以及所述第一转发参数在第一字段中的位置,所述第一字段是开放流OpenFlow协议流表项中的字段。
发送单元402,用于将所述第一转发参数按照所述第一格式编码规则填入所述第一字段,并将携带所述第一字段的所述流表项通过OpenFlow协议发送到所述转发设备上,以使得所述转发设备根据所述第一格式编码规则解析所述流表项中的所述第一字段,得到所述第一转发参数。
进一步,可选地,如果还有第二转发参数需要传递,则一种可选的实现如下:
所述扩展的转发模型描述中还包括第二格式编码规则,所述第二格式编码规则用于指示第二转发参数的类型以及所述第二转发参数在所述第一字段中的位置。
相应地,发送单元402,还用于将所述第二转发参数按照所述第二格式编码规则填入所述第一字段,并将携带所述第一字段的所述流表项通过OpenFlow协议发送到所述转发设备上,以使得所述转发设备根据所述第二格式编码规则解析所述流表项中的所述第一字段,得到所述第二转发参数。
进一步,可选地,如果还有第二转发参数需要传递,则另一种可选的实现如下:
所述扩展的转发模型描述中还包括第二格式编码规则,所述第二格式编码规则用于指示第二转发参数的类型以及所述第二转发参数在第二字段中的位置,所述第二字段是OpenFlow协议流表项中的字段,所述第二字段和所述第一字段不同。
相应地,发送单元402,还用于将所述第二转发参数按照所述第二格式编码规则填入所述第二字段,并将携带所述第二字段的流表项通过OpenFlow协议发送到所述转发设备上,以使得所述转发设备根据所述第二格式编码规则解析所述流表项中的所述第二字段,得到所述第二转发参数。
值得说明的是,本发明实施例三提供的控制设备的各功能单元,是基于实施例一提供的方法的具体实现,术语的定义和解决的问题与实施例一保持一致,此处不再赘述。
本发明实施例三提供的控制器,通过获取单元401获得扩展的转发模型描述,所述扩展的转发模型描述中包括第一格式编码规则,所述第一格式编码规则用于指示第一转发参数的类型以及所述第一转发参数在第一字段中的位置,所述第一字段是开放流OpenFlow协议流表项中的字段;通过发送单元402将所述第一转发参数按照所述第一格式编码规则填入所述第一字段,并将携带所述第一字段的所述流表项通过OpenFlow协议发送到所述转发设备上,以使得所述转发设备根据所述第一格式编码规则解析所述流表项中的所述第一字段,得到所述第一转发参数。本发明实施例有助于简单高效地传递转发参数,从而使得OpenFlow能更好地兼容网络中的传统转发设备。
实施例四、
请参考图5,本发明的一个实施例提供一种转发设备500,所述转发设备500被控制器所控制,应用在控制转发分离的网络中,包括:
获取单元502,用于获得扩展的转发模型描述,所述扩展的转发模型描述中包括第一格式编码规则,所述第一格式编码规则用于指示第一转发参数的类型以及所述第一转发参数在第一字段中的位置,所述第一字段是开放流OpenFlow协议流表项中的字段。
接收单元501,用于接收所述控制器发来的携带所述第一字段的所述OpenFlow协议流表项,按照所述第一格式编码规则将所述第一字段解析得到所述第一转发参数。
进一步,可选地,如果还有第二转发参数需要传递,则一种可选的实现如下:
所述扩展的转发模型描述中还包括第二格式编码规则,所述第二格式编码规则用于指示第二转发参数的类型以及所述第二转发参数在所述第一字段中的位置。
相应地,接收单元501还用于接收所述控制器发来的携带所述第一字段的所述OpenFlow协议流表项,按照所述第二格式编码规则将所述第一字段解析得到所述第二转发参数。
进一步,可选地,如果还有第二转发参数需要传递,则另一种可选的实现如下:
所述扩展的转发模型描述中还包括第二格式编码规则,所述第二格式编码规则用于指示第二转发参数的类型以及所述第二转发参数在第二字段中的位置,所述第二字段是OpenFlow协议流表项中的字段,所述第二字段和所述第一字段不同。
接收单元501还用于接收所述控制器发来的携带所述第二字段的所述OpenFlow协议流表项,按照所述第二格式编码规则将所述第二字段解析得到所述第二转发参数。
值得说明的是,本发明实施例四提供的转发设备的各功能单元,是基于实施例二提供的方法的具体实现,术语的定义和解决的问题与实施例二保持一致,此处不再赘述。
本发明实施例四提供的转发设备,通过获取单元502获得扩展的转发模型描述,所述扩展的转发模型描述中包括第一格式编码规则,所述第一格式编码规则用于指示第一转发参数的类型以及所述第一转发参数在第一字段中的位置,所述第一字段是开放流OpenFlow协议流表项中的字段;通过接收单元501接收所述控制器发来的携带所述第一字段的所述OpenFlow协议流表项,按照所述第一格式编码规则将所述第一字段解析得到所述第一转发参数。本发明实施例有助于简单高效地传递转发参数,从而使得OpenFlow能更好地兼容网络中的传统转发设备。
实施例五、
请参考图6,本发明的一个实施例提供一种用于转发参数传递的系统,应用于控制转发分离的网络,包括:控制器601和转发设备602;
所述控制器601,包括:
实施例三中所述的控制器;
所述转发设备602,包括:
实施例四中所述的转发设备。
值得说明的是,本发明实施例五提供的控制器和转发设备的各功能单元,是基于实施例一至二提供的方法的具体实现和实施例三至四装置的组合,术语的定义和解决的问题与实施例一至四保持一致,此处不再赘述。
本发明实施例五提供的系统,通过实施例三描述的所述控制器和实施例四描述的所述转发设备的组合,实现了将传统转发设备需要的转发参数,遵从OpenFlow协议规范,放入OpenFlow协议规范的字段中携带,从控制器发送到转发设备,在转发设备上把所述OpenFlow协议规范的字段恢复成转发设备需要的转发参数。本发明实施例有助于简单高效地传递转发参数,从而使得OpenFlow能更好地兼容网络中的传统转发设备。
实施例六、
请参考图7,本发明的一个实施例提供一种控制设备700,该设备可以嵌入或本身就是微处理计算机,比如:通用计算机、客户定制机、手机终端或平板机等便携设备,包括:至少一个处理器704、存储器706、通信接口702和总线708。处理器704、存储器706和通信接口702通过总线708连接并完成相互间的通信。
所述总线708可以是工业标准体系结构(IndustryStandardArchitecture,简称为ISA)总线、外部设备互连(PeripheralComponent,简称为PCI)总线或扩展工业标准体系结构(ExtendedIndustryStandardArchitecture,简称为EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线,
存储器706用于存储可执行程序代码,该程序代码包括计算机操作指令。存储器706可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。
处理器704可能是一个中央处理器(CentralProcessingUnit,简称为CPU),或者是特定集成电路(ApplicationSpecificIntegratedCircuit,简称为ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路。
通信接口702,用于执行实施例三中所述控制器将携带所述第一字段的所述流表项通过OpenFlow协议发送到所述转发设备和/或获得扩展的转发模型描述的操作。
可选地,所述通信接口702,还用于执行实施例三中所述控制器将携带所述第二字段的所述流表项通过OpenFlow协议发送到所述转发设备的操作。
存储器706,用于存储指令。
处理器704,用于读取存储器706中存储的指令,从而执行实施例三中控制器将所述第一转发参数按照所述第一格式编码规则填入所述第一字段执行的操作。
可选地,所述处理器704,还执行将所述第二转发参数按照所述第二格式编码规则填入所述第一字段。
可选地,所述处理器704,还执行将所述第二转发参数按照所述第二格式编码规则填入所述第二字段。
实施例七、
请参考图8,本发明的一个实施例提供一种转发设备800,该设备可以嵌入或本身就是微处理计算机,比如:通用计算机、客户定制机、手机终端或平板机等便携设备,包括:至少一个处理器804、存储器806、通信接口802和总线808。处理器804、存储器806和通信接口802通过总线808连接并完成相互间的通信。
所述总线808可以是工业标准体系结构(IndustryStandardArchitecture,简称为ISA)总线、外部设备互连(PeripheralComponent,简称为PCI)总线或扩展工业标准体系结构(ExtendedIndustryStandardArchitecture,简称为EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线,
存储器806用于存储可执行程序代码,该程序代码包括计算机操作指令。存储器806可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。
处理器804可能是一个中央处理器(CentralProcessingUnit,简称为CPU),或者是特定集成电路(ApplicationSpecificIntegratedCircuit,简称为ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路。
处理器804可能是一个中央处理器(CentralProcessingUnit,简称为CPU),或者是特定集成电路(ApplicationSpecificIntegratedCircuit,简称为ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路。
通信接口802,用于执行实施例四中接收所述控制器发来的携带所述第一字段的所述OpenFlow协议流表项和/或获得扩展的转发模型描述的操作。
可选地,通信接口802,还用于执行实施例四中接收所述控制器发来的携带所述第二字段的所述OpenFlow协议流表项的操作。
存储器806,用于存储图5中保存单元520中保存的转发表项;
可选的,所述存储器806还用于存储指令。
处理器804,用于读取存储器806中存储的转发表项和指令,从而执行实施例四中按照所述第一格式编码规则将所述第一字段解析得到所述第一转发参数的操作。
可选地,所述处理器804,还执行实施例四中按照所述第二格式编码规则将所述第一字段解析得到所述第二转发参数的操作。
可选地,所述处理器804,还执行实施例四中按照所述第二格式编码规则将所述第二字段解析得到所述第二转发参数的操作。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质可以是下述介质中的至少一种:只读存储器(Read-OnlyMemory,ROM)、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以示例性说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明及本发明带来的有益效果进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明权利要求的范围。
Claims (21)
1.一种转发参数的传递方法,应用于控制转发分离的网络,所述控制转发分离的网络包括控制器和转发设备,所述控制器控制所述转发设备,其特征在于,包括:
所述控制器获得扩展的转发模型描述,所述扩展的转发模型描述中包括第一格式编码规则,所述第一格式编码规则用于指示第一转发参数的类型以及所述第一转发参数在第一字段中的位置,所述第一字段是开放流OpenFlow协议流表项中的字段;
所述控制器将所述第一转发参数按照所述第一格式编码规则填入所述第一字段,并将携带所述第一字段的所述流表项通过OpenFlow协议发送到所述转发设备上,以使得所述转发设备根据所述第一格式编码规则解析所述流表项中的所述第一字段,得到所述第一转发参数。
2.根据权利要求1所述的方法,其特征在于,所述扩展的转发模型描述中还包括第二格式编码规则,所述第二格式编码规则用于指示第二转发参数的类型以及所述第二转发参数在所述第一字段中的位置;
相应地,所述方法还包括:所述控制器将所述第二转发参数按照所述第二格式编码规则填入所述第一字段,并将携带所述第一字段的所述流表项通过OpenFlow协议发送到所述转发设备上,以使得所述转发设备根据所述第二格式编码规则解析所述流表项中的所述第一字段,得到所述第二转发参数。
3.根据权利要求1所述的方法,其特征在于,所述扩展的转发模型描述中还包括第二格式编码规则,所述第二格式编码规则用于指示第二转发参数的类型以及所述第二转发参数在第二字段中的位置,所述第二字段是OpenFlow协议流表项中的字段,所述第二字段和所述第一字段不同;
相应地,所述方法还包括:所述控制器将所述第二转发参数按照所述第二格式编码规则填入所述第二字段,并将携带所述第二字段的流表项通过OpenFlow协议发送到所述转发设备上,以使得所述转发设备根据所述第二格式编码规则解析所述流表项中的所述第二字段,得到所述第二转发参数。
4.根据权利要求1-3任一所述的方法,其特征在于,所述第一字段是OpenFlow协议中的元数据MetaData字段。
5.根据权利要求1-4任一所述的方法,其特征在于,
所述第一格式编码规则根据转发模型描述语言扩展的语法生成,所述扩展的语法包括字段格式编码关键字、编码的位置关键字和编码位置的信息类型关键字,其中所述字段格式编码关键字用于指示所述扩展的语法的功能,所述编码位置关键字用于指示一个字段中存放数据的位置,所述编码位置的信息类型关键字用于指示所述数据的类型。
6.根据权利要求5所述的方法,其特征在于,所述数据的类型为虚拟路由转发实例标识VRFID、下一跳IP地址、出接口或表项索引。
7.根据权利要求1-6任一所述的方法,其特征在于,所述扩展的转发模型描述保存在所述控制器上和/或所述转发设备上。
8.一种转发参数的传递方法,应用于控制转发分离的网络,所述控制转发分离的网络包括控制器和转发设备,所述转发设备接收所述控制器的控制,其特征在于,包括:
所述转发设备获得扩展的转发模型描述,所述扩展的转发模型描述中包括第一格式编码规则,所述第一格式编码规则用于指示第一转发参数的类型以及所述第一转发参数在第一字段中的位置,所述第一字段是开放流OpenFlow协议流表项中的字段;
所述转发设备接收所述控制器发来的携带所述第一字段的所述OpenFlow协议流表项,按照所述第一格式编码规则将所述第一字段解析得到所述第一转发参数。
9.根据权利要求8所述的方法,其特征在于,所述扩展的转发模型描述中还包括第二格式编码规则,所述第二格式编码规则用于指示第二转发参数的类型以及所述第二转发参数在所述第一字段中的位置;
相应地,所述方法还包括:所述转发设备接收所述控制器发来的携带所述第一字段的所述OpenFlow协议流表项,按照所述第二格式编码规则将所述第一字段解析得到所述第二转发参数。
10.根据权利要求8所述的方法,其特征在于,所述扩展的转发模型描述中还包括第二格式编码规则,所述第二格式编码规则用于指示第二转发参数的类型以及所述第二转发参数在第二字段中的位置,所述第二字段是OpenFlow协议流表项中的字段,所述第二字段和所述第一字段不同;
相应地,所述方法还包括:所述转发设备接收所述控制器发来的携带所述第二字段的所述OpenFlow协议流表项,按照所述第二格式编码规则将所述第二字段解析得到所述第二转发参数。
11.根据权利要求8-10任一所述的方法,其特征在于,所述第一字段是OpenFlow协议中的元数据MetaData字段。
12.根据权利要求8-11任一所述的方法,其特征在于,
所述第一格式编码规则根据转发模型描述语言扩展的语法生成,所述扩展的语法包括字段格式编码关键字、编码的位置关键字和编码位置的信息类型关键字,其中所述字段格式编码关键字用于指示所述扩展的语法的功能,所述编码位置关键字用于指示一个字段中存放数据的位置,所述编码位置的信息类型关键字用于指示所述数据的类型。
13.根据权利要求12所述的方法,其特征在于,所述数据的类型为虚拟路由转发实例标识VRFID、下一跳IP地址、出接口或表项索引。
14.根据权利要求8-13任一所述的方法,其特征在于,所述扩展的转发模型描述保存在所述控制器上和/或所述转发设备上。
15.一种控制器,应用于控制转发分离的网络,所述控制转发分离的网络包括所述控制器和转发设备,所述控制器控制所述转发设备,其特征在于,包括:
获取单元,用于获得扩展的转发模型描述,所述扩展的转发模型描述中包括第一格式编码规则,所述第一格式编码规则用于指示第一转发参数的类型以及所述第一转发参数在第一字段中的位置,所述第一字段是开放流OpenFlow协议流表项中的字段;
发送单元,用于将所述第一转发参数按照所述第一格式编码规则填入所述第一字段,并将携带所述第一字段的所述流表项通过OpenFlow协议发送到所述转发设备上,以使得所述转发设备根据所述第一格式编码规则解析所述流表项中的所述第一字段,得到所述第一转发参数。
16.根据权利要求15所述的控制器,其特征在于,
所述扩展的转发模型描述中还包括第二格式编码规则,所述第二格式编码规则用于指示第二转发参数的类型以及所述第二转发参数在所述第一字段中的位置;
所述发送单元还用于将所述第二转发参数按照所述第二格式编码规则填入所述第一字段,并将携带所述第一字段的所述流表项通过OpenFlow协议发送到所述转发设备上,以使得所述转发设备根据所述第二格式编码规则解析所述流表项中的所述第一字段,得到所述第二转发参数。
17.根据权利要求15所述的控制器,其特征在于,
所述扩展的转发模型描述中还包括第二格式编码规则,所述第二格式编码规则用于指示第二转发参数的类型以及所述第二转发参数在第二字段中的位置,所述第二字段是OpenFlow协议流表项中的字段,所述第二字段和所述第一字段不同;
所述发送单元还用于将所述第二转发参数按照所述第二格式编码规则填入所述第二字段,并将携带所述第二字段的流表项通过OpenFlow协议发送到所述转发设备上,以使得所述转发设备根据所述第二格式编码规则解析所述流表项中的所述第二字段,得到所述第二转发参数。
18.一种转发设备,应用于控制转发分离的网络,所述控制转发分离的网络包括控制器和所述转发设备,所述转发设备接收所述控制器的控制,其特征在于,包括:
获取单元,用于获得扩展的转发模型描述,所述扩展的转发模型描述中包括第一格式编码规则,所述第一格式编码规则用于指示第一转发参数的类型以及所述第一转发参数在第一字段中的位置,所述第一字段是开放流OpenFlow协议流表项中的字段;
接收单元,用于接收所述控制器发来的携带所述第一字段的所述OpenFlow协议流表项,按照所述第一格式编码规则将所述第一字段解析得到所述第一转发参数。
19.根据权利要求18所述的转发设备,其特征在于,包括:
所述扩展的转发模型描述中还包括第二格式编码规则,所述第二格式编码规则用于指示第二转发参数的类型以及所述第二转发参数在第一字段中的位置,所述第一字段是开放流OpenFlow协议流表项中的字段;
所述接收单元还用于所述转发设备接收所述控制器发来的携带所述第一字段的所述OpenFlow协议流表项,按照所述第二格式编码规则将所述第一字段解析得到所述第二转发参数。
20.根据权利要求18所述的转发设备,其特征在于,包括:
所述扩展的转发模型描述中还包括第二格式编码规则,所述第二格式编码规则用于指示第二转发参数的类型以及所述第二转发参数在第二字段中的位置,所述第二字段是OpenFlow协议流表项中的字段,所述第二字段和所述第一字段不同;
所述发送单元还用于所述控制器将所述第二转发参数按照所述第二格式编码规则填入所述第二字段,并将携带所述第二字段的流表项通过OpenFlow协议发送到所述转发设备上,以使得所述转发设备根据所述第二格式编码规则解析所述流表项中的所述第二字段,得到所述第二转发参数。
21.一种实现转发参数传递的系统,应用于控制转发分离的网络,其特征在于,包括:权利要求15-17任一所述的控制器和权利要求18-20任一所述的转发设备。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410453369.8A CN105471726B (zh) | 2014-09-05 | 2014-09-05 | 转发参数传递的方法及设备 |
EP15837710.1A EP3190751B1 (en) | 2014-09-05 | 2015-08-27 | Methods for transmitting a forwarding parameter, controller, forwarding device and system |
PCT/CN2015/088275 WO2016034075A1 (zh) | 2014-09-05 | 2015-08-27 | 转发参数传递的方法及设备 |
US15/449,862 US10320660B2 (en) | 2014-09-05 | 2017-03-03 | Method and device for transmitting forwarding parameter |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410453369.8A CN105471726B (zh) | 2014-09-05 | 2014-09-05 | 转发参数传递的方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105471726A true CN105471726A (zh) | 2016-04-06 |
CN105471726B CN105471726B (zh) | 2019-08-27 |
Family
ID=55439126
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410453369.8A Active CN105471726B (zh) | 2014-09-05 | 2014-09-05 | 转发参数传递的方法及设备 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10320660B2 (zh) |
EP (1) | EP3190751B1 (zh) |
CN (1) | CN105471726B (zh) |
WO (1) | WO2016034075A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019100819A1 (zh) * | 2017-11-24 | 2019-05-31 | 中兴通讯股份有限公司 | 一种实现远程过程调用的方法及装置 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3817300A1 (en) * | 2019-10-28 | 2021-05-05 | Huawei Technologies Co., Ltd. | Forwarding parameter obtaining method, apparatus, and system |
CN117278053B (zh) * | 2023-11-17 | 2024-02-09 | 南京智盟电力有限公司 | 一种gltf-json格式数据压缩方法、系统及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050078704A1 (en) * | 2003-10-14 | 2005-04-14 | International Business Machines Corporation | Method and apparatus for translating data packets from one network protocol to another |
US20130163475A1 (en) * | 2011-12-22 | 2013-06-27 | Ludovic Beliveau | Controller for flexible and extensible flow processing in software-defined networks |
CN103718520A (zh) * | 2012-08-02 | 2014-04-09 | 华为技术有限公司 | 处理数据报文的方法、装置及系统 |
CN103873464A (zh) * | 2014-02-27 | 2014-06-18 | 华为技术有限公司 | 报文处理的方法及转发设备 |
US20140241346A1 (en) * | 2013-02-25 | 2014-08-28 | Google Inc. | Translating network forwarding plane models into target implementation using network primitives |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8897134B2 (en) * | 2010-06-25 | 2014-11-25 | Telefonaktiebolaget L M Ericsson (Publ) | Notifying a controller of a change to a packet forwarding configuration of a network element over a communication channel |
US9167501B2 (en) * | 2011-08-29 | 2015-10-20 | Telefonaktiebolaget L M Ericsson (Publ) | Implementing a 3G packet core in a cloud computer with openflow data and control planes |
US9178833B2 (en) * | 2011-10-25 | 2015-11-03 | Nicira, Inc. | Chassis controller |
WO2013074827A1 (en) * | 2011-11-15 | 2013-05-23 | Nicira, Inc. | Architecture of networks with middleboxes |
US10097452B2 (en) * | 2012-04-16 | 2018-10-09 | Telefonaktiebolaget Lm Ericsson (Publ) | Chaining of inline services using software defined networking |
US8982727B2 (en) * | 2012-10-22 | 2015-03-17 | Futurewei Technologies, Inc. | System and apparatus of generalized network controller for a software defined network (SDN) |
US20140146664A1 (en) * | 2012-11-26 | 2014-05-29 | Level 3 Communications, Llc | Apparatus, system and method for packet switching |
US9258218B2 (en) * | 2012-11-30 | 2016-02-09 | Alcatel Lucent | Software-defined network overlay |
US9253035B2 (en) * | 2013-02-21 | 2016-02-02 | International Business Machines Corporation | Reducing switch state size in flow-based networks |
US8964752B2 (en) * | 2013-02-25 | 2015-02-24 | Telefonaktiebolaget L M Ericsson (Publ) | Method and system for flow table lookup parallelization in a software defined networking (SDN) system |
CN103347013B (zh) * | 2013-06-21 | 2016-02-10 | 北京邮电大学 | 一种增强可编程能力的OpenFlow网络系统和方法 |
CN103581021B (zh) * | 2013-10-23 | 2016-10-26 | 华为技术有限公司 | 软件定义网络下业务检测的方法及设备 |
-
2014
- 2014-09-05 CN CN201410453369.8A patent/CN105471726B/zh active Active
-
2015
- 2015-08-27 WO PCT/CN2015/088275 patent/WO2016034075A1/zh active Application Filing
- 2015-08-27 EP EP15837710.1A patent/EP3190751B1/en active Active
-
2017
- 2017-03-03 US US15/449,862 patent/US10320660B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050078704A1 (en) * | 2003-10-14 | 2005-04-14 | International Business Machines Corporation | Method and apparatus for translating data packets from one network protocol to another |
US20130163475A1 (en) * | 2011-12-22 | 2013-06-27 | Ludovic Beliveau | Controller for flexible and extensible flow processing in software-defined networks |
CN103718520A (zh) * | 2012-08-02 | 2014-04-09 | 华为技术有限公司 | 处理数据报文的方法、装置及系统 |
US20140241346A1 (en) * | 2013-02-25 | 2014-08-28 | Google Inc. | Translating network forwarding plane models into target implementation using network primitives |
CN103873464A (zh) * | 2014-02-27 | 2014-06-18 | 华为技术有限公司 | 报文处理的方法及转发设备 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019100819A1 (zh) * | 2017-11-24 | 2019-05-31 | 中兴通讯股份有限公司 | 一种实现远程过程调用的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
US10320660B2 (en) | 2019-06-11 |
EP3190751A4 (en) | 2017-08-23 |
EP3190751A1 (en) | 2017-07-12 |
CN105471726B (zh) | 2019-08-27 |
US20170187612A1 (en) | 2017-06-29 |
EP3190751B1 (en) | 2020-02-19 |
WO2016034075A1 (zh) | 2016-03-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109962847B (zh) | 业务功能链报文的封装方法和装置及计算机可读存储介质 | |
CN106970820A (zh) | 代码存储方法及代码存储装置 | |
CN106354568A (zh) | 一种不同进程间的通信方法及通信装置 | |
CN105684382A (zh) | 报文的控制方法、交换机及控制器 | |
CN105723674A (zh) | 用于在网络控制协议中动态地绑定头字段标识符的方法 | |
CN105471726A (zh) | 转发参数传递的方法及设备 | |
CN104460592A (zh) | 一种基于中控系统的控制方法及装置 | |
CN109032704B (zh) | 一种数据处理的方法和设备 | |
CN105339934A (zh) | 一种报文处理方法及装置 | |
CN105760134B (zh) | 一种数据处理方法及电子设备 | |
CN108712320A (zh) | 消息推送方法及装置 | |
CN106850559B (zh) | 一种可扩展的网络协议解析系统及方法 | |
CN106059964B (zh) | 报文转发方法及装置 | |
JP6295965B2 (ja) | ネットワーク検証装置、ネットワーク検証方法及びプログラム | |
CN104205745A (zh) | 报文处理的方法与设备 | |
CN106327143A (zh) | 用于流程中的节点的方法和装置 | |
CN106708761A (zh) | 一种业务报文的处理方法及装置 | |
US20170052925A1 (en) | Packet Data Processing Method, Apparatus, and System | |
CN108306757B (zh) | 可编程数据平面虚拟层构建方法及存储介质 | |
CN110752878B (zh) | 一种数据处理方法及装置 | |
CN106789440B (zh) | 一种ip包包头检测方法及装置 | |
CN109413118A (zh) | 一种实现会话同步的方法、装置及存储介质、程序产品 | |
KR20120038196A (ko) | 라우팅 장치 및 네트워크 장치 | |
CN105677614B (zh) | 一种多主机控制器、多主机控制方法及系统 | |
CN103929446B (zh) | 一种多媒体文件的操作方法、系统及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |