CN1178434C - 用于具有多个最小项的封包数据字节的无缓冲器评估的装置和方法 - Google Patents

用于具有多个最小项的封包数据字节的无缓冲器评估的装置和方法 Download PDF

Info

Publication number
CN1178434C
CN1178434C CNB018128688A CN01812868A CN1178434C CN 1178434 C CN1178434 C CN 1178434C CN B018128688 A CNB018128688 A CN B018128688A CN 01812868 A CN01812868 A CN 01812868A CN 1178434 C CN1178434 C CN 1178434C
Authority
CN
China
Prior art keywords
minterm
equation
data packet
byte
network switch
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
CNB018128688A
Other languages
English (en)
Other versions
CN1443411A (zh
Inventor
S-J・曾
S-J·曾
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.)
GlobalFoundries Inc
Original Assignee
Advanced Micro Devices Inc
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 Advanced Micro Devices Inc filed Critical Advanced Micro Devices Inc
Publication of CN1443411A publication Critical patent/CN1443411A/zh
Application granted granted Critical
Publication of CN1178434C publication Critical patent/CN1178434C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/60Software-defined switches
    • H04L49/602Multilayer or multiprotocol switching, e.g. IP switching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3009Header conversion, routing tables or routing tags
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3018Input queuing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/351Switches specially adapted for specific applications for local area network [LAN], e.g. Ethernet switches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Abstract

一种在以太网(IEEE 802.3)网络中配置成执行第二层和第三层交换而无输入数据封包阻碍的网络交换器,其包括设有配置以瞬间为基础而评估输入数据封包的过滤器(即封包分类器模块)的网络交换器端口。该网络交换器端口过滤器包括最小项存储器,配置成用来储存多个方程式的最小项值。各最小项值指定一规定值以与对应选择的输入数据封包的字节相比较,其中各方程式由对应的方程式识别符所识别。该网络交换器端口过滤器亦包括对应的最小项产生器,配置成同时比较对应于已被接收字节的最小项和输入数据封包的已接收字节,并产生各自的最小项比较结果。该网络交换器端口过滤器进一步包括多个方程式核心模块。各核心模块配置成用来根据用于对应的选定方程式的对应方程式识别符和最小项比较结果而同时产生对应的帧标记。

Description

用于具有多个最小项的封包数据字节的无缓冲器评估的装置和方法
发明领域
本发明涉及无先进先出缓冲区无阻碍网络交换器中的数据封包的交换,该网络交换器配置成用来交换子网络之间的数据封包。
背景技术
局域网使用网络电缆或其它的媒体连接网络上的站台。各局域网结构体系使用媒体存取控制(MAC),从而使各网络节点的网络接口装置能够存取网络媒体。
以太网协议(IEEE 802.3)已发展出特定用来传输数据封包的半双工媒体存取机制和全双工媒体存取机制。全双工媒体存取机制提供在二个网络组件之间(例如在网络节点和交换的集线器之间)的双向、点至点通信链路。
交换局域网正面临着对于更高速的连接性、更灵活的交换性能、和容纳更复杂的网络结构能力的不断增长的需求。举例而言,具有本发明共同受让人的美国专利第5,953,335号揭示了一种网络交换器,配置成用来交换不同的网络节点之间的第二层类型以太网(IEEE 802.3)数据封包;接收的数据封包可包括依照IEEE 802.1q协议而标记了帧的虚拟局域网(VLAN),该协议特定另一个子网络(经由路由器)或一个规定的站台群。因为交换发生于第二层级,故一般说来需要以路由器转换子网络之间的数据封包。
欲增强网络交换器的交换性能、从而包括第三层(例如互联网协议)处理的努力可能受阻于某些严重的缺陷,因为现有的第二层交换器最好配置成操作于无阻碍模式中,其中数据封包能以其接收的相同速率从交换器输出。需要更新的设计以确保更高速率的交换器能够提供第二层交换和第三层交换能力,以用于譬如100Mbps的更快速网络或千兆位网络。
发展网络交换器操作于无阻碍模式的一种设想是在网络交换器的设计中包含有缓冲器。然而,于交换第二层和第三层数据封包中,缓冲器的大小可大到1500字节以匹配线路速率(wire rate)。事实上的情况是,相较于网络交换器的其它组件,缓冲器占据了芯片上相当大比例的空间。使用缓冲器以匹配线路速率由于增加了芯片的整个大小而增加了网络交换器的整体成本。
发明概要
需要有一种配置能够使网络交换器具有用于100Mbps和千兆位链路的第二层交换和第三层交换的能力而不会阻碍数据封包。
亦需要有一种配置能够使网络交换器以网络交换器内最小的缓冲区提供第二层交换和第三层交换的能力,否则该交换器也许会影响到交换数据封包的等待时间或网络交换器的大小。
亦需要有一种配置能够使网络交换器以网络交换器内的最小成本而具有第二层交换和第三层交换的能力,同时保持不会阻碍数据封包。
亦需要有一种配置能够不需要缓冲而提供第二层交换和第三层交换的能力,以降低网络交换器的成本。
亦需要有一种配置使网络交换器端口能够瞬时评估所输入的数据封包,并判定其为第三层或更高的协议,以使得相关的交换器结构具有足够的时间依照检测的协议来处理输入的数据封包。
本发明满足了上述和其它的需求,其中网络交换器端口过滤器配置成用来评估输入数据封包。网络交换器端口过滤器包括最小项存储器配置成用来储存多个方程式的最小项值。各最小项值特定一规定值用来与输入数据封包的对应的选定字节相比较,其中各方程式由对应的方程式识别符所识别。网络交换器端口过滤器亦包括对应的最小项产生器,该最小项产生器配置成用来同时比较输入数据封包被接收字节与对应于被接收字节的最小项,并产生各自的最小项比较结果。网络交换器端口过滤器进一步包括多个方程式核心模块。各核心模块配置成能同时产生一帧标记及一最小项比较结果,其中,所对应的帧标记是依据所选择的对应方程式上的对应方程式识别符所得到的。因为输入数据封包已被被接收字节同时与所有相关的最小项作比较,如此确保输入数据封包的实时评估。而且,多个方程式核心模块对于缓冲器的需求降到最低,因为同时产生的多个帧标记将输入数据封包的交换中的等待时间降至最短。
本发明的一个概念为提供了一种于网络交换器端口评估输入数据封包的方法。此方法包括将多个方程式的最小项值储存于最小项存储器中。各最小项值特定一规定值用来与输入数据封包的对应的选定字节相比较,其中各方程式由对应的方程式识别符所识别。本方法亦包括同时将对应于被接收字节的最小项与输入数据封包的接收字节作比较,并用最小项产生器产生各自的最小项比较结果。本方法更进一步包括从多个方程式核心模块同时产生多个帧标记。各方程式核心模块配置成能同时产生一帧标记及一最小项比较结果,其中,所对应的帧标记是依据所选择的对应方程式上的对应方程式识别符所得到的。各最小项和多个方程式核心模块的比较结果可确保实时评估输入数据封包,减少输入数据封包的缓冲需要,因此减少网络交换器端口的整体成本。
在下列说明中将提出本发明的部分其它优点和新颖特征,在检验下列说明后,对于本领域技术人员而言就会明了该说明,并由实践本发明而习得本发明的另一部分。通过权利要求范围中特别指出的装置和其组合的手段,即可实现并取得本发明的优点。
附图简单说明
请参照下列各附图,其中各图中有相同参考编号的组件系表示相同的组件,其中:
图1为依照本发明的实施例,包括多个用于各自子网络之间交换数据封包的网络交换器的封包交换网络的方框图。
图2A和图2B为示意图,显示由封包分类器模块24同时处理方程式的二个属性单元(template)。
图3为方框图,显示图1的网络交换器端口依照本发明的一个实施例而包括网络交换器端口过滤器。
图4为示意图,进一步详细说明由网络交换器端口过滤器24同时处理最小项。
图5为示意图,显示依照本发明实施例的图3所示最小项存储器中的最小项表目。
图6为示意图,显示在将关联于四个方程式的最小项与被接收字节作比较的循环期间,图3的最小项产生器76。
本发明最佳实施方式
图1为显示譬如以太网(IEEE 802.3)网络的封包交换网络10的方框图。该封包交换网络包括集成的(即单芯片)多端口交换器12,该多端口交换器12使得网络站台14之间能够进行数据封包通信。例如用户工作站的各网络站台14,一般系配置成用来依照IEEE 802.3协议于10Mbps或100Mbps发送和接收数据封包。各集成多端口交换器12通过千兆位以太网链路16而互相连接,使得子网络18a、18b、和18c之间能够进行数据封包传输。因此,各子网络包括交换器12和相关的网络站台14群。
各交换器12包括交换器端口20,该交换器端口20包括媒体存取控制(MAC)模块22和封包分类器模块24。MAC模块22依照IEEE 802.3u协议经由10/100 Mbps实体层(PHY)收发器(图中未显示)而发送和接收数据封包至相关的网络站台14。各交换器12亦包括交换器结构25,配置成用来对于接收的数据封包作帧标记传送决定。详言之,交换器结构25配置成根据来源地址、目的地地址、和在以太网(IEEE 802.3)标题内的VLAN信息而用于第二层交换决定。交换器结构25亦配置成根据在以太网封包内的互联网协议(IP)数据封包的评估,而用于选择的第三层交换决定。
如图1中所示,各交换器12具有相关的主CPU 26和缓冲器存储器28,例如SSRAM。主CPU 26控制对应于交换器12的整个操作,包括程序化交换器结构25。由对应的交换器12使用缓冲器存储器28,以储存数据帧标记,而交换器结构25正处理对于接收的信息封包的传送决定。
如上所述,交换器结构25配置成用来执行第二层交换决定和第三层交换决定。若子网络18a内的终端站14希望送电子邮件信息至子网络18b、18c或二者中选择的网络站台,假使能够使用第三层交换决定,上述工作的执行将特别地有效率;若仅能使用第二层交换决定,则交换器12a的交换器结构25将发送电子邮件信息至交换器12b和12c,而没有特定的目的地地址信息,如此使得交换器12b和12c将信息大量涌至所有的端口。否则,交换器12a的交换器结构25将需要发送电子邮件信息至路由器(图中未显示),如此将引入额外的延迟。由交换器结构25使用第三层的交换决定,使得交换器结构25对于目前如何处理封包可作智能的决定,包括先行传送决定,以及是否封包将考虑为对于等待时间较敏感的譬如视频和声频应用的高优先权封包。由交换器结构25使用第三层的交换决定,亦使得交换器12a的主CPU 12可通过发送具有对应于交换器12b的IP地址的IP地址信息而远程地处理控制其它交换器,例如交换器12b;而交换器12b亦响应所检测到寻址于交换器12b的信息,而能够传送该信息至对应的用来为交换器12b编程的主CPU 26。
依照所揭示的实施例,图1的封包分类器模块24配置成用于多个输入的数据流和属性单元之间的同时比较,该属性单元识别输入数据流的数据格式。详言之,主处理器26的使用者将指定用来定义如何由交换器结构25处理具有特定IP协议的数据封包的策略。这些策略的执行是经由对各对应的IP协议类型加载一组帧标记传送决定至交换器结构25。因此,交换器结构25能够包括一组用于HTTP封包的帧标记传送指示、用于SNMP封包的另一组帧标记传送指示、和用于高优先权封包(例如视频、或声频等)的另一组帧标记传送指示。
图2A和图2B为示意图,显示通过封包分类器模块24而执行方程式的二个属性单元的同时处理。图2A显示由方程式的封包分类器模块24所进行的逻辑评估:
Eq1=M1*M2*M3*M4*(M5+M6+M7+M8)。
图2B为显示方程式Eq1将如何实际地储存于最小项存储器70中。方程式Eq1包括四个属性单元62a、62b、62c、和62d;属性单元62a包括最小项M1、M2、M3、M4、和M5;属性单元62b包括最小项M1、M2、M3、M4、和M6;属性单元62c包括最小项M1、M2、M3、M4、和M7;和属性单元62d包括最小项M1、M2、M3、M4、和M8。各属性单元62对应于可根据IP数据封包32的标题以识别的特定的IP数据格式。举例而言,属性单元62a和62c可配置成用来识别HTTP封包,而且属性单元62b和62d可配置成用来识别SNMP封包。详言之,若一封包为IPv4格式、在IP中的生存时间字段(time to live field)为大于1、于IP标题中的协议字段是TCP、标题的核对和是正确的、来源TCP端口为80或目的地TCP端口为80,则可将此封包识别为HTTP封包。若一封包为IPv4格式、在'中生存时间字段为大于1、于IP标题中的协议字段是TCP、标题的核对和是正确的、源TCP端口为25或目的地TCP端口为25,则可将此封包识别为SNMP封包。
因此,可建立下列的最小项以表现所有的上述标准:
M1=在IPv4格式中的封包
M2=在IP中生存时间字段的时间为大于1
M3=在IP标题中协议字段为TCP
M4=标题核对和是正确的
M5=来源TCP端口为80
M6=目的地TCP端口为80
M7=来源TCP端口为25
M8=目的地TCP端口为25
因此,属性单元62a和62c识别HTTP封包,而属性单元62b和62d识别SNMP封包。因此,若属性单元62a、62b、62c和62d中有任何一个为真的话,则方程式1(Eq1)特定一指定的结果(例如标记具有特定的值)输出至交换器结构25。
再者,各最小项目M1~M8系以指定的次序配置在相关的属性单元62a和/或62b的内,其中,指定的次序对应于在输入数据流中数据字节的相对位置。如图3中所示,最小项目M1系配置成用来与IP封包32的第一字节(B1)相比较,最小项目M2系配置成用来与IP封包32的随后于B1的后续字节(B2)相比较,最小项目M3系配置成用来与IP封包32的随后于B2的后续字节(B3)相比较,依此类推。因此,使用的具有根据于输入数据流中的数据字节相关位置次序的最小项的属性单元62,使得能够作输入数据流和各最小项之间的多个同时比较。因此,输入数据能与多个属性单元作比较,不但判定输入数据封包的数据格式,而且亦判定何动作需要由交换器结构25来执行。
图3为显示依照本发明的实施例,封包分类器模块24的方框图。如图3中所示,网络交换器端口20包括MAC 22、接收先进先出(FIFO)缓冲器27、标题修正器(header modifier)29、和封包分类器模块24。该封包分类器模块24亦称之为网络交换器端口过滤器,系配置成用于网络交换器端口20的输入数据封包的无缓冲器识别(亦即评估),并将多个标记提供至交换器结构25,该等标记根据接收的数据封包的类型而指定于数据封包上将执行的动作。详言之,封包分类器模块24同时比较输入数据封包与配置用来识别各自数据格式的多个方程式的多个属性单元。封包分类器模块24根据输入数据封包与多个属性单元之间的比较,同时产生将供应至交换器结构25的标记。
详言之,封包分类器模块24产生比较结果,该比较结果由多个属性单元检测出至少一个与的匹配的属性单元,以识别输入数据封包。然后该封包分类器模块24识别那一个方程式对应于匹配的属性单元,并产生由这些方程式所指定的标记。
如图3中所示,网络交换器端口过滤器24包括最小项存储器70、帧标记识别器72、最小项控制器74、多个方程式核心模块78a、78b、78c、78d、方程式结果存储器80、和pi mod接口84。图3的网络端口过滤器亦包括最小项存储器控制器81。
处理器接口模块(pi mod)82亦用来将由主CPU 26产生的最小项,转移入最小项存储器。
最小项存储器70配置成用来储存最小项值,(例如,M1、M2、M3,以及等等)。再者,最小项存储器70可由最小项存储器控制器81而逻辑上再细分或划分成四个分割部。
最小项存储器控制器81配置成用来于最小项存储器70中储存或取出最小项值。该最小项存储器控制器81亦配置成用来从pi mod接口84中接收最小项值,并响应于由最小项控制器74来的请求而取得最小项值。
最小项存储器控制器81更进一步配置成用来逻辑上分割最小项存储器70成为四个逻辑分割部71a、71b、71c、71d。最小项存储器控制器81配置成根据各方程式的各最小项的位置而储存最小项值,该方程式系根据图5中所示的方程式识别符字段110的至少二个有效位。
图5为示意图,显示在最小项存储器70中的最小项结构的数据格式。依照所揭示的实施例,最小项系以对应于根据方程式识别符字段110的至少二个有效位相比较的数据字节的相关位置的次序而储存在最小项存储器70中。因此,所有将与方程式的第一数据字节相比较的最小项,其中,至少有二个有效位被指定为“00”,系一起储存在最小项存储器70的逻辑分割部71a的第一部分,其后跟随着将与第二数据字节等相比较的最小项。
或可取而代的,最小项可依照在IP标题内相关信息的次序,以及将作比较的数据字节的相关位置而储存。因此,最小项可依于用来比较数据字节序列的次序而储存,该数据字节设有来源IP地址、目的地IP地址、以及来源和来源及目的地端口端;于此种情况,于IP帧开始处的非相关数据字节将与储存在最小项存储器70开始处的最小项无关联,因此更进一步改进了最小项存储器70的效率。
各表目90包括最小项部分和评估部分。最小项部分包括掩码字段(MASK)94、期望的数据域(EXP_DATA)96、以及操作者字段(OPERATOR)98。根据在最小项存储器70中表目90的位置,最小项控制器74能够判定须与对应的最小项相比较的IP封包32的哪一个字节系关联于IP封包的开始64。掩码字段94是在执行比较时由最小项产生器76所使用的掩码;若掩码有位设定为1,则比较此值,而假如掩码值在字段中值为0,则可忽略此比较。期望的数据域96指定将与IP封包32的相关数据字节作比较的期望的数据。操作者字段98指定将由最小项产生器所执行比较的类型,例如:小于、小于或等于、等于、大于、大于或等于、以及不等于。
评估部分包括分支部分100、用于比较最小项部分为真的情况的反应部分(RINP1)102、用于比较最小项部分为伪的情况的第二反应部分(RINP0)106、和方程式识别符110。分支部分100指定于方程式中“或(OR)”项的次序;例如,于第2和4图中所示的最小项M1将其分支部分设定为0000 1111,这表示于方程式识别符字段110中的首先四个分支将包括对应的最小项。对于分支部分使用8位系假定在任何已知的方程式中最多有八个分支。
若最小项部分相关于比较的数据字节评估为真,则反应部分102指定将执行的操作。详言之,若方程式的结果判定假如最小项结果为真,则完成位(FIN)设定为1;若当最小项结果为真,评估过程将回到初始状态(init),则设定回到初始(BINIT)为1。例如,对于最小项M1的情况,RINP1的FIN位和BINIT位设定为0,因为若最小项结果为真,则需要额外的比较。对于最小项M5、M6、M7、以及M8的情况,RINP1的FIN位设定为0,因为于评估的结束造成“真”的比较结果,如图2所示。
若最小项部分相关于比较的数据字节评估为伪,则反应部分106指定将执行的操作。详言之,若方程式的结果判定假如最小项结果为伪,则完成位(FIN)设定为1;若当最小项结果为伪,评估处理将回到初始状态(init),则设定回到初始(BINIT)为1。例如,于最小项M1的情况,FIN位设定为0和RINP1的BINIT位设定为1,而使得若最小项结果M1为伪,则方程式将回到初始状态,如图2所示。
方程式识别符字段110识别最小项对应的方程式(或若于方程式中仅有一个属性单元时,则为属性单元)。
因此,方程式核心78a~78d判定是否有任何特定的方程式具有匹配数据流的属性单元62。根据输入数据流与多个属性单元62的多个同时比较,方程式核心模块78a~78d能识别匹配的方程式,并产生对应于匹配的方程式的适当的标记,用来帮助该标记至交换结构25。如果需要的话,于转换数据至交换器之前,核心模块78a~78d亦输出指令至标题修正器29以修正第二层标题、第三层标题、或者二者。
回头参照图3,封包分类器24亦包括帧标记识别器72,配置成用来识别接收的第二层帧标记的类型;详言之,识别接收的第二层帧标记的类型(例如,以太网、IEEE 802至3等)使得能识别在第二层封包30内的IP封包32的开始位置64。
最小项控制器74配置成用来从对应于IP帧32的选择的字节的最小项存储器70,透过最小项存储器控制器82来取出最小项。最小项控制器74亦包括位置转换器82,配置成用来响应从特定第二层帧标记类型的帧标记识别器72所接收的帧标记类型(frm type)讯号,而指定开始点64的实际字节位置(byte location)。因此,最小项控制器74响应于检测IP封包的开始处,而请求从最小项存储器控制器81来的所有的最小项,该等所有最小项将与IP封包32的第一字节(B1)相比较,例如,于图6中对于方程式Eq1、Eq2、和Eq3的最小项M1、M9、和M14。然后,最小项存储器控制器81经由四线式串行总线传送最小项值(M STRU INFO)至最小项产生器76和方程式核心模块78a~78d。
最小项产生器76执行由最小项控制器74所取得的多个方程式的最小项与输入数据流的选择的字节之间的实际的最小项比较。任何给定的接收字节可与多达四个方程式的最小项相比较。然而,对于各对应的字节,最小项产生器76仅可配置为最多与三十二个最小项相比较。因此,对于任何给定的接收字节,最小项产生器可执行达三十二个最小项比较,该三十二个最小项可分配于四个或较少的方程式。于效果上,最小项产生器76可逻辑上分成四个极小项产生器76a~76d。
最小项产生器76可配置成接收输入数据封包的输入字节,该输入数据封包由MAC接口22以每八个时钟周期传送出去一次。最小项产生器76配置成于每个时钟周期期间将被接收字节与多个方程式的最小项相比较,如图6中所示。
图6显示于被接收字节与相关于四个方程式的最小项比较周期期间的图3的最小项产生器76。因为被接收字节120以网络交换器端口过滤器24的每八个时钟周期传送一次至最小项产生器76,因此于最小项产生器中的比较周期126包括网络交换器端口过滤器24的八个时钟周期。被接收字节120由最小项产生器76于时钟周期0 124a接收,并分别与例如方程式122a~122d的最小项M1、M2、M3、M4相比较。于时钟周期1 124b,最小项产生器76分别与例如方程式122a~122d的最小项M2、M4、M3、M4相比较。继续进行比较直到比较周期126结束为止。于次一个比较周期期间,最小项产生器76同时将接续的输入数据字节与关联于接续的输入数据字节的最小项相比较。以此种方式,由最小项产生器76产生了多个最小项比较,而传送到方程式核心模块78a~78d。
现参照图3,方程式核心模块78a~78d配置成用来根据从最小项产生器76接收的最小项比较结果,和根据用于对应的选定方程式的对应的方程式识别符,而同时产生对应的帧标记。方程式核心模块78a~78d根据方程式识别符字段的至少二个有效位来评估方程式。举例而言,图5的方程式122a的方程式识别符字段由“00”所特定,而方程式122b的方程式识别符字段由“01”所特定。方程式核心模块78a根据从最小项产生器76来的最小项结果评估方程式122a,以产生对应的帧标记,在此同时方程式核心模块78b评估122b以产生其对应的帧标记。由各方程式核心模块78a~78d产生的结果储存在对应的方程式结果存储器80a~80d中。
依照以上所揭示的实施例,网络交换器端口包括过滤器可执行数据封包的输入数据流与配置成用来以最小的缓冲封包而识别对应的协议的多个属性单元之间的多个同时比较。于以太网应用中,缓冲需求可大到1500字节。因为网络交换器端口过滤器24包括多个方程式核心模块78a~78d同时并行地产生帧标记,该网络交换器端口过滤器24可保持着输入数据封包的线速率,减少对于缓冲输入数据的需求。因此,由于免除了对于大先进先出(FIFO)缓冲器的需求,而减少了网络交换器端口20的整体成本。再者,多个同时比较使得网络交换器12能够执行用于100Mbps和千兆位网络的第三层交换,而于网络交换器中不会遭遇阻碍。最后,依数据接收次序的同时比较使得能够执行实时比较,而对照于另一种设计譬如可编程逻辑阵列(PLA),该可编程逻辑阵列于能够开始处理之前,将需要先接收到整个的标题。
虽然本发明在此的说明可视为可执行的最佳实施例,但应了解到本发明并非要限定于所揭示的实施例内容;反之,本发明将包括所附权利要求书范围内的各种的变更方式和等效安排。

Claims (14)

1.一种网络交换器端口过滤器,配置成用来评估输入数据封包,包括:
最小项存储器,配置成用来储存多个方程式的最小项,各最小项指定一规定值以与该输入数据封包的对应的选定字节相比较,其中各方程式由对应的方程式识别符来识别;
最小项产生器,配置成用来将该输入数据封包的被接收字节与对应于该被接收字节的最小项同时比较,并产生最小项比较结果;以及
多个方程式核心模块,各方程式核心模块配置成根据用于对应的选定方程式的对应的方程式识别符和最小项比较结果,而同时产生对应的帧标记。
2.如权利要求1的网络交换器端口过滤器,进一步包括:
中央处理单元接口,配置成用来接收各方程式的最小项;以及
最小项存储器控制器,配置成用来根据各方程式的对应的方程式识别符,而将各方程式的最小项储存于该最小项存储器中。
3.如权利要求2的网络交换器端口过滤器,其中:
该最小项存储器控制器配置成用来根据对应的方程式识别符的至少二个有效位,而将各方程式的最小项值储存于该最小项存储器中。
4.如权利要求1的网络交换器端口过滤器,其中:
该最小项产生器进一步配置成每八个时钟周期接收一次该输入数据封包的被接收字节。
5.如权利要求4的网络交换器端口过滤器,其中:
该最小项产生器进一步配置成,根据该方程式核心模块的数目,每一时钟周期将该输入数据封包的被接收字节与对应于该被接收字节的最小项同时进行一次比较。
6.如权利要求3的网络交换器端口过滤器,其中于该最小项存储器中所储存的各最小项的位置相对于在第二层封包内IP帧的开始。
7.如权利要求1的网络交换器端口过滤器,其中各方程式核心模块以该输入数据封包的线路速率,在该输入数据封包的结束之前,产生帧标记。
8.一种在网络交换器端口评估输入数据封包的方法,该方法包括:
将多个方程式的最小项值储存于最小项存储器中,各该最小项值指定一规定值用来与该输入数据封包的对应的选定字节相比较,其中各方程式包括对应的方程式识别符;以及
同时比较输入数据封包的被接收字节与对应于该被接收字节的最小项,并用最小项产生器产生最小项比较结果;以及
从多个方程式核心模块同时产生多个帧标记,各方程式核心模块配置成根据用于对应的选定方程式的方程式识别符和最小项比较结果而同时产生对应的帧标记。
9.如权利要求8的方法,进一步包括:
由中央处理单元接口接收该多个方程式的该最小项;以及
根据各方程式的对应的方程式识别符而储存各方程式的最小项于该最小项存储器中。
10.如权利要求9的方法,其中该储存步骤包括根据各自方程式识别符字段的至少二个有效位,而储存最小项于该最小项存储器中。
11.如权利要求8的方法,其中该同时比较步骤包括:
由该最小项产生器每八个时钟周期一次接收该输入数据封包的被接收字节。
12.如权利要求11的方法,其中该同时比较步骤进一步包括:根据方程式核心模块的数目,将输入数据封包的被接收字节与对应于该被接收字节的最小项在每一时钟周期作一次同时比较。
13.如权利要求8的方法,其中该储存步骤进一步包括:根据在第二层封包内互IP帧的相对开始位置,定出各最小项于该最小项存储器中的位置。
14.如权利要求8的方法,其中该同时产生步骤包括:各方程式核心模块以该输入数据封包的线路速率,在该输入数据封包的结束之前,产生各自的帧标记。
CNB018128688A 2000-07-17 2001-02-27 用于具有多个最小项的封包数据字节的无缓冲器评估的装置和方法 Expired - Fee Related CN1178434C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/618,059 2000-07-17
US09/618,059 US6693906B1 (en) 2000-07-17 2000-07-17 Apparatus and method for buffer-free evaluation of packet data bytes with multiple min terms

Publications (2)

Publication Number Publication Date
CN1443411A CN1443411A (zh) 2003-09-17
CN1178434C true CN1178434C (zh) 2004-12-01

Family

ID=24476158

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB018128688A Expired - Fee Related CN1178434C (zh) 2000-07-17 2001-02-27 用于具有多个最小项的封包数据字节的无缓冲器评估的装置和方法

Country Status (7)

Country Link
US (1) US6693906B1 (zh)
EP (1) EP1303949B1 (zh)
JP (1) JP4680478B2 (zh)
KR (1) KR100682645B1 (zh)
CN (1) CN1178434C (zh)
DE (1) DE60142291D1 (zh)
WO (1) WO2002007391A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101242344B (zh) * 2007-02-05 2013-03-20 财团法人工业技术研究院 网络封包分类器与其方法

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6963565B1 (en) * 2000-08-14 2005-11-08 Advanced Micro Devices, Inc. Apparatus and method for identifying data packet at wire rate on a network switch port
US6976134B1 (en) 2001-09-28 2005-12-13 Emc Corporation Pooling and provisioning storage resources in a storage network
US7558264B1 (en) 2001-09-28 2009-07-07 Emc Corporation Packet classification in a storage system
US7707304B1 (en) * 2001-09-28 2010-04-27 Emc Corporation Storage switch for storage area network
US7864758B1 (en) * 2001-09-28 2011-01-04 Emc Corporation Virtualization in a storage system
US7404000B2 (en) * 2001-09-28 2008-07-22 Emc Corporation Protocol translation in a storage system
US7421509B2 (en) * 2001-09-28 2008-09-02 Emc Corporation Enforcing quality of service in a storage network
US20040264479A1 (en) * 2003-06-30 2004-12-30 Makaram Raghunandan Method for generating a trie having a reduced number of trie blocks
EP1566737B1 (en) * 2004-02-18 2009-02-04 Harman Becker Automotive Systems GmbH ATAPI switch
US7519995B2 (en) * 2004-04-19 2009-04-14 Regents Of The University Of California Programmable hardware for deep packet filtering
US7529781B2 (en) * 2004-04-30 2009-05-05 Emc Corporation Online initial mirror synchronization and mirror synchronization verification in storage area networks

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08288950A (ja) * 1995-04-12 1996-11-01 Kawasaki Steel Corp セルリレー形交換装置
US5802054A (en) * 1996-08-15 1998-09-01 3Com Corporation Atomic network switch with integrated circuit switch nodes
EP0960517A1 (en) 1997-02-11 1999-12-01 Xaqti Corporation Media access control micro-risc stream processor and method for implementing the same
US5953335A (en) 1997-02-14 1999-09-14 Advanced Micro Devices, Inc. Method and apparatus for selectively discarding packets for blocked output queues in the network switch
US6430184B1 (en) 1998-04-10 2002-08-06 Top Layer Networks, Inc. System and process for GHIH-speed pattern matching for application-level switching of data packets
JP2000083055A (ja) * 1998-09-04 2000-03-21 Hitachi Ltd ルータ
JP4024943B2 (ja) * 1998-09-16 2007-12-19 株式会社東芝 ネットワーク間接続装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101242344B (zh) * 2007-02-05 2013-03-20 财团法人工业技术研究院 网络封包分类器与其方法

Also Published As

Publication number Publication date
WO2002007391A1 (en) 2002-01-24
KR20030022285A (ko) 2003-03-15
KR100682645B1 (ko) 2007-02-15
JP4680478B2 (ja) 2011-05-11
EP1303949A1 (en) 2003-04-23
DE60142291D1 (de) 2010-07-15
JP2004504769A (ja) 2004-02-12
US6693906B1 (en) 2004-02-17
EP1303949B1 (en) 2010-06-02
CN1443411A (zh) 2003-09-17

Similar Documents

Publication Publication Date Title
US6571291B1 (en) Apparatus and method for validating and updating an IP checksum in a network switching system
KR100615663B1 (ko) 네트워크 스위치 포트 상에서 데이터 패킷의 타입을 실시간으로 식별하는 장치 및 방법
CN1178434C (zh) 用于具有多个最小项的封包数据字节的无缓冲器评估的装置和方法
CN1178435C (zh) 在网络交换机中选择性地删除地址表项目的方法及使用这种方法的网络交换机
CN1505888A (zh) 网络设备中的选择式数据帧丢失
CN100576820C (zh) 与帧集合一起使用的mac报头压缩
CN100444593C (zh) 数据包分类的装置及方法
US6807183B1 (en) Arrangement for reading a prescribed location of a FIFO buffer in a network switch port
US20110019685A1 (en) Method and system for packet preemption for low latency
US6711165B1 (en) Apparatus and method for storing min terms in network switch port memory for access and compactness
JP2005012381A (ja) データ転送装置及びその方法並びにそれを用いたデータ通信システム及びプログラム
US20090232162A1 (en) Communication apparatus and method
WO2008003218A1 (fr) Procédé, dispositif et système de transmission d'informations entre des appareils dans éthernet
CN100484101C (zh) 一种以太网传输IPv6报文方法、系统与装置
US7245615B1 (en) Multi-link protocol reassembly assist in a parallel 1-D systolic array system
US6741594B1 (en) Arrangement for identifying data packet types from multiple protocol formats on a network switch port
US6678272B1 (en) Apparatus and method using a register scheme for efficient evaluation of equations in a network switch
US20060285013A1 (en) Apparatus and method for providing QoS of AV streams
US6728255B1 (en) Apparatus and method for storing min terms in a network switch port memory for identifying data packet types in a real time
JP2007520121A (ja) 無線リンクでieee1394データを伝送する方法及びその方法を実装した装置
US6714542B1 (en) Apparatus and method for storing min terms in a central min term memory for efficient sharing by a plurality of network switch ports
JP2006081029A (ja) データ通信装置及びデータ通信方法
JP2002044106A (ja) 通信方法、通信システム、通信装置、及び記憶媒体
JPH08503349A (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
ASS Succession or assignment of patent right

Owner name: GLOBALFOUNDRIES

Free format text: FORMER OWNER: ADVANCED MICRO DEVICES INC.

Effective date: 20100705

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: CALIFORNIA, THE UNITED STATES TO: CAYMAN ISLANDS, BRITISH

TR01 Transfer of patent right

Effective date of registration: 20100705

Address after: Grand Cayman, Cayman Islands

Patentee after: Globalfoundries Semiconductor Inc.

Address before: American California

Patentee before: Advanced Micro Devices Inc.

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20041201

Termination date: 20170227

CF01 Termination of patent right due to non-payment of annual fee