首页> 中国专利> 三级Clos网络架构中链路拥塞检测及带宽控制的方法与系统

三级Clos网络架构中链路拥塞检测及带宽控制的方法与系统

摘要

三级Clos网络架构中链路拥塞检测及带宽控制的方法与系统,该拥塞检测方法包括以下步骤,各交换平面通过心跳信号定期检测输入链路以及输出链路的双向链路互联的有效性;实时计算每条输出链路的剩余缓存容量,并据此获得每条输出链路绑定的输出缓存拥塞情况与输出链路绑定缓存状态;根据源FAP至该交换平面的所有有效的输入链路与目的FAP至该交换平面的所有有效的输出链路的带宽比,判断输出链路绑定拥塞是否会发生;若拥塞会发生,根据每条输出链路绑定的输出缓存拥塞情况以及输出链路绑定的缓存状态,向相应的源FAP发送取消拥塞或使能拥塞的控制通告消息。

著录项

  • 公开/公告号CN105763469A

    专利类型发明专利

  • 公开/公告日2016-07-13

    原文格式PDF

  • 申请/专利权人 烽火通信科技股份有限公司;

    申请/专利号CN201610212429.6

  • 发明设计人 黄元波;张艳;张伟;

    申请日2016-04-07

  • 分类号H04L12/801(20130101);H04L12/835(20130101);H04L12/24(20060101);H04L12/26(20060101);

  • 代理机构北京捷诚信通专利事务所(普通合伙);

  • 代理人王卫东

  • 地址 430074 湖北省武汉市东湖开发区光谷创业街67号

  • 入库时间 2023-06-19 00:00:55

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-03-22

    授权

    授权

  • 2016-08-10

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

    实质审查的生效

  • 2016-07-13

    公开

    公开

说明书

技术领域

本发明涉及光网络通信技术领域,具体涉及基于三级Clos网络架构链 路拥塞检测及拥塞控制的方法与系统。

背景技术

随着互联网及其数据业务不断的飞速发展,互联网中交换和路由系统 的容量要求也越来越高。为了解决对数据交换和传输的需求,作为交换和 路由系统核心的交换结构,也呈现越来越复杂的趋势。单级交换结构如纵 横式(crossbar)交换已经无法单独满足大容量的交换需求;于是更大规 模的多级多平面交换结构得到了更多的应用。多级多平面交换系统整合多 个交换结构和输入输出线卡,形成巨大的信息处理能力,可以满足Tbps级 别的交换需求。其中,三级Clos网络由于模块化强和良好的可扩展性及能 够在交换网络内部实现严格无阻塞而受到越来越多人的青睐。

如图1所示,为目前常见的基于信元的三级Clos架构交换系统:

其中,每个源FAP与目的FAP分别连接FabricPlane0至FabricPlane m-1;源FAP与目的FAP分别对应于三级Clos网络中的第一级(输入)和 第三级(输出),简称Fabric适配接入。源FAP完成输入业务流的格式变 换(从分组业务或者时分复用TDM业务变换为信元),将信元流量均衡的扇 出到所有交换平面,最后由目的FAP完成信元到业务流的再生。

每个FAP和一个交换平面(FabricPlane)连接的所有链路定义为一 个链路绑定(LinkBundle),根据信号送到交换平面的方向,可以细分为 输入链路绑定(InputLinkBundle)和输出链路绑定(OutputLinkBundle), 一个链路绑定由多条物理链路实体构成。

上述现有技术中的故障及拥塞原因如图2所示:

一般三级Clos网络也成为对称式Clos网络,在图2的网络中,所有 FAP和不同交换平面之间的链路绑定(LinkBundle)的连接数目应该是完 全相同的;所有输入链路绑定的物理带宽和输出链路绑定的物理带宽也完 全相同。

对于一个大容量交换平面,所有链路绑定对应的物理链路的传输速率 可能在10Ghz以上,物理连接可以是光互连或者电信号互连。

如果此故障发生在输入链路绑定,则会造成源FAP到FabricPlane的 输出带宽的减少,造成此FAP的输入业务拥塞,但是如果故障发生在输出 链路绑定,则会造成交换平面在相关链路输出拥塞,在对应的链路输出上 的缓存结构会产生拥塞,一些信元会被丢弃。此拥塞如果不进行有效控制, 可能会对一个交换平面的所有流量均产生影响。

目前一些通用的解决方案需要FabricPlane0将每一级之间的链路互 连情况传递到源FAP,由源FAP来进行拥塞控制的判断和操作。存在以下 问题:

