CN103516622A - 网络交换机中的灵活队列 - Google Patents

网络交换机中的灵活队列 Download PDF

Info

Publication number
CN103516622A
CN103516622A CN201310204516.3A CN201310204516A CN103516622A CN 103516622 A CN103516622 A CN 103516622A CN 201310204516 A CN201310204516 A CN 201310204516A CN 103516622 A CN103516622 A CN 103516622A
Authority
CN
China
Prior art keywords
queue
port
network
grouping
configurable
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
Application number
CN201310204516.3A
Other languages
English (en)
Other versions
CN103516622B (zh
Inventor
M·沙米斯
Y·纳丘
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.)
Kaiwei International Co
Marvell International Ltd
Marvell Asia Pte Ltd
Original Assignee
Mawier International Trade 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 Mawier International Trade Co Ltd filed Critical Mawier International Trade Co Ltd
Publication of CN103516622A publication Critical patent/CN103516622A/zh
Application granted granted Critical
Publication of CN103516622B publication Critical patent/CN103516622B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/58Changing or combining different scheduling modes, e.g. multimode scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3036Shared queuing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/103Packet switching elements characterised by the switching fabric construction using a shared central buffer; using a shared memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及一种网络交换机中的灵活队列。在用于接收并转发网络上的数据分组的装置中,一种网络设备包括用于耦合到所述网络并且用于将分组发送到布置在网络中或耦合到网络的设备的多个端口。被配置为处理经由网络接收的分组的至少一个处理器通过将所处理的分组选择性地转发到所述端口中的一个或多个来处理分组。多个队列被限定在存储器中,每个队列被配置为存储将要由所述多个端口中的端口发送的分组。队列管理器被配置为将多个队列的子集选择性地分配到多个端口的子集。

Description

网络交换机中的灵活队列
相关申请的交叉引用
本申请要求2012年5月24日提交的名称为“Flexible Queues”的美国临时申请第61/651,227号和2013年5月20日提交的名称同样为“Flexible Queues”的美国临时申请第61/825,182号的优先权,其全部公开内容在此以整体和为了全部目的通过引用结合于此。
背景技术
这里提供的背景描述是为了一般地呈现本说明书的内容的目的。当前名义的发明人的工作在本背景部分中所描述到的程度,以及在提交时可能不是现有技术的本说明书的各方面,都未明确地或隐含地认为是相对于本说明书的现有技术。
网络设备诸如网络交换机、路由器、边缘设备等常常采用存储和转发架构,其中,所接收的分组在该网络设备中的存储器中进行排队——例如但不限于,用于调度——用于从该网络设备随后传输。这种网络设备典型地通过将对应于不同用户的分组或具有不同优先级的分组存储于分离的队列中并独立地控制存储于这些队列中的每个队列的分组的传输来执行业务“整形”。随着增长的用户数目和增长的提供给用户的服务数目,这种网络设备需要例如支持队列到交换端口的灵活供应和分配。
发明内容
在一个实施方式中,一种网络设备包括多个端口,用于耦合到网络并且用于将分组发送到布置在网络中或耦合到所述网络的设备。所述网络设备还包括被配置为处理经由所述网络接收的分组的至少一个处理器,所述处理包括将所处理的分组选择性地转发到所述端口中的一个或多个端口。所述网络设备进一步包括在存储器中限定的多个队列。所述多个队列被配置为存储要由所述多个端口中的端口发送的分组。所述网络设备中的队列管理器被配置为将所述多个队列的子集选择性地分配到所述多个端口的子集。
在另一实施方式中,一种网络设备包括被配置为(i)将所述网络设备耦合到网络以及(ii)将分组发送到布置在网络中或耦合到所述网络的设备的多个端口。所述设备还包括多个端口配置简档。每个端口配置简档对应于所述多个端口中的一个端口并且指示去往所述端口的分组业务的特征或耦合到所述端口的设备的特征。而且,所述网络设备包括被配置为处理从所述网络接收的分组的至少一个处理器。所述处理包括将所处理的分组选择性地转发到所述端口中的一个或多个端口。多个队列在所述网络设备的存储器中限定。所述多个队列被配置为存储要由所述多个端口中的端口发送的分组。所述网络设备还包括对所述端口配置简档进行响应并且被布置为根据对应于所述端口的所述端口配置简档将所述多个队列中的一个或多个可配置地分配到所述多个端口中的每一个的队列管理器。
在又一实施方式中,一种网络设备包括多个端口,其被配置为(i)耦合到网络,(ii)经由所述网络接收分组,以及(iii)经由所述网络发送分组。所述网络设备包括被配置为处理经由所述网络接收的分组的至少一个处理器。所述处理包括将所接收的分组选择性地转发到所述端口中的一个或多个,以用于经由所述网络传输。多个队列限定在所述网络设备的存储器中。所述多个队列被配置为存储要经由所述网络发送的分组。所述网络设备进一步包括被配置为(i)拦截从位于网络中的或耦合到所述网络的下游设备发送到位于网络中的或耦合到所述网络的上游设备的拥塞通知,以及(ii)通过(a)将一个或多个附加的队列分配到端口或(b)修改队列的队列长度,根据所拦截的拥塞通知缓解拥塞的队列管理器。
在再一实施方式中,一种配置网络设备的方法包括:配置多个端口以将网络分组发送到布置在网络中的或耦合到所述网络的设备,所述端口连接到或将要连接到的所述网络,以及配置至少一个处理器以处理经由所述网络接收的分组,所述处理包括将所处理的分组选择性地转发到所述端口中的一个或多个。所述方法还包括:在存储器中限定多个队列,配置所述多个队列以存储要发送的分组,以及配置队列管理器以将所述多个队列的子集选择性地分配到所述多个端口的子集。
在另一实施方式中,一种操作网络设备的方法包括:在所述网络交换机的端口处接收分组,以及在转发引擎中确定所接收的分组中的每个应当被转发到的一个或多个端口。所述方法还包括至少部分地根据所述分组应当被转发到的所述一个或多个端口的对应确定在队列中对每个分组进行排队。而且,所述方法包括:从可用队列的池中选择队列子集以与端口关联,以及将所选择的队列子集与所述端口关联。
在又一实施方式中,一种操作具有耦合到网络的多个端口的网络设备的方法包括:处理从所述网络接收的分组以将所接收的分组选择性地转发到所述端口中的一个或多个以用于传输,以及将所接收的分组存储在多个队列中,所述队列限定在存储器中并且被配置为存储要经由所述网络发送的分组。所述方法包括:拦截从布置在网络中或耦合到所述网络的下游设备发送到布置在网络中或耦合到所述网络的上游设备的拥塞通知,以及在队列管理器中,根据所拦截的拥塞通知,执行队列修改动作,其包括(a)将一个或多个另外的队列分配到端口或(b)修改队列的队列长度。
附图简要说明
图1是网络交换机的实施方式的框图,该网络交换机被配置为通过实施队列管理器而有效地管理通过网络设备的业务;
图2是诸如图1中描述的网络交换机的网络交换机中的队列管理器的实施方式的框图;
图3是示出在队列管理器中实施的调度器的操作的各方面的示意图;
图4A示出根据本说明书配置的网络交换机中的队列和端口的第一配置;
图4B示出根据本说明书配置的网络交换机中的队列和端口的第二配置;
图4C示出根据本说明书配置的网络交换机中的队列和端口的第三配置;
图4D示出根据本说明书配置的网络交换机中的队列和端口的第四配置;
图5是示出在一个实施方式中由队列管理器实施的动态业务整形的各方面的框图;
图6是根据一个实施方式的用于在网络交换机中对分组进行排队的方法的流程图;
图7是根据一个实施方式的操作网络交换机的方法的流程图;
图8是根据一个实施方式的操作网络交换机的第二种方法的流程图。
具体实施方式
在以上所描述的实施方式中,网络交换机从上游设备接收分组并且向下游设备转发分组。根据分组中所包括的信息类型和/或根据分组所实施的协议转发分组。根据分组的类型和/或协议、和/或根据分组的优先级将分组排队以用于向下游设备传输,使得在发送与对时间高度敏感的数据不相关的分组之前发送与实时或近实时的通信相关的分组。将分组排队和/或确定分组的优先级,以便对特定端口、下游设备、网络等等上的网络拥塞进行限制。网络交换机包括除其他部件以外的队列管理器,该队列管理器可配置地将可用队列分配给和/或耦合到网络交换机的端口。
本文所描述的方法和装置促进与网络交换机的每个端口(或端口组)相关联并且耦合的队列的数目的增加和/或减少。附加的灵活性继而促进诸如题为“Extended Priority for Ethernet Packets”的第13/894,952号美国专利申请中所描述的扩展优先级方案、以及差分服务代码点(DSCP)架构和其他排队策略的实现。例如,在现有网络交换机一般每一端口支持最多八个队列的情况下,现在所描述的方法和装置每一端口能够提供多于八个队列。在实施方式中,例如网络交换机能够被配置为经由队列管理器为每一端口分配64个(或任何其他可用队列的数目)队列。在此类实施方式中,对于每个端口,网络上的64个服务质量(QoS)配置简档中的每个配置简档能够被直接映射到特定队列。作为另一示例,本文所描述的队列管理器的实现允许网络交换机支持(或更好地支持)例如具有八个租户配置简档且每个租户配置简档拥有八个队列的多租户环境。
在实施方式中,队列管理器在对设备进行初始配置之后例如根据可用队列的数目和交换机中的已激活端口的数目,可配置地将可用队列耦合到若干端口,并且之后被分配给每个端口的队列在该设备的使用期内保持固定。在另外的实施方式中,队列管理器根据网络交换机操作期间的一种或多种状况,可配置地将可用队列分配给和/或耦合到网络交换机的端口,并且例如根据业务网络的业务拥塞状况可配置地将可用队列分配并且耦合到网络交换机。在另外的实施方式中,队列管理器根据配置例程将可用队列分配并且耦合到网络交换机,该配置例程例如通过网络管理员促进网络交换器的配置,该网络管理员配置网络交换机以例如根据与每个端口相关联的业务类型将可用队列分配给端口。以下将描述这些或其他实施方式的细节。
图1是网络交换器100的一个实施方式的框图,该网络交换器100被配置为通过实现队列管理器来有效管理经过网络设备的业务。虽然本文将其称为网络交换机,但在各种实施方式中网络交换机100是交换机、服务器或其他被配置用于对分组进行转发、交换或者路由的其他网络设备。网络交换机100通常连接到网络并且对分组进行处理以用于转发、交换或者路由到其他网络设备。根据一个实施方式,网络交换机100被配置为支持多个用户并且管理从网络交换机100出去的业务,使得多个用户有效地共享总带宽,同时有效利用网络设备100的资源。为了这些目的,在各种实施方式中,网络交换机100被配置为维护多个用户外出队列,用于在网络交换机100的出口(例如视频点播业务、互联网协议电话(VoIP)业务、控制业务、游戏业务等)处使分组流(在此也被称为“业务流”)成形(例如有意地减慢或延迟)。
网络交换机100包括耦合到诸如进入端口(在此也称为接收(RX)端口)和外出端口106(在此也称为发送(TX)端口)之类的多个端口的分组处理器102。通常分组处理器102被配置为对经由进入端口104接收的分组进行处理,确定应当经由哪些相应外出端口来发送该分组,以及经由所确定的外出端口106发送该分组。在至少某些实施方式中,分组处理器102被配置为在进入端口104处接收分组,将分组存储在存储器中,在分组被存储在存储器的同时执行对分组的处理,确定应当经由其来发送该分组的一个或多个外出端口106,以及在做出转发决定后从存储器取回该分组并且经由一个或多个外出端口106发送该分组。分组处理器102包括进入处理单元108,该进入处理单元108一般对经由端口104进入的分组执行初始处理。在实施方式中,进入处理单元108针对分组生成分组描述符,并且该分组描述符而不是分组本身随后由分组处理器102处理。在一个实施方式中,分组描述符包括来自分组的一些信息,诸如分组的某些或所有报头信息。在某些实施方式中,分组描述符还包括诸如关于分组在存储器中所存储的位置的指示符之类的其他信息。出于易于解释的目的,术语“分组”在下文中被用于指代分组本身或者与分组相关联的分组描述符。
在一个实施方式中,进入处理单元108(以及外出处理单元(未示出))均包括被配置为对由网络交换机100接收的分组进行处理的一个或多个处理单元(在图1中不可见)。在各种实施方式中,进入处理单元108内的处理单元包括一个或多个隧道终止接口(TTI)分类单元、进入策略单元、电桥引擎、进入策略器单元等等,并且外出处理器单元内的处理单元包括一个或多个外出过滤单元、层2(和/或层3)复制单元、业务成形单元、调度单元、外出策略单元、外出策略器单元等等。在一个实施方式中,进入处理器108的处理单元是在进入管线内以串联配置布置的处理引擎,并且外出处理单元的处理单元是在外出管线内以串联配置布置的处理引擎(未示出)。可替换地,相应处理单元对应于可编程处理单元的管线(例如限定网络(或分组处理器)的数据流管线)中所执行的代码部分,或者是一个或多个软件驱动分组和/或网络处理器的功能性程序模块。因此,要注意的是在此所描述的原理同样适用于除所描述的交换机处理器之外的适当的交换机处理器架构,并且该交换机架构不应解释为限于任何特定架构设计。
在实施方式中,进入处理器108包括分组分类器(未示出),该分类器将每个接收到的分组基于与该分组相关联或为该分组确定的一个或多个参数而分类,并且将该分组分配到特定业务类别和/或特定数据流。在一个实施方式中,不同的数据流或不同的业务类别与例如不同的分组类型相关联。在某些实施方式中,例如为不同用户和/或用户所使用的不同服务(例如不同应用)限定不同的数据流。在一个实施方式中,然后网络交换机100独立地管理数据流,例如用于确保向用户提供的服务(例如实时服务、宽带供应服务、QoS服务等等)符合服务供应商与其客户之间的服务水平协议(SLA),并且用于总体上有效地利用网络设备100的总带宽。例如,在一个实施方式中,网络交换机100例如基于数据流所对应的服务而将不同的优先程度分配给不同的数据流,并且独立管理数据流以利用比低优先级业务短的延迟发送高优先级业务。
在某些实施方式中,优先级信息被用于实现在网络交换机100中的外出处理(例如外出业务管理)期间的服务质量(QoS)。在一个实施方式中,向分组或该分组为其一部分的流分配不同的优先级,以例如在应用、延迟敏感度和/或QoS产品之间进行区分。例如,在一个实施方式中,网络操作员保证针对客户的应用为客户提供特定量的带宽,并且进一步同意基于业务类型供应某种服务质量。为了支持差异化的服务,分组处理器102为每个数据分组维护诸如优先级、业务类别等等的一个或多个属性。在一个实施方式中,这些值在接收到分组时进行设置并且有时随分组经过各种处理阶段而被更改。在某些实施方式中,业务类别、优先级和/或各种其他分组属性被包括作为由进入处理单元108的各种硬件或软件模块(未示出)分配给分组的QoS配置简档的一部分。分组处理器102维护在进入(RX)端口104(例如10、11、12、...、1千)处接收的每个分组的属性并且使用此信息用于在对分组进行外出处理期间管理业务从网络交换机100的外出,从而例如在外出(TX)端口106(例如E0、E1、E2、...、Em)处对分组的传输进行调度。虽然图1描绘了六个进入端口104和六个外出端口106,但是在其他实施方式中网络交换机100包括不同数目的进入端口104(例如1,2、3、5、6个等)、不同数目的外出端口106(例如1,2、3、5、6个等),并且进入端口104的数目不同于外出端口106的数目。另外在某些实施方式中,一个或多个端口中的每个既充当进入端口也充当外出端口。要注意的是,鉴于本文的教导和公开,所示的配置仅出于说明目的,并且在本发明范围内许多可替换配置是可能的。
分组处理器102还包括将进入端口104和外出端口106耦合在一起的转发引擎110。通常,转发引擎110从进入处理单元108接收分组,确定与每个分组目的地对应的外出端口106,并且向适当外出端口106转发每个分组。在某些实施方式中,转发引擎110对该分组的报头中的数据进行分析以确定应当经由哪个或哪些端口106发送该分组。例如,转发引擎110对该分组中的一个或多个目的地址(单播、组播或广播)、虚拟局域网(VLAN)标签等进行分析。转发引擎110包括存储不同目的地址(例如媒体访问控制(MAC)地址、互联网协议(IP)地址、VLAN、组播地址等等)的转发信息的转发数据库(未示出)。在一个实施方式中,转发引擎110包括三态内容可寻址存储器(TCAM)引擎(未示出)。
转发引擎110对分组进行处理,基于来源和目的地信息、分组的类型和/或与分组相关联的协议和/或分组中所包括的数据来确定例如应当经由网络交换机100的哪个端口106发送该分组。在某些实施方式中,转发引擎110还设置分组的优先级,允许根据优先级将分组在与将经由其发送该分组的端口106相关联的多个队列中的相应一个队列中列队(即存储在队列中)。在一个实施方式中,转发引擎110(例如TCAM策略控制逻辑(PCL)为分组指定特定队列,而不是指定端口和/或优先级。例如,TCAM PCL指定将与特定业务流相关联的所有分组在相应队列中列队。无论如何,虽然图1描述了转发引擎110的一个实施方式,但是图1不旨在是限定性的。在各种实施方式中,转发引擎110是进入处理管线的一部分、如图1所描绘的单独的单元、或者在处理单元中用于处理网络分组而执行的软件模块。
在实施方式中,队列管理器112控制网络交换机100的排队操作,包括将从转发引擎110接收的分组列队。在实施方式中,队列管理器112设置每一端口的队列数、设置单独队列的优先级和/或将队列与(例如用于组播分组的)端口组相关联。在实施方式中,队列管理器112是可配置的硬件元件,其可操作以将任意数目的队列(上至可用的队列的数目)与任意一个或多个特定端口相关联。在实施方式中,队列管理器112可在设备制造的时候配置。在另外的实施方式中,队列管理器112可在操作期间动态配置,以根据目前的操作状况(例如诸如网络拥塞之类的网络状况)将队列与端口相关联。在另外的实施方式中,队列管理器112可配置为根据与每个端口对应的可配置端口配置简档将队列与端口相关联。无论如何,虽然图1描绘了队列管理器112的一个实施方式,但是图1不旨在为限定性的。在各种实施方式中,队列管理器112是外出处理管线的一部分、如图1所示的单独单元、或软件驱动的分组处理器或网络处理器中的代码的一部分,所述软件驱动的分组处理器或网络处理器例如具有数据流管线架构或者包括多个被配置为对网络分组执行分组处理操作的软件驱动的分组可编程处理单元。
图2是描绘诸如图1所描绘的示例性队列管理器112的框图。队列管理器112包括队列处理器114和队列118的公共池116(也在此被称为“队列池”)。在一个实施方式中,队列池116是专用存储器设备,其被分段成预先设定的数目的队列118。通常,队列池116包括数目为N的队列118,N等于、大于或小于外出端口106的数目M。在一个实施方式中,队列池1116包括数目八倍于端口106数目(即N=8M)的队列118。无论如何,虽然队列池116包括数目为N的队列118,但是在实施方式中不是所有的队列118都被分配(或甚至是可分配的)给端口106。即,在实施方式中,队列池116中的队列118是已分配的或未分配的队列118,并且任意特定队列118的状态在网络交换机110操作期间随其已分配或未分配而改变。
同时,队列处理器114将从转发引擎110接收的分组列队。在实施方式中,队列处理器114至少部分地根据与分组目的地相关联的端口而将分组列队。队列处理器114例如通过读取分组或分组描述符中的目的端口字段而确定与该分组的目的地相关联的端口。在确定将最终经由其从网络交换器100发送该分组的外出端口106之后,队列处理器114将该分组列队(即将该分组放置到队列池116中的一个队列118中)。在实施方式中,队列处理器114根据端口-队列表120将分组列队。端口-队列表120是确切限定哪些队列118与特定端口相对应的可配置的表。例如在一个实施方式中,外出端口106已分配给它不同优先级的八个(8个)队列。在某些实施方式中,端口-队列表120限定被分配到特定外出端口106或与特定外出端口106相关联的队列118的子集。
在实施方式中,队列处理器114还根据队列的优先级将分组列队。即,对于将具有不同优先级的多个队列118与其(在端口-队列表120中)相关联的端口106,队列处理器114根据每个分组的优先级将分组列队,从而将每个分组列队于具有相应优先级的队列118中。
在某些实施方式中,队列处理器114根据可配置的队列优先级表122确定哪些队列118与特定的优先级对应。在某些实施方式中,在网络交换机操作之前配置队列优先级表122,而在其他实施方式中在网络交换机100操作期间配置队列优先级表122。例如,在于网络交换机操作之前配置队列优先级表122的实施方式中,对与特定端口106相关联的队列118中的每个队列被分配有相应的优先级(在队列优先级表122中有所反映),并且队列处理器114通过参照端口-队列表120和队列优先级表122将分组根据与每个分组相关联的端口和优先级列队在队列118中。在实施方式中,网络交换机100被配置作为例如具有较少数目的有效端口(和不同的价格点)简化功能的设备,而无需设计和/或制造另外的设备。在实施方式中,网络交换机100配置有较少数目的有效端口,以通过允许销售具有一个或多个异常端口或与有缺陷的串行器-解串器块耦合的一个或多个端口的设备而增加收益。作为另一示例,在于网络交换机100操作期间配置队列优先级表122的实施方式中,队列处理器114(或另一处理器)在另外的队列118变得与特定端口106相关联时修改队列优先级表122,从而将优先级分配给队列118并且相应地修改队列优先级表122。因此,队列处理器114通过参照端口-队列表120和队列优先级表122而将分组根据与每个分组相关联的端口和优先级来列队。
在实施方式中,转发引擎110为向队列处理器114转发的某些分组指定队列池116中的特定的一个或多个队列118,队列处理器114应当将分组列队在该一个或多个队列118中(“直接排队”)。在对由转发引擎110为其指定一个特定队列18或一组队列118的分组进行处理时,队列处理器114将分组相应地列队,而不进行任何进一步的分析或处理。
调度模块124,其从队列118取回分组并且向端口106转发该分组。调度器124在某些实施方式中按严格优先级为队列118服务,和/或者在其他实施方式中按加权循环(WRR)优先级为队列118服务。调度器124被设计或被配置为支持以下情况,其中与特定端口106相关联的队列118并非是顺序的。例如,考虑将八个队列118分配给四个端口106中的每一个的情况。即,将队列0-7分配给端口0、将队列8-15分配给端口1、将队列16-23分配给端口2,并且将队列24-31分配给端口3。调度器124被设计或被配置为使得如果在网络交换机100操作期间队列处理器114向端口0分配一额外队列(队列32),则调度器124仍将正常运作。作为另一示例,考虑如下情况:网络交换机100预先配置有被分配给四个端口106中的每一个的八个队列118,但是例如由于一个或多个队列118是有缺陷的(例如由于设备是有缺陷的)并且不能够使用,因此被分配给每个端口106的队列118并非是顺序的。在此情况中,尽管例如端口0被分配有队列0-4和6-8,调度器124也必须能够正常运作。在一个实施方式中,使用队列链表实现来设计调度器124,使得最高优先级的队列118链接到或者指向具有次最高优先级的队列118等。
调度器124根据队列优先级表122为每个队列118服务,并且根据队列-端口表126和/或队列-端口组表128向端口106转发来自队列118的分组。简言之,队列-端口表126是可配置的表,其限定哪个端口与每个队列相关联。即,对于每个队列118,队列-端口表126指定列队的分组要经由其发送的端口118。
在实施方式中,队列管理器112被配置为除了处理单播和广播分组之外,还对组播分组进行处理。在队列管理器112对组播分组进行处理的实施方式中,队列处理器114识别被标记作为组播的传入分组,并且将每个组播分组列队在队列118中的多个队列中,使得针对该组播分组将经由其进行组播的端口106中的每个端口,将该组播分组列队在一个队列118中。然而在其他实施方式中,队列处理器114将组播分组列队到不与一个特定端口106相关联的队列118中。不与特定端口106相关联的队列118在此被称为“虚拟队列”。在实施方式中,代替与端口106中的特定一个相关联,虚拟队列与一组队列(例如组播组)相关联。队列-端口组表128是可配置的表,其限定端口106的哪个组播组与特定虚拟队列相关联。在这样的实施方式中,队列处理器114(或另一处理器)配置端口-端口组表128以将一组端口106与特定队列118相关联。在某些实施方式中,队列处理器114(或其他处理器)还动态地对队列118中的一个队列进行分配和配置以作为虚拟队列。
无论如何,调度器124根据表122、126和/或128将分组从队列118引导到端口106。图3是示出由调度器124提供的连接的示意图。图3并非旨在表示调度器的全部功能,并且不旨在作为该连接的限制性表示。相反,图3仅仅旨在示出该调度器根据表122、126和128在任一队列118与任一端口106之间提供连接。
如上所述,在一些实施方式中,在制造和/或出售的时候,网络交换机100和特别是队列管理器112被配置为提供静态配置,其促进具有相同设计但是不同数目的启用的端口104和106和/或不同数目的队列118和/或分配给每个端口106不同数目的队列118的设备的出售。图4A-4D示出单个网络交换机设备130的示例性静态配置的部分框图。所示出的网络交换机设备130被制造有128个端口和1024个队列。在第一示例性配置中,如图4A所示,全部的128个端口被启用并且每个端口被分配有八个队列。在第二示例性配置中,如图4B所示,只有一半的端口——64个端口——被启用。因为全部的队列仍然可用,在该示例中每个端口被分配有16个队列。图4C示出其中只有32个端口被启用并且每个端口被分配有32个序列的另一个示例性配置,而图4D示出其中只有16个端口被启用并且每个端口被分配有64个队列的配置。当然,应注意的是,不要求每个启用的端口具有相同数目的队列(例如,一个端口可被8个队列而另一个端口被分配32个队列),不要求这些队列必须全部被启用(例如,16个启用的端口中的每个端口可被分配共计1024个队列中的16个队列),并且不要求启用和/或分配的端口和/或队列的数目是可用的端口或队列的总数的因数(例如,128个端口中的20个可被启用并且分配给每个端口20个队列)。
在实施方式中,队列管理器112被(例如,配置网络交换机100的网络管理员)配置为根据与每个端口106关联的端口配置简档从队列池116中动态分配队列118。例如,第一端口可被配置为与“终端站”端口配置简档关联,第二端口可被配置为与“VoIP”端口配置简档关联,第三端口可被配置为与“存储”端口配置简档关联,并且第四端口可被配置为与“交换单元”端口配置简档关联。例如,出于关于与应用关联的附加设备的数目和/或特定应用的带宽的原因,不同应用要求不同数目的端口。当然,这些端口配置简档的具体示例仅仅意图作为非限制性示例。应当理解的是,可配置任何数目的不同端口配置简档并且多个端口可与这些配置简档中的任一个关联。但是在一个示例中,网络交换机100的多个端口被耦合到终端站,并且因此耦合到终端站的每个端口与“终端站”端口配置简档关联。在这种实施方式中,每个端口配置简档限定要分配到与该端口配置简档关联的端口106的队列118的数目。例如,返回上面的示例,队列管理器112将8个队列分配到与“终端站”端口配置简档关联的端口或与“存储”配置简档关联的端口,而该队列管理器仅仅将单个队列分配到与“VoIP”配置简档管理的端口并且将最大数目的队列分配到与“交换单元”端口配置简档关联的端口。
在实施方式中,队列管理器112被另外地或可替代地配置为支持多租户。在一个这种实施方式中,队列管理器112支持多租户,因为与网络交换机100的端口106关联的端口配置简档指示该端口与下游设备上的多个租户关联。在一个实施方式中,该端口配置简档还指示每个租户相同数目的队列(即,全部的租户每个应当接收十二个队列),并且在另一实施方式中为每个租户单独地指示队列的数目(即,第一租户四个队列,第二租户八个队列,第三租户八个队列等)。队列管理器112在这种实施方式中操作来针对每个租户将队列118与端口106关联。例如,在实施方式中,其中端口106与8个租户关联,队列管理器112将八个队列分配到每个租户(或所期望和/或可用的任何其他数目的队列)。
在实施方式中,包括队列管理器112的网络交换机100(图1)可操作以用作根据IEEE802.1Qau协议的拥塞反应点。图5是描述用作根据IEEE802.1Q的拥塞反应点的网络交换机150的框图。网络交换机150耦合到用作分组数据的源的上游设备152和从网络交换机150接收数据的下游设备154。在实施方式中,下游设备154耦合到目的设备156。注意,有时下游设备154会经历拥塞并且向上游发送拥塞通知以通知上游(源)设备152拥塞。在各实施方式中,如果上游设备152不能支持根据IEEE802.1Qau协议的量化拥塞通知(QCN)的使用,则网络交换机150用作反应点来执行业务整形。
仍然参照图5,上游设备152经由网络交换机150和下游设备154将数据分组流158(例如,与存储区域网络关联)发送到目的设备156(例如,存储设备)。在实施方式中,一旦检测到通塞,下游设备154便将拥塞通知160(例如,CNtag或QCN通知)发送到上游设备152。在可替代的实施方式中,目的设备156检测拥塞并且将拥塞通知160发送到上游设备。如果上游设备152并不支持根据IEEE802.1Qau的业务整形,那么在网络交换机150中流逻辑162处拦截(检测)到拥塞通知160之后,网络交换机150还在流逻辑162中检测到上游设备152并不执行业务整形(例如,因为流158以相同速率持续)。流逻辑162发送消息至队列处理器114(参见图3)以针对与该通塞通知关联的业务流从队列池116分配队列164,并且来自上游设备152的业务被路由为业务流166通过队列164并被业务整形器168整形,以限制速率和缓解下游设备154处的拥塞。以这种方式,网络交换机150的其他队列保持不受影响,因为网络交换机150为来自上游设备152的流将另外的队列(队列164)添加到下游设备154。
在另一示例中,流逻辑162确定去往目的设备156但是具有不同于数据分组流158的优先级的新数据分组正被网络交换机150接收。流逻辑162发送消息到队列处理器114(图3)以针对具有该新优先级的数据分组从队列池116分配队列,并且具有该新优先级的数据分组被路由为业务流通过该新队列。
现在返回图6,流程图描述了各实施方式中由队列处理器114执行以对分组进行排队的示例性方法200。根据该方法200,队列处理器114从转发引擎110接收分组(块205)。队列处理器114确定该分组是否与正操作经历流控制和/或业务整形要求的数据流关联(块210)。例如,在实施方式中,队列处理器114确定该分组是否正经历根据IEEE802.1Qbb的基于优先级的流控制(PFC)、根据IEEE802.1Qaz的增强传输选择(ETS)或根据IEEE802.1Qau的量化拥塞通知(QCN)。如果答案为是,则队列处理器114为该分组选择与该业务流关联的队列(块215)。如果还没有针对该业务流指定这种队列,则队列处理器114如上所述那样从队列池116分配队列118。如果块210处回答为否,那么队列处理器114接着确定该分组是否是组播分组(块220)。如果该分组是组播分组,则队列处理器114选择与对应组播端口组关联的虚拟队列(块225)。如果还没有虚拟队列与该组播端口组关联,则队列处理器114如上所述从队列池116分配队列118中的一个作为虚拟队列。如果该分组不是组播分组,则队列处理器114确定该分组是否去往与多租户配置简档关联的端口(块230)。如果块230处回答为是,则队列处理器114根据该多租户配置简档确定正确的队列。否则,队列处理器114确定该分组是否已与它的直接队列信息关联(即,该分组是否包括由转发引擎110添加的队列信息)(块240),并且如果是这样,则根据该直接队列信息为该分组选择队列118(块245)。如果该分组不是直接队列分组,那么队列处理器114根据由转发引擎110指示的该分组和该端口的QoS数据选择队列118。在选择队列(块215、225、235、245或250)之后,队列处理器114根据该选择对该分组进行排队(块255)。
图7是描述操作诸如网络交换机100的网络交换机的示例性方法260的流程图。根据该方法260,网络交换机100在网络交换机100的端口104处接收分组(块265)。转发引擎110确定每个所接收的分组应当被转发到的一个或多个端口106(块270)。队列处理器114从转发引擎110接收这些分组并且至少部分根据该分组应当被转发到的该一个或多个端口的对应确定对队列118中的每个分组进行排队。
队列处理器114从队列118的池116选择队列118的子集以根据与端口106关联的端口配置简档与端口116关联(块280)。在一实施方式中,该端口配置简档与规定的流或协议(例如,VoIP协议)有关。在另一实施方式中,该端口配置简档与规定的业务类型(例如,存储网络业务)有关。在又一实施方式中,该端口配置简档与多租户配置有关。在再一实施方式中,该端口配置简档与规定的服务质量(例如,为某个用户/实体配置的端口)有关。
在选择可用队列118的子集之后,队列处理器114将所选择的队列118的子集与端口106关联(块285)。在各实施方式中,将所选择的队列118的子集与端口106关联包括在可配置地定义哪些队列118被分配到每个端口106的端口到队列表120中设置值和/或在针对每个队列118可配置地定义哪个端口106是目的地的队列到端口表126中设置值和/或在针对每个队列118可配置地定义作为目的地的一组端口106的队列到端口组表128中设置值和/或在可配置地定义与每个队列118关联的优先级的队列优先级表122中设置值。
图8是描述操作诸如网络交换机100的网络交换机的示例性方法300的流程图。根据该方法300,网络交换机100处理从该网络接收的分组以选择性地将所接收的分组转发到一个或多个端口106以用于传输(块305)。队列处理器114从转发引擎110接收所处理的分组并且将所接收的分组存储在多个队列118中(块310)。交换机100拦截从下游设备154发送到布置在网络中或耦合到该网络的上游设备152的拥塞通知160(块315)。例如,交换机100在一实施方式中拦截层2拥塞通知(例如,QCN通知)。
响应于该拥塞通知,队列管理器112执行用于缓解拥塞的队列修改动作(块320)。在各实施方式中,队列管理器112通过将多个队列118中可用的(即,未被分配的)一个分配到与下游设备154关联的端口106并对从上游设备152接收和去往下游设备154的分组执行整形操作来执行队列修改动作。在其他实施方式中,队列管理器112通过从与下游设备154关联的端口106对多个队列118中被分配的一个队列进行解除分配来执行队列修改动作。在又一些实施方式中,队列管理器112通过响应于所拦截的拥塞通知修改队列的队列长度来执行队列修改动作。在各实施方式中,执行队列修改动作可包括在可配置地定义哪些队列118被分配到每个端口106的端口到队列表120中设置值和/或在针对每个队列118可配置地定义哪个端口106是目的地的队列到端口表126中设置值和/或在针对每个队列118可配置地定义作为目的地的一组端口106的队列到端口组表128中设置值和/或在可配置地定义与每个队列118关联的优先级的队列优先级表122中设置值。
虽然本说明书的原理已经关于具体的装置和方法在上面描述,要清楚地理解的是,本说明书仅仅通过例子说明并且不是作为对本发明的范围的限制。另外,至少一些上述各种块、操作和技术可以硬件、处理器或计算机执行固件和/或软件指令,或其中的任何组合来实施。软件或固件指令可包括存储于另一或多个计算机可读或机器可读存储媒体的存储器上的计算机可读或机器可读指令,当被处理器执行时,其使得处理器执行各种动作。当以硬件实施时,固件可包括分立元件、集成电路、专用集成电路等中的一个或多个。
虽然本发明已经参照具体的例子描述,其意图仅仅是说明性的并且对本发明的限制,可以对所公开的实施方式进行改变、添加和/或删除而不脱离本发明的范围。

Claims (24)

1.一种网络设备,包括:
多个端口,用于耦合到网络并且用于将分组发送到布置在所述网络中或耦合到所述网络的设备;
至少一个处理器,被配置为处理经由所述网络接收的分组,所述处理包括将所处理的分组选择性地转发到所述端口中的一个或多个端口;
在存储器中限定的多个队列,所述多个队列被配置为存储将要由所述多个端口中的端口发送的分组;以及
队列管理器,被配置为将所述多个队列的子集选择性地分配到所述多个端口的子集。
2.根据权利要求1所述的网络设备,其中所述队列管理器包括由所述队列管理器用来将数据分组引导到所述网络设备的队列和/或端口的下列结构中的至少一个:
(i)端口到队列表,用于可配置地限定哪些队列被分配到每个端口;
(ii)队列到端口表,用于针对每个队列可配置地限定哪个端口是目的地;
(iii)队列到端口组表,用于针对每个队列可配置地限定哪个端口组是目的地;以及
(iv)队列优先级表,用于可配置地限定与每个队列关联的优先级。
3.根据权利要求1所述的网络设备,其中所述队列管理器被配置为选择端口的所述子集,以排除所述多个端口中的一个或多个有缺陷的端口。
4.根据权利要求1所述的网络设备,其中所述队列管理器被配置为选择队列的所述子集,以排除所述多个队列中的至少一个有缺陷的队列。
5.根据权利要求1所述的网络设备,其中所述队列管理器被配置为选择端口的所述子集,以排除耦合到有缺陷的串行器-解串器功能块的端口。
6.一种网络设备,包括:
多个端口,被配置为(i)将所述网络设备耦合到网络,以及(ii)将分组发送到布置在所述网络中或耦合到所述网络的设备;
多个端口简档,每个端口简档对应于所述多个端口之一,并且指示去往所述端口的分组业务的特征或耦合到所述端口的设备的特征;
至少一个处理器,被配置为处理从所述网络接收的分组,所述处理包括将所处理的分组选择性地转发到所述端口中的一个或多个端口;
在存储器中限定的多个队列,所述多个队列被配置为存储将要由所述多个端口中的端口发送的分组;以及
队列管理器,对所述端口简档进行响应,并且被布置为根据对应于所述端口的所述端口简档而将所述多个队列中的一个或多个队列可配置地分配到所述多个端口中的每个端口。
7.根据权利要求6所述的网络设备,其中所述队列管理器包括由所述队列管理器用来将数据分组引导到所述网络设备的队列和/或端口的下列结构中的至少一个:
(i)端口到队列表,用于可配置地限定哪些队列被分配到每个端口;
(ii)队列到端口表,用于针对每个队列可配置地限定哪个端口是目的地;
(iii)队列到端口组表,用于针对每个队列可配置地限定哪个端口组是目的地;以及
(iv)队列优先级表,用于可配置地限定与每个队列关联的优先级。
8.根据权利要求6所述的网络设备,其中所述队列管理器包括队列处理器,所述队列处理器被配置为根据端口简档的下列方面中的任意一个或多个将队列分配到端口:
(i)规定的流或协议;
(ii)规定的业务类型;
(iii)规定的多租户配置简档;以及
(iv)规定的服务质量(QoS)。
9.一种网络设备,包括:
多个端口,被配置为(i)耦合到网络,(ii)经由所述网络接收分组以及(iii)经由所述网络发送分组;
至少一个处理器,被配置为处理经由所述网络接收的分组,所述处理包括将所接收的分组选择性地转发到所述端口中的一个或多个端口,以用于经由所述网络传输;
在存储器中限定的多个队列,所述多个队列被配置为存储将要由所述网络发送的分组;以及
队列管理器,被配置为(i)拦截从所述网络中的或耦合到所述网络的下游设备发送到所述网络中的或耦合到所述网络的上游设备的拥塞通知,以及(ii)通过(a)将一个或多个附加的队列分配到端口或(b)修改队列的队列长度,而根据所拦截的拥塞通知而缓解拥塞。
10.根据权利要求9所述的网络设备,其中所述队列管理器被配置为响应于所拦截的拥塞通知,(i)将所述多个队列中的一个队列分配到与所述下游设备关联的端口,以及(ii)对从所述上游设备接收并去往所述下游设备的分组流执行整形操作。
11.根据权利要求9所述的网络设备,其中所述队列管理器包括由所述队列管理器用来将数据分组引导到所述网络设备的队列和/或端口的下列结构中的至少一个:
(i)端口到队列表,用于可配置地限定哪些队列被分配到每个端口;
(ii)队列到端口表,用于针对每个队列可配置地限定哪个端口是目的地;
(iii)队列到端口组表,用于针对每个队列可配置地限定哪个端口组是目的地;以及
(iv)队列优先级表,用于可配置地限定与每个队列关联的优先级。
12.根据权利要求9所述的网络设备,其中所述队列管理器被配置为(i)拦截从下游设备发送到上游设备的层2拥塞通知,以及(ii)执行用于根据所拦截的层2拥塞通知缓解拥塞的队列修改动作。
13.一种配置网络设备的方法,所述方法包括:
配置多个端口,以将网络分组发送到布置在网络中的或耦合到所述网络的设备,所述端口连接到或将要连接到所述网络;
配置至少一个处理器,以处理经由所述网络接收的分组,所述处理包括将所处理的分组选择性地转发到所述端口中的一个或多个端口;
在存储器中限定多个队列;
配置所述多个队列,以存储将要发送的分组;以及
配置队列管理器,以将所述多个队列的子集选择性地分配到所述多个端口的子集。
14.根据权利要求13所述的方法,进一步包括:选择端口的所述子集以排除所述多个端口中的至少一个有缺陷的端口。
15.根据权利要求13所述的方法,进一步包括:选择队列的所述子集以排除所述多个队列中的至少一个有缺陷的队列。
16.根据权利要求13所述的方法,进一步包括:选择端口的所述子集以排除耦合到有缺陷的串行器-解串器功能块的端口。
17.根据权利要求13所述的方法,其中配置所述队列管理器包括:在规定所述网络设备的队列与端口之间的关系的下列数据结构中的一个或多个数据结构中设置值:
(i)端口到队列表,用于可配置地限定哪些队列被分配到每个端口;
(ii)队列到端口表,用于针对每个队列可配置地限定哪个端口是目的地;
(iii)队列到端口组表,用于针对每个队列可配置地限定哪个端口组是目的地;以及
(iv)队列优先级表,用于可配置地限定与每个队列关联的优先级。
18.一种操作网络设备的方法,所述方法包括:
在网络交换机的端口处接收分组;
在转发引擎中确定所接收的分组中的每个分组应当被转发到的一个或多个端口;
至少部分地根据所述分组应当被转发到的所述一个或多个端口的对应目的地确定,在队列中对每个分组进行排队;
从可用队列的池中选择队列子集以与端口关联;以及
将所选择的队列子集与所述端口关联。
19.根据权利要求18所述的方法,其中将所述队列子集与所述端口关联包括:在规定所述网络设备的队列与端口之间的关系的下列数据结构中的一个或多个数据结构中设置值:
(i)端口到队列表,用于可配置地限定哪些队列被分配到每个端口;
(ii)队列到端口表,用于针对每个队列可配置地限定哪个端口是目的地;
(iii)队列到端口组表,用于针对每个队列可配置地限定哪个端口组是目的地;以及
(iv)队列优先级表,用于可配置地限定与每个队列关联的优先级。
20.根据权利要求18所述的方法,其中从可用队列的池中选择队列子集以与端口关联包括:根据下列方面中的任一个或多个方面来做决定:
(i)规定的流或协议;
(ii)规定的业务类型;
(iii)规定的多租户配置简档;以及
(iv)规定的服务质量(QoS)。
21.一种操作网络设备的方法,所述网络设备具有耦合到网络的多个端口,所述方法包括:
处理从所述网络接收的分组,以将所接收的分组选择性地转发到所述端口中的一个或多个端口以用于传输;
将所接收的分组存储在多个队列中,所述队列被限定在存储器中并被配置为存储将要经由所述网络发送的分组;
拦截从布置在所述网络中的或耦合到所述网络的下游设备发送到布置在所述网络中的或耦合到所述网络的上游设备的拥塞通知;以及
根据所拦截的拥塞通知,在队列管理器中执行队列修改动作,所述队列修改动作包括:(a)将一个或多个附加的队列分配到端口或(b)修改队列的队列长度。
22.根据权利要求21所述的方法,其中执行队列修改动作包括:(i)将所述多个队列中的一个队列分配到与所述下游设备关联的端口,以及(ii)对从所述上游设备接收并去往所述下游设备的分组流执行整形操作。
23.根据权利要求21所述的方法,其中执行队列修改动作包括:在规定所述网络设备的队列与端口之间的关系的下列数据结构中的任一个或多个数据结构中设置值:
(i)端口到队列表,用于可配置地限定哪些队列被分配到每个端口;
(ii)队列到端口表,用于针对每个队列可配置地限定哪个端口是目的地;
(iii)队列到端口组表,用于针对每个队列可配置地限定哪个端口组是目的地;以及
(iv)队列优先级表,用于可配置地限定与每个队列关联的优先级。
24.根据权利要求21所述的方法,其中拦截拥塞通知包括:拦截从所述下游设备发送到所述上游设备的层2拥塞通知。
CN201310204516.3A 2012-05-24 2013-05-24 网络交换机中的灵活队列 Active CN103516622B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201261651227P 2012-05-24 2012-05-24
US61/651,227 2012-05-24
US201361825182P 2013-05-20 2013-05-20
US61/825,182 2013-05-20

Publications (2)

Publication Number Publication Date
CN103516622A true CN103516622A (zh) 2014-01-15
CN103516622B CN103516622B (zh) 2019-04-02

Family

ID=49621523

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310204516.3A Active CN103516622B (zh) 2012-05-24 2013-05-24 网络交换机中的灵活队列

Country Status (2)

Country Link
US (2) US9438527B2 (zh)
CN (1) CN103516622B (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107005488A (zh) * 2014-12-23 2017-08-01 英特尔公司 通用队列
CN107171980A (zh) * 2016-03-08 2017-09-15 迈络思科技Tlv有限公司 网络交换机中的灵活的缓冲区分配
WO2017181873A1 (zh) * 2016-04-22 2017-10-26 华为技术有限公司 网络设备、控制器、队列管理方法及流量管理芯片
CN109391557A (zh) * 2017-08-11 2019-02-26 马维尔以色列(M.I.S.L.)有限公司 网络交换机设备中的拥塞避免
CN111052689A (zh) * 2017-11-22 2020-04-21 马维尔以色列(M.I.S.L.)有限公司 用于在网络设备中缓冲分组的混合分组存储器
CN111669336A (zh) * 2019-03-08 2020-09-15 慧与发展有限责任合伙企业 用于无损以太网的低成本拥塞隔离
CN113242186A (zh) * 2015-03-31 2021-08-10 马维尔亚洲私人有限公司 用于使用多个链接的存储器列表的方法及装置
CN114024911A (zh) * 2020-07-19 2022-02-08 迈络思科技有限公司 基于网络适配器生成的提示合并分组
CN115484215A (zh) * 2021-06-16 2022-12-16 迈络思科技有限公司 带内遥测数据的低延时传送
CN115516833A (zh) * 2020-03-18 2022-12-23 马维尔以色列(M.I.S.L.)有限公司 网络设备中的分组缓冲溢出

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9438527B2 (en) 2012-05-24 2016-09-06 Marvell World Trade Ltd. Flexible queues in a network switch
US9397961B1 (en) * 2012-09-21 2016-07-19 Microsemi Storage Solutions (U.S.), Inc. Method for remapping of allocated memory in queue based switching elements
US9071559B1 (en) * 2012-11-15 2015-06-30 Qlogic, Corporation Network devices having configurable receive packet queues and related methods
US9288157B2 (en) * 2013-10-15 2016-03-15 National Instruments Corporation Time-sensitive switch for scheduled data egress
CA2882446A1 (en) * 2014-02-21 2015-08-21 Coho Data, Inc. Methods, systems and devices for parallel network interface data structures with differential data storage service capabilities
US9614765B2 (en) * 2014-08-26 2017-04-04 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Quantized congestion notification (QCN) proxy function in data center bridging capabilities exchange (DCBX) protocol
US10015048B2 (en) 2014-12-27 2018-07-03 Intel Corporation Programmable protocol parser for NIC classification and queue assignments
US9825862B2 (en) 2015-08-26 2017-11-21 Barefoot Networks, Inc. Packet header field extraction
US9606959B1 (en) 2015-11-12 2017-03-28 International Business Machines Corporation Indicating a sending buffer and receiving buffer in a message to use to validate the message in the receiving buffer
US9912774B2 (en) 2015-12-22 2018-03-06 Intel Corporation Accelerated network packet processing
CN107547442B (zh) * 2016-06-27 2022-05-31 中兴通讯股份有限公司 数据传输缓存队列分配方法及装置
US10708189B1 (en) 2016-12-09 2020-07-07 Barefoot Networks, Inc. Priority-based flow control
US10735331B1 (en) 2016-12-09 2020-08-04 Barefoot Networks, Inc. Buffer space availability for different packet classes
US11245572B1 (en) 2017-01-31 2022-02-08 Barefoot Networks, Inc. Messaging between remote controller and forwarding element
US10412018B1 (en) 2017-03-21 2019-09-10 Barefoot Networks, Inc. Hierarchical queue scheduler
US10757028B1 (en) 2017-04-23 2020-08-25 Barefoot Networks, Inc. Configurable forwarding element deparser
US20180341494A1 (en) * 2017-05-26 2018-11-29 Intel Corporation Accelerating network security monitoring
US10826840B1 (en) 2017-07-23 2020-11-03 Barefoot Networks, Inc. Multiple copies of stateful tables
CN109412964B (zh) * 2017-08-18 2022-04-29 华为技术有限公司 报文控制方法及网络装置
US10594630B1 (en) 2017-09-28 2020-03-17 Barefoot Networks, Inc. Expansion of packet data within processing pipeline
US10749803B1 (en) * 2018-06-07 2020-08-18 Marvell Israel (M.I.S.L) Ltd. Enhanced congestion avoidance in network devices
US11038856B2 (en) * 2018-09-26 2021-06-15 Marvell Asia Pte, Ltd. Secure in-line network packet transmittal
US11095626B2 (en) 2018-09-26 2021-08-17 Marvell Asia Pte, Ltd. Secure in-line received network packet processing

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030058880A1 (en) * 2001-09-21 2003-03-27 Terago Communications, Inc. Multi-service queuing method and apparatus that provides exhaustive arbitration, load balancing, and support for rapid port failover
US20040163084A1 (en) * 2001-07-05 2004-08-19 Srinivas Devadas Method and apparatus for allocating link bandwidth
US20070180188A1 (en) * 2006-02-02 2007-08-02 Akira Fujibayashi Virtual path storage system and control method for the same
US20110182181A1 (en) * 2010-01-22 2011-07-28 Samsung Electronics Co., Ltd. Method and apparatus for adaptively managing buffer in communication system including a plurality of network nodes
US20110255538A1 (en) * 2010-04-16 2011-10-20 Udayakumar Srinivasan Method of identifying destination in a virtual environment
US20120063333A1 (en) * 2010-09-14 2012-03-15 Brocade Communications Systems, Inc. Manageability Tools for Lossless Networks

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6351474B1 (en) * 1998-01-14 2002-02-26 Skystream Networks Inc. Network distributed remultiplexer for video program bearing transport streams
CA2358525C (en) * 1999-01-08 2008-04-01 Nortel Networks Limited Dynamic assignment of traffic classes to a priority queue in a packet forwarding device
US8619793B2 (en) * 2000-08-21 2013-12-31 Rockstar Consortium Us Lp Dynamic assignment of traffic classes to a priority queue in a packet forwarding device
US7110524B2 (en) * 2001-08-07 2006-09-19 Qwest Communications International, Inc. Method and system for call queueing and customer application interaction
US20050207436A1 (en) * 2004-03-18 2005-09-22 Anujan Varma Switching device based on aggregation of packets
US7697422B1 (en) 2006-01-17 2010-04-13 Marvell Israel (M.I.S.L.) Ltd. Quality of service marking techniques
US7916718B2 (en) * 2007-04-19 2011-03-29 Fulcrum Microsystems, Inc. Flow and congestion control in switch architectures for multi-hop, memory efficient fabrics
GB2461881B (en) * 2008-07-15 2012-10-03 Micron Technology Inc Switching device
US8929218B2 (en) * 2010-09-10 2015-01-06 Brocade Communication Systems, Inc. Congestion notification across multiple layer-2 domains
US8531985B2 (en) * 2011-07-28 2013-09-10 Alcatel Lucent System and method for configuration and management of queue sets
US8995435B2 (en) * 2011-12-09 2015-03-31 Brocade Communication Systems, Inc. Port profile analytics
US9088507B1 (en) 2012-03-19 2015-07-21 Marvell Israel (M.I.S.L) Ltd. Dummy queues and virtual queues in a network device
CN104303472B (zh) 2012-05-15 2018-03-16 马维尔国际贸易有限公司 以太网包的扩展优先级
US9438527B2 (en) 2012-05-24 2016-09-06 Marvell World Trade Ltd. Flexible queues in a network switch

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040163084A1 (en) * 2001-07-05 2004-08-19 Srinivas Devadas Method and apparatus for allocating link bandwidth
US20030058880A1 (en) * 2001-09-21 2003-03-27 Terago Communications, Inc. Multi-service queuing method and apparatus that provides exhaustive arbitration, load balancing, and support for rapid port failover
US20070180188A1 (en) * 2006-02-02 2007-08-02 Akira Fujibayashi Virtual path storage system and control method for the same
US20110182181A1 (en) * 2010-01-22 2011-07-28 Samsung Electronics Co., Ltd. Method and apparatus for adaptively managing buffer in communication system including a plurality of network nodes
US20110255538A1 (en) * 2010-04-16 2011-10-20 Udayakumar Srinivasan Method of identifying destination in a virtual environment
US20120063333A1 (en) * 2010-09-14 2012-03-15 Brocade Communications Systems, Inc. Manageability Tools for Lossless Networks

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107005488A (zh) * 2014-12-23 2017-08-01 英特尔公司 通用队列
CN113242186A (zh) * 2015-03-31 2021-08-10 马维尔亚洲私人有限公司 用于使用多个链接的存储器列表的方法及装置
CN107171980A (zh) * 2016-03-08 2017-09-15 迈络思科技Tlv有限公司 网络交换机中的灵活的缓冲区分配
CN107171980B (zh) * 2016-03-08 2021-01-15 迈络思科技Tlv有限公司 网络交换机中的灵活的缓冲区分配
US11265258B2 (en) 2016-04-22 2022-03-01 Huawei Technologies Co., Ltd. Network device, controller, queue management method, and traffic management chip
WO2017181873A1 (zh) * 2016-04-22 2017-10-26 华为技术有限公司 网络设备、控制器、队列管理方法及流量管理芯片
CN107306232A (zh) * 2016-04-22 2017-10-31 华为技术有限公司 网络设备、控制器、队列管理方法及流量管理芯片
US10715456B2 (en) 2016-04-22 2020-07-14 Huawei Technologies Co., Ltd. Network device, controller, queue management method, and traffic management chip
CN107306232B (zh) * 2016-04-22 2021-02-26 华为技术有限公司 网络设备、控制器、队列管理方法及流量管理芯片
CN109391557A (zh) * 2017-08-11 2019-02-26 马维尔以色列(M.I.S.L.)有限公司 网络交换机设备中的拥塞避免
CN109391557B (zh) * 2017-08-11 2024-02-02 马维尔以色列(M.I.S.L.)有限公司 网络交换机设备中的拥塞避免
CN111052689A (zh) * 2017-11-22 2020-04-21 马维尔以色列(M.I.S.L.)有限公司 用于在网络设备中缓冲分组的混合分组存储器
CN111052689B (zh) * 2017-11-22 2023-10-17 马维尔以色列(M.I.S.L.)有限公司 用于在网络设备中缓冲分组的混合分组存储器
US11936569B2 (en) 2017-11-22 2024-03-19 Marvell Israel (M.I.S.L) Ltd. Hybrid packet memory for buffering packets in network devices
CN111669336A (zh) * 2019-03-08 2020-09-15 慧与发展有限责任合伙企业 用于无损以太网的低成本拥塞隔离
CN115516833A (zh) * 2020-03-18 2022-12-23 马维尔以色列(M.I.S.L.)有限公司 网络设备中的分组缓冲溢出
US11929931B2 (en) 2020-03-18 2024-03-12 Marvell Israel (M.I.S.L) Ltd. Packet buffer spill-over in network devices
CN114024911A (zh) * 2020-07-19 2022-02-08 迈络思科技有限公司 基于网络适配器生成的提示合并分组
CN115484215A (zh) * 2021-06-16 2022-12-16 迈络思科技有限公司 带内遥测数据的低延时传送
CN115484215B (zh) * 2021-06-16 2024-05-28 迈络思科技有限公司 带内遥测数据的低延时传送

Also Published As

Publication number Publication date
US9438527B2 (en) 2016-09-06
US20130315054A1 (en) 2013-11-28
US20160373368A1 (en) 2016-12-22
US9887929B2 (en) 2018-02-06
CN103516622B (zh) 2019-04-02

Similar Documents

Publication Publication Date Title
CN103516622A (zh) 网络交换机中的灵活队列
US11588733B2 (en) Slice-based routing
CN107959636B (zh) Bgp消息的发送方法及装置
EP3087700B1 (en) Data capture
CN104348750B (zh) OpenFlow网络中QoS的实现方法及装置
CN105812294B (zh) 开流交换器、包交换方法、sdn控制器及数据流控制方法
US11516151B2 (en) Dynamically switching queueing systems for network switches
US20210135998A1 (en) Quality of service in virtual service networks
JP2014187421A (ja) 通信装置及びパケットスケジューリング方法
CN104243349B (zh) 报文调度方法和装置
US7369495B1 (en) Method and apparatus for shared shaping
CN103581056A (zh) 网络通信中通过分层队列调度实现拥塞管理的方法
Basu et al. A reverse path-flow mechanism for latency aware controller placement in vsdn enabled 5g network
EP1587263B1 (en) Scalable BGP-edge-router architecture
EP1489795B1 (en) Network swtich configured to weight traffic
KR100572696B1 (ko) 광대역 가입자 집선-스위치 장치
CN110300073A (zh) 级联端口的目标选择方法、聚合装置及存储介质
JP2004180302A (ja) 通信装置のためにデータトラフィックフローをスケジュールするシステムおよび方法
CN107332786B (zh) 一种在服务链环境下保障数据流截止时间的调度方法
CN109962848A (zh) 一种sdn网络中实现跨域mpls标签分配的方法、装置和系统
CN111756647B (zh) HQoS业务传输的方法、装置及系统
CN102763383B (zh) 路由环境中的基于源的队列选择机制
EP2887584A1 (en) Data Capture
CN101433057B (zh) 开箱即用服务的级联
WO2005104494A2 (en) Distributed computing environment and methods for managing and controlling the same

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20200424

Address after: Singapore City

Patentee after: Marvell Asia Pte. Ltd.

Address before: Ford street, Grand Cayman, Cayman Islands

Patentee before: Kaiwei international Co.

Effective date of registration: 20200424

Address after: Ford street, Grand Cayman, Cayman Islands

Patentee after: Kaiwei international Co.

Address before: Hamilton, Bermuda

Patentee before: Marvell International Ltd.

Effective date of registration: 20200424

Address after: Hamilton, Bermuda

Patentee after: Marvell International Ltd.

Address before: Babado J San Mega Le

Patentee before: MARVELL WORLD TRADE Ltd.

TR01 Transfer of patent right