处理报文的方法及交换机的制作方法

文档序号:7699228阅读:129来源:国知局
专利名称:处理报文的方法及交换机的制作方法
技术领域
本发明涉及通信技术领域,尤其涉及一种处理报文的方法及交换机。
背景技术
随着人们对网络的需求不断加强,网络带宽的要求也越来越高。为了提
供高网络带宽,目前通常使用专用集成电路(Application Specific Integrated Circuits, ASIC)芯片来实现硬件转发,以提供交换机的转发速率。通过ASIC 芯片实现的三层交换机同时具有二层转发和三层转发的功能,并已成为交换 机的发展趋势。
用于实现三层交换机的三层转发有两种网关接口 , 一种为交换虚拟接口 (Switch virtual interface, SVI) 。 SVI是同 一个虚拟局域网(Virtual Local Area Network, VLAN)中的几个物理口共同虚拟成的一个网关接口 ,代表三层交 换的逻辑接口,实现三层设备中跨VLAN之间的路由。另一种为路由口。路 由口是三层设备上的一个物理端口,作为三层交换机的网关接口,能进行三 层路由协议的配置。由于一个SVI中的物理口在同一个VLAN中,这些物理 口之间的通信是以二层转发的形式进行的,因此用户容易受到广播风暴或其 他类型的攻击。如果有一些比较重要的服务器存在其中,就显的非常的不安 全,这时可以让他们单独享有一个三层接口即路由口。另外,三层交换机与 路由器之间的互连也往往是通过路由口的形式进行的。如图1所示,三层交 换机把网络分成了 5个网段,用户A和用户B及与之相连的网关接口在一个 网段192.168.1.0;服务器及与之相连的网关接口在一个网段192.168.2.0; 用户C和用户D在一个网段192.168.5.0;用户E及与之相连的网关接口在 一个网段192.168.3.0;与路由器相连的网关接口在一个网段192.168.4.0。其中,三层交换机与用户A和用户B相连的网关接口是SVI,与服务器、用 户E、路由器及二层交换机相连的接口是路由口。这样,目前需要实现路由 口进来报文在二层报文处理装置中具有唯一标识,并进而实现路由口和非路 由口间及路由口之间二层转发报文的隔离,以保证二层报文不会被传播到服 务器,以保障服务器的安全,避免用户受到广播风暴或其他类型的攻击。

发明内容
本发明的目的在于提出 一种处理报文的方法及交换机,以实现非路由 口与路由口之间二层转发报文的隔离。
为实现上述目的,本发明提供了一种处理报文的方法,包括 接收来自路由口的报文;
根据预先设定的虚拟局域网的成员集为所述报文分配值为4095的虛 拟局域网标识;所述预先设定的虛拟局域网的虛拟局域网标识为4095,成 员集包括所有路由口;
提取所述报文中的目的介质访问控制地址;
判断所述目的介质访问控制地址是否为路由口的介质访问控制地址,在 所述目的介质访问控制地址为非路由口介质访问控制地址的情况下,丢弃所 述报文。
本发明还提供了一种交换机,包括 接收模块,用于接收来自路由口的报文;
分配模块,用于根据预先设定的虚拟局域网的成员集为所述报文分配 值为4095的虚拟局域网标识;所述预先设定的虚拟局域网的虛拟局域网 标识为4095,成员集包括所有路由口 ;
提取模块,用于提取所述报文中的目的介质访问控制地址; 处理模块,用于判断所述目的介质访问控制地址是否为路由口的介质访 问控制地址,在所述目的介质访问控制地址为非路由口的介质访问控制地址
5的情况下,丟弃所述报文。
上述技术方案通过为从路由口接收的报文分配值为4095的VLAN标识 (VLANID, VID),使得从路由口接收的报文的VID区别于其他报文的 VID,成为二层报文处理装置中的唯一标识,并在目的介质访问控制(Media Access Control, MAC )地址为非路由口的MAC地址情况下,丢弃具有该唯 一标识的报文,保证了来自路由口的报文不会被转发到非路由口,实现了非 路由口与路由口之间二层转发报文的隔离。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。


图1为现有技术中三层交换机的应用场示意图; 图2为本发明处理^JL的方法实施例的流程图; 图3为本发曰7 构示意图4为本发明交换机实施例的结构示意图
具体实施例方式
图2为本发明处理报文的方法实施例的流程图。包括
步骤21.交换机中的ASIC芯片接收来自路由口的报文;
步骤22.根据预先设定的VLAN的成员集为所述报文分配值为4095的V
ID;所述VLAN的VID为4095,成员集包括所有路由口 ;
步骤23.提取所述报文的目的介质访问控制(Media Access Control,
MAC)地址;
步骤24.判断所述目的介质访问控制地址是否为路由口的介质访问控制 地址,在所述目的MAC地址为非路由口 MAC地址的情况下,丟弃所述报文。 上述步骤22中,为来自路由口的报文分配值为4095的VID,即VID 4095。
6根据802.1Q的规定,12比特的VID 0 ~ VID 4095 —共代表4096个VLAN, 其中VID 0和VID 4095为协i义保留使用,VID 1 ~ VID 4094共4094个VID 提供给用户使用。保留的VID0为空的VLANID,表明tag头中只包含用户 优先级信息,而没有VID信息,该VID不能作为端口的VID标识(Port VLAN identifier, PVID) 。 PVID即802.1Q规定的基于端口为报文分配的VID。 VID 1为所有交换机端口默认所属的VID。 VID 4095为保留执行使用,不能作为 PVID在过滤数据库和任何管理操作中使用,也不能作为tag头中包含的VID 信息。由于802.1Q是个二层桥的规范,而路由口是个三层概念,三层交换机 实际上是可以虛拟成2个设备的,这里的设置对二层桥来说实际上的透明的, 因此可以为路由口接收的报文分配VID 4095。
802.1Q规定的VLAN配置信息中,包含VLAN的成员集。成员集规定 了当前交换机的哪些端口属于该VLAN,也就是说每个VLAN表都包含其成 员信息,作为VLAN规则过滤时使用。由于所有的ASIC芯片都支持对VID 等于0和VID等于4095的4艮文的处理,因此i殳置^各由口的PVID为4095, 并作为为报文分配VID的分配策略,且在VLAN表中i殳置路由口只属于 VLAN4095,其它VLAN中不包含路由口 。这样,从路由口进来的报文被分 配VID 4095,从而区别于其他报文的VID,成为二层报文处理装置中的唯 一标识。通过该标识可p舉一确定具有该标识的才艮文来自路由口 。
上述步骤24中,判断所述目的MAC地址是否为i 各由口的MAC地址可 包括通过查找转发数据库(Forwarding Database, FDB )中同时具有所述V ID及目的MAC地址的表项执行所述判断;所述FDB中具有所述VID的表 项包含的MAC地址均为路由口 MAC地址。
FDB被所有端口共享,通过在FDB表中填加一条VID为4095、 MAC 地址为路由口 MAC地址的表项,可在FDB表中区分出路由口和非路由口进 来的报文。当该报文的目的MAC为非路由口地址时,则无法命中FDB中增 加的表项,此时,则丢弃该具有唯一标识即4095的净艮文,避免了来自路由口的报文被转发到非路由口 ,从而实现了非路由口与路由口之间二层转发报文 的隔离。
本发明处理报文的方法另一实施例可进一步包括当该报文的目的MAC 为路由口地址口时,判断所述报文是不是三层报文,若是,将所述报文发送 到所述目的MAC地址,若否,则丢弃所述报文。也就是说,从路由口进来 的报文如果能触发路由,则由路由引擎对其处理,如果不能触发路由如报文 为二层报文,则在桥引擎中丟弃该报文,这样,路由口进入的报文就不会进 行二层转发,从而实现了路由口之间二层转发报文的隔离,有效地防止了 各种攻击报文和垃圾报文的威胁。
本发明处理报文的方法的又一实施例可进一步包括设置所有路由口 只接收不带标准标签信息即802.1Q标准标签(Qtag)信息的报文,避免了 从路由口进入的报文携带Qtag信息。通常从路由口进入的报文是不带Qtag 信息的,但为了防止攻击的需要,可以进一步将所有路由口设置为只接收不 带Qtag信息的报文。Qtag信息即以太网的帧格式的扩展部分。该扩展是电气 电子工程师学会(Institute of Electrical and Electronics Engineers, IEEE) 8 02.3AC标准为了支持VLAN而制定的。其中,VLAN参见IEEE 802.1Q的 规定,用于分隔二层桥域,将一个二层桥域分隔成多个分离并且相互独立的 域。每个VLAN组成一个独立的局域网,这个网络对应于国际标准化组织(I ntemational Organization for Standardization, ISO)模型的第二层网络。VL AN的划分不受网络端口的实际物理位置的限制。除了没有物理位置的限制, VLAN与普通局域网 一样,具有和普通物理网络相同的属性。
为了使得二层的单播、广播和多播帧在一个VLAN内转发、扩散,而不 直接进入其他的VLAN之中,将以太网的帧格式进行扩展。经过扩展的以太 网的帧格式如图3所示。以太网的帧格式中插入了一个4字节的标识符Qtag 前缀(Qtag Prefix)即Qtag信息,用来指明发送该帧的工作站属于哪一个 VLAN。 QtagPrefix的前2个字节的字段为802.1QTag类型(TagType),和
8原来的长度/类型字段的作用一样,但它总是设置为0x8100 (这个数值大于 0x0600, 一次不是代表长度)。Qtag Prefix的在后面的2个字节中,前3个 比特为用户优先级字段,接着的一个比特为规范格式指示符(Canonical Format Indicator, CFI),最后12比特是该VLAN的VID。 VID唯一的标识了这个 以太网的帧属于哪一个VLAN。当数据链路层4企测到MAC帧的源地址字賴: 后面的长度/类型字段的值是0x8100时便可获知该处插入了 4个字节的Qtag Prefix,从而接着检查后面2个字节的内容。
本发明处理报文的方法的又一实施例可进一步包括设置所述预先设 定的VLAN的非Qtag的端口集包含所有路由口 ,即设置VLAN 4095的非 Qtag的端口集包含路由口,这样,从路由口出来的报文就不带Qtag信息, VID的信息就只在ASIC芯片内部使用,而不会被带到下一个网络节点, 符合802.1Q的规定。
以图l所示网络为例,三层交换机中可设置路由口的PVID为4095, 并作为为报文分配VID的分配策略;设置VLAN 4095成员集只包含所有 路由口,并设置非Qtag的端口集包含所有路由口 ,其它VLAN的配置信 息中不包含^各由口 ,并在FDB表中填加一条VID为4095、 MAC地址为 路由口MAC的表项,同时关闭路由口的桥转发决策,另外设置路由口只 接收不带Qtag信息的报文。这样,服务器的报文就能进行三层路由,并 且同用户A和用户E间二层转发的报文是隔离的,服务器的安全性得到了 有效的保障。
图4为本发明交换机实施例的结构示意图。该交换机包括接收模块 31、分配模块32、提取模块33及处理模块34。当有报文发送到交换机的 路由口时,接收模块31接收来自路由口的报文。分配模块32为接收模块 31接收到的报文分配值为4095的VID。提取模块33提取接收模块31接 收到的报文的目的MAC地址。处理模块34判断提取模块33提取的目的 MAC地址是否为3各由口的MAC地址;在目的MAC地址为非^各由口的MAC地址的情况下,丢弃所述报文,保证了非路由口的二层转发的报文就不会 被传播到路由口,实现了路由口和非路由口之间二层转发报文的隔离。其
中,提取模块33处理模块34包括在该交换机的桥引擎(Bridge Engine ) 即二层报文处理装置中。交换机中,ASIC芯片以流水线的方式对报文进 行处理。报文是先经过二层报文的处理场所桥引擎,在桥引擎中提取报文 的目的MAC地址及VID,进行FDB查询,然后再经过三层报文的主要处 理场所路由引擎(Router Engine )。
上述设备实施例中,交换机通过分配模块32为来自路由口的报文分 配VID 4095,使得来自路由口的报文的VID区别于用户可用的VID,成 为二层报文的处理装置中的唯一标识,并通过处理模块34丟弃具有该唯 一标识且目的MAC地址为非路由口 MAC地址的才艮文,避免了来自路由 口的报文被转发到非路由口 ,从而实现了非路由口与路由口之间二层转发 报文的隔离。
本发明交换机另一实施例中,处理模块还可用于
在该目的MAC地址为路由口的MAC地址的情况下,判断所述报文 是否为三层报文,若是,将所述报文路由到所述目的MAC地址;在所述 报文不是三层报文的情况下,丟弃所述报文,保证了路由口的报文也不会被 二层转发到其它端口 ,实现了路由口之间二层转发报文的隔离。
本发明交换机又一实施例中,所述处理模块判断所述目的MAC地址 是否为路由口的MAC地址具体包括通过查找FDB中同时具有所述VID及 目的MAC地址的表项执行所述判断;所述FDB中具有所述VID的表项包含 的MAC地址均为路由口的MAC地址。
本发明交换机再一实施例中,交换机可进一步包括接收设置模块。 接收设置模块设置所有路由口只接收不带Qtag信息的报文。
本发明交换机再一实施例中,交换机可进一步包括端口设置模块。 端口设置模块设置所述预先设定的VLAN的非Qtag的端口集包含所有路由口 ,实现了非路由口与路由口之间二层转发报文的隔离。
上述方法、设备实施例通过将用户不用的VID4095供路由口使用,不 仅实现了对路由口进来的报文在桥引擎处理过程中的唯一标识问题,且不 占用用户的VID,满足了客户对连续的VID或足够多的VID的需求。
本领域普通技术人员可以理解实现上述方法实施例的全部或部分步骤 可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读 取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述 的存储介质包括ROM、 RAM、磁碟或者光盘等各种可以存储程序代码的介 质。
最后应说明的是以上实施例仅用以说明本发明的技术方案,而非对其 限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术 人员应当理解其依然可以对前述各实施例所记载的技术方案进行修改,或 者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技
术方案的本质脱离本发明各实施例技术方案的精神和范围。
权利要求
1、一种处理报文的方法,其特征在于,包括接收来自路由口的报文;根据预先设定的虚拟局域网的成员集为所述报文分配值为4095的虚拟局域网标识;所述预先设定的虚拟局域网的虚拟局域网标识为4095,成员集包括所有路由口;提取所述报文中的目的介质访问控制地址;判断所述目的介质访问控制地址是否为路由口的介质访问控制地址,在所述目的介质访问控制地址为非路由口介质访问控制地址的情况下,丢弃所述报文。
2、 根据权利要求1所述的处理报文的方法,其特征在于,还包括 在所述目的介质访问控制地址为路由口介质访问控制地址的情况下,判断所述报文是否为三层报文,若是,将所述报文发送到所述目的介质访问控 制地址;若否,则丢弃所述报文。
3、 根据权利要求1或2所述的处理报文的方法,其特征在于,判断 所述目的介质访问控制地址是否为路由口介质访问控制地址包括通过查找转发数据库中同时具有所述虚拟局域网标识及目的介质访问 控制地址的表项执行所述判断;所述转发数据库中具有所述虛拟局域网标识 的表项包含的介质访问控制地址均为^各由口介质访问控制地址。
4、 根据权利要求1所述的处理报文的方法,其特征在于,还包括 设置所有路由口只接收不带标准标签信息的报文。
5、 根据权利要求1所述的处理报文的方法,其特征在于,还包括 设置所述预先设定的虚拟局域网的非标准标签的端口集包含所有路由口 。
6、 一种交换机,其特征在于,包括 接收模块,用于接收来自路由口的报文;分配模块,用于根据预先设定的虚拟局域网的成员集为所述报文分配值为4095的虚拟局域网标识;所述预先设定的虚拟局域网的虚拟局域网标识为4095,成员集包括所有路由口;提取模块,用于提取所述报文中的目的介质访问控制地址;处理模块,用于判断所述目的介质访问控制地址是否为路由口的介质访问控制地址,在所述目的介质访问控制地址为非路由口的介质访问控制地址的情况下,丟弃所述报文。
7、 根据权利要求6所述的交换机,其特征在于,所述处理模块还用 于在所述目的介质访问控制地址为路由口介质访问控制地址的情况下,判断 所述报文是否为三层报文,若是,将所述报文发送到所述目的介质访问控制 地址;若否,则丟弃所述报文。
8、 根据权利要求6或7所述的交换机,其特征在于,所述处理模块 判断所述目的介质访问控制地址是否为路由口的介质访问控制地址具体包 括通过查找转发数据库中同时具有所述虛拟局域网标识及目的介质访问控 制地址的表项执行所述判断;所述转发数据库中具有所述虚拟局域网标识的 表项包含的介质访问控制地址均为路由口的介质访问控制地址。
9、 根据权利要求6所述的交换机,其特征在于,还包括 接收设置模块,用于设置所有路由口只接收不带标准标签信息的报文。
10、 根据权利要求6所述的交换机,其特征在于,还包括端口设置模块,用于设置所述预先设定的虛拟局域网的非标准标签的 端口集包含所有路由口。
全文摘要
本发明涉及一种处理报文的方法及交换机,方法包括接收来自路由口的报文;根据预先设定的虚拟局域网的成员集为所述报文分配值为4095的虚拟局域网标识;所述预先设定的虚拟局域网的虚拟局域网标识为4095,成员集包括所有路由口;提取所述报文中的目的介质访问控制地址;判断所述目的介质访问控制地址是否为路由口的介质访问控制地址,在所述目的介质访问控制地址为非路由口的介质访问控制地址的情况下,丢弃所述报文。交换机包括接收模块、分配模块、提取模块及处理模块。通过为从路由口接收的报文分配值为4095的VID,实现了非路由口与路由口之间二层转发报文的隔离。
文档编号H04L12/56GK101494610SQ20091007990
公开日2009年7月29日 申请日期2009年3月12日 优先权日2009年3月12日
发明者陈为清 申请人:福建星网锐捷网络有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1