CN107749825B - 一种跨芯片转发中基于源芯片id的流控方法及装置 - Google Patents
一种跨芯片转发中基于源芯片id的流控方法及装置 Download PDFInfo
- Publication number
- CN107749825B CN107749825B CN201711000609.9A CN201711000609A CN107749825B CN 107749825 B CN107749825 B CN 107749825B CN 201711000609 A CN201711000609 A CN 201711000609A CN 107749825 B CN107749825 B CN 107749825B
- Authority
- CN
- China
- Prior art keywords
- chip
- control frame
- source chip
- sending
- source
- 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/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/122—Avoiding congestion; Recovering from congestion by diverting traffic away from congested entities
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明揭示了一种跨芯片转发中基于源芯片ID的流控方法及装置,所述方法包括:接收端芯片实时统计每个源芯片的报文个数,比较报文个数与接收端芯片中预设的阻塞预设阈值,根据比较结果发送相应的控制帧给发送端芯片;发送端芯片收到控制帧,取出控制帧中的源芯片ID,根据控制帧控制该源芯片ID对应的报文的状态。本发明用源芯片ID做为流控的基本单位,有针对性的限制大流量的芯片数据,使网络的拥塞得到快速的响应,减少拥塞带来的网络影响,提高网络的数据传输性能。
Description
技术领域
本发明涉及一种跨芯片转发的流控机制,尤其是涉及一种跨芯片转发中基于源芯片ID的流控方法及装置。
背景技术
跨芯片转发的流量需要经过芯片之间的互联端口,当互联端口发生拥塞时,接收端要使用流控机制通知发送端暂停发送。现有技术方案是分别对入口级别进行缓存资源管理或者对出口级别进行缓存资源管理。也就是说,现有的流控机制是基于端口的,在互联端口发生拥塞时,让小流量传送的芯片和大流量传送的芯片同时被暂停数据的传送,从而使互联端口的拥塞得到控制。
但是,在多芯片系统中,如果有一颗芯片的传送大数据时,利用上述方案,会导致其他只有小流量的芯片也无法传送数据。也就是说,现有技术中,无法做到针对路径来公平分配缓存资源,对一些特殊转发流量无法做到有针对性的缓存管理,影响整个网络设备所有芯片的端口,对整个网络的影响非常大。
发明内容
本发明的目的在于克服现有技术的缺陷,提供一种跨芯片转发中基于源芯片ID的流控方法及装置,以有针对性的限制大流量的芯片数据,使网络的拥塞得到快速的响应。
为实现上述目的,本发明提出如下技术方案:一种跨芯片转发中基于源芯片ID的流控方法,包括:
S1,接收端芯片实时统计每个源芯片的报文个数,比较报文个数与接收端芯片中预设的阻塞预设阈值,根据比较结果发送相应的控制帧给发送端芯片,所述控制帧中携带源芯片ID;
S2,所述发送端芯片收到所述控制帧,取出控制帧中的所述源芯片ID,根据所述控制帧控制源芯片ID对应的报文的发送状态。
优选地,S1中,所述接收端芯片实时统计每个源芯片的报文个数的过程包括:
接收端芯片每接收到一个报文,从报文中取出源芯片ID,将所述源芯片ID的计数加1;
接收端芯片每处理完一个报文,从其网段终端接口或互联接口中取出源芯片ID,将所述源芯片ID的计数减1。
优选地,S1中,所述比较报文个数与接收端芯片中预设的阻塞预设阈值,根据比较结果发送相应的控制帧给发送端芯片的过程包括:
若报文数大于接收端芯片中预设的触发阻塞预设阈值,则触发发送阻塞控制帧给发送端芯片;
若报文数小于接收端芯片中预设的解除阻塞预设阈值,则触发发送解除阻塞控制帧给发送端芯片。
优选地,所述S2包括:
所述发送端芯片收到所述阻塞控制帧,取出阻塞控制帧中的所述源芯片ID,暂停源芯片ID对应的报文的发送;
所述发送端芯片收到所述解除阻塞控制帧,取出解除阻塞控制帧中的所述源芯片ID,恢复源芯片ID对应的报文的发送。
本发明还提供了另外一种技术方案:一种跨芯片转发中基于源芯片ID的流控装置,包括:接收端芯片和发送端芯片,所述接收端芯片内设置有报文计数器、控制帧产生模块,及预设有触发阻塞预设阈值和解除阻塞预设阈值,所述发送端芯片内设置有状态表和状态表维护模块,其中,
所述报文计数器用于实时统计每个源芯片的报文个数;
所述控制帧产生模块用于比较报文个数与接收端芯片中预设的阻塞预设阈值,根据比较结果发送相应的控制帧给发送端芯片,所述控制帧中携带源芯片ID;
所述状态表用于根据状态表维护模块为每个源芯片ID维护相应的状态;
状态表维护模块用于监听所述控制帧,并在收到控制帧后,取出控制帧中的所述源芯片ID,根据所述控制帧设置状态表中源芯片ID对应的报文的状态。
优选地,所述报文计数器包括计数加模块和计数减模块,
所述计数加模块用于每接收到一个报文,从报文中取出源芯片ID,将所述源芯片ID的计数加1;
所述计数减模块用于每处理完一个报文,从其网段终端接口或互联接口中取出源芯片ID,将所述源芯片ID的计数减1。
优选地,所述控制帧产生模块包括阻塞控制帧产生模块和解除阻塞控制帧产生模块,
所述阻塞控制帧产生模块用于在报文数大于接收端芯片中预设的触发阻塞预设阈值时,触发发送阻塞控制帧给发送端芯片;
所述解除阻塞控制帧产生模块用于在报文数小于接收端芯片中预设的解除阻塞预设阈值时,触发发送解除阻塞控制帧给发送端芯片。
优选地,所述状态表维护模块包括阻塞控制帧监听模块和解除阻塞控制帧监听模块,
所述阻塞控制帧监听模块用于在收到阻塞控制帧后,取出阻塞控制帧中的源芯片ID,并设置所述源芯片ID对应的状态表为暂停状态;
所述解除阻塞控制帧监听模块用于在收到解除阻塞控制帧后,取出解除阻塞控制帧中的源芯片ID,并设置所述源芯片ID对应的状态表为发送状态。
本发明的有益效果是:本发明在跨芯片的互联端口上用源CHIPID做为流控的基本单位,有针对性的限制大流量的芯片数据,使网络的拥塞得到快速的响应,减少拥塞带来的网络影响,提高网络的数据传输性能。
附图说明
图1是本发明方法的流程示意图;
图2是本发明装置的结构示意图;
图3是本发明报文计数器的结构示意图;
图4是本发明控制帧产生模块的结构示意图;
图5是本发明状态表维护模块的结构示意图。
具体实施方式
下面将结合本发明的附图,对本发明实施例的技术方案进行清楚、完整的描述。
本发明所揭示的一种跨芯片转发中基于源芯片ID的流控方法及装置,以源芯片ID为流控的基本单位,对流量大的报文进行有针对性的缓存管理,使网络的拥塞得到快速的响应,提高网络的数据传输性能。
如图1所示,本发明所揭示的一种跨芯片转发中基于源芯片ID的流控方法,包括以下步骤:
S1,接收端芯片实时统计每个源芯片的报文个数,比较报文个数与接收端芯片中预设的阻塞预设阈值,根据比较结果发送相应的控制帧给发送端芯片,控制帧中携带源芯片ID。
具体地,接收端芯片每接收到一个报文,从报文中取出它的源芯片ID,把源芯片ID的计数加1;接收端芯片每处理完一个报文,从其网段终端接口或其互联接口中取出源芯片ID,将所述源芯片ID的计数减1。即接收端芯片将报文以其所属的源芯片ID进行标记分类,并对不同源芯片ID的报文进行分别计数。如收到源芯片ID为A的报文,则将源芯片A的计数加1;处理完源芯片ID为A的报文后,则将源芯片A的计数减1。需要说明的是,这里接收端芯片的终端接口是指业务端口,这个时候接收端芯片收到的报文源芯片ID就是自身的本地芯片ID;互联接口,是指芯片之间互联的端口,这个时候与接收端芯片互联的起始芯片在报文中插入了其芯片ID,下一级的芯片(如这里的接收端芯片),收到报文后,直接从报文中取出源芯片ID。
接收端芯片中预设有两个阻塞预设阈值,一个是解除阻塞预设阈值,一个是触发阻塞预设阈值。
接收端芯片在对每个源芯片ID的报文进行计数的同时,会实时比较每个源芯片ID的报文个数与预设的两个阻塞预设阈值的大小,根据比较结果发送相应的控制帧给发送端芯片,控制帧中携带源芯片ID。
具体地,与预设的两个阻塞预设阈值相对应,接收端芯片根据比较结果会触发发送对应的阻塞控制帧和解除阻塞控制帧,两个控制帧中均携带报文的源芯片ID。
如接收端芯片比较得到报文个数>触发阻塞预设阈值,则触发发送阻塞控制帧给发送端芯片,也就是说,此时统计的该源芯片ID对应的报文流量已经超出接收端芯片设置的触发阻塞预设阈值,所以需要暂停发送端芯片对该报文的发送,以缓解接收端芯片端口的拥塞;如接收端芯片比较得到报文个数<解除阻塞预设阈值,则触发发送解除阻塞控制帧给发送端芯片,也就是说,在发送端芯片停止发送限制的源芯片ID对应的报文后,接收端芯片对该报文进行处理,该报文个数逐渐减少,当报文个数少于接收端芯片设置的解除阻塞预设阈值时,则可以恢复发送端芯片对该报文的发送。
S2,发送端芯片收到控制帧,取出控制帧中的源芯片ID,根据控制帧控制源芯片ID对应的报文的发送状态。
具体地,如发送端芯片收到接收端芯片发送过来的阻塞控制帧,则取出阻塞控制帧中的源芯片ID,针对性地暂停该源芯片ID对应的报文的发送,其他源芯片ID对应的报文则不受影响;如发送端芯片收到接收端芯片发送过来的解除阻塞控制帧,同样取出解除阻塞控制帧中的源芯片ID,针对性地恢复该源芯片ID对应的报文的发送。
如图2所示,本发明还揭示了一种跨芯片转发中基于源芯片ID的流控装置,包括:接收端芯片和发送端芯片,接收端芯片内设置有报文计数器、控制帧产生模块,及预设有触发阻塞预设阈值和解除阻塞预设阈值,发送端芯片内设置有状态表和状态表维护模块。
具体地,芯片互联的端口,根据数据的传送方向,分成发送端芯片和接收端芯片。
发送端芯片用于发送报文给接收端芯片,接收端芯片中设置的报文计数器,用于以报文的源芯片ID为统计单位,实时统计每个源芯片在交换芯片缓冲区的报文个数。具体地,结合图2和图3所示,报文计数器包括计数加模块和计数减模块,计数加模块用于每接收到一个报文,从报文中取出源芯片ID,将该源芯片ID的计数加1;计数减模块用于每处理完一个报文,从接收端芯片的网段终端接口或互联接口中取出源芯片ID,将该源芯片ID的计数减1。
接收端芯片中设置的控制帧产生模块用于比较报文计数器统计的每个源芯片ID的报文个数与接收端芯片中预设的阻塞预设阈值,根据比较结果发送相应的控制帧给发送端芯片,控制帧中携带有源芯片ID。具体地,结合图2和图4所示,控制帧产生模块包括阻塞控制帧产生模块和解除阻塞控制帧产生模块,阻塞控制帧产生模块用于在报文数大于接收端芯片中预设的触发阻塞预设阈值时,触发发送阻塞控制帧给发送端芯片;解除阻塞控制帧产生模块用于在报文数小于接收端芯片中预设的解除阻塞预设阈值时,触发发送解除阻塞控制帧给发送端芯片。
发送端芯片中设置的状态表维护模块用于监听接收端芯片发送过来的控制帧,并根据控制帧设置状态表中源芯片ID对应的报文的状态。具体地,结合图2和图5所示,状态表维护模块包括阻塞控制帧监听模块和解除阻塞控制帧监听模块,阻塞控制帧监听模块用于在收到阻塞控制帧后,取出阻塞控制帧中的源芯片ID,并设置对应的状态表为暂停状态;解除阻塞控制帧监听模块用于在收到解除阻塞控制帧后,取出解除阻塞控制帧中的源芯片ID,并设置对应的状态表为发送状态。
发送端芯片中设置的状态表用于根据状态表维护模块为每个源芯片ID维护相应的状态。即,如果状态表维护模块设置状态表为发送状态,则表示对应的源芯片ID的报文可以发送;同理,如果状态表维护模块设置状态表为暂停状态,则表示对应的源芯片ID的报文停止发送。
本发明的技术内容及技术特征已揭示如上,然而熟悉本领域的技术人员仍可能基于本发明的教示及揭示而作种种不背离本发明精神的替换及修饰,因此,本发明保护范围应不限于实施例所揭示的内容,而应包括各种不背离本发明的替换及修饰,并为本专利申请权利要求所涵盖。
Claims (6)
1.一种跨芯片转发中基于源芯片ID的流控方法,其特征在于,包括:
S1,接收端芯片实时统计每个源芯片的报文个数,比较报文个数与接收端芯片中预设的阻塞预设阈值,根据比较结果发送相应的控制帧给发送端芯片,所述控制帧中携带源芯片ID,所述比较报文个数与接收端芯片中预设的阻塞预设阈值,根据比较结果发送相应的控制帧给发送端芯片的过程包括:
若报文数大于接收端芯片中预设的触发阻塞预设阈值,则触发发送阻塞控制帧给发送端芯片;
若报文数小于接收端芯片中预设的解除阻塞预设阈值,则触发发送解除阻塞控制帧给发送端芯片;
S2,所述发送端芯片收到所述控制帧,取出控制帧中的所述源芯片ID,根据所述控制帧控制源芯片ID对应的报文的发送状态。
2.根据权利要求1所述的流控方法,其特征在于,S1中,所述接收端芯片实时统计每个源芯片的报文个数的过程包括:
接收端芯片每接收到一个报文,从报文中取出源芯片ID,将所述源芯片ID的计数加1;
接收端芯片每处理完一个报文,从其网段终端接口或互联接口中取出源芯片ID,将所述源芯片ID的计数减1。
3.根据权利要求1所述的流控方法,其特征在于,所述S2包括:
所述发送端芯片收到所述阻塞控制帧,取出阻塞控制帧中的所述源芯片ID,暂停源芯片ID对应的报文的发送;
所述发送端芯片收到所述解除阻塞控制帧,取出解除阻塞控制帧中的所述源芯片ID,恢复源芯片ID对应的报文的发送。
4.一种跨芯片转发中基于源芯片ID的流控装置,其特征在于,包括:接收端芯片和发送端芯片,所述接收端芯片内设置有报文计数器、控制帧产生模块,及预设有触发阻塞预设阈值和解除阻塞预设阈值,所述发送端芯片内设置有状态表和状态表维护模块,其中,
所述报文计数器用于实时统计每个源芯片的报文个数;
所述控制帧产生模块用于比较报文个数与接收端芯片中预设的阻塞预设阈值,根据比较结果发送相应的控制帧给发送端芯片,所述控制帧中携带源芯片ID,所述控制帧产生模块包括阻塞控制帧产生模块和解除阻塞控制帧产生模块,
所述阻塞控制帧产生模块用于在报文数大于接收端芯片中预设的触发阻塞预设阈值时,触发发送阻塞控制帧给发送端芯片;
所述解除阻塞控制帧产生模块用于在报文数小于接收端芯片中预设的解除阻塞预设阈值时,触发发送解除阻塞控制帧给发送端芯片;
所述状态表用于根据状态表维护模块为每个源芯片ID维护相应的状态;
状态表维护模块用于监听所述控制帧,并在收到控制帧后,取出控制帧中的所述源芯片ID,根据所述控制帧设置状态表中源芯片ID对应的报文的状态。
5.根据权利要求4所述的流控装置,其特征在于,所述报文计数器包括计数加模块和计数减模块,
所述计数加模块用于每接收到一个报文,从报文中取出源芯片ID,将所述源芯片ID的计数加1;
所述计数减模块用于每处理完一个报文,从其网段终端接口或互联接口中取出源芯片ID,将所述源芯片ID的计数减1。
6.根据权利要求4所述的流控装置,其特征在于,所述状态表维护模块包括阻塞控制帧监听模块和解除阻塞控制帧监听模块,
所述阻塞控制帧监听模块用于在收到阻塞控制帧后,取出阻塞控制帧中的源芯片ID,并设置所述源芯片ID对应的状态表为暂停状态;
所述解除阻塞控制帧监听模块用于在收到解除阻塞控制帧后,取出解除阻塞控制帧中的源芯片ID,并设置所述源芯片ID对应的状态表为发送状态。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711000609.9A CN107749825B (zh) | 2017-10-24 | 2017-10-24 | 一种跨芯片转发中基于源芯片id的流控方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711000609.9A CN107749825B (zh) | 2017-10-24 | 2017-10-24 | 一种跨芯片转发中基于源芯片id的流控方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107749825A CN107749825A (zh) | 2018-03-02 |
CN107749825B true CN107749825B (zh) | 2021-03-09 |
Family
ID=61253973
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711000609.9A Active CN107749825B (zh) | 2017-10-24 | 2017-10-24 | 一种跨芯片转发中基于源芯片id的流控方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107749825B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1917477A (zh) * | 2006-09-14 | 2007-02-21 | 杭州华为三康技术有限公司 | 防止流控帧干扰的方法及装置 |
CN102065018A (zh) * | 2011-01-07 | 2011-05-18 | 中兴通讯股份有限公司 | 一种报文传输方法及系统 |
CN102318275A (zh) * | 2011-08-02 | 2012-01-11 | 华为技术有限公司 | 基于cc-numa的报文处理方法、装置和系统 |
WO2014059898A1 (en) * | 2012-10-17 | 2014-04-24 | Hangzhou H3C Technologies Co., Ltd. | Packet forwarding in a star stacking system |
CN104539553A (zh) * | 2014-12-18 | 2015-04-22 | 盛科网络(苏州)有限公司 | 以太网芯片中实现流量控制的方法及装置 |
-
2017
- 2017-10-24 CN CN201711000609.9A patent/CN107749825B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1917477A (zh) * | 2006-09-14 | 2007-02-21 | 杭州华为三康技术有限公司 | 防止流控帧干扰的方法及装置 |
CN102065018A (zh) * | 2011-01-07 | 2011-05-18 | 中兴通讯股份有限公司 | 一种报文传输方法及系统 |
CN102318275A (zh) * | 2011-08-02 | 2012-01-11 | 华为技术有限公司 | 基于cc-numa的报文处理方法、装置和系统 |
WO2014059898A1 (en) * | 2012-10-17 | 2014-04-24 | Hangzhou H3C Technologies Co., Ltd. | Packet forwarding in a star stacking system |
CN104539553A (zh) * | 2014-12-18 | 2015-04-22 | 盛科网络(苏州)有限公司 | 以太网芯片中实现流量控制的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN107749825A (zh) | 2018-03-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7817558B2 (en) | Flow based flow control in an ethernet switch backplane | |
CN107204931B (zh) | 通信装置和用于通信的方法 | |
CN109565477B (zh) | 具有远程物理端口的网络交换系统中的流量管理 | |
EP3073688B1 (en) | Data transmission method, core forwarding device and end point forwarding device | |
CN101536413B (zh) | 队列感知的流控制 | |
US6026075A (en) | Flow control mechanism | |
US9819590B2 (en) | Method and apparatus for notifying network abnormality | |
CN108989235B (zh) | 一种报文转发控制方法及装置 | |
US8897315B1 (en) | Fabric traffic management in a network device | |
WO2012068864A1 (zh) | 以太网拥塞控制方法及装置 | |
CN112242914A (zh) | 网络异常根因定位方法、装置及系统、计算机存储介质 | |
CN112737914B (zh) | 报文处理方法、装置、网络设备及可读存储介质 | |
WO2017186070A1 (zh) | 流量整形方法、控制器、网络设备和流量整形系统 | |
US9614777B2 (en) | Flow control in a network | |
US10728156B2 (en) | Scalable, low latency, deep buffered switch architecture | |
CN106330758A (zh) | 一种基于多层队列流控反压的传送方法及装置 | |
CN112104562A (zh) | 拥塞控制方法及装置、通信网络、计算机存储介质 | |
CN101924687A (zh) | 一种用于交换网流量控制的方法和装置 | |
CN103368861A (zh) | 一种处理网络拥塞的系统及方法 | |
CN108540395A (zh) | 无丢失网络中的拥塞判断方法 | |
CN102611630B (zh) | 一种报文接收控制方法及系统 | |
CN107547416A (zh) | 一种协议报文的处理方法及装置 | |
US20150195209A1 (en) | Congestion Notification in a Network | |
JP5804566B2 (ja) | スリープ制御方法、光通信システム、及び光ネットワーク終端装置 | |
CN107749825B (zh) | 一种跨芯片转发中基于源芯片id的流控方法及装置 |
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 | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: 215101 unit 13 / 16, 4th floor, building B, No. 5, Xinghan street, Suzhou Industrial Park, Jiangsu Province Patentee after: Suzhou Shengke Communication Co.,Ltd. Address before: Unit 13 / 16, 4th floor, building B, No.5 Xinghan street, Suzhou Industrial Park, 215000 Jiangsu Province Patentee before: CENTEC NETWORKS (SU ZHOU) Co.,Ltd. |