一种协议报文上送cpu的芯片实现方法

文档序号:9828169阅读:1380来源:国知局
一种协议报文上送cpu的芯片实现方法
【技术领域】
[0001]本发明涉及一种协议报文的芯片处理技术,尤其涉及一种协议报文上送CPU的芯片实现方法。
【背景技术】
[0002]报文是网络中交换与传输的数据单元,其中包含了将要发送的完整的数据信息,同时,报文也是网络传输的单位,传输过程中会不断的封装成分组、包或帧来传输。互联网业务的多样化和差异化要求网络设备能够根据网络中报文的相关信息对报文进行差异化处理,针对不同类别的报文采取不同的操作。
[0003]在现有的系统中,CPU资源是有限的,大量异常报文上送CPU处理,占用CPU资源,导致CPU负荷过重。在以太网交换机中,大部分的数据报文是通过专用芯片转发的,不需要CPU进行处理,而网络中的各种协议报文则是需要经过专用芯片传输到系统内存中,使CPU能够访问并对协议报文进行处理。
[0004]因此,现有网络芯片识别上层协议,往往使用解析模块,然后基于解析出来的协议种类,置上(PU的动作。
[0005]上层协议的识别,一般利用每个协议层中的协议域中包含的协议ID来表示更高一层的报文类型。例如,IP头中的协议域为17,表示高层协议为UDP(User DatagramProtocol,用户数据协议);IP头中的协议域为6,表示高层协议为TCP(Transmiss1nControl Protocol,传输控制协议);IP头中的协议域为I,表不ICMP(Internet ControlMessage Protocol,Internet控制报文协议)c^TCP和UDP包内的应用程协议的类型依靠的是TCP和UDP包首部的端口号来进行区分。
[0006]但是当遇到特殊报文时,标准解析模块无法识别报文,于是对于一些广播格式的协议,是否上CPU的控制往往不够精确。

【发明内容】

[0007]本发明提出了一种协议报文上送CPU的芯片实现方法,通过一种有效的芯片识别机制,以实现精确控制各种格式的协议报文是否上CPU。
[0008]本发明提供了一种协议报文上送CPU的芯片实现方法,该方法包括:
[0009]在芯片中设置一匹配表,所述匹配表中配置有Except1n ID和策略Cl;在端口、VLAN或隧道协议的配置中设置一 Bitmap,用于控制所述策略Cl是否执行;
[0010]协议报文进入芯片,首先进行匹配查找,根据报文中的关键字段查找所述匹配表,得到对应的所述Except1n ID和策略Cl,再根据所述Bitmap决定将所述协议报文在上CPU的同时转发或者丢弃。
[0011 ] 优选地,所述匹配查找的关键字段包含源MAC地址,目的MAC地址和IP五元组,所述IP五元组为报文源IP地址,源端口,目的IP地址,目的端口和传输层协议。
[0012]优选地,所述Except1n ID设置在匹配查找结果的属性中,其取值范围为0_N,其中,N为大于等于零的整数。
[0013]优选地,所述策略Cl设置在匹配查找结果的属性中。
[0014]优选地,所述策略Cl为报文在上CPU的同时丢弃该报文,或者为报文在上CPU的同时转发该报文。
[0015]优选地,所述Bitmap宽度与所述Except1n ID的最大值相同。
[0016]优选地,所述Bitmap用二进制表示。
[0017]优选地,所述匹配查找,当查找有结果时所述才Except1n ID生效,此时所述Except1n ID取值不为O。
[0018]优选地,若所述二进制表示的Bitmap从低位开始的第El个比特位为O,则策略Cl不生效;若所述二进制表示的Bitmap从低位开始的第El个比特位不为O,则策略Cl生效,所述El表示Except1n ID的值。
[0019]优选地,若所述二进制表示的Bitmap从低位开始的第El个比特位为I,则策略Cl生效,所述El表示Except1n ID的值。
[0020]本发明能精确控制各种格式的协议报文是否上CPU,并且在上CPU的同时,在端口、VLAN或隧道协议上灵活控制是否丢弃或转发该报文。
【附图说明】
[0021]图1是本发明协议报文上送CPU的芯片实现方法的流程示意图。
【具体实施方式】
[0022]下面将对本发明实施例的技术方案进行清楚、完整的描述。
[0023]本发明揭示了一种协议报文上送CHJ的芯片实现方法,通过在芯片中设置一个CAM,用来对报文进行匹配查找,在查找结果的属性中设置Except1n ID和策略Cl,在端口、VLAN或隧道协议的配置中设置Bitmap控制策略Cl的执行,从而对各种协议报文上送CPU的行为进行精确控制。
[0024]本发明所揭示的一种协议报文上送CPU的芯片实现方法,如图1所示:
[0025]首先,在协议报文进入芯片之前,在芯片中设置一匹配表,所述匹配表中配置有Except1n ID和策略Cl;在端口、VLAN或隧道协议的配置中设置一Bitmap,用于控制所述策略Cl是否执行。
[0026]具体地,在芯片的入方向处理引擎(IPE)中,设置一个CAM,CAM中配置有查找的关键字段,用于进行匹配查找,查找的关键字段包含源MAC地址,目的MAC地址和IP五元组,协议报文进入芯片后,根据报文中的源MAC地址,目的MAC地址和IP五元组与CAM中配置的关键字段进行匹配。
[0027]CAM查找结果的属性中,为每一种协议报文设置一个Except1n ID,记为E1,取值范围为0-Ν,Ν为大于等于O的整数,即一个Except1n ID代表一种协议报文。El取值范围为0-N,即表示支持N种协议报文。在CAM进行匹配查找时,只有查到结果,Ec^pt1n ID才有效。
[0028]报文进入芯片,在与CAM中设置好的特征字段相匹配后,在其属性中得到此报文的Except1n ID。对于某些报文来说,需要在上CPU的同时转发该报文到下一台需要此报文的设备上;而某些报文则只需要上送给CPU,不需要转发,就直接丢弃。因此,本发明在CAM查找结果的属性中,还设置了报文的处理策略,为下面描述方便,记为策略Cl。策略Cl为报文在上CPU的同时丢弃该报文或者报文在上CPU的同时转发该报文。
[0029]对于策略Cl的执行与否,
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1