一种基于ForCES控制件控制OpenFlow交换机的系统及协议转换方法转让专利

申请号 : CN201510874518.2

文献号 : CN105516116B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李传煌龚梁金蓉王伟明高明岑利杰严思韵

申请人 : 浙江工商大学

摘要 :

本发明公开了一种基于ForCES控制件控制OpenFlow交换机的系统及协议转换方法。本发明的核心是在基于ForCES控制件控制OpenFlow交换机的系统中的协议转换装置上,将ForCES协议控制消息映射转换为适用于OpenFlow交换机的OF‑CONFIG协议消息和(或)OpenFlow协议消息,从而实现ForCES控制件对OpenFlow交换机的配置与流表的控制,从而在现有技术中,提高了ForCES协议到OpenFlow协议的兼容性。因此,为将ForCES技术的优点引进到OpenFlow技术提供了一种可行的方案,为突破OpenFlow技术的瓶颈提供了一种新的解决方案。

权利要求 :

1.一种基于ForCES控制件控制OpenFlow交换机的系统,其特征是,该系统包含三个部分:ForCES控制件、协议转换装置和OpenFlow交换机;

所述协议转换装置包含ForCES消息分析模块、OF-CONFIG协议转换模块、OpenFlow协议转换模块和OpenFlow交换机消息处理模块四个部分;

所述ForCES消息分析模块对ForCES控制器下发到协议转换装置的消息进行解析,并能区分该消息是ForCES协议自身运行控制消息、或节点的配置消息或业务数据转发策略控制消息的模块;所述的ForCES协议自身运行控制消息,是指ForCES协议中为建链、链接维护及断链操作相关的ForCES协议消息;所述的节点的配置消息,是指ForCES协议中为转发件的端口组名称,端口组ID这些网络环境进行管理和配置操作相关的ForCES协议消息;所述的业务数据转发策略控制消息,是指ForCES协议中控制数据包转发策略的ForCES协议消息;

所述OF-CONFIG协议转换模块对ForCES消息分析模块下发的关于节点的配置消息进行解析,并将其映射为OF-CONFIG协议支持的数据模型,然后对该数据模型进行封装,封装成适用于配置OpenFlow交换机的OF-CONFIG协议配置消息;

所述OpenFlow协议转换模块对ForCES消息分析模块下发的关于业务数据转发策略的控制消息进行解析,并将其映射为OpenFlow的流表规则,然后对该流表规则进行封装,封装成适用于控制OpenFlow交换机流表的OpenFlow协议控制消息;

所述OpenFlow交换机消息处理模块将OF-CONFIG协议转换模块下发的以OF-CONFIG协议形式封装的OpenFlow交换机配置消息下发给OpenFlow交换机,以及将OpenFlow协议转换模块下发的以OpenFlow协议形式封装的流表控制消息下发给OpenFlow交换机。

2.根据权利要求1所述的基于ForCES控制件控制OpenFlow交换机的系统,其特征是,所述OF-CONFIG协议转换模块将关于节点的配置消息映射为适用于配置OpenFlow交换机的OF-CONFIG协议支持的数据模型,具体为:根据ForCES控制消息中对ForCES转发件属性进行配置的逻辑功能块的控制消息,将其转换为OpenFlow交换机中配置OpenFlow交换机的属性和属性值的配置消息。

3.根据权利要求1所述的基于ForCES控制件控制OpenFlow交换机的系统,其特征是,所述OF-CONFIG协议转换模块将关于节点的配置消息映射成的OF-CONFIG数据模型封装为适用于配置OpenFlow交换机的OF-CONFIG协议配置消息,具体为:将映射后的OpenFlow交换机配置消息,使用OF-CONFIG数据模型进行封装,所述OF-CONFIG数据模型采用XML语言扩展的元素结构,第一层包括逻辑交换机的ID标识、数据路径标识、控制器认证、安全通道失效模式以及交换机资源元素;第二层是扩展的元素,如交换机资源元素中包括对端口资源、队列资源以及流表资源的配置。

4.根据权利要求1所述的基于ForCES控制件控制OpenFlow交换机的系统,其特征是,所述OpenFlow协议转换模块将关于业务数据转发策略的控制消息映射为OpenFlow的流表规则,具体为:OpenFlow交换机流表的结构分为匹配域、计数器和指令集部分,ForCES控制件对逻辑功能块的属性及其连接关系的控制消息到OpenFlow流表的映射,包括,将逻辑功能块的源IP地址、目的IP地址、源端口号、目的端口号分别映射为OpenFlow交换机流表项中的源IP地址、目的IP地址、源端口号、目的端口号;将逻辑功能块属性中的数据包类型映射为流表项中的以太网类型、IP协议类型;将逻辑功能块属性中的元数据映射为流表项中的元数据;将逻辑功能块属性中的输入端口映射为流表项中的入端口;将逻辑功能块中的输出端口映射为流表执行转发动作时的输出端口;逻辑功能块属性中的数据包计数器属性和字节计数器属性映射为流表计数器中的数据包计数字段和字节计数字段;将逻辑功能块的拓扑关系映射为流表项的动作和流表号。

5.根据权利要求1所述的基于ForCES控制件控制OpenFlow交换机的系统,其特征是,所述OpenFlow协议转换模块将业务数据转发策略的控制消息映射出的OpenFlow流表规则封装成适用于控制OpenFlow交换机流表的OpenFlow协议控制消息,具体为:根据业务数据转发策略的控制消息映射出的OpenFlow流表规则,将OpenFlow流表结构中的匹配域、计数器和指令集部分的映射结果根据OpenFlow协议定义的流表结构,将其封装为OpenFlow流表控制消息。

6.一种利用权利要求1所述系统进行协议转换的方法,其特征是,该方法包括以下步骤:

(1)协议转换装置在接收到ForCES控制件下发的控制消息后,ForCES消息分析模块首先判断该控制消息是否是ForCES协议自身运行控制消息,若是,则根据该自身运行控制消息类型进行相应处理,并直接向ForCES控制件反馈处理结果,返回步骤(1),否则若不是,则执行步骤(2);

(2)ForCES消息分析模块对接收到的需要下发的控制消息进行提取并解析,若该控制消息是关于节点的配置消息,则将其下发到OF-CONFIG协议转换模块,若该消息是关于业务数据转发策略的控制消息,则将其下发到OpenFlow协议转换模块;

(3)OF-CONFIG协议转换模块对ForCES消息分析模块下发的关于节点的配置消息进行解析,并将其映射为OF-CONFIG协议支持的数据模型,然后对该数据模型进行封装,封装成适用于配置OpenFlow交换机的OF-CONFIG协议配置消息,将完成封装后的OpenFlow交换机配置消息下发到OpenFlow交换机消息处理模块;

和/或

OpenFlow协议转换模块对ForCES消息分析模块下发的关于业务数据转发策略的控制消息进行解析,并将其映射为OpenFlow的流表规则,然后对该流表规则进行封装,封装成适用于控制OpenFlow交换机流表的OpenFlow协议控制消息,将完成封装后的OpenFlow交换机流表控制消息下发到OpenFlow交换机消息处理模块;

(4)OpenFlow交换机消息处理模块将接收到的完成封装后的OF-CONFIG协议配置消息下发到OpenFlow交换机配置点,用于配置OpenFlow交换机;

和/或

OpenFlow交换机消息处理模块将接收到的完成封装后的OpenFlow协议控制消息下发到OpenFlow交换机,用于控制OpenFlow交换机流表的转发;

(5)OpenFlow交换机根据步骤(4)下发的控制消息对OpenFlow交换机作相应的处理。

7.根据权利要求6所述协议转换的方法,其特征是,所述步骤(3)中,所述OF-CONFIG协议转换模块将关于节点的配置消息映射为适用于配置OpenFlow交换机的OF-CONFIG协议支持的数据模型,具体为:根据ForCES控制消息中对ForCES转发件属性进行配置的逻辑功能块的控制消息,将其转换为OpenFlow交换机中配置OpenFlow交换机的属性和属性值的配置消息。

8.根据权利要求6所述协议转换的方法,其特征是,所述步骤(3)中,所述OF-CONFIG协议转换模块将关于节点的配置消息映射成的OF-CONFIG数据模型封装为适用于配置OpenFlow交换机的OF-CONFIG协议配置消息,具体为:将映射后的OpenFlow交换机配置消息,使用OF-CONFIG数据模型进行封装,所述OF-CONFIG数据模型采用XML语言扩展的元素结构,第一层包括逻辑交换机的ID标识、数据路径标识、控制器认证、安全通道失效模式以及交换机资源元素;第二层是扩展的元素,如交换机资源元素中包括对端口资源、队列资源以及流表资源的配置。

