一种报文统计方法及网络设备与流程

文档序号:18297815发布日期:2019-07-31 09:38阅读:218来源:国知局
一种报文统计方法及网络设备与流程

本申请涉及通信领域,具体而言,涉及一种报文统计方法及网络设备。



背景技术:

netstream技术是一种基于网络流信息的统计技术,可以对网络中的业务流量情况进行统计和分析。netstream提供了报文统计功能,可以根据报文的目的ip地址、目的端口号、源ip地址、源端口号、协议号和tos(typeofservice,服务类型)来区分流信息,并针对不同的流信息进行独立的数据统计。

然而,目前主流应用的交换芯片都不支持硬件netstream功能,无法满足对在网用户入方向流量统计的需求。



技术实现要素:

本申请的目的在于提供一种报文统计方法及网络设备,通过对指定的待统计业务流建立硬件流表项并为硬件流表项设置计数器,实现入方向的报文统计功能。

为了实现上述目的,本申请实施例采用的技术方案如下:

第一方面,本申请实施例提供一种报文统计方法,应用于网络设备,所述方法包括:获取接收到的报文的流表项查找标识符;当所述流表项查找标识符表示在用户流表中未查找到匹配所述报文所属业务流的硬件流表项时,判断所述业务流是否为指定的待统计业务流;确定所述业务流是指定的待统计业务流时,复制一份所述报文;基于复制的报文建立所述业务流的硬件流表项;为建立的所述硬件流表项设置计数器用以统计所述业务流的报文数目。

第二方面,本申请实施例提供一种网络设备,包括中央处理器和交换芯片,所述中央处理器与所述交换芯片电连接;所述交换芯片,用于获取接收到的报文的流表项查找标识符,当所述流表项查找标识符表示在用户流表中未查找到匹配所述报文所属业务流的硬件流表项时,判断所述业务流是否为指定的待统计业务流;确定所述业务流是指定的待统计业务流时,复制一份所述报文并发往所述中央处理器;所述中央处理器,用于基于复制的报文建立所述业务流的硬件流表项,并为建立的所述硬件流表项设置计数器用以统计所述业务流的报文数目。

相对于现有技术,本申请实施例具有以下有益效果:

本申请实施例所提供的一种报文统计方法及网络设备,该网络设备包括中央处理器和交换芯片,中央处理器和交换芯片电连接,该交换芯片通过获取接收到的报文的流表项查找标识符,当流表项查找标识符表示在用户流表中未查找到匹配报文所属业务流的硬件流表项时,判断业务流是否为指定的待统计业务流,确定业务流是指定的待统计业务流时,复制一份报文并发往中央处理器,中央处理器基于复制的报文建立业务流的硬件流表项,并为建立的硬件流表项设置计数器用以统计业务流的报文数目。如此,在芯片硬件不支持netstream功能的情况下,通过中央处理器对指定的待统计业务流建立硬件流表项并为硬件流表项设置计数器,可以在目前主流应用的交换芯片上实现入方向的报文统计功能,满足对在网用户入方向流量统计的需求以及当前流量可视化的应用趋势。

为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它相关的附图。

图1为本申请实施例提供的网络设备的一种结构框图。

图2为本申请实施例提供的报文统计方法的一种流程示意图。

图3为本申请实施例提供的报文统计方法的另一种流程示意图。

图4为本申请实施例提供的报文统计方法的又一种流程示意图。

图中:100-网络设备;110-中央处理器;111-第一芯片口;113-第二芯片口;120-交换芯片;121-第一端口;122-转发模块;123-第二端口;124-第一匹配模块;125-第三端口;126-第二匹配模块;128-统计模块。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。

因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。

请参阅图1,为本申请实施例提供的一种网络设备100的结构框图。该网络设备100可以是交换机、路由器等任意具有数据转发功能的设备。如图1所示,该网络设备100包括中央处理器110和交换芯片120,中央处理器110和交换芯片120电连接,以实现数据的传输或交互。

该交换芯片120包括转发模块122、第一匹配模块124、第二匹配模块126和统计模块128,该转发模块122、第二匹配模块126和统计模块128均与第一匹配模块124电连接,该第一匹配模块124与第二匹配模块126均与中央处理器110电连接。

