一种上下行链路关联的方法和装置
技术领域
本申请涉及通信技术领域,特别涉及一种上下行链路关联的方法和装置。
背景技术
运用堆叠技术可以将多台三层设备互联在一起形成一个逻辑交换实体,称为一个fabric,fabric内每一个设备称为一个unit。从管理和配置的角度看,一个fabric看起来就像一台交换设备;从性能角度看,分布式交换架构中的每台设备都能针对其端口上的第二层/第三层流量通信业务制定本地转发决策。堆叠技术可以容许全局范围内的跨设备链路聚合,提供了全面的链路级保护。同时,堆叠技术实现了跨设备的三层路由冗余,可以支持多种单播路由协议、组播路由协议的分布式处理,实现了多种路由协议的热备份技术。此外,堆叠技术实现了二层协议在fabric内分布式运行,提高了fabric内各unit的利用率和可靠性,减少了设备间的协议依赖关系。
堆叠主要包括3方面的技术实现:分布式设备管理(DDM)、分布式路由(DDR)、分布式链路聚合(DLA),其中,DLA技术进一步消除了聚合设备单点失效的问题,提高了聚合链路的可用性。
拥有大量的服务器是数据中心的目标,但是大量的服务器访问会给数据中心的网络带来沉重的负担。随着服务器数量和密度不断增加,数据中心的网络变得不胜负荷。要支持全互联网级的大规模应用,集群可能达到数千台、数万台,业务的部署、扩展、运行、支撑都会存在很多问题。通常为了提高核心设备可靠性,会在核心设备处部署类堆叠技术,即两台核心设备逻辑上就是一台设备,将各接入设备聚合实现链路之间的负载均衡。网络规划上接入设备是二层接入,网关部署在核心设备上;使用等价路由将核心设备的上行链路带宽进行负载分担,从而可以实现核心设备到出口设备之间的负载均衡。
参见图1,图1为现有技术中堆叠技术在数据中心典型应用的组网示意图。图1中接入交换机1与核心交换机1通过链路聚合控制协议(LACP)协议聚合链路,如接入交换机1的上行口P1和核心交换机1的下行口P3之间的链路,同接入交换机1的上行口P2和核心交换机1的下行口P4之间的链路为等价链路。核心交换机1通过上行口P5同出口设备1相连,通过上行口P6同出口设备2相连,核心路由器1同出口设备1和出口设备2之间通过ECMP实现流量负载均衡。
假设图1中核心交换机1到出口路由器1的上行链路出现异常,核心堆叠设备的上行等价路径从4条变成3条。这时各接入交换机的上行流量还是均衡的发送到两台核心交换机上,但是核心交换机1和2的上行转发能力是不对等的,即核心交换机1是一条转发路径,核心交换机2则是两条转发路径。虽然核心交换机的上行链路有一条发生故障,但是,其下行链路正常,各交换机仍然会流量发送到核心交换机1上,在流量很大的时候,核心交换机1的上行链路很容易出现流量拥塞的状况,容易丢包导致服务质量下降。
发明内容
有鉴于此,本申请提供一种上下行链路关联的方法和装置,在核心设备上行链路故障时,避免流量拥塞、丢包等情况的发生。
为解决上述技术问题,本发明的技术方案是这样实现的:
一种上下行链路关联的方法,应用于包括核心设备、接入设备和出口设备的网络中,该网络中的核心设备配置到各出口设备的等价多路径ECMP链路,并通过链路聚合控制协议LACP协议聚合各接入设备的接入链路形成聚合链路,其中,所述ECMP链路为该核心设备的上行链路,所述接入链路为该核心设备的下行链路,所述核心设备为各上行链路关联下行链路,包括:
该核心设备获知任一上行链路故障时,停止接收该上行链路关联的下行链路发送的流量,并使通过该下行链路相连的接入设备停止通过该下行链路发送流量。
一种装置,可应用于包含核心设备、接入设备和出口设备的网络中的核心设备上,该装置配置到各出口设备的等价多路径ECMP,并通过链路聚合控制协议LACP协议聚合各接入设备的接入链路形成聚合链路,其中,所述ECMP链路为本核心设备的上行链路,所述接入链路为本核心设备的下行链路,该装置包括:配置单元、获知单元和处理单元;
所述配置单元,用于为本核心设备的各上行链路关联下行链路;
所述获知单元,用于获知各上行链路是否故障;
所述处理单元,用于当所述获知单元获知任一上行链路故障时,停止接收所述配置单元配置的该上行链路关联的下行链路发送的流量,并使通过该下行链路相连的接入设备停止通过该下行链路发送流量。
综上所述,本申请通过核心设备为各上行链路关联下行链路,在上行链路故障时,停止通过与该上行链路关联的下行链路传送流量,并使通过该下行链路相连的接入设备停止通过该下行链路发送流量,能够在核心设备上行链路故障时,避免流量拥塞、丢包等情况的发生。
附图说明
图1为现有技术中堆叠技术在数据中心典型应用的组网示意图;
图2为本发明实施例一中上下行链路关联方法流程示意图;
图3为本发明实施例二中上下行链路关联方法流程示意图;
图4为本发明实施例三中上行链路故障恢复处理过程流程示意图;
图5为本发明具体实施例中应用于上述技术的装置的结构示意图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明所述方案作进一步地详细说明。
本发明实施例中提出一种上下行链路关联的方法,应用于包括核心设备、接入设备和出口设备的网络中,该网络中的核心设备配置到各出口设备的等价多路径(ECMP),并通过LACP协议聚合各接入设备的接入链路形成聚合链路,其中,所述ECMP链路为该核心设备的上行链路,所述接入链路为该核心设备的下行链路。该核心设备为各上行链路关联下行链路,在上行链路故障时,停止通过与该上行链路关联的下行链路传送流量,避免了流量拥塞、丢包等情况的发生。
包括核心设备、接入设备和出口设备的网络,可以为数据中心类堆叠网络。其中接入设备为二层网络设备,可以为接入交换机;核心设备可以为部署网关的核心交换机;出口设备为核心设备下一跳转发设备,可以为交换机、防火墙、路由器等。下文以包含核心交换机、接入交换机和出口路由器的网络为例,来详述本发明提出的上下行链路关联过程。
实施例一
参见图2,图2为本发明实施例一中上下行链路关联方法流程示意图。具体步骤为:
步骤201,核心交换机为各上行链路关联下行链路。
如图1中,以核心交换机1为例,可以将上行链路L1同下行链路L3关联,将上行链路L2同下行链路L4关联。在具体实现时,各上行链路关联下行链路可以通过上行链路对应的上行接口关联下行链路对应的下行接口。
步骤202,该核心交换机获知任一上行链路故障时,停止接收该上行链路关联的下行链路发送的流量,并使通过该下行链路相连的接入交换机停止通过该下行链路发送流量。
如图1中,当上行链路L1故障时,则停止接收与上行链路L1关联的下行链路L3发送的流量,并使接入交换机1停止通过该下行链路L3发送的流量。
任一上行链路故障时,该核心交换机的获知的过程为,该上行链路对应的上行接口自动置为Down,接口模块会通知聚合LACP模块该接口Down的消息。
实施例二
参见图3,图3为本发明实施例二中上下行链路关联方法流程示意图。具体步骤为:
步骤301,核心交换机为各上行链路对应的上行接口关联下行链路对应的下行接口。
以图1中的核心交换机1为例,可以将上行接口P5和下行接口P3关联,还可以将上行接口P6和下行接口P4相连等。
当然在具体实现时,各下行链路所转发的业务的优先级是各不相同的,在关联上行接口的各下行接口对应低优先级业务,即只给低优先级业务对应的下行口关联上行口,高优先级业务对应的下行口不关联上行口。
图1中假设接入交换机业务n为高优先级业务,接入交换机业务1为低优先级业务,核心交换机1为下行接口P7和P8不关联对应的上行接口,为下行接口P3和下行接口P4分别关联上行接口P1和上行接口P2。
上述实现为高优先级业务对应的下行接口不关联上行接口,在具体实现时,还可以根据具体情况为高优先级业务对应的下行接口少关联上行接口,如图1中,假设接入交换机业务n为高优先级业务,接入交换机业务1为低优先级业务。核心交换机为下行接口P7关联上行接口P2,下行接口P8不关联上行接口,并为下行接口P3和下行接口P4分别关联上行接口P1和上行接口P2。即该核心交换机为各上行链路对应的上行接口关联的所有下行链路对应的下行接口,对应的低优先级业务的数量大于对应的高优先级业务的数量。
通过上述实现,高优先级业务对应的下行接口不配置关联关系,也可以少配置关联关系。具体实现时,使用者可以根据实际需要和应用环境进行配置,这里不再一一例举。
在实际应用中,当该网络中某个业务的流量值变化较大时,可以根据具体情况动态进行调整,关联关系。如,当任一低优先级业务的流量达到预设流量值时,该核心交换机增加上行接口关联,该低优先级业务对应的下行接口之外的下行接口的数量,即增加其他接入交换机关联的接口数量,以减少其上行流量带宽占用。
步骤302,该核心交换机获知任一上行链路对应的上行接口的接口状态由Up变为Down时,将与该上行接口关联的下行接口的LACP状态设置为备选状态,并与通过该下行接口相连的接入交换机进行LACP协议协商,使该接入交换机与本核心交换机相连的上行接口的状态设置为备选状态。
步骤302中,通过将上行链路关联的下行链路对应的下行接口的LACP状态设置为备选(Standby)状态,达到不从该接口接收流量的目的;通过与对应的接入交换机进行LACP协商,使其将对应的接口状态设置为备选状态,达到不通过对应接口发送流量的目的。即该下行链路物理连接相同,但不通过该下行链路收发流量。
在实施例一和实施例二中描述了上下行链路关联后,当某一上行链路发生故障时的处理过程。如图1中,若上行接口P5和下行接口P3关联,且未同下行接口P4关联,当上行链路L1故障时,接入交换机1不再通过P1发送流量,通过P2、P9和P10的聚合链路转发流量,流量上行到核心交换机是不均衡的,即上行到交换机1和核心交换机2的流量比为1:2,但是这样的不均衡流量恰好和核心交换机的上行链路带宽能力是匹配的。从而保证核心交换机上行链路的真正负载均衡,不会出现上行带宽资源有结余,但是部分链路拥塞丢包现象。
实施例三
对于上行链路故障恢复时,本发明具体实施例中为了防止上行链路的震荡扩散到整个网络,不是直接恢复链路的正常工作,而是在一定时延后进行处理。参见图4,图4为本发明实施例三中上行链路故障恢复处理过程流程示意图。具体步骤为:
步骤401,核心交换机的故障上行链路故障恢复时,记录故障恢复时间。
步骤402,该核心交换机等待第一预设故障恢复时间。
在等待第一预设故障恢复时间期间,如果获知该上行接口的接口状态由Up到Down时,仅更新该上行接口对应的上行链路故障时间,并不修改该上行接口关联的下行接口的状态以及其他操作。
步骤403,当第一预设故障恢复时间到时,该核心交换机确定该上行接口的接口状态是否为Up,如果是,执行步骤404;否则,执行步骤405。
步骤404,该核心交换机确定当前时间与当前记录的故障恢复时间的差值是否小于第二预设故障恢复时间,如果是,执行步骤402;否则,执行步骤406。
步骤404中的第二预设故障恢复时间远小于第一预设故障恢复时间,具体设置由使用者根据具体使用情况确定多长时间的故障恢复作为链路震荡情况,以及多长时间作为延时恢复该上行链路关联的下行链路的正常工作。
步骤405,该核心交换机继续等待,直到获知该上行接口的接口状态由Down变为Up时,执行步骤406。
步骤406,该核心交换机将该上行接口关联的下行接口的LACP状态更新为工作状态,并与通过该下行链路相连的接入交换机进行LACP协议协商,使该接入交换机与本核心交换机相连的上行接口的状态更新为工作状态。
下面结合附图1,举具体实施例详细说明上行链路故障恢复时,核心交换机的处理过程。
实施例三中第一预设故障恢复时间设置为T1,作为最大故障恢复时间。第二预设故障恢复时间设置为T2,T2为最小故障恢复时间,若接口由Down到Up的间隔时间小于T2,则认定是接口异常震荡且T1远大于T2。
以核心交换1的上行链路L3故障为例。当链路L3故障时,接口P5的接口状态自动置为Down时,记录时间t1,当链路L3故障恢复时,接口P5的接口状态自动置为Up时,记录当前时间t2。
等待T1时间,在等待期间,若再次获知上行接口P5的接口状态由Up到Down时,更新时间t1,不做其他处理。即上行接口P5的震荡不影响其关联的下行接口P3的状态。
当等待T1到时时,更新当前时间t2为t2+T2,该核心交换机若确定当前上行接口P5的接口状态为Up,若确定t2-t1<T1,则认定是接口震荡,则继续执行等待T1时间;若确定t2-t1>=T1,则认为接口震荡已经结束。可以启动接口恢复动作。接口恢复动作包括:该核心交换机将该上行接口P5关联的下行接口P3的LACP状态更新为工作状态,并与通过该下行链路L3相连的接入交换机进行LACP协议协商,使该接入交换机与本核心交换机相连的上行接口P1的状态更新为工作状态。
该核心交换机若确定当前上行接口P5的接口状态为Down时,继续等待,直到获知该上行接口的接口状态为Up时,启动接口恢复动作。
本发明具体实施例中基于同样的发明构思,还提出一种装置,可应用于包含核心设备、接入设备和出口设备的网络中的核心设备上,该装置配置到各出口设备的等价多路径ECMP,并通过链路聚合控制协议LACP协议聚合各接入设备的接入链路形成聚合链路,其中,所述ECMP链路为该核心设备的上行链路,所述接入链路为该核心设备的下行链路。参见图5,图5为本发明具体实施例中应用于上述技术的装置的结构示意图。该装置包括:配置单元501、获知单元502和处理单元503。
配置单元501,用于为本核心设备的各上行链路关联下行链路。
获知单元502,用于获知各上行链路是否故障。
处理单元503,用于当获知单元502获知任一上行链路故障时,停止接收配置单元501配置的该上行链路关联的下行链路发送的流量,并使通过该下行链路相连的接入设备停止通过该下行链路发送流量。
较佳地,
配置单元501,用于为本核心设备的各上行链路对应的上行接口关联下行链路对应的下行接口。
获知单元502,用于获知各上行链路对应的上行接口的接口状态。
处理单元503,用于当获知单元502获知该上行链路对应的上行接口的接口状态由Up变为Down时,将与该上行接口关联的下行接口的LACP状态设置为备选状态,并与通过该下行接口相连的接入设备进行LACP协议协商,使该接入设备与本核心设备相连的上行接口的状态设置为备选状态。
较佳地,
配置单元501,为各上行链路对应的上行接口关联的所有下行链路对应的下行接口,对应低优先级业务;或,为各上行链路对应的上行接口关联的所有下行链路对应的下行接口,对应的低优先级业务的数量大于对应的高优先级业务的数量。
较佳地,
获知单元502,进一步用于获知业务流量的情况。
配置单元501,进一步用于当获知单元502获知到任一低优先级业务的流量达到预设流量值时,增加上行接口关联该低优先级业务对应的下行接口之外的下行接口的数量。
较佳地,该装置进一步包括:记录单元504。
记录单元504,用于当获知单元502该上行链路故障时,记录该上行链路故障时间;
处理单元503,进一步用于当获知单元502获知到该上行链路故障恢复时,等待第一预设故障恢复时间;当第一预设故障恢复时间到时,若获知单元502获知该上行接口的接口状态为Up时,确定当前时间与当前记录单元504记录的该上行链路故障时间的差值是否小于第二预设故障恢复时间,如果是,执行所述等待第一预设故障恢复时间操作;否则,将该上行接口关联的下行接口的LACP状态更新为工作状态,并与通过该下行链路相连的接入设备进行LACP协议协商,使该接入设备与本核心设备相连的上行接口的状态更新为工作状态;若获知单元502获知该上行接口的接口状态为Down时,继续等待,直到获知单元502获知该上行接口的接口状态由Down变为Up时,将该上行接口关联的下行接口的LACP状态更新为工作状态,并与通过该下行链路相连的接入设备进行LACP协议协商,使该接入设备与本核心设备相连的上行接口的状态更新为工作状态;其中,所述第一预设故障恢复时间大于第二预设故障恢复时间。
较佳地,
记录单元504,进一步用于当处理单元503在等待第一预设故障恢复时间期间,若获知单元502获知该上行接口的接口状态由Up到Down时,更新该上行接口对应的上行链路故障时间。
上述实施例的单元可以集成于一体,也可以分离部署;可以合并为一个单元,也可以进一步拆分成多个子单元。
综上所述,本发明具体实施例中核心设备为各上行链路关联下行链路,在上行链路故障时,停止通过与该上行链路关联的下行链路传送流量,并使通过该下行链路相连的接入设备停止通过该下行链路发送流量,能够在核心设备上行链路故障时,避免流量拥塞、丢包等情况的发生。
本发明具体实施例中在配置关联关系时,可以为高优先级业务不配置关联关系或少配置关联关系,进而保证高优先级业务的带宽资源和服务质量。并在获知低优先级业务流量较大时,动态调整关联关系的配置,有效提高数据中心网络系统的负载均衡能力。
在上行链路故障恢复时,不实时恢复下行链路的正常工作,而是等待一个延时时间,进行延时保护,有效防止接口震荡引起的系统震荡。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。