9.根据权利要求6所述协议转换的方法,其特征是,所述步骤(3)中,所述OpenFlow协议转换模块将关于业务数据转发策略的控制消息映射为OpenFlow的流表规则,具体为:OpenFlow交换机流表的结构分为匹配域、计数器和指令集部分,ForCES控制件对逻辑功能块的属性及其连接关系的控制消息到OpenFlow流表的映射,包括,将逻辑功能块的源IP地址、目的IP地址、源端口号、目的端口号分别映射为OpenFlow交换机流表项中的源IP地址、目的IP地址、源端口号、目的端口号;将逻辑功能块属性中的数据包类型映射为流表项中的以太网类型、IP协议类型;将逻辑功能块属性中的元数据映射为流表项中的元数据;将逻辑功能块属性中的输入端口映射为流表项中的入端口;将逻辑功能块中的输出端口映射为流表执行转发动作时的输出端口;逻辑功能块属性中的数据包计数器属性和字节计数器属性映射为流表计数器中的数据包计数字段和字节计数字段;将逻辑功能块的拓扑关系映射为流表项的动作和流表号。

10.根据权利要求6所述协议转换的方法,其特征是,所述步骤(3)中,所述OpenFlow协议转换模块将业务数据转发策略的控制消息映射出的OpenFlow流表规则封装成适用于控制OpenFlow交换机流表的OpenFlow协议控制消息,具体为:根据业务数据转发策略的控制消息映射出的OpenFlow流表规则,将OpenFlow流表结构中的匹配域、计数器和指令集部分的映射结果根据OpenFlow协议定义的流表结构,将其封装为OpenFlow流表控制消息。

说明书 :

一种基于ForCES控制件控制OpenFlow交换机的系统及协议转

换方法

技术领域

[0001] 本发明属于通信领域,具体涉及在SDN体系架构中,一种基于ForCES控制件控制OpenFlow交换机的系统及协议转换方法。

背景技术

[0002] SDN(Software Defined Network,软件定义网络)是一种新型网络创新架构,是网络虚拟化的一种实现方式,通过控制平面和数据平面的分离实现了对网络流量的灵活控制。在现有网络中,对流量的控制和转发都依赖于网络设备实现,且设备中集成了与业务特性紧密结合的操作系统和专用硬件,这些操作系统和专用硬件都是各个厂家自己开发和设计的。而在SDN网络中,网络设备只负责单纯的数据转发,可以采用通用的硬件;而原来负责控制的操作系统将替换为独立的网络操作系统,负责对不同业务特性进行适配,而且网络操作系统和业务特性以及硬件设备之间的通信都可以通过编程实现,这也是SDN的意义所在。当前的SDN技术已是百花齐放的状态,OpenFlow技术、ForCES技术、OpenDaylight技术、网络可重构技术等都属于SDN技术领域。
[0003] ForCES标准的网络设备内至少有一个(或多个)控制件(Control Element,CE)和多达几百个转发件(Forwarding Element,FE),CE和FE间通过ForCES协议来完成通信。其中,FE内的资源被表示成各种不同的逻辑功能块LFB(Logical Functional Block),各个LFB之间相互连接,CE通过ForCES协议控制各个LFB及它的属性和连接关系。
[0004] OpenFlow交换机由FlowTable(流表)、SecureChannel(安全通道)和OpenFlowProtocol(协议)三部分组成,通过提取通信过程中的数据分组的共同特征,将这些共同特征抽象成一个“流”,其核心就是对流的处理,通过网络设备维护流表,并且只按照流表进行转发。OpenFlow交换机利用基于安全连接的OpenFlow协议与控制器(Controller)互相通信。OpenFlow实现了数据层和控制层的分离,其中OpenFlow交换机进行数据层的转发,而Controller实现了控制层的功能。Controller通过OpenFlow协议这个标准接口对OpenFlow交换机中的流表进行控制,从而实现对整个网络进行集中控制。
[0005] 目前,ForCES的控制件CE只能控制其转发件FE,而OpenFlow控制器也只能控制OpenFlow交换机。
[0006] ForCES协议有自己特殊的处理过程和处理模式,ForCES协议在处理的过程中需要编辑字段,动作是确定的,比如在路由处理过程中,会替换二层头、减TTL(Time To Live,生存时间),也可能会修改DSCP(Differentiated Services Code Point,差分服务代码点),但不会去改IP地址,改IP地址是NAT(Network Address Translation,网络地址转换)行为,而不是普通路由行为。而OpenFlow要求跟ForCES不一样,流表是OpenFlow交换机处理数据包最基本单元,OpenFlow处理报文的流程都是与协议无关的。如果遇到上层是ForCES控制件CE,下层是OpenFlow交换机的情况时,在不做协议转换的情况下,ForCES控制件与OpenFlow交换机就无法正常通信,也就无法对网络流量进行管理。从上述情况中可以看出,ForCES协议与OpenFlow协议的兼容性很差,ForCES设备和OpenFlow设备的可扩展性也很差。

