CN110113230B - 一种报文统计方法及网络设备 - Google Patents
一种报文统计方法及网络设备 Download PDFInfo
- Publication number
- CN110113230B CN110113230B CN201910364500.6A CN201910364500A CN110113230B CN 110113230 B CN110113230 B CN 110113230B CN 201910364500 A CN201910364500 A CN 201910364500A CN 110113230 B CN110113230 B CN 110113230B
- Authority
- CN
- China
- Prior art keywords
- message
- forwarded
- flow table
- matched
- flow
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提出一种报文统计方法及网络设备。交换芯片基于第一待转发报文所属第一业务流的流特征信息在用户流表中进行查找,用户流表记录了通过设定出端口已单播转发的各业务流的流表项,若查找到匹配的流表项,将匹配到的流表项的计数器加1,判断第一待转发报文是否通过匹配到的流表项中的设定出端口单播,若不通过设定出端口单播第一待转发报文,交换芯片复制第一待转发报文,将复制的第一待转发报文发送到中央处理器。该中央处理器读取第一业务流匹配的流表项的计数器的统计值,将第一业务流匹配到的流表项从用户流表中删除。如此,实现了利用计数器对匹配到通过设定出端口已单播转发的业务流的流表项的报文进行统计,以及用户流表的及时更新。
Description
技术领域
本申请涉及通信领域,具体而言,涉及一种报文统计方法及网络设备。
背景技术
Netstream技术是一种基于网络流信息的统计技术,可以对网络中的业务流量情况进行统计和分析。Netstream提供了报文的统计功能,可以根据报文的目的ip地址、目的端口号、源ip地址、源端口号、协议号和tos(type of service,服务类型)来区分流信息,并针对不同的流信息进行独立的数据统计。
目前主流应用的交换芯片都不支持netstream功能,实际应用中,越来越多的场景需要支持出方向的报文统计功能。因此,如何在主流应用的交换芯片中实现出方向的报文统计是目前面临的一大难题。
发明内容
本申请的目的在于提供一种报文统计方法及网络设备,以对通过设定出端口已单播转发的各业务流的报文进行统计。
为了实现上述目的,本申请实施例采用的技术方案如下:
第一方面,本申请实施例提供一种报文统计方法,应用于网络设备,所述网络设备包括中央处理器和交换芯片,所述中央处理器与所述交换芯片电连接,所述方法包括:所述交换芯片基于第一待转发报文所属第一业务流的流特征信息在用户流表中进行查找;所述用户流表记录了通过设定出端口已单播转发的各业务流的流表项;若查找到匹配的流表项,将匹配到的流表项的计数器加1;判断所述第一待转发报文是否通过匹配到的流表项中的设定出端口单播;若不通过所述设定出端口单播所述第一待转发报文,所述交换芯片复制所述第一待转发报文,将复制的所述第一待转发报文发送到所述中央处理器;所述中央处理器读取所述第一业务流匹配的流表项的计数器的统计值,将所述第一业务流匹配到的流表项从所述用户流表中删除。
第二方面,本申请实施例提供一种网络设备,包括中央处理器和交换芯片,所述中央处理器与所述交换芯片电连接;所述交换芯片,用于基于第一待转发报文所属第一业务流的流特征信息在用户流表中进行查找;所述用户流表记录了通过设定出端口已单播转发的各业务流的流表项;若查找到匹配的流表项,将匹配到的流表项的计数器加1;判断所述第一待转发报文是否通过匹配到的流表项中的设定出端口单播;若不通过所述设定出端口单播所述第一待转发报文,所述交换芯片复制所述第一待转发报文,将复制的所述第一待转发报文发送到所述中央处理器;所述中央处理器,用于读取所述第一业务流匹配的流表项的计数器的统计值,将所述第一业务流匹配到的流表项从所述用户流表中删除。
相对于现有技术,本申请实施例所提供的一种报文统计方法及网络设备,该网络设备包括中央处理器和交换芯片,该中央处理器与该交换芯片电连接,该交换芯片基于第一待转发报文所属第一业务流的流特征信息在用户流表中进行查找,用户流表记录了通过设定出端口已单播转发的各业务流的流表项,若查找到匹配的流表项,将匹配到的流表项的计数器加1,判断第一待转发报文是否通过匹配到的流表项中的设定出端口单播,若不通过设定出端口单播第一待转发报文,交换芯片复制第一待转发报文,将复制的第一待转发报文发送到中央处理器。该中央处理器读取第一业务流匹配的流表项的计数器的统计值,将第一业务流匹配到的流表项从用户流表中删除。如此,在芯片硬件不支持netstream的情况下,利用计数器对匹配到通过设定出端口已单播转发的业务流的流表项的报文进行统计,从而在当前主流的交换芯片实现出方向的报文统计功能。此外,中央处理器在第一待转发报文不通过匹配到的流表项中的设定出端口单播时,将第一业务流匹配到的流表项从用户流表中删除,实现了用户流表的及时更新。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它相关的附图。
图1为本申请实施例提供的网络设备的一种结构框图。
图2为本申请实施例提供的报文统计方法的一种流程示意图。
图3为本申请实施例提供的报文统计方法的另一种流程示意图。
图中:100-网络设备;110-中央处理器;111-第一芯片口;113-第二芯片口;120-交换芯片;121-第一端口;122-转发模块;123-第二端口;124-第一匹配模块;125-第三端口;126-第二匹配模块;128-统计模块。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
请参阅图1,为本申请实施例提供的一种网络设备100的结构框图。该网络设备100可以是交换机、路由器等任意具有数据转发功能的设备。该网络设备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(peripheral componentinterconnect express,高速串行计算机扩展总线标准)通道,该第二数据通道link1可以是以太网通道,例如GE(Gigabit Ethernet,千兆以太网)通道。
在本申请实施例中,该转发模块122中预先存储有二层转发表以及三层转发表。通过该二层转发表或者三层转发表可以查找待转发报文的转发信息,从而确定出待转发报文的当前出端口。
该第一匹配模块124可以称作EM模块,用于规则的匹配,作用与第二匹配模块126类似,不同之处在于第二匹配模块126支持字段的掩码匹配,而第一匹配模块124要求精确匹配;并且转发模块122根据二层转发表或三层转发表查找到的转发信息,不能作为第一匹配模块124的key(关键字)使用,因为二层或三层的转发查找和第一匹配模块124的查找是并行的。
该第二匹配模块126可以称作IFP模块或ACL(Access Control List,访问控制列表)模块,也是用于规则的匹配,且第二匹配模块126中的规则是由中央处理器110在初始化时下发的,该第二匹配模块126通过对接收的待转发报文和转发信息中的特定字段进行匹配,可对待转发报文进行相应动作,覆盖之前的转发决策。
该统计模块128用于提供统计资源,为每个流表项绑定1个统计资源后,通过该统计资源可以对匹配到流表项的待转发报文进行统计,例如统计报文的个数、报文的字节数等。
应当理解,图1所示的结构仅为示意,网络设备100还可以包括比图1所示更多或更少的组件,或是具有与图1所示完全不同的配置。值得说明的是,网络设备100中的各组件可以以软件、硬件或其组合实现,本申请对此不做限制。
下面,将对待转发报文进入交换芯片120后,通过中央处理器110的协助,实现出方向报文统计的流程进行详细阐述。请参照图2,图2为本申请实施例提供的报文统计方法的一种流程示意图。需要说明的是,本申请实施例所述的报文统计方法并不以图2以及以下所述的具体顺序为限制,应当理解,在其它实施例中,本申请实施例所述的报文统计方法其中部分步骤的顺序可以根据实际需要相互交换,或者其中的部分步骤也可以省略或删除。下面将对图2所示的具体流程进行详细阐述。
步骤S201,交换芯片基于第一待转发报文所属第一业务流的流特征信息在用户流表中进行查找;用户流表记录了通过设定出端口已单播转发的各业务流的流表项。
步骤S202,若查找到匹配的流表项,将匹配到的流表项的计数器加1。
步骤S203,判断第一待转发报文是否通过匹配到的流表项中的设定出端口单播。
步骤S204,若不通过设定出端口单播第一待转发报文,交换芯片复制第一待转发报文,将复制的第一待转发报文发送到中央处理器。
步骤S205,中央处理器读取第一业务流匹配的流表项的计数器的统计值,将第一业务流匹配到的流表项从用户流表中删除。
该交换芯片120在接收到第一待转发报文后,首先基于预存的二层转发表或者三层转发表查找该第一待转发报文匹配的二层转发表项或者三层转发表项,以获得该第一待转发报文的转发信息。其中,该转发信息中可以包括该第一待转发报文的当前出端口标识、该第一待转发报文的报文类型(例如,单播报文、组播报文、未知单播报文等)等信息,后续转发该第一待转发报文时,需将获得的转发信息携带在第一待转发报文的描述信息中。
当该交换芯片120基于第一待转发报文所属第一业务流的流特征信息在用户流表中查找到匹配的流表项时,则该匹配到的流表项的计数器的计数值需要加1,从而对第一待转发报文进行统计。
该交换芯片120在基于第一待转发报文所属第一业务流的流特征信息在用户流表中查找到匹配的流表项时,可以基于获得的转发信息中的当前出端口标识和报文类型,判断该第一待转发报文是否通过匹配到的流表项中的设定出端口单播。
可选地,该交换芯片120获取第一待转发报文的目的IP地址匹配的三层转发表项记录的当前出端口标识,比较获取的当前出端口标识与匹配到的流表项中的设定出端口标识,当不一致时,判断第一待转发报文不通过匹配到的流表项中的设定出端口单播。即该第一待转发报文所属第一业务流的当前出端口已经发生切换。
可选地,该交换芯片120获取第一待转发报文的目的MAC地址匹配的二层转发表项记录的当前出端口标识,比较获取的当前出端口标识与匹配到的流表项中的设定出端口标识,当不一致时,判断第一待转发报文不通过匹配到的流表项中的设定出端口单播。即该第一待转发报文所属第一业务流的当前出端口已经发生切换。
可选地,该交换芯片120识别第一待转发报文为未知单播报文时,判断第一待转发报文不通过匹配到的流表项中的设定出端口单播。
可选地,该交换芯片120识别第一待转发报文为组播报文时,判断第一待转发报文不通过匹配到的流表项中的设定出端口单播。
该交换芯片120在确定不通过匹配到的流表项中的设定出端口单播第一待转发报文时,则复制该第一待转发报文并发往中央处理器110,中央处理器110基于该复制的第一待转发报文,将第一业务流匹配到的流表项从用户流表中删除。
需要说明的是,在实际应用中,该设定出端口可能存在多个。当该第一待转发报文所属第一业务流的当前出端口发生切换后,若切换后的当前出端口仍属于设定出端口,则中央处理器110需要在用户流表中将第一业务流匹配到的流表项中记录的设定出端口标识更改为切换后的当前出端口标识。
在图1所示的网络设备100中,该第一匹配模块124包括2个slices,支持对每个待转发报文进行两次查找(slice0和slice1),第一匹配模块124在用户流表中查找完流表项后,会在第一待转发报文的描述信息中添加对应的流表项查找标识符,用于表示是否查找到匹配的流表项,该流表项查找标识符可以作为第二匹配模块126的key进行规则匹配。一个示例中,流表项查找标识符可以用EM Hit或者EM Miss表示,其中,EM Hit0表示第一次查找到匹配的流表项(slice0),EM Hit1表示第二次查找到匹配的流表项(slice1);EM Miss0表示第一次未查找到匹配的流表项(slice0),EM Miss1表示第二次未查找到匹配的流表项(slice1)。在本实施例中,可以只分配一个slice用于出方向报文的流表项查找,例如分配slice1。
假设需要对端口N进行出方向的报文统计,则需要在入方向对当前出端口为N的待转发报文进行统计,因此,只能统计从端口N出去的单播流量,对于从端口N出去的广播流量则不统计。
由于在第一匹配模块124存储的用户流表中,不能使用转发当前出端口作为key,故利用该用户流表的流表项中的exact_match_class id来标识不同的设定出端口(即配置了egress netstream的端口),比如port M和port N配置了egress netstream,则可以分配exact_match_class id==1标识port M,exact_match_class id==2标识port N,classid 0预留出来。
另外,在二层单播转发表项和三层单播转发表项中,也有对应的L2CLASS ID、L3CLASS ID来标识不同的设定出端口;当二层单播转发表项或三层单播转发表项中的当前出端口是设定出端口时,需要将L2CLASS ID或L3CLASS ID设置成该设定出端口映射的值,映射关系与上述的exact_match_class id保持一致。
例如,当二层单播转发表项或三层单播转发表项中的当前出端口是配置了egressnetstream的port N时,则需要将L2CLASS ID、L3CLASS ID的值设置为2,与port N对应的exact_match_class id保持一致。当二层单播转发表项或三层单播转发表项中的当前出端口不是待统计出端口,那么将对应的CLASS ID设置为0。
在本实施例中,该中央处理器110在初始化时会向第二匹配模块126下发4条规则,这4条规则用于检查第一匹配模块124中已经生成的用户流表,进而对用户流表中的流表项进行更新或删除操作。例如,该4条规则可以是:
a.if EM hit1&forward type=L2known&L2CLASS ID!=exact_match_class_id,then copy to cpu;//表示用户流表中已下发的已知L2单播流的出端口已经切换。
b.if EM hit1&forward type=L3UC&L3CLASS ID!=exact_match_class_id,then copy to cpu;//表示用户流表中已下发的已知L3单播流的出端口已经切换。
c.if EM hit1&forward type=L2unknown,then copy to cpu;//表示用户流表中已下发的流变成了二层广播流或者未知单播流。
d.if EM hit1&forward type=L3MC,then copy to cpu;//表示用户流表中已下发的流变成了三层广播流或者未知单播流。
在上述4条规则中,forward type=L2known及forward type=L3MC均表示待转发报文在二层转发表或三层转发表中匹配到转发表项,该待转发报文为已知单播报文;forward type=L2unknown和forward type=L3MC均表示待转发报文为组播报文或者未知单播报文。
在本实施例中,当第一待转发报文命中规则c,d时,则第二匹配模块126执行copyto cpu的动作,复制一份第一待转发报文并发送至中央处理器110,由于该第一待转发报文为组播报文或未知单播报文,故中央处理器110需要将在第一匹配模块124的用户流表中将该第一业务流对应的流表项删除。当第一待转发报文命中规则a,b时,第二匹配模块126也需要执行copy to cpu的动作,并将复制的第一待转发报文发送至中央处理器110,由于该第一待转发报文的当前出端口已经切换,此时中央处理器110判断切换后的当前出端口是否为配置了egress netstream的端口(即设定端口),若是,则需要在用户流表中更新该第一业务流匹配到的流表项中的设定出端口标识exact_match_class id,若切换后的当前出端口是没有配置egress netstream的端口(即转发表项中的CLASS ID==0),则需要在用户流表中删除该第一业务流对应的流表项。
下面,对第一待转发报文进入交换芯片120后,经过转发模块122、第一匹配模块124和第二匹配模块126处理的流程,进行详细阐述。
首先,转发模块122在接收到第一待转发报文后,根据预存的二层转发表或三层转发表查找匹配的转发表项,并将获得的转发信息添加至第一待转发报文的描述信息中发送至第一匹配模块124。
第一匹配模块124接收到该第一待转发报文后,基于第一待转发报文所属第一业务流的流特征信息在当前存储的用户流表中进行查找,得到流表项查找标识符(EM Hit1或EM Miss1)。当流表项查找标识符为EM Miss1时,表明在用户流表中未查找到匹配的流表项;当该流表项查找标识符为EM Hit1时,表明在用户流表中查找到匹配的流表项,则将匹配到的流表项的计数器加1;第一匹配模块124将流表项查找标识符添加到第一待转发报文的描述信息后将第一待转发报文发送到第二匹配模块126。
该第二匹配模块126接收到第一待转发报文后,根据第一待转发报文的描述信息中的流表项查找标识符和转发信息判断第一待转发报文是否通过匹配到的流表项中的设定出端口单播,若不是,则复制一份第一待转发报文发送至中央处理器110。其中,该第二匹配模块126可以根据中央处理器110下发的规则(上述的规则a,b,c,d)来判断第一待转发报文是否通过匹配到的流表项中的设定出端口单播,当该第一待转发报文命中上述规则a,b,c,d中的任意一条时,第二匹配模块126将复制第一待转发报文并发往中央处理器110。
该中央处理器110在接收到第二匹配模块126发送的第一待转发报文后,判断该第一待转发报文是命中的规则a或b,则确定第一待转发报文的当前出端口发生了切换,当切换后的当前出端口仍是设定出端口时,则在用户流表中将流表项中的设定出端口标识更新为切换后的当前出端口标识;当第一待转发报文切换后的当前出端口不是设定端口,则在用户流表中将匹配到的流表项删除。判断该第一待转发报文是命中的规则c或d,则确定该第一待转发报文为未知单播报文或者组播报文,故在用户流表中将匹配到的流表项删除。如此,实现了在待转发报文匹配到的的转发表项发生变化时及时更新用户流表的效果。
可以理解,当待转发报文在交换芯片120中的各个模块中进行转发时,携带有描述信息。例如,转发模块122可以将查找到的转发信息写入该第一待转发报文对应的描述信息并发送到第一匹配模块124;第一匹配模块124在用户流表中查找流表项后,将得到的流表项查找标识符写入该第一待转发报文对应的描述信息中并发送到第二匹配模块126。
进一步地,在本申请实施例中,对于在用户流表中未匹配到流表项且当前出端口属于设定端口的待转发报文,需要用户流表中建立该待转发报文匹配的流表项。如图3所示,该方法还可以包括:
步骤S301,交换芯片基于第二待转发报文所属第二业务流的流特征信息在用户流表中进行查找。
步骤S302,若未查找到匹配的流表项,判断第二待转发报文的当前出端口是否为设定出端口。
步骤S303,若第二待转发报文的当前出端口为设定出端口,交换芯片复制第二待转发报文,将复制的第二待转发报文发送到中央处理器。
步骤S304,中央处理器在用户流表中建立第二业务流的流特征信息匹配的流表项并记录设定出端口,为第二业务流匹配的流表项设置计数器。
在一个示例中,当需要对端口N进行在出方向的报文统计时,则中央处理器110在初始化时需要向第二规则匹配模块126下发如下规则:如果满足EM Miss1&Forward destport==N,则将待转发报文copy to cpu。
例如,第一匹配模块124接收到第二待转发报文后,在当前存储的用户流表中没有查找到匹配的流表项,得到流表项查找标识符为EM Miss1,则不对该第二待转发报文进行统计处理,将该流表项查找标识符EM Miss1添加到第二待转发报文后发送到第二匹配模块126。第二匹配模块126接收到该第二待转发报文后,根据第二待转发报文的描述信息得到流表项查找标识符EM Miss1和第二待转发报文的当前出端口为N,则确定命中规则EMMiss1&Forward dest port==N,于是复制第二待转发报文并将复制的第二待转发报文发送至中央处理器110。中央处理器110接收到第二待转发报文后,在用户流表中建立第二待转发报文所属第二业务流的流特征信息(例如,目的ip地址、目的端口号、源ip地址、源端口号、协议号和tos)匹配的流表项,并在流表项中记录该设定出端口,为建立的流表项设置计数器用于统计第二业务流的报文数目。后续的待转发报文如果匹配到该第二业务流对应的流表项,则通过该流表项的计数器对该待转发报文进行统计处理,并继续将待转发报文转发到第二匹配模块126中进行规则匹配。
在本申请实施例中,该中央处理器110可以周期性地进行用户流表的老化处理,如果一条流表项在2个老化周期内,对应的计数器的计数值都没有增长,则将该流表项从用户流表中删除。
该中央处理器110还可以周期性地通过第一数据通道link0从统计模块128读取计数器的计数值,以及根据读取的计数值定时输出统计结果报文,并将统计结果报文通过第二数据通道link1以及第三端口125发送到一服务器。
需要说明的是,本申请实施例提供的网络设备100中,为了确保用户流表的建立、维护以及统计结果报文输出的效率,第二匹配模块126发送复制的待转发报文到中央处理器110以及中央处理器110输出统计结果报文均是通过上述的第二数据通道link1实现,使得待转发报文上报中央处理器110和统计结果报文的输出走独立通道,而中央处理器110读取统计结果以及配置的下发均是通过第一数据通道link0实现。
综上所述,本申请实施例提供的一种报文统计方法及网络设备,该网络设备包括中央处理器和交换芯片,该中央处理器与该交换芯片电连接,该交换芯片基于第一待转发报文所属第一业务流的流特征信息在用户流表中进行查找,用户流表记录了通过设定出端口已单播转发的各业务流的流表项,若查找到匹配的流表项,将匹配到的流表项的计数器加1,判断第一待转发报文是否通过匹配到的流表项中的设定出端口单播,若不通过设定出端口单播第一待转发报文,交换芯片复制第一待转发报文,将复制的第一待转发报文发送到中央处理器。该中央处理器读取第一业务流匹配的流表项的计数器的统计值,将第一业务流匹配到的流表项从用户流表中删除。如此,在芯片硬件不支持netstream的情况下,利用计数器对匹配到通过设定出端口已单播转发的业务流的流表项的报文进行统计,从而在当前主流的交换芯片实现出方向的报文统计功能。此外,中央处理器在第一待转发报文不通过匹配到的流表项中的设定出端口单播时,将第一业务流匹配到的流表项从用户流表中删除,实现了用户流表的及时更新。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其它的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
Claims (10)
1.一种报文统计方法,应用于网络设备,其特征在于,所述网络设备包括中央处理器和交换芯片,所述中央处理器与所述交换芯片电连接,所述方法包括:
所述交换芯片在接收到第一待转发报文后,基于预存的二层转发表或者三层转发表查找所述第一待转发报文匹配的二层转发表项或者三层转发表项,以获得所述第一待转发报文的转发信息;所述转发信息中包括所述第一待转发报文的当前出端口标识和报文类型;
基于所述第一待转发报文所属第一业务流的流特征信息在用户流表中进行查找;所述用户流表记录了通过设定出端口已单播转发的各业务流的流表项;
若查找到匹配的流表项,将匹配到的流表项的计数器加1;
基于所述转发信息中的当前出端口标识和报文类型,判断所述第一待转发报文是否通过匹配到的流表项中的设定出端口单播;
若不通过所述设定出端口单播所述第一待转发报文,所述交换芯片复制所述第一待转发报文,将复制的所述第一待转发报文发送到所述中央处理器;
所述中央处理器读取所述第一业务流匹配的流表项的计数器的统计值,将所述第一业务流匹配到的流表项从所述用户流表中删除。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
所述交换芯片基于第二待转发报文所属第二业务流的流特征信息在所述用户流表中进行查找;
若未查找到匹配的流表项,判断所述第二待转发报文的当前出端口是否为设定出端口;
若所述第二待转发报文的当前出端口为所述设定出端口,所述交换芯片复制所述第二待转发报文,将复制的所述第二待转发报文发送到所述中央处理器;
所述中央处理器在所述用户流表中建立所述第二业务流的流特征信息匹配的流表项并记录所述设定出端口,为所述第二业务流匹配的流表项设置计数器。
3.根据权利要求1所述的方法,其特征在于,所述交换芯片基于所述转发信息中的当前出端口标识和报文类型,判断所述第一待转发报文是否通过匹配到的流表项中的设定出端口单播,包括:
所述交换芯片比较获取的所述当前出端口标识与匹配到的流表项中的设定出端口标识,当不一致时,判断所述第一待转发报文不通过匹配到的流表项中的设定出端口单播。
4.根据权利要求1所述的方法,其特征在于,所述交换芯片基于所述转发信息中的当前出端口标识和报文类型,判断所述第一待转发报文是否通过匹配到的流表项中的设定出端口单播,包括:
所述交换芯片根据所述报文类型识别所述第一待转发报文为未知单播报文,判断所述第一待转发报文不通过匹配到的流表项中的设定出端口单播。
5.根据权利要求1所述的方法,其特征在于,所述交换芯片基于所述转发信息中的当前出端口标识和报文类型,判断所述第一待转发报文是否通过匹配到的流表项中的设定出端口单播,包括:
所述交换芯片根据所述报文类型识别所述第一待转发报文为组播报文,判断所述第一待转发报文不通过匹配到的流表项中的设定出端口单播。
6.一种网络设备,其特征在于,包括中央处理器和交换芯片,所述中央处理器与所述交换芯片电连接;
所述交换芯片,用于在接收到第一待转发报文后,基于预存的二层转发表或者三层转发表查找所述第一待转发报文匹配的二层转发表项或者三层转发表项,以获得所述第一待转发报文的转发信息;所述转发信息中包括所述第一待转发报文的当前出端口标识和报文类型;基于所述第一待转发报文所属第一业务流的流特征信息在用户流表中进行查找;所述用户流表记录了通过设定出端口已单播转发的各业务流的流表项;若查找到匹配的流表项,将匹配到的流表项的计数器加1;基于所述转发信息中的当前出端口标识和报文类型,判断所述第一待转发报文是否通过匹配到的流表项中的设定出端口单播;若不通过所述设定出端口单播所述第一待转发报文,所述交换芯片复制所述第一待转发报文,将复制的所述第一待转发报文发送到所述中央处理器;
所述中央处理器,用于读取所述第一业务流匹配的流表项的计数器的统计值,将所述第一业务流匹配到的流表项从所述用户流表中删除。
7.如权利要求6所述的网络设备,其特征在于,所述交换芯片,还用于基于第二待转发报文所属第二业务流的流特征信息在所述用户流表中进行查找;若未查找到匹配的流表项,判断所述第二待转发报文的当前出端口是否为设定出端口;若所述第二待转发报文的当前出端口为所述设定出端口,所述交换芯片复制所述第二待转发报文,将复制的所述第二待转发报文发送到所述中央处理器;
所述中央处理器,还用于在所述用户流表中建立所述第二业务流的流特征信息匹配的流表项并记录所述设定出端口,为所述第二业务流匹配的流表项设置计数器。
8.如权利要求6所述的网络设备,其特征在于,所述交换芯片,用于;比较获取的所述当前出端口标识与匹配到的流表项中的设定出端口标识,当不一致时,判断所述第一待转发报文不通过匹配到的流表项中的设定出端口单播。
9.如权利要求6所述的网络设备,其特征在于,所述交换芯片,用于根据所述报文类型识别所述第一待转发报文为未知单播报文,判断所述第一待转发报文不通过匹配到的流表项中的设定出端口单播。
10.如权利要求6所述的网络设备,其特征在于,所述交换芯片,用于根据所述报文类型识别所述第一待转发报文为组播报文,判断所述第一待转发报文不通过匹配到的流表项中的设定出端口单播。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910364500.6A CN110113230B (zh) | 2019-04-30 | 2019-04-30 | 一种报文统计方法及网络设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910364500.6A CN110113230B (zh) | 2019-04-30 | 2019-04-30 | 一种报文统计方法及网络设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110113230A CN110113230A (zh) | 2019-08-09 |
CN110113230B true CN110113230B (zh) | 2021-03-09 |
Family
ID=67487986
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910364500.6A Active CN110113230B (zh) | 2019-04-30 | 2019-04-30 | 一种报文统计方法及网络设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110113230B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113315744A (zh) * | 2020-07-21 | 2021-08-27 | 阿里巴巴集团控股有限公司 | 可编程交换机、流量统计方法、防御方法和报文处理方法 |
CN112866114B (zh) * | 2020-12-31 | 2022-12-13 | 锐捷网络股份有限公司 | 组播报文的处理方法及装置 |
CN113824772B (zh) * | 2021-08-30 | 2023-04-18 | 济南浪潮数据技术有限公司 | 基于云网络的数据采集方法、系统、装置及可读存储介质 |
CN114553762B (zh) * | 2022-01-30 | 2023-12-26 | 阿里巴巴(中国)有限公司 | 一种对流表中的流表项处理的方法及装置 |
CN116996438B (zh) * | 2023-09-22 | 2023-12-22 | 新华三技术有限公司 | 流表管理方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103379039A (zh) * | 2012-04-23 | 2013-10-30 | 华为技术有限公司 | 一种用于流统计的方法、装置及系统 |
CN104092612A (zh) * | 2014-06-05 | 2014-10-08 | 汉柏科技有限公司 | 更新快速转发表匹配顺序的方法及装置 |
CN105991338A (zh) * | 2015-03-05 | 2016-10-05 | 华为技术有限公司 | 网络运维管理方法及装置 |
US9729442B1 (en) * | 2015-03-01 | 2017-08-08 | Netronome Systems, Inc. | Method of detecting large flows within a switch fabric of an SDN switch |
CN108259378A (zh) * | 2017-03-30 | 2018-07-06 | 新华三技术有限公司 | 一种报文处理方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108833203B (zh) * | 2018-05-23 | 2021-04-30 | 新华三信息安全技术有限公司 | 一种报文统计方法及装置 |
-
2019
- 2019-04-30 CN CN201910364500.6A patent/CN110113230B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103379039A (zh) * | 2012-04-23 | 2013-10-30 | 华为技术有限公司 | 一种用于流统计的方法、装置及系统 |
CN104092612A (zh) * | 2014-06-05 | 2014-10-08 | 汉柏科技有限公司 | 更新快速转发表匹配顺序的方法及装置 |
US9729442B1 (en) * | 2015-03-01 | 2017-08-08 | Netronome Systems, Inc. | Method of detecting large flows within a switch fabric of an SDN switch |
CN105991338A (zh) * | 2015-03-05 | 2016-10-05 | 华为技术有限公司 | 网络运维管理方法及装置 |
CN108259378A (zh) * | 2017-03-30 | 2018-07-06 | 新华三技术有限公司 | 一种报文处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110113230A (zh) | 2019-08-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110113230B (zh) | 一种报文统计方法及网络设备 | |
CN110071853B (zh) | 一种报文统计方法及网络设备 | |
US9065775B2 (en) | Switching apparatus and method based on virtual interfaces | |
US9191225B2 (en) | Detection of heavy users of network resources | |
CN110830371B (zh) | 报文重定向方法、装置、电子设备及可读存储介质 | |
US7032072B1 (en) | Method and apparatus for fast lookup of related classification entities in a tree-ordered classification hierarchy | |
US20030112808A1 (en) | Automatic configuration of IP tunnels | |
US7957396B1 (en) | Targeted flow sampling | |
US8151339B2 (en) | Method and apparatus for implementing filter rules in a network element | |
EP3905622A1 (en) | Botnet detection method and system, and storage medium | |
US7441022B1 (en) | Resolving conflicts between network service rule sets for network data traffic in a system where rule patterns with longer prefixes match before rule patterns with shorter prefixes | |
EP1909437B1 (en) | A method for forwarding service of the data communication device and the forwarding apparatus | |
US5949783A (en) | LAN emulation subsystems for supporting multiple virtual LANS | |
CN111953552B (zh) | 数据流的分类方法和报文转发设备 | |
CN108737221B (zh) | 丢包检测方法及通信链路系统 | |
US8687636B1 (en) | Extended policy control list keys having backwards compatibility | |
CN110601924B (zh) | 一种报文发送方法及装置 | |
CN100508505C (zh) | 用于对查询节点分类的方法和装置 | |
CN115834478A (zh) | 一种利用tcam实现pbr高速转发的方法 | |
KR20040054110A (ko) | 튜플 공간 검색 기반의 ip 패킷 분류장치 및 분류방법 | |
CN114039910A (zh) | 基于分组标签策略的数据转发的方法 | |
CN111262752B (zh) | 一种带内遥测的方法以及设备 | |
JP3443283B2 (ja) | 同報リスト作成方法 | |
WO2023193498A1 (zh) | 网络的可靠性评估方法、装置、计算设备以及存储介质 | |
Lee et al. | Packet classification using diagonal-based tuple space search |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |