CN117768415A - 一种网络设备的流控方法及装置 - Google Patents
一种网络设备的流控方法及装置 Download PDFInfo
- Publication number
- CN117768415A CN117768415A CN202311649802.0A CN202311649802A CN117768415A CN 117768415 A CN117768415 A CN 117768415A CN 202311649802 A CN202311649802 A CN 202311649802A CN 117768415 A CN117768415 A CN 117768415A
- Authority
- CN
- China
- Prior art keywords
- flow control
- fpga processor
- condition
- preset threshold
- buffer unit
- 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.)
- Pending
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种网络设备的流控方法及装置,属于网络设备技术领域,所述方法包括:在第一FPGA处理器的用户侧的应用处理能力不足的情况下,将流控压力转交至第一FPGA处理器中的第一缓存单元;在第一缓存单元的数据占用比例上升至第一预设阈值的情况下,将流控压力转交至第二FPGA处理器的用户侧;在第二FPGA处理器的用户侧的应用处理能力不足的情况下,将流控压力转交至第二FPGA处理器的第二缓存单元;根据第二缓存单元的数据占用比例的变化情况,控制流控接收方的数据发送。本发明实现了流控压力向流控接收方的逐级传递,并且基于缓存单元的数据占比,进行实时的流控,使得缓存单元的数据占比处于预设范围内,提高了流控的稳定性,具有较好的流控效果。
Description
技术领域
本发明涉及网络设备技术领域,尤其涉及一种网络设备的流控方法及装置。
背景技术
互联网提供了一条网络设备之间的数据传输管道。其中网络设备之间所传输的数据序列可以称为一条数据流。网络设备可以是交换机、路由器或者交换芯片等。
现有的网络设备的流控方法(例如FIFO流控、以太网流控、Aurora流控)均为单一的应用场景,难以适配于较为复杂的场景(例如密码机的流控场景)。
另一方面,现有技术还具有稳定性较差,流控效果不佳的缺陷。
发明内容
本发明提供一种网络设备的流控方法及装置,用以解决现有技术中适用场景单一以及流控效果较差的缺陷。
第一方面,本发明提供一种网络设备的流控方法,适用于流控发起方的数据流量控制,所述流控发起方包括第一FPGA处理器和第二FPGA处理器,所述方法包括:在第一FPGA处理器的用户侧的应用处理能力不足的情况下,将流控压力转交至第一FPGA处理器中的第一缓存单元;在第一缓存单元的数据占用比例上升至第一预设阈值的情况下,将流控压力转交至第二FPGA处理器的用户侧;在第二FPGA处理器的用户侧的应用处理能力不足的情况下,将流控压力转交至第二FPGA处理器的第二缓存单元;根据第二缓存单元的数据占用比例的变化情况,控制流控接收方的数据发送。
根据本发明提供的一种网络设备的流控方法,在第一缓存单元的数据占用比例上升至第一预设阈值的情况下,将流控压力转交至第二FPGA处理器的用户侧,包括:在第一缓存单元的数据占用比例上升至第一预设阈值的情况下,控制第一FPGA处理器中的发送端发出第一流控消息至第二FPGA处理器的接收端,以将流控压力反压到第二FPGA处理器的中间缓存单元,进行第一FPGA处理器侧的流控;中间缓存单元将流控压力转交至第二FPGA处理器的用户侧。
根据本发明提供的一种网络设备的流控方法,在将流控压力转交至第二FPGA处理器的用户侧之后,还包括:在第一缓存单元的数据占用比例下降至第二预设阈值的情况下,控制第一FPGA处理器中的发送端发出第二流控消息至第二FPGA处理器的接收端,以停止对第一FPGA处理器侧的流控;其中,第一预设阈值大于第二预设阈值。
根据本发明提供的一种网络设备的流控方法,根据第二缓存单元的数据占用比例的变化情况,控制流控接收方的数据发送,包括:在第二缓存单元的数据占用比例上升至第三预设阈值的情况下,控制第二FPGA处理器中的发送端发送第一PAUSE帧至流控接收方,以进行第二FPGA处理器侧的流控;根据第二缓存单元的数据占用比例的变化情况,对流控接收方是否支持基于PAUSE帧进行流控进行判断,并根据判断结果,控制流控接收方的数据发送。
根据本发明提供的一种网络设备的流控方法,根据第二缓存单元的数据占用比例的变化情况,对流控接收方是否支持基于PAUSE帧进行流控进行判断,并根据判断结果,控制流控接收方的数据发送,包括:在第二缓存单元的数据占用比例下降至第四预设阈值的情况下,确定流控接收方支持基于PAUSE帧进行流控;第二FPGA处理器中的发送端发送第二PAUSE帧至流控接收方,以停止对第二FPGA处理器侧的流控;其中,第四预设阈值小于第三预设阈值。
根据本发明提供的一种网络设备的流控方法,根据第二缓存单元的数据占用比例的变化情况,对流控接收方是否支持基于PAUSE帧进行流控进行判断,并根据判断结果,控制流控接收方的数据发送,包括:在第二缓存单元的数据占用比例大于第三预设阈值的情况下,确定流控接收方不支持基于PAUSE帧进行流控;
第二FPGA处理器持续执行弃帧操作,直到第二缓存单元的数据占用比例下降至第四预设阈值。。
根据本发明提供的一种网络设备的流控方法,第一缓存单元、第二缓存单元均为FIFO缓存队列。
第二方面,本发明还提供一种网络设备的流控装置,包括:
第一处理模块,用于在第一FPGA处理器的用户侧的应用处理能力不足的情况下,将流控压力转交至第一FPGA处理器中的第一缓存单元;
第二处理模块,用于在第一缓存单元的数据占用比例上升至第一预设阈值的情况下,将流控压力转交至第二FPGA处理器的用户侧;
第三处理模块,用于在第二FPGA处理器的用户侧的应用处理能力不足的情况下,将流控压力转交至第二FPGA处理器的第二缓存单元;
第四处理模块,用于根据第二缓存单元的数据占用比例的变化情况,控制流控接收方的数据发送。
第三方面,本发明提供一种网络设备,应用如上述任一种所述网络设备的流控方法。
第四方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述网络设备的流控方法的步骤。
本发明提供的网络设备的流控方法及装置,通过设置两个FPGA处理器共同作为流控发起方,实现了流控压力向流控接收方的逐级传递,并且基于缓存单元的数据占比,进行实时的流控,使得缓存单元的数据占比处于预设范围内,以达到动态平衡,提高了流控的稳定性,具有较好的流控效果。
本发明整合了多种流控方式(如FIFO流控、以太网流控和Aurora流控)的优势,提供了一种系统级的流控方式,可以更加灵活高效的适配于类似链路密码机这种较为复杂的应用场景,并且取得不错的流控效果。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的现有的流控方式的框架示意图之一;
图2是本发明提供的现有的流控方式的框架示意图之二;
图3是本发明提供的网络设备的流控方式的框架示意图;
图4是本发明提供的网络设备的流控方法的流程示意图;
图5是本发明提供的第一缓存单元的占用情况变化示意图;
图6是本发明提供的第二缓存单元的占用情况变化示意图之一;
图7是本发明提供的第二缓存单元的占用情况变化示意图之二。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在本发明实施例的描述中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本申请中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。
为了对本发明的技术方案进行更加清楚的说明,现对一些相关的现有技术进行简要说明。
(1)基于SpinalHDL语言的Stream FIFO流控的设计
基于Scala实现的SpinalHDL语言,具有灵活生成RTL语言的特点。基于SpinalHDL实现的开源RTL设计库里,Stream FIFO是一种高效、精简,基于握手的可靠流传输StreamFIFO,可以适配标准的Amba Axi4-stream流。在FIFO容量即将满的时候,写入Stream会以截流(Axi4-Stream中的tready置低)的方式,自动流控上游流设备;同时实时的FIFO占用情况和剩余情况,会在写入时钟域里,提供给上游流设备读取,以方便上游设备提前采取自流控行为。
(2)基于Tri Mode Ethernet Mac IP流控的设计
赛灵思的Tri Mode Ethernet Mac IP核心(以下简称TEMAC),基于IEEE 802.3规范设计,支持10/100Mb/s,1Gb/s,2.5Gb/s,或者10/100/1000Mb/s网络层速率,且支持全双工/半双工模式传输。该IP提供数据链路层中的MAC子层和MAC控制子层,IEEE 802.3-2008标准层次划分如下。
1)以太网MAC层,定义于IEEE 802.3-2008第2、3、4条。MAC负责以太网帧协议传输,独立于任何种类的物理层设备,并可以于任意种类的物理层设备互联。
2)以太网MAC控制子层,定义于IEEE 802.3-2008第31条,能对MAC子层提供实时流控的功能。
基于IEEE 802.3协议簇的以太网流控机制,仅支持全双共模式,且对端必须开启了该功能。
图1是本发明提供的现有的流控方式的框架示意图之一,如图1所示,假设接收流控发起方为A,流控接收方为B。当A方需要流控时,TEMAC通过发送接口,向B方以太网暂停帧(PAUSE帧),该帧包含期待B方暂停发送时长(时钟周期数)。B方收到该暂停帧以后,会解析内容并响应流控,在指定时长内停止发送数据。
(3)基于Aurora IP流控的设计
赛灵思的Aurora IP核,基于FPGA自带的高速串并转换器(SerDes)实现两片FPGA的互联通信。因为板间传输为串行信号,无法直接用基于握手的Amba4 Axi4-Stream信号进行流控,所以只能借助流控发起方回传消息机制进行流控。
图2是本发明提供的现有的流控方式的框架示意图之二,如图2所示,假设接收流控发起方为A,流控接收方为B,Aurora IP有两种基于消息的流控方式:
1)NFC流控
A发起流控时,流控消息以最高优先级,绕开方所有发送队列(FIFO),直接中断8b/10b编码器的当前的传输,转而发送流控消息。B方的8b/10b编码器接收到流控消息时,会解析流控消息内容。流控消息内容为A方希望B方用户侧发送端停滞的时长(时钟周期数),对应到用户侧Axi4-Stream的信号,就是tready会持续拉低的拍数,以此来实现对B方Aurora上游模块的反压。
2)UFC流控
传输方式和机理和NFC流控类似,不过流控消息进入到B方的8b/10b解码器以后,不会被编码器解析具体内容,也不会操作B方的用户侧Axi4-Stream接口对上游流模块进行反压,而是将消息以最高优先级,绕开B方的所有接收队列(FIFO),以普通Axi4-Stream的形式,来让用户获取并处理该流控消息。
下面结合图3-图7描述本发明实施例所提供的网络设备的流控方法和装置。
本发明提供的网络设备的流控方法,适用于流控发起方的数据流量控制,所述流控发起方包括第一FPGA处理器和第二FPGA处理器。
本发明以两片FPGA为例,A1片(即第一FPGA处理器)和A2片(第二FPGA处理器)共同组成流控发起方A;流控接收方B为网络流量测试仪表或者普通具有网络报文发送功能的服务器。本发明设计的前提:
1)解耦合,且尽可能两片FPGA逻辑分布均匀
2)确保A1侧和A2侧的用户侧应用程序收到的网络报文是完整的(以完整的Axi4-Stream传输终止信号tlast来衡量),以减少用户侧应用设计的容错逻辑复杂性。
可选地,第一缓存单元、第二缓存单元均为FIFO缓存队列。
图3是本发明提供的网络设备的流控方式的框架示意图;图3中的FIFO(即缓存单元)均为上述提到的Stream FIFO,为简单描述,忽略数据位宽转换,时钟域转换等细节。参见附图3,其中第一缓存单元即为A1中的FIFO,中间缓存单元即为A2中的FIFO1,第二缓存单元为A2中的FIFO2。
图4是本发明提供的网络设备的流控方法的流程示意图,如图4所示,包括但不限于以下步骤:
步骤401:在第一FPGA处理器的用户侧的应用处理能力不足的情况下,将流控压力转交至第一FPGA处理器中的第一缓存单元;
步骤402:在第一缓存单元的数据占用比例上升至第一预设阈值的情况下,将流控压力转交至第二FPGA处理器的用户侧;
步骤403:在第二FPGA处理器的用户侧的应用处理能力不足的情况下,将流控压力转交至第二FPGA处理器的第二缓存单元;
步骤404:根据第二缓存单元的数据占用比例的变化情况,控制流控接收方的数据发送。
本发明提供的网络设备的流控方法,通过设置两个FPGA处理器共同作为流控发起方,实现了流控压力向流控接收方的逐级传递,提升了流控效果。
基于上述实施例的内容,作为一种可选的实施例,本发明提供的网络设备的流控方法,在将流控压力转交至第二FPGA处理器的用户侧之后,还包括:在第一缓存单元的数据占用比例下降至第二预设阈值的情况下,控制第一FPGA处理器中的发送端发出第二流控消息至第二FPGA处理器的接收端,以停止对第一FPGA处理器侧的流控;其中,第一预设阈值大于第二预设阈值。
具体地,下面对A1侧的流控设计进行进一步的说明。
当A1侧用户侧应用处理能力不足时,会立马将流控压力转交给A1中的FIFO。当FIFO中潴留的数据,超过第一预设阈值的时候,会促使A1中的Aurora接口占用发送端发出NFC/UFC流控消息,将流控压力转交给A2。
图5是本发明提供的第一缓存单元的占用情况变化示意图,如图5所示:
a)t1时间点,FIFO占用达到第一预设阈值7/8,此时需要流控,A1向A2端发送NFC流控消息(即第一流控消息),NFC消息内容里的流控时长字段,可按可填写的最大值填写。
b)t2时间点,FIFO占用达到第二预设阈值3/4,此时停止流控,向A2端发送NFC流控消息(第二流控消息),内容里的流控时长字段,填0,该消息相当于告知对方取消流控,可以开始正常发送数据。
c)t3时间点,FIFO占用重新达到7/8,接下来重复a)b)过程。
通过上述步骤,可以让FIFO占用率(数据占用比例)维持在周期内动态平衡,从而实现了流控功能。
基于上述实施例的内容,作为一种可选的实施例,本发明提供的网络设备的流控方法,在第一缓存单元的数据占用比例上升至第一预设阈值的情况下,将流控压力转交至第二FPGA处理器的用户侧,包括:在第一缓存单元的数据占用比例上升至第一预设阈值的情况下,控制第一FPGA处理器中的发送端发出第一流控消息至第二FPGA处理器的接收端,以将流控压力反压到第二FPGA处理器的中间缓存单元,进行第一FPGA处理器侧的流控;中间缓存单元将流控压力转交至第二FPGA处理器的用户侧。
具体地,当A2测用户从Aurora接口到第一流控消息,会反压到A2中的FIFO1,FIFO1进一步将流控压力转交给A2的用户侧。此时如果用户侧处理能力不足的时候,会立马将流控压力转交给A2中的FIFO2。
此时FIFO2可以将压力直接转交给A2的TEMAC侧,促使TEMAC发送PAUSE帧,限制B方的流量。
可选地,根据第二缓存单元的数据占用比例的变化情况,控制流控接收方的数据发送,包括:在第二缓存单元的数据占用比例上升至第三预设阈值的情况下,控制第二FPGA处理器中的发送端发送第一PAUSE帧至流控接收方,以进行第二FPGA处理器侧的流控;根据第二缓存单元的数据占用比例的变化情况,对流控接收方是否支持基于PAUSE帧进行流控进行判断,并根据判断结果,控制流控接收方的数据发送。
可选地,根据第二缓存单元的数据占用比例的变化情况,对流控接收方是否支持基于PAUSE帧进行流控进行判断,并根据判断结果,控制流控接收方的数据发送,包括:在第二缓存单元的数据占用比例下降至第四预设阈值的情况下,确定流控接收方支持基于PAUSE帧进行流控;第二FPGA处理器中的发送端发送第二PAUSE帧至流控接收方,以停止对第二FPGA处理器侧的流控;其中,第四预设阈值小于第三预设阈值。
图6是本发明提供的第二缓存单元的占用情况变化示意图之一,如图6所示:
①t1时间点,FIFO2占用达到第三预设阈值7/8,此时需要流控,向B端发送第一PAUSE帧,帧内容里的流控时长字段,按可填写的最大值填写。
②t2时间点,FIFO2占用达到第四预设阈值3/4,此时停止流控,向B端发送第二PAUSE帧,帧内容里的流控时长字段,填0,该帧相当于告知对方取消流控,可以开始正常发送数据。
③t3时间点,FIFO2占用重新达到第三预设阈值7/8,接下来重复①②过程。
通过上述步骤,可以让FIFO2占用率维持在周期内动态平衡,从而实现了流控功能。
可选地,在第二缓存单元的数据占用比例大于第三预设阈值的情况下(或者,在第二缓存单元的数据占用比例达到第五预设阈值的情况下,其中,第五预设阈值大于第三预设阈值),确定流控接收方不支持基于PAUSE帧进行流控;第二FPGA处理器持续执行弃帧操作,直到第二缓存单元的数据占用比例下降至第四预设阈值。。
具体地,如果不确定B方的MAC层是否支持以太网控制子层PAUSE帧流控,可以在A2的FIFO2和TEMAC之间插入一个流控保护模块,以确保对B方流控未生效时,主动进行丢包处理。
图7是本发明提供的第二缓存单元的占用情况变化示意图之二,如图7所示:
1)t1时间点,FIFO2占用达到第三预设阈值7/8,此时需要流控,向B端发送第一PAUSE帧,帧内容里的流控时长字段,按可填写的最大值填写。
2)t2时间点,FIFO2占用继续增加至第五预设阈值8/9(需要保证1/9的容量能大于当前所设置的MTU),此时断定流控接收方不支持PAUSE帧流控,需要调用流控保护模块,在当前的帧传输完成后(以Axi4-Stream的tlast信号作为界定),持续主动开始弃帧操作。
3)t3时间点,FIFO2占用重新回到第四预设阈值3/4,此时调用流控保护模块,在当前帧丢弃完成后(以Axi4-Stream的tlast信号作为界定),开始重新允许收帧,同时也向B方TEMAC发送流控取消帧,防止流控延迟生效。
4)t4时间点,FIFO2占用重新达到第三预设阈值7/8,如果流控帧生效,则下一个时间点会回到3/4;如果流控失效,FIFO2在t5时间点,占用达到8/9的情况重新出现。
需要说明的是,本发明中的第一预设阈值和第三预设阈值可以相等,第二预设阈值和第四预设阈值可以相等。
另一方面,本发明还提供一种网络设备的流控装置,所述装置包括:
第一处理模块,用于在第一FPGA处理器的用户侧的应用处理能力不足的情况下,将流控压力转交至第一FPGA处理器中的第一缓存单元;
第二处理模块,用于在第一缓存单元的数据占用比例上升至第一预设阈值的情况下,将流控压力转交至第二FPGA处理器的用户侧;
第三处理模块,用于在第二FPGA处理器的用户侧的应用处理能力不足的情况下,将流控压力转交至第二FPGA处理器的第二缓存单元;
第四处理模块,用于根据第二缓存单元的数据占用比例的变化情况,控制流控接收方的数据发送。
需要说明的是,本发明实施例提供的网络设备的流控装置,在具体运行时,可以执行上述任一实施例所述的网络设备的流控方法,对此本实施例不作赘述。
综上所述,本发明提供的网络设备的流控方法及装置,通过设置两个FPGA处理器共同作为流控发起方,实现了流控压力向流控接收方的逐级传递,并且基于缓存单元的数据占比,进行实时的流控,使得缓存单元的数据占比处于预设范围内,以达到动态平衡,提高了流控的稳定性,具有较好的流控效果。
本发明还提供一种网络设备,所述网络设备应用如上述实施例中的流控方法。
在此需要说明的是,本发明实施例提供的终端以及网络设备,能够实现上述方法实施例所实现的所有方法步骤,且能够达到相同的技术效果,在此不再对本实施例中与方法实施例相同的部分及有益效果进行具体赘述。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的网络设备的流控方法,该方法包括:在第一FPGA处理器的用户侧的应用处理能力不足的情况下,将流控压力转交至第一FPGA处理器中的第一缓存单元;在第一缓存单元的数据占用比例上升至第一预设阈值的情况下,将流控压力转交至第二FPGA处理器的用户侧;在第二FPGA处理器的用户侧的应用处理能力不足的情况下,将流控压力转交至第二FPGA处理器的第二缓存单元;根据第二缓存单元的数据占用比例的变化情况,控制流控接收方的数据发送。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种网络设备的流控方法,其特征在于,适用于流控发起方的数据流量控制,所述流控发起方包括第一FPGA处理器和第二FPGA处理器,所述方法包括:
在第一FPGA处理器的用户侧的应用处理能力不足的情况下,将流控压力转交至第一FPGA处理器中的第一缓存单元;
在第一缓存单元的数据占用比例上升至第一预设阈值的情况下,将流控压力转交至第二FPGA处理器的用户侧;
在第二FPGA处理器的用户侧的应用处理能力不足的情况下,将流控压力转交至第二FPGA处理器的第二缓存单元;
根据第二缓存单元的数据占用比例的变化情况,控制流控接收方的数据发送。
2.根据权利要求1所述的网络设备的流控方法,其特征在于,在第一缓存单元的数据占用比例上升至第一预设阈值的情况下,将流控压力转交至第二FPGA处理器的用户侧,包括:
在第一缓存单元的数据占用比例上升至第一预设阈值的情况下,控制第一FPGA处理器中的发送端发出第一流控消息至第二FPGA处理器的接收端,以将流控压力反压到第二FPGA处理器的中间缓存单元,进行第一FPGA处理器侧的流控;
中间缓存单元将流控压力转交至第二FPGA处理器的用户侧。
3.根据权利要求1所述的网络设备的流控方法,其特征在于,在将流控压力转交至第二FPGA处理器的用户侧之后,还包括:
在第一缓存单元的数据占用比例下降至第二预设阈值的情况下,控制第一FPGA处理器中的发送端发出第二流控消息至第二FPGA处理器的接收端,以停止对第一FPGA处理器侧的流控;
其中,第一预设阈值大于第二预设阈值。
4.根据权利要求1所述的网络设备的流控方法,其特征在于,根据第二缓存单元的数据占用比例的变化情况,控制流控接收方的数据发送,包括:
在第二缓存单元的数据占用比例上升至第三预设阈值的情况下,控制第二FPGA处理器中的发送端发送第一PAUSE帧至流控接收方,以进行第二FPGA处理器侧的流控;
根据第二缓存单元的数据占用比例的变化情况,对流控接收方是否支持基于PAUSE帧进行流控进行判断,并根据判断结果,控制流控接收方的数据发送。
5.根据权利要求4所述的网络设备的流控方法,其特征在于,根据第二缓存单元的数据占用比例的变化情况,对流控接收方是否支持基于PAUSE帧进行流控进行判断,并根据判断结果,控制流控接收方的数据发送,包括:
在第二缓存单元的数据占用比例下降至第四预设阈值的情况下,确定流控接收方支持基于PAUSE帧进行流控;
第二FPGA处理器中的发送端发送第二PAUSE帧至流控接收方,以停止对第二FPGA处理器侧的流控;
其中,第四预设阈值小于第三预设阈值。
6.根据权利要求4所述的网络设备的流控方法,其特征在于,根据第二缓存单元的数据占用比例的变化情况,对流控接收方是否支持基于PAUSE帧进行流控进行判断,并根据判断结果,控制流控接收方的数据发送,包括:
在第二缓存单元的数据占用比例大于第三预设阈值的情况下,确定流控接收方不支持基于PAUSE帧进行流控;
第二FPGA处理器持续执行弃帧操作,直到第二缓存单元的数据占用比例下降至第四预设阈值。
7.根据权利要求1所述的网络设备的流控方法,其特征在于,第一缓存单元、第二缓存单元均为FIFO缓存队列。
8.一种网络设备的流控装置,其特征在于,包括:
第一处理模块,用于在第一FPGA处理器的用户侧的应用处理能力不足的情况下,将流控压力转交至第一FPGA处理器中的第一缓存单元;
第二处理模块,用于在第一缓存单元的数据占用比例上升至第一预设阈值的情况下,将流控压力转交至第二FPGA处理器的用户侧;
第三处理模块,用于在第二FPGA处理器的用户侧的应用处理能力不足的情况下,将流控压力转交至第二FPGA处理器的第二缓存单元;
第四处理模块,用于根据第二缓存单元的数据占用比例的变化情况,控制流控接收方的数据发送。
9.一种网络设备,其特征在于,应用如权利要求1至7中的任一项所述的流控方法。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述网络设备的流控方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311649802.0A CN117768415A (zh) | 2023-12-01 | 2023-12-01 | 一种网络设备的流控方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311649802.0A CN117768415A (zh) | 2023-12-01 | 2023-12-01 | 一种网络设备的流控方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117768415A true CN117768415A (zh) | 2024-03-26 |
Family
ID=90311588
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311649802.0A Pending CN117768415A (zh) | 2023-12-01 | 2023-12-01 | 一种网络设备的流控方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117768415A (zh) |
-
2023
- 2023-12-01 CN CN202311649802.0A patent/CN117768415A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3872847B2 (ja) | イーサネットに対する全二重フロー制御 | |
US6167029A (en) | System and method for integrated data flow control | |
US8089984B2 (en) | Method and system for network communications via a configurable multi-use ethernet PHY | |
US5936963A (en) | System to implement a switched ethernet service within a geographically distributed region using asymmetric full duplex circuits | |
US6993007B2 (en) | System and method for suppressing silence in voice traffic over an asynchronous communication medium | |
US6038234A (en) | Early arbitration on a full duplex bus | |
EP1472145B1 (en) | Method and apparatus for concatenating and piggybacking data packets | |
US20030169688A1 (en) | System and method for dynamic rate flow control | |
EP1258102B1 (en) | Method for suppressing silence in voice traffic over an asynchronous communication medium | |
US20120307637A1 (en) | Method and System for Network Communications Via a Configurable Multi-Use Ethernet PHY | |
CN101536413A (zh) | 队列感知的流控制 | |
JP2009506682A (ja) | ギガビット/10ギガビット・イーサネット(登録商標)・システムにおける明示的フロー制御 | |
CN1981495B (zh) | 在竞争式数据链路上进行等时数据报传输的方法和装置 | |
JP2000515713A (ja) | パケットベースのデータをモデムによって伝送するための信号処理要求を縮小するための方法および装置 | |
CA2376548A1 (en) | Switching device and method for traffic policing over a network | |
WO2020043175A1 (zh) | 物理层端口通道化的方法和装置 | |
EP1941640B1 (en) | Method, circuitry and system for transmitting data at different rates | |
CN113630326A (zh) | 一种千兆以太网流量控制装置 | |
US20150229432A1 (en) | Full-duplex ethernet communications over coaxial links using time-division duplexing | |
US6195334B1 (en) | Apparatus and method for terminating a data transfer in a network switch in response to a detected collision | |
US6111890A (en) | Gigabuffer lite repeater scheme | |
CN117768415A (zh) | 一种网络设备的流控方法及装置 | |
US5734675A (en) | Receiver sharing for demand priority access method repeaters | |
WO2002075486A2 (en) | Credit management for data flow between two networks | |
CN116346720A (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 |