(1)由于三级Clos网络的源FAP,交换平面,目的FAP在交换系统实 现中是分散于不同的单盘,每一级互连情况的收集和传递到源FAP需要占 用较多的链路带宽,并且信息的传递和处理都存在时延,不能快速进行拥 塞控制,甚至导致信元的丢失。

(2)因为目的FAP和FabricPlane之间只交换链路互连情况,Fabric Plane输出链路的缓存情况无法实时传递给目的FAP,所以即使Fabric Plane输出不拥塞,目的FAP的拥塞控制机制也会触发拥塞控制的情况,降 低了链路带宽的使用效率。

有鉴于此,急需提供一种使交换平面能够快速检测链路拥塞并且发布 拥塞控制信息,对输入到交换平面的流量进行及时调整,降低交换平面拥 塞的系统及处理方法。

发明内容

本发明所要解决的技术问题是三级Clos网络信元交换架构中输出链路 绑定发生故障未能及时得到处理,造成交换平面对应的链路输出上的缓存 结构会产生拥塞,甚至信元会被丢失的问题。

为了解决上述技术问题,本发明提供了一种三级Clos网络架构中链路 拥塞检测方法,包括以下步骤:

各交换平面通过心跳信号定期检测与源FAP之间的输入链路以及与目 的FAP之间的输出链路的双向链路互联的有效性;实时计算每条输出链路 的剩余缓存容量,并据此获得每条输出链路绑定的输出缓存拥塞情况与输 出链路绑定缓存状态;

根据源FAP至该交换平面的所有有效的输入链路与目的FAP至该交换 平面的所有有效的输出链路的带宽比,判断输出链路绑定拥塞是否会发 生;

当链路拥塞发生时,根据每条输出链路绑定的输出缓存拥塞情况以及 输出链路绑定的缓存状态,向相应的源FAP发送取消拥塞控制通告消息或 使能拥塞控制通告消息。

在上述方法中,发送所述取消拥塞控制通告消息或使能拥塞控制通告 消息包括以下步骤:

当输出缓存拥塞或输出链路绑定缓存状态不正常时,根据所述带宽比 发送取消拥塞控制通告信息或使能拥塞控制通告信息,若带宽比小于或等 于1,则向对应输出链路绑定发送取消拥塞控制通告信息;否则发送使能拥 塞控制通告信息;

当输出缓存拥塞且输出链路绑定缓存状态正常时,向对应输出链路绑 定上发送取消拥塞控制通告信息。

本发明还提供了一种三级Clos网络架构中带宽控制方法,包括以下步 骤:

采用如上述所述的方法,获得相应的取消拥塞控制通告消息或使能拥 塞控制通告消息;

源FAP根据相应的拥塞控制通告消息以及对应目的FAP的带宽权重比, 对输入到本交换平面fabricplane的流量进行调整,完成针对此目的FAP 的带宽控制;

带宽权重比为该目的FAP的带宽权重与其他各目的FAP的带宽权重的 比值;

带宽权重为该目的FAP的有效输出链路数目与输出链路绑定支持的链 路数目两者间的最小值。

在上述方法中,所述目的FAP的带宽控制的方法包括以下步骤:

目的FAP根据心跳信号获得与各交换平面的有效链路数目以及相应输 出链路绑定所支持的链路数目;

源FAP根据接收到的拥塞控制通告消息获得拥塞控制指示信号,以及 对应的目的FAP;

源FAP根据所述有效连接链路数目、输出链路绑定支持的链路数目以 及拥塞控制指示信号,调整向对应目的FAP连接的交换平面的输出带宽。

本发明还提供了一种交换平面的输出链路拥塞检测装置,包括fabric 链路心跳信息接收模块,定期检测且解析来自源FAP的所有输入链路心跳 信号;

fabric链路心跳信息发送模块,交换平面定期向所有输出链路发送心 跳消息;

fabric输出链路缓存管理模块,实时输出每条输出链路的剩余缓存容 量;

fabric链路拥塞管理模块,判断输出链路是否产生拥塞且拥塞产生的 原因,并向输出链路发送相应的拥塞控制通告消息;

当所述fabric链路心跳信息接收模块检测到链路互联失效时,所述 fabric链路拥塞管理模块将根据所述fabric链路心跳信息接收模块解析 出的信息,获得源FAP至该交换平面的所有输入链路与目的FAP至该交换 平面的所有输出链路的带宽比,并判断输出链路绑定拥塞是否会发生;

若输出链路拥塞发生,则所述fabric链路拥塞管理模块根据所述 fabric输出链路缓存管理模块输出的每条输出链路的剩余缓存容量,分析 出每条输出链路绑定的输出缓存拥塞情况与输出链路绑定缓存状态;

所述fabric链路拥塞管理模块根据每条输出链路的输出缓存拥塞情 况、输出链路绑定缓存状态向相应的目的FAP发送取消拥塞或使能拥塞的 拥塞控制通告消息。

本发明还提供了一种三级Clos网络架构的宽带控制系统,包括若干交 换平面以及与所述交换平面连接的多个源FAP和目的FAP,所述交换平面 上设有如上述所述的输出链路拥塞检测装置,所有所述源FAP上设有输出 链路带宽控制装置;

所述输出链路带宽控制的装置包括:

FAP链路心跳接收模块:负责接收交换平面输入到源FAP链路心跳输入 消息,并解析出相关信息;

FAP链路心跳发送模块:定期发送本FAP的心跳消息;

FAP输出链路带宽控制模块:根据接收到的所述交换平面发送的拥塞控 制通告消息,对交换平面送到目的FAP的流量进行适度调整;

所述FAP输出链路带宽控制模块根据所述FAP链路心跳接收模块解析 的信息获得带宽权重比,同时根据所述fabric链路拥塞管理模块发至的拥 塞控制通告消息,进行对源FAP带宽控制。

在上述方案中,所述拥塞包括输出缓存拥塞与输出链路拥塞。

在上述方案中,每个所述源FAP、所述目的FAP及交换平面内设有链 路组心跳引擎。

在上述方案中,交换平面为两个或两个以上,每一个交换平面上都设 有上述所述的输出链路拥塞检测装置。

本发明通过设置在各交换平面(FabricPlane)上的输出链路拥塞检 测装置,检测该交换平面的输出链路绑定是否产生拥塞,当检测出发生拥 塞时,向所有的源FAP发送拥塞控制通告消息,所有的源FAP分别根据此 拥塞控制通告消息,对输出到对应的交换平面的链路带宽进行调整,减少 输出流量的带宽。

附图说明

图1为现有的基于信元的Clos架构交换系统示意图;

图2为现有的基于信元的Clos架构交换系统的输出链路拥塞示意图;

图3为本发明提供的单交换平面Clos架构交换系统示意图;

图4为本发明中输出链路拥塞检测装置;

图5为本发明中fabric输出链路拥塞管理模块的拥塞检测及通告消息 发送流程图;

图6为本发明中输出链路带宽控制装置;

图7为本发明中三级Clos网络交换架构中带宽控制方法的流程图。

具体实施方式

本发明提供了一种三级Clos网络架构中链路拥塞检测及带宽控制的方 法与系统,通过设置在各交换平面(FabricPlane)上的输出链路拥塞检 测装置,检测该交换平面的输出链路绑定是否产生拥塞,当检测出发生拥 塞时,向所有的源FAP发送拥塞控制通告消息,所有的源FAP分别根据此 拥塞控制通告消息,对输出到对应的交换平面的链路带宽进行调整,减少 输出流量的带宽。下面结合具体实施例和说明书附图对本发明予以详细说 明。

图3为本发明提供的一种三级Clos网络架构交换系统示意图,该实施 例采用的是单交换平面。

如图3所示,本实施例包括一个交换平面(FabricPlane0),输入端 通过8条输入链路绑定InputLinkBundle0-7分别连接8个源FAP,输出 端通过8条输出链路绑定OutputLinkBundle0-7分别连接8个目的FAP。

1条输入链路绑定和1条输出链路绑定组成一个链路绑定CELL(如 InputLinkBundle0和OutputLinkBundle0组成CELL0),本实施例共 设置8组链路绑定CELL0-7。一个源FAP和一个目的FAP对应一条链路绑定 CELL。

本实施例中,FabricPlane0的输入和输出均包括128条物理链路,每 条输入链路绑定和输出链路绑定均包含16条物理链路,其中FabricPlane0 的输出链路绑定0与输出链路绑定7中均存在2条故障的物理链路。

本实施例为单交换平面,当本发明方案应用于多交换平面时,则需要 根据交换平面的数目对应地增加链路绑定的数量,例如:当采用2个交换 平面时,则每一个源FAP分别通过2条输入链路绑定连接这2个不同的交 换平面,每一个目的FAP分别通过2条输出链路绑定连接这2个不同的交 换平面,每一个源FAP和每一个目的FAP都具有32条物理链路。一个源FAP 和一个目的FAP分别对应2条链路绑定CELL。

本发明系统中,每一个交换平面上都设有输出链路拥塞检测装置,如 图4所示,该输出链路拥塞检测装置包括:fabric链路心跳信息接收模块 401,fabric链路心跳信息发送模块402,fabric输出链路缓存管理模块 403和fabric链路拥塞管理模块404;其中:

每个源FAP、目的FAP及FabricPlane内都设有用于产生心跳信号的 心跳引擎(Link_heart_beat_engineer)。

fabric链路心跳信息发送模块402定期向输入链路绑定和输出链路绑 定发送心跳信号,fabric链路心跳信息接收模块401实时检测并解析来自 源FAP的128条输入链路上的心跳信号,以及来自目的FAP的128条输出 链路上的心跳信号,获得输入链路0-127的有效表示 Input_heart_beat_valid、输出链路的0-127有效表示 Output_heart_beat_valid以及源FAP、目的FAP的编号信息Fap_id,以此 获得各交换平面与源FAP之间的输入链路以及与目的FAP之间的输出链路 之间的链路互联的有效性,和有效链路的数目;

fabric输出链路缓存管理模块403实时检测输出链路0-127的剩余缓 存容量,fabric链路拥塞管理模块404根据fabric链路心跳信息接收模块 401解析获得的信息和fabric输出链路缓存管理模块403获得的剩余缓存 容量,向相应的链路绑定发送拥塞控制通告消息。下面详细介绍每个模块 的工作原理:

fabric链路心跳信息接收模块401:定期检测来自源FAP的输入链路 和来自目的FAP输出链路上的心跳信号,该心跳信号中包含以下信息:

当心跳信号通过输入链路定期输入到交换平面时,表示对应的输入链 路接收心跳消息有效,用输入链路有效表示Input_heart_beat_valid=1 定义。

当心跳信号通过输出链路定期输入到交换平面,且Remote_link_act =1时,表示对应的输出链路有效,用输出链路有效表示 Output_heart_beat_valid=1定义。

在图3中,因为所有源FAP的输入链路绑定都正常连接,因此:

输入链路绑定0(16条物理链路)的Input_heart_beat_valid0[15: 0]=0XFFFF。

依次类推:

输入链路绑定1(16条物理链路)的Input_heart_beat_valid1[15: 0]=0XFFFF。

输入链路绑定2的Input_heart_beat_valid2[15:0]=0XFFFF。

输入链路绑定3的Input_heart_beat_valid3[15:0]=0XFFFF。

输入链路绑定4的Input_heart_beat_valid4[15:0]=0XFFFF。

输入链路绑定5的Input_heart_beat_valid5[15:0]=0XFFFF。

输入链路绑定6的Input_heart_beat_valid6[15:0]=0XFFFF。

输入链路绑定7的Input_heart_beat_valid7[15:0]=0XFFFF。

由于目的FAP的输出链路绑定0和输出链路绑定7中均存在有2条故 障的物理链路,从而导致通过故障的物理链路接收到的心跳信号中, Remote_link_act=0(链路心跳缺失),而其他输出链路绑定连接正常,因 此:

输出链路绑定0(16条物理链路)的Output_heart_beat_valid0[15: 0]=0X3FFF;

输出链路绑定7(16条物理链路)的Output_heart_beat_valid7[15: 0]=0X3FFF;

输出链路绑定1的Output_heart_beat_valid1[15:0]=0XFFFF;

输出链路绑定2的Output_heart_beat_valid2[15:0]=0XFFFF;

输出链路绑定3的Output_heart_beat_valid3[15:0]=0XFFFF;

输出链路绑定4的Output_heart_beat_valid4[15:0]=0XFFFF;

输出链路绑定5的Output_heart_beat_valid5[15:0]=0XFFFF;

输出链路绑定6的Output_heart_beat_valid6[15:0]=0XFFFF。

fabric链路心跳信息接收模块401还可以从心跳信号中提取出产生拥 塞的输出链路绑定连接的目的FAP(用Bundle_Link_Fap_id变量表示)。

fabric链路心跳信息发送模块402:定期向连接所有源FAP的输入链 路和连接所有目的FAP输出链路发送心跳信号,该心跳信号包含以下信息:

变量Remote_link_act为对应的变量输入链路有效表示 Input_heart_beat_valid的值。

fabric输出链路缓存管理模块403:实时扫描每条输出链路的剩余缓 存容量(Link_capacity),表示每条链路的空闲缓存容量还可以容纳的信 元数目。

Link_capacity0:表示0号物理链路的链路输出缓存的剩余容量;

Link_capacity1:表示1号物理链路的链路输出缓存的剩余容量;

依次类推,

Link_capacity127:表示127号物理链路的链路输出缓存的剩余容量。

当某条输出链路的Output_heart_beat_valid=0,说明此输出链路连 接出现故障,则将Link_capacity设定为0,不再缓存针对该输出链路的输 出信元。

Fabric链路拥塞管理模块404完成以下操作:

1)FabricPlane定期扫描各输入链路绑定的input_heart_beat_valid 变量和output_heart_beat_valid变量。

建立基于每个FAP的输入链路绑定和输出链路绑定的链路心跳计数表 (如表1-2所示)。

表1、源FAP的输入链路心跳计数表。

表2、目的FAP的输出链路心跳计数表。

目的FAP Output_link_bundle_num 0 14(存在故障链路2条) 1 16 2 16 3 16 4 16 5 16 6 16 7 14(存在故障链路2条)

2)FabricPlane基于每个FAP,判断在Clos网络中输出链路绑定和输 入链路绑定之间的带宽比,方法如下:

读出表1中源FAP0的Input_link_bundle_num变量,读出表2中每个 目的FAP的Output_link_bundle_num变量,进行比较,得到源FAP0在 FabricPlane0中输入链路和输出链路的带宽比BandWidth_Radio[0][N]。

输入链路和输出链路的带宽比BandWidth_Radio[M][N]是一个二维数 组,其中M对应源FAP序列号,N对应于目的FAP序列号,如表3所示:

表3、输入物理链路和输出物理链路的带宽比。

表格中16:16=1表示源FAP到对应的目的FAP之间的输入链路和输出 链路数目的比值相同,则输入、输出带宽相同,不存在输出拥塞的可能。

如果带宽比值16:16>1,则表示源FAP的输入链路带宽大于对应目的 FAP的输出链路带宽,存在输出拥塞的可能。

3)fabric输出链路缓存管理模块403实时收集每条输出物理链路的剩 余缓存容量(Link_capacity),将每个输出链路绑定包含的所有有效物理 链路的剩余缓存容量累加,得到每个输出链路绑定的剩余缓存容量,其中:

变量Output_link_bundle_capacity0对应输出链路绑定0的剩余缓存 容量。

变量Output_link_bundle_capacity1对应输出链路绑定1的剩余缓存 容量。

变量Output_link_bundle_capacity2对应输出链路绑定2的剩余缓存 容量。

变量Output_link_bundle_capacity3对应输出链路绑定3的剩余缓存 容量。

变量Output_link_bundle_capacity4对应输出链路绑定4的剩余缓存 容量。

变量Output_link_bundle_capacity5对应输出链路绑定5的剩余缓存 容量。

变量Output_link_bundle_capacity6对应输出链路绑定6的剩余缓存 容量。

变量Output_link_bundle_capacity7对应输出链路绑定7的剩余缓存 容量。

设置一个使能拥塞门限参数(Enable_congestion_threshold),如 Output_link_bundle_capacity<Enable_congestion_threshold,则表示 输出链路绑定存在输出缓存拥塞,使用变量 Output_link_bundle_congestion[n]=0表示:

Output_link_bundle_congestion[0]=0表示输出链路绑定0存在输 出缓存拥塞情况。

Output_link_bundle_congestion[1]=0表示输出链路绑定1存在输 出缓存拥塞情况。

Output_link_bundle_congestion[2]=0表示输出链路绑定2存在输 出缓存拥塞情况。

Output_link_bundle_congestion[3]=0表示输出链路绑定3存在输 出缓存拥塞情况。

Output_link_bundle_congestion[4]=0表示输出链路绑定4存在输 出缓存拥塞情况。

Output_link_bundle_congestion[5]=0表示输出链路绑定5存在输 出缓存拥塞情况。

Output_link_bundle_congestion[6]=0表示输出链路绑定6存在输 出缓存拥塞情况。

Output_link_bundle_congestion[7]=0表示输出链路绑定7存在输 出缓存拥塞情况。

设置一个取消拥塞门限参数(Disable_congestion_threshold),如果 Output_link_bundle_capacity>Disable_congestion_threshold,则表 示输出链路绑定缓存状态正常,使用变量Output_link_bundle_normal[n] =1表示。

