CN104601490B - 网络设备的流控方法和流控装置以及网络设备 - Google Patents

网络设备的流控方法和流控装置以及网络设备 Download PDF

Info

Publication number
CN104601490B
CN104601490B CN201510083894.XA CN201510083894A CN104601490B CN 104601490 B CN104601490 B CN 104601490B CN 201510083894 A CN201510083894 A CN 201510083894A CN 104601490 B CN104601490 B CN 104601490B
Authority
CN
China
Prior art keywords
flow control
data packet
message
sent
memory
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
Application number
CN201510083894.XA
Other languages
English (en)
Other versions
CN104601490A (zh
Inventor
赵志宇
慕长林
张泽
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
New H3C Technologies Co Ltd
Original Assignee
New H3C Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by New H3C Technologies Co Ltd filed Critical New H3C Technologies Co Ltd
Priority to CN201510083894.XA priority Critical patent/CN104601490B/zh
Publication of CN104601490A publication Critical patent/CN104601490A/zh
Application granted granted Critical
Publication of CN104601490B publication Critical patent/CN104601490B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种网络设备的流控方法和装置以及网络设备。基于本发明,接口板的逻辑装置可以将出方向上的数据以太报文的发送完成信息封装在流控原子数据包中上报,流控原子数据包可以通过管理总线转发至主板的逻辑装置,主板的逻辑装置通过对流控原子数据包的解析能够得到所述的发送完成信息、并封装在流控消息中写入主板的内存供主板的CPU即时读取,使主板的CPU能够及时感知出方向上的数据以太报文是否发生拥塞,从而有利于准确实现网络设备出方向上的QOS。而且,本发明既能够避免完成信息的上报影响数据以太报文的传送,又能够实现CPU对数据以太报文的发送和接收的松耦合。

Description

网络设备的流控方法和流控装置以及网络设备
技术领域
本发明涉及网络技术,特别涉及网络设备的流控方法、网络设备的流控装置、以及网络设备。
背景技术
网络设备可以采用以太总线架构,并且,在以太总线架构中,主板的CPU与主板的以太交换芯片之间的以太数据通道、主板的以太交换芯片与接口板的逻辑装置之间的以太数据通道、以及接口板的逻辑装置与接口板的接口芯片之间的接口数据通道可能会存在物理带宽相互不匹配的情况。
因此,网络设备容易在出方向上发生数据报文的拥塞。若主板的CPU无法及时感知前述拥塞及前述拥塞的解除,则难以准确实现网络设备出方向上的QOS(Quality ofService,服务质量)。
发明内容
有鉴于此,本发明的实施例提供了一种网络设备的流控方法、一种网络设备的流控装置、以及网络设备。
在一个实施例中,一种网络设备的流控方法应用于网络设备的接口板的逻辑装置中,并且,所述流控方法包括:
依据发送缓存队列中被送出的数据以太报文,构造包含发送完成信息的流控原子数据包;
将所述流控原子数据包在管理总线优先于其他原子数据包传输。
可选地,所述流控方法进一步在所述流控原子数据包中填充所述接口板的接口板标识、以及在所述出方向上完成发送的数据以太报文对应的逻辑通道标识。
在另一个实施例中,一种网络设备的流控方法应用于网络设备的主板的逻辑装置中,并且,所述流控方法包括:
通过管理总线接收原子数据包;
识别接收到的原子数据包的类型;
若识别出接收到的原子数据包为流控原子数据包,则从所述流控原子数据包中解析得到发送完成信息;
构造包含所述发送完成信息的流控消息;
将所述流控消息写入主板的CPU的内存、并通知所述CPU从所述内存读取。
可选地,所述流控方法以DMA的方式向所述内存写入所述流控消息。
可选地,所述流控方法以中断的方式通知所述CPU。
可选地,所述流控方法进一步依据所述流控原子数据包中的接口板标识和逻辑通道标识,将所述流控消息写入至所述内存中对应的发送完成队列中。
在一个实施例中,一种网络设备的流控装置应用于网络设备的接口板的逻辑装置中,并且,所述流控装置包括:
数据包构造模块,依据发送缓存队列中被送出的数据以太报文,构造包含发送完成信息的流控原子数据包;
数据包上送模块,将所述流控原子数据包在管理总线优先于其他原子数据包传输。
可选地,所述数据包构造模块进一步在所述流控原子数据包中填充所述接口板的接口板标识、以及在所述出方向上完成发送的数据以太报文对应的逻辑通道标识。
在另一个实施例中,一种网络设备的流控装置应用于网络设备的主板的逻辑装置中,并且,所述流控装置包括:
数据包接收模块,通过管理总线接收原子数据包;
数据包分类模块,识别接收到的原子数据包的类型;
数据包解析模块,若识别出接收到的原子数据包为流控原子数据包,则从所述流控原子数据包中解析得到发送完成信息;
消息构造模块,构造包含所述发送完成信息的流控消息;
消息上报模块,将所述流控消息写入主板的CPU的内存、并通知所述CPU从所述内存读取。
可选地,所述消息上报模块以DMA的方式向所述内存写入所述流控消息。
可选地,所述消息上报模块以中断的方式通知所述CPU。
可选地,所述消息上报模块进一步依据所述流控原子数据包中的接口板标识和逻辑通道标识,将所述流控消息写入至所述内存中对应的发送完成队列中。
在一个实施例中,一种网络设备,包括接口板和主板,所述接口板具有第一逻辑装置,所述主板具有CPU、内存、以太交换芯片、以及第二逻辑装置;
所述第一逻辑装置和所述第二逻辑装置通过管理总线连接;
所述第一逻辑装置依据发送缓存队列中被送出的数据以太报文,构造包含发送完成信息的流控原子数据包,以及,将所述流控原子数据包在所述管理总线优先于其他原子数据包传输;
所述第二逻辑装置通过管理总线接收原子数据包、并识别接收到的原子数据包的类型,若识别出接收到的原子数据包为流控原子数据包,则从所述流控原子数据包中解析得到发送完成信息,以及,构造包含所述发送完成信息的流控消息写入所述内存、并通知所述CPU从所述内存读取;
所述CPU在所述发送缓存队列的状态为非满时,将出方向上的数据以太报文送入所述以太数据通道;在所述发送缓存队列的状态为满时,将出方向上的数据以太报文送入QOS队列中缓存,直至所述发送缓存队列的状态变为非满;在从所述第二逻辑装置接收到读取内存的通知时,从所述内存中读取流控消息;以及,依据在出方向上对送入以太数据通道的数据以太报文的统计、以及所述流控消息中的发送完成信息维护所述发送缓存队列的状态。
可选地,所述第一逻辑装置进一步在所述流控原子数据包中填充所述接口板的接口板标识、以及在所述出方向上完成发送的数据以太报文对应的逻辑通道标识;所述第二逻辑装置进一步依据所述流控原子数据包中的接口板标识和逻辑通道标识,将所述流控消息写入至所述内存中对应的发送完成队列中;以及,所述流控方法依据从所述内存中的发送完成队列中读取的所述流控消息,维护对应的所述发送缓存队列的状态。
可选地,所述第二逻辑装置以DMA的方式向所述内存写入所述流控消息。
可选地,所述第二逻辑装置以中断的方式通知所述CPU。
由此可见,接口板的逻辑装置可以将出方向上的数据以太报文的发送完成信息封装在流控原子数据包中上报,流控原子数据包可以通过管理总线转发至主板的逻辑装置,主板的逻辑装置通过对流控原子数据包的解析能够得到所述的发送完成信息、并封装在流控消息中写入主板的内存供主板的CPU即时读取,使主板的CPU能够及时感知出方向上的数据以太报文是否发生拥塞,从而有利于准确实现网络设备出方向上的QOS。而且,发送完成信息的上报不占用以太数据通道,以避免影响数据以太报文的传送;CPU对出方向数据以太报文的发送完成信息的处理与对入方向的数据以太报文的处理相互独立,以实现CPU对数据以太报文的发送和接收的松耦合。
附图说明
图1为一个实施例中的网络设备的示例性结构示意图;
图2为图1中示出的第一逻辑装置的原理图;
图3为图1和图2中示出的流控原子数据包的有效数据段的示意图;
图4为图1中示出的第二逻辑装置的原理图;
图5为图1中示出的流控消息的示意图;
图6为图1中示出的流控消息在内存中的存放方式的示意图;
图7为图1中示出的CPU的原理图;
图8为一个实施例中的网络设备的流控方法的流程示意图;
图9为另一个实施例中的网络设备的流控方法的流程示意图;
图10为又一个实施例中的网络设备的流控方法的流程示意图;
图11为一个实施例中的网络设备的流控装置的结构示意图;
图12为另一个实施例中的网络设备的流控装置的结构示意图;
图13为又一个实施例中的网络设备的流控装置的结构示意图;
图14为如图13所示流控装置的一种实现方式的示意图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明进一步详细说明。
请参见图1,在一个实施例中,网络设备100可以采用以太总线架构,并包括接口板11和主板12。接口板11具有接口芯片111和第一逻辑装置112,并且,主板12具有CPU 121、以太交换芯片122、内存123、以及第二逻辑装置124。
接口芯片111可以为网络设备100提供外部接口,并处理通过外部接口收发的报文。例如,接口芯片111提供的外部接口可以连接(Wide Area Network,广域网),相应地,接口芯片111提供的外部接口可以称为WAN接口。其中,这里所述的WAN接口可以是ADSL(Asymmetric Digital Subscriber Line,非对称数字用户线路)接口和总线、采用TDM(Time Division Multiplexing,时分复用)技术的E1/T1接口和总线、Consle(串口)接口和总线、或POS(Packet over SONET/SDH,SONET/SDH承载包)接口。另外,接口芯片111还通过接口总线131连接第一逻辑装置112。
以太交换芯片122分别与第一逻辑装置112和CPU 121通过以太总线132和133连接。
内存123通过内存总线141连接CPU 121。
第二逻辑装置124通过例如PCI-E(Peripheral Component Interconnect-Express,扩展外设部件互连标准)总线等I/O总线142连接CPU 121。相应地,CPU 121可访问内存123,并且,第二逻辑装置124可以通过CPU 121以DMA(Direct Memory Access,直接内存访问)方式访问内存123。其中,这里所述的DMA方式是指:CPU 121中承载有连接内存总线141、并对应内存123的内存控制器,CPU 121中还承载有连接PCI-E总线142、并对应第二逻辑装置124的PCI-E控制器,当第二逻辑装置124以DMA方式访问内存123时,CPU 121中的PCI-E控制器可以将访问命令传递给内存控制器、以实现对内存123的直接访问。
并且,第二逻辑装置124还通过管理总线130与第一逻辑装置112连接。相应地,第二逻辑装置124与第一逻辑装置112可以通过管理总线130传输控制报文、或管理查询报文等涉及主板12对接口板11的常规性实务管理的报文。管理总线130可以是LVDS(LowVoltage Differential Signaling,低压差分信号)总线,或其他可传输主板12对接口板11的常规性实务管理的报文的总线。
在网络设备100的出方向上,从CPU 121发出的数据以太报文通过以太总线133、以太交换芯片122、以及以太总线132传输至第一逻辑装置112。
在网络设备100的入方向上,第一逻辑装置112发出的数据以太报文通过以太总线132、以太交换芯片122、以及以太总线133传输至CPU 121。
即,以太交换芯片122与第一逻辑装置112和CPU 121之间的以太总线132和133主要承担数据以太报文的传输,因此,以太总线132和133可以被视为以太数据通道,并且,可以认为,第一逻辑装置112与CPU 121之间形成有途经以太交换芯片122的以太数据通道。另外,以太数据通道可以多块接口板复用,并且,接口板可以在逻辑上形成多条逻辑通道,即,以太数据通道可以被逻辑上划分出的多条逻辑通道复用。
请参见图1并同时结合图2,第一逻辑装置112中维护有出方向上的发送缓存队列21、以及入方向上的接收缓存队列22。
在出方向上,来自CPU 121的数据以太报文40缓存在发送缓存队列21中,并且,发送缓存队列21中的数据以太报文40被转换为外部接口报文40’后,通过接口总线131向接口芯片111发出;
在入方向上,来自接口芯片111的外部接口报文40’被转换为数据以太报文40、并缓存在接收缓存队列22中,接收缓存队列22中的数据以太报文40被送入以太数据通道(即,以太总线132)。
另外,当接口板11存在多条逻辑通道时,每个逻辑通道分别对应一个发送缓存队列21和一个接收缓存队列22。
为了使CPU 121能够及时感知数据以太报文40在出方向上的发送是否发生拥塞,第一逻辑装置112还可以依据发送缓存队列21中被送出的数据以太报文40,构造包含发送完成信息的流控报文。
该流控报文以及前述的控制报文、管理查询报文等统一采用原子数据包的形式在管理总线传输,并且,对于一个流控报文,其可以只封装为一个8字节的原子数据包,而不需要像控制报文、管理查询报文等其他报文那样被封装为多个原子数据包。因此,可以认为,第一逻辑装置112还可以依据发送缓存队列21中被送出的数据以太报文,构造包含发送完成信息的流控原子数据包31。
请参见图3,由一个流控报文封装形成的一个8字节的流控原子数据包31可以包括前导码311、报文类型及序号312、有效数据载荷313、载荷校验314、截止标志315。其中,有效数据载荷314中承载了流控报文的如下有效信息:
接口板标识31a,其标识构造该流控原子数据包31的接口板11;
逻辑通道标识31b,其标识封装的流控报文中包含的发送完成信息对应的逻辑通道;
发送完成信息30,其表示对应逻辑通道在出方向上的以太数据报文的发送状况,例如,在上一个流控原子数据包31之后完成发送的以太数据报文的个数;
以及,保留域31c,其可用于对封装的流控报文的扩展。
第一逻辑装置112构造出的流控原子数据包31可以优先于由控制报文、管理查询报文等报文封装形成的其他原子数据包在管理总线130传输。即便控制报文、管理查询报文等报文封装形成的原子数据包可能多于一个,流控原子数据包31也可以打断同一个报文的连续多个原子数据包而优先在管理总线130传输。
即,管理总线130不但承担涉及主板12对接口板11的常规性实务管理的报文传输,而且,还可以进一步承担流控原子数据包31的传输,因此,管理总线130可以被视为管理通道和流控通道。并且,对应任意接口板的任意逻辑通道的流控原子数据包31都可以通过流控通道传输,因此,流控通道也可以被多块接口板、以及逻辑上划分出的多条逻辑通道复用。
请参见图4,当第二逻辑装置124通过管理总线130接收到原子数据包后,需要先对接收到的原子数据包分类,例如,可以依据原子数据包中的报文类型及序号执行所述的分类。
若接收到的原子数据包属于控制报文、或管理查询报文等涉及主板12对接口板11的常规性实务管理的报文的原子数据包35,则第二逻辑装置124可以执行相应的控制操作或管理查询操作、并继续通过管理总线130与第一逻辑装置112交互。
若接收到的原子数据包为流控原子数据包31,则第二逻辑装置124可以从流控原子数据包31中解析得到发送完成信息30、并构造包含发送完成信息30的流控消息32。并且,第二逻辑装置124可以将流控消息32写入(可以采用DMA方式)内存123、并通知(可以采用中断方式)CPU 121从内存123读取。
请参见图5,上述的流控消息32可以为I/O总线消息并包括:
发送完成信息30;
流控有效位32a,其可以被第二逻辑装置124置为有效、以表示该流控消息32当前尚未被CPU 121读取,并在流控消息32被CPU 121读取后被CPU 121置为无效;
保留域32b,其可用于对流控消息32的扩展。
请参见图1并结合图6,内存123中可以设置发送完成队列,第二逻辑装置124可以将流控消息32写入至发送完成队列中。并且,当存在多块接口板和多条逻辑通道时,每块接口板的每个逻辑通道在内存123中分别对应一个发送完成队列,第二逻辑装置124可以依据从流控原子数据包31中解析出的接口板标识和逻辑通道标识,识别出流控消息32对应的接口板和逻辑通道,并将流控消息32写入至与其对应相同接口板的相同逻辑通道的发送完成队列中。例如,对于接口板i的逻辑通道j(i和j均为正整数),第二逻辑装置124可以从发送完成队列的首地址QueHeadAddress_i_j开始依次写入对应逻辑通道的流控消息1~M(M为正整数)。
CPU 121通过读取内存123可以获得流控消息32。例如,对于CPU 121选用单核CPU的情况,第二逻辑装置124可以采用中断方式通知CPU 121,相应地,CPU 121以响应中断的方式从内存123读取流控消息32。再例如,对于CPU 121选用多核CPU的情况,第二逻辑装置124可以不是必须通知CPU 121,而是由CPU 121中的一个指定核以轮询的方式从内存123读取流控消息32。
并且,CPU 121可以依据流控消息32中的发送完成信息感知数据以太报文在出方向上的发送是否发生拥塞。进而,结合流控消息32与其对出方向上送入以太数据通道(即,以太总线133)的数据以太报文的统计,CPU 121可以即时响应数据以太报文在出方向上的拥塞及拥塞解除。
请参见图1并结合图7,CPU 121具有网络报文协议层401、驱动层402、以及位于网络报文协议层401与驱动层402之间的QOS队列403。
网络报文协议层401负责处理数据以太报文40,并能够感知数据以太报文在出方向上的发送是否发生拥塞。
驱动层402负责执行数据以太报文40通过以太数据通道在入方向和出方向上的传输、访问内存123中的流控消息32、维护出方向上送入以太数据通道(即,以太总线133)的数据以太报文40的发送统计结果、以及维护接口板11中的发送缓存队列21的队列状态42并上报给网络报文协议层401。并且,当存在多块接口板和多条逻辑通道时,驱动层402可以依据从内存123中对应的发送完成队列中读取的流控消息32维护对应的发送缓存队列21的队列状态42。
对于出方向,当将数据以太报文40送入以太数据通道(即,以太总线133)后,驱动层402对出方向上送入以太数据通道(即,以太总线133)的数据以太报文40的发送统计结果累加相应的数值。当发送统计结果的数值到达发送缓存队列21的缓存上限时,驱动层402将表示非满状态的队列状态42置为满状态。
并且,驱动层402可以依据流控消息32中的发送完成信息30所表示的已完成发送的数据以太报文40的数量,对出方向上送入以太数据通道的数据以太报文40的发送统计结果减少相应的数值。当发送统计结果的数值低于发送缓存队列21的缓存上限时,驱动层402将表示满状态的队列状态42置为非满状态。
相应地,若驱动层402向网络报文协议层401上报的队列状态42为非满,则网络报文协议层401将出方向上的数据以太报文40下发(QOS队列403中缓存的数据以太报文40优先)至驱动层402,由驱动层402将下发的数据以太报文40送入以太数据通道(即,以太总线133)。若驱动层402向网络报文协议层401上报的队列状态42为满,则网络报文协议层401将出方向上的数据以太报文40送入QOS队列中缓存,直至驱动层402向网络报文协议层401上报的队列状态42变为非满。
如上可见,接口板11的第一逻辑装置112可以将出方向上的数据以太报文的发送完成信息30封装在流控原子数据包31中上报,该流控原子数据包31可以通过管理总线130被转发至主板12的第二逻辑装置124,第二逻辑装置124通过对流控原子数据包31的解析能够得到发送完成信息30、并封装在流控消息32中写入主板12的内存123供主板12的CPU 121即时读取,使主板12的CPU 121能够及时感知出方向上的数据以太报文是否发生拥塞,从而有利于准确实现网络设备出方向上的QOS。
而且,发送完成信息30的上报不占用以太数据通道133,从而能够避免影响数据以太报文的传送;以及,CPU 121对出方向数据以太报文的发送完成信息30的处理与对入方向的数据以太报文的处理相互独立,从而实现CPU 121对数据以太报文的发送和接收的松耦合。
基于上述的原理,以下的实施例中还相应地提供了网络设备的流控方法和装置,下面分别予以详细说明。
请参见图8,在一个实施例中,网络设备的流控方法可以应用于网络设备的接口板的逻辑装置(例如图1中示出的第一逻辑装置112)中,并且,该流控方法可以包括:
S811,依据发送缓存队列中被送出的数据以太报文,构造包含发送完成信息的流控原子数据包;
S812,将构造出的流控原子数据包在管理总线优先于其他原子数据包传输。
其中,对于存在多块接口板以及接口板形成多条逻辑通道的情况,上述的S811还可以进一步在流控原子数据包中填充接口板的接口板标识、以及在出方向上完成发送的数据以太报文对应的逻辑通道标识。
请参见图9,在另一个实施例中,网络设备的流控方法可以应用于网络设备的主板的逻辑装置(例如图1中示出的第二逻辑装置124)中,并且,该流控方法可以包括:
S821,通过管理总线接收原子数据包;
S822,识别接收到的原子数据包的类型;
S823,若识别出接收到的原子数据包为流控原子数据包,则从流控原子数据包中解析得到发送完成信息;
S824,构造包含该发送完成信息的流控消息;
S825,将构造出的流控消息写入主板的CPU的内存。
其中,若822识别出接收到的原子数据包为控制报文或管理查询报文的原子数据包,则结束当前流程,并通过其他流程执行相应的控制操作或管理查询操作。并且,上述的S825可以采用DMA的方式向内存写入流控消息,以及,上述的S825还可以进一步采用中断的方式通知CPU从内存中读取流控消息。并且,对于存在多块接口板以及接口板形成多条逻辑通道的情况,上述的S823可以进一步从流控原子数据包中解析得到接口板标识和逻辑通道标识,相应地,上述的S825可以依据解析得到的接口板标识和逻辑通道标识将流控消息写入至内存中对应的发送完成队列中。
请参见图10,在又一个实施例中,网络设备的流控方法可以应用于网络设备的主板的CPU(例如图1中示出的CPU 121)中,并且,该流控方法可以包括:
S830,判断网络设备的接口板中维护的发送缓存队列的状态;
S831,当该发送缓存队列的状态为非满时,将出方向上的数据以太报文送入以太数据通道;
S832,当发送缓存队列的状态为满时,将出方向上的数据以太报文送入QOS队列中缓存,直至该发送缓存队列的状态变为非满。
S841,当从主板的逻辑装置接收到读取内存的通知时,从主板的内存中读取流控消息;
S842,依据在出方向上对送入以太数据通道的数据以太报文的统计、以及读取到的流控消息中的发送完成信息维护发送缓存队列的状态。
其中,上述的S841可以通过轮询的方式或响应中断的方式从主板的内存中读取流控消息。并且,对于存在多块接口板以及接口板形成多条逻辑通道的情况,上述的S841从对应的发送完成队列中读取的流控消息可以用于S842维护对应的发送缓存队列的状态。
请参见图11,对应如图8所示的流控方法,在一个实施例中对应地提供了一种网络设备的流控装置91,该流控装置91可以应用于网络设备的接口板的逻辑装置(例如图1中示出的第一逻辑装置112)中,并且,该流控装置91可以包括:
数据包构造模块911,依据发送缓存队列中被送出的数据以太报文,构造包含发送完成信息的流控原子数据包;
数据包上报模块912,将构造出的流控原子数据包在管理总线优先于其他原子数据包传输。
其中,对于存在多块接口板以及接口板形成多条逻辑通道的情况,上述的数据包构造模块911还可以进一步在流控原子数据包中填充接口板的接口板标识、以及在出方向上完成发送的数据以太报文对应的逻辑通道标识。
请参见图12,对应如图9所示的流控方法,在另一个实施例中对应地提供了一种网络设备的流控装置92,该流控装置92可以应用于网络设备的主板的逻辑装置(例如图1中示出的第二逻辑装置124)中,并且,该流控装置92可以包括:
数据包接收模块921,通过管理总线接收原子数据包;
数据包分类模块922,识别接收到的原子数据包的类型;
数据包解析模块923,若识别出接收到的原子数据包为流控原子数据包,则从流控原子数据包中解析得到发送完成信息;
消息构造模块924,构造包含该发送完成信息的流控消息;
消息上报模块925,将构造出的流控消息写入主板的CPU的内存。
其中,上述的消息上报模块925可以采用DMA的方式向内存写入流控消息,上述的消息上报模块925还可以进一步采用中断的方式通知CPU从内存读取流控消息。并且,对于存在多块接口板以及接口板形成多条逻辑通道的情况,上述的数据包解析模块923可以进一步从流控原子数据包中解析得到接口板标识和逻辑通道标识,相应地,上述的消息上报模块925可以依据解析得到的接口板标识和逻辑通道标识将流控消息写入至内存中对应的发送完成队列中。
请参见图13,对应如图10所示的流控方法,在又一个实施例中提供了一种网络设备的流控装置93,该流控装置93包括:
发送驱动模块931,当网络设备的接口板中维护的发送缓存队列的状态为非满时,将出方向上的数据以太报文送入以太数据通道;
QOS缓存模块932,当所述发送缓存队列的状态为满时,将出方向上的数据以太报文送入QOS队列中缓存,直至所述发送缓存队列的状态变为非满;
内存读取模块933,当从主板的逻辑装置接收到读取内存的通知时,从所述内存中读取流控消息;
队列维护模块934,依据在出方向上对送入以太数据通道的数据以太报文的统计、以及所述流控消息中的发送完成信息维护所述发送缓存队列的状态。
其中,上述的内存读取模块933可以通过轮询的方式或响应中断的方式从主板的内存中读取流控消息。并且,对于存在多块接口板以及接口板形成多条逻辑通道的情况,上述的内存读取模块933从对应的发送完成队列中读取的流控消息可以用于队列维护模块934维护对应的发送缓存队列的状态。
作为一种可选的方案,上述如图13所示的流控装置93可以通过软硬结合的方式来实现。请参见图14,在包括CPU 931(可以与图1中示出的CPU 121相同)和内存932(可以是图1中示出的内存123、也可以是其他内存)的硬件架构中,该流控装置93可以为存储于内存932中的计算机指令、并可由CPU 931读取来完成如图13所示的模块功能。从而:
当网络设备的接口板中维护的发送缓存队列的状态为非满时,CPU 931将出方向上的数据以太报文送入以太数据通道;
当所述发送缓存队列的状态为满时,CPU 931将出方向上的数据以太报文送入QOS队列中缓存,直至所述发送缓存队列的状态变为非满;
当从主板的逻辑装置接收到读取内存的通知时,CPU 931从内存(例如图1中示出的内存123)中读取流控消息;
以及,CPU 931还依据在出方向上对送入以太数据通道的数据以太报文的统计、以及所述流控消息中的发送完成信息维护所述发送缓存队列的状态。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (16)

1.一种网络设备的流控方法,其特征在于,所述流控方法应用于网络设备的接口板的逻辑装置中,并且,所述流控方法包括:
依据发送缓存队列中被送出的数据以太报文,构造包含发送完成信息的流控原子数据包;
将所述流控原子数据包在管理总线优先于其他原子数据包向网络设备的主板的逻辑装置传输,以供主板的逻辑装置通过对流控原子数据包的解析得到发送完成信息并封装在流控消息中写入主板的内存、以及通知主板的CPU从内存中读取。
2.根据权利要求1所述的流控方法,其特征在于,所述流控方法进一步在所述流控原子数据包中填充所述接口板的接口板标识、以及在网络设备的出方向上完成发送的数据以太报文对应的逻辑通道标识。
3.一种网络设备的流控方法,其特征在于,所述流控方法应用于网络设备的主板的逻辑装置中,并且,所述流控方法包括:
通过管理总线接收原子数据包;
识别接收到的原子数据包的类型;
若识别出接收到的原子数据包为流控原子数据包,则从所述流控原子数据包中解析得到发送完成信息;
构造包含所述发送完成信息的流控消息;
将所述流控消息写入主板的CPU的内存、并通知所述CPU从所述内存读取。
4.根据权利要求3所述的流控方法,其特征在于,所述流控方法以DMA的方式向所述内存写入所述流控消息。
5.根据权利要求3所述的流控方法,其特征在于,所述流控方法以中断的方式通知所述CPU。
6.根据权利要求3所述的流控方法,其特征在于,所述流控方法进一步依据所述流控原子数据包中的接口板标识和逻辑通道标识,将所述流控消息写入至所述内存中对应的发送完成队列中。
7.一种网络设备的流控装置,其特征在于,所述流控装置应用于网络设备的接口板的逻辑装置中,并且,所述流控装置包括:
数据包构造模块,依据发送缓存队列中被送出的数据以太报文,构造包含发送完成信息的流控原子数据包;
数据包上送模块,将所述流控原子数据包在管理总线优先于其他原子数据包向网络设备的主板的逻辑装置传输,以供主板的逻辑装置通过对流控原子数据包的解析得到发送完成信息并封装在流控消息中写入主板的内存、以及通知主板的CPU从内存中读取。
8.根据权利要求7所述的流控装置,其特征在于,所述数据包构造模块进一步在所述流控原子数据包中填充所述接口板的接口板标识、以及在网络设备的出方向上完成发送的数据以太报文对应的逻辑通道标识。
9.一种网络设备的流控装置,其特征在于,所述流控装置应用于网络设备的主板的逻辑装置中,并且,所述流控装置包括:
数据包接收模块,通过管理总线接收原子数据包;
数据包分类模块,识别接收到的原子数据包的类型;
数据包解析模块,若识别出接收到的原子数据包为流控原子数据包,则从所述流控原子数据包中解析得到发送完成信息;
消息构造模块,构造包含所述发送完成信息的流控消息;
消息上报模块,将所述流控消息写入主板的CPU的内存、并通知所述CPU从所述内存读取。
10.根据权利要求9所述的流控装置,其特征在于,所述消息上报模块以DMA的方式向所述内存写入所述流控消息。
11.根据权利要求9所述的流控装置,其特征在于,所述消息上报模块以中断的方式通知所述CPU。
12.根据权利要求9所述的流控装置,其特征在于,所述消息上报模块进一步依据所述流控原子数据包中的接口板标识和逻辑通道标识,将所述流控消息写入至所述内存中对应的发送完成队列中。
13.一种网络设备,其特征在于,包括接口板和主板,所述接口板具有第一逻辑装置,所述主板具有CPU、内存、以太交换芯片、以及第二逻辑装置;
所述第一逻辑装置和所述第二逻辑装置通过管理总线连接;
所述第一逻辑装置依据发送缓存队列中被送出的数据以太报文,构造包含发送完成信息的流控原子数据包,以及,将所述流控原子数据包在所述管理总线优先于其他原子数据包传输;
所述第二逻辑装置通过管理总线接收原子数据包、并识别接收到的原子数据包的类型,若识别出接收到的原子数据包为流控原子数据包,则从所述流控原子数据包中解析得到发送完成信息,以及,构造包含所述发送完成信息的流控消息写入所述内存、并通知所述CPU从所述内存读取;
所述CPU在所述发送缓存队列的状态为非满时,将出方向上的数据以太报文送入所述以太数据通道;在所述发送缓存队列的状态为满时,将出方向上的数据以太报文送入QOS队列中缓存,直至所述发送缓存队列的状态变为非满;在从所述第二逻辑装置接收到读取内存的通知时,从所述内存中读取流控消息;以及,依据在出方向上对送入以太数据通道的数据以太报文的统计、以及所述流控消息中的发送完成信息维护所述发送缓存队列的状态。
14.根据权利要求13所述的网络设备,其特征在于,所述第一逻辑装置进一步在所述流控原子数据包中填充所述接口板的接口板标识、以及在所述出方向上完成发送的数据以太报文对应的逻辑通道标识;所述第二逻辑装置进一步依据所述流控原子数据包中的接口板标识和逻辑通道标识,将所述流控消息写入至所述内存中对应的发送完成队列中;以及,所述流控方法依据从所述内存中的发送完成队列中读取的所述流控消息,维护对应的所述发送缓存队列的状态。
15.根据权利要求13所述的网络设备,其特征在于,所述第二逻辑装置以DMA的方式向所述内存写入所述流控消息。
16.根据权利要求13所述的网络设备,其特征在于,所述第二逻辑装置以中断的方式通知所述CPU。
CN201510083894.XA 2015-02-16 2015-02-16 网络设备的流控方法和流控装置以及网络设备 Active CN104601490B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510083894.XA CN104601490B (zh) 2015-02-16 2015-02-16 网络设备的流控方法和流控装置以及网络设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510083894.XA CN104601490B (zh) 2015-02-16 2015-02-16 网络设备的流控方法和流控装置以及网络设备

Publications (2)

Publication Number Publication Date
CN104601490A CN104601490A (zh) 2015-05-06
CN104601490B true CN104601490B (zh) 2018-10-09

Family

ID=53127007

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510083894.XA Active CN104601490B (zh) 2015-02-16 2015-02-16 网络设备的流控方法和流控装置以及网络设备

Country Status (1)

Country Link
CN (1) CN104601490B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106487721B (zh) * 2015-08-25 2019-10-08 新华三技术有限公司 网络设备和用于网络设备中的报文转发方法
US10817528B2 (en) * 2015-12-15 2020-10-27 Futurewei Technologies, Inc. System and method for data warehouse engine
CN105893323A (zh) * 2016-05-23 2016-08-24 华为技术有限公司 一种读数据的方法及设备
CN112887059B (zh) * 2021-01-26 2023-04-07 芯河半导体科技(无锡)有限公司 一种扩展mac帧格式带内传输流控数据的方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6167029A (en) * 1998-10-13 2000-12-26 Xaqti Corporation System and method for integrated data flow control
CN1494003A (zh) * 2002-10-30 2004-05-05 华为技术有限公司 一种实现接口转换的装置及方法
CN101047615A (zh) * 2006-05-14 2007-10-03 华为技术有限公司 一种以太网数据流量控制方法
CN101119379A (zh) * 2007-09-07 2008-02-06 中兴通讯股份有限公司 实现网络处理器与交换芯片互相通信的方法及装置
CN101188560A (zh) * 2007-12-18 2008-05-28 杭州华三通信技术有限公司 实现转发能力动态检测的方法和装置
CN103546386A (zh) * 2013-10-24 2014-01-29 迈普通信技术股份有限公司 路由器中数据报文发送的流控方法及***

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6167029A (en) * 1998-10-13 2000-12-26 Xaqti Corporation System and method for integrated data flow control
CN1494003A (zh) * 2002-10-30 2004-05-05 华为技术有限公司 一种实现接口转换的装置及方法
CN101047615A (zh) * 2006-05-14 2007-10-03 华为技术有限公司 一种以太网数据流量控制方法
CN101119379A (zh) * 2007-09-07 2008-02-06 中兴通讯股份有限公司 实现网络处理器与交换芯片互相通信的方法及装置
CN101188560A (zh) * 2007-12-18 2008-05-28 杭州华三通信技术有限公司 实现转发能力动态检测的方法和装置
CN103546386A (zh) * 2013-10-24 2014-01-29 迈普通信技术股份有限公司 路由器中数据报文发送的流控方法及***

Also Published As

Publication number Publication date
CN104601490A (zh) 2015-05-06

Similar Documents

Publication Publication Date Title
CN105991471B (zh) 网络设备的流控方法和流控装置以及网络设备
KR101502610B1 (ko) 직렬화기/역직렬화기 레인들을 이용한 50 Gb/s 이더넷
DE60213616T2 (de) Eine allgemeine eingabe-/ausgabearchitektur, protokoll und entsprechende verfahren zur umsetzung der flusssteuerung
CN104601490B (zh) 网络设备的流控方法和流控装置以及网络设备
TWI538453B (zh) 網路介面控制器、積體電路微晶片、系統及方法
US7296093B1 (en) Network processor interface system
CN101536413B (zh) 队列感知的流控制
CN106411740B (zh) 基于以太网控制器的网络端口扩展方法
CN107203484A (zh) 一种基于FPGA的PCIe与SRIO总线桥接***
WO2012065404A1 (zh) 一种实现单板间通讯的方法及装置
CN104104616B (zh) 数据调度和交换的方法、装置及***
CN101867511B (zh) 流控帧发送方法、相关设备及***
CN108183917B (zh) 基于软件定义网络的DDoS攻击跨层协同检测方法
CN105656708A (zh) 单板测试方法及装置
TWI411264B (zh) 非阻塞式網路系統及其封包仲裁方法
JP2004518381A (ja) モジュラおよびスケーラブルスイッチならびに高速イーサネット(r)データフレームを分配するための方法
WO2011074052A1 (ja) 通信装置、統計情報収集制御装置および統計情報収集制御方法
WO2018024173A1 (zh) 报文处理方法及路由器
CN102984082A (zh) 一种网络服务质量控制方法及装置
CN102571933A (zh) 可靠消息传输方法
GB2401518A (en) Efficient arbitration using credit based flow control
JP5687959B2 (ja) I/oデバイス共有方法、および装置
CN103995789B (zh) 一种直接内存存取的实现***及方法
CN104518989B (zh) 用于数据传输网络的网络元件的交换机装置
WO2013078873A1 (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
CB02 Change of applicant information
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.

GR01 Patent grant
GR01 Patent grant