一种基于快速转发表项的丢包方法和装置制造方法及图纸

技术编号:18169199 阅读:51 留言:0更新日期:2018-06-09 13:50
本申请提供一种基于快速转发表项的丢包方法和装置,应用于多CPU设备,所述方法包括:当接收到的报文与快速转发表中的快速转发表项匹配时,查找与所述报文匹配的目标快速转发表项;当查找到所述目标快速转发表项时,判断所述目标快速转发表项是否携带丢包标记;如果是,丢弃所述报文。采用本申请提供的技术方法,可以解决同一会话的大量报文经过设备,且由于未通过安全检测而被丢弃时造成与该会话对应的CPU使用率过高的问题。

【技术实现步骤摘要】
一种基于快速转发表项的丢包方法和装置
本申请涉及网络通信
,特别涉及一种基于快速转发表项的丢包方法和装置。
技术介绍
快速转发表项是根据报文中的五元组(源IP、源端口、目的IP、目的端口、协议号)在高速缓存中生成的转发条目。设备根据五元组信息生成相应的快速转发信息缓存的同时,还记录了转发时的封装信息及接口信息。当后续报文到达后,设备根据该报文中的五元组,查找是否存在与该五元组匹配的快速转发表项。如果存在,基于查找到的快速转发表项直接进行转发出去。在这一过程中,不需要经过CPU查找路由转发表项来转发报文,从而突出了快速转发的效果。请参见图1,图1为现有技术示出的一种多CPU设备处理报文的流程图。在多CPU设备中,当报文经过设备时,该设备的驱动查找与该报文匹配的会话表项,当不存在与该报文匹配的会话表项时,该设备可以计算确定处理该报文的目的CPU,并将该报文上送至该目的CPU。在多CPU设备中,各CPU均配置了检测流量安全性的策略,各CPU对上送至本端的报文进行安全检测,如果没有通过检测,该CPU则将会丢弃该报文。其中,设备通过哈希算法对报文的五元组进行计算确定目的CPU。如果报文在本设备上做NAT业务,那么本设备从内网接收到该报文(正向报文)中的五元组,与本设备从外网接收到同一会话的报文(反向报文)中五元组不相同,那么通过哈希算法计算目的CPU后,同一会话的报文将会上送不同的CPU处理。为了保证同一会话的报文上送同一CPU处理,现有技术中采用软件流分类的技术,实现同一会话的正反向报文上送同一CPU。其中,如果任一报文为无法通过CPU的安全检测的报文,那么,当本设备接收到与该报文属于同一会话的报文后,均会将该会话中的报文上送至同一CPU进行新建会话表项的流程。根据图1所示的新建会话表项的流程可以看出,CPU处理该会话的报文时,当完成策略处理后,该会话中的报文均会被丢弃。当该会话的报文较多时,那么该CPU将会不断进行报文的安全检测和报文的丢弃,从而会导致该CPU的使用率过高。
技术实现思路
有鉴于此,本申请提供一种基于快速转发表项的丢包方法和装置,应用于多CPU设备,用于解决同一会话的大量报文经过设备,且由于未通过安全检测而被丢弃时造成与该会话对应的CPU使用率过高的问题。具体地,本申请是通过如下技术方案实现的:一种基于快速转发表项的丢包方法,应用于多CPU设备,包括:当接收到的报文与快速转发表中的快速转发表项匹配时,查找与所述报文匹配的目标快速转发表项;当查找到所述目标快速转发表项时,判断所述目标快速转发表项是否携带丢包标记;如果是,丢弃所述报文。一种基于快速转发表项的丢包装置,应用于多CPU设备,包括:查找单元,用于当接收到的报文与快速转发表中的快速转发表项匹配时,查找与所述报文匹配的目标快速转发表项;判断单元,用于当查找到所述目标快速转发表项时,判断所述目标快速转发表项是否携带丢包标记;丢弃单元,用于如果是,丢弃所述报文。本申请提出的技术方案带来的有效效果:在本申请中,当设备首次接收到无法通过检测的报文时,处理该报文的目的CPU先创建对应的快速转发表项,并在该快速转发表项中携带丢包标记后保存至快速转发表,然后再将该报文丢弃。当设备接收到该报文所属会话的后续报文时,设备的驱动可以直接匹配到对应的快速转发表项,并将该会话的报文通过驱动直接丢弃,不再需要将该会话的报文上送至该目的CPU进行检测后并在未通过检测后再将该会话的报文进行丢弃,从而解决了同一会话的大量报文经过设备,且由于未通过安全检测而被丢弃时造成与该会话对应的CPU使用率过高的问题。附图说明图1为现有技术示出的一种多CPU设备处理报文的流程图;图2为本申请实施例一示出的一种基于快速转发表项的丢包方法流程图;图3为本申请实施例一示出的一种多CPU设备处理报文的流程图;图4为本申请一种基于快速转发表项的丢包装置所在多CPU设备的一种硬件结构图;图5为本申请实施例二示出的一种基于快速转发表项的丢包装置。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。请参见图1,在现有技术中,当多CPU设备接收到某一会话的报文时,该设备的驱动可以将该报文与本设备的会话表中的会话表项进行匹配,查询与该报文匹配的会话表项。当驱动未查找到与该报文匹配的会话表项时,说明本设备之前已经接收到该报文所属会话的其它报文,但没有通过了安全检测(情况1),或者首次接收到该报文所属会话的报文,该报文为该会话中的第一个报文(情况2),或者,该报文所属会话对应的目的CPU正在处理该会话中的首个报文,但还未基于该首个报文创建对应的会话表项,此时驱动接收到的报文为该会话中的第二个报文(情况3)。不管上述三种情况中的哪一种情况导致驱动未查找到与该报文匹配的会话表项,本设备的驱动都将对该报文的五元组进行计算,确定与该报文所述会话对应的目的CPU,然后将该报文上送至该目的CPU。当目的CPU接收到驱动上送的报文时,该目的CPU将会在会话表中查找与该报文匹配的会话表项。其中,此时该目的CPU查找与该报文匹配的会话表项是为了针对上述情况3。如果该报文为该报文所属会话中的第二个报文,当目的CPU接收到该报文时,该会话的首个报文此时可能已经通过安全检测,该目的CPU已经基于该首个报文创建了与该会话对应的会话表项并保存至会话表。在这样的情况下,该目的CPU可以在会话表中查找到与该报文匹配的会话表项,那么此时该目的CPU不再需要基于该报文为该报文所属会话创建对应的会话表项。如果该目的CPU在会话表中查找到与该报文匹配的会话表项,该目的CPU通过配置的策略对该报文进行安全检测。如果该目的CPU没有在会话表中查找到与该报文匹配的会话表项时,该目的CPU可以基于该报文为该报文所属会话创建对应的会话表项,然后再通过配置的策略对该报文进行安全检测。1)、当该报文未通过安全检测,并且在该目的CPU未在会话表中查找到与该报文匹配的会话表项后,基于该报文为该报文所属会话创建了对应的会话表项时,该目的CPU将丢弃该报文和该会话表项。2)、当该报文未通过安全检测,并且该目的CPU在会话表中查找到了与该报文匹配的会话表项时,该目的CPU可以直接将该报文丢弃。3)本文档来自技高网
...
一种基于快速转发表项的丢包方法和装置

