CN105337895A - 一种网络设备主机单元、网络设备子卡以及网络设备 - Google Patents
一种网络设备主机单元、网络设备子卡以及网络设备 Download PDFInfo
- Publication number
- CN105337895A CN105337895A CN201410333222.5A CN201410333222A CN105337895A CN 105337895 A CN105337895 A CN 105337895A CN 201410333222 A CN201410333222 A CN 201410333222A CN 105337895 A CN105337895 A CN 105337895A
- Authority
- CN
- China
- Prior art keywords
- network equipment
- queue
- main computer
- computer unit
- buffer queue
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/64—Hybrid switching systems
- H04L12/6418—Hybrid transport
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种网络设备主机单元、网络设备子卡以及网络设备。网络设备主机单元按照预设的调度策略将所述第二缓存队列中的报文发送给网络设备子卡;所述网络设备子卡将所述报文加入其转发接口对应的第一缓存队列以通过所述转发接口进行转发;所述网络设备子卡在所述第一缓存队列中存在拥塞队列时,发送流控帧给网络设备主机单元;所述网络设备主机单元根据所述流控帧对所述拥塞队列对应的第二缓存队列中的报文进行流控。通过本发明的技术方案保证网络设备主机单元和网络设备子卡之间无阻塞、零丢包率转发报文,且成本低廉。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种网络设备主机单元、网络设备子卡以及网络设备。
背景技术
随着网络技术的发展和网络业务的拓宽,IP技术和带宽业务在可靠性、接口密度、配置灵活度、数据包转发速度以及多业务等方面对网络设备提出了更高的要求,模块化网络设备应运而生。
网络设备的各个部件都可以采用模块化设计,通常网络设备上主控引擎、交换网板、线卡板、电源模块、风扇框模块等部件可以统称为网络设备主机单元。除此之外,网络设备还包括有网络设备子卡,主要用于为网络设备主机单元收发和/或处理报文。
然而,在实践中,如何保证网络设备主机单元和网络设备子卡之间无阻塞、零丢包率转发报文,已成为目前亟待解决的问题。
发明内容
有鉴于此,本发明提供一种网络设备主机单元、网络设备子卡以及网络设备。
具体地,本发明是通过如下技术方案实现的:
一种网络设备,包括网络设备主机单元和网络设备子卡,所述网络设备子卡上的每一个接口下行方向都对应有一个第一缓存队列,所述网络设备主机单元包括有与所述第一缓存队列一一对应的第二缓存队列,所述第二缓存队列中缓存有以其对应接口为转发接口的报文,
所述网络设备主机单元按照预设的调度策略将所述第二缓存队列中的报文发送给网络设备子卡;
所述网络设备子卡将所述报文加入其转发接口对应的第一缓存队列以通过所述转发接口进行转发;
所述网络设备子卡在所述第一缓存队列中存在拥塞队列时,发送流控帧给网络设备主机单元;
所述网络设备主机单元根据所述流控帧对所述拥塞队列对应的第二缓存队列中的报文进行流控。
进一步地,所述网络设备主机单元和网络设备子卡之间通过以太网总线连接,所述流控帧是优先级流控PFC帧,所述PFC帧中携带有所述第一缓存队列的拥塞信息。
进一步地,所述网络设备子卡在所述第一缓存队列中存在拥塞队列时,发送流控帧给网络设备主机单元包括:
所述网络设备子卡按照预设的时间周期发送PFC帧给网络设备主机单元;
所述网络设备主机单元根据所述流控帧对所述拥塞队列对应的第二缓存队列中的报文进行流控包括:
所述网络设备主机单元根据所述PFC帧判断第一缓存队列中是否存在拥塞队列;
所述网络设备主机单元在所述第一缓存队列中存在拥塞队列时,对所述拥塞队列对应的第二缓存队列中的报文进行流控。
进一步地,所述网络设备子卡在所述第一缓存队列中存在拥塞队列时,发送流控帧给网络设备主机单元包括:
所述网络设备子卡在所述第一缓存队列中存在拥塞队列时,发送PFC帧给网络设备主机单元。
进一步地,所述网络设备主机单元根据所述PFC帧对述拥塞队列对应的第二缓存队列中的报文进行流控包括:
所述网络设备主机单元减缓发送所述拥塞队列对应的第二缓存队列中的报文或停止发送所述拥塞队列对应的第二缓存队列中的报文。
进一步地,所述PFC帧中还携带有所述拥塞队列对应的停止发送时间;
所述网络设备主机单元,进一步用于在所述停止发送时间超时时,恢复发送所述拥塞队列对应的第二缓存队列中的报文。
进一步地,所述PFC帧中还携带有所述拥塞队列对应的停止发送时间;
所述网络设备子卡,进一步用于在所述拥塞队列恢复正常时,发送所述停止发送时间为零的PFC帧;
所述网络设备主机单元根据所述停止发送时间为零的PFC帧恢复发送所述拥塞队列对应的第二缓存队列中的报文。
进一步地,所述网络设备子卡发送流控帧给网络设备主机单元包括:
所述网络设备子卡以最高调度优先级发送所述流控帧给网络设备主机单元。
进一步地,所述网络设备子卡,具体用于在检测到第一缓存队列超出预设的缓存门限时,确认所述第一缓存队列为拥塞队列。
一种网络设备主机单元,应用在网络设备上,所述网络设备还包括有网络设备子卡,所述网络设备主机单元包括有第二缓存队列,所述第二缓存队列与网络设备子卡的每一个接口下行方向的第一缓存队列一一对应,所述第二缓存队列中缓存有以其对应接口为转发接口的报文,
所述网络设备主机单元按照预设的调度策略将所述第二缓存队列中的报文发送给网络设备子卡,以供网络设备子卡将所述报文通过其的转发接口对应的第一缓存队列转发;
所述网络设备主机单元接收网络设备子卡在第一缓存队列中存在拥塞队列时发送的流控帧;
所述网络设备主机单元根据所述流控帧对所述拥塞队列对应的第二缓存队列中的报文进行流控。
进一步地,所述网络设备主机单元根据所述流控帧对述拥塞队列对应的第二缓存队列中的报文进行流控包括:
所述网络设备主机单元减缓发送所述拥塞队列对应的第二缓存队列中的报文或停止发送所述拥塞队列对应的第二缓存队列中的报文。
进一步地,所述流控帧是PFC帧,所述PFC帧中携带有所述第一缓存队列的拥塞信息和对应的停止发送时间;
所述网络设备主机单元,进一步用于在所述停止发送时间超时时,恢复发送所述拥塞队列对应的第二缓存队列中的报文。
一种网络设备子卡,应用在网络设备上,所述网络设备上还包括有网络设备主机单元,所述网络设备子卡上的每一个接口下行方向都对应有一个第一缓存队列,所述第一缓存队列与网络设备主机单元的第二缓存队列一一对应,
所述网络设备子卡接收网络设备主机单元发送的报文;
所述网络设备子卡将所述报文加入其转发接口对应的第一缓存队列以通过所述转发接口进行转发;
所述网络设备子卡在所述第一缓存队列中存在拥塞队列时,发送流控帧给网络设备主机单元,以供所述网络设备主机单元根据所述流控帧对所述拥塞队列对应的第二缓存队列中的报文进行流控。
进一步地,所述网络设备主机单元和网络设备子卡之间通过以太网总线连接,所述流控帧是PFC帧,所述PFC帧中携带有所述第一缓存队列的拥塞信息。
进一步地,所述网络设备子卡在所述第一缓存队列中存在拥塞队列时,发送流控帧给网络设备主机单元包括:
所述网络设备子卡按照预设的时间周期发送PFC帧给网络设备主机单元,以便所述网络设备主机单元根据所述PFC帧判断第一缓存队列中是否存在拥塞队列,并在所述第一缓存队列中存在拥塞队列时,对所述拥塞队列对应的第二缓存队列中的报文进行流控。
进一步地,所述网络设备子卡在所述第一缓存队列中存在拥塞队列时,发送流控帧给网络设备主机单元包括:所述网络设备子卡在所述第一缓存队列中存在拥塞队列时,发送PFC帧给网络设备主机单元。
进一步地,所述PFC帧中还携带有所述拥塞队列对应的停止发送时间;
所述网络设备子卡,进一步用于在所述拥塞队列恢复正常时,发送所述停止发送时间为零的PFC帧,以供所述网络设备主机单元根据所述停止发送时间为零的PFC帧恢复发送所述拥塞队列对应的第二缓存队列中的报文。
进一步地,所述网络设备子卡发送流控帧给网络设备主机单元包括:所述网络设备子卡以最高调度优先级发送所述流控帧给网络设备主机单元。
由以上描述可以看出,本发明在网络设备主机单元中设置有与网络设备子卡接口对应的报文缓存队列,网络设备子卡在自身接口下行方向存在拥塞队列时,通过发送流控帧通过网络设备主机单元对拥塞队列对应的报文缓存队列中的报文进行流控,从而实现网络设备子卡和网络设备主机单元之间无阻塞、零丢包率转发报文。同时,通过以太网流控帧来实现流控,大大降低了设备成本。
附图说明
图1是本发明一种实施方式中网络设备结构示意图。
图2是本发明一种实施方式中网络设备流控方式的流程示意图。
图3是本发明一种实施方式中PFC帧格式示意图。
图4是本发明一种实施方式中网络设备子卡和网络设备主机单元流控示意图。
具体实施方式
目前,网络设备主机单元与网络设备子卡之间常用以下三种解决方案进行通信连接:
1.采用光互连论坛定义的系统包接口,比如:SPI3(SerialPeripheralInterface,串行外设接口)、SPI4.2等。该接口采用并行总线,支持通道化流控技术。
2.采用Interlaken接口,Interlaken接口采用高速串行总线,带宽可以随着总线的频率和差分对数量增加,支持通道化流控技术。
3.采用以太网接口,该接口采用以太网总线,然而以太网总线不支持通道化流控技术。
在上述支持通道化流控技术的解决方案1和方案2中,可以采用流控技术来实现网络设备主机单元和网络设备子卡之间无阻塞、零丢包率转发报文。但是,对于解决方案1而言,目前已经基本没有芯片公司继续开发基于系统报接口的芯片,同时,网络设备主机单元也已经不再支持并行的数据通信总线。对于解决方案2而言,支持Interlaken接口的芯片都非常昂贵,大大增加了网络设备的成本。
在解决方案3中,以太网技术具有成本低、通信速率和带宽高、兼容性好、占用资源少,并且拥有广泛的技术支持基础以及强大的持续发展潜力等诸多优点,越来越多的芯片都只提供以太网总线作为数据通信的总线。网络设备主机单元通常通过一个高速率的以太网接口与网络设备子卡互通,网络设备子卡将该高速率以太网接口转换为多个低速率接口。如果高速率的以太网接口突发流量,那么低速率接口将无法承受高速率以太网接口发送的报文,由于以太网总线不支持通道化流控技术,这就会造成报文阻塞、甚至丢包。
针对上述方案存在的问题,本发明提供一种网络设备,该网络设备包括有:网络设备主机单元和网络设备子卡。所述网络设备主机单元和网络设备子卡之间采用以太网总线连接。通常所述以太网总线可以采用以太网高速串行差分对,比如:千兆以太网的SGMII总线、万兆以太网的XAUI、XFI、10GBASE-KR总线等。
为防止网络设备主机单元方向流量突发造成报文丢失,在本发明网络设备子卡的下行方向为每一个接口设置一个报文缓存的队列,比如:FIFO(FirstInputFirstOutput,先入先出)队列,其中,将网络设备子卡下行方向的报文缓存队列称为第一缓存队列,即,所述网络设备子卡上的每一个接口的下行方向都对应有一个第一缓存队列。同时,为了实现网络设备子卡和网络设备主机单元之间的流控,在网络设备主机单元设置有与所述第一缓存队列一一对应的第二缓存队列,由于所述第一缓存队列与网络设备子卡的各个接口对应,所以所述第二缓存队列也与网络设备子卡的各个接口对应。即,所述第二缓存队列中缓存有以其对应接口为转发接口的报文。
举例来说,请参考图1,在图1所示的网络设备结构示意图中,假设网络设备子卡上有8个接口:接口0至接口7,则所述8个接口的下行方向分别对应有一个第一缓存队列:第一缓存队列0至第一缓存队列7,也就是说,对于需要通过接口0转发的报文,网络设备子卡会将其加入第一缓存队列0,需要通过接口1转发的报文,网络设备子卡会将其加入第一缓存队列1,依次类推。同样,网络设备主机单元上也有8个第二缓存队列:第二缓存队列0至第二缓存队列7,也就是说,对于需要通过网络设备子卡接口0转发的报文,网络设备主机单元会将其加入第二缓存队列0,需要通过网络设备子卡接口1转发的报文,网络设备主机单元会将其加入第二缓存队列1。也可以理解为,网络设备主机单元和网络设备子卡之间的以太网总线可以分别8条虚拟总线,虚拟总线0至虚拟总线7,其中,虚拟总线0连接第二缓存队列0至第一缓存队列0,依次类推。由此,可以形成表1所示的对应关系。
报文转发接口 | 网络设备子卡的队列 | 网络设备主机单元的队列 |
接口0 | 第一缓存队列0 | 第二缓存队列0 |
接口1 | 第一缓存队列1 | 第二缓存队列1 |
。。。 | 。。。 | 。。。 |
接口7 | 第一缓存队列7 | 第二缓存队列7 |
表1
当然,网络设备子卡每一个接口的上行方向可能同样设置有对应的报文缓存队列,然而由于网络设备主机单元的处理能力较强,其和网络设备子卡之间的报文拥塞通常发生在网络设备主机单元向网络设备子卡发送报文的方向,因此,本发明旨在解决网络设备主机单元突发流量的情况,对于网络设备子卡每一个接口的上行方向的报文缓存队列不做限制。
请参考图2,在设置了上述缓存队列的网络设备上,其内部网络设备主机单元向网络设备子卡发送报文的过程包括:
步骤201,网络设备主机单元按照预设的调度策略将第二缓存队列中的报文发送给网络设备子卡。
步骤202,网络设备子卡将所述报文加入其转发接口对应的第一缓存队列以通过所述转发接口进行转发。
在本发明中,网络设备主机单元内部对报文进行处理后,将报文加入其转发接口对应的第二缓存队列,网络设备主机单元会按照预设的调度策略将多个接口对应的多个第二缓存队列中的报文发送给网络设备子卡。所述预设的调度策略可以由网络管理人员进行设置,比如:依次发送每个第二缓存队列中缓存的报文。以前述所述网络设备子卡有8个接口为例,所述网络设备主机单元有8个第二缓存队列,根据所述调度策略,网络设备主机单元依次发送第二缓存队列0至第二缓存队列7中缓存的报文。当然,网络管理人员也可以根据需要设置其他预设的调度策略,比如:需要通过接口0发送的报文的优先级较高,则可以连续两次发送第二缓存队列0中的报文,然后依次发送第二缓存队列1至第二缓存队列7中的报文。本发明对此不做限制。
网络设备子卡在接收到网络设备主机单元发送的报文后,根据所述报文携带的接口信息,将所述报文接收到其转发接口对应的第一缓存队列以供发送。
以网络设备主机单元需要通过网络设备子卡接口0发送的报文为例,网络设备主机单元会将所述报文加入第二缓存队列0,网络设备子卡在接收到所述报文后,会将所述报文加入第一缓存队列0,以实现通过接口0转发。
在上述报文发送的过程中,当网络设备子卡检测到其第一缓存队列中存在拥塞队列时,可以执行如下过程:
步骤203,网络设备子卡在所述第一缓存队列中存在拥塞队列时,发送流控帧给网络设备主机单元。
步骤204,网络设备主机单元根据所述流控帧对所述拥塞队列对应的第二缓存队列中的报文进行流控。
具体地,开发人员或者网络管理人员在为网络设备子卡的各个接口设置第一缓存队列时,会为所述第一缓存队列设置缓存大小和缓存门限。所述网络设备子卡在检测到第一缓存队列超出预设的缓存门限时,确认所述第一缓存队列为拥塞队列。比如:所述第一缓存队列的缓存大小为10个报文,缓存门限时5个报文,当该第一缓存队列中缓存有6个报文时,可以确认所述第一缓存队列拥塞。
对于所述第一缓存队列的缓存大小,如果设置的太小,就有可能会导致报文丢包,如果设置太大,则网络设备的队列调度、约定接入速率等服务质量就无法得到保证。对于所述第一缓存队列的缓存门限,如果设置大小,可能会降低网络带宽的利用率,如果设置太大,则可能会导致报文丢包。所以,需要为所述第一缓存队列设置合理的缓存大小和缓存门限。所述第一缓存队列的缓存大小和缓存门限的设置可以参考以下几个因素:
一、网络设备子卡上行方向的最大传输MTU(Maximumtransmissionunit)。因为,如果第一缓存队列拥塞,网络设备子卡发送流控帧给网络设备主机单元,假如此时,网络设备子卡的上行方向有一个大小为MTU的报文正在传输,所述流控帧的发送就会受到延迟。
二、网络设备子卡下行方向的最大传输MTU。因为,网络设备主机单元在接收到流控帧后,要对所述拥塞队列对应的第二缓存队列中的报文进行流控,假如此时,网络设备主机单元有一个大小为MTU的报文刚刚传输了一位,则不能丢弃这个报文。
三、网络设备主机单元和网络设备子卡之间的以太网线路速率。因为,在流控帧发送后,第一缓存队列还需要能够缓存目前已经在网络设备主机单元和网络设备子卡之间传输的报文,该正在传输的报文可能位于印制电路板或连接器中。
四、网络设备子卡的接口线路速率。因为,在流控帧发送后,拥塞的第一缓存队列还在继续向外发送报文。
五、网络设备子卡发送流控帧和网络设备主机单元接收流控帧产生的时延,以及网络设备主机单元接收到流控帧后进行流控的时延。
网络设备子卡在所述第一缓存队列中存在拥塞队列时,发送流控帧给网络设备主机单元。为了在流控帧中携带拥塞队列的信息,本发明采用IEEE(InstituteofElectricalandElectronicsEngineers,电气和电子工程师协会)802.1Qbb中定义的PFC(PriorityFlowControl,优先级流控)帧。PFC帧为标准的以太网帧格式,可以通过网络设备子卡和网络设备主机单元之间的以太网总线传输。本发明在PFC帧内携带流控信息,以此来实现流控。根据PFC帧格式,在使用PFC帧时,需要添加源MAC地址和目的MAC地址,为实现本发明,可以使用预设的固定源MAC地址和目的MAC地址。网络设备主机单元可以根据所述预设的固定源MAC地址来识别PFC帧。当然,本领域技术人员也可以采取其它方式设置PFC帧的源MAC地址和目的MAC地址,本发明对此不做限制。需要说明的是,本发明涉及的是网络设备内部网络设备主机单元和网络设备子卡之间的报文流控,PFC帧也仅在该网络设备中网络设备主机单元和网络设备子卡之间传递,不会传递到互联网中,所以不会产生MAC地址冲突。
请参考图3所示的PFC帧,在PFC帧中,网络流量可以分为8个优先级,PFC帧为这8个优先级分别提供了使能位:E[0]、E[1]...E[7],我们可以利用这8个使能位来标识网络设备子卡的接口的第一缓存队列。比如:对于网络设备子卡接口0的第一缓存队列0至网络设备子卡接口7的第一缓存队列7可以使用使能位E[0]、E[1]...E[7]来表示其拥塞信息。假设,E[N]=0表示队列N正常,E[N]=1表示队列N拥塞,则E[0]=1就表示网络设备子卡接口0的第一缓存队列0拥塞,其中,N为小于等于7的自然数。PFC帧中还提供有网络设备子卡添加停止发送时间的字段:Time(Class0)、Time(Class1)…Time(Class7),对于队列0拥塞,可以在Time(Class0)中添加对应的流控时间。需要说明的是,本发明并不限制网络设备子卡接口的数量,当网络设备子卡接口的数量大于8个时,可以扩展PFC帧预留的字段用以携带拥塞信息和流控时间,当然,本领域技术人员也可以通过在网络设备子卡和网络设备主机单元之间增加以太网链路,通过该增加的以太网链路传递其他接口的流控信息,本发明对此不做限制。
在本发明中,网络设备主机单元的流控方式可以包括:减缓发送所述拥塞队列对应的第二缓存队列中的报文或者停止发送所述拥塞队列对应的第二缓存队列中的报文。当然,本领域技术人员可以依据已知技术采取其它的流控方式,本发明对流控方式不做限制。下面以停止发送所述拥塞队列对应的第二缓存队列中的报文为例进行详细说明。
网络设备子卡在所述第一缓存队列中存在拥塞队列时,发送流控帧给网络设备主机单元可以包括下面两种实现方式:
一、网络设备子卡按照预设的时间周期发送PFC帧给网络设备主机单元。
在这种实现方式中,网络设备子卡按照预设的时间周期生成PFC帧,然后发送给网络设备主机单元。在所述第一缓队列中不存在拥塞队列时,网络设备子卡也会生成PFC帧并发送给网络设备主机单元,此时,该PFC帧中使能位:E[0]至E[7]均为0,流控时间,也就是停止发送时间Time(Class0)至Time(Class7)也均为0。网络设备主机单元在接收到所述PFC帧后不进行流控。在第一缓存队列中存在拥塞队列时,网络设备子卡将生成的PFC帧中拥塞队列对应的使能位置为1,并添加对应的停止发送时间后发送给网络设备主机单元,以供其进行流控。所述预设的时间周期可以由网络管理人员根据网络设备性能进行设置,比如:10ms,本发明对此不做限制。
二、网络设备子卡在所述第一缓存队列中存在拥塞队列时,发送PFC帧给网络设备主机单元。
在这种实现方式中,网络设备子卡在所述第一缓存队列中不存在拥塞队列时,不生成PFC帧。在检测到第一缓存队列中存在拥塞队列时才生成PFC帧,假设,第一缓存队列0拥塞,则将第一缓存队列0对应的使能位E[0]置为1,并在Time(Class0)中添加停止发送时间,然后将所述PFC帧发送给网络设备主机单元供其在所述停止发送时间内停止发送第二缓存队列0中的报文。
进一步地,网络设备主机单元在所述停止时间超时时,恢复发送所述拥塞队列对应的第二缓存队列中的报文。
更进一步地,网络设备子卡在检测到所述拥塞队列恢复正常时,发送停止时间为零的PFC帧给网络设备主机单元,网络设备主机单元根据该PFC帧恢复发送所述拥塞队列对应的第二缓存队列中的报文。具体地,仍以第一缓存队列0拥塞为例,网络设备子卡在所述第一缓存队列0恢复正常时,比如:第一缓存队列0中缓存的报文数量为4时,发送停止时间Time(Class0)为0,E[0]为0的PFC帧。
下面对网络设备子卡和网络设备主机单元之间流控的具体实现过程进行详细描述。请参考图4,为了更加清晰地展现整个实现过程,分别绘制网络设备子卡的上行方向和下行方向。其中,网络设备子卡上的上行方向处理模块用于将报文发送给网络设备主机单元的报文快速分发处理模块。所述报文快速分发处理模块用于将PFC帧转发给PFC帧映射模块,将其它报文缓存到外部存储中,并请求处理业务的处理器的核单元对之进行进一步处理。为了确保PFC帧的低时延,所述报文快速分发处理模块可以采用硬件来实现。所述PFC帧映射模块用于根据流控信息通知网络设备主机单元的下行调度单元对第二缓存队列中的报文进行流控。
网络设备子卡与网络设备主机单元之间流控的过程如下:
1、PFC帧生成模块生成PFC帧,并将PFC帧发送给上行方向处理模块。
具体地,以前述第一种流控帧发送方式为例,PFC帧生成模块可以根据计时器的定时超时时,产生PFC帧。假定此时第一缓存队列0拥塞,那么该PFC帧生成模块生成E[0]为1,Time(Class0)为10ms的PFC帧,然后将该PFC帧发送给上行方向处理模块。
2、上行方向处理模块根据网络设备子卡调度模块的调度将PFC帧以最高调度优先级发送给网络设备主机单元。
需要说明的是,在本发明中,为了减小PFC帧的时延,网络设备子卡的调度模块控制上行方向处理模块以最高优先级调度PFC帧,对于网络设备子卡接口上行方向接收到的报文,可以先将其缓存到对应的上行缓存队列中。
3、网络设备主机单元的报文快速分发处理模块通过以太网上行接口接收到所述PFC帧后,将其发送给PFC帧映射模块。
4、PFC帧映射模块从所述PFC帧中获取拥塞队列信息,通知下行调度单元停止发送所述拥塞队列对应的第二缓存队列中的报文。
具体地,PFC帧映射模块根据E[0]为1判断出是第一缓存队列0拥塞,然后根据第一缓存队列和第二缓存队列的对应关系,通知下行调度单元停止发送第二缓存队列0中的报文,并根据Time(Class0)中携带的停止发送时间10ms启动计时器开始倒计时。
5、PFC帧映射模块在停止发送时间超时时,恢复发送所述拥塞队列对应的第二缓存队列中的报文。
具体地,网络设备主机单元在计时器10ms倒计时结束时,通知下行调度单元恢复发送第二缓存队列0中的报文。
由以上描述可以看出,本发明在网络设备主机单元中设置有与网络设备子卡接口对应的报文缓存队列,网络设备子卡在自身接口下行方向存在拥塞队列时,通过发送流控帧通过网络设备主机单元对拥塞队列对应的报文缓存队列中的报文进行流控,从而实现网络设备子卡和网络设备主机单元之间无阻塞、零丢包率转发报文。同时,通过以太网流控帧来实现流控,大大降低了设备成本。
在本发明另一实施例中,提供一种网络设备主机单元,应用在网络设备上,所述网络设备主机单元包括有第二缓存队列,所述第二缓存队列与网络设备子卡的每一个接口下行方向的第一缓存队列一一对应,所述第二缓存队列中缓存有以其对应接口为转发接口的报文。
具体地,所述网络设备主机单元在转发报文时,按照预设的调度策略将所述第二缓存队列中的报文发送给网络设备子卡,以供网络设备子卡将所述报文通过其的转发接口对应的第一缓存队列转发;
所述网络设备主机单元接收网络设备子卡在第一缓存队列中存在拥塞队列时发送的流控帧;
所述网络设备主机单元根据所述流控帧对所述拥塞队列对应的第二缓存队列中的报文进行流控。
进一步地,所述网络设备主机单元根据所述流控帧对述拥塞队列对应的第二缓存队列中的报文进行流控包括:
所述网络设备主机单元减缓发送所述拥塞队列对应的第二缓存队列中的报文或停止发送所述拥塞队列对应的第二缓存队列中的报文。
进一步地,所述流控帧是PFC帧,所述PFC帧中携带有所述第一缓存队列的拥塞信息和对应的停止发送时间;
所述网络设备主机单元,进一步用于在所述停止发送时间超时时,恢复发送所述拥塞队列对应的第二缓存队列中的报文。
所述网络设备主机单元在报文转发过程中的具体实现过程可以参考上述网络设备实施例中的相关描述,在此不再赘述。
在本发明另一实施例中,提供一种网络设备子卡,应用在网络设备上,所述网络设备子卡上的每一个接口下行方向都对应有一个第一缓存队列,所述第一缓存队列与网络设备主机单元的第二缓存队列一一对应。
具体地,所述网络设备主机单元在转发报文的过程中接收网络设备主机单元发送的报文;
所述网络设备子卡将所述报文加入其转发接口对应的第一缓存队列以通过所述转发接口进行转发;
所述网络设备子卡在所述第一缓存队列中存在拥塞队列时,发送流控帧给网络设备主机单元,以供所述网络设备主机单元根据所述流控帧对所述拥塞队列对应的第二缓存队列中的报文进行流控。
进一步地,所述网络设备主机单元和网络设备子卡之间通过以太网总线连接,所述流控帧是PFC帧,所述PFC帧中携带有所述第一缓存队列的拥塞信息。
进一步地,所述网络设备子卡在所述第一缓存队列中存在拥塞队列时,发送流控帧给网络设备主机单元包括:
所述网络设备子卡按照预设的时间周期发送PFC帧给网络设备主机单元,以便所述网络设备主机单元根据所述PFC帧判断第一缓存队列中是否存在拥塞队列,并在所述第一缓存队列中存在拥塞队列时,对所述拥塞队列对应的第二缓存队列中的报文进行流控。
进一步地,所述网络设备子卡在所述第一缓存队列中存在拥塞队列时,发送流控帧给网络设备主机单元包括:所述网络设备子卡在所述第一缓存队列中存在拥塞队列时,发送PFC帧给网络设备主机单元。
进一步地,所述PFC帧中还携带有所述拥塞队列对应的停止发送时间;
所述网络设备子卡,进一步用于在所述拥塞队列恢复正常时,发送所述停止发送时间为零的PFC帧,以供所述网络设备主机单元根据所述停止发送时间为零的PFC帧恢复发送所述拥塞队列对应的第二缓存队列中的报文。
进一步地,所述网络设备子卡发送流控帧给网络设备主机单元包括:所述网络设备子卡以最高调度优先级发送所述流控帧给网络设备主机单元。
所述网络设备子卡在报文转发过程中的具体实现过程可以参考上述网络设备实施例中的相关描述,在此不再赘述。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (18)
1.一种网络设备,包括网络设备主机单元和网络设备子卡,其特征在于,所述网络设备子卡上的每一个接口下行方向都对应有一个第一缓存队列,所述网络设备主机单元包括有与所述第一缓存队列一一对应的第二缓存队列,所述第二缓存队列中缓存有以其对应接口为转发接口的报文,
所述网络设备主机单元按照预设的调度策略将所述第二缓存队列中的报文发送给网络设备子卡;
所述网络设备子卡将所述报文加入其转发接口对应的第一缓存队列以通过所述转发接口进行转发;
所述网络设备子卡在所述第一缓存队列中存在拥塞队列时,发送流控帧给网络设备主机单元;
所述网络设备主机单元根据所述流控帧对所述拥塞队列对应的第二缓存队列中的报文进行流控。
2.根据权利要求1所述的网络设备,其特征在于,
所述网络设备主机单元和网络设备子卡之间通过以太网总线连接,所述流控帧是优先级流控PFC帧,所述PFC帧中携带有所述第一缓存队列的拥塞信息。
3.根据权利要求2所述的网络设备,其特征在于,所述网络设备子卡在所述第一缓存队列中存在拥塞队列时,发送流控帧给网络设备主机单元包括:
所述网络设备子卡按照预设的时间周期发送PFC帧给网络设备主机单元;
所述网络设备主机单元根据所述流控帧对所述拥塞队列对应的第二缓存队列中的报文进行流控包括:
所述网络设备主机单元根据所述PFC帧判断第一缓存队列中是否存在拥塞队列;
所述网络设备主机单元在所述第一缓存队列中存在拥塞队列时,对所述拥塞队列对应的第二缓存队列中的报文进行流控。
4.根据权利要求2所述的网络设备,其特征在于,所述网络设备子卡在所述第一缓存队列中存在拥塞队列时,发送流控帧给网络设备主机单元包括:
所述网络设备子卡在所述第一缓存队列中存在拥塞队列时,发送PFC帧给网络设备主机单元。
5.根据权利要求3或4所述的网络设备,其特征在于,所述网络设备主机单元根据所述PFC帧对述拥塞队列对应的第二缓存队列中的报文进行流控包括:
所述网络设备主机单元减缓发送所述拥塞队列对应的第二缓存队列中的报文或停止发送所述拥塞队列对应的第二缓存队列中的报文。
6.根据权利要求5所述的网络设备,其特征在于,
所述PFC帧中还携带有所述拥塞队列对应的停止发送时间;
所述网络设备主机单元,进一步用于在所述停止发送时间超时时,恢复发送所述拥塞队列对应的第二缓存队列中的报文。
7.根据权利要求5所述的网络设备,其特征在于,
所述PFC帧中还携带有所述拥塞队列对应的停止发送时间;
所述网络设备子卡,进一步用于在所述拥塞队列恢复正常时,发送所述停止发送时间为零的PFC帧;
所述网络设备主机单元根据所述停止发送时间为零的PFC帧恢复发送所述拥塞队列对应的第二缓存队列中的报文。
8.根据权利要求1所述的网络设备,其特征在于,所述网络设备子卡发送流控帧给网络设备主机单元包括:
所述网络设备子卡以最高调度优先级发送所述流控帧给网络设备主机单元。
9.根据权利要求1所述的网络设备,其特征在于,
所述网络设备子卡,具体用于在检测到第一缓存队列超出预设的缓存门限时,确认所述第一缓存队列为拥塞队列。
10.一种网络设备主机单元,应用在网络设备上,所述网络设备还包括有网络设备子卡,其特征在于,所述网络设备主机单元包括有第二缓存队列,所述第二缓存队列与网络设备子卡的每一个接口下行方向的第一缓存队列一一对应,所述第二缓存队列中缓存有以其对应接口为转发接口的报文,
所述网络设备主机单元按照预设的调度策略将所述第二缓存队列中的报文发送给网络设备子卡,以供网络设备子卡将所述报文通过其的转发接口对应的第一缓存队列转发;
所述网络设备主机单元接收网络设备子卡在第一缓存队列中存在拥塞队列时发送的流控帧;
所述网络设备主机单元根据所述流控帧对所述拥塞队列对应的第二缓存队列中的报文进行流控。
11.根据权利要求10所述的网络设备主机单元,其特征在于,
所述网络设备主机单元根据所述流控帧对述拥塞队列对应的第二缓存队列中的报文进行流控包括:
所述网络设备主机单元减缓发送所述拥塞队列对应的第二缓存队列中的报文或停止发送所述拥塞队列对应的第二缓存队列中的报文。
12.根据权利要求11所述的网络设备主机单元,其特征在于,
所述流控帧是PFC帧,所述PFC帧中携带有所述第一缓存队列的拥塞信息和对应的停止发送时间;
所述网络设备主机单元,进一步用于在所述停止发送时间超时时,恢复发送所述拥塞队列对应的第二缓存队列中的报文。
13.一种网络设备子卡,应用在网络设备上,所述网络设备上还包括有网络设备主机单元,其特征在于,所述网络设备子卡上的每一个接口下行方向都对应有一个第一缓存队列,所述第一缓存队列与网络设备主机单元的第二缓存队列一一对应,
所述网络设备子卡接收网络设备主机单元发送的报文;
所述网络设备子卡将所述报文加入其转发接口对应的第一缓存队列以通过所述转发接口进行转发;
所述网络设备子卡在所述第一缓存队列中存在拥塞队列时,发送流控帧给网络设备主机单元,以供所述网络设备主机单元根据所述流控帧对所述拥塞队列对应的第二缓存队列中的报文进行流控。
14.根据权利要求13所述的网络设备子卡,其特征在于,所述网络设备主机单元和网络设备子卡之间通过以太网总线连接,所述流控帧是PFC帧,所述PFC帧中携带有所述第一缓存队列的拥塞信息。
15.根据权利要求14所述的网络设备子卡,其特征在于,
所述网络设备子卡在所述第一缓存队列中存在拥塞队列时,发送流控帧给网络设备主机单元包括:
所述网络设备子卡按照预设的时间周期发送PFC帧给网络设备主机单元,以便所述网络设备主机单元根据所述PFC帧判断第一缓存队列中是否存在拥塞队列,并在所述第一缓存队列中存在拥塞队列时,对所述拥塞队列对应的第二缓存队列中的报文进行流控。
16.根据权利要求14所述的网络设备子卡,其特征在于,
所述网络设备子卡在所述第一缓存队列中存在拥塞队列时,发送流控帧给网络设备主机单元包括:所述网络设备子卡在所述第一缓存队列中存在拥塞队列时,发送PFC帧给网络设备主机单元。
17.根据权利要求14所述的网络设备子卡,其特征在于,
所述PFC帧中还携带有所述拥塞队列对应的停止发送时间;
所述网络设备子卡,进一步用于在所述拥塞队列恢复正常时,发送所述停止发送时间为零的PFC帧,以供所述网络设备主机单元根据所述停止发送时间为零的PFC帧恢复发送所述拥塞队列对应的第二缓存队列中的报文。
18.根据权利要求13所述的网络设备子卡,其特征在于,
所述网络设备子卡发送流控帧给网络设备主机单元包括:所述网络设备子卡以最高调度优先级发送所述流控帧给网络设备主机单元。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410333222.5A CN105337895B (zh) | 2014-07-14 | 2014-07-14 | 一种网络设备主机单元、网络设备子卡以及网络设备 |
PCT/CN2015/083895 WO2016008399A1 (en) | 2014-07-14 | 2015-07-13 | Flow control |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410333222.5A CN105337895B (zh) | 2014-07-14 | 2014-07-14 | 一种网络设备主机单元、网络设备子卡以及网络设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105337895A true CN105337895A (zh) | 2016-02-17 |
CN105337895B CN105337895B (zh) | 2019-02-19 |
Family
ID=55077913
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410333222.5A Active CN105337895B (zh) | 2014-07-14 | 2014-07-14 | 一种网络设备主机单元、网络设备子卡以及网络设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN105337895B (zh) |
WO (1) | WO2016008399A1 (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109327403A (zh) * | 2018-12-04 | 2019-02-12 | 锐捷网络股份有限公司 | 一种流控方法、装置、网络设备及存储介质 |
CN110708255A (zh) * | 2018-07-09 | 2020-01-17 | 华为技术有限公司 | 一种报文控制方法及节点设备 |
CN110995534A (zh) * | 2019-11-26 | 2020-04-10 | 锐捷网络股份有限公司 | Pfc死锁的检测方法及装置 |
CN111431811A (zh) * | 2019-01-10 | 2020-07-17 | 华为技术有限公司 | 一种报文传输控制方法、装置和网络设备 |
CN113098785A (zh) * | 2021-03-31 | 2021-07-09 | 新华三信息安全技术有限公司 | 一种报文处理方法及装置 |
CN114531356A (zh) * | 2022-02-24 | 2022-05-24 | 太仓市同维电子有限公司 | 一种网络设备子卡同步的方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1444358A (zh) * | 2002-03-13 | 2003-09-24 | 威盛电子股份有限公司 | 以太网交换控制器及其拥塞控制方法 |
US20040032827A1 (en) * | 2002-08-15 | 2004-02-19 | Charles Hill | Method of flow control |
US20050128945A1 (en) * | 2003-12-11 | 2005-06-16 | Chen-Chi Kuo | Preventing a packet associated with a blocked port from being placed in a transmit buffer |
CN1878144A (zh) * | 2006-07-14 | 2006-12-13 | 华为技术有限公司 | 一种多队列流量控制的方法 |
CN1937586A (zh) * | 2006-09-21 | 2007-03-28 | 华为技术有限公司 | 一种实现流控信息传递的装置及方法 |
CN101945037A (zh) * | 2010-03-16 | 2011-01-12 | 深圳市普联技术有限公司 | 一种流量控制的方法、系统及交换机和路由器 |
CN102611620A (zh) * | 2012-02-23 | 2012-07-25 | 福建星网锐捷网络有限公司 | 拥塞控制方法和报文处理设备 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6657962B1 (en) * | 2000-04-10 | 2003-12-02 | International Business Machines Corporation | Method and system for managing congestion in a network |
CN101867511B (zh) * | 2009-04-20 | 2013-01-09 | 华为技术有限公司 | 流控帧发送方法、相关设备及系统 |
CN101699795B (zh) * | 2009-10-29 | 2012-07-18 | 中兴通讯股份有限公司 | 一种报文拥塞处理方法及系统 |
-
2014
- 2014-07-14 CN CN201410333222.5A patent/CN105337895B/zh active Active
-
2015
- 2015-07-13 WO PCT/CN2015/083895 patent/WO2016008399A1/en active Application Filing
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1444358A (zh) * | 2002-03-13 | 2003-09-24 | 威盛电子股份有限公司 | 以太网交换控制器及其拥塞控制方法 |
US20040032827A1 (en) * | 2002-08-15 | 2004-02-19 | Charles Hill | Method of flow control |
US20050128945A1 (en) * | 2003-12-11 | 2005-06-16 | Chen-Chi Kuo | Preventing a packet associated with a blocked port from being placed in a transmit buffer |
CN1878144A (zh) * | 2006-07-14 | 2006-12-13 | 华为技术有限公司 | 一种多队列流量控制的方法 |
CN1937586A (zh) * | 2006-09-21 | 2007-03-28 | 华为技术有限公司 | 一种实现流控信息传递的装置及方法 |
CN101945037A (zh) * | 2010-03-16 | 2011-01-12 | 深圳市普联技术有限公司 | 一种流量控制的方法、系统及交换机和路由器 |
CN102611620A (zh) * | 2012-02-23 | 2012-07-25 | 福建星网锐捷网络有限公司 | 拥塞控制方法和报文处理设备 |
Non-Patent Citations (1)
Title |
---|
赵隽琪: "思博伦通信数据中心网络整体分析方案", 《电信网技术》 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110708255A (zh) * | 2018-07-09 | 2020-01-17 | 华为技术有限公司 | 一种报文控制方法及节点设备 |
CN110708255B (zh) * | 2018-07-09 | 2021-11-19 | 华为技术有限公司 | 一种报文控制方法及节点设备 |
CN109327403A (zh) * | 2018-12-04 | 2019-02-12 | 锐捷网络股份有限公司 | 一种流控方法、装置、网络设备及存储介质 |
CN111431811A (zh) * | 2019-01-10 | 2020-07-17 | 华为技术有限公司 | 一种报文传输控制方法、装置和网络设备 |
CN110995534A (zh) * | 2019-11-26 | 2020-04-10 | 锐捷网络股份有限公司 | Pfc死锁的检测方法及装置 |
CN110995534B (zh) * | 2019-11-26 | 2022-03-18 | 锐捷网络股份有限公司 | Pfc死锁的检测方法及装置 |
CN113098785A (zh) * | 2021-03-31 | 2021-07-09 | 新华三信息安全技术有限公司 | 一种报文处理方法及装置 |
CN113098785B (zh) * | 2021-03-31 | 2022-05-27 | 新华三信息安全技术有限公司 | 一种报文处理方法及装置 |
CN114531356A (zh) * | 2022-02-24 | 2022-05-24 | 太仓市同维电子有限公司 | 一种网络设备子卡同步的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105337895B (zh) | 2019-02-19 |
WO2016008399A1 (en) | 2016-01-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105337895A (zh) | 一种网络设备主机单元、网络设备子卡以及网络设备 | |
US9967201B2 (en) | Data transmission method, core forwarding device, and endpoint forwarding device | |
US11296807B2 (en) | Techniques to operate a time division multiplexing(TDM) media access control (MAC) | |
US6381666B1 (en) | Method and apparatus for extending the range of the universal serial bus protocol | |
CN101552785B (zh) | 基于消息机制的用于海量数据传输的can总线通信方法 | |
CN106712907B (zh) | 数据传输方法及设备 | |
US11089140B2 (en) | Intelligent controller and sensor network bus, system and method including generic encapsulation mode | |
WO2021021495A1 (en) | Intelligent controller and sensor network bus, system and method | |
CN102014045A (zh) | 一种交换机流量控制方法和交换机 | |
CN104333499A (zh) | 基于m-lvds的装置背板高速总线链路层通信协议 | |
CN101242284B (zh) | 基于spi总线的通信方法和网络设备 | |
CN104092632B (zh) | 一种网络设备 | |
CN101917318A (zh) | 一种高低速总线系统连接装置及高低速总线系统 | |
CN105471688A (zh) | 一种通信节点、基于通信节点的通信链路及其工作方法 | |
CN107659456A (zh) | 一种基于rs485通信的数据冲突传输方法 | |
CN105530205B (zh) | 一种微波设备汇聚的装置和方法 | |
US11928071B2 (en) | System communication technique over PCIe® (peripheral component interconnect express) link | |
CN109586931A (zh) | 组播方法及终端设备 | |
CN109802877A (zh) | 一种基于can总线的通信系统设计 | |
CN108712242B (zh) | 分组设备内提升信令处理能力的系统及方法 | |
WO2012058875A1 (zh) | 一种串行通信的方法和系统 | |
US9661110B2 (en) | System and method for enabling channel access enhancements in existing communication networks | |
CN105323160B (zh) | 报文收发方法及装置、通道单元及通信设备 | |
CN116489113B (zh) | 交换机芯片的端口拓展方法和系统、交换机 | |
CN116455833B (zh) | 一种EtherCAT网络及其链路扩充方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Applicant after: Xinhua three Technology Co., Ltd. Address before: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Applicant before: Huasan Communication Technology Co., Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |