CN1638361A - 网络交换设备的并行数据链路层控制器 - Google Patents
网络交换设备的并行数据链路层控制器 Download PDFInfo
- Publication number
- CN1638361A CN1638361A CNA2004101031107A CN200410103110A CN1638361A CN 1638361 A CN1638361 A CN 1638361A CN A2004101031107 A CNA2004101031107 A CN A2004101031107A CN 200410103110 A CN200410103110 A CN 200410103110A CN 1638361 A CN1638361 A CN 1638361A
- Authority
- CN
- China
- Prior art keywords
- frame
- mac
- vlan
- switching equipment
- data link
- 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
- H04L47/20—Traffic policing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
- H04L12/4645—Details on frame tagging
- H04L12/4666—Operational details on the addition or the stripping of a tag in a frame, e.g. at a provider edge node
-
- 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/745—Address table lookup; Address filtering
- H04L45/7453—Address table lookup; Address filtering using hashing
-
- 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
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/22—Traffic shaping
-
- 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
- H04L47/32—Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/35—Switches specially adapted for specific applications
- H04L49/354—Switches specially adapted for specific applications for supporting virtual local area networks [VLAN]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/15—Interconnection of switching modules
- H04L49/1515—Non-blocking multistage, e.g. Clos
- H04L49/1523—Parallel switch fabric planes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/35—Switches specially adapted for specific applications
- H04L49/351—Switches specially adapted for specific applications for local area network [LAN], e.g. Ethernet switches
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/50—Overload detection or protection within a single switching element
- H04L49/501—Overload detection
- H04L49/503—Policing
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
本发明公开了一种数据链路层处理器,用于与一个或多个媒质访问控制器(MAC)一起,进行VLAN标记操作,控制,整形,以及统计数据获取。当交换设备中多个数据链路层处理器并行工作时,路由引擎的计算负荷大大减少。此外,在若干实施例中,该数据链路层处理器可以用于在网络交换***中引入各种形式的预处理和后处理,其中前述网络交换***采用的路由引擎不具备这种功能。
Description
技术领域
本发明总体上涉及网络交换机中的处理帧的技术。更具体地说,本发明涉及一种在网络交换机的多个数据链路层控制器中提供分布式VLAN关联、控制、整形和统计数据获取的***和方法。
背景技术
分组交换网络中的路由器一般采用一个或多个网络处理器,典型情况是采用专用集成电路(ASIC),来执行各种分组处理操作。每个网络处理器一般与多个媒质访问控制器关联,这些媒质访问控制器负责帧的收发。过去设计的路由器使得网络处理器能够同时容纳来自每个相关端口的流量,这些相关端口工作在指定的线路速度,一般是100或1000兆比特/秒。但是,目前有一种超额定购(over-subscribed)端口的趋势,这意味着网络处理器的带宽或其它路由器资源通常无法支持每个端口工作在线路速度并保持一段时间。虽然超额定购***每个端口节省的成本为某些客户提供了有利的折衷,但因为网络处理器或路由处理器无法处理流量,超额定购端口会导致一些数据丢失。
为了尽量减小超额定购的不利影响,路由器可以采用大量缓存,以期捕获突发流量,直至有可用资源来处理该流量。也可以向一个或多个链路伙伴发送暂停消息,以临时减少接收的数据量,从而减少缓冲溢出的可能性。尽管这两种方法能够带来一定效果,但它们都没有解决网络处理器或其他资源根本无法处理大流量的情况。因此,需要一种装置来维持超额定购端口配置的优势,同时减少网络处理器的计算要求。
发明内容
本发明给出了一种数据链路层处理器,用于与一个或多个媒质访问控制器(MAC)一起,进行进入流量的流量控制。在网络处理器接收之前,识别并丢弃超限流量(out-of-profile)帧,能够减少网络处理器的计算负担,改进网络处理器带宽被超额定购的交换设备的吞吐量,在突发流量超过网络处理器或其它***资源的容量时,提供服务质量(QoS)控制。
在某些实施例中,该数据链路层处理器包括一个或多个MAC,流量控制器,用于丢弃从MAC接收的超过带宽参数的帧,以及MAC缓冲器,用于缓存从流量控制器接收的允许的帧。在某些实施例中,该流量控制器按照三色标记(TCM)算法,例如单速率TCM和双速率TCM,作出丢弃决定。该数据链路处理器可以采用例如包括内容可寻址的存储器(CAM)的流搜索引擎,用于基于一个或多个与帧相关的特性分类流量。该CAM最好关于特定数据链路层处理器的相关端口的QoS规则编程,这一般远远小于网络处理器为了支持交换设备所有端口的控制所需的QoS项目的数量。
附图说明
本发明通过例子说明,但不局限于附图的例子,在附图中:
图1是按照本发明的优选实施方式的网络交换设备的功能框图;
图2是按照本发明的优选实施方式的接入模块的功能框图;
图3是按照本发明的优选实施方式的数据链路层处理器的功能框图;
图4是按照本发明的优选实施方式的数据链路层处理器所采用的集成流量控制器的功能框图;
图5是按照本发明的优选实施方式的数据链路层处理器所采用的流数据库的概图;以及
图6是按照本发明的优选实施方式的数据链路层处理器所采用的集成VLAN推出(Pop)模块的功能框图。
具体实施方式
图1给出了可以实现本发明优选实施方式的网络交换设备的功能框图。该优选实施方式中的交换设备100适于在开放***互连(OSI)参考模型的第二层(数据链路层)和第三层(网络层)上进行协议数据单元(PDU)的交换和寻路操作。该交换设备100最好是通过通用交换结构(未示出)彼此相连的多个交换设备之一。该交换设备依次连接到例如局域网(LAN)、广域网(WAN)、城域网(MAN)或者这三者的组合网络中的数据通信网中的多个节点。
该优选实施方式的交换设备100一般包括网络处理器130,例如路由处理器,排队或流量管理器140,管理模块150。该网络处理器130通过多个网络接入模块(AM)102连接到网络,每个AM102包括至少一个外部端口,连接到通信链路以接收进入数据流量,并发送外出数据流量。这里,在AM102处进入交换设备100的流量称为进入流量,在AM102处离开的流量称为外出流量。AM102端口包括数据链路层端口,例如电子电气工程师协会(IEEE)标准8023的以太网媒质访问控制(MAC)接口。
进入和外出流量的PDU通过一个或多个内部数据总线106在多个AM102和网络处理器130之间传送。该优选实施方式的网络处理器130包括分类器132和转发处理器134,以及外出处理器136。分类器132一般分析进入PDU;抽取一个或多个PDU字段,包括源和/或目的地址、协议类型以及优先级信息;根据网络管理人员通过管理模块150定义的本地策略,将PDU映射到一组流分类之一。本地策略规定了应用到PDU的服务类别(CoS)和/或服务质量(QoS)。
转发处理器134随后利用交换设备100所收集的地址信息准备进入PDU的传输。如果PDU的目的物理地址在MAC地址表中找到匹配,则识别出合适的输出端口,将帧交换到合适的外出交换设备的外出端口。但是,如果PDU包含另一网络域的节点的目的网络地址,则转发处理器在例如中央内容可寻址存储器(cCAM)所存储的转发表中,搜索众所周知的因特网协议(IP)地址和其它流信息;如果出现匹配,检索得到作为分组转发目标的邻接设备的下一跳MAC地址;将分组打包,加上新的第2层头。进入流的PDU随后从网络处理器130被传送到排队管理器140,在那里,通过结构接口模块104向交换结构(未示出)发送之前,这些PDU被缓存。
除了上述进入处理之外,网络处理器130还处理从交换结构接收到的外出流量。为了支持这些外出流量,网络处理器130还包括外出处理器136,由它从外出排队存储器146或结构接口模块104接收外出流量,这些外出流量在传送给AM102中指定的外出端口之前,可能被临时缓存。
排队管理器140包括至少一个进入排队存储器142和排队调度器144。进入排队存储器142包括多个分组缓冲器或队列,每个分组缓冲器或队列与不同优先级或不同QoS/CoS关联。在有可用的输出带宽时,缓存的PDU由调度器144经由结构接口模块104发送给交换结构。
图2给出了按照该优选实施方式的AM102的功能框图。该AM102一般包括多个物理层接口(PHY)240和MAC处理器200。每个PHY 240工作在OSI参考模型所定义的第一层(物理层),完成传统的网络接口功能,包括以太网符号流的收发。在从相关通信链路接收到符号流时,PHY 240将来自通信链路的电或光信号转换成字节流,随后将这些字节流发送给相关联的MAC接口210。在发送模式下,PHY 240将来自相关MAC接口210的字节流转换成适合该媒质的电或光信号。PHY 240专门针对其所连接的媒质类型。
该优选实施方式中的MAC处理器200包括一个或多个遵从IEEE标准802.3的MAC接口210,在这里通过引用并入本发明。MAC接口210,工作在OSI参考模型的第二层,完成传统的网络接口功能,包括以太帧的收发。在接收模式下,MAC 210最好完成的各种功能包括:(a)MAC帧分析,从以太网类型/长度字段抽取封装的协议类型,帧优先级,VLAN标记帧的用户优先级,具有优先级或DiffServ映射的IP帧的TOS字节;(b)利用接收数据的帧校验序列(FCS)值进行差错检查以及分组解封装;(c)不对称或对称流控制,包括例如接受流控制帧,中止或暂停通过网络邻居的帧传输。来自MAC接口210的帧随后在MAC预处理器220进行本地处理,然后发送给网络处理器130。
在发送模式下,帧在MAC后处理器230进行本地处理,然后发送给MAC接口210。与传统媒质接入控制器一致,MAC接口210完成的功能包括例如:(a)冲突处理,(b)按照CSMA/CD传输协议对通信媒质的访问控制,(c)帧校验序列(FCS)值生成,(d)封装,以及(e)发送延迟。在该优选实施方式中,MAC接口210适于利用简化10比特接口(RTBI)或简化千兆比特媒质独立接口(RGMII)类型的接口,独立地支持10、100或1000兆每秒吞吐量。
在图3中给出了按照本发明的该优选实施方式的MAC处理器200的功能框图。除了一个或多个MAC 210之外,在某些实施方式中,MAC处理器200包括MAC预处理器220和MAC后处理器230。该MAC预处理器220一般包括流量控制器304,用于有选择地过滤帧,MAC缓冲器306,VLAN推入(push)模块308,用于向选定的进入帧添加VLAN标记,速率缓冲器312,以及进入总线发送器314,用于把帧传送给网络处理器130。该MAC后处理器230最好包括一个外出总线接收器320,适于对外出流量进行进一步整形的速率缓冲器322,以及VLAN推出(Pop)模块324,用于消除选定的入站帧的VLAN标记。
多个MAC 210经由内部进入总线332将进入帧发送给一个或多个接收器缓冲器。一个或多个接收器缓冲器,由接收器先进先出(FIFO)存储器302表示,用于在帧发送到流量控制器304或其它下游处理实体之前,缓存帧片断(segment)。
该优选实施方式的流量控制器304适于在将帧发送给网络处理器130之前,执行进入流量控制,并且本地帧丢弃。在该优选实施方式中,该控制器304根据其所保留的准则或者它可访问的准则,采用三色标记(TCM)算法术识别需要丢弃的帧。多个AM102中的每一个AM102的本地控制用于替换、减少或者增加传统方式下在网络处理器130中实现的控制功能。
该流量控制器304,在图4中进一步详细给出,最好包括第一分析器402、具有进入CAM 405的流搜索引擎(FSE)404、进入计量模块420、标记生成器422以及进入丢弃控制逻辑424。从MAC 210经由接收器FIFO 302接收的进入帧由分析器402进行检查,抽取一个或多个比特或字段形成进入CAM 404的索引,其中搜索最好在CAM 404中进行。在该优选实施方式中,CAM索引包括源端口502,指示是否存在802.1Q标记的VLAN标记状态504,以及原始帧标记控制信息(TCI)字段506,这些在图5的进入CAM表500中以表格形式概要示出。在某些实施方式中,进入CAM索引还包括可选字段512,利用以下特性有选择地支持或禁用一个或多个CAM搜索参数,以细化搜索:
VLAN ID支持比特,以选择性地支持使用进入帧的VLAN ID字段搜索;
TCI支持比特,以选择性地支持使用进入帧的标记控制信息搜索;
源端口支持比特,以选择性地支持使用与进入帧关联的源端口搜索;
可信/不可信端口比特,来自进入帧的外部VLAN标记的TCI,以选择性地支持使用进入帧的优先级搜索;以及
以太类型(Ethertype)支持比特,以选择性地支持使用进入帧的以太类型搜索(VLAN协议标识符=x8100或其它)。
如果检测到匹配,FSE 404进入可以检索得到各种流处理参数的流数据库406,检索得到流索引508。如在图5中概要示出的流数据库406的表格形式510,FSE 404从流数据库406中检索到一个或多个处理信息表,包括支持VLAN标记的VLAN信息514,以及支持流控制的带宽参数。VLAN信息514可以包括,但不受限于,新VLAN标记,已有标记的新VLAN ID,以及已有标记的新TCI。在该优选实施方式中,流数据库406还包括控制数据库408的索引,指向控制进入流量所需的一个或多个带宽参数,例如TCM流量参数。
在该优选实施方式中,该流量控制器304采用TCM算法选择性地识别和丢弃超限流量帧,最好是单速率三色标记(srTCM)算法或者双速率三色标记(trTCM)算法。首先,srTCM在因特网工程任务组(IETF)请求注释(RFC)2697中定义,而trTCM在IETF RFC 2698中定义,这里通过引用将这两份RFC都并入本申请。这些标准中描述的TCM算法可以或者单独使用,或者组合使用,以增加交换设备100中其它决策过程,用以确定分组是否是超限流量,如果是,何时丢弃分组。
再次参考图4,为了执行srTCM算法,控制器304包括进入计量模块(IMM)420,用以测量在给定单位时间中多少数据在流动,这通过发送给标记生成器422的流速率结果430指示。根据该测量,标记生成器422将帧分类成本领域技术人员称为“颜色”,也就是绿、黄和红这三类之一。与帧关联的颜色根据为每个流定义的流量参数来确定。SrTCM中的流量参数包括承诺信息速率(CIR)和两个相关的突发量,也就是承诺突发量(committed burst size,CBS)和超过突发量(excess burst size,EBS),所有这些参数都可以从控制数据库408中根据特定流检索得到。
一般地,标记生成器422按照srTCM评估流,确定需要应用哪个标记。如果帧没有超过CBS,则采用绿标记,表明该帧应当被提交给控制器304之后的下一个下游处理。作为超过CIR和EBS的流的一部分的帧标记为红色,并被立即丢弃。如果帧超过CBS,但是没有超过EBS,则该帧被关联一个黄色标记,表明只要有***资源或者排队资源,就可以发送该帧。该帧可以利用协议特定的字段标记,或者在协议不支持时,进行非协议标记。尽管黄色帧根据***资源的可用性可以被丢弃,但它必须总是在丢弃绿帧之前丢弃。在该优选实施方式中,在标记生成器422的下游采用丢弃控制逻辑(DCL)单元424来检查每个帧的标记,在需要时根据***资源,包括拥塞情况,选择性地丢弃帧。
在该优选实施方式中,通过与“符合(Conform)”桶(bucket)和“超过(Exceed)”桶相关联的带宽计数器来分别实现CIR和EBS。每个计数器的最大大小是256K字节,可以由网络管理人员编程控制。每个计数器通过例如表示帧的数量或带宽数量的可编程令牌或字节单元“支付(paid)”。帧“消耗(spent)”令牌的方式是根据流速率,减去符合桶或超过桶中帧的长度。具体而言,将入站帧的大小与每个计数器的累计支付相比较。如果其大小大于支付,该帧“违反(violated)”了计数器,需要被标记。没有违反符合桶的帧不需要被标记,并在全局缓冲器,MAC缓冲器306中排队。支付等于帧长度,则从符合计数器中减去。违反了符合桶的帧被标记为“黄”,然后在缓冲器中排队。支付等于帧长度,则从超过计数器中减去。违反符合桶和超过桶的帧被标记为“红”,并被丢弃。
该符合桶或超过桶被定期支付,令牌补充到可编程最大值。在该优选实施方式中,两个计数器可以编程为不同的支付值,尽管在相同时间间隔进行增量。本领域技术人员应当理解,符合桶的支付必须总是小于超过桶的支付,只有在符合桶具有最大支付之后,超过桶才被支付。
该符合桶控制承诺信息速率,超过桶控制峰值信息速率。这两个速率都是可编程的,其粒度为64kbps,范围从64Kbps到1Gbps。标记为红的帧在MAC预处理器220中丢弃。标记为黄的帧最好通过高速串行接口330给网络处理器130。
除了用于实现控制的TCM流量参数之外,FSE 404还检索得到可以应用于入站帧的一个或多个VLAN标识符。在该优选实施方式中,一个或多个VLAN标识符从流数据库406的表510的VLAN信息字段514中的标记选项字段得出。一旦识别出可应用的VLAN标记,将该VLAN标记写入VLAN ID数据库410,VLAN推入模块308为了进行802.1Q VLAN标记,可以从该数据库得到VLAN标记。
该控制器304随后将帧通过进入DCL 424发送给MAC缓冲器306。MAC缓冲器306包括全局512千字节缓冲器,由12个接收MAC接口210共享。该512千字节缓冲器被划分成8192个64字节块。一般地,从不同MAC接口210读入的帧以它们到达的顺序存储在接收缓冲器中。
在该优选实施方式中,该MAC预处理器200可以在超额定购环境下实现,其中来自MAC接口210的,MAC预处理器200的所有输入超过了MAC处理器200能够将它们发送给网络处理器130的容量。因此,在MAC缓冲器306满时,采用一个或多个帧丢弃算法来丢弃所有到来的帧。基于各种因素可以采用丢弃算法来丢弃帧,包括如美国专利申请第10/068710号中所述的入站分组的优先级。如果MAC缓冲器306的至少一个64字节块不空闲,那么入站分组将被丢弃。
在该优选实施方式中,可以在4个层面上实施帧丢弃算法:
在MAC缓冲器306之前的帧分析器402层面;
在通过协议CAM(未示出),以及帧优先级描述符的MAC缓冲器306输入;
在MAC缓冲器306写时间,利用加权早期随机丢弃(WRED)或FIFO阈值,也就是“水位标记”,触发多个MAC缓冲器306 FIFO丢弃帧,每个FIFO与12个端口之一的优先级关联;以及
在MAC缓冲器306读时间,通过基于分类,也就是基于优先级的FIFO出队列算法。
本领域技术人员应该理解,在超额定购环境下,流量控制器304的存在尤为重要,因为它提供了一种智能方式在早期丢弃帧,防止了超限流量帧不必要地消耗MAC缓冲器306中的资源和存储。在处理和缓存之前,通过消除违反的帧,减轻了网络处理器130处理帧的负荷,减小了因为缺少可用缓冲器空间和其它资源而丢弃有效帧的可能性。
随着帧从MAC缓冲器306中释放,单个帧被传送给VLAN推入模块308,在该模块中将一个或多个VLAN标记***选定的帧。在该优选实施方式中,VLAN推入模块308从VLAN ID数据库410中检索得到一个或多个VLAN ID和/或其它VLAN信息,这由FSE 404事先在控制操作过程中对帧分类之后存入数据库。新的VLAN标记信息可以以新的VLAN标记的形式附加到帧中,或者用以替换已有VLAN标记中存在的一个标记信息。从VLAN ID数据库410中检索得到的标记的使用方法由表510中VLAN信息字段514的标记选项比特决定。帧校验序列(FCS)字段也被修改,以说明带有新标记的帧的长度。
在某些可选实施方式中,该VLAN推入模块308包括适于根据一个或多个包括例如源端口和入VLAN标记的帧字段的匹配,来识别适当的VLAN ID的VLAN CAM。VLAN CAM中的匹配项随后指向新的标记,然后将其推入到分组或者用以替换已有标记。
该VLAN推入特征,其包括VLAN堆栈特征,适于存储并利用多达128 QoS规则/VLAN项,尽管可以更多。在该优选实施方式中,MAC处理器210中保留有总体上代表了交换设备100所支持的所有QoS规则/VLAN的一个子集的大约128 VLAN项。任何给定MAC处理器200所支持的QoS规则/VLAN子集代表与本地MAC接口210上流量相关的QoS规则/VLAN的最小集合,同时不包括与特定MAC处理器无关的QoS规则。这至少有两个好处。首先,搜索可应用VLAN所需的CAM的深度较小,其次,本地VLAN处理减轻了网络处理器执行VLAN标记和堆栈的责任。
帧从VLAN推入模块308传送到进入入速率缓冲器312,后者负责通过进入数据总线发送器314,以相对统一的速率向高速串行(HSS)接口316发送帧。该高速串行(HSS)接口316利用本领域技术人员众所周知的分组流总线,将MAC预处理器220连接到网络处理器130。该分组流总线还可以将网络处理器130连接到多个MAC处理器200中的每一个。
除了发送进入流量之外,多个MAC处理器200中的每一个还从网络处理器130接收外出流量。MAC后处理器230在外出总线接收器320通过HSS接口200接收发往本地PHY接口240端口的外出流量。该外出帧临时缓存在外出速率缓冲器322,随后以相对统一的速率发送到VLAN推出模块326。
在某些实施方式中,该速率缓冲器322还包括流量整形器324,适于对MAC处理器200所接收的外出流量进行基于带宽的流控制。在该优选实施方式中,该流量整形器324利用单个令牌桶算法,结合一个或多个桶,每个桶与某个流类相关联,调节MAC后处理器230的输出带宽。分配给每个桶的令牌,用“符合计数器”来跟踪,代表了每个流类的容量。每次从速率缓冲器322发送帧时,从相关联的符合计数器扣除代表帧长的多个令牌。如果没有足够的令牌来发送帧,则暂停速率缓冲器的帧发送,直至后来令牌被补充。尽管该整形器324一般不丢弃帧,但将桶暂停一长段时间可能会导致交换结构(未示出)备份,或者在进入交换设备中丢弃帧。
在补充了令牌之后,再次发送与流类相关联的帧。在该优选实施方式中,定期向符合计数器支付最大数量的令牌,时间间隔可以由网络管理人员编程决定。在该优选实施方式中,整形可以基于端口、VLAN和优先级,或者它们的任意组合。
该VLAN推出模块326适于消除外出帧上的已有标记,或者替换已有标记中的VLAN标记信息,或者进入交换设备的VLAN推入模块308中以前***的标记。该优选实施方式的VLAN推出模块326如图6所示,包括第二分析器602,用以从外出帧中抽取一个或多个比特或字段,以及外出流搜索引擎604,用以在外出CAM 605中生成键,在匹配时,产生指向VLAN标识符数据库606的指针。VLAN标识符数据库606中包括了选项比特所包含的VLAN关联规则,在适用时,提供指令消除或者替换一个或多个已有VLAN标记。VLAN标记处理指令被传送给成帧器610,由后者负责在通过外出总线334将帧发送给合适的MAC接口210之前,对帧进行改变。如果适用,在将帧发送到网络之前,在帧上添加新的CRC字段。
该优选实施方式的MAC后处理器230还包括统计数据获取模块(SAM)350,用于从每个MAC接口210搜集流统计数据。在该优选实施方式中,基于每个端口或者每个VLAN收集统计数据。在搜集这些数据之后,SAM 350将它们发送给中央管理实体,其中该中央管理实***于管理模块150,或者位于一个或多个交换设备100的每一个都能够访问的位置。如果该SAM 350配备有简单网络管理(SNMP)客户端,该中央管理实体可以利用经由命令和控制接口340传送的SNMP消息,定期下载统计数据。
该优选实施方式中收集的统计数据包括经由第一统计数据信道336的多个MAC 210中的每一个的管理信息库(MIB)-II统计数据和远程监控(RMON)的全集。RMON在本领域技术人员所知的多个请求注释(RFC)中提出,而MIB-II在题为“基于TCP/IP因特网的网络管理的管理信息库”的RFC 1213中给出。在该优选实施方式中,SAM 350还收集实现QoS特征所必需的统计数据,例如VLAN统计数据和与交换监控(SMON)一致性相关的统计数据,SMON需求在因特网工程任务组(IETF)的题为“交换网络的远程网络监控MIB扩展”的请求注释(RFC)2613中给出,这里引用其内容作为参考。
最好基于每个VLAN项通过进入FSE 404收集进入流的VLAN统计数据,通过外出FSE 604收集外出流的VLAN统计数据,如分别由进入统计数据信道338和外出统计数据信道339图示说明。就进入流量而言,SAM 350收集以下统计数据,由MAC预处理器220支持每个VLAN项:
在MAC缓冲器306中排队的字节数;
在MAC缓冲器306中排队的分组数;
流量控制器304所丢弃的字节数;
流量控制器304所丢弃的分组数;
在MAC缓冲器306中排队的非单播字节数;
在MAC缓冲器306中排队的非单播分组数;
流量控制器304所丢弃的非单播字节数;以及
流量控制器304所丢弃的非单播分组数。
就外出流量而言,SAM 350最好每个端口和每个VLAN项收集统计数据。得到的统计数据被细分成例如出队列字节数,以及出队列分组数。如果帧包括多个VLAN标记,统计数据在外部标记上累计。
尽管以上描述包含许多规范,但不应当理解为限制本发明的范围,它们只是提供了对给出的本发明优选实施方式的一些举例说明。
因此,本发明通过实施例公开,但不受限于这些实施例,应当参考后续权利要求书来确定本发明的范围。
Claims (10)
1.一种交换设备,包括
一个或多个物理层接口,用以从通信网络接收多个帧;
多个数据链路层处理器,其中每个数据链路层处理器包括:
一个或多个MAC,其中每个MAC操作上连接到物理层接口;以及
流量控制器,操作上连接到该一个或多个MAC,用于丢弃从该MAC接收的多个帧中超过一个或多个带宽参数的一个或多个帧;以及
网络处理器,操作上连接到该多个数据链路层处理器,用以为从该多个数据链路层处理器接收的帧寻找路由。
2.根据权利要求1的交换设备,其中该流量控制器按照三色标记(TCM)算法丢弃多个帧中的一个或多个。
3.根据权利要求2的交换设备,其中TCM算法从包括如下的组中选择:单速率TCM、双速率TCM以及它们两者的组合。
4.根据权利要求1的交换设备,其中该流量控制器包括:
进入计量模块,用于确定与相关联的数据链路层处理器接收的多个帧相关联的流速率;以及
丢弃控制逻辑,用于基于该流速率和一个或多个带宽参数,选择性地丢弃一个或多个帧。
5.根据权利要求4的交换设备,其中该流量控制器还包括标记模块,用于按照TCM算法标记多个帧。
6.根据权利要求5的交换设备,其中该一个或多个带宽参数包括承诺信息速率(CIR)和超过突发量(EBS)。
7.根据权利要求1的交换设备,其中该流量控制器包括流搜索引擎,用于基于与帧相关联的一个或多个特性分类多个帧。
8.根据权利要求7的交换设备,其中该流搜索引擎包括内容可寻址存储器(CAM)。
9.根据权利要求7的交换设备,其中一个或多个特性包括源端口,VLAN标记状态,VLAN标识符,以及VLAN标记控制信息(TCI)字段。
10.根据权利要求7的交换设备,其中与多个数据链路层处理器的每一个相关联的CAM包含关于相关联的多个物理层接口的QoS规则。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/750,702 | 2003-12-31 | ||
US10/750,702 US7385985B2 (en) | 2003-12-31 | 2003-12-31 | Parallel data link layer controllers in a network switching device |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1638361A true CN1638361A (zh) | 2005-07-13 |
CN100559775C CN100559775C (zh) | 2009-11-11 |
Family
ID=34574815
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2004101031107A Expired - Fee Related CN100559775C (zh) | 2003-12-31 | 2004-12-31 | 网络交换设备的并行数据链路层控制器 |
Country Status (3)
Country | Link |
---|---|
US (1) | US7385985B2 (zh) |
EP (1) | EP1551137A1 (zh) |
CN (1) | CN100559775C (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101340393B (zh) * | 2008-08-14 | 2010-12-08 | 杭州华三通信技术有限公司 | 组播流控方法、***及现场可编程门阵列 |
CN101552726B (zh) * | 2009-05-14 | 2012-01-11 | 北京交通大学 | 一种分级服务边缘路由器 |
CN102427426A (zh) * | 2011-12-05 | 2012-04-25 | 西安电子科技大学 | 同时支持afdx与普通以太网交换的方法及装置 |
CN102474444A (zh) * | 2009-07-02 | 2012-05-23 | Abb研究有限公司 | 一种用于限制到达根据工业以太网协议操作的本地节点的网络业务量的方法 |
CN103210609A (zh) * | 2010-11-16 | 2013-07-17 | Abb研究有限公司 | 包括识别不期望数据的保护电路的用于在数据网络中进行通信的电子设备 |
CN112559405A (zh) * | 2020-12-11 | 2021-03-26 | 中国电子科技集团公司第四十七研究所 | 一种具有令牌桶结构的多通道dma的控制方法和装置 |
CN116319578A (zh) * | 2023-05-22 | 2023-06-23 | 麒麟软件有限公司 | 一种基于dpaa的网络风暴防御方法 |
Families Citing this family (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7606222B2 (en) * | 2004-05-19 | 2009-10-20 | Agere Systems, Inc. | System and method for increasing the range or bandwidth of a wireless digital communication network |
JP4398356B2 (ja) * | 2004-12-24 | 2010-01-13 | 富士通株式会社 | 中継装置 |
US7463630B2 (en) * | 2005-02-18 | 2008-12-09 | Broadcom Corporation | Multi-part parsing in a network device |
US8351459B2 (en) | 2006-06-26 | 2013-01-08 | Mitsubishi Electric Corporation | Communication node, and token issuing method and token-ring communication method in ring communication system |
US7852843B2 (en) * | 2006-07-21 | 2010-12-14 | Cortina Systems, Inc. | Apparatus and method for layer-2 to layer-7 search engine for high speed network application |
US8341394B2 (en) * | 2007-07-03 | 2012-12-25 | Nec Corporation | Data encryption/decryption method and data processing device |
US20090086754A1 (en) * | 2007-10-02 | 2009-04-02 | Futurewei Technologies, Inc. | Content Aware Connection Transport |
CN101179595B (zh) * | 2007-12-10 | 2011-05-04 | 中国科学院计算技术研究所 | 一种无线通信数据收发设备和***及数据处理方法 |
US8281369B2 (en) * | 2008-03-12 | 2012-10-02 | Avaya Inc. | Method and apparatus for creating secure write-enabled web pages that are associated with active telephone calls |
US7738454B1 (en) * | 2008-09-30 | 2010-06-15 | Juniper Networks, Inc. | Methods and apparatus related to packet classification based on range values |
US7835357B2 (en) * | 2008-09-30 | 2010-11-16 | Juniper Networks, Inc. | Methods and apparatus for packet classification based on policy vectors |
US8804950B1 (en) | 2008-09-30 | 2014-08-12 | Juniper Networks, Inc. | Methods and apparatus for producing a hash value based on a hash function |
US8675648B1 (en) | 2008-09-30 | 2014-03-18 | Juniper Networks, Inc. | Methods and apparatus for compression in packet classification |
US7961734B2 (en) | 2008-09-30 | 2011-06-14 | Juniper Networks, Inc. | Methods and apparatus related to packet classification associated with a multi-stage switch |
US8798057B1 (en) | 2008-09-30 | 2014-08-05 | Juniper Networks, Inc. | Methods and apparatus to implement except condition during data packet classification |
US7796541B1 (en) | 2008-09-30 | 2010-09-14 | Juniper Networks, Inc. | Methods and apparatus for range matching during packet classification based on a linked-node structure |
US8111697B1 (en) | 2008-12-31 | 2012-02-07 | Juniper Networks, Inc. | Methods and apparatus for packet classification based on multiple conditions |
US8488588B1 (en) | 2008-12-31 | 2013-07-16 | Juniper Networks, Inc. | Methods and apparatus for indexing set bit values in a long vector associated with a switch fabric |
US7889741B1 (en) | 2008-12-31 | 2011-02-15 | Juniper Networks, Inc. | Methods and apparatus for packet classification based on multiple conditions |
EP2207312B1 (en) * | 2009-01-07 | 2012-04-18 | ABB Research Ltd. | IED for, and method of engineering, an SA system |
US8879464B2 (en) | 2009-01-29 | 2014-11-04 | Avaya Inc. | System and method for providing a replacement packet |
US9525710B2 (en) * | 2009-01-29 | 2016-12-20 | Avaya Gmbh & Co., Kg | Seamless switch over from centralized to decentralized media streaming |
US8238335B2 (en) | 2009-02-13 | 2012-08-07 | Avaya Inc. | Multi-route transmission of packets within a network |
US7936746B2 (en) * | 2009-03-18 | 2011-05-03 | Avaya Inc. | Multimedia communication session coordination across heterogeneous transport networks |
US20100265834A1 (en) * | 2009-04-17 | 2010-10-21 | Avaya Inc. | Variable latency jitter buffer based upon conversational dynamics |
US8094556B2 (en) * | 2009-04-27 | 2012-01-10 | Avaya Inc. | Dynamic buffering and synchronization of related media streams in packet networks |
US8553849B2 (en) * | 2009-06-17 | 2013-10-08 | Avaya Inc. | Personal identification and interactive device for internet-based text and video communication services |
US8800049B2 (en) * | 2009-08-26 | 2014-08-05 | Avaya Inc. | Licensing and certificate distribution via secondary or divided signaling communication pathway |
US20130329553A1 (en) * | 2012-06-06 | 2013-12-12 | Mosys, Inc. | Traffic metering and shaping for network packets |
CN101867521A (zh) * | 2010-06-11 | 2010-10-20 | 郭小雪 | 一种多链路接入及流量负载调度管理方法 |
US9282060B2 (en) | 2010-12-15 | 2016-03-08 | Juniper Networks, Inc. | Methods and apparatus for dynamic resource management within a distributed control plane of a switch |
JP5625978B2 (ja) * | 2011-02-10 | 2014-11-19 | 富士通株式会社 | 通信制御プログラム、情報処理装置およびパケット通信方法 |
WO2012122217A2 (en) * | 2011-03-07 | 2012-09-13 | Adtran, Inc. | Method and apparatus for network access control |
US9744826B2 (en) | 2013-05-31 | 2017-08-29 | Fox Factory, Inc. | Methods and apparatus for adjusting a spring pre-load |
WO2020236296A1 (en) * | 2019-05-23 | 2020-11-26 | Cray Inc. | System and method for facilitating efficient packet injection into an output buffer in a network interface controller (nic) |
WO2021080652A1 (en) * | 2019-10-22 | 2021-04-29 | Futurewei Technologies, Inc. | Systems and methods for differentiation of service using in-band signaling |
DE102021100647A1 (de) * | 2020-04-30 | 2021-11-04 | Realtek Semiconductor Corp. | Schaltung in einem router oder switch und korrespondierendes rahmenverarbeitungsverfahren |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU6311299A (en) * | 1998-07-08 | 2000-02-01 | Broadcom Corporation | Network switching architecture with multiple table synchronization, and forwarding of both IP and IPX packets |
US6404752B1 (en) * | 1999-08-27 | 2002-06-11 | International Business Machines Corporation | Network switch using network processor and methods |
US6870811B2 (en) | 2001-01-18 | 2005-03-22 | International Business Machines Corporation | Quality of service functions implemented in input interface circuit interface devices in computer network hardware |
US20030123457A1 (en) * | 2001-12-27 | 2003-07-03 | Koppol Pramod V.N. | Apparatus and method for distributed software implementation of OSPF protocol |
US7486696B2 (en) * | 2002-06-25 | 2009-02-03 | Avaya, Inc. | System and method for providing bandwidth management for VPNs |
US20050078602A1 (en) * | 2003-10-10 | 2005-04-14 | Nortel Networks Limited | Method and apparatus for allocating bandwidth at a network element |
US7805535B2 (en) * | 2003-12-31 | 2010-09-28 | Alcatel Lucent | Parallel data link layer controllers in a network switching device |
US7698412B2 (en) * | 2003-12-31 | 2010-04-13 | Alcatel Lucent | Parallel data link layer controllers in a network switching device |
-
2003
- 2003-12-31 US US10/750,702 patent/US7385985B2/en not_active Expired - Fee Related
-
2004
- 2004-12-18 EP EP04030076A patent/EP1551137A1/en not_active Ceased
- 2004-12-31 CN CNB2004101031107A patent/CN100559775C/zh not_active Expired - Fee Related
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101340393B (zh) * | 2008-08-14 | 2010-12-08 | 杭州华三通信技术有限公司 | 组播流控方法、***及现场可编程门阵列 |
CN101552726B (zh) * | 2009-05-14 | 2012-01-11 | 北京交通大学 | 一种分级服务边缘路由器 |
CN102474444A (zh) * | 2009-07-02 | 2012-05-23 | Abb研究有限公司 | 一种用于限制到达根据工业以太网协议操作的本地节点的网络业务量的方法 |
CN102474444B (zh) * | 2009-07-02 | 2014-10-15 | Abb研究有限公司 | 一种用于限制到达根据工业以太网协议操作的本地节点的网络业务量的方法 |
CN103210609A (zh) * | 2010-11-16 | 2013-07-17 | Abb研究有限公司 | 包括识别不期望数据的保护电路的用于在数据网络中进行通信的电子设备 |
CN103210609B (zh) * | 2010-11-16 | 2016-09-28 | Abb研究有限公司 | 包括识别不期望数据的保护电路的用于在数据网络中进行通信的电子设备 |
CN102427426A (zh) * | 2011-12-05 | 2012-04-25 | 西安电子科技大学 | 同时支持afdx与普通以太网交换的方法及装置 |
CN102427426B (zh) * | 2011-12-05 | 2015-06-03 | 西安电子科技大学 | 同时支持afdx与普通以太网交换的方法及装置 |
CN112559405A (zh) * | 2020-12-11 | 2021-03-26 | 中国电子科技集团公司第四十七研究所 | 一种具有令牌桶结构的多通道dma的控制方法和装置 |
CN112559405B (zh) * | 2020-12-11 | 2023-12-01 | 中国电子科技集团公司第四十七研究所 | 一种具有令牌桶结构的多通道dma的控制方法和装置 |
CN116319578A (zh) * | 2023-05-22 | 2023-06-23 | 麒麟软件有限公司 | 一种基于dpaa的网络风暴防御方法 |
CN116319578B (zh) * | 2023-05-22 | 2023-09-26 | 麒麟软件有限公司 | 一种基于dpaa的网络风暴防御方法 |
Also Published As
Publication number | Publication date |
---|---|
US7385985B2 (en) | 2008-06-10 |
CN100559775C (zh) | 2009-11-11 |
EP1551137A1 (en) | 2005-07-06 |
US20050141510A1 (en) | 2005-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100559775C (zh) | 网络交换设备的并行数据链路层控制器 | |
CN1278524C (zh) | 多级警管逻辑的分组处理器 | |
JP4294821B2 (ja) | ネットワーク中継装置 | |
US6185214B1 (en) | Use of code vectors for frame forwarding in a bridge/router | |
CN100579059C (zh) | 在网络交换设备中的并行数据链路层控制器 | |
US8964537B2 (en) | Method and system for egress policy indications | |
US6901052B2 (en) | System and method for policing multiple data flows and multi-protocol data flows | |
US8284665B1 (en) | Flow-based rate limiting | |
CN101834790B (zh) | 一种基于多核处理器的流量控制方法和多核处理器 | |
US9300597B2 (en) | Statistics module for network processors in virtual local area networks | |
US20020181484A1 (en) | Packet switch and switching method for switching variable length packets | |
US20090292575A1 (en) | Coalescence of Disparate Quality of Service Matrics Via Programmable Mechanism | |
US20020089929A1 (en) | Packet processor with multi-level policing logic | |
CN108833299A (zh) | 一种基于可重构交换芯片架构的大规模网络数据处理方法 | |
CN1541474A (zh) | 路由***中差异排队的***和方法 | |
CN103534997A (zh) | 用于无损耗以太网的基于端口和优先级的流控制机制 | |
JP2004221805A (ja) | パケット通信方法およびパケット通信装置 | |
CN100550914C (zh) | 在网络交换设备中的并行数据链路层控制器 | |
KR20120008478A (ko) | 3단계 동적 분류를 통한 10기가급 대용량 플로우 생성 및 제어방법 | |
CN112825507A (zh) | 网络设备中的流监测 | |
KR100637933B1 (ko) | 가입자 액세스망 접속 장비에서의 패킷 포워딩 방법 및장치 | |
US20230022037A1 (en) | Flow-based management of shared buffer resources | |
JP4676541B2 (ja) | ネットワーク中継装置 | |
JP5351189B2 (ja) | 通信装置及び通信方法 | |
JP2003511909A (ja) | 階層状に出力がキューされたパケットバッファリングシステムおよび方法 |
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: 20091111 Termination date: 20151231 |
|
EXPY | Termination of patent right or utility model |