【技术保护点】
一种基于快速转发表项的丢包方法,应用于多CPU设备,其特征在于,包括:当接收到的报文与快速转发表中的快速转发表项匹配时,查找与所述报文匹配的目标快速转发表项;当查找到所述目标快速转发表项时,判断所述目标快速转发表项是否携带丢包标记;如果是,丢弃所述报文。

【技术特征摘要】
1.一种基于快速转发表项的丢包方法,应用于多CPU设备,其特征在于,包括:当接收到的报文与快速转发表中的快速转发表项匹配时,查找与所述报文匹配的目标快速转发表项;当查找到所述目标快速转发表项时,判断所述目标快速转发表项是否携带丢包标记;如果是,丢弃所述报文。2.根据权利要求1所述的方法,其特征在于,所述携带丢包标记的快速转发表项的创建过程为:当接收到的报文为首次接收到的报文时,通过预设的算法计算确定处理所述报文的目的CPU,由所述目的CPU基于预设的策略对所述报文进行检测;当所述报文未通过检测时,由所述目的CPU为所述报文所属的会话创建快速转发表项,并在所述快速转发表项中携带丢包标记后将所述快速转发表项添加至快速转发表以更新快速转发表;当更新完快速转发表后,由所述目的CPU丢弃所述报文。3.根据权利要求1所述的方法,其特征在于,所述方法还包括:为快速转发表中的快速转发表项设置老化时间;基于所述老化时间,更新快速转发表。4.根据权利要求1所述的方法,其特征在于,所述方法还包括:如果所述目标快速转发表项未携带丢包标记,基于所述目标快速转发表项转发所述报文。5.一种基于快速转发表项的丢包装置,应用于多CPU设备,其特...

【专利技术属性】
技术研发人员:袁野
申请(专利权)人:杭州迪普科技股份有限公司
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1