CN1874313A - 处理数据包的方法和网络设备 - Google Patents
处理数据包的方法和网络设备 Download PDFInfo
- Publication number
- CN1874313A CN1874313A CNA2006100845821A CN200610084582A CN1874313A CN 1874313 A CN1874313 A CN 1874313A CN A2006100845821 A CNA2006100845821 A CN A2006100845821A CN 200610084582 A CN200610084582 A CN 200610084582A CN 1874313 A CN1874313 A CN 1874313A
- Authority
- CN
- China
- Prior art keywords
- packet
- memory device
- bit
- field
- port
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/742—Route cache; Operation thereof
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/12—Protocol engines
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种处理数据包的网络设备。所述网络设备包括将来自数据包的特定字段应用至相关联的存储设备的应用装置以及将给所述存储设备的输入与所述存储设备内的入口进行比较的比较装置。所述网络设备还包括通过所述存储设备选择需要与给存储设备的输入内的比特正确匹配的比特的激活装置。所述网络设备进一步包括通过所述存储设备输出匹配的入口的地址的输出装置以及将所述存储设备的匹配结果应用给一表中相关的入口以将所述表内与所述匹配相关的动作应用至所述数据包的应用装置。
Description
技术领字段
本发明涉及分组交换网络中的网络设备,更具体地说,涉及一种数据包分类并基于所述分类产生路由动作的系统和方法。
背景技术
分组交换网络可包括一个或多个网络设备,如以太网交换芯片,每个网络设备包括多个用于处理通过该设备传输的信息的模块。具体来说,所述设备包括输入模块、存储器管理单元(MMU)和输出模块。所述输入模块包括确定应该将数据包传输至哪个目的端口的交换功能。MMU用于存储数据包信息并执行资源检查。输出模块用于执行数据包修改和传输数据包至至少一个恰当的目的端口。所述网络设备上的端口之一可以是CPU端口,实现该设备发送信息给外部交换/路由控制实体或CPU,或从其接收信息。
当数据包从多个端口进入所述设备,它们被转发至输入模块,在此对数据包执行交换和其它处理。其后,数据包通过MMU和输出模块被传输至一个或多个目的端口。根据现有技术的交换系统结构,当数据包进入交换设备,快速滤波处理器检查数据包以及与该数据包相关的状态信息,为处理数据包建立多个输出。例如,输出之一可表示该数据包应被丢弃,以及,另一个输出可表示该数据包应被发送至特定的接口。所述设备包括有用于测量单位时间内多少数据包进入所述设备的测量机制。该测量机制的结果可影响快速滤波处理器的输出。
然而,现有技术中的快速滤波处理器很难调整至更高的带宽,且不能对穿过端口的数据包进行分类和/或滤波。现有的快速滤波处理器的搜索机制同样不能调整,并从而不能支持将来的具有多个10GE端口的设备增加的带宽要求。此外,某些应用可要求对数据包中的比特和/或字段进行滤波,而不仅是现有技术的快速滤波处理器所使用的80字节。然而,现有技术的快速滤波处理器在选择进行滤波的比特上不够灵活。
发明内容
根据本发明的一个方面,提供一种路由数据包的网络设备,所述网络设备包括:
处理器,所述处理器包括多个片,用于对数据包进行分类以及基于数据包的分类产生至少一个动作;
其中,所述多个片中的每一个片将来自数据包的特定字段应用于相关联的存储设备,所述存储设备将给所述存储设备的输入与所述存储设备内的入口(entry)进行比较,并为匹配的入口输出地址,并且其中,所述存储设备包括有每个存储器入口的掩码,实现对需要与给存储设备的输入内的比特准确匹配的比特的选择;以及
其中,所述多个片中的每一个片将所述存储设备的匹配结果应用给一个表中的相关入口,以应用与所述数据包相关的至少一个动作,其中所述至少一个动作用于路由数据包。
优选地,所述网络设备在一个标准字段和另一个非来自所述数据包的字段两者至少其一上对输入数据包进行分析,其中所述标准字段是与所述数据包相关的IP地址字段,所述另一个字段是与端口相关的端口标识符。
优选地,所述处理器使用来自所述IP地址的预定个比特,其中所述预定个比特基于将要执行的路由的类型来决定。
优选地,所述处理器使用所述IP地址字段和所述端口标识符从所述存储设备内获得匹配。
优选地,所述处理器使用所述匹配从所述表内获得相关动作,其中所述相关动作是第三层交换操作。
优选地,所述表基于所述相关动作提供下一个跳跃索引(hop index),其中所述下一个跳跃索引用于获得所述数据包的路由信息。
优选地,所述表包括存储装置,存储与所述匹配相关的动作,并且所述表包括一个入口与所述存储设备内的入口相对应。
根据本发明的一个方面,提供一种处理数据包的方法,所述方法包括如下步骤:
将来自数据包的特定字段应用至相关联的存储设备;
将给所述存储设备的输入与所述存储设备内的入口进行比较;
通过所述存储设备选择需要与给存储设备的输入内的比特正确匹配的比特;
通过所述存储设备输出匹配的入口的地址;
将所述存储设备的匹配结果应用给一表中相关的入口;
将所述表内与所述匹配相关的动作应用至所述数据包;以及,
基于来自所述表的动作路由所述数据包。
优选地,所述方法进一步包括:在一个标准字段和另一个非来自所述数据包的字段两者至少其一上对输入数据包进行分析,其中所述标准字段是与所述数据包相关的IP地址字段,所述另一个字段是与端口相关的端口标识符。
优选地,所述方法进一步包括:使用来自所述IP地址的预定个比特,其中所述预定个比特基于将要执行的路由的类型来决定。
优选地,所述方法进一步包括:使用所述IP地址字段和所述端口标识符从所述存储设备内获得匹配。
优选地,所述方法进一步包括使用:使用所述匹配从所述表内获得相关动作,其中所述相关动作是第三层交换操作。
优选地,所述方法进一步包括:基于所述相关动作提供下一个跳跃索引,其中所述下一个跳跃索引用于获得所述数据包的路由信息。
根据本发明的一个方面,提供一种处理数据包的设备,所述设备包括:
将来自数据包的特定字段应用至相关联的存储设备的应用装置;
将给所述存储设备的输入与所述存储设备内的入口进行比较的比较装置;
通过所述存储设备选择需要与给存储设备的输入内的比特正确匹配的比特的激活装置;
通过所述存储设备输出匹配的入口的地址的输出装置;
将所述存储设备的匹配结果应用给一表中相关的入口的应用装置;
将所述表内与所述匹配相关的动作应用至所述数据包的应用装置;以及,
基于来自所述表的动作路由所述数据包。
优选地,所述设备进一步包括:在一个标准字段和另一个非来自所述数据包的字段两者至少其一上对输入数据包进行分析的分析装置,其中所述标准字段是与所述数据包相关的IP地址字段,所述另一个字段是与端口相关的端口标识符。
优选地,所述设备进一步包括:使用来自所述IP地址的预定个比特的装置,其中所述预定个比特基于将要执行的路由的类型来决定。
优选地,所述设备进一步包括:使用所述IP地址字段和所述端口标识符从所述存储设备内获得匹配的装置。
优选地,所述设备进一步包括:使用所述匹配从所述表内获得相关动作的装置,其中所述相关动作是第三层交换操作。
优选地,所述设备进一步包括:基于所述相关动作提供下一个跳跃索引的装置,其中所述下一个跳跃索引用于获得所述数据包的路由信息。
附图说明
下面将结合附图及实施例对本发明作进一步说明,附图中:
图1是实现本发明一个实施例的网络设备的示意图;
图2是本发明集中输入(ingress)管线结构的示意图;
图3是本发明一个实施例中的快速滤波处理器的示意图;
图4是本发明一个实施例中的一个处理器片的示意图;
图5是本发明快速滤波处理器中的范围检查机制的示意图。
具体实施方式
以下将结合附图介绍本发明的优选实施例。
图1所示为实现本发明一个实施例的网络设备,如交换芯片。设备100包括输入(ingress)模块102、MMU 104和输出(egress)模块106。输入模块102用于对输入数据包执行交换操作。MMU 104用于存储数据包和对每个数据包执行资源校验。输出模块106用于执行数据包修改,并传输数据包至恰当的目的端口。输出模块102、MMU 104和输出模块每个均包括有多个周期,处理该模块产生的指令。设备100执行管线方法来处理输入数据包。根据本发明,设备100具有管线能力以每个时钟周期处理一个数据包。根据本发明的一个实施例,设备100包括133.33MHz的核心时钟。这表示设备100能够以133.33M数据包/秒进行处理。
设备100也可包括一个或多个内部光纤高速端口,例如,HiGigTM、高速端口108a-108x、一个或多个外部以太网端口109a-109x和CPU端口110。高速端口108a-108x用于连接系统中各种网络设备,并因此构成内部交换光纤网,用于在外部源端口和一个或多个外部目的端口之间传输数据包。因此,高速端口108a-108x在包括有多个互连的网络设备的系统外部是不可见的。CPU端口110用于发送数据包至外部交换/路由控制实体或CPU,以及从其接收数据包。根据本发明的一个实施例,CPU端口110可视为外部以太网端口109a-109x之一。设备100通过CPU处理模块111如CMIC与外部/片外CPU进行交互,CPU处理模块111与将设备100连接至外部CPU的PCI总线连接。
网络信息流通过外部以太网端口109a-109x进入和离开设备100。具体来说,设备100中的信息从外部以太网源端口被路由至一个或多个特定目的以太网端口109a-109x。在本发明的一个实施例中,设备100支持物理以太网端口和逻辑(主干(trunk))端口。物理以太网端口是设备100上的物理端口,通过全局端口标识符标识。在一个实施例中,所述全局端口标识符包括模块标识符和本地端口号码,唯一地标识设备100和特定的物理端口。所述主干端口是一组物理外部以太网端口,用作一个链路层端口。每个主干端口被分配有一个全局主干组标识符(TGID)。根据一个实施例,设备100可支持最高128个主干端口,其中每个主干端口有多达8个成员,并可最高支持29个外部物理端口。设备100上的目的端口109a-109x可以是物理外部以太网端口或主干端口。如果一目的端口是主干端口,设备100通过使用杂乱信号(hash)动态地选择主干内的物理外部以太网端口以选择一个成员端口。该动态选择可使设备100允许在主干内的端口间进行动态负载共享。
一旦数据包通过源端口109a-109x进入设备100,该数据包将传输给输入模块102进行处理。数据包可从XBOD或GBOD进入设备100。XBOD是具有一个10GE/12G MAC且支持来自高速端口108a-108x的数据包的模块。GBOD是具有1210/100/1G MAC且支持来自端口109a-109x的数据包的模块。
图2是输入模块102的集中输入管线结构200的示意图。输入管线200处理输入数据包,首先确定输出位图(bitmap),并在某些情况中,算出数据包的哪一部分可被修改。输入管线200包括数据保持寄存器(data holdingregister)202、模块头保持寄存器(module header holding register)204、仲裁器206、配置阶208、剖析器阶210、丢弃阶212和交换阶213。输入管线200从XBOD、GBOD或CPU处理模块111接收数据,并将单元数据存储在数据保持寄存器202中。仲裁器206负责调度来自GBOD、XBOD和CPU的请求。配置阶208用于建立一个具有所有交换所需的主要端口特定字段的表。剖析器阶210剖析输入数据包和高速模块头,如果存在,通过第三层(L3)隧道查表法处理隧道数据包(tunnelled packet),生成用户定义的字段,校验外部IPv4(IP协议第4版本)报头上的IPv4校验和,执行地址校验,并为下行查找处理准备相关的字段。丢弃阶212查找各种早期的丢弃条件,并丢弃该数据包和/或阻止其通过管线200发送。交换阶213执行输入管线200中的所有交换处理,包括地址解析。
根据本发明的一个实施例,该输入管线包括1个1024比特的单元数据保持寄存器202和一个96比特的模块头寄存器204用于XBOD或GBOD。数据保持寄存器202在仲裁之前累加输入数据至一个接近128字节的单元,模块头寄存器204存储输入的96比特模块头,以便随后在输入管线200中使用。具体来说,保持寄存器202存储输入状态信息。
输入管线200每6个时钟周期调度一次来自XBOD和GBOD的请求,并发送信号至每个XBOD和GBOD以指出来自XBOD和GBOD的请求何时将被调度。CPU处理模块111每次传输一个单元给输入模块102,并等待输入模块102已使用该单元的指示,之后才发送随后的单元。输入管线200基于哪个源由仲裁器206授权访问输入管线200来对来自XBOD、GBOD和CPU处理模块的信号进行多路复用。接收到来自XBOD或GBOD的信号之后,通过寄存器缓存202计算源端口,将XBOD或GBOD连接映射至设备100上特定的物理端口号,以及寄存器202将与调度的单元相关的信息传送至仲裁器206。
当仲裁器206接收来自寄存器202的信息,仲裁器206可发布数据包操作码、指令操作码或FP刷新码三者中的至少一个,这取决于资源冲突。根据一个实施例,仲裁器206包括主仲裁器207和辅仲裁器209。主仲裁器207是基于时间多路复用(TDM)的仲裁器,负责调度来自GBOD和XBOD的请求,其中来自主仲裁器207的请求被给予最高的优先权。辅仲裁器209调度所有非XBOD/GBOD请求,包括CPU数据包访问请求、CPU存储器/寄存器读/写请求、学习操作(learn operation)、时效操作(age operation)、CPU表插入/删除请求、刷新请求和速率限制计数器刷新请求。辅仲裁器209的请求基于主仲裁器207的可用时隙(slot)进行调度。
当主仲裁器207授予XBOD或GBOD一个时隙时,该单元数据从寄存器202中取出,并与其它来自寄存器202的其他信息一起在输入管线200内向下发送。在对XBOD/GBOD单元进行调度后,主仲裁器207将特定状态位转送给辅仲裁器209。
辅仲裁器209也负责在特定周期内执行所有资源校验,以确保同时发布的任何操作不访问相同的资源。因此,辅仲裁器209在每个请求周期能调度最多一个指令操作码或数据包操作码。根据一个实施例,辅仲裁器209执行资源校验处理和严格优先权仲裁方案。资源校验处理需要考虑所有可能的待决请求以基于其使用的资源确定发送哪个请求。本发明一个实施例中执行的严格优先权仲裁方案,要求给予CPU访问请求最高的优先权,给予CPU数据包传输请求第二高优先权,给予速率刷新请求第三高优先权,给予CPU存储器重置操作第四高优先权,由辅仲裁器209给予学习和时效操作第五高优先权。处理单元数据后,辅仲裁器209传输数据包信号至配置阶208。
配置阶208包括端口表,具有交换需要的所有主要端口的特定字段,其中一个入口(entry)与一个端口相关。配置阶208还包括多个寄存器。当配置阶208从仲裁器206获得信息时,配置阶208在第一周期内设置所述端口表的输入,并在第二周期内对其它端口特定寄存器的输出进行多路复用。在第二周期结束时,配置阶208发送输出给剖析器阶210。
剖析器阶210管理输入管线缓存,当查找请求遍历管线200时,其保持128字节的单元。当查找请求达到管线200的末端时,将数据从输入管线缓存取出并发送至MMU 104。如果高速端口接收到数据包,伴随数据包的96比特模块头由剖析器阶210进行剖析。所有子算都经过剖析后,剖析器阶210将输入单元数据写入输入管线缓存,并沿该管线向下传递写指针。因为数据包数据被写入输入管线缓存,该数据包数据不需要进一步传输,且经过剖析的模块头信息将被丢弃。丢弃阶212随后查找各种早期的丢弃条件,并且,如果一个或多个条件出现,丢弃阶将丢弃该数据包和/或防止其通过芯片发送。
交换阶213对输入数据包执行地址解析处理和其它交换操作。根据本发明的一个实施例,交换阶213包括第一交换阶214和第二交换阶216。第一交换平台214决定任何丢弃条件,执行BPDU处理,检查第二层源站运动(Layer 2station movement),和决定第二层和第三层单播数据包、第三层多点传送数据包以及IP多点传送数据包的大多数目的地处理。第一交换阶214也通过选择性地复制不同种类的协议数据包至CPU或丢弃该数据包来执行协议数据包控制交换。第一交换阶214进一步执行所有源地址校验,并确定在工作站移动的情况下第二层入口是否需要进行学习或重新学习。第一交换阶214进一步执行目的地呼叫以确定如何基于目的地交换信息交换数据包。具体来说,第一交换级214计算出用于单播数据包的目的端口或多点传送数据包的端口位图,计算新的优先级,选择性地限制传送至CPU的数据包以及根据各种错误条件丢弃数据包。第一交换阶214进一步处理与来自端口109a-109i的交换处理分开的高速交换处理,并基于阶头操作码(stage header operation code)交换输入高速数据包。
在第一交换阶214处理数据包后,生成用于多点传送数据包(multicastpacket)的目的端口位图,以及为单播数据包传输单播端口/主干至随后的阶。快速滤波处理器(FFP)随后主要基于来自数据包的字段对该数据包进行滤波。
图3是本发明一个实施例的快速滤波处理器的示意图。FFP 300包括多个片(slice)302a-302x,用于对数据包进行分离并基于该分类产生动作;至少一个范围校验机制304,对源和目的端口数量执行范围校验;以及链接机制306,用于将用于确定匹配的数据的量加倍。
当数据包被输入管线处理时,剖析器可剖析标准以太网字段和/或用户定义字段。例如,剖析器可剖析48比特目的MAC地址、48比特源MAC地址、16比特以太网类型、16比特外部VLAN标签、16比特内部VLAN标签、32比特目的IPv4地址、32比特源IPv4地址、128比特目的IPv6地址、128比特源IPv6地址、8比特IP协议、2比特IP标记、6比特TCP标记、IPv6字段、16比特目的TCP/UDP端口、16比特源TCP/UDP端口和8比特DSCP字段。根据一个实施例,两个用户定义字段也可由剖析器剖析。每个用户定义字段为128比特宽,由来自数据包的前128个字节中的任意4组4个临近字节组成。当数据包到达FFP 300,其也可获得其他非直接来自数据包的字段。例如,FFP300可应用源端口和模块标识符、目的端口和模块标识符、丢弃状态、查找状态、数据包格式信息、IP信息、数据包解析信息和模块头选项码(option code)。
图4进一步展示了本发明一个实施例中的片302。根据本发明的一个实施例,FFP 300可包括多达16个片302,每个片基于字段选择方法工作,其中特定字段从输入数据包中剖析,并应用至下面将描述的三重内容可寻址存储器(TCAM)。具体来说,每个片302包括TCAM 402、字段选择器404、策略表406、动作决定模块408。每个片302还包括一组计数器410和一组测量器(meter)412。片302的数量和每个片302的入口数量不影响FFP 300的性能。FFP 300每个时钟周期处理一个数据包,因此有足够的带宽和133MHz的时钟以同时支持4GE端口和4-10GE端口或12Gbps高速端口。需要注意的是,每个片302是一个独立的搜索机制,能够创建动作并更新测量器412和计数器410。因此,如果在一个实施例中,有16个片302,将有16个独立的滤波器并行运行。因此每个数据包可产生16次匹配,以及16次测量器更新和16次计数器更新。
每个片302使用相关的TCAM 402进行数据包分类。TCAM 402是一种支持插入和删除的存储器,将主输入总线(在本发明的一个实施例中是存储器的宽度)与其所有入口进行比较,并为匹配的入口输出一个地址。TCAM 402具有每个存储器入口的掩码以实现比特的选择,在每个入口中,需要准确地与主输入数据总线的比特相匹配才能确定一个匹配关系。如果有不止一条的匹配,TCAM 402基于匹配的地址对多个匹配排优先次序。片302内相关的软件对TCAM 402内的入口进行适当的优先排序。在一个实施例中,具有最低物理地址的入口被分配给最高的优先权。
当该软件在内容可寻址存储器内插入一个规则(rule)时,该软件确定其插入的规则在同一字段内的所有规则中的优先级。为了辅助具有相同特性的一组规则内一个规则的插入或删除,FFP 300为读和写命令提供地址视图(addressview),该读和写命令能使软件访问包括有TCAM密钥、TCAM掩码和相关的策略表数据的入口。这允许该软件可直接地或通过直接存储器访问机制移动整个入口,与FFP 300保持一致。
策略表406用于存储与TCAM 402的匹配相关的动作。策略表406内针对TCAM 402的每个入口包括有一个对应的入口,策略表406中相关的入口包括有与TCAM入口相关联的所有动作。在一个实施例中,策略表406中有4种类型的动作。简档ID(profile ID)表示简档独立动作位,红色简档字段表示红色简档动作位,黄色简档字段表示黄色简档操作位,绿色简档字段表示绿色简档动作位。基于策略表406中的动作位,设备100可丢弃、替代、重定向(redirect)和/或复制信息至CPU。
给定进入FFP 300的信息组合的数量,本发明的一个实施例将应用给每个片302的字段分割为3节(section)。根据本发明的一个实施例,每个TCAM入口包括所述3节。具体来说,每个入口包括32比特的第一字段节(first fieldsection)、128比特的第二字段节、16比特的第三字段节、输入端口位图(IPBM)选择位、空位、5比特的源端口号、高速数据包位和2比特的有效字段。该有效字段表示入口是否有效以及是否应用于对比;源端口号用于匹配特定的TCAM端口是编程给哪个端口的;高速数据包位表示该数据包是否是高速数据包;以及,IPBM选择位表示第一字段节被编程以使用IPBM作为输入。第一字段包括最高32比特的IPBM。因此,如果用户选择IPBM,那么将对TCAM应用额外的掩码。该机制因此允许多个端口共享TCAM入口中的一个规则。在一个实施例中,用户可根据哪个端口被允许匹配该规则而对TCAM入口第一字段节进行编程,并且设备100通过将全局掩码(global mask)和该入口的相关掩码比特逻辑合并来确保只有那些端口确实匹配该规则。每个端口基于每个片具有针对第一字段、第二字段和第三字段的选择器。
本发明的一个实施例每个片302包括128个测量器412。测量器412被分割位64个偶数测量器和64个奇数测量器,其中,在策略表406中,为每组测量器412提供有索引、测试和更新位。测量器索引字段表示该组128个测量器中哪个测量器用于测试和/或更新。该测量器索引字段用于操作的默认、信息流(flow)和彩色(color)模式。如果选择默认模式,数据包被定为绿色,且没有真正的漏斗(bucket)更新发生。信息流模式是正常模式,该模式中所有选择的漏斗必须在简档表中,因为数据包被认为在简档表中。色盲模式仅基于每个漏斗的简档表状态确定输入数据包的颜色。辨别颜色模式基于每个漏斗的简档表状态和数据包的输入颜色确定输入数据包的颜色。测试和更新位仅用于信息流模式。测试位表示在确定简档表状态(profile status)或数据包颜色时,应考虑测量器。更新位表示测量器应基于数据包的颜色进行更新。在信息流模式,由测试位测试的所有测量器必须在简档表中,以确定该数据包为绿色,或者否则为红色。如果确定该数据包为绿色,那么更新位打开的所有测量器将被更新。如果是信息流模式,至少一个测量器必将被测试位选择。多个策略表入口可指向相同的测量器索引,其中一个入口可在一个模式中使用两个测量器,第二入口可在不同的模式中使用两个测量器。
本发明的一个实施例中每个片302包括128个计数器410。每个计数器的宽度是32比特。策略表404包括计数器索引字段和计数器模式字段,控制计数器410的更新。每个片302中的完全匹配能够更新一个计数器对中的一个计数器410。策略表404字段指出更新哪个计数器,以及如何更新该计数器。计数器索引指出使用哪个计数器对,其中该计数器对包括上部计数器和下部计数器。
图5是FFP300内执行的范围校验机制(range checking mechanism)304的示意图。范围校验机制304与具有16个入口的范围校验表502相关,16个入口中的每个包括16比特de下界限504、16比特的上界限506、激活位508和源-目的地选择位510。上界限和下界限504和506定义选定的端口号落入的范围。激活位508表示范围校验器304是否运行,源-目的地选择位510确定范围校验器304是否正在校验源或目的地UDP端口号。根据一个实施例,FFP300包括16个范围校验器304。每个范围校验器304的结果可选作给TCAM 402的一组输入中的一个。因此,范围校验器304是分类机制的一部分。
FFP 300包括链接机制403,将用于确定完全匹配的数据的数量加倍。这样的话,在2个片402内肯定有一个匹配关系,以产生任何动作。策略表406中的任何入口均可设置为链式。然而,在一个实施例中,只有偶数/奇数片对可用于扩展匹配数据。因此,片N中的一个入口仅可与片N+1中的一个入口链接。当TCAM入口匹配输入密钥(input key)时,读取策略表406以确定链接位(chain bit)是否被设置。如果偶/奇对如片0和片1中的两个TCAM入口,均找到匹配,且两者在其对应的策略表入口中均设置有链接位,那么该2个片是链接在一起的。为了确定一个片是否将被链接,要确定选择或允许偶数片中的哪个入口链接至奇数片内的入口。如果在该入口中设置了链接位,控制偶数片中哪个入口被允许链接至奇数片内的一个入口的机制将再使用或覆盖该奇数片的策略表406入口内的比特。被覆盖的8个比特包括一个有效位和7个比特索引,表示偶数片中哪个入口被允许链接至奇数片中的入口。
本发明的一个实施例包括用于IPv4路由和IPv6路由的第三层表(Layer 3table)。如上所述,剖析器可剖析48比特目的MAC地址、48比特源MAC地址、16比特以太网类型、16比特外部VLAN标签、16比特内部VLAN标签、32比特目的IPv4地址、32比特源IPv4地址、128比特目的IPv6地址、128比特源IPv6地址、8比特IP协议、2比特IP标记、6比特TCP标记、IPv6字段、16比特目的TCP/UDP端口、16比特源TCP/UDP端口和8比特DSCP字段。当数据包到达FFP 300,它也可获得其它不直接来自数据包的字段。例如,源端口和模块标识符以及目的端口和模块标识符。如果FFP 300将被用于确定IPv4数据包的路由动作,该IP地址中的32比特和TCP端口数字将被用于查找TCAM 402中的一个入口。如果FFP 300将用于确定IPv6数据包的路由动作,该128比特IP地址中的上64比特和该TCP端口数被用于查找TCAM 402中的一个入口。使用的来自IP地址的比特,可从IP源地址或IP目的地地址获得。因此,将根据该IP地址和端口数生成路由表(route table)。当在TCAM402中找到匹配时,策略表404产生相关的动作。在本发明的一个实施例中,该动作是第三层交换动作,生成下一个跳跃索引,用于获取输出端口、第三层接口(Layer 3interface)、MAC地址、VLAN和其它路由信息。
参照图2,第二交换阶216随后执行FFP动作分解(action resolution)、源端口移除、主干分解(trunk resolution)、高速中继(high speed trunking)、端口屏蔽、CPU优先级处理、端对端线线头(HOL)资源校验、资源校验、镜像和最大传输长度(MTU)校验以检验输入/输出数据包的大小小于最大传输长度。第二交换阶216采用第一交换阶216的交换决定,任何层路由信息和FP重定向以产生交换的最终目的地。第二交换阶216还从目的地端口位图中移除源端口,并执行主干分解处理以解决单播数据包的目的地端口、输入镜像至端口和输出镜像至端口的中继。第二交换阶216还通过检查源端口是否是高速主干组的一部分来执行高速中继,如果是,移除该源高速主干组的所有端口。第二交换阶216进一步通过执行各种原因的屏蔽,包括网格化(meshing)和输入屏蔽(egress masking),执行端口屏蔽。
处理数据包后,该数据包将被传递至MMU 104,MMU 104再转发至输出模块106。从MMU 104接收数据包后,输出模块106支持72千兆字节端口带宽和CPU处理带宽的多个输出功能。根据一个实施例,输出模块106能够处理大于72千兆字节的信息量,即,24个1GE端口,4个高速端口(12G)和0.2GE的CPU处理端口。输出模块106从MMU 104接收原始数据包,该数据包由以太网端口109a-109i输入,并可传输修改后的或未修改的数据包至目的地端口109j-109x。根据本发明的一个实施例,设备100的所述数据包修改在输出模块106内完成,并且输出模块106的核心处理运行速度比目的地端口109j-109x的处理速度更快。因此,输出模块106可基于每个端口提供失速机制(stall mechanism)以防止端口109j-109x超负荷,并因此基于每个端口的速度服务每个端口。
在本发明的一个实施例中,输出模块106通过1024比特数据接口连接至MMU 104,且所有传输自MMU 104的数据包均通过输出模块106。具体来说,MMU 104传递未修改的数据包和控制信息给输出模块106。该控制信息包括表查找的结果和输入模块102中作出的交换决定。来自MMU 106的总线由所有端口108和109以及CPU处理模块111共享。因此,该总线使用“基于请求的”TDM方案,其中每个千兆端口在数据总线上每72个周期轮流(turn)一次,每个高速端口108每6个周期轮流一次。CPU处理数据包数据在总线的空闲期间进行传输。从MMU 104接收信息后,输出模块106剖析数据包数据,执行表查找,执行交换逻辑,修改,排列并进一步缓存该数据包,然后将该数据包传输至恰当的目的端口109i-109j。
输出模块106通过32比特S-总线接口连接至CPU处理模块111,CPU使用该S-总线接口发送请求给输出模块106。该请求一般用于读取输出模块的资源,例如,寄存器、存储器和/或状态计数器。接收到请求后,输出模块106转换该请求为命令,并使用下面将介绍的机制在管线上有可用时隙时向管线内存储和插入CPU指令。
基于上述实施例,本领域技术人员能够理解的是,上述的本发明的配置可嵌入半导体基层如硅上,使用合适的半导体生产技术和电路布图。基于本申请中的结构描述,半导体设计和生产领域的技术人员能够在一个半导体基层上实施本发明的各种模块、结构和表、缓存等等。本发明的范围还包括将本申请中描述的内容实现在离散电子部件上,从而利用本发明的功能特征,但也不会扩大使用单个半导体基层的优势。能够理解的是,通过使用FFP,不需要用于基于策略路由的专用表。用户可以灵活地选择感兴趣的字段来确定其自己的基于策略的路由。
参照本发明,网络设备可以是任何使用网络数据的设备,可包括交换机、路由器、网桥、网关。此外,尽管在本说明书具体强调数据包的处理,本申请中的数据包可包括任何数据报、数据包和单元,或网络设备间交换的任何类型的数据。
以上是对本发明具体实施例的描述。很明显,可以对这些实施例进行其他的修改和变化,获得本发明全部或部分的有益效果。因此,本发明的范围和精神实质由本发明的权利要求确定。
本申请引用并要求申请日为2005年6月2日的美国临时专利申请No.60/686,400以及申请日为2005年11月30日的美国专利申请No.11/289,687的优先权。
Claims (10)
1、一种路由数据包的网络设备,所述网络设备包括:
处理器,所述处理器包括多个片,用于对数据包进行分类以及基于数据包的分类产生至少一个动作;
其中,所述多个片中的每一个片将来自数据包的特定字段应用于相关联的存储设备,所述存储设备将给所述存储设备的输入与所述存储设备内的入口进行比较,并为匹配的入口输出地址,并且其中,所述存储设备包括有每个存储器入口的掩码,实现对需要与给存储设备的输入内的比特准确匹配的比特的选择;以及
其中,所述多个片中的每一个片将所述存储设备的匹配结果应用给一个表中的相关入口,以应用与所述数据包相关的至少一个动作,其中所述至少一个动作用于路由数据包。
2、如权利要求1所述的网络设备,其特征在于,所述网络设备在一个标准字段和另一个非来自所述数据包的字段两者至少其一上对输入数据包进行分析,其中所述标准字段是与所述数据包相关的IP地址字段,所述另一个字段是与端口相关的端口标识符。
3、如权利要求2所述的网络设备,其特征在于,所述处理器使用来自所述IP地址的预定个比特,其中所述预定个比特基于将要执行的路由的类型来决定。
4、如权利要求2所述的网络设备,其特征在于,所述处理器使用所述IP地址字段和所述端口标识符从所述存储设备内获得匹配。
5、一种处理数据包的方法,所述方法包括如下步骤:
将来自数据包的特定字段应用至相关联的存储设备;
将给所述存储设备的输入与所述存储设备内的入口进行比较;
通过所述存储设备选择需要与给存储设备的输入内的比特正确匹配的比特;
通过所述存储设备输出匹配的入口的地址;
将所述存储设备的匹配结果应用给一表中相关的入口;
将所述表内与所述匹配相关的动作应用至所述数据包;以及,
基于来自所述表的动作路由所述数据包。
6、如权利要求5所述的方法,其特征在于,所述方法进一步包括:在一个标准字段和另一个非来自所述数据包的字段两者至少其一上对输入数据包进行分析,其中所述标准字段是与所述数据包相关的IP地址字段,所述另一个字段是与端口相关的端口标识符。
7、如权利要求6所述的方法,其特征在于,所述方法进一步包括:使用来自所述IP地址的预定个比特,其中所述预定个比特基于将要执行的路由的类型来决定。
8、一种处理数据包的设备,所述设备包括:
将来自数据包的特定字段应用至相关联的存储设备的应用装置;
将给所述存储设备的输入与所述存储设备内的入口进行比较的比较装置;
通过所述存储设备选择需要与给存储设备的输入内的比特正确匹配的比特的激活装置;
通过所述存储设备输出匹配的入口的地址的输出装置;
将所述存储设备的匹配结果应用给一表中相关的入口的应用装置;
将所述表内与所述匹配相关的动作应用至所述数据包的应用装置;以及,
基于来自所述表的动作路由所述数据包。
9、如权利要求8所述的设备,其特征在于,所述设备进一步包括:在一个标准字段和另一个非来自所述数据包的字段两者至少其一上对输入数据包进行分析的分析装置,其中所述标准字段是与所述数据包相关的IP地址字段,所述另一个字段是与端口相关的端口标识符。
10、如权利要求9所述的设备,其特征在于,所述设备进一步包括:使用来自所述IP地址的预定个比特的装置,其中所述预定个比特基于将要执行的路由的类型来决定。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US68640005P | 2005-06-02 | 2005-06-02 | |
US60/686,400 | 2005-06-02 | ||
US11/289,687 | 2005-11-30 | ||
US11/289,687 US8014390B2 (en) | 2004-11-30 | 2005-11-30 | Policy based routing using a fast filter processor |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1874313A true CN1874313A (zh) | 2006-12-06 |
CN1874313B CN1874313B (zh) | 2011-09-07 |
Family
ID=36293590
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2006100845821A Expired - Fee Related CN1874313B (zh) | 2005-06-02 | 2006-06-02 | 处理数据包的方法和网络设备 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8014390B2 (zh) |
EP (1) | EP1729462B1 (zh) |
CN (1) | CN1874313B (zh) |
TW (1) | TWI363529B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104660520A (zh) * | 2013-11-21 | 2015-05-27 | 联发科技股份有限公司 | 分组处理装置 |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7379451B1 (en) * | 2003-04-21 | 2008-05-27 | Xilinx, Inc. | Address lookup table |
US7680107B2 (en) * | 2004-11-30 | 2010-03-16 | Broadcom Corporation | High speed trunking in a network device |
US7715384B2 (en) * | 2004-11-30 | 2010-05-11 | Broadcom Corporation | Unicast trunking in a network device |
US7826481B2 (en) * | 2004-11-30 | 2010-11-02 | Broadcom Corporation | Network for supporting advance features on legacy components |
US8005084B2 (en) * | 2004-11-30 | 2011-08-23 | Broadcom Corporation | Mirroring in a network device |
US8170019B2 (en) * | 2004-11-30 | 2012-05-01 | Broadcom Corporation | CPU transmission of unmodified packets |
US7830892B2 (en) * | 2004-11-30 | 2010-11-09 | Broadcom Corporation | VLAN translation in a network device |
US20060256717A1 (en) * | 2005-05-13 | 2006-11-16 | Lockheed Martin Corporation | Electronic packet control system |
US20060256814A1 (en) * | 2005-05-13 | 2006-11-16 | Lockheed Martin Corporation | Ad hoc computer network |
US7599289B2 (en) * | 2005-05-13 | 2009-10-06 | Lockheed Martin Corporation | Electronic communication control |
US8619562B1 (en) * | 2007-04-26 | 2013-12-31 | Marvell Israel (M.I.S.L.) Ltd. | Method and apparatus for packet processing |
US8358654B1 (en) | 2007-04-26 | 2013-01-22 | Marvell Israel (M.I.S.L) Ltd. | Method and apparatus for rule testing |
US20100046516A1 (en) * | 2007-06-26 | 2010-02-25 | Media Patents, S.L. | Methods and Devices for Managing Multicast Traffic |
ES2358546T3 (es) * | 2007-06-26 | 2011-05-11 | Media Patents, S. L. | Router para administrar grupos multicast. |
US8064449B2 (en) * | 2007-10-15 | 2011-11-22 | Media Patents, S.L. | Methods and apparatus for managing multicast traffic |
EP2213042A1 (en) * | 2007-10-15 | 2010-08-04 | Media Patents, S. L. | Method for managing multicast traffic in a data network and network equipment using said method |
WO2009056175A1 (en) * | 2007-10-30 | 2009-05-07 | Soporte Multivendor S.L. | Method for managing multicast traffic between routers communicating by means of a protocol integrating the pim protocol; and router and switch involved in said method |
US20090144446A1 (en) * | 2007-11-29 | 2009-06-04 | Joseph Olakangil | Remediation management for a network with multiple clients |
US9031068B2 (en) * | 2008-02-01 | 2015-05-12 | Media Patents, S.L. | Methods and apparatus for managing multicast traffic through a switch |
WO2009095041A1 (en) * | 2008-02-01 | 2009-08-06 | Soporte Multivendor S.L. | Method for managing multicast traffic through a switch operating in the layer 2 of the osi model, and router and switch involved in said method |
WO2009109684A1 (es) * | 2008-03-05 | 2009-09-11 | Media Patents, S. L. | Procedimiento para monitorizar o gestionar equipos conectados a una red de datos |
TWI501593B (zh) * | 2009-01-07 | 2015-09-21 | Ic Plus Corp | 交換機的測試裝置及測試方法 |
US8189584B2 (en) * | 2009-07-27 | 2012-05-29 | Media Patents, S. L. | Multicast traffic management in a network interface |
US9411810B2 (en) * | 2009-08-27 | 2016-08-09 | International Business Machines Corporation | Method and apparatus for identifying data inconsistency in a dispersed storage network |
US20110149960A1 (en) * | 2009-12-17 | 2011-06-23 | Media Patents, S.L. | Method and apparatus for filtering multicast packets |
US9299433B1 (en) | 2011-12-02 | 2016-03-29 | Marvell Israel (M.I.S.L) Ltd. | Method and apparatus for multi-range look-up |
US9094459B2 (en) | 2012-07-16 | 2015-07-28 | International Business Machines Corporation | Flow based overlay network |
US9306840B2 (en) * | 2012-09-26 | 2016-04-05 | Alcatel Lucent | Securing software defined networks via flow deflection |
US10284457B2 (en) * | 2016-07-12 | 2019-05-07 | Dell Products, L.P. | System and method for virtual link trunking |
Family Cites Families (50)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6041042A (en) * | 1997-05-27 | 2000-03-21 | Cabletron Systems, Inc. | Remote port mirroring system and method thereof |
US6151297A (en) * | 1997-07-08 | 2000-11-21 | Hewlett-Packard Company | Method and system for link level server/switch trunking |
US6496502B1 (en) * | 1998-06-29 | 2002-12-17 | Nortel Networks Limited | Distributed multi-link trunking method and apparatus |
WO2000003517A1 (en) * | 1998-07-08 | 2000-01-20 | Broadcom Corporation | High performance self balancing low cost network switching architecture based on distributed hierarchical shared memory |
JP3397144B2 (ja) * | 1998-09-29 | 2003-04-14 | 日本電気株式会社 | パケット処理装置とパケット処理方法とパケット交換機 |
US6674743B1 (en) * | 1999-12-30 | 2004-01-06 | 3Com Corporation | Method and apparatus for providing policy-based services for internal applications |
US6675163B1 (en) * | 2000-04-06 | 2004-01-06 | International Business Machines Corporation | Full match (FM) search algorithm implementation for a network processor |
US7089240B2 (en) * | 2000-04-06 | 2006-08-08 | International Business Machines Corporation | Longest prefix match lookup using hash function |
US6807179B1 (en) * | 2000-04-18 | 2004-10-19 | Advanced Micro Devices, Inc. | Trunking arrangement in a network switch |
US7009968B2 (en) * | 2000-06-09 | 2006-03-07 | Broadcom Corporation | Gigabit switch supporting improved layer 3 switching |
EP1168710B1 (en) * | 2000-06-19 | 2005-11-23 | Broadcom Corporation | Method and device for frame forwarding in a switch fabric |
US6993026B1 (en) * | 2000-08-31 | 2006-01-31 | Verizon Communications Inc. | Methods, apparatus and data structures for preserving address and service level information in a virtual private network |
US6792502B1 (en) * | 2000-10-12 | 2004-09-14 | Freescale Semiconductor, Inc. | Microprocessor having a content addressable memory (CAM) device as a functional unit therein and method of operation |
US20020126672A1 (en) * | 2001-01-10 | 2002-09-12 | Nelson Chow | Method and apparatus for a flexible and reconfigurable packet classifier using content addressable memory |
US6963921B1 (en) * | 2001-02-16 | 2005-11-08 | 3Com Corporation | Method and apparatus for hardware assisted TCP packet re-assembly |
US7382787B1 (en) * | 2001-07-30 | 2008-06-03 | Cisco Technology, Inc. | Packet routing and switching device |
US7054315B2 (en) * | 2001-09-17 | 2006-05-30 | Pmc-Sierra Ltd. | Efficiency masked matching |
US7200144B2 (en) * | 2001-10-18 | 2007-04-03 | Qlogic, Corp. | Router and methods using network addresses for virtualization |
US7327748B2 (en) * | 2002-01-28 | 2008-02-05 | Alcatel Lucent | Enterprise switching device and method |
US7313135B2 (en) * | 2002-01-31 | 2007-12-25 | Mosaid Technologies, Inc. | Trunking in a matrix |
US7161948B2 (en) * | 2002-03-15 | 2007-01-09 | Broadcom Corporation | High speed protocol for interconnecting modular network devices |
CN1414757A (zh) * | 2002-05-08 | 2003-04-30 | 华为技术有限公司 | 自动按序配置访问控制列表规则的方法及其应用 |
US7031304B1 (en) * | 2002-09-11 | 2006-04-18 | Redback Networks Inc. | Method and apparatus for selective packet Mirroring |
US7660313B2 (en) * | 2002-10-25 | 2010-02-09 | Huawei Technologies Co., Ltd. | Sub-rate transmission method for user data services in transmission devices of a metropolitan area network |
US7180899B2 (en) * | 2002-10-29 | 2007-02-20 | Cisco Technology, Inc. | Multi-tiered Virtual Local area Network (VLAN) domain mapping mechanism |
AU2003300900A1 (en) * | 2002-12-13 | 2004-07-09 | Internap Network Services Corporation | Topology aware route control |
WO2004066563A1 (ja) * | 2003-01-21 | 2004-08-05 | Fujitsu Limited | バーチャルネットワークシステムのキャリアネットワークおよび該キャリアネットワークの通信ノード |
US7298705B2 (en) * | 2003-02-05 | 2007-11-20 | Broadcom Corporation | Fast-path implementation for a double tagging loopback engine |
US7835367B2 (en) * | 2003-04-23 | 2010-11-16 | Fujitsu Limited | Network connection method, network connection system, and, layer 2 switch and management server forming the network connection system |
US20050018693A1 (en) * | 2003-06-27 | 2005-01-27 | Broadcom Corporation | Fast filtering processor for a highly integrated network device |
US7974284B2 (en) * | 2003-06-27 | 2011-07-05 | Broadcom Corporation | Single and double tagging schemes for packet processing in a network device |
US7738467B2 (en) * | 2003-07-15 | 2010-06-15 | Hewlett-Packard Development Company, L.P. | Output port based double Q tagging |
EP1662722B1 (en) * | 2003-09-01 | 2011-07-27 | Nippon Telegraph And Telephone Corporation | Packet communication network system |
JP2005143086A (ja) * | 2003-10-17 | 2005-06-02 | Matsushita Electric Ind Co Ltd | 移動検知方法および移動端末 |
US7408932B2 (en) * | 2003-10-20 | 2008-08-05 | Intel Corporation | Method and apparatus for two-stage packet classification using most specific filter matching and transport level sharing |
US8146148B2 (en) * | 2003-11-19 | 2012-03-27 | Cisco Technology, Inc. | Tunneled security groups |
US7127566B2 (en) * | 2003-12-18 | 2006-10-24 | Intel Corporation | Synchronizing memory copy operations with memory accesses |
US20050138149A1 (en) * | 2003-12-23 | 2005-06-23 | Jagjeet Bhatia | Method and system for increasing available user VLAN space |
US7359383B2 (en) * | 2004-03-29 | 2008-04-15 | Hewlett-Packard Development Company, L.P. | Load balancing with mesh tagging |
US7292573B2 (en) * | 2004-03-31 | 2007-11-06 | Hewlett-Packard Development Company, L.P. | Methods and apparatus for selection of mirrored traffic |
US20060002393A1 (en) * | 2004-06-30 | 2006-01-05 | Nokia Inc. | Primary control marker data structure |
US7408936B2 (en) * | 2004-08-20 | 2008-08-05 | Alcatel Lucent | Scalable VLAN grouping in a provider Metro Ethernet |
JP4516397B2 (ja) * | 2004-10-05 | 2010-08-04 | 株式会社日立製作所 | レイヤ2スイッチ |
US7680107B2 (en) * | 2004-11-30 | 2010-03-16 | Broadcom Corporation | High speed trunking in a network device |
US7830892B2 (en) * | 2004-11-30 | 2010-11-09 | Broadcom Corporation | VLAN translation in a network device |
US7570639B2 (en) * | 2004-11-30 | 2009-08-04 | Broadcom Corporation | Multicast trunking in a network device |
US8005084B2 (en) * | 2004-11-30 | 2011-08-23 | Broadcom Corporation | Mirroring in a network device |
US7826481B2 (en) * | 2004-11-30 | 2010-11-02 | Broadcom Corporation | Network for supporting advance features on legacy components |
US7715384B2 (en) * | 2004-11-30 | 2010-05-11 | Broadcom Corporation | Unicast trunking in a network device |
US7809009B2 (en) * | 2006-02-21 | 2010-10-05 | Cisco Technology, Inc. | Pipelined packet switching and queuing architecture |
-
2005
- 2005-11-30 US US11/289,687 patent/US8014390B2/en not_active Expired - Fee Related
-
2006
- 2006-03-31 EP EP06006943A patent/EP1729462B1/en active Active
- 2006-06-01 TW TW095119365A patent/TWI363529B/zh not_active IP Right Cessation
- 2006-06-02 CN CN2006100845821A patent/CN1874313B/zh not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104660520A (zh) * | 2013-11-21 | 2015-05-27 | 联发科技股份有限公司 | 分组处理装置 |
CN104660520B (zh) * | 2013-11-21 | 2018-03-13 | 联发科技股份有限公司 | 分组处理装置 |
Also Published As
Publication number | Publication date |
---|---|
TWI363529B (en) | 2012-05-01 |
CN1874313B (zh) | 2011-09-07 |
TW200715765A (en) | 2007-04-16 |
US8014390B2 (en) | 2011-09-06 |
EP1729462A1 (en) | 2006-12-06 |
EP1729462B1 (en) | 2012-05-30 |
US20060114908A1 (en) | 2006-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1874313B (zh) | 处理数据包的方法和网络设备 | |
US8000324B2 (en) | Pipeline architecture of a network device | |
US8005084B2 (en) | Mirroring in a network device | |
US7738385B2 (en) | Mirroring of data in a network device | |
CN108809854B (zh) | 一种用于大流量网络处理的可重构芯片架构 | |
US7554984B2 (en) | Fast filter processor metering and chaining | |
CN107689931A (zh) | 一种基于国产fpga的实现以太网交换功能系统及方法 | |
CN110383777A (zh) | 端口扩展器设备的灵活处理器 | |
US8320240B2 (en) | Rate limiting and minimum and maximum shaping in a network device | |
US9300597B2 (en) | Statistics module for network processors in virtual local area networks | |
US11729300B2 (en) | Generating programmatically defined fields of metadata for network packets | |
US7830892B2 (en) | VLAN translation in a network device | |
CN100473054C (zh) | 一种处理分组的网络设备及方法 | |
US7570639B2 (en) | Multicast trunking in a network device | |
US7787463B2 (en) | Content aware apparatus and method | |
CN102238083A (zh) | 用于适配分组处理流水线的系统和方法 | |
CN1647460A (zh) | 光纤信道网络中的标签交换 | |
US8243733B2 (en) | Cascaded memory tables for searching | |
US10009275B1 (en) | Uniform route distribution for a forwarding table | |
TWI323108B (en) | Powerful and expandable pipeline architecture for a network device | |
US20060114901A1 (en) | Unicast trunking in a network device | |
CN100352196C (zh) | 在无限带宽网络中传送数据包的系统和方法 | |
US9143448B1 (en) | Methods for reassembling fragmented data units | |
US6711165B1 (en) | Apparatus and method for storing min terms in network switch port memory for access and compactness | |
KR100836947B1 (ko) | 우선 순위 또는 차별화된 서비스 정보에 입각한 태그 발생 |
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 |
Granted publication date: 20110907 Termination date: 20170602 |
|
CF01 | Termination of patent right due to non-payment of annual fee |