法律状态公告日
法律状态信息
法律状态
2018-12-25
授权
授权
2016-05-18
实质审查的生效 IPC(主分类):H04L29/06 申请日:20151202
实质审查的生效
2016-04-20
公开
公开
技术领域
本发明属于通信领域,具体涉及在SDN体系架构中,一种基于ForCES控制件控制 OpenFlow交换机的系统及协议转换方法。
背景技术
SDN(SoftwareDefinedNetwork,软件定义网络)是一种新型网络创新架构,是网 络虚拟化的一种实现方式,通过控制平面和数据平面的分离实现了对网络流量的灵活控 制。在现有网络中,对流量的控制和转发都依赖于网络设备实现,且设备中集成了与业务特 性紧密结合的操作系统和专用硬件,这些操作系统和专用硬件都是各个厂家自己开发和设 计的。而在SDN网络中,网络设备只负责单纯的数据转发,可以采用通用的硬件;而原来负责 控制的操作系统将替换为独立的网络操作系统,负责对不同业务特性进行适配,而且网络 操作系统和业务特性以及硬件设备之间的通信都可以通过编程实现,这也是SDN的意义所 在。当前的SDN技术已是百花齐放的状态,OpenFlow技术、ForCES技术、OpenDaylight技术、 网络可重构技术等都属于SDN技术领域。
ForCES标准的网络设备内至少有一个(或多个)控制件(ControlElement,CE)和 多达几百个转发件(ForwardingElement,FE),CE和FE间通过ForCES协议来完成通信。其 中,FE内的资源被表示成各种不同的逻辑功能块LFB(LogicalFunctionalBlock),各个 LFB之间相互连接,CE通过ForCES协议控制各个LFB及它的属性和连接关系。
OpenFlow交换机由FlowTable(流表)、SecureChannel(安全通道)和 OpenFlowProtocol(协议)三部分组成,通过提取通信过程中的数据分组的共同特征,将这 些共同特征抽象成一个“流”,其核心就是对流的处理,通过网络设备维护流表,并且只按照 流表进行转发。OpenFlow交换机利用基于安全连接的OpenFlow协议与控制器(Controller) 互相通信。OpenFlow实现了数据层和控制层的分离,其中OpenFlow交换机进行数据层的转 发,而Controller实现了控制层的功能。Controller通过OpenFlow协议这个标准接口对 OpenFlow交换机中的流表进行控制,从而实现对整个网络进行集中控制。
目前,ForCES的控制件CE只能控制其转发件FE,而OpenFlow控制器也只能控制 OpenFlow交换机。
ForCES协议有自己特殊的处理过程和处理模式,ForCES协议在处理的过程中需要 编辑字段,动作是确定的,比如在路由处理过程中,会替换二层头、减TTL(TimeToLive,生 存时间),也可能会修改DSCP(DifferentiatedServicesCodePoint,差分服务代码点), 但不会去改IP地址,改IP地址是NAT(NetworkAddressTranslation,网络地址转换)行为, 而不是普通路由行为。而OpenFlow要求跟ForCES不一样,流表是OpenFlow交换机处理数据 包最基本单元,OpenFlow处理报文的流程都是与协议无关的。如果遇到上层是ForCES控制 件CE,下层是OpenFlow交换机的情况时,在不做协议转换的情况下,ForCES控制件与 OpenFlow交换机就无法正常通信,也就无法对网络流量进行管理。从上述情况中可以看出, ForCES协议与OpenFlow协议的兼容性很差,ForCES设备和OpenFlow设备的可扩展性也很 差。
发明内容
本发明针对现有技术的不足,提出了一种基于ForCES控制件控制OpenFlow交换机 的系统及协议转换方法。
本发明所采用的技术方案是:在传统的ForCES控制件和OpenFlow交换机之间插入 一个协议转换装置,将ForCES控制件发送的ForCES协议控制消息转换为适用于OpenFlow交 换机的协议消息,构建出一个可以运用ForCES控制件控制OpenFlow交换机,实现ForCES协 议对OpenFlow协议进行兼容的新型系统。在该系统中,协议转换装置是ForCES控制件能用 于控制OpenFlow交换机的核心所在,也是本发明实现协议转换方法的关键所在,其功能在 于将ForCES控制件下发的关于配置节点的ForCES协议控制消息转换为适用于OpenFlow交 换机的OF-CONFIG协议消息用于配置OpenFlow交换机和(或)将ForCES控制件下发的关于控 制业务数据转发策略的ForCES协议消息转换为适用于OpenFlow交换机流表控制的 OpenFlow协议消息,用于控制OpenFlow交换机的流表。
本发明提供的一种基于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交换机。
进一步地,所述OF-CONFIG协议转换模块将关于节点的配置消息映射为适用于配 置OpenFlow交换机的OF-CONFIG协议支持的数据模型,具体为:根据ForCES控制消息中对 ForCES转发件属性进行配置的逻辑功能块的控制消息,将其转换为OpenFlow交换机中配置 OpenFlow交换机的属性和属性值的配置消息。
所述OF-CONFIG协议转换模块将关于节点的配置消息映射成的OF-CONFIG数据模 型封装为适用于配置OpenFlow交换机的OF-CONFIG协议配置消息,具体为:将映射后的 OpenFlow交换机配置消息,使用OF-CONFIG数据模型进行封装,所述OF-CONFIG数据模型采 用XML语言扩展的元素结构,第一层包括逻辑交换机的ID标识、数据路径标识、控制器认证、 安全通道失效模式以及交换机资源等元素;第二层是扩展的元素,如交换机资源元素中包 括对端口资源、队列资源以及流表资源的配置。
所述OpenFlow协议转换模块将关于业务数据转发策略的控制消息映射为 OpenFlow的流表规则,具体为:OpenFlow交换机流表的结构分为匹配域、计数器和指令集等 部分,ForCES控制件对逻辑功能块的属性及其连接关系的控制消息到OpenFlow流表的映 射,包括,将逻辑功能块的源IP地址、目的IP地址、源端口号、目的端口号分别映射为 OpenFlow交换机流表项中的源IP地址、目的IP地址、源端口号、目的端口号;将逻辑功能块 属性中的数据包类型映射为流表项中的以太网类型、IP协议类型;将逻辑功能块属性中的 元数据流表项中的元数据;将逻辑功能块属性中的输入端口映射为流表项中的入端口;将 逻辑功能块中的输出端口映射为流表执行转发动作时的输出端口;逻辑功能块属性中的数 据包计数器属性和字节计数器属性映射为流表计数器中的数据包计数字段和字节计数字 段;将逻辑功能块的拓扑关系映射为流表项的动作和流表号。
进一步地,所述OpenFlow协议转换模块将业务数据转发策略的控制消息映射出的 OpenFlow流表规则封装成适用于控制OpenFlow交换机流表的OpenFlow协议控制消息,具体 为:根据业务数据转发策略的控制消息映射出的OpenFlow流表规则,将OpenFlow流表结构 中的匹配域、计数器和指令集等部分的映射结果根据OpenFlow协议定义的流表结构,将其 封装为OpenFlow流表控制消息。
一种利用上述系统进行协议转换的方法,包括以下步骤:
(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交换机作相应的处 理。
进一步地,所述步骤3中,所述OF-CONFIG协议转换模块将关于节点的配置消息映 射为适用于配置OpenFlow交换机的OF-CONFIG协议支持的数据模型,具体为:根据ForCES控 制消息中对ForCES转发件属性进行配置的逻辑功能块的控制消息,将其转换为OpenFlow交 换机中配置OpenFlow交换机的属性和属性值的配置消息。
所述步骤3中,所述OF-CONFIG协议转换模块将关于节点的配置消息映射成的OF- CONFIG数据模型封装为适用于配置OpenFlow交换机的OF-CONFIG协议配置消息,具体为:将 映射后的OpenFlow交换机配置消息,使用OF-CONFIG数据模型进行封装,所述OF-CONFIG数 据模型采用XML语言扩展的元素结构,第一层包括逻辑交换机的ID标识、数据路径标识、控 制器认证、安全通道失效模式以及交换机资源等元素;第二层是扩展的元素,如交换机资源 元素中包括对端口资源、队列资源以及流表资源的配置。
所述步骤3中,所述OpenFlow协议转换模块将关于业务数据转发策略的控制消息 映射为OpenFlow的流表规则,具体为:OpenFlow交换机流表的结构分为匹配域、计数器和指 令集等部分,ForCES控制件对逻辑功能块的属性及其连接关系的控制消息到OpenFlow流表 的映射,包括,将逻辑功能块的源IP地址、目的IP地址、源端口号、目的端口号分别映射为 OpenFlow交换机流表项中的源IP地址、目的IP地址、源端口号、目的端口号;将逻辑功能块 属性中的数据包类型映射为流表项中的以太网类型、IP协议类型;将逻辑功能块属性中的 元数据流表项中的元数据;将逻辑功能块属性中的输入端口映射为流表项中的入端口;将 逻辑功能块中的输出端口映射为流表执行转发动作时的输出端口;逻辑功能块属性中的数 据包计数器属性和字节计数器属性映射为流表计数器中的数据包计数字段和字节计数字 段;将逻辑功能块的拓扑关系映射为流表项的动作和流表号。
所述步骤3中,所述OpenFlow协议转换模块将业务数据转发策略的控制消息映射 出的OpenFlow流表规则封装成适用于控制OpenFlow交换机流表的OpenFlow协议控制消息, 具体为:根据业务数据转发策略的控制消息映射出的OpenFlow流表规则,将OpenFlow流表 结构中的匹配域、计数器和指令集等部分的映射结果根据OpenFlow协议定义的流表结构, 将其封装为OpenFlow流表控制消息。
与现有技术相比,本发明的有益效果是:提高了ForCES协议到OpenFlow协议的兼 容性,带来的好处有:其一,将对一个或多个要处理的LFB的控制消息转化为对应的对一个 单独的流表进行操作的控制消息,也提高了ForCES控制件的控制效率;其二,传统的ForCES 控制件得以对OpenFlow交换机进行控制,丰富了ForCES控制件的内容,同时也为OpenFlow 交换机的控制器家族增加了新的成员,为探索解决现行OpenFlow技术所遭遇的瓶颈引进了 新的思维方式。
附图说明
图1是ForCES控制件控制OpenFlow交换机系统示意图;
图2是协议转换装置结构示意图;
图3是ForCES控制件控制OpenFlow交换机工作流程示意图。
具体实施方式
下面结合附图对本发明做进一步的说明。
如图1所示,ForCES控制件控制OpenFlow交换机的系统包含三个部分:ForCES控制 件、协议转换装置和OpenFlow交换机,ForCES控制件为实现对OpenFlow交换机的控制,下发 的ForCES协议控制消息先经过协议转换装置,ForCES协议控制消息经协议转换装置处理后 才下发给OpenFlow交换机。
如图2所示,该系统中的协议转换装置包含ForCES消息分析模块、OF-CONFIG协议 转换模块、OpenFlow协议转换模块和OpenFlow交换机消息处理模块四个部分,该协议转换 装置相当于沟通ForCES控制件控制OpenFlow交换机的中介,其功能主要是是将ForCES协议 控制消息转换为OpenFlow交换机配置消息(OF-CONFIG协议)和(或)OpenFlow交换机流表控 制消息(OpenFlow协议)。
如图3所示,该协议转换装置在实现协议转换的过程时包括如下步骤:
(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交换机作相应的处 理。
为使本发明实施例的目的、技术方案和有点更加清楚,下面将结合本发明实施例 中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是 本发明中的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术 人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护范围。
由于ForCES协议操作管理的对象是转发件中的逻辑功能块LFB(Logical FunctionBlock),传统ForCES控制件的控制消息是针对ForCES转发件中的LFB设计的。LFB 可以划分为核心LFB和一般LFB,核心LFB目前主要是指FE协议LFB和FE对象LFB,除此之外都 是一般LFB,主要承担数据包处理的工作,然而不管是核心LFB还是一般LFB都是根据FE模型 标准进行定义的。本实施例从众多LFB中选取与ipv4转发相关的LFB以及配置转发件属性相 关的LFB为例(与ipv4转发相关的LFB控制消息是关于业务数据转发策略的控制消息,与转 发件属性配置相关的LFB的控制消息是关于节点的配置消息。)对本发明实施例中的技术方 案进行清楚、完整地描述。
在此仅以与ipv4转发相关的若干LFB,如EtherMACInLFB的控制消息为例,实现 ForCES协议对数据业务转发策略的控制消息转换为OpenFlow交换机流表控制消息;以若干 转发件属性配置相关的LFB,如EhterPHYCop的控制消息为例,实现ForCES协议对节点的控 制消息转换为OpenFlow交换机配置消息。在本发明系统中,使用所述协议转换方法,完成相 应的协议转换。
首先,本实例中,当该系统ForCES控制件下发的是关于ipv4转发相关的LFB的控制 消息,该控制消息经转换后下发到OpenFlow交换机,需要经历如下步骤:
步骤(1):ForCES控制件首先向协议转换装置下发与ipv4转发相关的LFB的控制消 息;
步骤(2):协议转换装置中的ForCES消息分析模块对步骤(1)下发来的控制消息进 行解析处理,发现该控制消息是关于业务数据转发策略的控制消息,故将该控制消息下发 给协议转换装置中的OpenFlow协议转换模块;
步骤(3):OpenFlow协议转换模块收到控制消息后,将其转换映射到适用于 OpenFlow交换机的用于控制流表转发的OpenFlow协议消息,下面以EtherMACInLFB映射转 换为OpenFlow协议流表控制消息为例来说明ForCES协议转换为OpenFlow协议的具体过程。
EtherMACInLFB到相应OpenFlow流表的转换具体如下:
该流表的作用是从链路中接受目的地址匹配的数据包,并将数据包转发到下一个 流表中处理。也就是EtherMACInLFB的映射,将LocalMACAddresses属性映射为匹配域中的 目的MAC地址。该流表中用于和接收到的数据包进行匹配的匹配与涵盖了ISO网络模型中L2 至L4的网络配置信息。该匹配域中的数值是一个是“ANY”以支持对任意值的匹配。动作是用 于指示OpenFlow转发设备在接受到成功匹配的数据包后该进行什么样的处理。该流表的动 作是Output,Output用于将数据包输出到指定端口。如表A-1,表A-2所示,该流表的作用就 是端口10接受所有发送给它的流表,并将数据流转发到流表ID为2的流表中,并从它的30端 口进入。其中同一个物理转发设备映射所有虚拟转发设备的端口以及flowtableID是唯一 的。
表A-1接受流表匹配域中值
表A-2接受流表动作值
上述步骤给出了与ipv4转发相关的EtherMACInLFB到相应OpenFlow流表的转换具 体过程,实现了将ForCES控制件中的对LFB的控制消息转换为适用于OpenFlow交换机的流 表的控制消息,其它LFB根据相应LFB的定义和功能,与此类似可以映射转换为相应的 OpenFlow交换机流表。
步骤(4):步骤(3)中OpenFlow协议转换模块将映射转换后的适用于OpenFlow交换 机的流表控制消息下发到协议转换装置中的OpenFlow交换机消息处理模块;
步骤(5):OpenFlow交换机消息处理模块接收到步骤(4)下发的控制消息后,判断 出该控制消息是用于控制OpenFlow交换机流表转发的控制消息,然后将其下发到OpenFlow 交换机;
步骤(6):OpenFlow交换机收到步骤(5)的控制消息后,用与控制相应的OpenFlow 交换机流表的转发。
其次,本实例中,当该系统ForCES控制件下发的是关于转发件属性配置相关的LFB 的控制消息,该控制消息经转换后下发到OpenFlow交换机,需要经历如下步骤:
步骤(1):ForCES控制件首先向协议转换装置下发关于转发件属性配置相关的LFB 的控制消息;
步骤(2):协议转换装置中的ForCES消息分析模块对步骤(1)下发来的控制消息进 行解析处理,发现该控制消息是关于结点配置的控制消息,故将该控制消息下发给协议转 换装置中的OF-CONFIG协议转换模块;
步骤(3):OF-CONFIG协议转换模块收到控制消息后,将其转换映射到适用于 OpenFlow交换机的用于配置OpenFlow交换机的控制消息,下面以逻辑功能块EhterPHYCop 映射转换为OF-CONFIG协议的配置OpenFlow交换机的控制消息为例来说明ForCES协议转换 为OF-CONFIG协议的具体过程。
逻辑功能块EhterPHYCop到相应OF-CONFIG协议的转换具体如下:
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协议的映射。
步骤(4):步骤(3)中OF-CONFIG协议转换模块将映射转换后的用于配置OpenFlow 交换机控制消息下发到协议转换装置中的OpenFlow交换机消息处理模块;
步骤(5):OpenFlow交换机消息处理模块接收到步骤(4)下发的控制消息后,判断 出该控制消息是用于配置OpenFlow交换机的控制消息,然后将其下发到OpenFlow交换机;
步骤(6):OpenFlow交换机收到步骤(5)的控制消息后,用与完成对OpenFlow交换 机的配置。
机译: 基于openflow协议的资源控制方法,系统及装置
机译: OpenFlow交换机和OpenFlow控制器的平稳重启处理方法
机译: 结合传统交换机协议功能和SDN功能的混合openFlow方法