发明内容

[0007] 本发明针对现有技术的不足,提出了一种基于ForCES控制件控制OpenFlow交换机的系统及协议转换方法。
[0008] 本发明所采用的技术方案是:在传统的ForCES控制件和OpenFlow交换机之间插入一个协议转换装置,将ForCES控制件发送的ForCES协议控制消息转换为适用于OpenFlow交换机的协议消息,构建出一个可以运用ForCES控制件控制OpenFlow交换机,实现ForCES协议对OpenFlow协议进行兼容的新型系统。在该系统中,协议转换装置是ForCES控制件能用于控制OpenFlow交换机的核心所在,也是本发明实现协议转换方法的关键所在,其功能在于将ForCES控制件下发的关于配置节点的ForCES协议控制消息转换为适用于OpenFlow交换机的OF-CONFIG协议消息用于配置OpenFlow交换机和(或)将ForCES控制件下发的关于控制业务数据转发策略的ForCES协议消息转换为适用于OpenFlow交换机流表控制的OpenFlow协议消息,用于控制OpenFlow交换机的流表。
[0009] 本发明提供的一种基于ForCES控制件控制OpenFlow交换机的系统,该系统包含三个部分:ForCES控制件、协议转换装置和OpenFlow交换机;
[0010] 所述协议转换装置包含ForCES消息分析模块、OF-CONFIG协议转换模块、OpenFlow协议转换模块和OpenFlow交换机消息处理模块四个部分;
[0011] 所述ForCES消息分析模块对ForCES控制器下发到协议转换装置的消息进行解析,并能区分该消息是ForCES协议自身运行控制消息、或节点的配置消息或业务数据转发策略控制消息的模块;所述的ForCES协议自身运行控制消息,是指ForCES协议中为建链、链接维护及断链操作相关的ForCES协议消息。所述的节点的配置消息,是指ForCES协议中为转发件的端口组名称,端口组ID等网络环境进行管理和配置操作相关的ForCES协议消息。所述的业务数据转发策略控制消息,是指ForCES协议中控制数据包转发策略的ForCES协议消息;
[0012] 所述OF-CONFIG协议转换模块对ForCES消息分析模块下发的关于节点的配置消息进行解析,并将其映射为OF-CONFIG协议支持的数据模型,然后对该数据模型进行封装,封装成适用于配置OpenFlow交换机的OF-CONFIG协议配置消息;
[0013] 所述OpenFlow协议转换模块对ForCES消息分析模块下发的关于业务数据转发策略的控制消息进行解析,并将其映射为OpenFlow的流表规则,然后对该流表规则进行封装,封装成适用于控制OpenFlow交换机流表的OpenFlow协议控制消息;
[0014] 所述OpenFlow交换机消息处理模块将OF-CONFIG协议转换模块下发的以OF-CONFIG协议形式封装的OpenFlow交换机配置消息下发给OpenFlow交换机,以及将OpenFlow协议转换模块下发的以OpenFlow协议形式封装的流表控制消息下发给OpenFlow交换机。
[0015] 进一步地,所述OF-CONFIG协议转换模块将关于节点的配置消息映射为适用于配置OpenFlow交换机的OF-CONFIG协议支持的数据模型,具体为:根据ForCES控制消息中对ForCES转发件属性进行配置的逻辑功能块的控制消息,将其转换为OpenFlow交换机中配置OpenFlow交换机的属性和属性值的配置消息。
[0016] 所述OF-CONFIG协议转换模块将关于节点的配置消息映射成的OF-CONFIG数据模型封装为适用于配置OpenFlow交换机的OF-CONFIG协议配置消息,具体为:将映射后的OpenFlow交换机配置消息,使用OF-CONFIG数据模型进行封装,所述OF-CONFIG数据模型采用XML语言扩展的元素结构,第一层包括逻辑交换机的ID标识、数据路径标识、控制器认证、安全通道失效模式以及交换机资源等元素;第二层是扩展的元素,如交换机资源元素中包括对端口资源、队列资源以及流表资源的配置。
[0017] 所述OpenFlow协议转换模块将关于业务数据转发策略的控制消息映射为OpenFlow的流表规则,具体为:OpenFlow交换机流表的结构分为匹配域、计数器和指令集等部分,ForCES控制件对逻辑功能块的属性及其连接关系的控制消息到OpenFlow流表的映射,包括,将逻辑功能块的源IP地址、目的IP地址、源端口号、目的端口号分别映射为OpenFlow交换机流表项中的源IP地址、目的IP地址、源端口号、目的端口号;将逻辑功能块属性中的数据包类型映射为流表项中的以太网类型、IP协议类型;将逻辑功能块属性中的元数据流表项中的元数据;将逻辑功能块属性中的输入端口映射为流表项中的入端口;将逻辑功能块中的输出端口映射为流表执行转发动作时的输出端口;逻辑功能块属性中的数据包计数器属性和字节计数器属性映射为流表计数器中的数据包计数字段和字节计数字段;将逻辑功能块的拓扑关系映射为流表项的动作和流表号。
[0018] 进一步地,所述OpenFlow协议转换模块将业务数据转发策略的控制消息映射出的OpenFlow流表规则封装成适用于控制OpenFlow交换机流表的OpenFlow协议控制消息,具体为:根据业务数据转发策略的控制消息映射出的OpenFlow流表规则,将OpenFlow流表结构中的匹配域、计数器和指令集等部分的映射结果根据OpenFlow协议定义的流表结构,将其封装为OpenFlow流表控制消息。
[0019] 一种利用上述系统进行协议转换的方法,包括以下步骤:
[0020] (1)协议转换装置在接收到ForCES控制件下发的控制消息后,ForCES消息分析模块首先判断该控制消息是否是ForCES协议自身运行控制消息,若是,则根据该自身运行控制消息类型进行相应处理,并直接向ForCES控制件反馈处理结果,返回步骤(1),否则若不是,则执行步骤(2);
[0021] (2)ForCES消息分析模块对接收到的需要下发的控制消息进行提取并解析,若该控制消息是关于节点的配置消息,则将其下发到OF-CONFIG协议转换模块,若该消息是关于业务数据转发策略的控制消息,则将其下发到OpenFlow协议转换模块。
[0022] (3)OF-CONFIG协议转换模块对ForCES消息分析模块下发的关于节点的配置消息进行解析,并将其映射为OF-CONFIG协议支持的数据模型,然后对该数据模型进行封装,封装成适用于配置OpenFlow交换机的OF-CONFIG协议配置消息,将完成封装后的OpenFlow交换机配置消息下发到OpenFlow交换机消息处理模块;
[0023] 和/或
[0024] OpenFlow协议转换模块对ForCES消息分析模块下发的关于业务数据转发策略的控制消息进行解析,并将其映射为OpenFlow的流表规则,然后对该流表规则进行封装,封装成适用于控制OpenFlow交换机流表的OpenFlow协议控制消息,将完成封装后的OpenFlow交换机流表控制消息下发到OpenFlow交换机消息处理模块;
[0025] (4)OpenFlow交换机消息处理模块将接收到的完成封装后的OF-CONFIG协议配置消息下发到OpenFlow交换机配置点,用于配置OpenFlow交换机;
[0026] 和/或
[0027] OpenFlow交换机消息处理模块将接收到的完成封装后的OpenFlow协议控制消息下发到OpenFlow交换机,用于控制OpenFlow交换机流表的转发;
[0028] (5)OpenFlow交换机根据步骤(4)下发的控制消息对OpenFlow交换机作相应的处理。
[0029] 进一步地,所述步骤3中,所述OF-CONFIG协议转换模块将关于节点的配置消息映射为适用于配置OpenFlow交换机的OF-CONFIG协议支持的数据模型,具体为:根据ForCES控制消息中对ForCES转发件属性进行配置的逻辑功能块的控制消息,将其转换为OpenFlow交换机中配置OpenFlow交换机的属性和属性值的配置消息。
[0030] 所述步骤3中,所述OF-CONFIG协议转换模块将关于节点的配置消息映射成的OF-CONFIG数据模型封装为适用于配置OpenFlow交换机的OF-CONFIG协议配置消息,具体为:将映射后的OpenFlow交换机配置消息,使用OF-CONFIG数据模型进行封装,所述OF-CONFIG数据模型采用XML语言扩展的元素结构,第一层包括逻辑交换机的ID标识、数据路径标识、控制器认证、安全通道失效模式以及交换机资源等元素;第二层是扩展的元素,如交换机资源元素中包括对端口资源、队列资源以及流表资源的配置。
[0031] 所述步骤3中,所述OpenFlow协议转换模块将关于业务数据转发策略的控制消息映射为OpenFlow的流表规则,具体为:OpenFlow交换机流表的结构分为匹配域、计数器和指令集等部分,ForCES控制件对逻辑功能块的属性及其连接关系的控制消息到OpenFlow流表的映射,包括,将逻辑功能块的源IP地址、目的IP地址、源端口号、目的端口号分别映射为OpenFlow交换机流表项中的源IP地址、目的IP地址、源端口号、目的端口号;将逻辑功能块属性中的数据包类型映射为流表项中的以太网类型、IP协议类型;将逻辑功能块属性中的元数据流表项中的元数据;将逻辑功能块属性中的输入端口映射为流表项中的入端口;将逻辑功能块中的输出端口映射为流表执行转发动作时的输出端口;逻辑功能块属性中的数据包计数器属性和字节计数器属性映射为流表计数器中的数据包计数字段和字节计数字段;将逻辑功能块的拓扑关系映射为流表项的动作和流表号。
[0032] 所述步骤3中,所述OpenFlow协议转换模块将业务数据转发策略的控制消息映射出的OpenFlow流表规则封装成适用于控制OpenFlow交换机流表的OpenFlow协议控制消息,具体为:根据业务数据转发策略的控制消息映射出的OpenFlow流表规则,将OpenFlow流表结构中的匹配域、计数器和指令集等部分的映射结果根据OpenFlow协议定义的流表结构,将其封装为OpenFlow流表控制消息。
[0033] 与现有技术相比,本发明的有益效果是:提高了ForCES协议到OpenFlow协议的兼容性,带来的好处有:其一,将对一个或多个要处理的LFB的控制消息转化为对应的对一个单独的流表进行操作的控制消息,也提高了ForCES控制件的控制效率;其二,传统的ForCES控制件得以对OpenFlow交换机进行控制,丰富了ForCES控制件的内容,同时也为OpenFlow交换机的控制器家族增加了新的成员,为探索解决现行OpenFlow技术所遭遇的瓶颈引进了新的思维方式。

附图说明

[0034] 图1是ForCES控制件控制OpenFlow交换机系统示意图;
[0035] 图2是协议转换装置结构示意图;
[0036] 图3是ForCES控制件控制OpenFlow交换机工作流程示意图。

具体实施方式

[0037] 下面结合附图对本发明做进一步的说明。
[0038] 如图1所示,ForCES控制件控制OpenFlow交换机的系统包含三个部分:ForCES控制件、协议转换装置和OpenFlow交换机,ForCES控制件为实现对OpenFlow交换机的控制,下发的ForCES协议控制消息先经过协议转换装置,ForCES协议控制消息经协议转换装置处理后才下发给OpenFlow交换机。
[0039] 如图2所示,该系统中的协议转换装置包含ForCES消息分析模块、OF-CONFIG协议转换模块、OpenFlow协议转换模块和OpenFlow交换机消息处理模块四个部分,该协议转换装置相当于沟通ForCES控制件控制OpenFlow交换机的中介,其功能主要是是将ForCES协议控制消息转换为OpenFlow交换机配置消息(OF-CONFIG协议)和(或)OpenFlow交换机流表控制消息(OpenFlow协议)。
[0040] 如图3所示,该协议转换装置在实现协议转换的过程时包括如下步骤:
[0041] (1)协议转换装置在接收到ForCES控制件下发的控制消息后,ForCES消息分析模块首先判断该控制消息是否是ForCES协议自身运行控制消息,若是,则根据该自身运行控制消息类型进行相应处理,并直接向ForCES控制件反馈处理结果,返回步骤(1),否则若不是,则执行步骤(2);
[0042] (2)ForCES消息分析模块对接收到的需要下发的控制消息进行提取并解析,若该控制消息是关于节点的配置消息,则将其下发到OF-CONFIG协议转换模块,若该消息是关于业务数据转发策略的控制消息,则将其下发到OpenFlow协议转换模块。
[0043] (3)OF-CONFIG协议转换模块对ForCES消息分析模块下发的关于节点的配置消息进行解析,并将其映射为OF-CONFIG协议支持的数据模型,然后对该数据模型进行封装,封装成适用于配置OpenFlow交换机的OF-CONFIG协议配置消息,将完成封装后的OpenFlow交换机配置消息下发到OpenFlow交换机消息处理模块;
[0044] 和/或
[0045] OpenFlow协议转换模块对ForCES消息分析模块下发的关于业务数据转发策略的控制消息进行解析,并将其映射为OpenFlow的流表规则,然后对该流表规则进行封装,封装成适用于控制OpenFlow交换机流表的OpenFlow协议控制消息,将完成封装后的OpenFlow交换机流表控制消息下发到OpenFlow交换机消息处理模块;
[0046] (4)OpenFlow交换机消息处理模块将接收到的完成封装后的OF-CONFIG协议配置消息下发到OpenFlow交换机配置点,用于配置OpenFlow交换机;
[0047] 和/或
[0048] OpenFlow交换机消息处理模块将接收到的完成封装后的OpenFlow协议控制消息下发到OpenFlow交换机,用于控制OpenFlow交换机流表的转发;
[0049] (5)OpenFlow交换机根据步骤(4)下发的控制消息对OpenFlow交换机作相应的处理。
[0050] 为使本发明实施例的目的、技术方案和有点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明中的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护范围。
[0051] 由于ForCES协议操作管理的对象是转发件中的逻辑功能块LFB(Logical Function Block),传统ForCES控制件的控制消息是针对ForCES转发件中的LFB设计的。LFB可以划分为核心LFB和一般LFB,核心LFB目前主要是指FE协议LFB和FE对象LFB,除此之外都是一般LFB,主要承担数据包处理的工作,然而不管是核心LFB还是一般LFB都是根据FE模型标准进行定义的。本实施例从众多LFB中选取与ipv4转发相关的LFB以及配置转发件属性相关的LFB为例(与ipv4转发相关的LFB控制消息是关于业务数据转发策略的控制消息,与转发件属性配置相关的LFB的控制消息是关于节点的配置消息。)对本发明实施例中的技术方案进行清楚、完整地描述。
[0052] 在此仅以与ipv4转发相关的若干LFB,如EtherMACInLFB的控制消息为例,实现ForCES协议对数据业务转发策略的控制消息转换为OpenFlow交换机流表控制消息;以若干转发件属性配置相关的LFB,如EhterPHYCop的控制消息为例,实现ForCES协议对节点的控制消息转换为OpenFlow交换机配置消息。在本发明系统中,使用所述协议转换方法,完成相应的协议转换。
[0053] 首先,本实例中,当该系统ForCES控制件下发的是关于ipv4转发相关的LFB的控制消息,该控制消息经转换后下发到OpenFlow交换机,需要经历如下步骤:
[0054] 步骤(1):ForCES控制件首先向协议转换装置下发与ipv4转发相关的LFB的控制消息;
[0055] 步骤(2):协议转换装置中的ForCES消息分析模块对步骤(1)下发来的控制消息进行解析处理,发现该控制消息是关于业务数据转发策略的控制消息,故将该控制消息下发给协议转换装置中的OpenFlow协议转换模块;
[0056] 步骤(3):OpenFlow协议转换模块收到控制消息后,将其转换映射到适用于OpenFlow交换机的用于控制流表转发的OpenFlow协议消息,下面以EtherMACInLFB映射转换为OpenFlow协议流表控制消息为例来说明ForCES协议转换为OpenFlow协议的具体过程。
[0057] EtherMACInLFB到相应OpenFlow流表的转换具体如下:
[0058] 该流表的作用是从链路中接受目的地址匹配的数据包,并将数据包转发到下一个流表中处理。也就是EtherMACInLFB的映射,将LocalMACAddresses属性映射为匹配域中的目的MAC地址。该流表中用于和接收到的数据包进行匹配的匹配与涵盖了ISO网络模型中L2至L4的网络配置信息。该匹配域中的数值是一个是“ANY”以支持对任意值的匹配。动作是用于指示OpenFlow转发设备在接受到成功匹配的数据包后该进行什么样的处理。该流表的动作是Output,Output用于将数据包输出到指定端口。如表A-1,表A-2所示,该流表的作用就是端口10接受所有发送给它的流表,并将数据流转发到流表ID为2的流表中,并从它的30端口进入。其中同一个物理转发设备映射所有虚拟转发设备的端口以及flowtable ID是唯一的。
[0059] 表A-1接受流表匹配域中值
[0060]变量 说明 值
Ingress Port 入端口 特定值,如10
Ether Source 源MAC地址 ANY
Ether Des 目的MAC地址 特定值,如08:00:20:0A:8C:6D
Ether Type 以太网类型 ANY
VLAD ID Vlan ID ANY
VLAD Priority Vlan优先级 ANY
IP version IP版本 ANY
IPv4 Src IPv4源地址 ANY
IPv4 Dst IPv4目的地址 ANY
IP Proto IP协议类型 ANY
IP ToS bits IP ToS位 ANY
TCP/UDP Src Port TCP/UDP源端口 ANY
TCP/UDP Dst Port TCP/UDP目的端口 ANY
[0061]IPv6 Src IPv6源地址 ANY
IPv6 Dst IPv6目的地址 ANY
Res 保留 ANY
[0062] 表A-2接受流表动作值
[0063]指令及动作名 说明 值
Goto-Table ext-table-id 将数据报送到下一张表的ID 特定值,如2
Output 用于将数据包输出到流表上的指定端口 特定值,如30
[0064] 上述步骤给出了与ipv4转发相关的EtherMACInLFB到相应OpenFlow流表的转换具体过程,实现了将ForCES控制件中的对LFB的控制消息转换为适用于OpenFlow交换机的流表的控制消息,其它LFB根据相应LFB的定义和功能,与此类似可以映射转换为相应的OpenFlow交换机流表。
[0065] 步骤(4):步骤(3)中OpenFlow协议转换模块将映射转换后的适用于OpenFlow交换机的流表控制消息下发到协议转换装置中的OpenFlow交换机消息处理模块;
[0066] 步骤(5):OpenFlow交换机消息处理模块接收到步骤(4)下发的控制消息后,判断出该控制消息是用于控制OpenFlow交换机流表转发的控制消息,然后将其下发到OpenFlow交换机;
[0067] 步骤(6):OpenFlow交换机收到步骤(5)的控制消息后,用与控制相应的OpenFlow交换机流表的转发。
[0068] 其次,本实例中,当该系统ForCES控制件下发的是关于转发件属性配置相关的LFB的控制消息,该控制消息经转换后下发到OpenFlow交换机,需要经历如下步骤:
[0069] 步骤(1):ForCES控制件首先向协议转换装置下发关于转发件属性配置相关的LFB的控制消息;
[0070] 步骤(2):协议转换装置中的ForCES消息分析模块对步骤(1)下发来的控制消息进行解析处理,发现该控制消息是关于结点配置的控制消息,故将该控制消息下发给协议转换装置中的OF-CONFIG协议转换模块;
[0071] 步骤(3):OF-CONFIG协议转换模块收到控制消息后,将其转换映射到适用于OpenFlow交换机的用于配置OpenFlow交换机的控制消息,下面以逻辑功能块EhterPHYCop映射转换为OF-CONFIG协议的配置OpenFlow交换机的控制消息为例来说明ForCES协议转换为OF-CONFIG协议的具体过程。
[0072] 逻辑功能块EhterPHYCop到相应OF-CONFIG协议的转换具体如下:
[0073] OF-CONFIG协议转换模块接收到ForCES消息分析模块下发的逻辑功能块EhterPHYCop的控制消息后,得到EhterPHYCop的相关属性值,其中属性PHYPortID的值为200、属性SupportedLinkSpeed的值为1000、属性Status的值为Up;然后OF-CONFIG协议转换模块将这些属性信息映射为OF-CONFIG协议配置消息,即端口号:200、最大速率:1000、状态:打开,并以OF-CONFIG数据模型将其封装为OF-CONFIG协议的OpenFlow交换机配置消息。
到此,即完成ForCES协议到OF-CONFIG协议的映射。
[0074] 步骤(4):步骤(3)中OF-CONFIG协议转换模块将映射转换后的用于配置OpenFlow交换机控制消息下发到协议转换装置中的OpenFlow交换机消息处理模块;
[0075] 步骤(5):OpenFlow交换机消息处理模块接收到步骤(4)下发的控制消息后,判断出该控制消息是用于配置OpenFlow交换机的控制消息,然后将其下发到OpenFlow交换机;
[0076] 步骤(6):OpenFlow交换机收到步骤(5)的控制消息后,用与完成对OpenFlow交换机的配置。