该交换芯片120还包括第一端口121、第二端口123和第三端口125,该第一端口121、第二端口123和第三端口125相互之间电连接;该第一端口121与第一匹配模块124电连接,该第二端口123与第二匹配模块126电连接,该第一端口121与中央处理器110的第一芯片口111构成第一数据通道link0,该第二端口123与中央处理器110的第二芯片口113构成第二数据通道link1。其中,该第一数据通道link0可以是pcie(peripheralcomponentinterconnectexpress,高速串行计算机扩展总线标准)通道,该第二数据通道link1可以是以太网通道,例如ge(gigabitethernet,千兆以太网)通道。

在本申请实施例中,该转发模块122中预先存储有转发表,根据该转发表可以查找报文的转发信息,其可以是二层转发或者三层转发。

该第一匹配模块124可以称作em模块,用于规则的匹配,作用与第二匹配模块126类似,不同之处在于第二匹配模块126支持字段的掩码匹配,而第一匹配模块124要求精确匹配。

该第二匹配模块126可以称作ifp模块或acl(accesscontrollist,访问控制列表)模块,也是用于规则的匹配,且第二匹配模块126中的规则是由中央处理器110在初始化时下发的,该第二匹配模块126通过对报文和转发信息中的特定字段进行匹配,进而对报文进行相应动作,可以覆盖之前的转发决策。

该统计模块128用于提供统计资源,为每个流表项绑定1个统计资源后,通过统计资源可以对命中流表项的报文进行统计,例如统计报文的个数、报文的字节数等。

应当理解,图1所示的结构仅为示意,网络设备100还可以包括比图1所示更多或更少的组件,或是具有与图1所示完全不同的配置。值得说明的是,网络设备100中的各组件可以以软件、硬件或其组合实现,本申请对此不做限制。

下面,将对报文进入交换芯片120后,在中央处理器110的协助下,实现入方向报文统计的流程进行详细阐述。请参照图2,为本申请实施例提供的报文统计方法的一种流程示意图。需要说明的是,本申请实施例所述的报文统计方法并不以图2以及以下所述的具体顺序为限制,应当理解,在其它实施例中,本申请实施例所述的报文统计方法其中部分步骤的顺序可以根据实际需要相互交换,或者其中的部分步骤也可以省略或删除。

步骤s201,获取接收到的报文的流表项查找标识符。

步骤s202,当流表项查找标识符表示在用户流表中未查找到匹配报文所属业务流的硬件流表项时,判断业务流是否为指定的待统计业务流。

步骤s203,确定业务流是指定的待统计业务流时,复制一份报文。

步骤s204,基于复制的报文建立业务流的硬件流表项。

步骤s205,为建立的硬件流表项设置计数器用以统计业务流的报文数目。

以图1所示的网络设备100为例,该第一匹配模块124中可以包括2个slices,支持对每个报文进行两次查找,第一匹配模块124在查找完硬件流表项后,会在报文的描述信息中添加1个流表项查找标识符,用于表示是否在用户流表中查找到匹配报文所属业务流的硬件流表项,该流表项查找标识符可以作为第二匹配模块126的关键字(key)进行规则匹配。一个示例中,流表项查找标识符可以用emhit或者emmiss表示,其中,emhit0表示第一次在用户流表中查找到匹配报文所属业务流的硬件流表项,emhit1表示第二次在用户流表中查找到匹配报文所属业务流的硬件流表项;emmiss0表示第一次在用户流表中未查找到匹配报文所属业务流的硬件流表项,emmiss1表示第二次在用户流表中未查找到匹配报文所属业务流的硬件流表项。在本实施例中,可以只分配一个slice用于入方向报文的流表项查找。

该中央处理器110会在初始化时向第二匹配模块126下发匹配规则,用于对指定的待统计业务流的报文进行匹配,如果该报文为指定的待统计业务流的报文,且第一匹配模块124的用户流表中未查找到匹配该报文所属业务流的硬件流表项(即流表项查找标识符为emmiss),则执行copytocpu的动作,复制一份该报文发送至中央处理器110。在向中央处理器110发送复制的报文时,需对复制的报文进行限速,保证在大量用户并发上线的情况下,不会对中央处理器110造成冲击。

