CN105763469B - 三级Clos网络架构中链路拥塞检测及带宽控制的方法与系统 - Google Patents
三级Clos网络架构中链路拥塞检测及带宽控制的方法与系统 Download PDFInfo
- Publication number
- CN105763469B CN105763469B CN201610212429.6A CN201610212429A CN105763469B CN 105763469 B CN105763469 B CN 105763469B CN 201610212429 A CN201610212429 A CN 201610212429A CN 105763469 B CN105763469 B CN 105763469B
- Authority
- CN
- China
- Prior art keywords
- link
- output
- congestion
- fap
- bandwidth
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0631—Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
- H04L43/0882—Utilisation of link capacity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/127—Avoiding congestion; Recovering from congestion by using congestion prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/30—Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
Abstract
三级Clos网络架构中链路拥塞检测及带宽控制的方法与系统,该拥塞检测方法包括以下步骤,各交换平面通过心跳信号定期检测输入链路以及输出链路的双向链路互联的有效性;实时计算每条输出链路的剩余缓存容量,并据此获得每条输出链路绑定的输出缓存拥塞情况与输出链路绑定缓存状态;根据源FAP至该交换平面的所有有效的输入链路与目的FAP至该交换平面的所有有效的输出链路的带宽比,判断输出链路绑定拥塞是否会发生;若拥塞会发生,根据每条输出链路绑定的输出缓存拥塞情况以及输出链路绑定的缓存状态,向相应的源FAP发送取消拥塞或使能拥塞的控制通告消息。
Description
技术领域
本发明涉及光网络通信技术领域,具体涉及基于三级Clos网络架构链路拥塞检测及拥塞控制的方法与系统。
背景技术
随着互联网及其数据业务不断的飞速发展,互联网中交换和路由系统的容量要求也越来越高。为了解决对数据交换和传输的需求,作为交换和路由系统核心的交换结构,也呈现越来越复杂的趋势。单级交换结构如纵横式(crossbar)交换已经无法单独满足大容量的交换需求;于是更大规模的多级多平面交换结构得到了更多的应用。多级多平面交换系统整合多个交换结构和输入输出线卡,形成巨大的信息处理能力,可以满足Tbps级别的交换需求。其中,三级Clos网络由于模块化强和良好的可扩展性及能够在交换网络内部实现严格无阻塞而受到越来越多人的青睐。
如图1所示,为目前常见的基于信元的三级Clos架构交换系统:
其中,每个源FAP与目的FAP分别连接Fabric Plane0至Fabric Planem-1;源FAP与目的FAP分别对应于三级Clos网络中的第一级(输入)和第三级(输出),简称Fabric适配接入。源FAP完成输入业务流的格式变换(从分组业务或者时分复用TDM业务变换为信元),将信元流量均衡的扇出到所有交换平面,最后由目的FAP完成信元到业务流的再生。
每个FAP和一个交换平面(Fabric Plane)连接的所有链路定义为一个链路绑定(Link Bundle),根据信号送到交换平面的方向,可以细分为输入链路绑定(Input LinkBundle)和输出链路绑定(Output Link Bundle),一个链路绑定由多条物理链路实体构成。
上述现有技术中的故障及拥塞原因如图2所示:
一般三级Clos网络也成为对称式Clos网络,在图2的网络中,所有FAP和不同交换平面之间的链路绑定(Link Bundle)的连接数目应该是完全相同的;所有输入链路绑定的物理带宽和输出链路绑定的物理带宽也完全相同。
对于一个大容量交换平面,所有链路绑定对应的物理链路的传输速率可能在10Ghz以上,物理连接可以是光互连或者电信号互连。
如果此故障发生在输入链路绑定,则会造成源FAP到Fabric Plane的输出带宽的减少,造成此FAP的输入业务拥塞,但是如果故障发生在输出链路绑定,则会造成交换平面在相关链路输出拥塞,在对应的链路输出上的缓存结构会产生拥塞,一些信元会被丢弃。此拥塞如果不进行有效控制,可能会对一个交换平面的所有流量均产生影响。
目前一些通用的解决方案需要Fabric Plane0将每一级之间的链路互连情况传递到源FAP,由源FAP来进行拥塞控制的判断和操作。存在以下问题:
(1)由于三级Clos网络的源FAP,交换平面,目的FAP在交换系统实现中是分散于不同的单盘,每一级互连情况的收集和传递到源FAP需要占用较多的链路带宽,并且信息的传递和处理都存在时延,不能快速进行拥塞控制,甚至导致信元的丢失。
(2)因为目的FAP和Fabric Plane之间只交换链路互连情况,Fabric Plane输出链路的缓存情况无法实时传递给目的FAP,所以即使Fabric Plane输出不拥塞,目的FAP的拥塞控制机制也会触发拥塞控制的情况,降低了链路带宽的使用效率。
有鉴于此,急需提供一种使交换平面能够快速检测链路拥塞并且发布拥塞控制信息,对输入到交换平面的流量进行及时调整,降低交换平面拥塞的系统及处理方法。
发明内容
本发明所要解决的技术问题是三级Clos网络信元交换架构中输出链路绑定发生故障未能及时得到处理,造成交换平面对应的链路输出上的缓存结构会产生拥塞,甚至信元会被丢失的问题。
为了解决上述技术问题,本发明提供了一种三级Clos网络架构中链路拥塞检测方法,包括以下步骤:
各交换平面通过心跳信号定期检测与源FAP之间的输入链路以及与目的FAP之间的输出链路的双向链路互联的有效性;实时计算每条输出链路的剩余缓存容量,并据此获得每条输出链路绑定的输出缓存拥塞情况与输出链路绑定缓存状态;
根据源FAP至该交换平面的所有有效的输入链路与目的FAP至该交换平面的所有有效的输出链路的带宽比,判断输出链路绑定拥塞是否会发生;
当链路拥塞发生时,根据每条输出链路绑定的输出缓存拥塞情况以及输出链路绑定的缓存状态,向相应的源FAP发送取消拥塞控制通告消息或使能拥塞控制通告消息。
在上述方法中,发送所述取消拥塞控制通告消息或使能拥塞控制通告消息包括以下步骤:
当输出缓存拥塞或输出链路绑定缓存状态不正常时,根据所述带宽比发送取消拥塞控制通告信息或使能拥塞控制通告信息,若带宽比小于或等于1,则向对应输出链路绑定发送取消拥塞控制通告信息;否则发送使能拥塞控制通告信息;
当输出缓存拥塞且输出链路绑定缓存状态正常时,向对应输出链路绑定上发送取消拥塞控制通告信息。
本发明还提供了一种三级Clos网络架构中带宽控制方法,包括以下步骤:
采用如上述所述的方法,获得相应的取消拥塞控制通告消息或使能拥塞控制通告消息;
源FAP根据相应的拥塞控制通告消息以及对应目的FAP的带宽权重比,对输入到本交换平面fabric plane的流量进行调整,完成针对此目的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及交换平面内设有链路组心跳引擎。
在上述方案中,交换平面为两个或两个以上,每一个交换平面上都设有上述所述的输出链路拥塞检测装置。
本发明通过设置在各交换平面(Fabric Plane)上的输出链路拥塞检测装置,检测该交换平面的输出链路绑定是否产生拥塞,当检测出发生拥塞时,向所有的源FAP发送拥塞控制通告消息,所有的源FAP分别根据此拥塞控制通告消息,对输出到对应的交换平面的链路带宽进行调整,减少输出流量的带宽。
附图说明
图1为现有的基于信元的Clos架构交换系统示意图;
图2为现有的基于信元的Clos架构交换系统的输出链路拥塞示意图;
图3为本发明提供的单交换平面Clos架构交换系统示意图;
图4为本发明中输出链路拥塞检测装置;
图5为本发明中fabric输出链路拥塞管理模块的拥塞检测及通告消息发送流程图;
图6为本发明中输出链路带宽控制装置;
图7为本发明中三级Clos网络交换架构中带宽控制方法的流程图。
具体实施方式
本发明提供了一种三级Clos网络架构中链路拥塞检测及带宽控制的方法与系统,通过设置在各交换平面(Fabric Plane)上的输出链路拥塞检测装置,检测该交换平面的输出链路绑定是否产生拥塞,当检测出发生拥塞时,向所有的源FAP发送拥塞控制通告消息,所有的源FAP分别根据此拥塞控制通告消息,对输出到对应的交换平面的链路带宽进行调整,减少输出流量的带宽。下面结合具体实施例和说明书附图对本发明予以详细说明。
图3为本发明提供的一种三级Clos网络架构交换系统示意图,该实施例采用的是单交换平面。
如图3所示,本实施例包括一个交换平面(Fabric Plane0),输入端通过8条输入链路绑定Input Link Bundle 0-7分别连接8个源FAP,输出端通过8条输出链路绑定OutputLink Bundle 0-7分别连接8个目的FAP。
1条输入链路绑定和1条输出链路绑定组成一个链路绑定CELL(如Input LinkBundle 0和Output Link Bundle 0组成CELL0),本实施例共设置8组链路绑定CELL0-7。一个源FAP和一个目的FAP对应一条链路绑定CELL。
本实施例中,Fabric Plane0的输入和输出均包括128条物理链路,每条输入链路绑定和输出链路绑定均包含16条物理链路,其中Fabric Plane0的输出链路绑定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及Fabric Plane内都设有用于产生心跳信号的心跳引擎(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)Fabric Plane定期扫描各输入链路绑定的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)Fabric Plane基于每个FAP,判断在Clos网络中输出链路绑定和输入链路绑定之间的带宽比,方法如下:
读出表1中源FAP0的Input_link_bundle_num变量,读出表2中每个目的FAP的Output_link_bundle_num变量,进行比较,得到源FAP0在Fabric Plane0中输入链路和输出链路的带宽比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、识别扫描所有链路绑定上的BandWidth Radio[M][N]变量;
S14、判断BandWidth Radio[M][N]变量,若BandWidth Radio[M][N]>1,转S15;若BandWidth Radio[M][N]≤1,则转S16;
S15、向对应输出链路绑定上发送使能拥塞的拥塞控制通告信息;
S16、向对应输出链路绑定上发送取消拥塞的拥塞控制通告信息。
具体工作原理如下:
例如当扫描到Output_link_bundle_congestion[0]=1,Output_link_bundle_normal[0]=0,表示输出链路绑定0出现拥塞。此时首先查询变量BandWidth Radio[0][0],如果BandWidth Radio[0][0]>1,则说明此时输出链路绑定0会出现拥塞,是因为输入链路绑定0到输出链路绑定0的带宽比大于0,此时在输出链路绑定0上发送一次拥塞控制通告消息,启动拥塞控制。拥塞控制通告消息的内容如表4所示。
表4、拥塞控制通告消息。
同理,按照相同的步骤顺次查询BandWidth Radio[1][0],BandWidthRadio[2][0]……BandWidth Radio[7][0],若符合条件的,均在对应的输出链路绑定上发送拥塞控制通告消息。
如果当Output_link_bundle_congestion[0]=0,Output_link_bundle_normal[0]=0,表示输出链路绑定的拥塞消失,但缓存状态还未恢复正常,再次查询变量BandWidth_Radio[0][0],如果BandWidth Radio[0][0]>1,说明对目的FAP0的拥塞控制仍然需要。如果BandWidth Radio[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接收来自交换平面Fabric Plane0发送的心跳信号,解析的得到所有的输入链路有效表示Input_heart_beat_valid,输出链路有效表示Output_heart_beat_valid以及相应的交换平面的编号信息Fabric_id,且FAP链路心跳发送模块602定期向对应的交换平面发送心跳信号。
FAP输出链路带宽控制模块603将根据FAP链路心跳接收模块601解析获得的信息与由fabric链路拥塞管理模块404发至的拥塞控制通告消息进行分析,并对相应的目的FAP进行带宽控制;
下面详细介绍输出链路带宽控制的装置中每个模块的工作原理:
FAP链路心跳接收模块601:负责接收Fabric Plane输入到本FAP链路心跳输入消息,并解析出相关信息;工作原理与fabric链路心跳信息接收模块401类似,接收到的消息内容如表5所示:
表5、源FAP接收到的消息内容。
根据此消息,解析出信号output_heart_beat_valid[31:0](链路0-31输出链路有效表示),Fabric_id[31:0](链路0-31Fabric Plane标号表示),发送到FAP输出链路带宽控制模块603。
FAP链路心跳发送模块602:负责发送本FAP的每条链路的心跳消息,工作原理及发送信息内容与fabric链路心跳信息发送模块402类似,发送到的消息内容如表6所示:
表6、源FAP发送的消息内容。
FAP输出链路带宽控制模块603:根据接收到的交换平面Fabric Plane发送的拥塞控制通告消息,对交换平面输入到目的FAP的流量进行适度调整,完成源FAP输入到此交换平面的流量带宽控制。
Fap带宽控制模块具体工作步骤如下:
S21、FAP输出链路带宽控制模块603根据输入信号Output_heart_beat_valid与Fabric_id计算出目的FAP和不同的交换平面的有效连接链路数目;使用变量Source_fap_output_link_bundle_num定义表示,根据图3所示的链路连接示意图,只连接了一个交换平面FabricPlane0:
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接收来自交换平面Fabric Plane拥塞控制通告消息,根据此拥塞控制消息中的字段,针对每个输出链路绑定,得到对应目的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_num0=14中的最小值,因此band_weight[0]=14。
同理,对于输出链路绑定1,没有启动拥塞控制,带宽权重band_weight[1]=16。
为此,目的FAP 7的信元这两条输出链路绑定的带宽比为14:16,据此进行带宽控制,保证激活拥塞控制的输出链路绑定的输出流量在一定的带宽范围中,不会使对应的Fabric Plane产生拥塞和信元丢弃。
本发明系统的工作原理如下:
当有信元传输时,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,说明对应输出链路绑定上没有出现故障,此时识别扫描对应链路绑定上的BandWidth Radio[M][N]变量,若BandWidth Radio[M][N]>1,则说明对目的FAP的拥塞仍然需要;若BandWidthRadio[M][N]≤1,则向对应输出链路绑定上发送取消拥塞控制的拥塞控制通告信息;若状态变为00,说明对应输出链路绑定的拥塞消失,但缓存状态没有恢复正常,则与上述工作流程一样。
若状态变为为10,说明对应输出链路绑定会产生拥塞,向对应输出链路绑定上发送使能拥塞控制信息,启动拥塞控制。
FAP输出链路带宽控制模块603接收到来自Fabric Plane0的拥塞控制通告消息,根据此拥塞控制消息中的字段,得到对应目的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至该交换平面的所有有效的输出链路的带宽差异检查,确定输出链路针对每个输入链路的带宽比变量BandWidth Radio[M][N];
S114、判断Output_link_bundle_congestion与Output_link_bundle_normal变量的状态,若状态为0、1或0、0,则转S115;若状态为1、0,则转S118。
S115、识别扫描所有链路绑定上的BandWidth Radio[M][N]变量;
S116、判断BandWidth Radio[M][N]变量,若BandWidth Radio[M][N]>1,转S117;若BandWidth Radio[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网络交换架构中链路拥塞检测。
本发明不局限于上述最佳实施方式,任何人应该得知在本发明的启示下作出的结构变化,凡是与本发明具有相同或相近的技术方案,均落入本发明的保护范围之内。
Claims (9)
1.三级Clos网络架构中链路拥塞检测方法,其特征在于,包括以下步骤:
各交换平面通过心跳信号定期检测与源FAP之间的输入链路以及与目的FAP之间的输出链路的双向链路互联的有效性;实时计算每条输出链路的剩余缓存容量,并据此获得每条输出链路绑定的输出缓存拥塞情况与输出链路绑定缓存状态;
根据BandWidth_Radio[M][N]、变量Output_link_bundle_congestion与Output_link_bundle_normal一起判断输出拥塞的产生原因并且发送相应的拥塞控制通告消息;
其中,输入链路和输出链路的带宽比BandWidth_Radio[M][N]是一个二维数组,其中M对应源FAP序列号,N对应于目的FAP序列号;
Output_link_bundle_congestion表示输出链路绑定存在输出缓存拥塞,使用变量Output_link_bundle_congestion[n]=0表示;
Output_link_bundle_normal表示输出链路绑定缓存状态正常,使用变量Output_link_bundle_normal[n]=1表示;
n为第n条输出链路绑定。
2.如权利要求1所述的方法,其特征在于,拥塞检测及通告控制消息的发送流程包括以下步骤:
S11、拥塞状态扫描;
S12、判断变量Output_link_bundle_congestion与Output_link_bundle_normal的状态,若分别为1、0或0、0,则转S13,若为0、1,则转S16;Output_link_bundle_congestion[n]=1,Output_link_bundle_normal[n]=0,表示输出链路绑定n出现拥塞;Output_link_bundle_congestion[n]=0,Output_link_bundle_normal[n]=0,表示输出链路绑定n的拥塞消失,但缓存状态还未恢复正常;Output_link_bundle_congestion[n]=0,Output_link_bundle_normal[n]=1,表示输出链路绑定n的拥塞消失,同时缓存状态恢复正常;
S13、识别扫描所有链路绑定上的BandWidth Radio[M][N]变量;
S14、判断BandWidth Radio[M][N]变量,若BandWidth Radio[M][N]>1,转S15;若BandWidth Radio[M][N]≤1,则转S16;
S15、向对应输出链路绑定上发送使能拥塞的拥塞控制通告信息;
S16、向对应输出链路绑定上发送取消拥塞的拥塞控制通告信息。
3.三级Clos网络架构中带宽控制方法,其特征在于,包括以下步骤:
采用如权利要求1所述的方法,获得相应的取消拥塞控制通告消息或使能拥塞控制通告消息;
源FAP根据相应的拥塞控制通告消息以及对应目的FAP的带宽权重比,对输入到本交换平面fabric plane的流量进行调整,完成针对此目的FAP的带宽控制;
带宽权重比为该目的FAP的带宽权重与其他各目的FAP的带宽权重的比值;
带宽权重为该目的FAP的有效输出链路数目与输出链路绑定支持的链路数目两者间的最小值。
4.如权利要求3所述的方法,其特征在于,所述目的FAP的带宽控制的方法包括以下步骤:
目的FAP根据心跳信号获得与各交换平面的有效链路数目以及相应输出链路绑定所支持的链路数目;
源FAP根据接收到的拥塞控制通告消息获得拥塞控制指示信号,以及对应的目的FAP;
源FAP根据所述有效连接链路数目、输出链路绑定支持的链路数目以及拥塞控制指示信号,调整向对应目的FAP连接的交换平面的输出带宽。
5.交换平面的输出链路拥塞检测装置,其特征在于,包括:
fabric链路心跳信息接收模块,定期检测且解析来自源FAP的所有输入链路心跳信号;
fabric链路心跳信息发送模块,交换平面定期向所有输出链路发送心跳消息;
fabric输出链路缓存管理模块,实时输出每条输出链路的剩余缓存容量;
fabric链路拥塞管理模块,判断输出链路是否产生拥塞且拥塞产生的原因,并向输出链路发送相应的拥塞控制通告消息;
当所述fabric链路心跳信息接收模块检测到链路互联失效时,所述fabric链路拥塞管理模块将根据所述fabric链路心跳信息接收模块解析出的信息,获得源FAP至该交换平面的所有输入链路与目的FAP至该交换平面的所有输出链路的带宽比,并判断输出链路绑定拥塞是否会发生;
若输出链路拥塞发生,则所述fabric链路拥塞管理模块根据所述fabric输出链路缓存管理模块输出的每条输出链路的剩余缓存容量,分析出每条输出链路绑定的输出缓存拥塞情况与输出链路绑定缓存状态;
所述fabric链路拥塞管理模块根据每条输出链路的输出缓存拥塞情况、输出链路绑定缓存状态向相应的目的FAP发送取消拥塞或使能拥塞的拥塞控制通告消息。
6.三级Clos网络架构的宽带控制系统,包括若干交换平面以及与所述交换平面连接的多个源FAP和目的FAP,其特征在于:所述交换平面上设有如权利要求5所述的输出链路拥塞检测装置,所有所述源FAP上设有输出链路带宽控制装置;
所述输出链路带宽控制的装置包括:
FAP链路心跳接收模块:负责接收交换平面输入到源FAP链路心跳输入消息,并解析出相关信息;
FAP链路心跳发送模块:定期发送本FAP的心跳消息;
FAP输出链路带宽控制模块:根据接收到的所述交换平面发送的拥塞控制通告消息,对交换平面送到目的FAP的流量进行适度调整;
所述FAP输出链路带宽控制模块根据所述FAP链路心跳接收模块解析的信息获得带宽权重比,同时根据所述fabric链路拥塞管理模块发至的拥塞控制通告消息,进行对源FAP带宽控制。
7.如权利要求6所述的系统,其特征在于,所述拥塞包括输出缓存拥塞与输出链路拥塞。
8.如权利要求7所述的系统,其特征在于,每个所述源FAP、所述目的FAP及交换平面内设有链路组心跳引擎。
9.如权利要求7所述的系统,其特征在于,交换平面为两个或两个以上,每一个上都设有如权利要求5所述的输出链路拥塞检测装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610212429.6A CN105763469B (zh) | 2016-04-07 | 2016-04-07 | 三级Clos网络架构中链路拥塞检测及带宽控制的方法与系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610212429.6A CN105763469B (zh) | 2016-04-07 | 2016-04-07 | 三级Clos网络架构中链路拥塞检测及带宽控制的方法与系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105763469A CN105763469A (zh) | 2016-07-13 |
CN105763469B true CN105763469B (zh) | 2019-03-22 |
Family
ID=56334285
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610212429.6A Active CN105763469B (zh) | 2016-04-07 | 2016-04-07 | 三级Clos网络架构中链路拥塞检测及带宽控制的方法与系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105763469B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107959642B (zh) | 2016-10-17 | 2020-08-07 | 华为技术有限公司 | 用于测量网络路径的方法、装置和系统 |
CN108259260B (zh) * | 2017-01-24 | 2020-12-04 | 新华三技术有限公司 | 链路检测方法及装置 |
CN107911295B (zh) * | 2017-11-02 | 2020-07-28 | 北京紫光恒越网络科技有限公司 | Clos多级多平面交换架构的路径实现方法及装置 |
CN111224884B (zh) | 2018-11-27 | 2023-02-24 | 华为技术有限公司 | 拥塞控制的处理方法、报文转发装置及报文接收装置 |
CN112751771A (zh) * | 2019-10-29 | 2021-05-04 | 深圳市中兴微电子技术有限公司 | 一种实现拥塞控制的方法和装置及计算机可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101325558A (zh) * | 2008-07-29 | 2008-12-17 | 华为技术有限公司 | 一种多级多平面结构的数据流发送方法、装置和系统 |
EP2442498A1 (en) * | 2009-06-12 | 2012-04-18 | ZTE Corporation | Method and device for controlling switching network traffic |
CN102461093A (zh) * | 2009-06-29 | 2012-05-16 | 阿尔卡特朗讯公司 | 管理业务负荷的方法 |
CN105337883A (zh) * | 2015-08-20 | 2016-02-17 | 电子科技大学 | 一种支持多业务的网络交换装置及其实现方法 |
-
2016
- 2016-04-07 CN CN201610212429.6A patent/CN105763469B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101325558A (zh) * | 2008-07-29 | 2008-12-17 | 华为技术有限公司 | 一种多级多平面结构的数据流发送方法、装置和系统 |
EP2442498A1 (en) * | 2009-06-12 | 2012-04-18 | ZTE Corporation | Method and device for controlling switching network traffic |
CN102461093A (zh) * | 2009-06-29 | 2012-05-16 | 阿尔卡特朗讯公司 | 管理业务负荷的方法 |
CN105337883A (zh) * | 2015-08-20 | 2016-02-17 | 电子科技大学 | 一种支持多业务的网络交换装置及其实现方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105763469A (zh) | 2016-07-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105763469B (zh) | 三级Clos网络架构中链路拥塞检测及带宽控制的方法与系统 | |
US9325641B2 (en) | Buffering schemes for communication over long haul links | |
US7636320B1 (en) | System and method for creating an asynchronous transfer mode port mirror | |
CN1072869C (zh) | 数字电信系统中数据保护的方法和系统 | |
CN101247289B (zh) | 以太网交换机高速端口转发性能的测试方法和装置 | |
CN112636816B (zh) | 一种双冗余fc网络传输系统 | |
CN102859921A (zh) | 用于实现加速的吞吐量的系统和方法 | |
CN105933342A (zh) | 一种视频监控数据的传输方法及装置 | |
Hudek et al. | Signaling analysis for a multi-switch all-optical network | |
CN207124632U (zh) | 一种双千兆电口光纤收发器及应用其的通信系统 | |
CN106789753A (zh) | 一种线卡框、多框集群路由器、及报文处理方法 | |
US9275415B2 (en) | System for latency reduction in high frequency trading networks | |
CN102611604B (zh) | 一种共享网状保护实现方法及系统 | |
CN101202634B (zh) | 提高带宽利用率的单板和数据传输系统以及方法 | |
CN101399770A (zh) | 在数据中心以太网中的流量控制管理方法、系统和设备 | |
CN101056144A (zh) | 一种光线路终端端口诊断系统和方法 | |
CN101986616A (zh) | 以太网分路器及其分路方法 | |
CN100421397C (zh) | 一种光突发交换网络性能及故障监测方法 | |
CN102055657B (zh) | Fc数据报文的负载分担方法和fc交换机系统 | |
CN102057632B (zh) | 数据包传送装置 | |
CN100571219C (zh) | 一种负载分担路由器以及实现负载分担的设备、方法 | |
CN106656312A (zh) | 平均节点度较高的光分组交换网络多链路故障保护方法 | |
US20090232136A1 (en) | Method and Apparatus for Scalable Protocol Snooping in a Pon | |
CN108881010A (zh) | 基于损益评估的拥塞路径调整方法 | |
CN102195931A (zh) | 一种设备内部多播流量转发的方法、网络设备及线卡 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |