一种OpenFlow交换机能力上报的方法及装置与流程

文档序号:12623760阅读:375来源:国知局
一种OpenFlow交换机能力上报的方法及装置与流程

本发明涉及SDN(Software Defined Network,软件定义网络)技术,尤其涉及一种OpenFlow交换机能力上报的方法及装置。



背景技术:

OpenFlow网络采用控制平面与转发平面相分离的架构,图1是OpenFlow网络组件架构示意图。如图1所示,OpenFlow网络的控制平面由OpenFlow控制器来实现,OpenFlow网络的转发平面由OpenFlow交换机来实现,OpenFlow控制器与OpenFlow交换机之间运行OpenFlow协议;OpenFlow控制器利用OpenFlow协议、通过OpenFlow通道向OpenFlow交换机下发Flow Table(流表)和Group Table(组表),从而达到控制数据转发的目的,实现了数据转发和路由控制的分离。

根据OpenFlow协议规范的规定,由于不同的OpenFlow交换机可能具备不同的能力,所以在OpenFlow控制器与OpenFlow交换机建立起控制连接后,OpenFlow控制器会通过向OpenFlow交换机发送多种类型的能力信息查询消息来获取OpenFlow交换机所具备的多种类型的能力,这些能力信息查询消息包括Switch Features(交换机能力)查询消息、Table Features(流表能力)查询消息和Group Features(组表能力)查询消息等等。OpenFlow交换机在接收到OpenFlow控制器发送的各种类型的能力信息查询消息后,会回复各种相应类型的能力信息上报消息,这些能力信息上报消息包括Switch Features(交换机能力)上报消息、Table Features(流表能力)上报消息和Group Features(组表能力)上报消息等等,上报的OpenFlow交换机的各种能力包括流表的最大数量、每个流表的最大容量、支持的组表类型、每种类型组表的最大容量、各级流表能支持的Match Field(匹配字段)类型、各级流表能支持的Action(动作)类型等等。此外,为了获取OpenFlow交换机 的端口信息,OpenFlow控制器还会向OpenFlow交换机发送Port Description(端口信息)查询消息,以获取OpenFlow交换机每个端口的端口号、端口速率、端口状态等端口信息。

Overlay Network(层叠网)是一种应用十分广泛的网络类型,图2是层叠网的网络结构示意图,如图2所示,层叠网中包含边缘节点和中间节点两种不同类型的网络节点,Customer Device(用户设备)连接边缘节点以接入层叠网,边缘节点会针对所有进入层叠网的数据包添加外层封装,外层封装中包含用于中间节点转发的外层源地址和外层目的地址,其中外层源地址指向添加外层封装的本地边缘节点,外层目的地址指向远端边缘节点,远端边缘节点接收到添加了外层封装的数据包后,首先会去除数据包的外层封装,然后把去除了外层封装的数据包发往所连接的用户设备。

目前,在Data Center(数据中心)网络中大量采用层叠网技术,大量作为用户设备的数据中心服务器通过层叠网技术实现互联。相关技术中有很多已经标准化的和尚未标准化的层叠网封装协议,包括IETF(Internet Engineering Task Force,国际标准组织互联网工程任务组)发布的RFC 7348中规定的VxLAN封装、RFC 6325中规定的Trill封装、IETF草案draft-ietf-nvo3-gue中规定的GUE封装、IETF草案draft-ietf-nvo3-geneve中规定的GENEVE封装、IEEE(Institute of Electrical and Electronics Engineers,国际标准组织电气和电子工程师协会)发布的802.1ah中规定的PBB封装等等。数据中心的服务器资源可以出租给多个不同的Tenant(租户)使用,而不同的租户可能会要求采用不同的层叠网封装协议来实现属于本租户的服务器的互联,比如租户A要求采用VxLAN封装、租户B要求采用Trill封装、租户C要求采用GUE封装、租户D要求采用PBB封装等等,为了满足上述需求,作为层叠网边缘节点的包含多块线卡的OpenFlow交换机的不同线卡需要能够支持不同的层叠网封装协议,比如线卡a支持VxLAN封装、线卡b支持Trill封装、线卡c支持GUE封装、线卡d支持PBB封装等等。根据相关技术,层叠网中支持OpenFlow的边缘节点无法实现把节点中不同线卡的不同能力分别上报OpenFlow控制器。

针对OpenFlow协议无法实现OpenFlow交换机中不同线卡的不同能力分 别上报OpenFlow控制器的问题,目前尚未提出有效的解决方案。



技术实现要素:

为解决上述技术问题,本发明提供了一种OpenFlow交换机能力上报的方案,以至少解决相关技术中OpenFlow协议无法实现OpenFlow交换机中不同线卡的不同能力分别上报OpenFlow控制器的问题。

为了解决上述问题,采用如下技术方案。

一种OpenFlow交换机能力上报的方法,包括:

收到OpenFlow控制器发送的端口信息查询消息后,OpenFlow交换机向OpenFlow控制器回复端口信息上报消息,所述端口信息上报消息中包含各端口所属的端口组的端口组标识;所述端口组是基于各种能力类型对所述OpenFlow交换机中具备不同能力的端口进行分组得到的,每个所述端口组具有端口组标识;

收到OpenFlow控制器发送的第一能力类型的能力信息查询消息后,所述OpenFlow交换机向OpenFlow控制器回复所述第一能力类型的能力信息上报消息,所述能力信息上报消息中包含基于所述第一能力类型分组所得到的各端口组的端口组标识。

可选地,所述端口信息上报消息中包含各端口所属的端口组的端口组标识是指:

所述端口信息上报消息中携带所述OpenFlow交换机中各端口的端口信息;各端口的端口信息中分别包括:本端口信息包含的端口组标识的个数,以及各端口组标识的取值。

可选地,所述能力类型至少包括以下之一:

流表能力、组表能力。

可选地,分组时所基于的各种能力类型为所述OpenFlow交换机中存在端口间能力差异的各种能力类型。

可选地,每种能力类型对应的端口组标识的取值范围不重叠。

可选地,所述OpenFlow交换机向OpenFlow控制器回复所述第一能力类型的能力信息上报消息包括:

所述OpenFlow交换机向OpenFlow控制器回复N个所述第一能力类型的能力信息上报消息,N为基于第一能力类型分组所得到的端口组的个数;每个所述能力信息上报消息中分别包含一个端口组标识,每个所述能力信息上报消息中所包含的端口组标识互不相同且均属于基于第一能力类型分组所得到各端口组的端口组标识。

可选地,所述OpenFlow交换机向OpenFlow控制器回复所述第一能力类型的能力信息上报消息包括:

所述OpenFlow交换机向OpenFlow控制器回复一个所述第一能力类型的能力信息上报消息,所述能力信息上报消息中携带的能力信息包含:基于第一能力类型分组所得到各端口组的端口组标识。

一种OpenFlow交换机能力上报的装置,设置于OpenFlow交换机中,包括:

第一上报模块,用于收到OpenFlow控制器发送的端口信息查询消息后,向OpenFlow控制器回复端口信息上报消息,所述端口信息上报消息中包含各端口所属的端口组的端口组标识;所述端口组是基于各种能力类型对所述OpenFlow交换机中具备不同能力的端口进行分组得到的,每个所述端口组具有端口组标识;

第二上报模块,用于收到OpenFlow控制器发送的第一能力类型的能力信息查询消息后,向OpenFlow控制器回复所述第一能力类型的能力信息上报消息,所述能力信息上报消息中包含基于所述第一能力类型分组所得到的各端口组的端口组标识。

可选地,所述端口信息上报消息中包含各端口所属的端口组的端口组标识是指:

所述端口信息上报消息中携带所述OpenFlow交换机中各端口的端口信息;各端口的端口信息中分别包括:本端口信息包含的端口组标识的个数, 以及各端口组标识的取值。

可选地,所述能力类型至少包括以下之一:

流表能力、组表能力。

可选地,分组时所基于的各种能力类型为所述OpenFlow交换机中存在端口间能力差异的各种能力类型。

可选地,每种能力类型对应的端口组标识的取值范围不重叠。

可选地,所述第二上报模块向OpenFlow控制器回复所述第一能力类型的能力信息上报消息是指:

所述第一上报模块向OpenFlow控制器回复N个所述第一能力类型的能力信息上报消息,N为基于第一能力类型分组所得到的端口组的个数;每个所述能力信息上报消息中分别包含一个端口组标识,每个所述能力信息上报消息中所包含的端口组标识互不相同且均属于基于第一能力类型分组所得到各端口组的端口组标识。

可选地,所述第二上报模块向OpenFlow控制器回复所述第一能力类型的能力信息上报消息包括:

所述第二上报模块向OpenFlow控制器回复一个所述第一能力类型的能力信息上报消息,所述能力信息上报消息中携带的能力信息包含:基于第一能力类型分组所得到各端口组的端口组标识。

本发明提供了一种OpenFlow交换机能力上报的方案,首先由OpenFlow交换机基于各种能力类型对具备不同能力的端口进行分组,并给每个端口组分配端口组标识,然后通过在OpenFlow交换机上报OpenFlow控制器的端口信息和不同类型的能力信息中分别加入端口组标识,使得OpenFlow交换机能够把每组端口针对不同能力类型的能力分别上报OpenFlow控制器,从而大大增加了OpenFlow交换机能力上报的灵活性,能够支持以端口组为粒度的OpenFlow交换机能力上报。

本发明的其它特征和优点将在随后的说明书中阐述,并且部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。

附图说明

附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。

图1为根据相关技术的OpenFlow网络组件架构示意图;

图2为根据相关技术的层叠网的网络结构示意图;

图3为本发明实施例一的OpenFlow交换机能力上报的方法的流程图;

图4为本发明实施示例一的存在不同线卡支持不同层叠网封装协议的应用场景示意图;

图5为本发明实施示例二的存在不同线卡支持不同组表类型的应用场景示意图;

图6为本发明实施示例三的同时存在不同线卡支持不同层叠网封装协议和不同线卡支持不同组表类型的应用场景示意图;

图7为本发明实施例二的OpenFlow交换机能力上报的装置的示意图。

具体实施方式

下面将结合附图及实施例对本发明的技术方案进行更详细的说明。

需要说明的是,如果不冲突,本发明实施例以及实施例中的各个特征可以相互结合,均在本发明的保护范围之内。另外,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

实施例一、一种OpenFlow交换机能力上报的方法,如图3所示,具体地可以包括以下步骤:

步骤A,基于各种能力类型对OpenFlow交换机中具备不同能力的端口进行分组,并给每个端口组分配端口组标识。

步骤A可以作为一个可选步骤(图3中步骤A为虚线框,表示该步骤 可选),可以在OpenFlow交换机上电后执行这一步骤,也可以事先将分组情况及分配的端口组标识作为配置信息,预先保存在OpenFlow交换机中。

其中,所述能力类型至少包括以下之一:

流表能力、组表能力。

可选地,步骤A可以但不限于由OpenFlow交换机完成;在本实施例的其它实施方案中,也可以通过人工的预先配置实现步骤A,或可以通过OpenFlow交换机以外的设备实现步骤A。

可选地,如果端口的能力发生变化,还可以触发重新进行步骤A,即重新分组和分配端口组标识。或者,可以周期性执行步骤A,以保证在端口的能力发生变化时可以及时更新分组情况。

由于OpenFlow协议规定了多种能力类型,而每基于一种能力类型对具备不同能力的端口进行分组时,就会给每个端口打上一个端口组标识,所以每个端口可能会被打上一个或多个端口组标识。

可选地,如果针对某种能力类型所有端口具备相同的能力,则可以不基于该种能力类型对端口进行分组,也就无需给端口打上针对该种能力类型的端口组标识,即:步骤A中所述的各种能力类型只限于所述OpenFlow交换机中存在端口间能力差异的各种能力类型。比如OpenFlow交换机中所有线卡所支持的流表能力完全相同,则可以不针对流表能力类型进行分组和分配端口组标识。

在本实施例的其它实施方案中,也可以对各种能力类型全都进行步骤A,而不管所述OpenFlow交换机中针对该能力类型是否所有端口具备相同的能力。

当端口被打上多个端口组标识时,由于端口被打上的每个端口组标识对应的是不同的能力类型,所以为了对不同的能力类型加以区分,每种能力类型对应的端口组标识的取值范围不能重叠。

步骤B,收到OpenFlow控制器发送的端口信息查询消息后,OpenFlow交换机向OpenFlow控制器回复端口信息上报消息,所述端口信息上报消息中包含各端口所属的端口组的端口组标识。

OpenFlow交换机上报OpenFlow控制器的每个端口的端口信息中包含一个或多个端口组标识,其中,当步骤A中所述的各种能力类型只限于所述OpenFlow交换机中存在端口间能力差异的各种能力类型时,每个端口组标识对应于一种存在端口间能力差异的能力类型中的一种能力。

可选地,所述端口信息上报消息中包含各端口所属的端口组的端口组标识是指:

所述端口信息上报消息中携带所述OpenFlow交换机中各端口的端口信息;各端口的端口信息中分别包括:本端口信息包含的端口组标识的个数,以及各端口组标识的取值。

步骤C,收到OpenFlow控制器发送的第一能力类型的能力信息查询消息后,OpenFlow交换机向OpenFlow控制器回复所述第一能力类型的能力信息上报消息,所述能力信息上报消息中包含基于所述第一能力类型分组所得到的各端口组的端口组标识。

相应地,所述能力信息可以但不限于至少包括以下之一:

流表能力信息、组表能力信息。

当OpenFlow控制器发送流表能力信息查询消息时,OpenFlow交换机回复的能力信息上报消息中携带流表能力信息;当OpenFlow控制器发送组表能力信息查询消息时,OpenFlow交换机回复的能力信息上报消息中携带组表能力信息。

可选地,如果步骤A中所述的各种能力类型只限于在所述OpenFlow交换机中存在端口间能力差异的各种能力类型,则所述能力信息上报消息中,只有存在端口间能力差异的能力类型的能力信息中包含端口组标识;即:OpenFlow交换机上报OpenFlow控制器的存在端口间能力差异的每种能力类型的能力信息中包含一个或多个端口组标识。

可选地,对于所述能力信息中所包含的端口组标识的不同取值对应的不同能力信息分别进行上报,分别进行上报的具体实现方式既可以是分别回复多个能力信息上报消息,也可以是把一个能力信息上报消息划分为包含不同能力信息的多个部分。

即:所述OpenFlow交换机向OpenFlow控制器回复所述第一能力类型的能力信息上报消息具体可以包括:

所述OpenFlow交换机向OpenFlow控制器回复N个所述第一能力类型的能力信息上报消息,N为基于第一能力类型分组所得到的端口组的个数;每个所述能力信息上报消息中分别包含一个端口组标识,每个所述能力信息上报消息中所包含的端口组标识互不相同且均属于基于第一能力类型分组所得到各端口组的端口组标识;

或者,

所述OpenFlow交换机向OpenFlow控制器回复一个所述第一能力类型的能力信息上报消息,所述能力信息上报消息中携带的能力信息包含:基于第一能力类型分组所得到各端口组的端口组标识。

本实施例中,能力信息中包含的端口组标识与端口信息中包含的端口组标识通过取值相同而关联起来,使得OpenFlow交换机既能够上报端口的分组情况,也能够把每组端口的能力分别上报OpenFlow控制器。

上述步骤B、C之间不存在必然的先后关系,当收到OpenFlow控制器发送的端口信息查询消息后就执行步骤B,当收到OpenFlow控制器发送的第一能力类型的能力信息查询消息(比如但不限于流表和/或组表能力查询消息)后就执行步骤C。

实施示例一

图4是实施示例一的存在不同线卡支持不同层叠网封装协议的应用场景示意图,如图4所示,本实施示例中,层叠网中支持OpenFlow的边缘节点(本实施示例中即OpenFlow交换机)41、42、43、44分别与OpenFlow控制器相连,边缘节点41、42、43、44分别都包含支持VxLAN封装的线卡A1、支持Trill封装的线卡B1、支持GUE封装的线卡C1和支持PBB封装的线卡D1,其中线卡A1包含端口11、12、13、14,线卡B1包含端口15、16、17、18,线卡C1包含端口19、110、111、112,线卡D1包含端口113、114、115、116。

本实施示例中,OpenFlow控制器与层叠网中支持OpenFlow的边缘节点要执行如下步骤:

步骤S401,OpenFlow交换机41、42、43、44基于流表能力对具备不同能力的端口进行分组,并给每个端口组分配端口组标识。

具体地,线卡A1的端口11、12、13、14为第一端口组,都被分配了第一端口组标识,线卡B1的端口15、16、17、18为第二端口组,都被分配了第二端口组标识,线卡C1的端口19、110、111、112为第三端口组,都被分配了第三端口组标识,线卡D1的端口113、114、115、116为第四端口组,都被分配了第四端口组标识。所述第一、第二、第三、第四端口组标识的取值互不相同。

步骤S402,收到OpenFlow控制器发送的端口信息查询消息后,OpenFlow交换机41、42、43、44向OpenFlow控制器回复端口信息上报消息,其中包含端口组标识。

具体地,OpenFlow交换机41、42、43、44上报的线卡A1的端口11、12、13、14的端口信息中都包含第一端口组标识,上报的线卡B1的端口15、16、17、18的端口信息中都包含第二端口组标识,上报的线卡C1的端口19、110、111、112的端口信息中都包含第三端口组标识,上报的线卡D1的端口113、114、115、116的端口信息中都包含第四端口组标识。

步骤S403,收到OpenFlow控制器发送的流表能力信息查询消息后,OpenFlow交换机41、42、43、44向OpenFlow控制器回复流表能力信息上报消息,其中包含端口组标识。

具体地,OpenFlow交换机41、42、43、44上报的第一端口组的流表能力信息包含第一端口组标识,同时要表明第一端口组支持执行VxLAN封装/解封装的流表动作;上报的第二端口组的流表能力信息包含第二端口组标识,同时要表明第二端口组支持执行Trill封装/解封装的流表动作;上报的第三端口组的流表能力信息包含第三端口组标识,同时要表明第三端口组支持执行GUE封装/解封装的流表动作;上报的第四端口组的流表能力信息包含第四端口组标识,同时要表明第四端口组支持执行PBB封装/解封装的流表动作。

上述步骤S402、S403之间不存在必然的先后关系,当收到OpenFlow控制器发送的端口信息查询消息后就执行步骤S402,当收到OpenFlow控制器发送的流表能力信息查询消息后就执行步骤S403。

实施示例二

图5是实施示例二的存在不同线卡支持不同组表类型的应用场景示意图,如图5所示,本实施示例中,网络中支持OpenFlow的网络节点(本实施示例中即OpenFlow交换机)51、52、53、54分别与OpenFlow控制器相连,网络节点51、52、53、54分别都包含支持Select类型组表的线卡A2和线卡B2、支持Fast Failover类型组表的线卡C2和线卡D2,其中线卡A2包含端口21、22、23、24,线卡B2包含端口25、26、27、28,线卡C2包含端口29、210、211、212,线卡D2包含端口213、214、215、216。

本实施示例中,OpenFlow控制器与网络中支持OpenFlow的网络节点要执行如下步骤:

步骤S501,OpenFlow交换机51、52、53、54基于组表能力对具备不同能力的端口进行分组,并给每个端口组分配端口组标识。

具体地,线卡A2的端口21、22、23、24以及线卡B2的端口25、26、27、28为第一端口组,都被分配了第一端口组标识,线卡C2的端口29、210、211、212以及线卡D2的端口213、214、215、216为第二端口组,都被分配了第二端口组标识。所述第一、第二端口组标识的取值互不相同。

步骤S502,收到OpenFlow控制器发送的端口信息查询消息后,OpenFlow交换机51、52、53、54向OpenFlow控制器回复端口信息上报消息,其中包含端口组标识。

具体地,OpenFlow交换机51、52、53、54上报的线卡A2的端口21、22、23、24以及线卡B2的端口25、26、27、28的端口信息中都包含第一端口组标识,上报的线卡C2的端口29、210、211、212以及线卡D2的端口213、214、215、216的端口信息中都包含第二端口组标识。

步骤S503,收到OpenFlow控制器发送的组表能力信息查询消息后, OpenFlow交换机51、52、53、54向OpenFlow控制器回复组表能力信息上报消息,其中包含端口组标识。

具体地,OpenFlow交换机51、52、53、54上报的第一端口组的组表能力信息包含第一端口组标识,同时要表明第一端口组支持Select类型组表;上报的第二端口组的组表能力信息包含第二端口组标识,同时要表明第二端口组支持Fast Failover类型组表。

上述步骤S502、S503之间不存在必然的先后关系,当收到OpenFlow控制器发送的端口信息查询消息后就执行步骤S502,当收到OpenFlow控制器发送的组表能力信息查询消息后就执行步骤S503。

实施示例三

图6是实施例示三的同时存在不同线卡支持不同层叠网封装协议和不同线卡支持不同组表类型的应用场景示意图,如图6所示,本实施示例中,层叠网中支持OpenFlow的边缘节点(本实施示例中即OpenFlow交换机)61、62、63、64分别与OpenFlow控制器相连,边缘节点61、62、63、64分别都包含支持VxLAN封装及Select类型组表的线卡A3、支持Trill封装及Select类型组表的线卡B3、支持GUE封装及Fast Failover类型组表的线卡C3、支持PBB封装及Fast Failover类型组表的线卡D3,其中线卡A3包含端口31、32、33、34,线卡B3包含端口35、36、37、38,线卡C3包含端口39、310、311、312,线卡D3包含端口313、314、315、316。

本实施示例中,OpenFlow控制器与层叠网中支持OpenFlow的边缘节点要执行如下步骤:

步骤S601,OpenFlow交换机61、62、63、64分别基于流表能力和组表能力对具备不同能力的端口进行分组,并给每个端口组分配端口组标识。

具体地,为了对基于流表能力分配的端口组标识和基于组表能力分配的端口组标识加以区别,二者的取值范围不能重叠,基于流表能力对具备不同能力的端口进行分组的结果为:线卡A3的端口31、32、33、34为第一端口组,都被分配了第一端口组标识,线卡B3的端口35、36、37、38为第二端 口组,都被分配了第二端口组标识,线卡C3的端口39、310、311、312为第三端口组,都被分配了第三端口组标识,线卡D3的端口313、314、315、316为第四端口组,都被分配了第四端口组标识;基于组表能力对具备不同能力的端口进行分组的结果为:线卡A3的端口31、32、33、34以及线卡B3的端口35、36、37、38为第五端口组,都被分配了第五端口组标识,线卡C3的端口39、310、311、312以及线卡D3的端口313、314、315、316为第六端口组,都被分配了第六端口组标识。其中,所述第一、第二、第三、第四端口组标识的取值互不相同;所述第五、第六端口组标识的取值互不相同;并且,所述第一、第二、第三、第四端口组标识的取值范围(比如为数值1~10)和第五、第六端口组标识的取值范围(比如为数值11~20)不同。

步骤S602,收到OpenFlow控制器发送的端口信息查询消息后,OpenFlow交换机61、62、63、64向OpenFlow控制器回复端口信息上报消息,其中包含端口组标识。

具体地,OpenFlow交换机61、62、63、64上报的线卡A3的端口31、32、33、34的端口信息中都包含第一端口组标识和第五端口组标识,上报的线卡B3的端口35、36、37、38的端口信息中都包含第二端口组标识和第五端口组标识,上报的线卡C3的端口39、310、311、312的端口信息中都包含第三端口组标识和第六端口组标识,上报的线卡D3的端口313、314、315、316的端口信息中都包含第四端口组标识和第六端口组标识。

步骤S603,收到OpenFlow控制器发送的流表能力信息查询消息后,OpenFlow交换机61、62、63、64向OpenFlow控制器回复流表能力信息上报消息,其中包含基于流表能力分组所得到的各端口组的端口组标识。

