首页> 中国专利> OpenFlow交换机上实现跨交换机链路聚合的系统及方法

OpenFlow交换机上实现跨交换机链路聚合的系统及方法

摘要

本发明揭示了一种OpenFlow交换机上实现跨交换机链路聚合的系统及方法,通过在OpenFlow控制器上建构一MLAG应用,MLAG应用触发OpenFlow控制器经OpenFlow交换机向非OpenFlow设备发送LACP报文,且OpenFlow交换机将从非OpenFlow设备接收到的LACP报文由OpenFlow控制器发送给MLAG应用处理。本发明通过标准化的OpenFlow协议,来实现MLAG技术,以使OpenFlow交换机在接入非OpenFlow设备时,能够为所接入的非OpenFlow设备提供负载分担和故障保护功能,解决传统以太网交换机不同厂商间MLAG同步协议不能互通的问题。

著录项

  • 公开/公告号CN104639464A

    专利类型发明专利

  • 公开/公告日2015-05-20

    原文格式PDF

  • 申请/专利权人 盛科网络(苏州)有限公司;

    申请/专利号CN201510009888.X

  • 发明设计人 张东亚;

    申请日2015-01-09

  • 分类号H04L12/891(20130101);H04L12/931(20130101);

  • 代理机构32256 南京利丰知识产权代理事务所(特殊普通合伙);

  • 代理人王锋

  • 地址 215000 江苏省苏州市工业园区星汉街5号B幢4楼13/16单元

  • 入库时间 2023-12-18 08:49:45

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-06-15

    授权

    授权

  • 2015-06-17

    实质审查的生效 IPC(主分类):H04L12/891 申请日:20150109

    实质审查的生效

  • 2015-05-20

    公开

    公开

说明书

技术领域

本发明涉及以太网链路聚合技术领域,尤其是涉及一种基于OpenFlow 协议实现跨交换机链路聚合的系统及方法。

背景技术

在数据中心组网里,传统交换机的MLAG(Multi-Chassis Link  Aggregation,跨交换机链路聚合)技术通过将服务器上联的两台接入交换 机或接入交换机上联的两台汇聚交换机虚拟成一台设备,来让服务器或接 入交换机设备可以通过LACP协议(Link Aggregation Control Protocol,链 路汇聚控制协议)来实现跨设备的链路聚合,在实现负载均衡的同时又可 以实现故障保护。

但是,上述现有技术需要在交换机上运行MLAG同步协议来同步交换 机状态,增加了控制的复杂度,不利于实现控制平面与转发平台的分离。

且,MLAG同步协议目前尚未标准化,各大厂商均采用自己的私有协 议实现,因此,不同厂商间的设备无法组成MLAG,从而容易产生厂商锁 定(Vendor Lock-in),不利于用户的选择。

发明内容

本发明的目的在于克服现有技术的缺陷,提供一种OpenFlow交换机上 实现跨交换机链路聚合的系统及方法,通过标准化的OpenFlow协议,来实 现MLAG技术,以使OpenFlow交换机在接入非OpenFlow设备(服务器 或传统接入交换机)时,能够为所接入的非OpenFlow设备提供负载分担和 故障保护功能,解决传统交换机不同厂商间MLAG同步协议不能互通的问 题。

为实现上述目的,本发明提出如下技术方案:一种OpenFlow交换机上 实现跨交换机链路聚合的系统,包括OpenFlow控制器、OpenFlow交换机 和接入到所述OpenFlow交换机上的非OpenFlow设备,所述OpenFlow控 制器上建构有一个MLAG应用,所述MLAG应用触发所述OpenFlow控制 器经所述OpenFlow交换机向所述非OpenFlow设备发送LACP报文,且所 述OpenFlow交换机将从所述非OpenFlow设备接收到的LACP报文由所述 OpenFlow控制器发送给所述MLAG应用处理;所述MLAG应用通过比对 接收到的由多台所述OpenFlow交换机发送的LACP报文的系统标识是否 唯一以及LACP报文的密钥是否与管理员配置的一致,来确定多台所述 OpenFlow交换机是否组成MLAG实例,若组成,则触发所述MLAG应用 内的流表或组表下发及更新。

优选地,所述非OpenFlow设备包括传统的以太网交换机或服务器。

优选地,所述MLAG应用包括MLAG实例管理模块、MLAG保护处 理模块、LACP协议模块和流表管理模块,在所述MLAG应用到所述 OpenFlow交换机的方向,所述LACP协议模块定时触发所述OpenFlow控 制器向所述OpenFlow交换机发送LACP报文,由所述OpenFlow交换机通 过指定OpenFlow端口发送给所述非OpenFlow设备;在所述OpenFlow交 换机到所述MLAG应用的方向,由所述OpenFlow交换机将从所述非 OpenFlow设备所连接的OpenFlow端口上收到的LACP报文发送给所述 OpenFlow控制器,由OpenFlow控制器通知给所述MLAG应用进行处理。

优选地,所述MLAG实例管理模块用于创建所述MLAG实例,一个 所述MLAG实例的组成数据包括主OpenFlow交换机、备OpenFlow交换 机、主OpenFlow交换机MLAG成员端口、备OpenFlow交换机MLAG成 员端口、LACP系统标识和密钥,或所述MLAG实例管理模块的数据包括 主OpenFlow交换机、备OpenFlow交换机、主OpenFlow交换机MLAG成 员端口、备OpenFlow交换机MLAG成员端口、LACP系统标识和密钥、 以及用于故障切换的peer-link链路。

优选地,所述MLAG保护处理模块用于监控所述MLAG实例管理模 块的主OpenFlow交换机的状态,当所述主OpenFlow交换机节点故障时, 则将所述备OpenFlow交换机切换为主状态;当所述主OpenFlow交换机 MLAG成员端口故障时,若设置有所述peer-link链路,则主换机上所下发 的OpenFlow快速故障倒换组表将业务直接切换到所述peer-link链路转发; 若未设置所述peer-link链路,则关闭所述主OpenFlow交换机与其上游的 汇聚网络相连的端口,将LACP报文引流到所述备OpenFlow交换机上转 发。

优选地,所述LACP协议模块将所述主、备OpenFlow交换机上发送 的LACP报文的所述系统标识设置为相同值。

优选地,所述流表管理模块用于配置所述OpenFlow交换机到所述非 OpenFlow设备方向的基于以太网二层转发的流表。

优选地,若未设置所述peer-link链路,则在所述备OpenFlow交换机 上同步所述主OpenFlow交换机向所述接入设备的流表;若设置有所述 peer-link链路,则采用OpenFlow快速故障倒换组进行本地保护。

优选地,所述汇聚网络由二层或三层以太网交换机组成。

本发明的另一目的在于,提供一种OpenFlow交换机上实现跨交换机链 路聚合的方法,包括以下步骤:

所述MLAG应用触发所述OpenFlow控制器经所述OpenFlow交换机 向所述非OpenFlow设备发送LACP报文;

所述OpenFlow交换机将从所述非OpenFlow设备接收到的LACP报文 由所述OpenFlow控制器发送给所述MLAG应用处理;

所述MLAG应用通过比对接收到的由多台所述OpenFlow交换机发送 的LACP报文的系统标识是否唯一以及LACP报文的密钥是否与管理员配 置的一致,来确定多台所述OpenFlow交换机是否组成MLAG实例,若组 成,则触发所述MLAG应用内的流表或组表下发及更新。

优选地,所述LACP协议模块定时触发所述OpenFlow控制器向所述 OpenFlow交换机发送LACP报文,由所述OpenFlow交换机通过指定 OpenFlow端口发送给所述非OpenFlow设备;所述OpenFlow交换机将从 所述非OpenFlow设备所连接的OpenFlow端口上收到的LACP报文发送给 所述OpenFlow控制器,由OpenFlow控制器通知给所述MLAG应用进行 处理。

