【技术实现步骤摘要】
本申请涉及网络通信
,特别涉及一种报文处理方法及装置。
技术介绍
在处理报文的过程中,网络设备需要根据接口的配置信息和/或报文类型等对报文执行各种类型的操作,以达到转发或业务处理等目的,例如,二层转发、三层转发、单播转发、组播转发、ACL(访问控制列表)匹配业务处理等。而且,一般情况下,针对同一报文时,不同类型的操作是互斥的,例如,当对一报文执行二层转发时,大多数情况下就不会再对该报文执行三层转发,当对一报文执行单播转发时,大多数情况下就不会再执行组播转发。网络设备对报文执行不同类型的操作,可以通过查找Hash表的方式来实现。Hash表是一种以Hash技术组织的查找表。在现有技术中,每一种操作类型对应一张Hash表,不同操作类型对应的Hash表不同,这样,网络设备根据Hash表对报文执行操作的过程如下:接收到报文之后,识别该报文需要执行的操作类型;然后,根据识别出的操作类型从该报文中提取出对应的多个Key(关键)值,对提取出的多个关键值进行Hash计算;将计算结果作为HashEntry(Hash入口),从与识别出的操作类型对应的Hash表中查找到对应表项;最后,根据查找到的表项中包括的处理结果信息,对该报文执行相应操作。不同的操作类型分别对应一张Hash表,需要为每一张Hash表分配一定的内存空间,从而占用了较多的表项空间资源。
技术实现思路
有鉴于此,本申请提供了一种报文处理方法及装置。本申请的技术方案如下:一方面,提供了一种报文处理方法,包括:在接收到报文之后,识别该报文需要执行的操作类型,从该报文中提取关键值并进行Hash计算;以计算结果作为Ha ...
【技术保护点】
一种报文处理方法,其特征在于,包括:在接收到报文之后,识别该报文需要执行的操作类型,从该报文中提取关键值并进行哈希Hash计算;以计算结果作为Hash入口,从本设备上的Hash索引表中查找到至少一个Hash索引表项;将识别出的操作类型与所述至少一个Hash索引表项进行匹配;若命中一个Hash索引表项,则根据命中的Hash索引表项对该报文进行处理。
【技术特征摘要】
1.一种报文处理方法,其特征在于,包括:在接收到报文之后,识别该报文需要执行的操作类型,从该报文中提取关键值并进行哈希Hash计算;以计算结果作为Hash入口,从本设备上的Hash索引表中查找到至少一个Hash索引表项;将识别出的操作类型与所述至少一个Hash索引表项进行匹配;若命中一个Hash索引表项,则根据命中的Hash索引表项对该报文进行处理。2.根据权利要求1所述的方法,其特征在于,Hash索引表为Hash表,则,将识别出的操作类型与所述至少一个Hash索引表项进行匹配,包括:将识别出的操作类型与至少一个Hash表项进行匹配;若命中一个Hash索引表项,则根据命中的Hash索引表项对该报文进行处理,包括:若命中一个Hash表项,则根据命中的Hash表项中包括的处理方式,对该报文进行处理。3.根据权利要求1所述的方法,其特征在于,Hash索引表包括:Hash表和结果表,则,将识别出的操作类型与所述至少一个Hash索引表项进行匹配,包括:针对每一个Hash表项,根据该Hash表项中包括的结果表指针进行索引,查找到对应的结果表;根据识别出的操作类型在查找到的结果表中匹配结果表项;若命中一个Hash索引表项,则根据命中的Hash索引表项对该报文进行处理,包括:若命中一个结果表项,则根据命中的结果表项中包括的处理方式,对该报文进行处理。4.根据权利要求1所述的方法,其特征在于,Hash索引表包括:Hash表和结果表,则,将识别出的操作类型与所述至少一个Hash索引表项进行匹配,包括:将识别出的操作类型与至少一个Hash表项进行匹配;若命中一个Hash表项,则根据命中的Hash表项中包括的结果表指针进行索引,查找到对应的结果表;根据识别出的操作类型在查找到的结果表中匹配结果表项;若命中一个Hash索引表项,则根据命中的Hash索引表项对该报文进行处理,包括:若命中一个结果表项,则根据命中的结果表项中包括的处理方式,对该报文进行处理。5.根据权利要求1至4中任一项所述的方法,其特征在于,在将识别出的操作类型与所述至少一个Hash索引表项进行匹配之后,还包括:若没有命中任一Hash索引表项,则在确定需要根据该报文建立Hash索引表项时,以所述计算结果作为Hash入口,在Hash索引表中添加一包括所述识别出的操作类型的Hash索引表项;在确定需要丢弃该报文时,将该报文丢弃。6.根据权利要求1所述的方法,其特征在于,所述方法还包括:当接口上配置有至少一个访问控制列表ACL规则时,根据预设分类规则将所述至少一个ACL规则划分成至少一个ACL匹配业务子类;将该接口与所述至少一个ACL匹配业务子类之间的对应关系配置到接口表中;在接收到报文之后,识别该报文需要执行的操作类型,包括:在接收到报文之后,从所述接口表中查找到与接收到的报文的入接口对应的至少一个ACL匹配业务子类;从查找到的至少一个ACL匹配业务子类中,确定与所述接收到的报文相匹配的ACL匹配业务子类作为该报文需要执行的操作类型。7.根据权利要求6所述的方法,其特征在于,所述至少一个ACL匹配业务子类包括:二层ACL匹配业务子类、三层因特网协议第四版IPv4ACL匹配业务子类和三层因特网协议第六版IPv6ACL匹配业务子类;则,确定与所述接收到的报文相匹配的ACL匹配业务子类的方法包括:若该报文是二层报文,则确定该报文相匹配的ACL匹配业务子类为二层ACL匹配业务子类;若该报文是三层报文,且该报文是IPv4报文,则确定该报文相匹配的ACL匹配业务子类为三层IPv4ACL匹配业务子类;若该报文是三层报文,且该报文是IPv6报文,则确定该报文相匹配的ACL匹配业务子类为三层IPv6ACL匹配业务子类。8.一种报文处理装置,其特征在于,包括:接收模块,用于接收报文;识别计算模块,用于在所述接收模块接收到报文之后,识别该报文需要执行的操作类型,从该报文中提取关键值并进行哈希Hash计算;表项查找模块,用于以所述识别计算模块的计算结果作为Hash入口,从本设备上的Hash索引表中查找到至少...
【专利技术属性】
技术研发人员:赵云峰,李佳,
申请(专利权)人:杭州华三通信技术有限公司,
类型:发明
国别省市:浙江;33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。