一种基于开放流协议的lacp环路检测方法和装置制造方法

文档序号:8000341阅读:427来源:国知局
一种基于开放流协议的lacp环路检测方法和装置制造方法
【专利摘要】本申请公开了一种基于开放流(OpenFlow)协议的链路汇聚控制协议(LACP)环路检测方法,该方法包括:虚拟边缘端口汇聚(VEPA)交换机通过该聚合组中的各上行端口向所述边缘交换机周期发送链路汇聚控制协议数据单元(LACPDU)报文用于进行环路检测,当通过聚合组中的任一上行端口接收到本端发送的用于环路检测的LACPDU报文时,确定VPEA交换机和所述边缘交换机之间出现了环路,保留该聚合组中的一个上行端口正常工作,关闭其他上行端口。基于同样的发明构思,本申请还提出一种装置,能够保证VPEA交换机和边缘交换机之间流量的正常转发。
【专利说明】-种基于开放流协议的LACP环路检测方法和装置

【技术领域】
[0001] 本申请涉及通信【技术领域】,特别涉及一种基于开放流协议的链路汇聚控制协议 (Link Aggregation Control Protocol,LACP)环路检测方法和装置。

【背景技术】
[0002] 随着数据中心业务日益增加,用户需求不断提高,数据中心的规模和功能日趋复 杂,管理难度也越来越高。在这一背景下,整合数据中心、降低数据中心的管理成本,充分挖 掘现有资源能力以适应更高的业务需求,成为企业数据中心的重要任务。对数据中心资源 进行虚拟化,成为目前数据中心整合的重要趋势。
[0003] 虚拟化技术通过对物理资源和提供的服务进行抽象化,让资源使用者和系统管理 者不关心对象的物理特征和服务边界的细节,从而降低资源使用和管理的复杂度,提高使 用效率。因而,对数据中心的虚拟化能够提高数据中心的资源利用率,如中央处理器(CPU) 利用率、存储容量等,降低系统的能耗,并减少系统的设计、运行、管理、维护成本,从而实现 整合的目标。
[0004] 数据中心的虚拟化技术主要包括3方面内容:网络虚拟化、存储虚拟化和服务器 虚拟化,最主要的是服务器虚拟化。通过专用的虚拟化软件,如VMware管理,一台物理服务 器能虚拟出多台虚拟机(VM),每个VM独立运行,互不影响,都有自己的操作系统和应用程 序和虚拟的硬件环境,包括虚拟CPU、内存、存储设备、10设备、虚拟边缘端口汇聚(Virtual Edge Port Aggregator,VEPA)交换机等。
[0005] 边缘虚拟桥接技术(Edge Virtual Bridging, EVB)技术分为交换机EVB技术和服 务器EVB技术。服务器EVB技术应用于数据中心服务器,在其上的VEPA交换机中实现,用 于简化虚拟服务器的流量转发实现,对虚拟服务器的网络交换、流量管理和策略下发进行 集中控制,并能在虚拟迁移时实现网络管理和策略的自动迁移。
[0006] 支持EVB的VEPA交换机分为虚拟边缘交换机(Virtual Ethernet Bridge, VEB) 和VEPA。在服务器上采用纯软件方式实现的VEB实现方式简单,且技术兼容性好,但也面临 着诸如占用CPU资源导致虚拟机性能下降,存在虚拟机流量监管、虚拟机的网络策略实施 以及管理可扩展性等问题。
[0007] VEPA将虚拟机产生的网络流量全部交由与服务器相连的物理交换机进行处理,即 使同一台服务器上的虚拟机间流量,也将在物理交换机上查表处理后,再回到目的虚拟机 上。VEPA方式不仅借助物理交换机解决了虚拟机间流量转发,同时还实现了对虚拟机流量 的监管,并且将虚拟机接入层网络纳入到传统服务器接入网络管理体系中。
[0008] 开放流(OpenFlow)是斯坦福大学发起的一种网络技术,它使传统的二层和三层交 换机具备了细粒度流转发能力,即传统的基于MAC的网包转发,基于IP的路由转发,被拓展 到了基于多域网包包头描述的流转发。同时,传统的控制层面从转发设备中剥离出来,所有 转发行为的决策从交换机自身迁移到了某个集中控制器上。
[0009] 每个OpenFlow交换机都有一张流表,进行包查找和转发。交换机可以通过 OpenFlow协议经一个安全通道连接到外部OpenFlow控制器,对流表进行查询和管理。
[0010] 流表包括包头域(header fileds),匹配包头多个域;活动计数器(counters)域、 〇个或多个执行行动(actions)域。对每一个包进行查找,如果匹配则执行相关策略,否则 通过安全通道将包转发到OpenFlow控制器,OpenFlow控制器来决策相关行为。流表项可 以将包转发到一个或者多个接口。
[0011] 参见图1,图1为基于OpenFlow协议的VEPA组网示意图。图1中服务器虚拟3个 虚拟机VM和一个VEPA交换机,VEPA交换机具有OpenFlow功能,其中,端口 1和端口 2为 VEPA交换机的两个上行端口,端口 3和端口 4为边缘交换机的两个下行端口,且端口 1和端 口 2同端口 3和端口 4进行聚合。
[0012] 若OpenFlow控制器下发流表错误或VEPA交换机出现故障,端口 3和端口 4之间 可能出现环路,将导致流量无法正常转发,上下行流量转发混乱,导致交换机及服务器端异 常,甚至于网络瘫痪。


【发明内容】

[0013] 有鉴于此,本申请提供一种基于开放流协议的LACP环路检测方法和装置,能够保 证VPEA交换机和边缘交换机之间流量的正常转发。
[0014] 为解决上述技术问题,本发明的技术方案是这样实现的:
[0015] 一种基于开放流OpenFlow协议的链路汇聚控制协议LACP环路检测方法,该方法 应用于包含OpenFlow控制器、服务器和边缘交换机的组网中的服务器上,所述服务器虚拟 多个虚拟机VM和一个虚拟边缘端口汇聚VEPA交换机,VEPA交换机的上行端口同所述边缘 交换机的下行端口进行聚合,形成聚合组,包括:
[0016] 该VEPA交换机通过所述聚合组中的各上行端口向边缘交换机周期发送链路汇聚 控制协议数据单元LACPDU报文;
[0017] 该VEPA交换机通过所述聚合组中的任一上行端口接收到所述边缘交换机发送的 LACPDU报文时,若确定接收的LACPDU报文为本VEPA交换机通过所述聚合组中的上行端口 发送的LACPDU报文,保留该聚合组中的上行端口中的一个端口正常工作,关闭其他上行端 □。
[0018] 一种装置,该装置可应用于服务器虚拟的虚拟边缘端口汇聚VEPA交换机上,该服 务器还虚拟多个虚拟机VM,该服务器为还包含开放流OpenFlow控制器、和边缘交换机的组 网中的服务器,所述VEPA交换机的上行端口同所述边缘交换机的下行端口进行聚合,形成 聚合组,该装置包括:收发单元和处理单元;
[0019] 所述收发单元,用于通过所述聚合组中的各上行端口向边缘交换机周期发送链路 汇聚控制协议数据单元LACPDU报文;通过所述聚合组中的上行端口接收所述边缘交换机 发送的LACPDU报文;
[0020] 所述处理单元,用于当所述收发单元接通过所述聚合组中的任一上行端口接收到 所述边缘交换机发送的LACPDU报文时,若确定接收的LACPDU报文为本VEPA交换机通过所 述聚合组中的上行端口发送的LACPDU报文,保留该聚合组中的上行端口中的一个端口正 常工作,关闭其他上行端口。
[0021] 综上所述,本申请通过VEPA交换机通过该聚合组中的各上行端口向所述边缘交 换机周期发送LACPDU报文用于进行环路检测,当通过聚合组中的任一上行端口接收到本 端发送的用于环路检测的LACPDU报文时,确定VPEA交换机和所述边缘交换机之间出现了 环路,保留该聚合组中的一个上行端口正常工作,关闭其他上行端口,能够保证VPEA交换 机和边缘交换机之间流量的正常转发。

【专利附图】

【附图说明】
[0022] 图1为基于OpenFlow协议的VEPA组网不意图;
[0023] 图2为本发明具体实施例中基于OpenFlow协议的LACP环路检测方法流程示意 图;
[0024] 图3为本发明具体实施例中确定接收的LACP报文是否为VEPA交换机发送的LACP 扩展报文的方法流程示意图;
[0025] 图4为本发明具体实施例中应用于上述技术的装置的结构示意图。

【具体实施方式】
[0026] 为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对 本发明所述方案作进一步地详细说明。
[0027] 本发明实施例中提出一种基于OpenFlow协议的LACP环路检测方法,该方法应用 于包含OpenFlow控制器、服务器和边缘交换机的组网中的服务器上,所述服务器虚拟多个 虚拟机VM和一个虚拟边缘端口汇聚VEPA交换机,VEPA交换机的上行端口同所述边缘交换 机的下行端口进行聚合,形成聚合组。
[0028] VEPA交换机将需要聚合的上行端口加入一个聚合组,边缘交换机将需要聚合的下 行端口加入一个聚合组,VEPA交换机和边缘交换机通过加入聚合的上行端口和下行端口发 送LACP报文进行聚合。具体实现聚合的过程同现有实现,这里不再详细描述。
[0029] VEPA交换机向所述边缘交换机周期发送链路汇聚控制协议数据单元(Link Aggregation Control Protocol Data Unit,LACPDU)报文进行环路检测,当通过聚合组中 的任一上行端口接收到本端发送的用于环路检测的LACPDU报文时,确定VPEA交换机和所 述边缘交换机之间出现了环路,保留该聚合组中的一个上行端口正常工作,关闭其他上行 端口。通过该方法能够保证VPEA交换机和边缘交换机之间流量的正常转发。
[0030] 参见图2,图2为本发明具体实施例中基于OpenFlow协议的LACP环路检测方法流 程示意图。具体步骤为:
[0031] 步骤201,该VEPA交换机通过所述聚合组中的各上行端口向边缘交换机周期发送 LACPDU 报文。
[0032] 本步骤中发送LACPDU报文的周期可以根据实际应用情况具体设置。
[0033] 步骤202,该VEPA交换机通过所述聚合组中的任一上行端口接收到所述边缘交换 机发送的LACPDU报文时,若确定接收的LACPDU报文为本VEPA交换机通过所述聚合组中的 上行端口发送的用于环路检测的LACPDU报文,保留该聚合组中的上行端口中的一个端口 正常工作,关闭其他上行端口。
[0034] 如果在设备和链路正常的情况下,LACPDU报文会在接收端终结掉,不会再向发送 端返回该LACPDU报文。因此本发明具体实施例中通过确定VEPA交换机是否接收到边缘交 换机返回本端发送的LACPDU报文,如果是,则说明VEPA交换机和边缘交换机之间出现了环 路,为了防止环路引起的流量无法正常转发、网络瘫痪等问题,保留聚合组中的一个上行端 口正常工作,关闭其他上行端口。
[0035] 若确定接收的LACPDU报文不为本VEPA交换机通过所述聚合组中的上行端口发送 的LACPDU报文,根据该接收的LACPDU报文的内容对该LACPDU进行处理。具体处理同现有 实现,这里不再一一举例。
[0036] 对于任何能够确定VPEA交换机接收的LACP报文为本VEPA交换机发送出的 LACPDU报文的方法,都可实现本发明具体实施例中提出的环路检测。下面本发明详细给出 一种确定方法。
[0037] 由于VPEA交换机的上行端口和边缘交换机的下行端口进行聚合,在聚合完成后, 需要周期发送LACPDU报文进行聚合链路的信息的通告,因此为了节省资源,本发明具体实 施例中可以通过VPEA边缘交换机和边缘交换之间周期发送的用于通告链路聚合信息的 LACP报文的扩展LACPDU报文实现。
[0038] 参见图3,图3为本发明具体实施例中确定接收的LACP报文是否为VEPA交换机发 送的LACP扩展报文的方法流程示意图。具体步骤为:
[0039] 步骤301,该VEPA交换机通过所述聚合组中的各上行端口向边缘交换机周期发送 通告链路聚合信息的LACP报文的扩展LACPDU报文,且该LACPDU报文的扩展TLV字段携带 MD5 值。
[0040] 本步骤中的MD5值通过本VEPA交换机的系统ID、源MAC地址和所述聚合组的聚合 组ID进行MD5计算得到的信息摘要值。
[0041] MD5算法通过其不可逆的字符串变换算法,可以产生位移的信息摘要值,且不可破 解。
[0042] 步骤302,该VEPA交换机通过所述聚合组中的任一上行端口接收到LACP报文,且 该LACP报文携带MD5值。
[0043] 如果未携带MD5值,即LACPDU报文未增加携带MD5值的TLV,这样的报文默认为不 是本VPEA交换机发送的LACPDU报文,则根据接收的LACPDU报文的内容进行正常处理。
[0044] 步骤303,该VEPA交换机根据本VEPA交换机的系统ID、源MAC地址和所述聚合组 的聚合组ID通过MD5计算获得MD5值,若获得的MD5值与所述LACPDU报文携带的MD5值 相同,保留该聚合组中的上行端口中的一个端口正常工作,关闭其他上行端口。
[0045] 如果该LACPDU报文的扩展TLV携带了 MD5值,该VEPA交换机确定携带的MD5值同 本地进行计算的MD5值是否相同,如果相同,则确定该接收的LACPDU报文为本VPEA交换机 发送的LACPDU报文,确定本VPEA交换机同边缘交换机之间出现了环路,进行相应的处理; 如果不相同,该VEPA交换机根据该LACPDU报文的内容进行处理。
[0046] 当引起环路故障的原因排除后,该聚合组中的上行端口继续正常收发LACP报文。
[0047] 本发明具体实施例中基于同样的发明构思,还提出一种装置,该装置可应用于服 务器虚拟的虚拟边缘端口汇聚VEPA交换机上,该服务器还虚拟多个虚拟机VM,该服务器为 还包含OpenFlow控制器、和边缘交换机的组网中的服务器,所述VEPA交换机的上行端口同 所述边缘交换机的下行端口进行聚合,形成聚合组,参见图4,图4为本发明具体实施例中 应用于上述技术的装置的结构示意图。该装置包括:收发单元401和处理单元402。
[0048] 收发单元401,用于通过所述聚合组中的各上行端口向边缘交换机周期发送 LACPDU报文;通过所述聚合组中的上行端口接收所述边缘交换机发送的LACPDU报文。
[0049] 处理单元402,用于当收发单元401接通过所述聚合组中的任一上行端口接收到 所述边缘交换机发送的LACPDU报文时,若确定接收的LACPDU报文为本VEPA交换机通过所 述聚合组中的上行端口发送的LACPDU报文,保留该聚合组中的上行端口中的一个端口正 常工作,关闭其他上行端口。
[0050] 较佳地,
[0051] 述处理单元402,进一步用于当接收单元401通过所述聚合组中任一上行端口接 收到所述边缘交换机发送的LACPDU报文时,若确定接收的LACPDU报文不为本VEPA交换机 通过所述聚合组中的上行端口发送的LACPDU报文,根据该接收的LACPDU报文的内容对该 LACPDU进行处理。
[0052] 较佳地,
[0053] 收发单元401,周期发送的LACPDU报文携带信息摘要算法第五版MD5值,所述MD5 值为根据本VEPA交换机的系统ID、源MAC地址和所述聚合组的聚合组ID通过MD5计算得 到的信息摘要值。
[0054] 处理单元402,用于根据本VEPA交换机的系统ID、源MAC地址和所述聚合组的聚 合组ID通过MD5计算获得MD5值,若获得的MD5值与所述LACPDU报文携带的MD5值相同, 则确定接收的LACPDU报文为本VEPA交换机通过所述聚合组中的上行端口发送的LACPDU 报文。
[0055] 较佳地,
[0056] 收发单元401发送的LACPDU报文为本VEPA交换机向所述边缘交换机发送聚合链 路的相关信息的LACPDU报文的扩展LACPDU报文,所述MD5值携带在所述扩展LACPDU报文 的扩展TLV中。
[0057] 上述实施例的单元可以集成于一体,也可以分离部署;可以合并为一个单元,也可 以进一步拆分成多个子单兀。
[0058] 综上所述,本发明具体实施例中VEPA交换机通过该聚合组中的各上行端口向所 述边缘交换机周期发送LACPDU报文用于进行环路检测,当通过聚合组中的任一上行端口 接收到本端发送的用于环路检测的LACPDU报文时,确定VPEA交换机和所述边缘交换机之 间出现了环路,保留该聚合组中的一个上行端口正常工作,关闭其他上行端口,能够保证 VPEA交换机和边缘交换机之间流量的正常转发。
[0059] 本发明具体实施例中还给出了通过交互聚合链路的相关信息的LACP报文的扩展 报文携带字段来实现环路检测,能够节省资源,保证网络环境的正常运行。
[0060] 以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在 本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护 范围之内。
【权利要求】
1. 一种基于开放流OpenFlow协议的链路汇聚控制协议LACP环路检测方法,该方法应 用于包含OpenFlow控制器、服务器和边缘交换机的组网中的服务器上,所述服务器虚拟多 个虚拟机VM和一个虚拟边缘端口汇聚VEPA交换机,VEPA交换机的上行端口同所述边缘交 换机的下行端口进行聚合,形成聚合组,其特征在于,包括: 该VEPA交换机通过所述聚合组中的各上行端口向边缘交换机周期发送链路汇聚控制 协议数据单元LACPDU报文; 该VEPA交换机通过所述聚合组中的任一上行端口接收到所述边缘交换机发送的 LACPDU报文时,若确定接收的LACPDU报文为本VEPA交换机通过所述聚合组中的上行端口 发送的LACPDU报文,保留该聚合组中的上行端口中的一个端口正常工作,关闭其他上行端 □。
2. 根据权利要求1所述的方法,其特征在于,所述方法进一步包括: 若确定接收的LACPDU报文不为本VEPA交换机通过所述聚合组中的上行端口发送的 LACPDU报文,根据该接收的LACPDU报文的内容对该LACPDU进行处理。
3. 根据权利要求1或2所述的方法,其特征在于,所述该VEPA交换机周期发送的 LACPDU报文携带信息摘要算法第五版MD5值,所述MD5值为根据本VEPA交换机的系统ID、 源MAC地址和所述聚合组的聚合组ID通过MD5计算得到的信息摘要值; 所述确定接收的LACPDU报文为本VEPA交换机通过所述聚合组中的上行端口发送的 LACPDU报文的方法,包括:根据本VEPA交换机的系统ID、源MAC地址和所述聚合组的聚合 组ID通过MD5计算获得MD5值,若获得的MD5值与所述LACPDU报文携带的MD5值相同,则 确定接收的LACPDU报文为本VEPA交换机通过所述聚合组中的上行端口发送的LACPDU报 文。
4. 根据权利要求3所述的方法,其特征在于,所述VEPA交换机发送的LACPDU报文为本 VEPA交换机向所述边缘交换机发送聚合链路的相关信息的LACPDU报文的扩展LACPDU报 文,所述MD5值携带在所述扩展LACPDU报文的扩展类型长度值TLV中。
5. -种装置,该装置可应用于服务器虚拟的虚拟边缘端口汇聚VEPA交换机上,该服务 器还虚拟多个虚拟机VM,该服务器为还包含开放流OpenFlow控制器、和边缘交换机的组网 中的服务器,所述VEPA交换机的上行端口同所述边缘交换机的下行端口进行聚合,形成聚 合组,其特征在于,该装置包括:收发单元和处理单元; 所述收发单元,用于通过所述聚合组中的各上行端口向边缘交换机周期发送链路汇聚 控制协议数据单元LACPDU报文;通过所述聚合组中的上行端口接收所述边缘交换机发送 的LACPDU报文; 所述处理单元,用于当所述收发单元通过所述聚合组中的任一上行端口接收到所述边 缘交换机发送的LACPDU报文时,若确定接收的LACPDU报文为本VEPA交换机通过所述聚合 组中的上行端口发送的LACPDU报文,保留该聚合组中的上行端口中的一个端口正常工作, 关闭其他上行端口。
6. 根据权利要求5所述的装置,其特征在于, 所述处理单元,进一步用于当所述接收单元通过所述聚合组中任一上行端口接收到所 述边缘交换机发送的LACPDU报文时,若确定接收的LACPDU报文不为本VEPA交换机通过所 述聚合组中的上行端口发送的LACPDU报文,根据该接收的LACPDU报文的内容对该LACPDU 进行处理。
7. 根据权利要求5或6所述的装置,其特征在于, 所述收发单元,周期发送的LACPDU报文携带信息摘要算法第五版MD5值,所述MD5值 为根据本VEPA交换机的系统ID、源MAC地址和所述聚合组的聚合组ID通过MD5计算得到 的信息摘要值; 所述处理单元,用于根据本VEPA交换机的系统ID、源MAC地址和所述聚合组的聚合组 ID通过MD5计算获得MD5值,若获得的MD5值与所述LACPDU报文携带的MD5值相同,则确 定接收的LACPDU报文为本VEPA交换机通过所述聚合组中的上行端口发送的LACPDU报文。
8. 根据权利要求7所述的装置,其特征在于, 所述收发单元发送的LACPDU报文为本VEPA交换机向所述边缘交换机发送聚合链路的 相关信息的LACPDU报文的扩展LACPDU报文,所述MD5值携带在所述扩展LACPDU报文的扩 展类型长度值TLV中。
【文档编号】H04L12/26GK104219075SQ201310215309
【公开日】2014年12月17日 申请日期:2013年5月31日 优先权日:2013年5月31日
【发明者】张圣彦, 罗逸秀 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1