CN1770734B - 网络装置的通信量控制方法 - Google Patents

网络装置的通信量控制方法 Download PDF

Info

Publication number
CN1770734B
CN1770734B CN2005100897304A CN200510089730A CN1770734B CN 1770734 B CN1770734 B CN 1770734B CN 2005100897304 A CN2005100897304 A CN 2005100897304A CN 200510089730 A CN200510089730 A CN 200510089730A CN 1770734 B CN1770734 B CN 1770734B
Authority
CN
China
Prior art keywords
mentioned
grouping
information
buffer
stream
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.)
Expired - Fee Related
Application number
CN2005100897304A
Other languages
English (en)
Other versions
CN1770734A (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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Publication of CN1770734A publication Critical patent/CN1770734A/zh
Application granted granted Critical
Publication of CN1770734B publication Critical patent/CN1770734B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9084Reactions to storage capacity overflow
    • H04L49/9089Reactions to storage capacity overflow replacing packets in a storage arrangement, e.g. pushout
    • H04L49/9094Arrangements for simultaneous transmit and receive, e.g. simultaneous reading/writing from/to the storage element
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9036Common buffer combined with individual queues

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明提供一种防止依存于处理缓存器的分组到达顺序的命中率降低,防止网络装置的效率下降的通信量控制方法。作为通信量管理部件,在处理缓存器的前级设置具有容纳处理缓存器的标记的处理缓存器标记、与上述标记的各条目对应的FIFO队列的功能模块。在通信量管理部件中,以到达顺序将判断为是同一流的分组存储到同一FIFO队列中。各FIFO队列记录了对应的处理缓存器的登记状况,如果在未登记到处理缓存器中的状态下的条目的FIFO队列中达到了分组,则只将先头分组传送到用于实施处理缓存器失误处理的功能模块,等待登记到处理缓存器中。在第2个以后的分组完成了向处理缓存器的登记的时刻,从FIFO队列实施对处理缓存器的存取。

Description

网络装置的通信量控制方法
技术领域
本发明涉及面向大容量分组(packet)的低延迟交换系统的路由器和开关等网络装置的构成方法的技术。特别涉及在利用作为网络装置的构成要素的缓存器实施IP(因特网协议)分组和MAC(介质访问控制)帧的处理的网络处理器和ASIC(应用程序特别集成电路)的通信量控制中有效的技术。
背景技术
在通信领域中,为了将多个网络之间连接起来而使用路由器和开关等网络装置。网络装置通过收发基于层3的IP的分组、基于层2的MAC的被称为帧的数据,来进行通信。以下,将一个数据单位称为分组(packet)来进行说明。网络装置循环进行以下处理,即检查所接收到的分组的发送目的地地址,决定分组的转送目的地,并将分组转送到规定的发送目的地,从而将分组发送到目的地。在世界上的网络中发送接收的分组的总量正在增大,伴随着通信量的增大,也需要提高网络装置的分组转送性能。另外,不只是简单地转送分组,还进行以下的处理:规定一定的规则,只转送适合于该规则的分组(过滤:filtering),或者依照该规则将单位时间内的分组发送量限制在规定值以下(限制:shaping),或者依照该规则在分组之间设置优先顺序地转送,或者依照该规则地修正分组的信息等。
作为廉价的网络介质正在利用以太网(Ethernet)。由于以太网的服务到1990年代前半为止为从10Mbps(兆比特每秒)到100Mbps而比较低速,所以即使在使用通用处理器的软件处理中,其分组处理也十分充裕。但是,从1990年代后半开始,以太网的速度高速化到从1Gbps(Giga比特每秒)到10Gbps,为了在该速度下实施分组处理,而在网络装置中使用了专门为分组处理设计的网络处理器或ASIC。
随着网络接口的速度提高,对一个分组实施处理的时间缩短了。在网络处理器中,在内部安装了多个处理器(分组处理引擎),通过并列地处理分组,来确保每个分组的处理时间,提高吞吐量(throughput)。但是,在为了提高网络处理器的吞吐量而与更高速的网络接口对应,而增加网络处理器内部的分组处理引擎的个数的方法中,会引起网络处理器的巨大化和消耗电力的增加。
因此,代替增加内部分组处理引擎的个数,而在特愿2003-048730号公报中提出了以下的网络处理器结构:将该分组处理引擎群中的处理结果记录到被称为处理缓存器(process cache)的缓存器中,在同一处理中处理完成的分组利用上述处理缓存器中的内容。在以后将上述网络处理器结构或依照它的结构称为缓存器型分组处理部件。在网络中传送的分组流(通信量)中,具有一样的头(head)信息,例如包含发送方和发送目的地的对是一样的信息的分组具有容易在短时间内出现很多的性质,因此在分组流的混合比例不大的接近网络末端的边缘网或接入(access)网、以及位于从网络中心到末端之间的中间(middle mile)网中,可以认为缓存器型分组处理部件能够比较有效地发挥作用。
在由上述缓存器型网络处理器构成网络装置的情况下,根据分组的到达顺序而缓存器的命中(hit)率降低,另外,网络装置整体的吞吐量有可能降低。具体地说,有以下的情况:在短时间内到达了大量的具有相同头的分组群,由于其后的分组到达而来不及进行最初的分组的缓存器登记。
为了解决在上述情况下产生的问题,而必须进行分组的调度。调度的方法存在许多有效的公知例子。例如,在特表2001-519120中揭示了以下的方法:在实施将多个会话(流)分类为每个类型(class)的第1水平的调度后,针对它们的若干输出而进行第2水平的调度,并针对剩下的第1水平的输出和第2水平的输出执行付与优先顺序的第3水平的调度。另外,在特开2002-185501中揭示了以下的调度技术:纵列地将附加了优先度的队列和输出队列连接起来,前级的优先度队列使优先度低的分组滞留并附加标记,在后级的输出队列中进行阻塞(congestion)检测,通过在发生阻塞时废弃附加有标记的分组,而与每个优先度的通信量的变动无关地确保一定的频带,有效利用保证频带。
另外,在特开2000-101637中揭示了以下这样的调度器:具备存储分组的多个队列,以转送结束预定时刻早的顺序对各队列的先头分组进行转送顺序的加权,实施转送频带控制。但是,事实上,难以只将比较少的队列安装到硬件中,在特开2003-324471中揭示了以下的方法:为了事实上增加能够安装的队列数,使频带控制高精度化,而使多个计算器并列并且分时地进行动作,来实施上述调度。
但是,任意的调度都无法解决本发明所要解决的课题,即实施用于防止处理缓存器的命中率降低的调度。在本申请发明人所申请的特愿2003-346519中,揭示了以下的方法:在对处理缓存器中失误(miss)的分组进行处理的功能中,在处理器中只处理缓存器失误了的流的先头分组,通过上述处理缓存器失误的功能模块来保存该流的第2个以后的数据。但是,并没有提及在访问处理缓存器之前对分组进行调度的方法。
专利文献1:特愿2003-048730号公报
专利文献2:特表2001-519120号公报
专利文献3:特开2000-101637号公报
专利文献4:特开2002-185501号公报
专利文献5:特开2003-324471号公报
专利文献6:特愿2003-346519号公报
发明内容
本发明的课题就在于提供以下的技术:为了对来自网络或开关结构(switch fabric)的输入通信量进行管理,使分组转送处理高速化,而防止用于保存分组处理结果的被称为处理缓存器的缓存器的依存于分组到达顺序的命中率降低,作为结果而防止利用了处理缓存器技术的网络装置的性能降低。
另外,通过尽可能地使处理缓存器处于命中(hit)的状态,而降低处理缓存器失误时所利用的分组处理器的运转率,降低消耗电力。
本发明是以下的技术:在避免网络处理器的巨大化的同时,辅助进行用于使分组转送处理高速化的被称为处理缓存器的技术,通过对网络通信量进行管理,来防止处理缓存的命中率降低。在处理缓存器技术中,将用于记录对接收分组的处理结果的缓存器设置在缓存器型分组处理部件中。在处理缓存器技术中,依照由使用者所确定的规则对分组群进行分类,在安装在缓存器型分组处理部件的内部的处理器中,只对分类了的分组群中的最初的分组进行处理。将上述处理结果记录到处理缓存器中,以后在被判断为同一流的分组中,立即将记录在处理缓存器中的结果适用于接收分组。通过该操作,削减了内置在网络处理器中的安装处理器的处理,提高了网络装置的分组处理速度。
在本发明中,作为用于管理网络通信量的通信量管理部件,在处理缓存器的前级设置具有容纳处理缓存器的标记(tag)的处理缓存器标记、与上述标记的各条目(entry)对应的FIFO(先进先出)队列的功能模块。在通信量管理部件中,以到达顺序将判断为同一流的分组群积蓄到同一FIFO队列中。各FIFO队列记录对应的处理缓存器的登记状况,如果分组到达了未登记到处理缓存器中的状态的条目的FIFO队列,则只将先头的分组传送到用于实施处理缓存器失误处理的功能模块,等待登记到处理缓存器中。对于第2个以后的分组,在登记到处理缓存器的操作结束的时刻,实施从FIFO向处理缓存器的读写。通过上述操作,可以使得流先头以外的分组的处理缓存器读写一定成为缓存器命中。
通过上述装置,防止了依存于分组到达顺序的缓存命中率的降低。在保存第2个以后的分组的期间,也可以将判断为不是同一流的分组群的先头分组传送到实施处理缓存器失误处理的功能模块。通过上述操作,通过对属于不同流的分组进行并列处理,而谋求有效地利用处理器资源。
更详细地说,本发明的分组处理方法是以下的缓存器型分组处理方法:使用缓存存储器,将与先行的分组有关的处理结果记录到缓存存储器中,在进行与先行的分组相同的处理的后续的分组的处理中利用该缓存存储器中的内容,具有:接收分组的步骤;将接收到的分组分类为每个流的步骤;维持分组的到达顺序地,针对每个流将分类为每个流的分组记录到FIFO型队列中的步骤;在队列内的流的规定分组没有登记到缓存器中的情况下,对规定分组进行处理并将处理结果存储到缓存存储器中,同时使同一队列内的规定分组以后的分组在队列中待机的步骤;在将与规定分组有关的处理结果存储到缓存存储器中以后,对上述在队列中待机的分组进行处理的步骤。
通过越过其他流的正在待机的分组而对各流的先头分组进行处理,能够提高全体的吞吐量。
另外,进而具体地说,可以构成为各队列具有对应的缓存器,具有:记录各队列对应的缓存器的登记信息的步骤;如果分组到达了未登记到缓存器中的状态的队列,则只对先头的分组进行处理,并等待将处理结果登记到上述缓存器中的步骤;在将第2个以后的分组登记到上述缓存器中后的时刻,开始处理。
本发明的网络装置具备:接收分组的输入接口;对接收到的分组进行分析和分类,对每个种类生成流的分组分析部件;对每个种类保持分组的接收顺序地管理所生成的流的通信量管理部件;对分组进行处理的分组处理部件;对每个流登记分组处理部件的处理结果的处理缓存器,该网络装置的特征在于:该网络装置对流进行控制使得
(1)在上述分组处理部件中对处理结果没有登记到上述处理缓存器中的第1流的第1分组进行处理,
(2)使上述第1流的第1分组后续的分组到上述第1分组的处理结果登记到上述处理缓存器中为止待机,在登记后,使用上述处理缓存器的信息进行处理,
(3)在使上述第1流的笫1分组后续的分组待机的期间,在该正在待机的分组之前先对第2流的分组进行处理。
具体地说,通信量管理部件具有对流的每个种类保持分组的接收顺序地存储与所生成的流对应的内部处理信息列的队列,存储在队列中的内部处理信息列包含表示是否已经将对应的分组的处理结果登记到处理缓存器中的登记完毕信息。使用该登记完毕信息控制将分组发送到处理部件的顺序,进行流的控制。
理想的是在分组处理部件的前级具有:根据登记完毕信息,选择是在分组处理部件中对分组进行处理、还是参照处理缓存器进行处理的分析部件。
可以设置以下这样的缓存器失误处理部件:通过分析部件的选择,在分组处理部件中对分组进行了处理的情况下,向通信量管理部件通知已经将该处理结果登记到处理缓存器中。通信量管理部件可以根据来自缓存器失误处理部件的通知,向内部处理信息列附加登记完毕信息。这样,通信量管理部件可以参照附加到内部处理信息列中的登记完毕信息对流进行控制。
第1流的笫1分组可以是第1流的先头分组。另外,第2流的分组可以是处理结果没有登记到处理缓存器中的先头分组,或处理结果已经登记到处理缓存器中的后续分组。
如果利用本发明的通信量管理部件,则在具有利用缓存器型网络处理器等的缓存器的分组处理部件的网络装置中,具有以下效果:防止依存于分组的到达顺序的缓存命中率的降低,作为结果避免了网络装置的吞吐量的降低。
另外,如果利用本发明的通信量管理部件,则具有以下效果:通过抑制上述缓存命中率的降低,而降低在处理缓存器失误时实施所利用的分组处理的处理器的运转率,降低消耗电力。
附图说明
图1是本发明的实施例1的具有缓存器用通信量控制部件和缓存器型分组处理部件的网络装置的框图。
图2是现有的具有通信量控制部件和分组处理部件的网络装置的框图。
图3是本发明的实施例1的缓存器用通信量控制部件和缓存器型分组处理部件的内部框图。
图4是在缓存器用通信量控制部件和缓存器型分组处理部件的内部使用的数据格式一览。
图5是直接映射方式的缓存器用通信量控制部件的通信量管理部件部分的框图。
图6是N路组关联方式的缓存器用通信量控制部件的通信量管理部件部分的框图。
图7是直接映射方式的缓存器型分组处理部件的处理缓存器的数据结构例子。
图8是N路组关联方式的缓存器型分组处理部件的处理缓存器的数据结构例子。
图9是缓存器型分组处理部件的缓存器失误处理部件的框图。
图10是使缓存器用通信量控制部件和缓存器型分组处理部件成为一体的情况的框图。
图11是N路组关联方式的缓存器用通信量控制部件的标记(tag)和向FIFO队列部分追加了M条目的全关联方式的缓存器用通信量控制部件的标记和FIFO队列部分的情况的框图。
图12是向N路组关联方式的缓存器型分组处理部件的处理缓存器的数据部分追加了M条目的全关联方式的缓存器型分组处理部件的处理缓存器的数据部分的情况的框图。
图13是缓存器型分组处理部件的处理缓存器也具有标记部分的情况下的缓存器用通信量控制部件和缓存器型分组处理部件的框图。
图14是具备标记部分和数据部分的直接映射方式的处理缓存器的框图。
图15是图14中的缓存器用通信量控制部件的通信量管理部件部分的框图。
图16是在图10中从缓存器型分组处理部件中分离了缓存器型分组处理部件的分组处理部分的情况的框图。
具体实施方式
以下,在实施例中说明更详细的内容。
[实施例1]
图1表示本实施例的网络装置的结构例子。
在本实施例中,网络装置由以下部分构成:用于从网络接收发送分组的网络接口部件101;用于控制网络通信量的缓存器用通信量控制部件102;缓存器型分组处理部件103;包含上述101、102、103的网络接口卡10;将多个网络接口卡10结合起来,交换分组的开关结构11等。另外,还具有对多个网络接口卡10之间的路径信息等进行集中管理的主机处理器和与主机处理器的接口等。
对于本实施例中的分组处理动作和效果,首先说明全体的概要。通过网络接口部件101接收分组,缓存器用通信量控制部件102将分组分类为被称为流的组,为了维持分组的到达顺序,而针对每个流登记到FIFO型的队列中。然后,首先只将没有登记到缓存器型分组处理部件103的缓存器中的各流的先头分组传送到缓存器型分组处理部件103,将各流的第2个以后的分组保存到FIFO型队列中。可以越过其他流的第2个以后的分组,而将各流的先头分组传送到缓存器型分组处理部件103。在缓存器型分组处理部件103中接收到缓存器登记完成通知后,将上述第2个以后的分组传送到缓存器型分组处理部件103。
通过上述动作,在缓存器型分组处理部件103中,能够使除了流的先头分组以外的全部分组命中。即,具有以下效果:防止依存于分组到达顺序的命中率降低,作为结果而避免网络装置的吞吐量降低。
缓存器型分组处理部件103具有:一个或一个以上的处理器;用于存储上述处理器中的程序处理结果的被称为处理缓存器的缓存存储器。针对上述流的先头分组,利用处理器,为了得到分组的发送目的地信息,而实施路径检索,根据需要还实施其他操作,例如取得用于决定是否使分组通过的过滤信息,取得MPLS(Multiprotocol LabelSwitching)和VLAN(Virtual Local Area Network)等的头信息等。在专用硬件或简易处理器中,只通过比特列操作将上述实施结果转换为能够适用于分组中的信息列,并登记到处理缓存器中,将分组传送到实施后级处理的部分。上述流的第2个以后的分组由于在处理缓存器中命中,所以利用处理缓存器的内容而省略了处理器中的处理,将分组传送到实施后级处理的部分。上述后级的部分通过专用的比特列操作用的硬件等对分组实施必要的处理,并将分组传送到开关结构11,结束对该分组的处理。一般,处理器的运转率越高,消耗电力越高。缓存器型分组处理部件103为了进行分组处理而包含一个或一个以上的处理器,但上述处理器也可以只处理在上述处理缓存器中失误的先头分组,因此通过本发明的抑制缓存命中率降低,能够降低消耗电力。虽然增加了本发明的缓存器用通信量控制部件102那部分的消耗电力,但如果考虑到代替后述的通信量管理器地使用,则可以将缓存器用通信量控制部件102那部分的消耗电力看作是与通信量管理器相当,而忽视。
开关结构11向指定的发送目的地的网络接口卡10发送从各网络接口卡10接收到的分组。从开关结构侧向网络接口卡10传送的分组同样地通过缓存器用通信量控制部件102、缓存器型分组处理部件103,被发送到网络上。
本发明的缓存器用通信量控制部件102在进行网络通信量的管理这一点上,与在现有的网络装置中被利用的被称为通信量管理器的设备类似,但在所实施的控制上有实质的不同。
首先,说明通信量管理器。通信量管理器是指监视是否没有规定频带以上的输入,在规定频带以上的情况下,实施废弃输入的方法、或将规定频带以上的输出限制在规定频带以下的限制、与有效顺序对应地调整流的顺序的调度等的设备。利用通信量管理器的网络装置例如如图2所示,由以下部分构成:用于从网络接收发送分组的网络接口部件101;作为分组处理部件的网络处理器(或者与它对应的ASIC)110;作为通信量控制部件的通信量管理器(或者与它对应的ASIC)111;包含上述101、110、111的网络接口卡10;将多个网络接口卡10结合起来交换分组的开关结构11等。其他还有对多个网络接口卡10之间的路径信息等进行集中管理的主机处理器和与主机处理器的接口等。
接着,说明本发明的缓存器用通信量控制部件102与现有的通信量管理器的实质不同点。缓存器用通信量控制部件102在控制输入通信量使得流的先头以外的分组成为在处理缓存器中命中的存取这一点上,与现有的通信量管理器不同。另外,从网络装置构成时的网络输入向开关结构的方向一侧的设置位置不同。通常,通信量管理器设置在网络处理器和ASIC等分组处理部件的后级,但本发明缓存器用通信量控制部件设置在缓存器型网络处理器和ASIC等的前级。在本实施例中,在来自网络的输入侧,缓存器用通信量控制部件102位于分组处理部件103的前级。这是因为在缓存器存取之前进行分组流的控制。
接着,在图3中表示缓存器用通信量控制部件102和缓存器型分组处理部件103的内部结构例子的详细,说明分组处理动作。缓存器用通信量控制部件102和缓存器型分组处理部件103如果被集成在同一芯片上,则可以作为单一芯片进行安装,也可以分别作为不同的芯片安装。在图3中,设想了缓存器用通信量控制部件102和缓存器型分组处理部件103安装在各自的芯片中的情况。
作为一个实施例,缓存器用通信量控制部件102由输入接口201、分组分析部件202、通信量管理部件203、输出数据生成部件204、输出接口205、处理缓存器登记信号208、分组存储器210构成。为了实现低延迟并且高速的分组处理,理想的是将上述缓存器用通信量控制部件102的构成要素安装在单一芯片上。对于分组存储器210,理想的是利用例如混载DRAM(Dynamic Random Access Memory)技术和1T-SRAM(1Transistor Static Random Access Memory)技术等的能够高密度安装的高速芯片存储器,与缓存器用通信量控制部件102的其他构成要素安装在同一芯片上,但也可以选择将分组存储器210的一部分或全部安装在芯片外部。
缓存器用通信量控制部件102在由输入接口201接收到分组后,通过分组分析部件202进行分组的分析,生成内部处理专用的信息列。在此,将上述内部处理专用信息列称为标识(token)。将原来的分组存储在分组存储器210中。图4表示上述标识400的结构。上述标识400由固有信息401、分析信息402、抽出信息403构成。
固有信息401是用于区别各标识的每个分组所固有的信息。例如可以列举在分组存储器210中的分组存储地址,通过分组存储地址能够区别各标识。另外,为了在分组处理中利用,根据安装的不同,也可以包含分组的大小、分组的标记信息、分析了分组后的结果所判断出的错误信息、TCP的控制信息等。例如,可以在能够从缓存器用通信量控制部件102发出多个流时,作为后述的QoS(Quarity of Service)控制的一环一边利用分组大小一边选择所输出的流时,利用分组的大小。另外,在TCP的控制比特中,例如利用FIN和RST比特表示流的最终分组的标识,可以在该标识通过以后,在清除对应的处理缓存器的条目、FIFO队列的条目时利用。
分析信息402是在分组的各网络层中利用的与协议和转送有关的信息。表示层2、层3、层4、层5~7中的利用协议(例如在层2中利用MPLS、VLAN,在层3中利用IPv4、IPv6,在层4中利用TCP,在层7中利用HTTP等)、层2中的分组转送信息(单播、广播或多播)。利用协议种类的分析信息402中的表示形式可以是包含在实际的分组头中的形式(例如层2的类型字段),也可以是限定于判断为必要的几种(例如16种左右),并对其进行编码的形式(例如如果是16种则可以编码为4比特)。可以通过为了生成分析信息402而存储在分组分析部件202所具有的命令存储器中的程序,来规定到哪个层为止进行分析。因此,根据利用形式可以灵活地对应层2开关用、层3开关用、层4开关用、层7开关用等。
抽出信息403是从分组中抽出的头信息的一部分。例如作为层3的抽出信息,可以抽出IPv4的发送目的地IP地址、发送方IP地址。另外,在其他的例子中,除了上述层3的抽出信息以外,还可以抽出的层4的TCP发送目的地端口编号和TCP发送方端口编号。抽出内容与分析信息402一样,可以通过改写存储在分组分析部件202所具有的命令存储器中的程序而进行变更。
为了判断某2个分组是属于同一流还是属于不同的流,而利用标识400的分析信息402、抽出信息403。在对某2个分组进行比较时,如果各自的分析信息402和抽出信息403的组相同,则可以认为2个分组属于同一流。另一方面,在比较某2个分组时,如果各自的分析信息402和抽出信息403的组不同,则可以认为2个分组属于不同的流。
通过分组分析部件202生成的标识400由于处于可以分类为每个流的状态,所以在通信量管理部件203中进行分类和管理。图5表示通信量管理部件203的内部结构例子。通信量管理部件203由混列(hash)部件501、标记(tag)部件502、FIFO队列505、比较器503、写入控制部件504、读出控制部件506、待机缓存器507构成。
通信量管理部件203为了使流的第2个以后的分组不会在处理缓存器中失误(miss),而必须知道处理缓存器的状态,即该标识是处于已经登记到处理缓存器中的状态(命中状态),还是处于没有登记的状态(失误状态)。因此,为了知道处理缓存器的状态,通信量管理部件203具有相当于处理缓存器的标记(tag)的标记部件502。标记部件502保存标识的分析信息402和抽出信息403。利用混列部件501对标识的分析信息402和抽出信息403全体进行混列处理,而生成用于参照标记的存取关键字(access key)。混列部件501利用与缓存器型分组处理部件103的处理缓存器303所具备的混列部件511一样的算法。混列处理有各种方法,但理想的是例如CRC(Cyclic Redundancy Check)计算等搅拌能力优越的方法,使得难以引起缓存器的条目干扰,而提高命中率。通过对利用比较器503参照标记502后输出的标记内容、进行了存取后的标识的分析信息402和抽出信息403进行比较,能够判断出该标识是否在处理缓存器中命中。
通信量管理部件203为了控制缓存器型分组处理部件103的分组流,而针对每个标记502的条目,具备按照每个流的到达顺序对标识进行管理的FIFO队列505。图4的420表示向标记502的登记形式的例子,图4的430表示向FIFO队列505的登记例子。
作为与处理缓存器的标记相当的信息,标记登记信息420具有表示正在利用条目的有效比特421、标识的分析信息402、抽出信息403。另外,为了控制对标记502和FIFO队列505的读写,而具有表示对应的FIFO队列505的条目的标识为空的FIFO队列清空(empty)比特422、表示发出了现在向处理缓存器登记的请求的处理缓存器正在登记比特424、表示已经登记到处理缓存器中的处理缓存器登记完毕比特423。另外,在对每个流实施QoS控制的情况下,具有表示该流的优先顺序的优先顺序信息425、表示对该流许可的使用频带宽度的频带信息426。
FIFO队列登记信息430由表示正在利用条目的有效比特431、标识的固有信息401等构成。
FIFO队列505具备只与处理缓存器的条目个数K一样的个数。例如,在利用了4000个条目的处理缓存器的情况下,则具备4000个FIFO队列。可以用独立的存储器实现各FIFO队列505,也可以合并多个或全体地用存储器实现。
首先,说明向标记502和FIFO队列505的写入控制。对于标识,在上述方法中由混列部件501参照标记502,进行处理缓存器的命中判断,并向写入控制部件504通知。如果命中,则写入控制部件504向对应的FIFO队列写入标识的固有信息401,并将FIFO队列清空比特422设置为表示不为空的值(例如0)。
如果在处理缓存器中失误,则将该标识的分析信息402和抽出信息403登记到对应条目的标记502中,将该标识的固有信息401登记到对应的FIFO队列505中。另外,将处理缓存器正在登记比特424设置为表示正在登记的值(例如1)。
接着,说明对标记502和FIFO队列505的读出控制。读出控制部件506监视标记502的各FIFO队列的处理缓存器登记完毕比特423、处理缓存器正在登记比特424、FIFO队列清空比特422。在从FIFO队列505进行读出时,有以下2种情况。
(1)流的先头,即是未登记到处理缓存器中的分组的情况。在该情况下,处理缓存器登记完毕比特423是表示未登记的值(例如0),处理缓存器正在登记比特424是表示不是正在登记的值(例如0),FIFO队列清空比特422是表示不是空的值(例如0)。
(2)流的第2个以后,即是已经到处理缓存器中的分组的情况。在该情况下,处理缓存器登记完毕比特423是表示登记完毕的值(例如1),无视处理缓存器正在登记比特424的值,FIFO队列清空比特422是表示不是空的值(例如0)。
如果是成为了上述(1)、(2)的任意一个的状况的条目,则读出登记到对应的FIFO队列505中的固有信息401、标记502的分析信息402、抽出信息403并结合而返回标识,并与登记FIFO队列编号451(也与标记502的条目编号对应)一起传送到输出数据生成部件204。另外,可以越过某流的(2)状态的分组,而对不同的流的(1)或(2)状态的分组进行处理。基本上,通过优先将(1)状态的条目的标识传送到输出数据生成部件204,来尽早地将条目登记到处理缓存器中。
另外,如果存储器容量容许,则不只是固有信息401,FIFO队列505还可以记录分析信息402和抽出信息403。另外,在进行了读出的FIFO队列405成为空的情况下,清除对应的FIFO队列信息430,并将标记登记信息420的FIFO队列清空比特422设置为表示空的值(例如1)。
说明将标识存储到图5的多个FIFO队列505中,并能够从多个FIFO队列505发送标识的状况。在产生上述状况时,比较简易的是以下的方式:以处理缓存器登记完毕比特423成为表示登记完毕的值(例如1)的顺序,从对应的FIFO队列505中取出标识的FIFO方式;针对每个标识或每多个标识顺序地改变取出顺序的RR(Round Robin)方式,但也可以通过利用标记登记信息420的优先顺序信息425,并进行如现有技术那样的输出方式,而在优先度高的流和优先度低的流之间对服务设置差别。例如,通过向优先顺序信息425中加入K种类(例如High、Middle、Normal、Low的4种)的优先顺序信息,而能够实现PQ(Priority Queuing)。可以适用以下的WFQ(Weighted FairQueuing)方式:在进行取出时根据标识的固有信息401判断成为标识的原始数据的分组大小,进行加权,使得例如在作为阈值设置的周期中来自成为输出候补的FIFO队列505的输出分组大小的和成为公平的值。
同样地,也可以利用包含在图4的标记登记信息402的频带信息426和标识的固有信息401中的分组大小,在到设置的频带为止之间从能够进行发送的FIFO队列505进行发送。例如,为了与ATM(Asynchronous Transfer Mode)中的CBR(Constant Bit Rate)服务类型对应,在该FIFO队列505成为能够输出时,只在与由频带信息426所指定的值对应的期间,由该FIFO队列505占有向缓存器型分组处理部件103的输出路径,在期间结束后,将上述输出路径传递到下一个FIFO队列505。另外,为了与ATM中的rt-VBR(Real TimeVariable Bit Rate)服务类型对应,在该FIFO队列505成为能够输出时,即使与由频带信息426所指定的值对应的期间结束后,如果在该FIFO队列505中还有标识,则继续由其占有向缓存器型分组处理部件103的输出路径。另外,为了与ATM中的nrt-VBR(non Real TimeVariable Bit Rate)服务类型对应,在该FIFO队列505成为能够输出时,即使与由频带信息426所指定的值对应的期间结束后,如果在该FIFO队列505中还有标识,则到在频带信息426中追加指定的值为止的追加期间中,设置为能够从上述FIFO队列505进行输出。也可以与其他的服务类型对应。
图5的混列部件501由于将无数的分组流缩减为处理缓存器的条目数,所以对标识实施混列的结果是产生将不同的流分配到同一处理缓存器的条目中的状况。图5的结构是唯一地确定基于进行混列而得到的值的标记502的分配位置的直接映射方式的结构。直接映射方式容易实现,并且在数据读出时不进行不必要的选择逻辑,因此是高速的方法,但容易发生属于不同的流的标识被分配到同一条目中的状况,从提高缓存器的命中率这一点看是不利的。
所以,也可以进行以下的(N路)组关联方式:使其具有N个标记和FIFO队列部分,使得即使产生同一条目的分配也能够成为缓存器命中。在(N路)组关联方式中,如图11所示,可以将基于混列得到的值的分配位置增加到N个。在使用了(N路)组关联方式的标记和FIFO队列的情况下,对标识进行混列的结果是,如果有未登记的路(way),则将标识登记到上述未登记的路中。如果N处所有的分配位置都已经登记,则选择任意的路进行写入。另外,为了选择上述任意的路使得尽可能有效地利用登记在缓存器中的信息,而与在通常的处理器中利用的缓存器同样地,实现以下的算法,即选择最没有被利用的条目的LRU(Least Recently Used)算法,或选择最早的条目的FIFO(First In First Out)算法等。为了正确地实现LRU算法,每一个条目需要N!(N的阶乘)个比特的信息,为了正确地实现FIFO算法,每一个条目需要Log2N个比特的信息。
不论是在直接映射方式中,还是在(N路)组关联方式的情况下,都要求不同的流处于同一条目中,并且会产生对应的条目全部正在被利用的情况。在产生了上述状况的情况下,利用该条目的标记登记信息402的FIFO队列清空比特422、处理缓存器登记完毕比特423、处理缓存器正在登记比特424,对标识的登记进行控制。
可以从后续的标识开始写入该条目的情况是以下的情况,作为第一种情况,是标记502对应的条目为空的情况。作为第二种情况,是在标记502对应的条目中登记有流,但在对应的FIFO队列中完全没有应该处理的标识的情况。即,第一种情况是指“标记502对应的条目的处理缓存器登记完毕比特423是表示未登记的值(例如0),并且处理缓存器正在登记比特424是表示没有正在登记的值(例如0)的情况”。另外,第二种情况是指“标记502的对应条目的处理缓存器登记完毕比特423是表示登记完毕的值(例如1),并且FIFO队列清空比特422是表示FIFO队列为空的值(例如1)的情况”。
不能从后续的标识开始写入该条目的情况是以下的情况,作为第一种情况,是将流已经登记到标记502的对应条目中,并且在FIFO队列中积存了应该处理的标识的状态。作为第第二种情况,是只将流的先头分组登记到了标记502的对应条目中,向缓存器型分组处理部件103要求了上述先头分组的处理的状态。即,第一种情况是指“标记502对应的条目的处理缓存器登记完毕比特423是表示已经登记的值(例如1),并且FIFO队列清空比特422是表示FIFO队列不为空的值(例如0)的情况”。另外,第二种情况是指“标记502的对应条目的处理缓存器正在登记比特424是表示正在登记的值(例如1)的情况”。
在该条目的标记502正在被利用而无法写入的情况下,只登记无法写入的标识以后的标记502中造成竞争的标识。登记的内容如图4的440所示,是标识的固有信息401、分析信息402、抽出信息403、以及表示条目是有效的有效比特441。其方法是不使对能够写入的其他流的标识的标记502的存取停止,因此能够得到不降低标识的处理效率的效果。另外,待机缓存器507监视产生竞争的条目,如果成为能够写入的状态,则停止从分组分析部件202向标记502提供标识,而优先地从待机缓存器507向标记502存取先头的标识。
在难以实现上述那样的待机缓存器507的情况下,标识的处理效率降低,但作为其他实施例,有以下的方法,即将无法写入的标识以及其后的标识全部登记到待机缓存器507中。待机缓存器507监视产生竞争的条目,如果成为能够写入的状态,则停止从分组分析部件202提供标识,而在参照标记502时优先地从待机缓存器507存取先头的标识。
接收到标识的输出数据生成部件204向接收到的标识400中附加登记FIFO队列编号451、表示已经登记到处理缓存器中的处理缓存器登记完毕比特423、将后述的处理缓存器设置为组关联方式的情况下的路编号的信息453、与上述标识对应的原始的分组454,并以图4的450的形式传送到输出接口205,发送到缓存器型分组处理部件103。如果是流没有登记到处理缓存器中的状态,则处理缓存器登记完毕比特423被写入表示缓存器未登记状态的值(例如0),如果已经登记了流,则写入表示缓存器登记完毕状态的值(例如1)。
以后,缓存器用通信量控制部件102等待该标识的处理缓存器登记完成通知。在上述等待状态时,还将不同的流的先头标识、已经登记到处理缓存器中的标识从缓存器用通信量控制部件102发送到缓存器型分组处理部件103。可以根据信号208进行登记完成通知,如果处理缓存器登记完成,则将对应的标记502的条目的处理缓存器登记完毕比特423设置为表示登记完成的值(例如1),并发出该FIFO队列的第二个以后的标识。另外,在由于任意的原因而无法进行处理缓存器登记的情况下,处理缓存器登记完毕比特423为没有登记状态(例如0),再次与先头标识一样地对该FIFO队列的第二个标识进行处理。
接着,说明图3的缓存器型分组处理部件103的实施例的结构和分组处理动作。作为一个实施例,缓存器型分组处理部件103由输入接口301、分析部件302、处理缓存器303、缓存器失误处理部件304、分组处理部件305、后处理部件306、输出接口307、分组存储器310、表存储器320构成。为了实现低延迟并且高速的分组处理,理想的是上述缓存器型分组处理部件103的结构要素安装在单一的芯片上。对于分组存储器310和表存储器320,理想的是也利用混载DRAM技术和1T-SRAM技术等能够高密度安装的高速芯片存储器,与缓存器型分组处理部件103的其他构成要素安装在同一芯片上,但也可以选择将分组存储器310和表存储器320的一部分或全部安装在芯片外部。
输入接口301以图4的450的形式接收标识和分组。接着,利用分析部件302,参照所接收到的标识和分组450的处理缓存器登记完毕比特423,如果上述比特423是表示登记完毕的值(例如1),则将标识和分组传送到处理缓存器。如果上述处理缓存器登记完毕比特423是表示未登记的值(例如0),则将标识和分组传送到缓存器失误处理部件。
首先,说明缓存器登记完毕的标识的处理。缓存器登记完毕的标识由于不需要在分组处理部件305中进行处理,所以被传送到处理缓存器303。作为一个实施例,处理缓存器303如图7所示,由混列部件511、处理缓存器数据部件512、结合器513构成。在本实施例中,将处理缓存器的标记部分配置在缓存器用通信量控制部件102中,因此缓存器型分组处理部件103的处理缓存器303可以只保存数据部分。混列部件511使用与向缓存器用通信量控制部件102的标记502分配标识的混列部件501一样的混列处理。处理缓存器数据部件512存储在处理器中进行了处理后的由分组抽出信息α411和处理信息412构成的置换标识信息(图4的470)。
抽出信息α411是分组所利用的地址的改写或新追加头等的信息,以改写原来的抽出信息403的形式生成。如果没有变更,则保持原来的抽出信息403。另外,新追加头例如有MPLS的同步头、VLAN的头、IPv4或IPv6等的打包用的头等。
处理信息412是表示如何对原来的分组适用标识410的信息。例如表示怎样即插入、置换还是删除地,在分组的哪个位置上对包含在抽出信息α411中的信息的大小和上述信息进行处理,以及是利用于发出分组的废弃指示,或支持地址变换操作,或指定QoS信息、开关结构11、网络接口101的输出端口。
参照处理缓存器数据512的标识是已经判断出命中了的状态,根据通过本参照得到的置换标识信息470、参照中所利用的标识的固有信息401、分析信息402,由结合器513生成分组处理用标识(图4的410),并传送到后处理部件306。
图7的处理缓存器是直接映射方式,但在缓存器用通信量控制部件102的通信量管理部件203采用(N路)组关联方式的情况下,如图8所示,缓存器型分组处理部件的处理缓存器的数据部件303也采用(N路)组关联方式的结构。
接着,说明缓存器未登记的标识的处理。需要在分组处理部件305中对缓存器未登记的标识实施必要的处理。因此,传送到缓存器失误处理部件304。作为一个实施例,缓存器失误处理部件304如图9所示,由缓存器失误管理表701、处理信息管理表703、结合器704构成。初始失误表701记录了所接收到的标识的固有信息401、分析信息402、抽出信息403、登记FIFO队列编号451、缓存器路信息453,向分组处理部件305传送上述标识以及与之伴随的分组。
分组处理部件305根据需要,将所接收到的标识和分组记录到分组存储器310中。分组处理部件305的构成方法有各种方法,但作为有代表性的是:集成多个处理器,即使连续接收到标识和分组,也能够通过由多个处理器进行并行处理,来维持高吞吐量。分组处理部件305所实施的处理伴随着延迟比较长的存储器参照处理。具体地说,是以下的处理:参照存储在表存储器320中的变换表决定该分组的转送目的地的路径检索、用于决定是否使分组通过的过滤处理、用于转换为转送目的地的网络装置所能够处理的分组格式的打包处理、MPLS的头追加、置换、删除处理、VLAN用头的追加、置换、删除处理、地址变换处理等。到存储器参照返回结果为止,处理器的计算器是未被利用的状态,处理器的使用效率降低了。因此,也可以是以下的方法:使处理器成为多线程化而具备多个结构寄存器,如果处理某个分组的线程参照了存储器,则切换到对其他分组进行处理的线程,能够有效地利用计算器。在任意的方法中,如果结束了对分组的必要处理,则作为标识的抽出信息α411和处理信息412生成其结果,并返回到缓存器失误处理部件304。
另外,对于以下的处理可以向设置在外部的主处理器等提出要求,即在分组处理部件中进行处理时处理时间过长、过于复杂、或者被判断为不是网络装置的转送系统的处理的处理。例如,可以列举用于更新、维持路径信息的RIP(Routing Information Protocol)、OSPF(OpenShortest Path First)等的协议处理等。
缓存器失误处理部件304如果从分组处理部件305接收到处理结束的标识470,则将其登记到处理信息表703中。然后,从缓存器失误管理表701中读出对应的标识的登记FIFO队列编号451、缓存器路信息453,决定对应的处理缓存器数据的条目,并将处理信息表703的抽出信息α411和处理信息412登记到处理缓存器数据部件512中。另外,作为用于向缓存器用通信量控制部件102通知结束了对处理缓存器的对应标识的登记的信息,通过信号208,向缓存器用通信量控制部件102传送由以下部分构成的数据(图4的460):登记FIFO队列编号451;能够缓存比特461;作为可选的表示该流的优先顺序的优先顺序信息425;表示对该流许可的利用频带宽度的频带信息426。在此,在作为分组处理部件的处理结果是表示是能够登记到处理缓存器中的标识的情况(例如1)、以及是由于任意的原因而无法进行登记的标识的情况(例如0)下,能够缓存比特461的值是不同的。通常,设想能够登记到处理缓存器中的情况,但在针对原来的分组难以通过硬件进行对应而需要实施复杂的软件处理的情况等下,不登记到处理缓存器中,而全部由分组处理部件进行处理。
另外,从缓存器失误管理表701中读出对应的标识的固有信息401、分析信息402,从处理信息表703中读出抽出信息α411、处理信息412,并通过结合器704与在分组处理部件中进行了处理的标识结合后,传送后处理部件306。
如上述那样,后处理部件306从处理缓存器303或缓存器失误处理部件304接收处理完毕标识410。在从双方同时接收到处理完毕标识410的情况下,为了不改变同一流中的分组的顺序,而优先从缓存器失误处理部件304进行接收。
后处理部件306参照接收到的标识的分析信息402、处理信息412,对用于生成该标识的原始的分组454实施必要的处理。在有向分组新追加的头、或应该置换到头中的信息的情况下,由于有与该标识的抽出信息α411对应的信息,所以根据分析信息402和处理信息412中的信息,实施分组头的修正。
最后,在输出接口部件307中,将分组转换为能够发送的形式并输出。这时,如果开关结构与网络处理器的加速器连接,则向分组附加开关结构用的头信息。例如,包含开关结构的端口编号等,但它并不包含在标识中的抽出信息α411或处理信息412中,因此也可以利用它。如果与网络接口连接,则将分组转换为该网络接口所支持的层2或层3的形式并输出。另外,在输出目的地网络接口具有多个出口的情况下,仍然利用包含在标识中的端口编号来决定出口的网络接口。
以上,表示了将缓存器用通信量控制部件102和缓存器型分组处理部件103安装在不同的芯片中的例子,但如图10所示那样,也可以将两部分安装在单一芯片上。在该情况下,不需要在缓存器用通信量控制部件和缓存器型分组处理部件之间使用专用接口。
在利用缓存器的情况下,对于不同的多个数据集中利用缓存存储器上的同一条目,会产生各自的数据混乱写到缓存器条目中的被称为颠簸(thrashing)的状况,作为频繁改写缓存器条目的结果,缓存器的利用效率降低了。在实施例1中所述的(N路)组关联方式的处理缓存器和与其对应的通信量管理部件的FIFO队列就是用于降低颠簸的方法,但针对特定的条目,在能够实现的很小的N值的情况下,有可能无法充分抑制颠簸。
因此,作为本发明的缓存器用通信量控制部件的实施例2,表示为了防止因上述颠簸而产生的性能降低,而具备小容量的全关联处理缓存器和与上述小容量的全关联处理缓存器对应的标记和FIFO队列的缓存器用通信量控制部件的实施例。
全关联处理缓存器是指:在条目总数有N个的情况下,能够使登记的条目与N个位置中的任意位置对应的处理缓存器。全关联方式与直接映射方式和(N路)组关联方式相比,是最灵活的缓存器条目关联方式,最能够提高缓存器的命中率。但是,由于不唯一地确定条目的登记位置,所以为了高速地进行动作而同时对所有条目进行比较,就需要具有全部条目数目的比较器,因此安装的成本高。由于上述原因,现实的是为了支持(N路)组关联方式的缓存器而安装小规模的全关联方式的缓存器。
在本实施例2中,在图3中作为通信量管理部件203的内部结构而在图6所示的(N路)组关联的标记502和FIFO队列505的基础上,具有全关联的联想标记601和对应的FIFO队列602,成为图11所示的结构。联想标记601在内部对各条目具有比较器,能够对各条目独立地进行命中检查。为了实现联想标记601,适当地利用CAM(ContentAddressable Memory)。另外,也将对应的图3的处理缓存器303作为内部结构,在图8所示的(N路)组关联的数据512的基础上,具有与上述全关联的联想标记601对应的联想数据610,成为图12所示的结构。
说明本实施例2中的通信量管理部件203的动作。如果从分组分析部件202接收到标识,则根据由混列部件501实施了混列处理的标识对组关联方式的标记502进行参照,同时根据没有实施混列处理的原始的标识参照联想标记601。在本实施例2中,根据情况,将以下的2种管理方法适用于标识。
(1)在组关联方式的标记502命中的情况下,或者即使失误但还有没有在组关联方式的标记502中利用的路的情况下,与实施例1一样,通过组关联方式的标记502和与其伴随的FIFO队列505来进行标识的管理。
(2)在组关联方式的标记502失误,并且没有能够利用的条目的情况下,利用联想标记601所没有利用的条目,进行标识的管理。
为了指定条目在全关联处理缓存器中的存储位置,而向从图4的缓存器用通信量控制部件向缓存器型分组处理部件传送的传达信息405附加“全关联处理缓存器条目信息”。在决定缓存器型分组处理部件所具有的处理缓存器数据的数据存储条目时,利用上述全关联处理缓存器条目信息。
在本实施例2中,与实施例相比,在短时间内在不同的流群的分组中集中利用处理缓存器的同一条目的情况下有利。
[实施例3]
在实施例1、实施例2中,表示了重视安装效率而从缓存器型分组处理部件中分离处理缓存存储器的标记部分并配置到缓存器用通信量控制部件中的例子。图1的缓存器型分组处理部件103也可以是完全具有处理缓存存储器的标记部分和数据部分的形式。因此,作为实施例3,在图13中表示不只是数据部分,缓存器型分组处理部件103的处理缓存存储器还同时具有标记部分的结构。
在实施例3中,缓存器用通信量控制部件102的结构与实施例1和实施例2一样,但输出数据生成部件204在将信息传送到缓存器型分组处理部件103时,以从图4的450除去了固有信息401、分析信息402、抽出信息403的形式进行传送。
在本实施例3中,缓存器型分组处理部件103具备具有与缓存器用通信量控制部件102的分组分析部件202同样的功能的分组分析部件302。在上述分组分析部件302中,对来自缓存器用通信量控制部件102的接收分组进行分析,生成图4所示的标识400。另外,具备具有标记部分和数据部分的处理缓存器303。在图14中,以直接映射方式的情况为例,表示了上述处理缓存器303的结构。处理缓存器303具备标记部件502和数据部件512双方,并具备用于根据标识生成存取关键字的混列部件501、比较器503、结合器513。
上述处理缓存器303如果接收到标识400,则针对标识的分析信息402、抽出信息403的全体,通过混列部件501实施混列处理,生成对处理缓存器的标记部件502和数据部件512的存取关键字,并参照标记部件502。然后,通过比较器503对从标记部件502输出的分析信息402和抽出信息403的组、在生成存取关键字时所利用的上述标识的分析信息402和抽出信息403的组进行一致性检查,如果一致则作为处理缓存器命中,如果不一致则作为处理缓存器失误处理。在处理缓存器命中时,通过结合器513将作为数据部件512的输出的抽出信息α411和处理信息412与在生成存取关键字时所利用的上述标识的固有信息401和分析信息402结合起来,并传送到后处理部件306。在由分组处理部件305进行了处理后,将处理结果的标识470登记到处理缓存器303中。然后,与实施例1、实施例2一样,通过信号208以图4的460所示的形式传送缓存器登记完成通知。
[实施例4]
作为实施例4,说明从实施例3中去除了处理缓存器登记完成通知208的结构例子。在该情况下,由于缓存器用通信量控制部件102不知道流的第2个以后的分组的正确发出定时,所以如图15所示那样,对通信量管理部件203的各条目设置计时器520,如果计时器超过了阈值,则认为已经登记到缓存器型分组处理部件103的处理缓存器303中的可能性高,开始发出。
在本实施例4中,由于无法保证已经向处理缓存器登记了流的先头分组的处理结果,所以在作为原来的目标的同一流的分组连续到来时,无法完全抑制处理缓存器的命中率降低。
但是,如果使用本实施例4,则缓存器型分组处理部件103可以构成为无视缓存器用通信量控制部件102的存在。因此,在只安装了缓存器型分组处理部件103的网络装置中,可以追加安装包含本发明的缓存器用通信量控制部件102的功能的设备,而谋求上述网络装置的升级(抑制缓存器命中率降低)。
[实施例5]
在处理缓存器中失误的分组全部由分组处理部件处理。作为一个实施例,设想分组处理部件的负荷也很高的情况,需要具有吞吐量更高(处理速度快)的缓存器型分组处理部件的分组处理部件。在该情况下,如图16所示,有以下的方式,即作为另一个芯片从图10安装分组处理部件305、分组存储器310、表存储器320。在该情况下,在多个缓存器型分组处理部件中可以共有分组处理部件。而通信量管理部件203的方式可以与实施例1、实施例2、实施例3和实施例4的任意一个一样。
另外,在图16中,也可以进一步分割为缓存器用通信量控制部件和缓存器型分组处理部件进行安装。
以上,说明了本发明的利用了网络处理器加速器的网络装置和网络处理器加速器自身的实施例。本说明只不过是一个实施例的说明,并不限定本发明的范围,能够适用于各种变形例子中。
本发明的缓存器用通信量控制部件为了对在网络上传送的分组和帧等数据进行转送处理,而能够用于具有缓存器型分组处理部件的网络装置中。通过将本发明的缓存器用通信量控制部件与缓存器型分组处理部件合并使用,能够消除由于网络装置的网络通信量的到达顺序造成的缓存器失误、因上述缓存器失误造成的网络装置的处理速度下降。

Claims (25)

1.一种网络装置,其特征在于包括:
用于对输入的分组进行分类并作为流进行处理的分析部件;
具有用于对每个流记录对上述分组实施了的处理的多个条目的缓存器;
配置在上述缓存器的前级,与上述缓存器的条目一对一地对应,保存属于分配给对应的条目的流的分组的流管理用的队列群;
控制部件,其中
该控制部件进行以下处理:
首先,向上述缓存器发出未登记的流的先头的分组的处理请求,
接着,在接收到将上述先头分组的处理结果登记到了上述缓存器中的通知后,
使得保存在对应的上述队列中的分组访问上述缓存器,
进而,在对某流的分组进行保存的期间,如果有其他流的先头分组,则越过正在保存的上述缓存器未登记流而发出处理请求,
如果有某流的上述缓存器已经登记分组,则进行控制使得越过正在保存的上述缓存器未登记流而访问上述缓存器。
2.根据权利要求1所述的网络装置,其特征在于:
是以下这样的N路组关联形式:
记录通过哈希函数分配进行了流分类的信息的分组处理的缓存器的标记部分、记录分组处理的缓存器的数据部分、以及与上述缓存器的标记部分和数据部分的各条目对应的流管理用的队列的信息分配位置有N处,
其中,上述标记部分将分组中的在各网络层中利用的与协议或转送有关的信息、和从上述分组中抽出的头信息的一部分作为标记信息进行记录,上述数据部分将上述分组所利用的地址的改写信息或新追加头信息、和表示如何对上述分组适用上述改写信息或新追加头信息的信息作为数据信息进行记录。
3.根据权利要求1所述的网络装置,其特征在于还包括:
在分配进行了流分类的信息的流管理用的队列正在被使用的情况下,为了到上述流管理用队列被释放为止使上述进行了流分类的信息和此后的所有流待机,而暂时保存上述所有流的缓存器。
4.根据权利要求1所述的网络装置,其特征在于还包括:
在分配进行了流分类的信息的流管理用的队列正在被使用的情况下,为了到上述流管理用队列被释放为止使上述进行了流分类的信息和此后的同样的流待机,而暂时保存上述同样的流的缓存器。
5.根据权利要求1所述的网络装置,其特征在于:
在管理进行了流分类的信息的流管理用的队列中,在成为能够从多个上述流管理队列取出信息时,能够参照记载在信息中的优先顺序信息来选择取出信息的流管理队列。
6.根据权利要求1所述的网络装置,其特征在于:
在管理进行了流分类的信息的流管理用的队列中,在成为能够从多个上述流管理队列取出信息时,参照记载在信息中的频带控制信息和信息的大小,限制从输出信息的上述流管理队列的输出量。
7.根据权利要求1所述的网络装置,其特征在于:
在单一的设备上安装以下部分:记录分组处理的缓存器的标记部分,该标记部分将分组中的在各网络层中利用的与协议或转送有关的信息、和从上述分组中抽出的头信息的一部分作为标记信息进行记录;以及包含管理进行了流分类的信息的流管理用的队列的部位,
在与上述设备不同的设备上安装记录分组处理的缓存器的数据部分,该数据部分将上述分组所利用的地址的改写信息或新追加头信息、和表示如何对上述分组适用上述改写信息或新追加头信息的信息作为数据信息进行记录。
8.根据权利要求1所述的网络装置,其特征在于:
在单一的设备上安装以下部分:记录分组处理的缓存器的标记部分,该标记部分将分组中的在各网络层中利用的与协议或转送有关的信息、和从上述分组中抽出的头信息的一部分作为标记信息进行记录;包含管理进行了流分类的信息的流管理用的队列的部位;以及记录分组处理的缓存器的数据部分,该数据部分将上述分组所利用的地址的改写信息或新追加头信息、和表示如何对上述分组适用上述改写信息或新追加头信息的信息作为数据信息进行记录。
9.根据权利要求1所述的网络装置,其特征在于:
记录通过哈希函数分配进行了流分类的信息的分组处理的缓存器的标记部分、记录分组处理的缓存器的数据部分、以及与上述缓存器的标记部分和数据部分的各条目对应的流管理用的队列的信息分配位置有一个或一个以上,其中,上述标记部分将分组中的在各网络层中利用的与协议或转送有关的信息、和从上述分组中抽出的头信息的一部分作为标记信息进行记录,上述数据部分将上述分组所利用的地址的改写信息或新追加头信息、和表示如何对上述分组适用上述改写信息或新追加头信息的信息作为数据信息进行记录,
进而,具备:在上述进行了流分类后的分配位置正在被利用的情况下,能够自由分配的全关联方式的上述缓存器的标记部分、上述缓存器的数据部分、上述流管理用的队列。
10.根据权利要求7所述的网络装置,其特征在于:
具有与记录分组处理的缓存器的上述标记部分相当的功能的部位安装在具备流管理用的队列的设备上,而没有安装在具有记录分组处理的缓存器的上述数据部分的设备上。
11.根据权利要求1所述的网络装置,其特征在于:
在具备流管理用的队列的设备上安装有具有与记录分组处理的缓存器的标记部分相当的功能的部位,并且在具备记录分组处理的缓存器的数据部分的设备上也安装有上述标记部分,
其中,上述标记部分将分组中的在各网络层中利用的与协议或转送有关的信息、和从上述分组中抽出的头信息的一部分作为标记信息进行记录,上述数据部分将上述分组所利用的地址的改写信息或新追加头信息、和表示如何对上述分组适用上述改写信息或新追加头信息的信息作为数据信息进行记录。
12.根据权利要求11所述的网络装置,其特征在于:
即使将分组处理结果登记在记录分组处理的缓存器中,也不向流管理用的队列传送缓存器登记通知信号,
上述流管理用队列的各队列具有定时器,
在将上述流管理用队列的先头分组发送到分组处理部件后,使上述定时器开始计时,在超过了所设置的阈值的时刻,使得上述流管理用队列中的剩下的分组访问上述缓存器。
13.根据权利要求1所述的网络装置,其特征在于:
将生成被传送到记录分组处理的缓存器的分组处理结果的分组处理部件安装在与上述缓存器不同的设备上。
14.一种网络装置的控制方法,其特征在于:
为了将在网络上转送的分组作为流进行处理,而根据分组生成内部处理信息列,
上述内部处理信息列由以下部分构成:将使分组和内部处理信息列一对一地对应起来的信息、对每个分组都不同的信息组合起来的第1信息;用于识别上述分组的网络上的各层的协议种类的第2信息;从与上述分组的网络上的各层对应的头中抽出的第3信息,
根据上述第2信息和上述第3信息对分组进行流分类,
作为第4信息生成对上述分组实施了的处理,并根据需要改写第3信息,
使用缓存器和队列群,由上述队列群保存属于所分配的流的分组,其中该缓存器将上述第3、第4信息作为数据对每个流进行记录并适用于同样的流,该队列群设置在上述缓存器的前级并与上述缓存器的条目一对一地对应而用于流管理,
首先,向上述缓存器发出未登记的流的先头分组的处理请求,
接着,在接收到将上述先头分组的处理结果登记到了上述缓存器中的通知后,
使得保存于对应的上述队列中的分组访问上述缓存器,
进而,在对某流的分组进行保存的期间,如果有其他流的先头分组,则越过正在保存的上述缓存器未登记流而发出处理请求,
如果有上述某流的上述缓存器已经登记分组,则越过正在保存的上述缓存器未登记流而访问上述缓存器。
15.一种分组处理方法,是使用缓存存储器,将与先行的分组有关的处理结果记录到缓存存储器中,进行与先行的分组一样的处理的后续的分组的处理利用该缓存存储器的内容的缓存器型的分组处理方法,其特征在于包括:
接收分组的步骤;
对每个流分类该接收到的分组的步骤;
对每个流,维持分组的来到顺序地将对该每个流进行了分类的分组记录到FIFO型的队列中的步骤;
在没有将上述队列内的流的规定分组登记到缓存器中的情况下,对该规定分组进行处理并将处理结果存储到缓存存储器中,同时使同一队列内的规定分组以后的分组在队列中待机的步骤;
在将与上述规定分组有关的处理结果存储到缓存存储器中的操作结束后,对在上述队列中待机的分组进行处理的步骤。
16.根据权利要求15所述的分组处理方法,其特征在于:
越过在其他流中正在待机的分组,对其处理结果没有被登记到该缓存存储器中的各流的先头分组进行处理。
17.根据权利要求15所述的分组处理方法,其特征在于:
各队列具有所对应的缓存器,
包含以下步骤:
记录各队列所对应的缓存器的登记信息的步骤;
如果分组到达了没有登记到缓存器的状态的队列,则只对先头的分组进行处理,并等待将处理结果登记到上述缓存器中的步骤,其中
在向上述缓存器的登记结束了的时刻,开始对第2个以后的分组进行处理。
18.一种网络装置,具备:接收分组的输入接口;对接收到的分组进行分析和分类,对每个种类生成流的分组分析部件;对每个种类保持分组的接收顺序地管理上述生成的流的通信量管理部件;处理上述分组的分组处理部件;对每个上述流登记上述分组处理部件的处理结果的处理缓存器,其特征在于:该网络装置控制流,使得
(1)在上述分组处理部件中对处理结果没有被登记到上述处理缓存器中的第1流的第1分组进行处理,
(2)到上述第1分组的处理结果登记到上述处理缓存器中为止,使上述第1流的上述第1分组后面的分组待机,在登记后,使用上述处理缓存器的信息进行处理,
(3)在使上述第1流的第1分组后面的分组待机期间,在该正在待机的分组之前先处理第2流的分组。
19.根据权利要求18所述的网络装置,其特征在于:
上述通信量管理部件具有:对流的每个种类保持分组的接收顺序地保存与上述生成的流对应的内部处理信息列的队列,
存储到该队列中的内部处理信息列包含:表示对应的分组的处理结果是否登记到上述处理缓存器中的登记完成信息。
20.根据权利要求19所述的网络装置,其特征在于:
在上述分组处理部件的前级具有:根据上述登记完成信息,选择是在上述分组处理部件中对分组进行处理,还是参照上述处理缓存器进行处理的分析部件。
21.根据权利要求20所述的网络装置,其特征在于还包括:
根据上述分组处理部件的选择,在上述分组处理部件中处理分组的情况下,向上述通信量管理部件通知将该处理结果已经登记到上述处理缓存器中的情况的缓存器错误处理部件。
22.根据权利要求21所述的网络装置,其特征在于:
上述通信量管理部件根据来自上述缓存器错误处理部件的通知,将登记完成信息附加到上述内部处理信息列中。
23.根据权利要求22所述的网络装置,其特征在于:
上述通信量管理部件参照上述登记完成信息,对流进行控制。
24.根据权利要求18所述的网络装置,其特征在于:
上述第1流的第1分组是其处理结果没有登记到该处理缓存器中的第1流的先头分组。
25.根据权利要求18所述的网络装置,其特征在于:
上述第2流的分组是其处理结果没有登记到上述处理缓存器中的先头分组,或是其处理结果已经登记到处理缓存器中的后续的分组。
CN2005100897304A 2004-11-05 2005-08-05 网络装置的通信量控制方法 Expired - Fee Related CN1770734B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2004-321458 2004-11-05
JP2004321458A JP4483535B2 (ja) 2004-11-05 2004-11-05 ネットワーク装置
JP2004321458 2004-11-05

Publications (2)

Publication Number Publication Date
CN1770734A CN1770734A (zh) 2006-05-10
CN1770734B true CN1770734B (zh) 2010-09-08

Family

ID=36316264

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2005100897304A Expired - Fee Related CN1770734B (zh) 2004-11-05 2005-08-05 网络装置的通信量控制方法

Country Status (3)

Country Link
US (1) US7656887B2 (zh)
JP (1) JP4483535B2 (zh)
CN (1) CN1770734B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104346404A (zh) * 2013-08-08 2015-02-11 华为技术有限公司 一种访问数据的方法、设备及系统

Families Citing this family (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7272672B1 (en) * 2003-04-01 2007-09-18 Extreme Networks, Inc. High speed bus with flow control and extended burst enhancements between sender and receiver wherein counter is maintained at sender for free buffer space available
JP2006180162A (ja) * 2004-12-22 2006-07-06 Nec Corp パケット交換装置およびパケット交換方法
US7764612B2 (en) * 2005-06-16 2010-07-27 Acme Packet, Inc. Controlling access to a host processor in a session border controller
US7660306B1 (en) 2006-01-12 2010-02-09 Chelsio Communications, Inc. Virtualizing the operation of intelligent network interface circuitry
US7724658B1 (en) 2005-08-31 2010-05-25 Chelsio Communications, Inc. Protocol offload transmit traffic management
US7660264B1 (en) * 2005-12-19 2010-02-09 Chelsio Communications, Inc. Method for traffic schedulign in intelligent network interface circuitry
US7881320B1 (en) * 2005-12-12 2011-02-01 Xilinx, Inc. Parsing data from multiple digital bitstreams
JP4845522B2 (ja) * 2006-01-30 2011-12-28 シャープ株式会社 システムバス制御装置、集積回路およびデータ処理システム
US20070183416A1 (en) * 2006-02-07 2007-08-09 Mark Gooch Per-port penalty queue system for re-prioritization of network traffic sent to a processor
US7502775B2 (en) * 2006-03-31 2009-03-10 International Business Machines Corporation Providing cost model data for tuning of query cache memory in databases
JP4630262B2 (ja) * 2006-11-21 2011-02-09 日本電信電話株式会社 キャッシュシステム、キャッシュ装置、パケット処理装置、キャッシュ方法、パケット処理方法、キャッシュプログラム、およびパケット処理プログラム
JP2008205868A (ja) * 2007-02-21 2008-09-04 Nec Corp Ipフラグメントパケット処理装置及びそれに用いるipフラグメントパケット処理方法並びにプログラム
KR100881191B1 (ko) * 2007-03-27 2009-02-05 삼성전자주식회사 멀티 프로토콜 씨리얼 인터페이스 장치 및 그에 따른soc 장치
US8935406B1 (en) 2007-04-16 2015-01-13 Chelsio Communications, Inc. Network adaptor configured for connection establishment offload
US8060644B1 (en) 2007-05-11 2011-11-15 Chelsio Communications, Inc. Intelligent network adaptor with end-to-end flow control
US8589587B1 (en) 2007-05-11 2013-11-19 Chelsio Communications, Inc. Protocol offload in intelligent network adaptor, including application level signalling
JP5093043B2 (ja) * 2008-10-14 2012-12-05 富士通株式会社 レート監視装置
CN101420372B (zh) * 2008-10-16 2010-12-08 电子科技大学 一种片上网络缓存分配方法
EP2306322A1 (en) * 2009-09-30 2011-04-06 Alcatel Lucent Method for processing data packets in flow-aware network nodes
US8638791B2 (en) * 2009-11-24 2014-01-28 Verizon Patent And Licensing Inc. Heterogeneous forwarding information bases in line cards
JP5732806B2 (ja) 2010-10-15 2015-06-10 富士通株式会社 データ転送装置及びデータ転送方法
CN101986611B (zh) * 2010-11-30 2012-11-28 东南大学 基于两级缓存的快速组流方法
WO2013025456A1 (en) * 2011-08-15 2013-02-21 Bank Of America Corporation Method and apparatus for determining token-based privileges
US8732814B2 (en) 2011-08-15 2014-05-20 Bank Of America Corporation Method and apparatus for token-based packet prioritization
WO2013025455A1 (en) * 2011-08-15 2013-02-21 Bank Of America Corporation Method and apparatus for handling risk tokens
US8726361B2 (en) 2011-08-15 2014-05-13 Bank Of America Corporation Method and apparatus for token-based attribute abstraction
US8752143B2 (en) 2011-08-15 2014-06-10 Bank Of America Corporation Method and apparatus for token-based reassignment of privileges
US9253197B2 (en) 2011-08-15 2016-02-02 Bank Of America Corporation Method and apparatus for token-based real-time risk updating
US8910290B2 (en) 2011-08-15 2014-12-09 Bank Of America Corporation Method and apparatus for token-based transaction tagging
US9361443B2 (en) 2011-08-15 2016-06-07 Bank Of America Corporation Method and apparatus for token-based combining of authentication methods
US9055053B2 (en) 2011-08-15 2015-06-09 Bank Of America Corporation Method and apparatus for token-based combining of risk ratings
US8572683B2 (en) * 2011-08-15 2013-10-29 Bank Of America Corporation Method and apparatus for token-based re-authentication
EP2765742B1 (en) * 2011-10-05 2016-07-13 NEC Corporation Load reduction system, and load reduction method
CN103036794A (zh) * 2011-10-10 2013-04-10 华为技术有限公司 一种报文的学习方法、装置和系统
JP5812533B2 (ja) * 2012-05-31 2015-11-17 株式会社日立製作所 通信装置、及び、通信方法
US9231865B2 (en) * 2012-08-10 2016-01-05 Wisconsin Alumni Research Foundation Lookup engine with reconfigurable low latency computational tiles
JP6039965B2 (ja) 2012-08-22 2016-12-07 森永製菓株式会社 イムノクロマトグラフィー用デバイス
JP2014059606A (ja) * 2012-09-14 2014-04-03 Yamaha Corp 信号処理システムおよびプログラム
US9274826B2 (en) 2012-12-28 2016-03-01 Futurewei Technologies, Inc. Methods for task scheduling through locking and unlocking an ingress queue and a task queue
NZ768365A (en) * 2014-04-01 2022-04-29 Endace Tech Limited Hash tag load balancing
US9813362B2 (en) 2014-12-16 2017-11-07 Oracle International Corporation Framework for scheduling packets with multiple destinations in a virtual output queue network switch
US10270713B2 (en) * 2014-12-16 2019-04-23 Oracle International Corporation Scheduling packets with multiple destinations in a virtual output queue network switch
US10382380B1 (en) * 2016-11-17 2019-08-13 Amazon Technologies, Inc. Workload management service for first-in first-out queues for network-accessible queuing and messaging services
US11038869B1 (en) * 2017-05-12 2021-06-15 F5 Networks, Inc. Methods for managing a federated identity environment based on application availability and devices thereof
EP3791279A4 (en) 2018-05-11 2022-01-26 Cigent Technology, Inc. METHOD AND SYSTEM FOR ENHANCED DATA CONTROL AND DATA ACCESS
CN110912830B (zh) * 2018-09-17 2023-05-02 杭州海康威视系统技术有限公司 传输数据的方法和装置
CN110971532B (zh) * 2018-09-30 2023-07-21 阿里巴巴集团控股有限公司 一种网络资源管理方法、装置及设备
US11212106B2 (en) * 2019-01-02 2021-12-28 Bank Of America Corporation Data protection using universal tagging
US11349981B1 (en) 2019-10-30 2022-05-31 F5, Inc. Methods for optimizing multimedia communication and devices thereof
CN112333188B (zh) * 2020-11-04 2022-11-18 成都中科大旗软件股份有限公司 数据服务接口、日志监管方法、系统、存储介质及终端
CN116467353B (zh) * 2023-06-12 2023-10-10 天翼云科技有限公司 一种基于lru差异化的自适应调节的缓存方法及系统
CN117687763B (zh) * 2024-02-03 2024-04-09 成都医星科技有限公司 高并发数据弱优先处理方法、装置、电子设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6385204B1 (en) * 1999-11-22 2002-05-07 Worldcom, Inc. Network architecture and call processing system
US6714553B1 (en) * 1998-04-15 2004-03-30 Top Layer Networks, Inc. System and process for flexible queuing of data packets in network switching

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5905730A (en) 1997-04-04 1999-05-18 Ascend Communications, Inc. High speed packet scheduling method and apparatus
JP3306705B2 (ja) 1998-09-22 2002-07-24 富士通株式会社 パケット転送制御装置及びそのスケジューリング方法
US6327625B1 (en) * 1999-11-30 2001-12-04 3Com Corporation FIFO-based network interface supporting out-of-order processing
JP3526269B2 (ja) 2000-12-11 2004-05-10 株式会社東芝 ネットワーク間中継装置及び該中継装置における転送スケジューリング方法
US6889225B2 (en) * 2001-08-09 2005-05-03 Integrated Silicon Solution, Inc. Large database search using content addressable memory and hash
US20030037154A1 (en) * 2001-08-16 2003-02-20 Poggio Andrew A. Protocol processor
JP3872716B2 (ja) 2002-04-30 2007-01-24 富士通株式会社 パケット出力制御装置
JP2004260532A (ja) 2003-02-26 2004-09-16 Hitachi Ltd ネットワークプロセッサ
JP2005117206A (ja) 2003-10-06 2005-04-28 Hitachi Ltd ネットワークプロセッサアクセラレータ
US7573895B2 (en) * 2004-06-24 2009-08-11 Intel Corporation Software assisted RDMA
US7599361B2 (en) * 2004-07-02 2009-10-06 P-Cube Ltd. Wire-speed packet management in a multi-pipeline network processor

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6714553B1 (en) * 1998-04-15 2004-03-30 Top Layer Networks, Inc. System and process for flexible queuing of data packets in network switching
US6385204B1 (en) * 1999-11-22 2002-05-07 Worldcom, Inc. Network architecture and call processing system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104346404A (zh) * 2013-08-08 2015-02-11 华为技术有限公司 一种访问数据的方法、设备及系统
CN104346404B (zh) * 2013-08-08 2018-05-18 华为技术有限公司 一种访问数据的方法、设备及系统

Also Published As

Publication number Publication date
US20060098675A1 (en) 2006-05-11
US7656887B2 (en) 2010-02-02
JP4483535B2 (ja) 2010-06-16
JP2006135572A (ja) 2006-05-25
CN1770734A (zh) 2006-05-10

Similar Documents

Publication Publication Date Title
CN1770734B (zh) 网络装置的通信量控制方法
US6882642B1 (en) Method and apparatus for input rate regulation associated with a packet processing pipeline
US6934250B1 (en) Method and apparatus for an output packet organizer
US6757249B1 (en) Method and apparatus for output rate regulation and control associated with a packet pipeline
CN104579962B (zh) 一种区分不同报文的QoS策略的方法及装置
Duato et al. A new scalable and cost-effective congestion management strategy for lossless multistage interconnection networks
US8705363B2 (en) Packet scheduling method and apparatus
US7313142B2 (en) Packet processing device
US7227841B2 (en) Packet input thresholding for resource distribution in a network switch
US7944834B2 (en) Policing virtual connections
US7406041B2 (en) System and method for late-dropping packets in a network switch
CN101136854B (zh) 一种实现数据包线速处理的方法和装置
US20030026267A1 (en) Virtual channels in a network switch
JP2014187421A (ja) 通信装置及びパケットスケジューリング方法
US7346067B2 (en) High efficiency data buffering in a computer network device
García et al. Dynamic evolution of congestion trees: Analysis and impact on switch architecture
CN102971997B (zh) 包括数据分段和数据描述分段的分组缓冲器
JPH0879306A (ja) コンピュータ相互接続用フロー制御装置
CN109861931A (zh) 一种高速以太网交换芯片的存储冗余系统
US8670454B2 (en) Dynamic assignment of data to switch-ingress buffers
EP1694002B1 (en) Memory access in a shared memory switch
CN108712347A (zh) 一种交换机的数据传输系统及其传输方法
Escudero-Sahuquillo et al. FBICM: Efficient congestion management for high-performance networks using distributed deterministic routing
US8331380B2 (en) Bookkeeping memory use in a search engine of a network device
Li System architecture and hardware implementations for a reconfigurable MPLS router

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100908

Termination date: 20160805