本发明的有益效果是:

1、本发明通过标准化的OpenFlow协议,来实现MLAG技术,OpenFlow 协议具有整网全局视野,能管理多台以太网交换机,因此可以全局性的进 行转发表项的控制,不需要在以太网交换机间运行复杂的同步协议。

2、本发明不受厂商私有MLAG实现的限制,对于支持OpenFlow 1.1 及以上标准的以太网交换机系统,均可以通过该技术方案实现接入设备的 保护和负载分担。

3、本发明既适用于硬件OpenFlow交换机,也适用于软件OpenFlow 交换机。

附图说明

图1是本发明实施例部署的MLAG应用的一个组网示意图;

图2是本发明OpenFlow控制器和建构的MLAG应用的架构示意图;

图3是本发明MLAG应用与OpenFlow交换机和服务器之间的交互流 程示意图;

图4是本发明OpenFlow交换机上实现跨交换机链路聚合的方法的流程 示意图。

具体实施方式

下面将结合本发明的附图,对本发明实施例的技术方案进行清楚、完 整的描述。

如图1所示,为本发明实施例部署的MLAG应用的一个实际场景,图 中包括OpenFlow控制器、OpenFlow交换机上游的传统汇聚网络和下游的 OpenFlow接入网络,传统汇聚网络由非OpenFlow交换机,即传统二层或 三层(L2/L3)以太网交换机组成,负责不同OpenFlow接入网络的流量汇 聚互通,OpenFlow接入网络内包括两台OpenFlow交换机和两台业务服务 器,两台OpenFlow交换机用于接受运行在OpenFlow控制器之上的MLAG 应用的管理,组成MLAG实例,且负责对下游业务服务器的接入。MLAG 实例通常组件在两台交换机之间。

如图2所示,为本发明OpenFlow控制器和建构的MLAG应用架构图。 OpenFlow控制器用于根据OpenFlow协议提供的报文发送机制发送LACP 报文给OpenFlow交换机,且将从OpenFlow交换机接收到的LACP报文发 送给MLAG应用进行处理。OpenFlow控制器可以采用现有主流的开放源 代码软件实现,如OpenDayLight、RYU软件等。

MLAG应用建构在OpenFlow控制器上,该应用基于OpenFlow控制器 提供的接口开发而成,与操作系统与其上开发的软件的关系类似。如图1 所示的MLAG应用的功能组件框图,MLAG应用包括MLAG实例管理模 块、MLAG保护处理模块、LACP协议模块和流表管理模块,MLAG实例 管理模块用于MLAG实例的创建,一个MLAG实例的组成数据包括:主 OpenFlow交换机、备OpenFlow交换机、主OpenFlow交换机MLAG成员 端口、备OpenFlow交换机MLAG成员端口、共享的LACP系统标识 (System-id)和密钥(key),再加上可选的用于故障切换的peer-link链路。 其中主OpenFlow交换机、备OpenFlow交换机由OpenFlow数据平面标识 (OpenFlow datapath id)标识。

MLAG保护处理模块用于监控MLAG主OpenFlow交换机的状态。主 OpenFlow交换机节点故障时(表现为主OpenFlow交换机与控制器连接中 断),则要将备OpenFlow交换机切换为主状态,此时由于备OpenFlow交 换机(即原来的主OpenFlow交换机设备)还未上线,还不能按主设备那样 去下发流表,等备OpenFlow交换机设备重新上线后,再根据预置的流表规 则重新对主OpenFlow交换机设备或备OpenFlow交换机设备的流表进行编 程。预置的流表规则在下面有介绍。

具体地,当主OpenFlow交换机MLAG成员端口故障时,如果没有设 置peer-link链路,则需要关闭主OpenFlow交换机与上游OpenFlow交换机 相连的端口,以引流至备OpenFlow交换机转发;如果设置了peer-link链 路,则直接靠OpenFlow快速故障倒换组(OpenFlow fast failover group)的 逻辑在交换机层直接切换处理,即主换机上所下发的OpenFlow快速故障倒 换组表将业务直接切换到所述peer-link链路转发。

LACP协议模块用于将主、备OpenFlow交换机虚拟化成一台设备,即 通过将主、备OpenFlow交换机设备上发送的LACP报文的系统标识 (system-id)设置成相同的值,以“欺骗”所接入的设备认为接入了单台 设备,LACP报文中的密钥(key)可由用户根据情况指定。

流表管理模块用于配置OpenFlow交换机到业务服务器方向的基于以 太网二层转发的流表。如果没有设置peer-link链路,则在备OpenFlow交 换机上同步主OpenFlow交换机向所接入设备的流表即可,不采用 OpenFlow快速故障倒换组(group)进行OpenFlow交换机本地保护。相应 的流表规则如下:

主OpenFlow交换机流表设置:

match_field:接入设备表项标识,如以太网目的MAC地址(ethernet  destination mac address);

action:输出到本地成员MLAG端口。

备OpenFlow交换机流表设置:

match_field:接入设备表项标识;

action:输出到本地成员MLAG端口。

如果设置了peer-link链路时,则需要采用OpenFlow快速故障倒换组 进行本地保护,相应的流表规则如下:

主OpenFlow交换机流表设置:

match_field:接入设备表项标识;

action:group,该group为快速故障倒换类型的组,其成员负载分担桶 (bucket)分别为:主bucket:输出到本地成员MLAG端口;备bucket: 输出到peer-link链路,如果peer-link为一组链路,则这里采用再嵌套一个 负载分担组(select group)的方案,该select group的成员为该组链路。

备OpenFlow交换机流表设置:

match_field:接入设备表项标识;

action:输出到本地成员MLAG端口。

结合图3和图4所示,本发明OpenFlow交换机上实现跨交换机链路聚 合的方法,具体过程如下:

图3中,MLAG应用和OpenFlow交换机双向上,LACP报文收发(1) 过程具体为:在MLAG应用到OpenFlow交换机方向,由MLAG应用的 LACP协议模块定时触发,通过OpenFlow协议提供的报文发送机制向交换 发送LACP协议报文,由OpenFlow交换机通过指定OpenFlow端口1发送 给业务服务器;在OpenFlow交换机到MLAG应用方向,则由OpenFlow 交换机将从服务器所连接的OpenFlow端口1上收到的LACP报文发送给 OpenFlow控制器,由OpenFlow控制器通知给MLAG应用进行处理。

MLAG应用将通过比对从两台交换机上OpenFlow端口1上收包的 LACP报文的System id参数是否唯一,以及Key是否与管理员配置的一致 来确定是否能够组成MLAG实例,一旦组成则触发流表或组表下发及更新。

OpenFlow交换机和服务器双向上,LACP报文收发(2)过程具体为: OpenFlow交换机将根据OpenFlow控制器的报文发送命令将LACP协议发 送指定OpenFlow端口1,并将从OpenFlow端口1收到的LACP报文发送 给OpenFlow控制器。

流表或组表下发及更新(3)过程为:OpenFlow交换机将根据前述流 表配置规则,配置OpenFlow交换机上转发到服务器的流表。

端口状态上报(4)过程为:OpenFlow交换机将本地的OpenFlow端口 1的状态变化通知给OpenFlow控制器,OpenFlow控制器再通知MLAG应 用,由MLAG应用根据上述切换规则进行流表更新。

若从一台业务服务器的角度看,认为是在和一台交换机的两条链路上 进行链路聚合,则能够聚合成功。

本发明的技术内容及技术特征已揭示如上,然而熟悉本领域的技术人 员仍可能基于本发明的教示及揭示而作种种不背离本发明精神的替换及修 饰,因此,本发明保护范围应不限于实施例所揭示的内容,而应包括各种 不背离本发明的替换及修饰,并为本专利申请权利要求所涵盖。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号