CN109787910B - 一种流量管理方法、系统及织状网络处理器 - Google Patents
一种流量管理方法、系统及织状网络处理器 Download PDFInfo
- Publication number
- CN109787910B CN109787910B CN201910156869.8A CN201910156869A CN109787910B CN 109787910 B CN109787910 B CN 109787910B CN 201910156869 A CN201910156869 A CN 201910156869A CN 109787910 B CN109787910 B CN 109787910B
- Authority
- CN
- China
- Prior art keywords
- node
- credit
- egress
- ingress
- credits
- 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
Images
Classifications
-
- 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/39—Credit based
-
- 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/26—Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
- H04L47/263—Rate modification at the source after receiving feedback
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
- H04L49/253—Routing or path finding in a switch fabric using establishment or release of connections between ports
- H04L49/254—Centralised controller, i.e. arbitration or scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/50—Overload detection or protection within a single switching element
- H04L49/501—Overload detection
- H04L49/503—Policing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种流量管理方法、系统及织状网络处理器,应用于交换网络,涉及通信技术领域。流量管理方法包括:入口节点向出口节点发送的数据总量不超过其分配到的节点信用,且向出口节点发送数据的多个入口节点的节点信用总和不超过出口节点的出口总流量。本发明通过节点信用控制发往织状网络处理器的流量,避免织状网络处理器因流量过大而不能正常工作。
Description
技术领域
本发明涉及通信技术领域,具体是涉及一种流量管理方法、系统及织状网络处理器。
背景技术
在通信领域,基于以太网报文的通信占主流地位,路由器和以太网织状交换单元等数据通信设备都需要采用芯片的包处理模块对以太网包或IP包(Internet Protocol)进行处理。许多数据网络使用基于织状(Fabric)架构的交换网络来传输数据,例如在超大数据带宽交换处理系统中,每个织状网络处理器(Fabric Network Processor,FNP)为一个节点,织状网络处理器FNP之间通过多个织状交换单元(Fabric Switch Element,FSE)交换数据。在每个节点上,入口流量管理器(Ingress Traffic Manager)决定所有入口流量管理队列(Ingress Traffic Management Queue)是否有资格发送信元到织状交换单元FSE,继而发送到对应的出口流量管理队列(Egress Traffic Management Queue)。
目前,通用的交换网络的流量管理(Traffic Management)方法是服务质量(Quality of Service,QoS)+层次化服务质量(Hierarchy Quality of Service,HQoS),入口与出口之间通过流状态信息(Flow Status Message)和信用信息(Credit Message)对虚拟输出队列(Virtual Output Queues,VOQs)进行调度。这种输出队列和业务类型的pull调度模式能够根据端口速率灵活地进行整形(shaping)和调度(scheduling)。
但是,实际应用中存在由于网络系统流量不规则而导致织状网络处理器FNP崩溃的情况。例如,业务盘上电复位或者突然插拔业务芯片的时候,发往某个或某些织状网络处理器FNP的数据包过多,造成上述织状网络处理器FNP因流量过大而不能正常工作。
发明内容
针对现有技术中存在的缺陷,本发明实施例的目的在于提供一种流量管理方法、系统及织状网络处理器,通过节点信用控制发往织状网络处理器的流量,避免织状网络处理器因流量过大而不能正常工作。
第一方面,本发明实施例提供一种流量管理方法,应用于交换网络;
入口节点向出口节点发送的数据总量不超过其分配到的节点信用,且向所述出口节点发送数据的多个入口节点的节点信用总和不超过出口节点的出口总流量。
结合第一方面,在第一种可选的实现方式中,所述节点信用是网管下发的或者由所述出口节点周期性地重新分配的。
在第一种可选的实现方式中,在每个所述周期中,所述入口节点实时计算节点信用余额,其中,节点信用余额=所述节点信用-已发送的数据数量;当所述节点信用余额达到阈值时,停止向所述出口节点发送数据,以及向外发送节点信用请求。
在第一种可选的实现方式中,所述入口节点包括入口流量管理器,入口流量管理器用于配置输出队列和队列信用;
当所述节点信用大于零,队列信用大于或者等于零,且输出队列为非空时,向所述出口节点发送数据。
第二方面,本发明实施例提供一种流量管理方法,应用于交换网络;
出口节点周期性地将出口总流量划分为多个节点信用,并一一分配给向其发送数据的多个入口节点。
结合第二方面第一种可选的实现方式,所述出口节点根据拥塞信息和/或所述入口节点的节点信用请求,增加、减少或者维持所述节点信用;
所述拥塞信息来自所述交换网络的织状交换单元和/或所述出口节点的出口包缓存器。
第三方面,本发明实施例提供一种流量管理系统,其设于交换网络的入口节点上,每个入口节点均包括入口包缓存器,所述流量管理系统包括:
入口节点信用计数器,其用于存储分配给该入口节点的节点信用,其中,向所述出口节点发送数据的多个入口节点的节点信用总和不超过出口节点的出口总流量;
入口管理逻辑单元,其用于控制所述入口包缓存器向所述出口节点发送的数据总量不超过所述节点信用。
结合第三方面,在第一种可选的实现方式中,所述节点信用是网管下发的或者由所述出口节点周期性地重新分配的。
在第一种可选的实现方式中,在每个所述周期中,所述入口管理逻辑单元用于实时计算节点信用余额,其中,节点信用余额=所述节点信用-已发送的数据数量;当所述节点信用余额达到阈值时,向外发送节点信用请求。
结合第三方面,在第二种可选的实现方式中,所述入口节点还包括入口流量管理器,入口流量管理器用于配置输出队列和队列信用;或者,所述入口管理逻辑单元还用于配置输出队列和队列信用;
所述入口管理逻辑单元还用于控制所述入口包缓存器发送数据,包括:当所述节点信用大于零,队列信用大于或者等于零,且输出队列为非空时,向所述出口节点发送数据。
第四方面,本发明实施例提供一种流量管理系统,其设于交换网络的出口节点上,每个出口节点均包括出口包缓存器,所述流量管理系统包括:
出口管理逻辑单元,其用于统计从每个入口节点接收到的数据数量,以及周期性地将出口总流量划分为多个节点信用,并一一分配给向其发送数据的多个入口节点;
出口节点信用计数器,其用于存储从每个入口节点接收到的数据数量。
结合第四方面,在第一种可选的实现方式中,所述出口管理逻辑单元还用于根据拥塞信息和/或所述入口节点的节点信用请求,增加、减少或者维持所述节点信用;
所述拥塞信息来自织状交换单元或者所述出口包缓存器。
第五方面,本发明实施例提供一种织状网络处理器,其设于交换网络中,所述织状网络处理器包括入口包缓存器和出口包缓存器,所述织状网络处理器还包括上述第三方面的流量管理系统,以及上述第四方面的流量管理系统。
与现有技术相比,本发明实施例提供一种流量管理方法,应用于交换网络,入口节点向出口节点发送的数据总量不超过其分配到的节点信用,且向出口节点发送数据的多个入口节点的节点信用总和不超过出口节点的出口总流量,通过节点信用控制发往织状网络处理器的流量,避免织状网络处理器因流量过大而不能正常工作。
附图说明
图1是本发明实施例流量管理方法流程图;
图2是本发明另一实施例流量管理方法流程图;
图3是本发明另一实施例流量管理方法中,入口节点和出口节点之间节点信用的功能示意图;
图4是本发明实施例入口节点的流量管理系统的应用示意图;
图5是本发明另一实施例出口节点流量管理系统的应用示意图;
图6是图4和图5的流量管理系统的应用示意总图,其中包含出口节点以及向该出口节点发送数据的一个入口节点;
图7是一种现有的基于Fabric的交换网络架构;
图8是本发明实施例在织状网络处理器FNP中的应用示意图;
图9是本发明实施例在织状网络处理器FNP的另一个具体应用示意图。
具体实施方式
下面结合附图及具体实施例对本发明作进一步的详细描述。
本发明实施例提供一种流量管理方法,可以应用于分布式交换网络,也可以应用于集中式交换网络,流量管理方法包括:入口节点向出口节点发送的数据总量不超过其分配到的节点信用,且向出口节点发送数据的多个入口节点的节点信用总和不超过出口节点的出口总流量。
具体的,节点信用(Node Credit,NC)表示可发送的数据总量,是对端织状网络处理器FNP允许本端织状网络处理器FNP向对端织状网络处理器FNP的各端口发送的数据流量的总和。
本端织状网络处理器FNP向对端织状网络处理器FNP的各端口发送的数据可以是信元、数据包或者指定的数据单位,不作限定,其中,指定的数据单位包括具有指定比特数的码块,例如66B比特等。
根据上述数据的具体发送形式,入口节点向出口节点发送的数据总量相应地是信元总数、数据包总数、数据字节总数或者指定的数据单位总数。
以下的本发明实施例均以分布式交换网络为例进行说明。
参见图1所示,在入口节点,流量管理方法包括:
S110交换网络初始化时,每个入口节点接收网管下发的节点信用。
具体的,在初始化之前,网管将一个出口节点的出口总流量划分为多个节点信用,初始化时一一分配给向该出口节点发送数据的多个入口节点,因此,向该出口节点发送数据的每个入口节点都得到为其分配的节点信用。
网管将一个出口节点的出口总流量划分为多个节点信用时,可以采用平均分配的方式,使得每个入口节点的节点信用相同,也可以根据实际应用采用不平均分配的方式,使得不同入口节点的节点信用不同,不作限定。
S120入口节点向该出口节点发送的数据总量不超过分配的节点信用。
目前业内通用的分布式交换网络的流量管理方法是QOS+HQOS,但是,当分布式交换网络上电复位或者拔插分布式交换网络的织状网络处理器FNP时,分布式交换网络进行初始化,多个入口节点的虚拟输出队列VOQs都向出口节点发送数据,导致网络系统的流量不规则,以及织状交换单元和/或出口节点崩溃的现象。
在本实施方式中,节点信用是网管下发的,在其他的实施方式中,节点信用也可以通过其他途径下发给入口节点,不作限定。
通过本实施例流量管理方法,在交换网络初始化时,配置入口节点的节点信用,通过节点信用达到对各节点之间的流量控制,避免流量过多导致织状交换单元和/或出口节点瘫痪。
参见图2所示的本发明另一实施例流量管理方法流程图,交换网络初始化时,节点信用是网管下发的,初始化后,出口节点周期性地重新分配节点信用。
流量管理方法包括:
S210交换网络初始化时,每个入口节点接收网管下发的节点信用。此时,该节点信用为初始值。
S220入口节点向该出口节点发送的数据总量不超过分配的节点信用。
S230初始化后,出口节点周期性地将出口总流量划分为多个节点信用,并一一分配给向其发送数据的多个入口节点。
具体的,该重新分配的节点信用可以与步骤S210中网管下发的节点信用的初始值相同,也可以不同,不作限定。
出口节点将出口总流量划分为多个节点信用的周期也称为老化时间(EligTime)。老化时间可以根据出口节点的带宽等参数确定,例如对Fabric分布式架构进行系统仿真计算得到老化时间。
S240入口节点接收出口节点周期性地重新分配的节点信用。
S250在每个周期中,当节点信用大于零,队列信用大于或者不超过零,且输出队列为非空时,入口节点向出口节点发送数据。
参见图3所示,入口节点Node X(入口织状网络处理器Ingress FNP)通过织状交换单元FSE向二个出口节点Node Y(出口织状网络处理器Egress FNP)和Node Z(出口织状网络处理器Egress FNP)发送数据。在初始化时,入口节点Node X从中央处理器(CentralProcessing Unit,CPU)接收下发的节点信用初始值(NCCIFloor),节点信用初始值(NCCIFloor)包括出口节点Node Y分配给入口节点Node X的节点信用初始值(NCCIFloor_Y),以及出口节点Node Z分配给入口节点Node X的节点信用初始值(NCCIFloor_Z)。其中,NCCIFloor_Y和NCCIFloor_Z可以相等,也可以不相等,不作限定。
作为一个示例,在初始化时,入口节点Node X的两个输出队列向出口节点Node Y所发送的数据总量不超过节点信用初始值NCCIFloor_Y,节点信用NCCIFloor_Y是分配给入口节点Node X的节点信用,用于控制入口节点Node X向出口节点Node Y发送的数据总量。入口节点Node X统计节点信用余额NCCI[Y]。同样的,节点信用初始值NCCIFloor_Z是分配给入口节点Node X的节点信用,用于控制入口节点Node X向出口节点Node Z发送的数据总量。入口节点Node X统计节点信用余额NCCI[Z]。
初始化后,出口节点周期性地将出口总流量划分为多个节点信用,并一一分配给向其发送数据的多个入口节点,此时的节点信用可以等于或者不等于节点信用初始值,不作限定。
目前业内通用的分布式交换网络的入口节点均包括独立的入口流量管理器,入口流量管理器用于配置输出队列和队列信用,例如虚拟输出队列VOQs基于队列信用(QueueCredit,QC)进行流量管理。
本实施例采用节点信用NC机制和队列信用QC机制相结合的技术方案,可以避免流量过多导致织状交换单元和/或出口节点瘫痪。
进一步的,在步骤S250之后,流量管理方法还包括:
S260入口节点实时计算节点信用余额,其中,节点信用余额=节点信用-已发送的数据数量。当节点信用余额达到阈值时,停止向出口节点发送数据,以及向外发送节点信用请求。
具体的,当节点信用余额达到阈值时,停止向出口节点发送数据,以及向外发送节点信用请求的执行顺序不作限定。可以先停止向出口节点发送数据,然后向外发送节点信用请求;也可以先向外发送节点信用请求,然后停止向出口节点发送数据;或者,停止向出口节点发送数据,同时,向外发送节点信用请求。
S270出口节点根据拥塞信息(Congestion Message,CM)和/或入口节点的节点信用请求,增加、减少或者维持节点信用。
拥塞信息来自交换网络的织状交换单元FSE和/或出口节点的出口包缓存器。拥塞信息的触发条件包括:由于交换网络的负载不均衡,或者超过时延等因素,导致织状交换单元FSE的包缓存器和/或出口节点的出口包缓存器中的流量超过预设水线。
具体的,增加的节点信用=当前的节点信用+节点信用增加值(NodeInc)。
减少的节点信用=当前的节点信用-节点信用减少值(NodeDec)。
其中,节点信用减少值NodeDes和节点信用增加值NodeInc都可以根据出口节点的带宽和老化时间等参数确定,例如通过对Fabric分布式架构进行系统仿真得到,并作为初始化配置在软件开发工具包(Software Development Kit,SDK)中,下发到出口节点的芯片中。
出口节点根据拥塞信息和/或入口节点的节点信用请求,可以根据实际情况,例如综合入口节点的业务情况、优先级等因素,采用以下方式之一或者组合对节点信用进行调整:增加、减少或者维持节点信用,不作限定。无论如何调整,在每个周期内出口节点向所有入口节点分配的节点信用总和不超过该出口节点的出口总流量。
本实施例可以避免流量过多导致织状交换单元和/或出口节点瘫痪,也避免由于流量过少导致织状交换单元和/或出口节点长时间处于非全速状态,并可以根据实际节点之间的流量进行可变粒度的、动态的调整,实现业务流量均匀。
参见图4所示的一种流量管理系统的应用示意图,用于实现前述实施例的方法,其设于交换网络的入口节点上,即图4中的入口流量管理系统100,每个入口节点均包括入口包缓存器130(Packet Buffer,PB),入口流量管理系统100包括入口节点信用计数器(NodeCredit Counter Ingress,NCCI)120和入口管理逻辑单元110。
入口节点信用计数器(NCCI)120用于存储分配给该入口节点的节点信用,其中,向出口节点发送数据的多个入口节点的节点信用总和不超过出口节点的出口总流量。
入口管理逻辑单元110用于控制入口包缓存器向出口节点发送的数据总量不超过节点信用。
具体的,入口管理逻辑单元110用于接收分配给该入口节点的节点信用,并转发给入口节点信用计数器(NCCI)120;从入口包缓存器130发出的数据数量达到节点信用时,向入口包缓存器130发送停止发送数据的反压信息,禁止入口包缓存器130向分配该节点信用的出口节点输出数据,入口包缓存器130缓存接收的数据,当接收的数据超过入口包缓存器130的缓存大小时,则丢弃。
具体的,节点信用是网管下发的或者由出口节点周期性地重新分配的。出口节点周期性地重新分配节点信用时,入口管理逻辑单元110用于周期性地接收分配给该入口节点的节点信用,并转发给入口节点信用计数器(NCCI)120。
进一步的,在每个周期中,入口管理逻辑单元110用于实时计算节点信用余额,其中,节点信用余额=节点信用-已发送的数据数量;当节点信用余额达到阈值时,向入口包缓存器发送停止发送数据的反压信息,以及向外发送节点信用请求。
具体的,根据实际应用设置阈值的大小,不作限定,例如本发明实施例中设置阈值=0。
出口节点将出口总流量划分为多个节点信用的周期也称为老化时间(EligTime)。老化时间可以根据出口节点的带宽、以及入口和出口包缓存器的大小等参数确定,例如对Fabric分布式架构进行系统仿真计算得到老化时间。
在一种实施方式中,入口节点还可以包括入口流量管理器,入口流量管理器用于配置输出队列(Queue)和队列信用QC。入口管理逻辑单元110控制节点信用,并从入口流量管理器获取对队列信用以及输出队列结果。在另一种实施方式中,入口管理逻辑单元110除了控制节点信用,还用于配置输出队列和队列信用。
入口管理逻辑单元110控制入口包缓存器130向出口节点发送数据,包括:当节点信用大于零,队列信用大于或者等于零,且输出队列为非空时,向出口节点发送数据。
入口管理逻辑单元110接收出口节点周期性地重新分配的节点信用,并转发给入口节点信用计数器(NCCI)120。入口管理逻辑单元110从入口包缓存器130获取消耗的节点信用,并在每个周期中实时计算节点信用余额。当节点信用余额达到阈值时,向入口包缓存器发送停止发送数据的反压信息,通过织状交换单元FSE向出口节点发送节点信用请求。
当入口管理逻辑单元110以信元方式向出口节点发送数据时,每个信元包括数据字节数为NC,节点信用=信元个数*每个信元的数据字节数NC。
如果从入口包缓存器130发出K字节(bytes)的信元,则节点信用余额NCCI[Y]=发送信元前的节点信用余额NCCI[Y]-发送的信元的字节数量K。如果NCCI[Y]=0,则发送节点信用请求。
参见图5所示的一种流量管理系统的应用示意图,其设于交换网络的出口节点上,即图5中的出口流量管理系统200,每个出口节点均包括出口包缓存器230(Packet Buffer,PB),出口流量管理系统200包括出口管理逻辑单元210和出口节点信用计数器220。
出口管理逻辑单元210用于周期性地将出口总流量划分为多个节点信用,并通过织状交换单元FSE一一分配给向其发送数据的多个入口节点。
出口节点信用计数器220用于存储从每个入口节点接收到的数据数量。
进一步的,出口管理逻辑单元还用于根据拥塞信息和/或入口节点的节点信用请求,增加、减少或者维持节点信用;其中,拥塞信息来自织状交换单元FSE和/或出口包缓存器230。
具体的,出口管理逻辑单元210用于统计从每个入口节点接收到的信元的字节数量,并转发给出口节点信用计数器220。如果从入口节点NodeX收到K字节的信元(cell),则收到的信元的字节数量增加K,即CredCell[X]=+K。
对于任意一个入口节点,如果出口管理逻辑单元210接收到拥塞信息,则减少的节点信用CredCells=当前的节点信用CredCells-节点信用减少值NodeDes。
如果出口管理逻辑单元210收到节点信用请求,则增加的节点信用CredCells=当前的节点信用CredCells+节点信用增加值NodeInc。
否则,节点信用CredCells不变。
其中,节点信用减少值NodeDes和节点信用增加值NodeInc都可以根据出口节点的带宽和老化时间等参数确定,例如通过对Fabric分布式架构进行系统仿真得到,并作为初始化配置在SDK中,下发到出口节点的芯片中。
出口节点根据拥塞信息和/或入口节点的节点信用请求,可以根据实际情况,例如综合入口节点的业务情况、优先级等因素,采用以下方式之一或者组合对节点信用进行调整:增加、减少或者维持节点信用,不作限定。无论如何调整,在每个周期内出口节点向所有入口节点分配的节点信用总和不超过该出口节点的出口总流量。
本发明实施例还提供一种织状网络处理器FNP,其设于交换网络中,织状网络处理器包括入口包缓存器130和出口包缓存器230,织状网络处理器还包括图4中的入口流量管理系统100,以及图5中的出口流量管理系统200。
图4和图5所示的流量管理系统一起,显示一个出口节点以及向该出口节点发送数据的一个入口节点的流量管理过程,如图6所示。
作为一种示例,例如图7所示的基于Fabric的交换网络架构,该交换网络架构包括多个节点,每个节点具有一个织状网络处理器FNP(A.1至A.M,其中,M≥1),织状网络处理器FNP之间通过N个织状交换单元FSE(C.1至C.N,其中,N≥1)交换数据。每个织状网络处理器FNP既是入口节点,也是出口节点。
为了便于说明,下文以本端织状网络处理器FNP与对端织状网络处理器FNP之间交换信元为例进行说明,两个织状网络处理器FNP结构相同。
当本端织状网络处理器FNP作为入口节点时,对端织状网络处理器FNP作为出口节点。
当本端织状网络处理器FNP作为出口节点时,那么对端织状网络处理器FNP就作为入口节点。
图8所示的本端织状网络处理器FNP包括入口包缓存器130和出口包缓存器230。
本端织状网络处理器FNP还包括入口节点信用管理模块(Node Credit ManagerIngress,NCMI)100a和出口节点信用管理模块(Node Credit Manager Egress,NCME)200a,分别用于处理该本地织状网络处理器FNP的节点信用NC。
其中,NCMI100a的主要功能包括:本端入口节点接收对端出口节点分配的节点信用,向入口包缓存器130发送停止发送数据的反压信息,以及发送节点信用请求到对端出口节点。
NCME200a的主要功能包括:本端出口节点分配节点信用到对端入口节点,接收来自织状交换单元FSE和/或出口包缓存器230的拥塞信息,以及接收对端出口节点的节点信用请求。
NCMI100a例如图4中的入口流量管理系统100,每个入口管理逻辑单元110用于从入口包缓存器130获取消耗的节点信用,记录一个老化时间(EligTime)内本端入口节点发往对端出口节点的信元数量。图4中的入口流量管理系统100仅显示了一个入口节点信用计数器120(NCCI),在NCMI100a中,入口节点信用计数器120(NCCI)的数量为该网络交换系统中所有对端出口节点的数量。
如果节点信用NCCI[EgressFNP]>0,则本端入口节点可以发送单播报文(PktUccells)到对应的对端出口节点。例如,如果本端入口节点NodeX发送K字节bytes的信元(cell)到对端出口节点NodeY,则入口管理逻辑单元110记录节点信用余额NCCI[Y]=发送信元前的节点信用余额NCCI[Y]-发送的信元的字节数量K。在前述的老化时间(EligTime)内,如果节点信用余额NCCI[EgressFNP]减为零,则将节点信用请求信号(Node CreditRequest,NCR)[EgressFNP]置为1,并发送到织状交换单元(FSE)的织状接口(入口处)510(FI Ingress),然后转发给对端出口节点。同时,发送反压信息给入口包缓存器130,停止发送信元。
如果织状交叉单元FSE上的包缓存器的缓存超过水线导致数据拥塞,或者,各线路上延时导致出口节点出现数据拥塞,则将一路反压信息通过NCMI100a发送到入口包缓存器130,停止向外发送数据包,等到流量正常后再继续向外发送数据包。
NCME200a如图5中的出口流量管理系统200,用于将分配给对端入口节点的节点信用NC发送到织状接口(入口处)510(FI Ingress),并转发给对端入口节点。
NCME200a统计对端入口节点的节点信元,每当出口包缓存器230(Packet Buffer,PB)收到K字节信元的数据报文,则统计收到的信元的字节数量CredCell[X]=+K。
如果在前述的老化时间(EligTime)内,NCME200a收到来自织状交叉盘FSE的FSE拥塞信息或者本端出口缓存器230发送过来的包缓存拥塞信息,即将拥塞信息置为1,当下一个老化时间,发送给对端入口节点的节点信用则修改为CreditCells-NodeDec。
如果NCME200a收到对端入口节点发送过来的节点信用请求信号(Node CreditRequest,NCR),则下一个老化时间,发送给对端入口节点的节点信用则修改为CreditCells+NodeInc;如果NCME200a没有收到拥塞信息,也没有收到NCR信号,则下个老化时间,发送给对端入口节点的节点信用则仍为CreditCells。
每个老化时间后,NCME200a重新发送给各对端入口节点相应的节点信用(CredCells[IngressFNP]),并清空本端的节点信用CredCells计数。而对端入口节点会把收到的节点信用(CredCells[EgressFNP])存储在对端的入口节点信用计数器(NCCI[EgressFNP])。
图9所示为本端织状网络处理器FNP的一个具体示例,在图8所示的本端织状网络处理器FNP的基础上,本端织状网络处理器FNP还可以包括组装模块300和切片模块400,组装模块300用于将本端织状网络处理器FNP的所有控制信息都组装成数据包发到织状交换单元FSE,数据包的大小根据实际应用情况确定,例如256Bytes字节的标准数据包,切片模块400用于将织状交换单元FSE下发的所有标准数据包切成控制信息给本端织状网络处理器FNP,其中,控制信息包括节点信用和节点信用请求,以及队列信用和队列信用请求。
组装模块300向织状接口(入口处)510(FI Ingress)发送发往入口的控制信息,并从织状接口(入口处)510(FI Ingress)接收控制信息反压。
切片模块400向织状接口(出口处)520(FI Egress)发送控制信息反压响应,从织状接口(出口处)520(FI Egress)接收发往出口的控制信息(MsgDest)。
在本端入口节点,切片模块400从织状接口(出口处)520(FI Egress)接收发往出口的控制信息(MsgDest),其中携带对端出口节点分配的节点信用,将节点信用发送到NCMI100a。
切片模块400从织状接口(出口处)520(FI Egress)接收发往出口的控制信息(MsgDest),其中,发往出口的控制信息(MsgDest)携带对端入口节点的节点信用请求和/或FSE拥塞信息,将对端入口节点的节点信用请求和/或FSE拥塞信息发送到NCME200a。
在上述基于队列信用的流量管理之外,本实施例也可以将节点信用(NC)机制和队列信用(QC)机制相结合,例如前述实施例的步骤S250,可以避免流量过多导致织状交换单元和/或出口节点瘫痪。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DigitalSubscriber Line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够读取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,数字通用光盘(Digital Video Disc,DVD))或者半导体介质(例如,固态硬盘(Solid State Disk,SSD))等。
本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。
Claims (5)
1.一种流量管理方法,应用于交换网络,其特征在于:所述方法包括:
交换网络初始化时,每个入口节点接收网管下发的节点信用,该节点信用为节点信用初始值;入口节点向出口节点发送的数据总量不超过其分配到的节点信用;
交换网络初始化后,出口节点周期性地将出口总流量划分为多个节点信用,并一一分配给向其发送数据的多个入口节点;且向所述出口节点发送数据的多个入口节点的节点信用总和不超过出口节点的出口总流量;
入口节点接收出口节点周期性地重新分配的节点信用;
所述入口节点配置输出队列和队列信用;在每个周期中,当所述节点信用大于零,队列信用大于或者等于零,且输出队列为非空时,向所述出口节点发送数据;
所述出口节点根据拥塞信息和/或所述入口节点的节点信用请求,增加、减少或者维持所述节点信用;在每个所述周期内,所述出口节点向所有入口节点分配的节点信用总和不超过该出口节点的出口总流量;
所述拥塞信息来自所述交换网络的织状交换单元和/或所述出口节点的出口包缓存器;
增加的节点信用=当前的节点信用+节点信用增加值;
减少的节点信用=当前的节点信用-节点信用减少值;
所述节点信用增加值和节点信用减少值根据出口节点的带宽和老化时间确定;所述老化时间为出口节点将出口总流量划分为多个节点信用的周期。
2.如权利要求1所述的流量管理方法,其特征在于:
在每个所述周期中,所述入口节点实时计算节点信用余额,其中,节点信用余额=所述节点信用-已发送的数据数量;当所述节点信用余额达到阈值时,停止向所述出口节点发送数据,以及向外发送节点信用请求。
3.一种基于如权利要求1所述流量管理方法的流量管理系统,其设于交换网络的入口节点和出口节点上,每个入口节点均包括入口包缓存器,每个出口节点均包括出口包缓存器,其特征在于,所述流量管理系统包括:
入口节点信用计数器,其用于存储分配给该入口节点的节点信用,所述节点信用是网管下发的或者由所述出口节点周期性地重新分配的;其中,向所述出口节点发送数据的多个入口节点的节点信用总和不超过出口节点的出口总流量;
入口管理逻辑单元,其用于控制所述入口包缓存器向所述出口节点发送的数据总量不超过所述节点信用;
所述入口节点还包括入口流量管理器,入口流量管理器用于配置输出队列和队列信用;或者,所述入口管理逻辑单元还用于配置输出队列和队列信用;
所述入口管理逻辑单元还用于控制所述入口包缓存器发送数据,包括:当所述节点信用大于零,队列信用大于或者等于零,且输出队列为非空时,向所述出口节点发送数据;
出口管理逻辑单元,其用于统计从每个入口节点接收到的数据数量,以及周期性地将出口总流量划分为多个节点信用,并一一分配给向其发送数据的多个入口节点;
出口节点信用计数器,其用于存储从每个入口节点接收到的数据数量;
所述出口管理逻辑单元还用于根据拥塞信息和/或所述入口节点的节点信用请求,增加、减少或者维持所述节点信用;在每个所述周期内,所述出口节点向所有入口节点分配的节点信用总和不超过该出口节点的出口总流量;
所述拥塞信息来自织状交换单元或者所述出口包缓存器;
增加的节点信用=当前的节点信用+节点信用增加值;
减少的节点信用=当前的节点信用-节点信用减少值;
所述节点信用增加值和节点信用减少值根据出口节点的带宽和老化时间确定;所述老化时间为出口节点将出口总流量划分为多个节点信用的周期。
4.如权利要求3所述的流量管理系统,其特征在于:
在每个所述周期中,所述入口管理逻辑单元用于实时计算节点信用余额,其中,节点信用余额=所述节点信用-已发送的数据数量;当所述节点信用余额达到阈值时,向所述入口包缓存器发送停止发送数据的反压信息,以及向外发送节点信用请求。
5.一种织状网络处理器,其设于交换网络中,所述织状网络处理器包括入口包缓存器和出口包缓存器,其特征在于:
所述织状网络处理器还包括如权利要求3或4所述的流量管理系统。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910156869.8A CN109787910B (zh) | 2019-03-01 | 2019-03-01 | 一种流量管理方法、系统及织状网络处理器 |
PCT/CN2019/096675 WO2020177263A1 (zh) | 2019-03-01 | 2019-07-19 | 一种流量管理方法、系统及织状网络处理器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910156869.8A CN109787910B (zh) | 2019-03-01 | 2019-03-01 | 一种流量管理方法、系统及织状网络处理器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109787910A CN109787910A (zh) | 2019-05-21 |
CN109787910B true CN109787910B (zh) | 2021-01-15 |
Family
ID=66487378
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910156869.8A Active CN109787910B (zh) | 2019-03-01 | 2019-03-01 | 一种流量管理方法、系统及织状网络处理器 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN109787910B (zh) |
WO (1) | WO2020177263A1 (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109787910B (zh) * | 2019-03-01 | 2021-01-15 | 烽火通信科技股份有限公司 | 一种流量管理方法、系统及织状网络处理器 |
CN111526097B (zh) * | 2020-07-03 | 2020-10-30 | 新华三半导体技术有限公司 | 一种报文调度方法、装置及网络芯片 |
CN113068087B (zh) * | 2021-03-31 | 2022-03-25 | 烽火通信科技股份有限公司 | 一种通过切包重组实现分布式信元交换的方法与装置 |
CN113630809B (zh) * | 2021-08-12 | 2024-07-05 | 迈普通信技术股份有限公司 | 一种业务转发方法、装置及计算机可读存储介质 |
CN114157604A (zh) * | 2021-12-01 | 2022-03-08 | 锐捷网络股份有限公司 | 一种调节交换网板拥塞的方法、装置及系统 |
CN115941487B (zh) * | 2022-12-02 | 2024-09-24 | 中国联合网络通信集团有限公司 | 流量分配方法、装置、设备及介质 |
CN118740735A (zh) * | 2023-03-29 | 2024-10-01 | 华为技术有限公司 | 一种流量控制方法、装置及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101141406A (zh) * | 2007-10-17 | 2008-03-12 | 杭州华三通信技术有限公司 | 分布式流量控制方法、系统及装置 |
CN101272345A (zh) * | 2008-04-29 | 2008-09-24 | 杭州华三通信技术有限公司 | 一种流量控制的方法、系统和装置 |
CN107579921A (zh) * | 2017-09-26 | 2018-01-12 | 锐捷网络股份有限公司 | 流量控制方法及装置 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7619970B2 (en) * | 2006-04-27 | 2009-11-17 | Dune Semiconductor Ltd. | Method, device and system of scheduling data transport over a fabric |
US7733779B2 (en) * | 2006-06-14 | 2010-06-08 | Cisco Technology, Inc. | Stateless call admission and call preemption with a single metering and marking scheme |
CN101018156A (zh) * | 2007-02-16 | 2007-08-15 | 华为技术有限公司 | 防止带宽型拒绝服务攻击的方法、设备及系统 |
CN100596359C (zh) * | 2007-09-13 | 2010-03-31 | 杭州华三通信技术有限公司 | 交换机业务流的流量控制方法和装置 |
US9660940B2 (en) * | 2010-12-01 | 2017-05-23 | Juniper Networks, Inc. | Methods and apparatus for flow control associated with a switch fabric |
US9628406B2 (en) * | 2013-03-13 | 2017-04-18 | Cisco Technology, Inc. | Intra switch transport protocol |
CN109787910B (zh) * | 2019-03-01 | 2021-01-15 | 烽火通信科技股份有限公司 | 一种流量管理方法、系统及织状网络处理器 |
-
2019
- 2019-03-01 CN CN201910156869.8A patent/CN109787910B/zh active Active
- 2019-07-19 WO PCT/CN2019/096675 patent/WO2020177263A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101141406A (zh) * | 2007-10-17 | 2008-03-12 | 杭州华三通信技术有限公司 | 分布式流量控制方法、系统及装置 |
CN101272345A (zh) * | 2008-04-29 | 2008-09-24 | 杭州华三通信技术有限公司 | 一种流量控制的方法、系统和装置 |
CN107579921A (zh) * | 2017-09-26 | 2018-01-12 | 锐捷网络股份有限公司 | 流量控制方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109787910A (zh) | 2019-05-21 |
WO2020177263A1 (zh) | 2020-09-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109787910B (zh) | 一种流量管理方法、系统及织状网络处理器 | |
US6594234B1 (en) | System and method for scheduling traffic for different classes of service | |
EP1080560B1 (en) | Method and apparatus for forwarding packets from a plurality of contending queues to an output | |
US6088736A (en) | Joint flow control mechanism in a telecommunications network | |
US8520522B1 (en) | Transmit-buffer management for priority-based flow control | |
EP3410641A1 (en) | Network-traffic control method and network device thereof | |
US8369219B2 (en) | System and method for managing bandwidth | |
US10050896B2 (en) | Management of an over-subscribed shared buffer | |
US20160094450A1 (en) | Reducing internal fabric congestion in leaf-spine switch fabric | |
Apostolaki et al. | Fab: Toward flow-aware buffer sharing on programmable switches | |
JP2023511918A (ja) | サービスレベル調整方法および装置、デバイス、ならびに記憶媒体 | |
US8228797B1 (en) | System and method for providing optimum bandwidth utilization | |
WO2023142937A1 (zh) | 一种网络拥塞控制方法及相关装置 | |
CN109995608B (zh) | 网络速率计算方法和装置 | |
CN109391559B (zh) | 网络设备 | |
US20230117851A1 (en) | Method and Apparatus for Queue Scheduling | |
WO2022135202A1 (zh) | 业务流的调度方法、装置及系统 | |
Yang et al. | Crsp: Network congestion control through credit reservation | |
US20230216809A1 (en) | Congestion control method and apparatus | |
EP4142249A1 (en) | System and method for managing distributed shaping in a computer network | |
CN110661724B (zh) | 一种分配缓存的方法和设备 | |
US20240073141A1 (en) | Flow-based congestion control | |
JPH11510008A (ja) | 最小保証されたセルレート方法及び装置 | |
CN116155812A (zh) | 报文处理方法以及网络设备 | |
CN118631737A (zh) | 一种拥塞管理方法、网络设备和数据中心 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |