在交换机的输入端口处过滤帧的制作方法

文档序号:7959418阅读:280来源:国知局
专利名称:在交换机的输入端口处过滤帧的制作方法
技术领域
本发明总体上涉及网络通信,更具体地,涉及在交换机的输入端口处过滤帧。
背景技术
在网络中,交换机在不同网络组件之间对网络业务量进行择路。这些交换机通常保存有表示如何处理业务量的数据库。

发明内容
根据本发明,提供了用于在交换机的输入端口处过滤特定帧的技术。根据具体实施例,这些技术描述了用于通过在输入端口处实现丢帧判定而在该输入端口处过滤帧的方法和设备。输入端口可以存储过滤信息并做出特定的过滤判定,过滤判定例如可以包括对因VLAN寻址冲突(addressing violation)而丢帧的判定。
根据一具体实施例,交换设备包括多个端口。每个端口都包括高速缓存,该高速缓存具有一个或更多个过滤条目(entry)。每个端口都能够接收帧,该帧包括有效载荷以及指定寻址信息的报头。每个端口还能够确定寻址信息是否与其中一个过滤条目相对应,如果寻址信息与其中一个过滤条目相对应,则丢弃该帧,而如果寻址信息不与其中一个过滤条目相对应,则将该帧转发至交换机核心(switching core)。该交换设备还包括一交换机核心。该交换机核心具有帧缓冲器,该帧缓冲器能够存储从端口转发出的帧。该交换设备还包括一转发数据库,该转发数据库能够保存多个择路条目。每个择路条目都表示外发(outbound)端口和丢弃条件中的至少一个。该交换设备还包括控制器。对于帧缓冲器中的每个帧,该控制器都能够从帧的报头中识别出寻址信息,以识别出转发数据库中与该寻址信息相对应的一个择路条目,如果对应的择路条目表示外发端口,则将该帧转发至所表示的外发端口,而如果该对应的择路条目表示丢弃条件,则丢弃该帧,并向接收到该帧的一个端口传达表示该丢弃条件的高速缓存更新。
本发明的实施例提供了各种技术优点。例如,这些技术可以提供一种机制,交换机的输入端口可以利用该机制来丢弃无效帧,而不必访问该交换机的中央或共享组件。由于输入端口能够丢弃帧,所以可以减少对交换机的转发数据库的访问次数。在某些实施例中,降低了对交换机中的帧缓冲器的存储器要求。通常,帧缓冲器存储帧,而交换机确定针对帧的合适外发端口。通过在输入端口处实现丢帧判定,帧缓冲器可避免存储交换机将确定为需要丢弃的特定帧。由此,可以降低对于帧缓冲器的容量要求。在具体实施例中,对输入端口所存储的过滤信息进行选择,以减少转发数据库和帧缓冲器的使用,同时还最小化输入端口的大小。另外,在某些实施例中,减少对转发数据库的访问次数,增大了交换机的吞吐量。最后,在具体实施例中,交换机核心保持转发数据库与各端口中的高速缓存之间的一致性。因此,设备和要素可以更新转发数据库,而不必更新位于输入端口处的高速缓存。
根据以下附图、说明书及权利要求,本领域的技术人员将容易地想到本发明的其他技术优点。此外,尽管以上列举了几个具体优点,但是各种实施例可以包括所列举优点的全部、一些,或者不包括所列举优点。


为了更加完整地理解本发明及其优点,下面结合附图进行以下说明,附图中图1示出了一种交换机,该交换机通过在该交换机的输入端口处过滤帧而提供了增强的帧过滤;图2是一流程图,示出了一种通过在交换机的输入端口处实现丢帧判定而在该输入端口处过滤帧的方法;以及图3是一流程图,示出了一种对输入端口的高速缓存进行更新以反映对于转发数据库的更新的方法。
具体实施例方式
图1示出了总体上以10表示的交换机,该交换机10通过在交换机10的输入端口处过滤帧而提供了增强的帧过滤。如图所示,交换机10包括端口12和交换机核心30,交换机核心30包括控制器14和交换机存储器16。交换机10还可以包括交换结构(未示出),该交换结构提供连接,以便于从任何一个端口12向交换机核心30、控制器14、交换机存储器16,以及交换机10内的任何或所有端口12传输帧。交换机核心30还可以包括用于在端口之间传输帧的交换结构以及任何合适要素。通常,交换机10内的要素协同操作,以通过允许端口12做出特定的过滤判定,而在端口12处过滤掉某些帧。
每个端口12都表示用于发送和接收帧的硬件,包括任何合适的控制逻辑。例如,端口12可以包括用于接收帧的输入模块和用于发送帧的输出模块。本说明书中使用的术语“帧”,是指包括寻址信息的任何信息片段(segmentation)。例如,帧可以包括以太帧、因特网协议(IP)分组、异步传输模式(ATM)信元,以及或者任何其他合适的信息片段。
如图所示,每个端口12都包括端口存储器18,端口存储器18包括输入缓冲器20和高速缓存22。输入缓冲器20存储由对应端口12所接收的帧。在某些实施例中,在可以将帧发送并存储到交换机存储器16中之前,一直由输入缓冲器20来存储所述帧。输入缓冲器20可以一直存储着这些帧,直到端口12可以处理这些帧为止。在具体实施例中,在端口12接收到帧的同时,对该帧的报头进行处理。因此,可以根据该报头来进行丢弃判定,而无需将该帧存储到输入缓冲器20中。尽管作为端口存储器18中的一个逻辑块进行了描述,但是应当理解,这是逻辑描述,而输入缓冲器20可以按任何方式进行构造并进行操作以缓冲端口所接受的帧。
高速缓存22保存用于在端口12处实现帧过滤判定的过滤信息。在具体实施例中,高速缓存22从位于交换机存储器16处的转发数据库26接收过滤信息。高速缓存22可以按照多种不同的方式来存储过滤信息。例如,可以将过滤信息组成为包含丢弃条件的条目。在某些实施例中,将条目存储在表格、数据库或文件中。在具体实施例中,高速缓存22中的条目对应于可以存储在帧的报头中的地址。在某些实施例中,每个条目都指定了在满足过滤条件时要采取的特定动作,而在其他实施例中,端口12在任何条目得到满足时都执行相同的动作。在具体实施例中,丢弃条件可以表示应该采取的动作,例如丢帧;如果帧不是网桥协议数据单元(BPDU)帧(即,配置帧)则丢弃该帧;丢弃帧但却允许学习等。例如,高速缓存22中的特定条目中的丢弃条件可以表示应当丢弃满足该过滤条件的所有帧而无需任何进一步的动作。高速缓存22中的另一条目中的不同丢弃条件可以表示应当丢弃满足该过滤条件的所有帧,并且应当将源地址发送至交换机核心30,从而允许进行学习。
高速缓存22可以具有多个不同长度中的任何一个。在某些实施例中,选择高速缓存22中的条目的数量,以使交换机10的总体大小最小化。在具体实施例中,将高速缓存22的大小设定为给定数字,例如只允许四个条目。与其他合适大小的要素相组合地来使用相对较小的高速缓存22,可以事实上允许在单个芯片上实施高速交换机的所有要素,该芯片潜在地按10Gbps或更高的速度工作。在特定实施例中,高速缓存22中的过滤信息指定了对于包含在帧报头中的信息的帧过滤条件。
在某些实施例中,高速缓存22保存与一个或更多个虚拟局域网(VLAN)相对应的过滤条件。为了识别帧冲突,高速缓存22可以保存违反过滤条件的VLAN地址的列表或集合。例如,高速缓存22可以包含一表,该表为每个条目指定了VLAN ID、端口状态以及有效位。高速缓存22中的条目通常镜像反映了从转发数据库26中选出的信息。尽管已描述了高速缓存22的示例,但是应当理解,高速缓存22可以按照任何合适的方式来构造并进行操作,以保存使对应端口12能够进行帧过滤判定的信息。
在操作中,端口12接收帧并将该帧存储在输入缓冲器20中。然后,端口12访问高速缓存22,来确定高速缓存22中的条目是否与帧的报头中的信息相对应。在某些实施例中,高速缓存22中的每个条目都对应于一VLAN地址。端口12确定帧的报头中所包含的任何地址是否与高速缓存22中的任何条目相对应。如果报头中的地址与高速缓存22中的条目相对应,则端口12按照高速缓存22中的条目所指示地来对帧进行动作。在具体实施例中,高速缓存22仅包含指定应当丢弃帧的情形的条目。例如,高速缓存22可以包含违反与该端口相关联的过滤条件的VLAN地址的列表。在这些情况下,如果帧的报头中的地址与高速缓存22中的条目相对应,则输入端口12丢弃该帧。端口12可以从输入缓冲器20中删除该帧,或者指示该帧被丢弃。另一方面,如果端口12在高速缓存22中没有找到与帧的报头中的任何地址相对应的条目,则将该帧发送至交换机核心30,下面将对交换机核心的操作进行说明。
虽然将端口12作为包含模块的特定配置和排布的单个要素进行了说明,但是应当注意,这只是逻辑描述,而端口12的组件和功能性可由组件的任何合适的集合以及排布来提供。端口12的各个组件所执行的功能,可由用于发送和接收帧并进行帧过滤判定的任何合适装置或要素来实现。
通常,控制器14对交换机10的操作进行管理。例如,控制器14可以对端口12与交换机核心30之间的帧传输进行管理,访问交换机存储器16来为所接收的帧确定合适的外发端口12,并根据存储在交换机存储器16中的信息来确定帧的丢弃条件。作为具体示例,控制器14可以对把从接收端口12接收的帧传输到交换机核心30中进行管理,识别在违反存储在交换机存储器16中的过滤条件的帧的报头中的信息,并指示丢弃该帧。
如图所示,交换机10包括至少三个端口12端口12a、端口12b以及端口12n。每个端口12都能够进行操作以独立地接收并处理它所接收的信息。在某些实施例中,交换机10被构造为在采用虚拟局域网(VLAN)的环境中进行操作。在VLAN环境中,端口12可以属于不同的VLAN。控制器14可以丢弃其VLAN地址违反了交换机存储器16所存储的过滤条件的帧。帧可以由于具有入口冲突、出口冲突、协议冲突(如多生成树协议(MSTP)端口状态冲突),或者交换机10监测到的任何其他冲突,而违反过滤条件。
作为示例,考虑以下情况端口12a和端口12b属于一个VLAN(“组A”);端口12b和端口12n属于不同的VLAN(“组B”);以及端口12n属于第三VLAN(“组C”)。如果端口12a接收到其报头指定了VLAN组C中的源地址的帧,则该帧存在入口冲突,因为端口12a只属于VLAN组A。接收到该帧之后,端口12a可以访问高速缓存22a,以确定该帧的报头中的一个或更多个地址是否在高速缓存22a中具有对应的条目。如果没有找到任何对应的条目,则端口12a将该帧转发至交换机核心30,交换机核心30将该帧存储在交换机存储器16中。控制器14在访问了交换机存储器16并识别出帧存在入口冲突之后,指示交换机核心30丢弃该帧。
作为另一示例,当端口12b处于对VLAN组B的学习状态时,端口12b接收以VLAN组B为目的地的帧。在学习状态下,即使交换机可以学习帧的源地址并对转发数据库26中的条目进行添加或修改以包括该源地址,也可以丢弃进入帧。在接收到帧之后,端口12b检查高速缓存22b,高速缓存22b可以指示应当丢弃该帧,但是应当将该帧的源地址发送至转发数据库26以进行学习。另一方面,当端口12b接收到以VLAN组A为目的地的帧时,端口12b检查高速缓存22b。如果在高速缓存22b中没有找到任何针对VLAN组A的信息,则将该帧转发至交换机核心30。
在具体实施例中,控制器14还可以对高速缓存22所存储的过滤信息进行更新。接着以上示例,控制器14可以确定,端口12a将稍后因入口冲突而被丢弃的帧转发给了控制器14。控制器14随后可以向端口12a发送高速缓存更新,指示端口12a将针对该丢弃条件的条目添加至高速缓存22a。在某些实施例中,控制器14直接将该条目添加至高速缓存22。该条目可以指定,应当丢弃由端口12a接收的具有来自VLAN组C的源地址的任何帧。利用高速缓存22a中的该条目,端口12a随后可以对具有类似冲突的未来帧就地进行丢弃判定。
尽管以上示例提供了对表现入口冲突的接收帧进行处理的具体方法的细节,但是交换机10希望其要素使用所述技术或类似技术来处理各种类型的冲突。
控制器14还可以响应于交换机存储器16所保存的过滤或择路信息的改变,对高速缓存22所存储的过滤信息进行更新。在某些实施例中,在对过滤或择路信息进行更新(例如改变VLAN成员关系)以后,控制器14确定哪个端口12应当接收高速缓存更新。随后控制器14向合适的端口12发送该高速缓存更新。在其他实施例中,控制器14向所有端口12发送高速缓存更新。在接收到更新后,端口12对包含在该更新中的过滤信息与由端口在高速缓存22中所保存的信息进行比较。如果端口12当前在高速缓存22中具有与该更新的信息相对应的条目,则端口12根据所接收的高速缓存更新来更新高速缓存22中的该条目。如果端口12在高速缓存22中没有对应的条目,则端口12可以选择在接收到高速缓存更新后不采取任何动作。
尽管作为执行各种操作的单个要素对控制器14进行了例示和说明,但是应当注意,这是用来方便说明交换机10内的操作的逻辑描述,而控制器14的功能性可由组件或逻辑的任何合适集合以及排布来提供。例如,描述为由控制器14执行的操作,可由端口12、交换机存储器16或者交换机10内的任何其他组件或逻辑来执行。在本说明书中,控制器14旨在包括、描述且指代交换机10的任何控制逻辑或电路。
在所示实施例中,交换机10还包括交换机存储器16。交换机存储器16被示为包括帧缓冲器24、转发数据库26以及固件28。尽管交换机存储器16中的信息被以图形表示为各个文件、文件夹或者其他存储要素,但是应当理解,所述信息可以按任何合适方式来存储。因此,交换机存储器16表示用于存储信息的任何合适的硬件,包括合适的控制逻辑。
帧缓冲器24存储交换机核心30中的帧,而控制器14确定对这些帧的合适处理。具体地,帧缓冲器24可以存储帧,而控制器14确定用于接收这些帧的一个和更多个外发端口,或者确定应当丢弃帧。在具体实施例中,帧缓冲器24可以单独存储帧的报头和有效载荷,或者可以单独存储帧的报头的副本。这可以使得控制器14能够分离并快速处理报头中所包含的信息。在某些实施例中,帧缓冲器24直接从其中一个端口12接收帧或该帧的有效载荷。在具体实施例中,在从端口12接收帧的同时,由交换机核心30来处理该帧的报头。因此,交换机核心30可以基于该报头来进行丢弃判定,而无需将帧存储在帧缓冲器24中。尽管被描述为交换机存储器16中的一个逻辑要素,但是应当理解,帧缓冲器24可以按多种方式来构造,并且可以按任何合适方式来存储信息。
转发数据库26保存用于对端口12之间的帧交换进行控制的转发和择路信息。例如,转发数据库26可以包括使得能够根据帧中的寻址信息在端口12之间转发所接收的帧的表或其他合适信息结构。控制器14因此可以访问转发数据库26,以获得帧的择路信息。另外,转发数据库26可以指示丢弃条件。例如,转发数据库26可以包括指定了多种类型的丢弃条件的多个条目。
在具体实施例中,将转发数据库26组成为多个条目,一些条目为具有特定目的地地址的帧指定了合适的输出端口12。这些条目可以表示丢弃条件,所述丢弃条件指定了要执行的多种动作,例如丢帧;如果帧不是网桥协议数据单元(BPDU)帧(即,配置帧)则丢弃该帧;丢弃帧但却允许学习;以及在合适的外发端口12上转发帧。这些条目还可以表示应当丢弃具有特定寻址信息的帧。例如,每个条目都可以指定一虚拟局域网地址。控制器14可以访问与该帧的报头所指定的虚拟局域网地址相对应的条目。如果这些条目没有表示应当丢弃帧,则控制器14对从帧缓冲器24向一个或更多个合适的外发端口12传输帧进行控制,所述一个或更多个合适的外发端口12是由转发数据库26中的与目的地地址相对应的条目指定的。
丢弃条件是帧的使交换机10确定应当丢弃该帧的特征或特性。例如,针对虚拟局域网环境的丢弃条件可以包括与该帧中的虚拟局域网地址相对应的虚拟局域网表条目为无效的;虚拟局域网成员关系为全零;虚拟局域网成员关系为“单热(one hot)”(只包括一个成员);以及针对MSTP的端口状态需要在输入端口处进行过滤。然而,这些只是特殊的例子,丢弃条件可以包括帧的可使交换机10确定应当丢弃该帧的任何特征或特性。在其他实施例中,在帧的除地址以外的方面或特征中检查丢弃条件。在具体实施例中,控制器14通过访问转发数据库26来检测帧中的丢弃条件。然后,控制器14可以指示从帧缓冲器24中删除所丢弃的帧。从帧缓冲器24中删除可以包括清除掉该帧,或者只表示该帧的存储位置现在可以使用了。在某些实施例中,控制器14访问转发数据库26中的合适条目,并使用所返回的信息来确定该帧是否满足丢弃条件。在具体实施例中,在丢弃帧之前,例如为了便于学习,对该帧或其数据执行各种动作。
固件28包括能够在执行时对交换机10中的各个要素的操作进行控制的任何合适的程序、软件、硬件、逻辑或者电路。固件28可以包括在交换机10的位于交换机存储器16外的另一部分中。另外,交换机存储器或交换机10中可以包括固件28,也可以不包括固件28。
所例示并描述的用于对帧进行增强过滤的系统的具体实施例并不旨在包括全部。尽管交换机10被描述为包含要素的特定配置和排布,但是应当注意,这只是逻辑描述,因此可以根据需要在逻辑和物理两方面对交换机10的组件和功能性进行组合、分离和分布。另外,交换机10的功能性可由组件的任何合适集合以及排布来提供。此外,实际上,可以将交换机10的所有要素实现在单个芯片上。交换机10的各个组件所执行的功能,可以由任何合适的装置或逻辑来实现,以通过使端口12能够进行受限过滤判定而提供对帧的增强过滤。
图2是一流程图,示出了通过在输入端口12处实现丢帧判定来对帧进行增强过滤的方法50。在左侧52,方法50示出了在特定输入端口12处执行的操作和功能。在右侧54,方法50示出了由交换机核心30所执行的操作和功能。在某些实施例中,这些操作和功能由控制器14和/或交换机存储器16来执行。
在步骤56,输入端口12接收帧。在步骤58,将该帧存储在输入缓冲器20中。然后,在步骤60,输入端口12在高速缓存22中查找帧报头中的一个或更多个地址,以确定高速缓存22是否具有与该帧报头的这些方面相对应的条目。在其他实施例中,输入端口12在高速缓存22中查找帧的其他方面,以确定高速缓存22是否具有与该帧相对应的条目。在步骤62,输入端口12确定该帧报头中的任一地址是否与高速缓存22中的一条目相对应。如果是,则输入端口在步骤64丢弃该帧。在某些实施例中,输入端口12通过从输入缓冲器20中删除该帧来丢弃该帧,这可以利用任何合适技术来实现。在其他实施例中,高速缓存22指定了要对该帧执行的不同操作或功能。例如,高速缓存22可以指定应当把帧的源地址发送至转发数据库26以供动态学习。另外,高速缓存22可以指定除了BPDU帧以外的所有帧都应当丢弃。再例如,高速缓存22可以指定应当在输入端口12返回帧。应当理解,高速缓存22可以指定要对与高速缓存22中的条目相对应的帧采取的任何合适动作。如果帧地址不与高速缓存22中的条目相对应,则方法50进行到步骤66。
在步骤66,交换机核心30从输入端口12接收帧,并将该帧存储在帧缓冲器24中。在步骤68,控制器14访问该帧报头中的寻址信息以及转发数据库26中的对应寻址条目。在步骤70,控制器14根据来自转发数据库26的寻址信息,确定是否应当丢弃该帧。如果在步骤70,控制器14确定不应当丢弃帧,则控制器14根据转发数据库26中的信息来识别对于该帧的合适外发端口12。然后,在步骤74,控制器14在外发端口12上转发该帧,然后方法50返回步骤56,在步骤56,输入端口12接收帧。
如果在步骤70中,控制器14确定应当丢弃帧,则控制器14在步骤76从帧缓冲器24中删除该帧。是否应当丢弃帧可以基于帧的类型。例如,帧可能满足丢弃条件,除非它是配置帧。在这种情况下,控制器14可以确定,因为帧是配置帧,所以不应当丢弃该帧。另外,控制器14可以对该帧或其数据执行额外的操作,类似于针对高速缓存22所述。然后,在步骤78,控制器14确定哪些输入端口12应当接收高速缓存更新。在进行该确定之后,在步骤80,控制器14将高速缓存更新传送给所述输入端口12。在接收到该更新之后,输入端口12对高速缓存22进行修改,以并入从控制器14接收到的更新。在某些实施例中,通过向高速缓存22添加条目、从高速缓存22中删除条目,以及/或者改变高速缓存22中的条目,来修改高速缓存22。然后,方法50返回步骤56,在步骤56,输入端口12接收帧。
参照图2所述的方法仅是示例性的,因此应当理解,对于被示为执行这些操作的操作方式和装置,可以按照任何合适的方式进行修改。例如,尽管控制器14被描述为执行方法50中的许多操作,但是应当理解,被描述为由控制器14执行的功能可以通过任何合适的要素或逻辑来实现。另外,尽管该方法描述了按特定顺序执行的特定步骤,但是应当理解,交换机10可设想出以任何可操作顺序执行这些步骤中的一些、全部或者不执行这些步骤的要素的任何合适集合以及排布。
图3是一流程图,示出了对与一个输入端口12相对应的高速缓存22进行更新以反映对转发数据库26的更新的方法100。在左侧102,方法100示出了在输入端口12处执行的操作和功能。在右侧104,方法100示出了在交换机核心30处执行的操作和功能。在某些实施例中,这些操作和功能由控制器14和/或交换机存储器16来执行。
在步骤106,控制器14接收转发数据库更新。该转发数据库更新可以对转发数据库26所存储的过滤或择路信息进行更新。随后在步骤108,控制器14对转发数据库26进行修改,以反映所接收的更新。在步骤110,控制器14向所有输入端口12发送更新。发送至端口12的该更新将该更新传送给位于交换机存储器16中的转发数据库26。在其他实施例中,控制器14确定哪些输入端口12应当接收该更新,并将该更新仅发送给那些输入端口12。
在步骤112,输入端口12接收更新。然后,在步骤114,输入端口12确定该更新是否影响了高速缓存22中的条目。如果高速缓存22中没有任何条目受到该更新的影响,则方法100结束。在步骤116,如果该更新影响了条目,则输入端口12根据该更新来修改该高速缓存条目。输入端口12可以通过改变该条目、删除该条目,以及/或者添加新条目,来修改此高速缓存条目。在对高速缓存22中的条目进行修改以后,方法100结束。
在具体实施例中,使参照图2和图3所述的方法协同工作,从而将转发数据库26处以及端口12处的操作的顺序镜像化,以保持转发数据库26与各个端口12中的高速缓存22之间的一致性。例如,如果对转发数据库26进行访问(如图2的步骤68),然后对转发数据库26进行了修改(如图3的步骤108),则高速缓存22应当按照与访问和修改转发数据库26的相同顺序接收到访问和修改(分别为图2的步骤82和图3的步骤116)的结果。在某些实施例中,这可以通过在转发数据库26与特定高速缓存22之间仅提供一条通信路径来实现。然而,可以实现保证高速缓存一致性的任何方法和/或设计,来使图2和3的方法协同工作。
参照图3所述的方法仅是示例性的,应当理解,可以按照任何合适的方式来修改被示为执行所述操作的操作方式和装置。尽管该方法描述了以特定顺序执行的特定步骤,但是应当理解,交换机10可设想出以任何可操作顺序执行这些步骤中的一些、全部或者不执行这些步骤的要素的任何合适集合以及排布。
尽管以几个实施例对本发明进行了描述,但是本领域的技术人员可以明白无数变化和修改,而本发明旨在涵盖落入本发明所附权利要求的范围之内的变化和修改。
权利要求
1.一种交换设备,包括多个端口,每个端口都包括具有一个或更多个过滤条目的高速缓存,每个端口都可操作以执行以下步骤接收帧,该帧包括有效载荷以及指定寻址信息的报头;确定该寻址信息是否与一个过滤条目相对应;如果该寻址信息与一个过滤条目相对应,就丢弃该帧;以及如果该寻址信息不与一个过滤条目相对应,就将该帧转发至交换机核心;并且所述交换机核心包括帧缓冲器,可操作以存储从端口转发来的帧;转发数据库,可操作以保存多个择路条目,每个择路条目都表示所述端口中的外发端口以及丢弃条件中的至少一个;以及控制器,可操作以对于帧缓冲器中的每个帧执行以下步骤从该帧的报头中识别寻址信息;识别转发数据库中与该寻址信息相对应的一个择路条目;如果该对应的择路条目表示所述端口中的外发端口,则将该帧转发至所述端口中的所表示的外发端口;以及如果该对应的择路条目表示一丢弃条件,则丢弃该帧,并向所述端口中接收到该帧的端口传送表示该丢弃条件的高速缓存更新。
2.根据权利要求1所述的交换设备,其中,每个端口还可操作以响应于高速缓存更新而对选定的过滤条目进行更新。
3.根据权利要求1所述的交换设备,其中,交换设备被实现在单个芯片上,每个端口都能够以超过或等于10Gbps的速度进行操作。
4.根据权利要求1所述的交换设备,其中控制器还可操作以执行以下步骤接收对于转发数据库的更新;响应于该更新来修改转发数据库;确定该更新对一个择路条目所表示的至少一个丢弃条件进行了修改;以及向一个或更多个端口传送表示经修改的丢弃条件的高速缓存更新;接收到表示经修改的丢弃条件的所述一个或更多个端口还可操作,以响应于该高速缓存更新来更新择路条目;并且使转发数据库处以及端口处的操作的顺序镜像化,以保持转发数据库与各个端口中的高速缓存之间的一致性。
5.根据权利要求1所述的交换设备,其中,至少一个丢弃条件与虚拟局域网寻址冲突和MSTP端口状态冲突中的选定一个相对应。
6.根据权利要求5所述的交换设备,其中,虚拟局域网寻址冲突包括输入端口虚拟局域网寻址冲突和输出端口虚拟局域网寻址冲突中的选定一个。
7.根据权利要求1所述的交换设备,其中寻址信息包括源地址和目的地地址;并且控制器还可操作以访问转发数据库,来确定源地址和目的地地址中的一个是否具有丢弃条件。
8.一种处理帧的方法,包括以下步骤在交换机的端口处接收帧,该帧包括有效载荷和指定寻址信息的报头;在与端口相关联的高速缓存中保存多个过滤条目;确定寻址信息是否对应于一个过滤条目;如果寻址信息对应于一个过滤条目,则丢弃帧;如果寻址信息不对应于一个过滤条目,则将帧转发至交换机核心;将从该端口以及多个其他端口转发来的帧存储在交换机核心内的帧缓冲器中;在转发数据库处保存多个择路条目,每个择路条目都表示所述端口中的外发端口以及丢弃条件中的至少一个;以及对于帧缓冲器中的每个帧从该帧的报头中识别寻址信息,识别转发数据库中与该寻址信息相对应的一个择路条目,如果该对应的择路条目表示所述端口中的外发端口,则将该帧转发至所述端口中的所表示的外发端口,以及如果该对应的择路条目表示一丢弃条件,则丢弃该帧,并向接收到该帧的端口传送表示该丢弃条件的高速缓存更新。
9.根据权利要求8所述的方法,还包括以下步骤响应于接收到高速缓存更新,对端口中的过滤条目进行更新。
10.根据权利要求8所述的方法,还包括以下步骤接收对于转发数据库的更新;响应于该更新来修改转发数据库;确定该更新对由一个择路条目所表示的至少一个丢弃条件进行了修改;向端口传送表示经修改的丢弃条件的高速缓存更新;响应于该高速缓存更新,对接收到该高速缓存更新的端口中的择路条目进行更新;以及使转发数据库处以及端口处的操作的顺序镜像化,以保持转发数据库与各个端口中的高速缓存之间的一致性。
11.根据权利要求8所述的方法,其中,至少一个丢弃条件与虚拟局域网寻址冲突和MSTP端口状态冲突中的选定一个相对应。
12.根据权利要求11所述的方法,其中,虚拟局域网寻址冲突包括输入端口虚拟局域网寻址冲突和输出端口虚拟局域网寻址冲突中的选定一个。
13.根据权利要求8所述的方法,还包括以下步骤访问转发数据库,以确定源地址和目的地地址中的一个是否具有丢弃条件;其中,寻址信息包括源地址和目的地地址。
14.用于处理帧的逻辑,该逻辑编码在介质中,并且在执行时可操作以执行以下步骤在交换机的端口处接收帧,该帧包括有效载荷和指定寻址信息的报头;在与端口相关联的高速缓存中保存多个过滤条目;确定寻址信息是否对应于一个过滤条目;如果寻址信息对应于一个过滤条目,则丢弃帧;如果寻址信息不对应于一个过滤条目,则将帧转发至交换机核心;将从该端口以及多个其他端口转发来的帧存储在交换机核心内的帧缓冲器中;在转发数据库处保存多个择路条目,每个择路条目都表示所述端口中的外发端口以及丢弃条件中的至少一个;以及对于帧缓冲器中的每个帧从该帧的报头中识别寻址信息,识别转发数据库中与该寻址信息相对应的一个择路条目,如果该对应的择路条目表示所述端口中的外发端口,则将该帧转发至所述端口中的所表示的外发端口,以及如果该对应的择路条目表示一丢弃条件,则丢弃该帧,并向接收到该帧的端口传送表示该丢弃条件的高速缓存更新。
15.根据权利要求14所述的逻辑,还可操作以响应于高速缓存更新来更新端口中的过滤条目。
16.根据权利要求14所述的逻辑,还可操作以执行以下步骤接收对于转发数据库的更新;响应于该更新来修改转发数据库;确定该更新对由一个择路条目所表示的至少一个丢弃条件进行了修改;向端口传送表示经修改的丢弃条件的高速缓存更新;响应于该高速缓存更新,对接收到该高速缓存更新的端口中的择路条目进行更新;以及使转发数据库处以及端口处的操作的顺序镜像化,以保持转发数据库与各个端口中的高速缓存之间的一致性。
17.根据权利要求14所述的逻辑,其中,至少一个丢弃条件与虚拟局域网寻址冲突和MSTP端口状态冲突中的选定一个相对应。
18.根据权利要求17所述的逻辑,其中,虚拟局域网寻址冲突包括输入端口虚拟局域网寻址冲突和输出端口虚拟局域网寻址冲突中的选定一个。
19.根据权利要求14所述的逻辑,还可操作以执行以下步骤访问转发数据库,以确定源地址和目的地地址中的一个是否具有丢弃条件;其中,寻址信息包括源地址和目的地地址。
20.一种用于处理帧的系统,包括帧接收装置,用于在交换机的端口处接收帧,该帧包括有效载荷和指定寻址信息的报头;过滤条目保存装置,用于在与端口相关联的高速缓存中保存多个过滤条目;确定装置,用于确定寻址信息是否对应于一个过滤条目;丢帧装置,用于在寻址信息对应于一个过滤条目时,丢弃帧;转发装置,用于在寻址信息不对应于一个过滤条目时,将帧转发至交换机核心;帧存储装置,用于将从该端口以及多个其他端口转发来的帧存储在交换机核心内的帧缓冲器中;择路条目保存装置,用于在转发数据库处保存多个择路条目,每个择路条目都表示所述端口中的外发端口以及丢弃条件中的至少一个;以及识别处理装置,用于对帧缓冲器中的每个帧执行以下操作从该帧的报头中识别寻址信息,识别转发数据库中与该寻址信息相对应的一个择路条目,如果该对应的择路条目表示所述端口中的外发端口,则将该帧转发至所述端口中的所表示的外发端口,以及如果该对应的择路条目表示一丢弃条件,则丢弃该帧,并向接收到该帧的端口传送表示该丢弃条件的高速缓存更新。
全文摘要
在交换机的输入端口处过滤帧。一种交换机,其包括用于发送和接收帧的多个端口,以及用于在端口之间交换帧的交换机核心。一个或更多个端口本地存储过滤信息,使得端口无需访问交换机的中央要素就可以对帧进行过滤。例如,端口的过滤信息可以表示丢弃条件,并且在接收到与该过滤信息中的丢弃条件相对应的帧后,该端口可以就地丢弃该帧,而不影响交换机的其他要素。
文档编号H04L12/56GK1848814SQ20061007212
公开日2006年10月18日 申请日期2006年4月12日 优先权日2005年4月12日
发明者清水刚 申请人:富士通株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1