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

文档序号:8322175阅读:985来源:国知局
OpenFlow交换机上实现跨交换机链路聚合的系统及方法
【技术领域】
[0001]本发明涉及以太网链路聚合技术领域,尤其是涉及一种基于OpenFlow协议实现跨交换机链路聚合的系统及方法。
【背景技术】
[0002]在数据中心组网里,传统交换机的MLAG(Multi_Chassis Link Aggregat1n,跨交换机链路聚合)技术通过将服务器上联的两台接入交换机或接入交换机上联的两台汇聚交换机虚拟成一台设备,来让服务器或接入交换机设备可以通过LACP协议(LinkAggregat1n Control Protocol,链路汇聚控制协议)来实现跨设备的链路聚合,在实现负载均衡的同时又可以实现故障保护。
[0003]但是,上述现有技术需要在交换机上运行MLAG同步协议来同步交换机状态,增加了控制的复杂度,不利于实现控制平面与转发平台的分离。
[0004]且,MLAG同步协议目前尚未标准化,各大厂商均采用自己的私有协议实现,因此,不同厂商间的设备无法组成MLAG,从而容易产生厂商锁定(Vendor Lock-1n),不利于用户的选择。

【发明内容】

[0005]本发明的目的在于克服现有技术的缺陷,提供一种OpenFlow交换机上实现跨交换机链路聚合的系统及方法,通过标准化的OpenFlow协议,来实现MLAG技术,以使OpenFlow交换机在接入非OpenFlow设备(服务器或传统接入交换机)时,能够为所接入的非OpenFlow设备提供负载分担和故障保护功能,解决传统交换机不同厂商间MLAG同步协议不能互通的问题。
[0006]为实现上述目的,本发明提出如下技术方案:一种OpenFlow交换机上实现跨交换机链路聚合的系统,包括OpenFlow控制器、OpenFlow交换机和接入到所述OpenFlow交换机上的非OpenFlow设备,所述OpenFlow控制器上建构有一个MLAG应用,所述MLAG应用触发所述OpenFlow控制器经所述OpenFlow交换机向所述非OpenFlow设备发送LACP报文,且所述OpenFlow交换机将从所述非OpenFlow设备接收到的LACP报文由所述OpenFlow控制器发送给所述MLAG应用处理;所述MLAG应用通过比对接收到的由多台所述OpenFlow交换机发送的LACP报文的系统标识是否唯一以及LACP报文的密钥是否与管理员配置的一致,来确定多台所述OpenFlow交换机是否组成MLAG实例,若组成,则触发所述MLAG应用内的流表或组表下发及更新。
[0007]优选地,所述非OpenFlow设备包括传统的以太网交换机或服务器。
[0008]优选地,所述MLAG应用包括MLAG实例管理模块、MLAG保护处理模块、LACP协议模块和流表管理模块,在所述MLAG应用到所述OpenFlow交换机的方向,所述LACP协议模块定时触发所述OpenFlow控制器向所述OpenFlow交换机发送LACP报文,由所述OpenFlow交换机通过指定OpenFlow端口发送给所述非OpenFlow设备;在所述OpenFlow交换机到所述MLAG应用的方向,由所述OpenFlow交换机将从所述非OpenFlow设备所连接的OpenFlow端口上收到的LACP报文发送给所述OpenFlow控制器,由OpenFlow控制器通知给所述MLAG应用进行处理。
[0009]优选地,所述MLAG实例管理模块用于创建所述MLAG实例,一个所述MLAG实例的组成数据包括主OpenFlow交换机、备OpenFlow交换机、主OpenFlow交换机MLAG成员端口、备OpenFlow交换机MLAG成员端口、LACP系统标识和密钥,或所述MLAG实例管理模块的数据包括主OpenFlow交换机、备OpenFlow交换机、主OpenFlow交换机MLAG成员端口、备OpenFlow交换机MLAG成员端口、LACP系统标识和密钥、以及用于故障切换的peer-1 ink链路。
[0010]优选地,所述MLAG保护处理模块用于监控所述MLAG实例管理模块的主OpenFlow交换机的状态,当所述主OpenFlow交换机节点故障时,则将所述备OpenFlow交换机切换为主状态;当所述主OpenFlow交换机MLAG成员端口故障时,若设置有所述peer_link链路,则主换机上所下发的OpenFlow快速故障倒换组表将业务直接切换到所述peer_link链路转发;若未设置所述peer-link链路,则关闭所述主OpenFlow交换机与其上游的汇聚网络相连的端口,将LACP报文引流到所述备OpenFlow交换机上转发。
[0011 ] 优选地,所述LACP协议模块将所述主、备OpenFlow交换机上发送的LACP报文的所述系统标识设置为相同值。
[0012]优选地,所述流表管理模块用于配置所述OpenFlow交换机到所述非OpenFlow设备方向的基于以太网二层转发的流表。
[0013]优选地,若未设置所述peer-link链路,则在所述备OpenFlow交换机上同步所述主OpenFlow交换机向所述接入设备的流表;若设置有所述peer-link链路,则采用OpenFlow快速故障倒换组进行本地保护。
[0014]优选地,所述汇聚网络由二层或三层以太网交换机组成。
[0015]本发明的另一目的在于,提供一种OpenFlow交换机上实现跨交换机链路聚合的方法,包括以下步骤:
[0016]所述MLAG应用触发所述OpenFlow控制器经所述OpenFlow交换机向所述非OpenFlow设备发送LACP报文;
[0017]所述OpenFlow交换机将从所述非OpenFlow设备接收到的LACP报文由所述OpenFlow控制器发送给所述MLAG应用处理;
[0018]所述MLAG应用通过比对接收到的由多台所述OpenFlow交换机发送的LACP报文的系统标识是否唯一以及LACP报文的密钥是否与管理员配置的一致,来确定多台所述OpenFlow交换机是否组成MLAG实例,若组成,则触发所述MLAG应用内的流表或组表下发及更新。
[0019]优选地,所述LACP协议模块定时触发所述OpenFlow控制器向所述OpenFlow交换机发送LACP报文,由所述OpenFlow交换机通过指定OpenFlow端口发送给所述非OpenFlow设备;所述OpenFlow交换机将从所述非OpenFlow设备所连接的OpenFlow端口上收到的LACP报文发送给所述OpenFlow控制器,由OpenFlow控制器通知给所述MLAG应用进行处理。
[0020]本发明的有益效果是:
[0021]1、本发明通过标准化的OpenFlow协议,来实现MLAG技术,OpenFlow协议具有整网全局视野,能管理多台以太网交换机,因此可以全局性的进行转发表项的控制,不需要在以太网交换机间运行复杂的同步协议。
[0022]2、本发明不受厂商私有MLAG实现的限制,对于支持OpenFlow 1.1及以上标准的以太网交换机系统,均可以通过该技术方案实现接入设备的保护和负载分担。
[0023]3、本发明既适用于硬件OpenFlow交换机,也适用于软件OpenFlow交换机。
【附图说明】
[0024]图1是本发明实施例部署的MLAG应用的一个组网示意图;
[0025]图2是本发明OpenFlow控制器和建构的MLAG应用的架构示意图;
[0026]图3是本发明MLAG应用与OpenFlow交换机和服务器之间的交互流程示意图;
[0027]图4是本发明OpenFlow交换机上实现跨交换机链路聚合的方法的流程示意图。
【具体实施方式】
[0028]下面将结合本发明的附图,对本发明实施例的技术方案进行清楚、完整的描述。
[0029]如图1所示,为本发明实施例部署的MLAG应用的一个实际场景,图中包括Op enF I ο w控制器、Op enF I ο w交换机上游的传统汇聚网络和下游的Op enF I ο w接入网络,传统汇聚网络由非OpenFlow交换机,即传统二层或三层(L2/L3)以太网交换机组成,负责不同OpenFlow接入网络的流量汇聚互通,OpenFlow接入网络内包括两台OpenFlow交换机和两台业务服务器,两台OpenFlow交换机用于接受运行在OpenFlow控制器之上的MLAG应用的管理,组成MLAG实例,且负责对下游业务服务器的接入。MLAG实例通常组件在两台交换机之间。
[0030]如图2所示,为本发明OpenFlow控制器和建构的MLAG应用架构图。OpenFlow控制器用于根据OpenFlow协议提供的报文发送机制发送LACP报文给OpenFlow交换机,且将从OpenFlow交换机接收到的LACP报文发送给MLAG应用进行处理。OpenFlow控制器可以采用现有主流的开放源代码软件实现,如OpenDayLight、RYU软件等。
[0031]MLAG应用建构在OpenFlow控制器上,该应用基于OpenFlow控制器提供的接口开发而成,与操作系统与其上开发的软件的关系类似。如图1所示的MLAG应用的功能组件框图,MLAG应用包括MLAG实例管理模块、MLAG保护处理模块、LACP协议模块和流表管理模块,MLAG实例管理模块用于MLAG实例的创建,一个MLAG实例的组成数据包括:主OpenFlow交换机、备OpenFlow交换机、主OpenFlow交换机MLAG成员端口、备OpenFlow交换机MLAG成员端口、共享的LACP系统标识(System-1d)和密钥(key),再加上可选的用于故障切换的peer-link链路。其中主OpenFlow交换机、备OpenFlow交换机由OpenFlow数据平面标识(OpenFlow datapath id)标识。
[0032]MLAG保护处理模块用于监控MLAG主OpenFlow交换机的状态。主OpenFlow交换机节点故障时(表现为主OpenFlow交换机与控制器连接中断),则要将备OpenFlow交换机切换为主状态,此时由于备OpenFlow交换机(即原来的主OpenFlow交换机设备)还未上线,还不能按主设备那样去下发流表,等备OpenFlow交换机设备重新上线后,再根据预置的流表规则重新对主OpenFlow交换机设备或备OpenFlow交换机设备的流表进行编程。预置的流表规则在下面有介绍。
[0033]具体地,当主OpenFlow交换机MLAG成员端口故障时,如果没有设置peer-link链路,则需要关闭主OpenFlow交换机与上游OpenFlow交换机相连的端口,以引流至备OpenFlow交换机转发;如果设置了 peer-link链路,则直接靠OpenFlow
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1