具体地,OpenFlow交换机61、62、63、64上报的第一端口组的流表能力信息包含第一端口组标识,同时要表明第一端口组支持执行VxLAN封装/解封装的流表动作;上报的第二端口组的流表能力信息包含第二端口组标识,同时要表明第二端口组支持执行Trill封装/解封装的流表动作;上报的第三端口组的流表能力信息包含第三端口组标识,同时要表明第三端口组支持执行GUE封装/解封装的流表动作;上报的第四端口组的流表能力信息包含第四端口组标识,同时要表明第四端口组支持执行PBB封装/解封装的流 表动作。

步骤S604,收到OpenFlow控制器发送的组表能力信息查询消息后,OpenFlow交换机61、62、63、64向OpenFlow控制器回复组表能力信息上报消息,其中包含基于组表能力分组所得到的各端口组的端口组标识。

具体地,OpenFlow交换机61、62、63、64上报的第五端口组的组表能力信息包含第五端口组标识,同时要表明第五端口组支持Select类型组表;上报的第六端口组的组表能力信息包含第六端口组标识,同时要表明第六端口组支持Fast Failover类型组表。

上述步骤S602、S603、S604之间不存在必然的先后关系,当收到OpenFlow控制器发送的端口信息查询消息后就执行步骤S602,当收到OpenFlow控制器发送的流表能力信息查询消息后就执行步骤S603,当收到OpenFlow控制器发送的组表能力信息查询消息后就执行步骤S604。

实施例二、一种OpenFlow交换机能力上报的装置,设置于OpenFlow交换机中,如图7所示,包括:

第一上报模块71,用于收到OpenFlow控制器发送的端口信息查询消息后,向OpenFlow控制器回复端口信息上报消息,所述端口信息上报消息中包含各端口所属的端口组的端口组标识;所述端口组是基于各种能力类型对所述OpenFlow交换机中具备不同能力的端口进行分组得到的,每个所述端口组具有端口组标识;

第二上报模块72,用于收到OpenFlow控制器发送的第一能力类型的能力信息查询消息后,向OpenFlow控制器回复所述第一能力类型的能力信息上报消息,所述能力信息上报消息中包含基于所述第一能力类型分组所得到的各端口组的端口组标识。

可选地,所述装置还可以包括分组模块73(图7中分组模块为虚线框,表示分组模块可选),用于基于各种能力类型对所述OpenFlow交换机中具备不同能力的端口进行分组,并给每个端口组分配端口组标识。该分组模块可以不设置在OpenFlow交换机中;另外也可以不包含该分组模块,由人工 进行分组,分组的情况及分配的端口组标识可以作为配置信息预先保存在OpenFlow交换机中。

可选地,所述端口信息上报消息中包含各端口所属的端口组的端口组标识是指:

所述端口信息上报消息中携带所述OpenFlow交换机中各端口的端口信息;各端口的端口信息中分别包括:本端口信息包含的端口组标识的个数,以及各端口组标识的取值。

可选地,所述能力类型至少包括以下之一:

流表能力、组表能力。

可选地,分组时所基于的各种能力类型为所述OpenFlow交换机中存在端口间能力差异的各种能力类型。

可选地,每种能力类型对应的端口组标识的取值范围不重叠。

可选地,所述第二上报模块向OpenFlow控制器回复所述第一能力类型的能力信息上报消息是指:

所述第一上报模块向OpenFlow控制器回复N个所述第一能力类型的能力信息上报消息,N为基于第一能力类型分组所得到的端口组的个数;每个所述能力信息上报消息中分别包含一个端口组标识,每个所述能力信息上报消息中所包含的端口组标识互不相同且均属于基于第一能力类型分组所得到各端口组的端口组标识。

可选地,所述第二上报模块向OpenFlow控制器回复所述第一能力类型的能力信息上报消息包括:

所述第二上报模块向OpenFlow控制器回复一个所述第一能力类型的能力信息上报消息,所述能力信息上报消息中携带的能力信息包含:基于第一能力类型分组所得到各端口组的端口组标识。

本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使 用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。

虽然本发明所揭露的实施方式如上,但所述的内容仅为便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1