例如,假设希望对10.1.1.0/24这个网段的所有用户的报文建立流表进行统计,中央处理器110在初始化时会向第二匹配模块126下发匹配这个网段地址并且emmiss的ifp规则,动作是copytocpu。如果某个报文的流表项查找标识符表示在第一匹配模块124的用户流表中查找到匹配该报文所属业务流的硬件流表项,表明该报文所属业务流的硬件流表项已经建立,就不会匹配这个ifp规则,直接继续转发;如果该报文的流表项查找标识符表示在第一匹配模块124的用户流表中未查找到匹配该报文所属业务流的硬件流表项并且该报文符合10.1.1.0/24这个特征网段,则匹配该ifp规则,需要复制一份该报文发往中央处理器110,以对该报文所属业务流建立硬件流表项,同时第二匹配模块126还会继续转发该报文。

中央处理器110在接收到因匹配该ifp规则而发送的报文后,会根据该报文的五元组信息(目的ip地址、目的端口号、源ip地址、源端口号、协议号和tos)建立软件流表项,将软件流表项同步到第一匹配模块124中用户流表的硬件流表项,并为该硬件流表项设置计数器(即绑定1个统计资源),用于对后续匹配到该硬件流表项的报文的数目进行统计。如此,通过中央处理器110的协助,可以在第一匹配模块124中建立包括一个或者多个硬件流表项的用户流表。

下面,以报文进入交换芯片120后,依次经过转发模块122、第一匹配模块124和第二匹配模块126处理的流程,进行详细阐述。首先由转发模块122根据预存的转发表查找该报文的转发信息,并将该报文发送到第一匹配模块124,该报文的转发信息携带在该报文的描述信息中。当第一匹配模块124接收到该报文后,判断在当前存储的用户流表中能否查找到匹配该报文所属业务流的硬件流表项,并根据查找结果在报文的描述信息中添加对应的流表项查找标识符。当流表项查找标识符为emmiss时,表明在该用户流表中未查找到匹配该报文所属业务流的硬件流表项,则不对报文进行统计处理,报文继续转发,走到第二匹配模块126;当流表项查找标识符为emhit时,表明在该用户流表中查找到匹配该报文所属业务流的硬件流表项,该报文所属业务流属于指定的待统计业务流,则将该报文匹配到的硬件流表项的计数器加1,从而通过该计数器对该业务流的报文数目进行统计,第一匹配模块124继续对报文进行转发,报文走到第二匹配模块126。

可以理解,该报文在交换芯片120中的各个模块进行转发时,携带有报文的描述信息。例如,当转发模块122将报文发送到第一匹配模块124时,需将转发模块122查找的转发信息写入该报文的描述信息并发送到第一匹配模块124;第一匹配模块124在将报文转发到第二匹配模块126时,需要将该第一匹配模块124查找硬件流表项后得到的流表项查找标识符(例如emhit、emmiss等)写入该报文描述信息并发送到第二匹配模块126。

该第二匹配模块126在接收到该报文后,从报文的描述信息中获取该报文的流表项查找标识符,当该流表项查找标识符为emmiss时,表明在用户流表中未查找到匹配该报文所属业务流的硬件流表项时,则判断该报文所属业务流是否为指定的待统计业务流(例如,该报文的源ip地址或者目的ip地址在设定的特征网段内),若确定该业务流是指定的待统计业务流,则执行报文copytocpu的动作,即复制一份报文发往中央处理器110,同时报文继续转发。

中央处理器110在接收到第二匹配模块126发送的报文后,基于该复制的报文建立业务流的硬件流表项,并为建立的硬件流表项设置计数器用以统计业务流的报文数目。具体地,中央处理器110基于复制的报文获取报文所属业务流的流特征信息(即提取报文的五元组信息),并建立流特征信息对应的软件流表项,然后将建立的软件流表项同步到第一匹配模块124中用户流表的硬件流表项。此时,第一匹配模块124中的用户流表增加了该报文所属业务流的硬件流表项,后续第一匹配模块124接收到报文后,如果在用户流表中查找到匹配该报文所属业务流的硬件流表项,则直接由该硬件流表项的计数器对报文数目进行统计。且由于该报文已经在第一匹配模块124中匹配到硬件流表项,故该报文在第二匹配模块126中就不会再命中上述的ifp规则,第二匹配模块126也不会复制该报文并发送至中央处理器110,而是直接对报文进行转发。

值得注意的是,在本申请中,该交换芯片120在将复制的报文发送至中央处理器110时,是通过图1所示的第二数据通道link1将复制的报文发送至中央处理器110;该中央处理器110在基于复制的报文建立业务流的软件流表项后,是通过图1所示的第一数据通道link0将该软件流表项同步到交换芯片120的第一匹配模块124中用户流表的硬件流表项。可见,用于建流的报文发往中央处理器110和同步软件流表项到第一匹配模块124中用户流表的硬件流表项是走的两个不同的通道,这样可以确保流表项建立的性能。

进一步地,在本申请实施例中,该中央处理器110还可以通过周期性地轮询读取硬件流表项的计数器的计数值,并根据计数值输出统计结果报文。如图3所示,该方法还可以包括:

步骤s301,周期性地读取硬件流表项的计数器的计数值。

步骤s302,按照预设报文格式将计数值转换为统计结果报文。

步骤s303,向服务器发送统计结果报文。

其中,中央处理器110周期性地通过第一数据通道link0读取硬件流表项的计数器的计数值,在按照预设报文格式将计数值转换为统计结果报文后,通过第二数据通道link1将统计结果报文发往交换芯片120;该交换芯片120通过第三端口125向服务器发送来自中央处理器110的统计结果报文。

该预设报文格式是netstream通用的统计结果输出报文格式,该第三端口125是交换芯片120上的分析端口(analyzeport)。

该中央处理器110在生成统计结果报文时,可以每读取一次计数值,便按照预设报文格式将计数值转换为统计结果报文,也可以是在读取一定次数的计数值后,再生成统计结果报文。也即是说,中央处理器110读取计数值的周期与中央处理器110生成统计结果报文的周期可以相同,也可以不同,本申请对此不做限制。

进一步地,在本申请实施例中,该中央处理器110在读取出硬件流表项的计数器的计数值后,可以根据计数值对交换芯片120中的用户流表进行老化处理。如图4所示,该方法还可以包括:

步骤s401,判断计数值的增长是否小于设定阈值。

步骤s402,当计数值的增长小于设定阈值时,从用户流表中删除硬件流表项及计数器。

在一个示例中,可以设定当计数器的计数值的增长在设定的老化周期内小于设定阈值时,则从用户流表中删除硬件流表项及计数器。

例如,中央处理器110周期性地通过第一数据通道link0读取硬件流表项的计数器的计数值,如果存在一条硬件流表项的计数器的计数值在2个老化周期内的增长小于1,即计数值在2个老化周期内都没有增长,表明该硬件流表项已经有2个老化周期没有报文命中,则将该硬件流表项及计数器从用户流表中删除,以保证第一匹配模块124中的表项资源得到高效利用。

可见,在本申请实施例提供的网络设备100中,中央处理器110和交换芯片120之间除了正常的第一数据通道link0,还额外设计了第二数据通道link1。其中,该第一数据通道link0主要用于配置的下发以及计数值的获取,而该第二数据通道link1主要用于将复制的报文上报至中央处理器110以及将统计结果报文发送到交换芯片120,使得用于建流的报文发往中央处理器110和统计结果报文的输出走独立通道,这样设计可以保证硬件流表项的生成以及统计结果报文输出的效率,确保流表项建立的性能。同时,为了保证处理的效率,中央处理器110上用于进行报文统计处理的模块可以放在特定的cpu物理核上处理。

综上所述,本申请实施例提供的一种报文统计方法及网络设备,该网络设备包括中央处理器和交换芯片,中央处理器和交换芯片电连接,该交换芯片通过获取接收到的报文的流表项查找标识符,当流表项查找标识符表示在用户流表中未查找到匹配报文所属业务流的硬件流表项时,判断业务流是否为指定的待统计业务流,确定业务流是指定的待统计业务流时,复制一份报文并发往中央处理器,中央处理器基于复制的报文建立业务流的硬件流表项,并为建立的硬件流表项设置计数器用以统计业务流的报文数目。如此,在芯片硬件不支持netstream功能的情况下,不需要增加额外的oaa(openapplicationarchitecture,开放应用架构)硬件插卡,通过中央处理器对指定的待统计业务流建立硬件流表项并为硬件流表项设置计数器用以统计业务流的报文数目,可以在目前主流应用的交换芯片上实现入方向的报文统计功能,满足对在网用户入方向流量统计的需求以及当前流量可视化的应用趋势。此外,在交换芯片与中央处理器之间设计额外的第二数据通道,使得用于建流的报文发往中央处理器和统计结果报文的输出走独立通道,这样设计可以保证用户流表的生成以及统计结果报文输出的效率,确保流表项建立的性能。

以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其它的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1