一种协议报文上送cpu的方法和装置的制造方法

文档序号:10626695阅读:352来源:国知局
一种协议报文上送cpu的方法和装置的制造方法
【专利摘要】本发明公开了一种协议报文上送CPU的方法和装置,减少CPU的处理负担。所述方法包括:接收并解析报文,根据所述报文的vlan标识查找vlan表,所述vlan表中包含vlan标识是否为三层接口的标识,根据所述vlan表判断所述vlan标识如果为三层接口,则根据所述vlan标识为三层接口的标识以及所述报文的协议类型判断是否将所述报文上送CPU。所述装置包括接收模块和转发模块。采用本发明实施例方法和装置能够减少CPU的处理负担,实现协议报文准确便捷上送,解决了目前交换芯片协议报文上送操作复杂,占用过多的ACL资源,同时可能存在不必要的报文上送攻击CPU的问题。
【专利说明】
一种协议报文上送CPU的方法和装置
技术领域
[0001]本发明涉及局域网交换技术,具体涉及一种实现协议报文上送CPU的方法和装置。【背景技术】
[0002]如图1所示,对于交换机来说,一般都包括交换芯片以及与交换芯片相连的CPU, 交换芯片对于数据报文进行二、三层硬件快速转发,交换机之间的二、三层协议交互一般由交换机内部的CPU来处理,交换芯片通过芯片内部寄存器设置、内部表项设置或者 ACL(Access Control List,访问控制列表)规则设置来实现协议报文上送CPU。目前的交换芯片对于协议报文上送支持都有缺陷,实际使用中一般需要综合寄存器上送、表项上送和ACL规则上送来实现所有需要的协议报文上送CPU处理。由此可见目前交换芯片上送协议报文处理复杂,而且会占用比较多的ACL资源。ACL都是TCAM(ternary content addressable memory,三态内容寻址存储器),TCAM资源比较贵,芯片一般支持的ACL条目是有限的,ACL基本可以灵活支持交换芯片的所有功能,如果协议上送占用ACL条目多了。 那么就会影响交换芯片很多功能的性能指标。
[0003]即使采用ACL资源,由于ACL资源的限制和全局的权衡,目前很多协议比如 ARP(Address Resolut1n Protocol,地址解析协议)请求等都存在不必要的错误上送问题,导致有用的协议报文被攻击从而丢弃,同时会增加CPU不必要的处理负担。
【发明内容】

[0004]本发明要解决的技术问题是提供一种协议报文上送CPU的方法和装置,减少CPU 的处理负担。
[0005]为了解决上述技术问题,本发明提供了一种协议报文上送CPU的方法,包括:
[0006]接收并解析报文,根据所述报文的虚拟局域网vlan标识查找vlan表,所述vlan 表中包含vlan标识是否为三层接口的标识,根据所述vlan表判断所述vlan标识如果为三层接口,则根据所述vlan标识为三层接口的标识以及所述报文的协议类型判断是否将所述报文上送CPU。
[0007]进一步地,所述根据所述vlan标识为三层接口的标识以及所述报文的协议类型判断是否将所述报文上送CPU,包括:
[0008]根据所述vlan标识为三层接口的标识以及所述报文的协议类型查找上报表,判断所述报文的协议类型如果与所述上报表中的三层相关协议的协议类型相匹配,则将所述报文上送CPU,如果不匹配则所述报文不上送CPU。
[0009]进一步地,所述上报表中的三层相关协议的协议类型包括以下协议中的一种或多种:地址解析协议ARP,开放式最短路径优先0SPF,动态主机配置协议DHCP。
[0010]为了解决上述技术问题,本发明还提供了一种协议报文上送CPU的装置,包括接收模块和转发模块,其中:
[0011]所述接收模块,用于接收并解析报文;
[0012]所述转发模块,用于根据所述报文的虚拟局域网vlan标识查找vlan表,所述vlan 表中包含vlan标识是否为三层接口的标识,根据所述vlan表判断所述vlan标识如果为三层接口,则根据所述vlan标识为三层接口的标识以及所述报文的协议类型判断是否将所述报文上送CPU。
[0013]进一步地,所述转发模块根据所述vlan标识为三层接口的标识以及所述报文的协议类型判断是否将所述报文上送CPU,包括:
[0014]所述转发模块根据所述vlan标识为三层接口的标识以及所述报文的协议类型查找上报表,判断所述报文的协议类型如果与所述上报表中的三层相关协议的协议类型相匹配,则将所述报文上送CPU,如果不匹配则所述报文不上送CPU。
[0015]进一步地,所述上报表中的三层相关协议的协议类型包括以下协议中的一种或多种:地址解析协议ARP,开放式最短路径优先0SPF,动态主机配置协议DHCP。
[0016]与现有技术相比较,本发明实施例的协议报文上送CPU的方法和装置,能够减少 CPU的处理负担,实现协议报文准确便捷上送,解决了目前交换芯片协议报文上送操作复杂,占用过多的ACL资源,同时可能存在不必要的报文上送攻击CPU的问题。
[0017]本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。【附图说明】
[0018]附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。
[0019]图1为交换机系统示意图;
[0020]图2为本发明实施例一流程图;
[0021]图3为本发明实施例二装置结构示意图;
[0022]图4为本发明应用示例协议报文上送CPU流程图。【具体实施方式】
[0023]为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
[0024]在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0025]实施例一
[0026]本实施例描述协议报文上送CPU的方法,如图2所示,包括以下步骤:
[0027]步骤110,接收并解析报文;
[0028]报文进入交换芯片进行正常的解析处理,解析出报文的vlan (Virtual Local Area Network,虚拟局域网)标识(最外层vlan标识)以及该报文的协议类型。每种协议报文对应一个全局寄存器,用于存储该种类型的报文。
[0029]步骤120,根据所述报文的vlan标识查找vlan表,判断所述vlan标识如果为三层接口,执行步骤130 ;
[0030]在vlan表中预先设置一个表示vlan标识是否为三层接口的标识,例如设置lbit的三层接口标识,如果vlan标识为三层接口,则标识为1,否则标识为0。所述三层接口标识为全局设置。如果报文的vlan标识为三层接口,那么交换芯片会对该报文进行标识。 [0031 ]如果所述vlan标识不为三层接口,则交换芯片根据入端口号和协议类型进行非三层相关协议报文的处理。
[0032]步骤130,根据所述vlan标识为三层接口的标识以及所述报文的协议类型判断是否将所述报文上送CPU。
[0033]具体地,根据所述vlan标识为三层接口的标识以及所述报文的协议类型查找预设的上报表,判断所述报文的协议类型如果与所述上报表中的三层相关协议的协议类型相匹配,则将所述报文上送CPU,如果不匹配则所述报文不上送CPU。
[0034]所述上报表中的三层相关协议的协议类型包括以下协议中的一种或多种: ARP,OSPF (Open Shortest Path First,开放式最短路径优先),DHCP (Dynamic Host Configurat1n Protocol,动态主机配置协议)。本文所述三层相关协议报文本身不一定是三层报文即以太网类型可能不是0x0800,例如ARP报文。
[0035]本实施例针对二三层交换机的协议报文进行区分,二层协议报文基于物理端口上送,三层相关协议报文基于vlan端口是否使能三层接口进行上送,即满足以下两个条件的报文才可能被上送CPU:报文的vlan标识使能三层接口,报文的协议类型属于预设的三层相关协议类型。上报过程由寄存器全局控制,与物理端口、vlan端口均无关,降低处理复杂度,节省硬件资源。
[0036]实施例二
[0037]本实施例描述实现上述实施例一方法的装置,如图3所示,包括接收模块210和转发模块220,其中:
[0038]所述接收模块210,用于接收并解析报文;
[0039]所述转发模块220,用于根据所述报文的vlan标识查找vlan表,所述vlan表中包含vlan标识是否为三层接口的标识,根据所述vlan表判断所述vlan标识如果为三层接口,则根据所述vlan标识为三层接口的标识以及所述报文的协议类型判断是否将所述报文上送CPU。
[0040]优选地,所述vlan表为全局设置。所述vlan表包括:所述vlan标识是否属于三层接口的标识。[0041 ]优选地,所述转发模块220根据所述vlan标识为三层接口的标识以及所述报文的协议类型查找上报表,判断所述报文的协议类型如果与所述上报表中的三层相关协议的协议类型相匹配,则将所述报文上送CPU,如果不匹配则所述报文不上送CPU。
[0042]应用示例
[0043]下面结合应用示例对上述实施例方法进行具体说明。在以下示例中,以接收报文为arp报文为例进行说明,其他类型协议报文参照执行。
[0044]如图1所不的交换机,其中端口 1属于vlan 1,端口 2属于vlan 2。对于vlan 2配置了三层接口,对于vlan 1没有配置三层接口。由于vlan 2配置为三层接口,全局设置 vlan 2的vlan表,标识该vlan2为三层接口 vlan,协议类型为arp报文上送cpu。vlan 1 不用设置。全局设置一上报表,用于记录允许上报CPU的三层相关协议的协议类型,在本示例中所述上报表中的协议类型包括arp报文。
[0045]端口 1有大量vlan 1的arp请求报文进入交换机准备攻击cpu,端口 2有vlan 2 的arp请求报文需要cpu进行处理。报文上送cpu的流程如图4所示,下面对端口 1进入报文和端口 2进入报文的处理进行分别说明。
[0046]端口 1的arp请求报文处理如下:
[0047]步骤1:arp请求报文从端口 1进入交换机,交换芯片解析报文为arp报文;
[0048]步骤2:查vlan表判断报文携带vlan是否属于3层接口 vlan,由于报文的vlan 为1,查找vlan 1对应的vlan表,vlanl不属于三层接口 vlan ;
[0049]步骤3:查上报表判断报文类型是否为预设的三层相关协议报文,arp报文虽然本身是二层报文,但是属于三层相关协议报文,与上报表中协议类型相匹配;
[0050]在其他实施例中,步骤3可以省略。
[0051]步骤4’:由于报文的vlan不属于三层接口 vlan,所以此arp报文不会上送cpu, 企图攻击cpu的目的达不到。
[0052]不上送cpu的报文按照芯片的其他转发规则(例如入端口号和协议类型)进行处理。
[0053]端口 2的arp请求报文处理如下:
[0054]步骤1:arp请求报文从端口 2进入交换机,交换芯片解析报文为arp报文;
[0055]步骤2:查vlan表判断报文携带vlan是否属于3层接口 vlan,由于报文的vlan 为2,查找vlan 2对应的vlan表,vlan 2属于三层接口 vlan ;
[0056]步骤3:查上报表判断报文类型是否为预设的三层相关协议报文,arp报文虽然本身是二层报文,但是属于三层相关协议报文,与上报表中协议类型相匹配;
[0057]步骤4:交换芯片根据报文的vlan属于三层接口 vlan,以及协议类型与上报表中协议类型相匹配,所以此arp报文上送cpu处理,进行正常的arp报文上送。
[0058]虽然本发明所揭露的实施方式如上,但所述的内容仅为便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。
【主权项】
1.一种协议报文上送CPU的方法,其特征在于,包括:接收并解析报文,根据所述报文的虚拟局域网vlan标识查找vlan表,所述vlan表中 包含vlan标识是否为三层接口的标识,根据所述vlan表判断所述vlan标识如果为三层接 口,则根据所述vlan标识为三层接口的标识以及所述报文的协议类型判断是否将所述报 文上送CPU。2.根据权利要求1所述的方法,其特征在于,所述根据所述vlan标识为三层接口的标识以及所述报文的协议类型判断是否将所述 报文上送CPU,包括:根据所述vlan标识为三层接口的标识以及所述报文的协议类型查找上报表,判断所 述报文的协议类型如果与所述上报表中的三层相关协议的协议类型相匹配,则将所述报文 上送CPU,如果不匹配则所述报文不上送CPU。3.根据权利要求2所述的方法,其特征在于,所述上报表中的三层相关协议的协议类型包括以下协议中的一种或多种:地址解析协 议ARP,开放式最短路径优先OSPF,动态主机配置协议DHCP。4.一种协议报文上送CPU的装置,其特征在于,包括接收模块和转发模块,其中:所述接收模块,用于接收并解析报文;所述转发模块,用于根据所述报文的虚拟局域网vlan标识查找vlan表,所述vlan表 中包含vlan标识是否为三层接口的标识,根据所述vlan表判断所述vlan标识如果为三层 接口,则根据所述vlan标识为三层接口的标识以及所述报文的协议类型判断是否将所述 报文上送CPU。5.根据权利要求4所述的装置,其特征在于,所述转发模块根据所述vlan标识为三层接口的标识以及所述报文的协议类型判断是 否将所述报文上送CPU,包括:所述转发模块根据所述vlan标识为三层接口的标识以及所述报文的协议类型查找上 报表,判断所述报文的协议类型如果与所述上报表中的三层相关协议的协议类型相匹配, 则将所述报文上送CPU,如果不匹配则所述报文不上送CPU。6.根据权利要求5所述的装置,其特征在于,所述上报表中的三层相关协议的协议类型包括以下协议中的一种或多种:地址解析协 议ARP,开放式最短路径优先OSPF,动态主机配置协议DHCP。
【文档编号】H04L12/46GK105991391SQ201510094446
【公开日】2016年10月5日
【申请日】2015年3月3日
【发明人】潘庭山
【申请人】中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1