Output_link_bundle_normal[0]=1表示输出链路绑定0缓存状态正 常。

Output_link_bundle_normal[1]=1表示输出链路绑定1缓存状态正 常。

Output_link_bundle_normal[2]=1表示输出链路绑定2缓存状态正 常。

Output_link_bundle_normal[3]=1表示输出链路绑定3缓存状态正 常。

Output_link_bundle_normal[4]=1表示输出链路绑定4缓存状态正 常。

Output_link_bundle_normal[5]=1表示输出链路绑定5缓存状态正 常。

Output_link_bundle_normal[6]=1表示输出链路绑定6缓存状态正 常。

Output_link_bundle_normal[7]=1表示输出链路绑定7缓存状态正 常。

4)根据BandWidth_Radio[M][N]、变量 Output_link_bundle_congestion与Output_link_bundle_normal一起判 断输出拥塞的产生原因并且发送相应的拥塞控制通告消息。

如图5所示,拥塞检测及通告控制消息的发送流程包括以下步骤:

S11、拥塞状态扫描;

S12、判断变量Output_link_bundle_congestion与 Output_link_bundle_normal的状态,若分别为1、0或0、0,则转S13, 若为0、1,则转S16;

S13、识别扫描所有链路绑定上的BandWidthRadio[M][N]变量;

S14、判断BandWidthRadio[M][N]变量,若BandWidthRadio[M][N] >1,转S15;若BandWidthRadio[M][N]≤1,则转S16;

S15、向对应输出链路绑定上发送使能拥塞的拥塞控制通告信息;

S16、向对应输出链路绑定上发送取消拥塞的拥塞控制通告信息。

具体工作原理如下:

例如当扫描到Output_link_bundle_congestion[0]=1, Output_link_bundle_normal[0]=0,表示输出链路绑定0出现拥塞。此时 首先查询变量BandWidthRadio[0][0],如果BandWidthRadio[0][0]>1, 则说明此时输出链路绑定0会出现拥塞,是因为输入链路绑定0到输出链 路绑定0的带宽比大于0,此时在输出链路绑定0上发送一次拥塞控制通告 消息,启动拥塞控制。拥塞控制通告消息的内容如表4所示。

表4、拥塞控制通告消息。

同理,按照相同的步骤顺次查询BandWidthRadio[1][0],BandWidth Radio[2][0]……BandWidthRadio[7][0],若符合条件的,均在对应的输 出链路绑定上发送拥塞控制通告消息。

如果当Output_link_bundle_congestion[0]=0, Output_link_bundle_normal[0]=0,表示输出链路绑定的拥塞消失,但缓 存状态还未恢复正常,再次查询变量BandWidth_Radio[0][0],如果 BandWidthRadio[0][0]>1,说明对目的FAP0的拥塞控制仍然需要。如果 BandWidthRadio[0][0]≤1,说明输出链路绑定的故障得到排除,则发送 一次拥塞控制通告消息,取消对目的FAP0的拥塞控制。

当Output_link_bundle_congestion[0]=0, Output_link_bundle_normal[0]=1,则表示输出链路绑定的拥塞消失,同 时缓存状态恢复正常,则发送一次拥塞控制通告消息,取消对FAP的拥塞 控制。

本发明系统还包括在每个源FAP中设有的输出链路带宽控制的装置, 如图6所示,包括FAP链路心跳接收模块601,FAP链路心跳发送模块602 及FAP输出链路带宽控制模块603。

FAP链路心跳接收模块601接收来自交换平面FabricPlane0发送的心 跳信号,解析的得到所有的输入链路有效表示Input_heart_beat_valid, 输出链路有效表示Output_heart_beat_valid以及相应的交换平面的编号 信息Fabric_id,且FAP链路心跳发送模块602定期向对应的交换平面发送 心跳信号。

FAP输出链路带宽控制模块603将根据FAP链路心跳接收模块601解 析获得的信息与由fabric链路拥塞管理模块404发至的拥塞控制通告消息 进行分析,并对相应的目的FAP进行带宽控制;

下面详细介绍输出链路带宽控制的装置中每个模块的工作原理:

FAP链路心跳接收模块601:负责接收FabricPlane输入到本FAP链 路心跳输入消息,并解析出相关信息;工作原理与fabric链路心跳信息接 收模块401类似,接收到的消息内容如表5所示:

表5、源FAP接收到的消息内容。

根据此消息,解析出信号output_heart_beat_valid[31:0](链路0-31 输出链路有效表示),Fabric_id[31:0](链路0-31FabricPlane标号表 示),发送到FAP输出链路带宽控制模块603。

FAP链路心跳发送模块602:负责发送本FAP的每条链路的心跳消息, 工作原理及发送信息内容与fabric链路心跳信息发送模块402类似,发送 到的消息内容如表6所示:

表6、源FAP发送的消息内容。

FAP输出链路带宽控制模块603:根据接收到的交换平面FabricPlane 发送的拥塞控制通告消息,对交换平面输入到目的FAP的流量进行适度调 整,完成源FAP输入到此交换平面的流量带宽控制。

Fap带宽控制模块具体工作步骤如下:

S21、FAP输出链路带宽控制模块603根据输入信号 Output_heart_beat_valid与Fabric_id计算出目的FAP和不同的交换平面 的有效连接链路数目;使用变量Source_fap_output_link_bundle_num定 义表示,根据图3所示的链路连接示意图,只连接了一个交换平面Fabric Plane0:

Source_fap_output_link_bundle_num0=14,

Source_fap_output_link_bundle_num1=16,

Source_fap_output_link_bundle_num2=16,

Source_fap_output_link_bundle_num3=16,

Source_fap_output_link_bundle_num4=16,

Source_fap_output_link_bundle_num5=16,

Source_fap_output_link_bundle_num6=16,

Source_fap_output_link_bundle_num7=14。

S22、FAP输出链路带宽控制模块603接收来自交换平面FabricPlane 拥塞控制通告消息,根据此拥塞控制消息中的字段,针对每个输出链路绑 定,得到对应目的FAP在不同的输出链路绑定支持的链路数目,输出链路 绑定支持的链路数目将小于或等于对应的有效连接链路数目,使用变量 Des_fap_link_bundle_num表示,还得到拥塞控制表示信号,使用变量 Des_fap_congestion_en表示。

根据图3所示的链路连接示意图,假设连接了两个交换平面,对应目 的FAP的有效链路数和拥塞控制表示信号如表7、表8所示。

表7、目的FAP的有效链路数目Des_fap_link_bundle_num。

表8、目的FAP的拥塞控制表示Des_fap_congestion_en。

S23、根据Source_fap_output_link_bundle_num变量,Des_fap_ link_bundle_num变量与Des_fap_congestion_en变量,计算不同输出链 路绑定分配的带宽权重band_weight,并采用相关算法完成针对源FAP的输 入链路带宽控制操作。

例如,按照信元的目的FAP为FAP7,则对应的目的FAP7的链路绑定发 生故障,只有14条链路有效。

对目的FAP带宽控制实现步骤如下:

首先,根据信元的目的FAP为7(Des_fap_id=7),查询目的FAP7的 有效链路数目Des_fap_link_bundle_num变量,得到此FAP对应各平面不 同的输出链路绑定对应的链路绑定带宽,其中Des_fap_link_bundle_num0 =14,Des_fap_link_bundle_num1=16,依次类推。

且根据Des_fap_id=7,查询目的FAP7的链路绑定0上的拥塞控制表 示Des_fap_congestion_en变量,其中Des_fap_congestion_en0=1,激活 拥塞控制,而Des_fap_congestion_en1=0,其上拥塞控制没有激活。

根据不同链路绑定组的拥塞控制是否激活,计算不同链路组绑定分配 的带宽权重band_weight。

对于输出链路绑定0,启动拥塞控制,带宽权重为变量 Source_fap_output_link_bundle_num0=14,Des_fap_link_bundle_num 0=14中的最小值,因此band_weight[0]=14。

同理,对于输出链路绑定1,没有启动拥塞控制,带宽权重 band_weight[1]=16。

为此,目的FAP7的信元这两条输出链路绑定的带宽比为14:16,据 此进行带宽控制,保证激活拥塞控制的输出链路绑定的输出流量在一定的 带宽范围中,不会使对应的FabricPlane产生拥塞和信元丢弃。

本发明系统的工作原理如下:

当有信元传输时,fabric链路心跳信息接收模块401定期接收来自源 FAP的128条输入链路的心跳信号,且定期向输出链路发送心跳信号;

fabric链路心跳接收模块信息对心跳信号进行分析,得到源FAP_id、 Remote_link_act及每个源FAP对应的输出链路绑定的 Bundle_Link_Fap_id变量值;当Remote_link_act=1时,说明目的FAP 对应的输出链路输入的心跳信号接收正常,且源FAP与FabricPlane正常 连接;

若Remote_link_act=0,则说明对应的输出链路会出现故障,此时 fabric链路拥塞管理模块404根据定期扫描的有效表示 input_heart_beat_valid和output_heart_beat_valid,且统计分析得到 Input_link_bundle_num与Output_link_bundle_num变量,再将 Input_link_bundle_num与Output_link_bundle_num变量进行对比,得到 输入链路和输出链路的带宽比BandWidth_Radio[M][N];

fabric链路拥塞管理模块404通过变量BandWidth_Radio[M][N]、 Output_link_bundle_congestion与Output_link_bundle_normal一起判 断输出拥塞的产生原因,若Output_link_bundle_congestion与 Output_link_bundle_normal的状态变为01,说明对应输出链路绑定上没 有出现故障,此时识别扫描对应链路绑定上的BandWidthRadio[M][N]变 量,若BandWidthRadio[M][N]>1,则说明对目的FAP的拥塞仍然需要; 若BandWidthRadio[M][N]≤1,则向对应输出链路绑定上发送取消拥塞控 制的拥塞控制通告信息;若状态变为00,说明对应输出链路绑定的拥塞消 失,但缓存状态没有恢复正常,则与上述工作流程一样。

若状态变为为10,说明对应输出链路绑定会产生拥塞,向对应输出链 路绑定上发送使能拥塞控制信息,启动拥塞控制。

FAP输出链路带宽控制模块603接收到来自FabricPlane0的拥塞控 制通告消息,根据此拥塞控制消息中的字段,得到对应目的FAP在不同的 输出链路绑定支持的链路数目Des_fap_link_bundle_num,还得到拥塞控 制表示信号Des_fap_congestion_en;FAP输出链路带宽控制模块603还根 据接收的心跳信号计算出与不同交换平面的有效链路数目 Source_fap_output_link_bundle_num;此目的FAP再根据有效链路数目 Source_fap_output_link_bundle_num,不同目的FAP的输出链路绑定支持 的链路数目Des_fap_link_bundle_num和目的FAP的拥塞控制表示 Des_fap_congestion_en变量分析得到对应的目的FAP的信元在各交换平 面不同的链路绑定的输出带宽权重band_weight变量,最后,对应的目的 FAP采用相关算法,完成对源FAP到交换平面的宽带控制。

如图7所示,为本发明提供的基于上述系统的带宽控制方法,包括以 下步骤:

S111、各交换平面通过心跳信号定期检测与源FAP之间的输入链路以 及与目的FAP之间的输出链路的双向链路互联的有效性;

S112、实时计算每条输出链路的剩余缓存容量,并据此获得每条输出 链路绑定的输出缓存拥塞情况Output_link_bundle_congestion变量与输 出链路绑定缓存状态Output_link_bundle_normal变量;

S113、根据源FAP至该交换平面的所有有效的输入链路与目的FAP至 该交换平面的所有有效的输出链路的带宽差异检查,确定输出链路针对每 个输入链路的带宽比变量BandWidthRadio[M][N];

S114、判断Output_link_bundle_congestion与 Output_link_bundle_normal变量的状态,若状态为0、1或0、0,则转S115; 若状态为1、0,则转S118。

S115、识别扫描所有链路绑定上的BandWidthRadio[M][N]变量;

S116、判断BandWidthRadio[M][N]变量,若BandWidthRadio[M][N] >1,转S117;若BandWidthRadio[M][N]≤1,则转S118;

S117、对应输出链路绑定上发送使能拥塞的拥塞控制通告信息,并转 S119;

S118、对应输出链路绑定上发送取消拥塞的拥塞控制通告信息,并转 S119;

S119、接收相应的拥塞控制通告消息中的字段,针对每个输出链路绑 定,对应目的FAP根据变量Source_fap_output_link_bundle_num, Des_fap_link_bundle_num及Des_fap_congestion_en,计算不同链路绑 定分配的带宽权重band_weight;

S120、对应目的FAP采用相关算法,完成针对源FAP的带宽调整控制 操作。

其中步骤S-S可单独实现三级Clos网络交换架构中链路拥塞检测。

本发明不局限于上述最佳实施方式,任何人应该得知在本发明的启示 下作出的结构变化,凡是与本发明具有相同或相近的技术方案,均落入本 发明的保护范围之内。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号