CN110224932B - 一种数据快速转发的方法及系统 - Google Patents
一种数据快速转发的方法及系统 Download PDFInfo
- Publication number
- CN110224932B CN110224932B CN201910377787.6A CN201910377787A CN110224932B CN 110224932 B CN110224932 B CN 110224932B CN 201910377787 A CN201910377787 A CN 201910377787A CN 110224932 B CN110224932 B CN 110224932B
- Authority
- CN
- China
- Prior art keywords
- forwarded
- message
- downlink
- cpu
- threshold value
- 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/16—Threshold monitoring
-
- 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/70—Routing based on monitoring results
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种数据快速转发的方法及系统,涉及数据转发领域,该方法包括以下步骤:根据审计模式选择是对下行报文的数量还是速率进行统计,并设置与数量和速率对应的阈值大小;通过判断下行报文的数量或者下行报文的速率是否达到阈值来确定下行报文是采用CPU转发还是快速转发。本发明适用于PON网关、机顶盒、融合终端、智能网关、路由器等网络设备,其可以根据审计需求来选择合适的策略,从而既可以降低CPU的消耗,又能满足审计需求。
Description
技术领域
本发明涉及数据转发领域,具体涉及一种数据快速转发的方法及系统。
背景技术
随着互联网的高速发展,随着网络的日益普及,利用网络实施犯罪的新型网络违法与犯罪行为也随之日渐增多。网络的虚拟性与不确定性,造成传统的办案手段对此已力不从心,公安网监部门迫切需要新的技术手段来帮助其应对这一新挑战。公安系统提出的网络安全审计方案,有效的采集用户的上网行为,实现了对所辖区域范围内所有网络行为的全面安全管理,为网监部门预防网络违法、侦破网络犯罪提供了有力的工具,同时也为相关单位的网络安全提供了全面保障。
“快速转发”为网关芯片提高转发性能的一种方式,基本原理为芯片学习IP五元组(源IP地址、目的IP地址、IP协议号、源端口、目的端口),并将五元组的相关信息写入芯片的快速转发表项,当报文到达网关时,首先匹配快速转发表项,若匹配通过,报文则直接通过硬件转发,不再经过CPU,可大幅提高网关转发性能。
目前,各个芯片厂家的快速转发规则不尽相同,但可大体总结如下:1)特殊协议报文默认通过CPU处理(如Dynamic Host Configuration Protocol报文、Domain NameSystem报文,Address Resolution Protocol报文等),2)承载音频、视频、邮箱等各种应用的TCP、UDP报文的数据内容部分通过快速转发。基于以上的转发策略,需要审计的数据(淘宝、微信、邮箱等)也会通过快速转发处理,报文不会经过CPU,使插件无法获取报文相关信息。
为了解决插件无法获取报文相关信息的问题,通常采用的方式是关闭快速转发,但是这样一来所有数据包只能通过CPU转发,不能通过快速转发,导致网关的性能很差,不能满足目前的高带宽要求。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种数据快速转发的方法,其可以根据审计需求来选择合适的策略,从而既可以降低CPU的消耗,又能满足审计需求。
为达到以上目的,本发明采取的技术方案是:
一种数据快速转发的方法,该方法包括以下步骤:
根据审计模式选择是对具有相同五元组的一类下行报文的数量还是速率进行统计,并设置与数量和速率对应的阈值大小;
通过判断该类下行报文的数量或者下行报文的速率是否达到阈值来确定该类下行报文是采用CPU转发还是快速转发。
在上述技术方案的基础上,根据审计模式选择是对具有相同五元组的一类下行报文的数量还是速率进行统计,具体包括:
当仅审计登录信息时,选择对该类下行报文的数量进行统计;
当需要全程审计时,选择对该类下行报文的速率进行统计。
在上述技术方案的基础上,当仅审计登录信息时,通过判断该类下行报文的数量是否达到阈值来确定该类下行报文是采用CPU转发还是快速转发,具体包括:
S11.判断当前待转发的报文是否是该类下行报文,若否,则执行步骤S15;若是,则执行步骤S12;
S12.判断当前待转发的报文的五元组是否是有效连接,若否,则执行步骤S15;若是,则执行步骤S13;
S13.该类下行报文的数量累加1;
S14.判断该类下行报文累计的数量是否达到阈值,若否,则执行步骤S15;若是,则执行步骤S16;
S15.当前待转发的报文采用CPU转发;
S16.当前待转发的报文采用CPU转发,将该类下行报文设置为快速转发,使该类下行报文的后续报文采用快速转发。
在上述技术方案的基础上,当需要全程审计时,通过判断该类下行报文的速率是否达到阈值来确定该类下行报文是采用CPU转发还是快速转发,具体包括:
S21.以该类下行报文的五元组初次建立有效连接时对应的系统时间为起始时间,并根据实时统计的该类下行报文流量,实时计算该类下行报文的速率并判断其是否达到阈值,若是,则执行步骤S22;若否,则执行步骤S23;
S22.当前待转发的报文采用CPU转发,将该类下行报文设置为快速转发,使该类下行报文的后续报文采用快速转发;
S23.当前待转发的报文采用CPU转发,将起始时间更新为当前系统时间,并将该类下行报文流量清零。
在上述技术方案的基础上,以该类下行报文的五元组初次建立有效连接时对应的系统时间为起始时间,并根据实时统计的该类下行报文流量,实时计算该类下行报文的速率并判断其是否达到阈值,若是,则执行步骤S22;若否,则执行步骤S23,具体包括:
S211.判断当前待转发的报文的五元组是否是首次成为有效连接,若是,则将该类下行报文流量初始化为0,并将对应的系统时间作为起始时间,然后执行步骤S213;若否,则执行步骤S212;
S212.判断当前待转发的报文的五元组是否是有效连接,若否,则采用CPU转发;若是,则执行步骤S213;
S213.判断当前待转发的报文是否是该类下行报文,若否,则采用CPU转发;若是,则执行步骤S214;
S214.对该类下行报文流量进行累加;
S215.判断该类下行报文流量大小是否达到预设的阈值,若否,则采用CPU转发;若是,则执行步骤S216;
S216.计算该类下行报文流量达到预设的阈值时对应的系统时间与起始时间的差值Δt;
S217.判断Δt是否在1秒内,若是,则执行步骤S22,若否,则执行步骤S23。
与此同时,本发明的目的在于提供一种数据快速转发的系统,其可以根据审计需求来选择合适的策略,从而既可以降低CPU的消耗,又能满足审计需求。
为达到以上目的,本发明采取的技术方案是:
一种数据快速转发的系统,包括:
转发策略选择模块,其根据审计模式选择是对具有相同五元组的一类下行报文的数量还是速率进行统计,并设置与数量和速率对应的阈值大小;
判断模块,其通过判断该类下行报文的数量或者下行报文的速率是否达到阈值来确定该类下行报文是采用CPU转发还是快速转发。
在上述技术方案的基础上,
当仅审计登录信息时,所述转发策略选择模块选择对该类下行报文的数量进行统计;
当需要全程审计时,所述转发策略选择模块选择对该类下行报文的速率进行统计。
在上述技术方案的基础上,当仅审计登录信息时,所述判断模块用于:
在当前待转发的报文不是该类下行报文时,驱使当前待转发的报文采用CPU转发;
或者,在当前待转发的报文是该类下行报文时,判断当前待转发的报文的五元组是否是有效连接;
在当前待转发的报文的五元组不是有效连接时,驱使当前待转发的报文采用CPU转发;
或者,在当前待转发的报文的五元组是有效连接时,该类下行报文的数量累加1,并判断该类下行报文累计的数量是否达到阈值;
在该类下行报文累计的数量未达到阈值时,驱使当前待转发的报文采用CPU转发;
或者,在该类下行报文累计的数量达到阈值时,驱使当前待转发的报文采用CPU转发,将该类下行报文设置为快速转发,使该类下行报文的后续报文采用快速转发。
在上述技术方案的基础上,当需要全程审计时,所述判断模块用于:
以该类下行报文的五元组初次建立有效连接时对应的系统时间为起始时间,并根据实时统计的该类下行报文流量,实时计算该类下行报文的速率并判断其是否达到阈值;
在该类下行报文的速率达到阈值时,驱使当前待转发的报文采用CPU转发,将该类下行报文设置为快速转发,使该类下行报文的后续报文采用快速转发;
或者,在该类下行报文的速率未达到阈值时,驱使当前待转发的报文采用CPU转发,将起始时间更新为当前系统时间,并将该类下行报文流量清零。
在上述技术方案的基础上,所述判断模块用于:
在当前待转发的报文不满足第一预设条件或第二预设条件时,驱使当前待转发的报文采用CPU转发,所述第一预设条件为:当前待转发的报文的五元组首次成为有效连接,且当前待转发的报文是该类下行报文;所述第二预设条件为:当前待转发的报文的五元组为有效连接但非首次,且当前待转发的报文是该类下行报文;
或者,在当前待转发的报文满足第一预设条件或第二预设条件时,对该类下行报文流量进行累加,统计该类下行报文流量并判断该类下行报文流量是否达到预设的阈值,其中,当五元组首次成为有效连接时,还将该类下行报文流量初始化为0,并将对应的系统时间作为起始时间以记录;
在该类下行报文流量未达到预设的阈值时,驱使当前待转发的报文采用CPU转发;
或者,在该类下行报文流量达到预设的阈值时,计算该类下行报文流量达到预设的阈值时对应的系统时间与起始时间的差值Δt;
当Δt在一秒内时,驱使当前待转发的报文采用CPU转发,将该类下行报文设置为快速转发,使该类下行报文的后续报文采用快速转发;
或者,当Δt不在一秒内时,驱使当前待转发的报文采用CPU转发,将起始时间更新为该类下行报文流量达到预设的阈值时对应的系统时间,将该类下行报文流量清零。
与现有技术相比,本发明的优点在于:
本发明中的数据快速转发的方法,其可以根据审计需求合理的选择对应的策略,即当仅审计登录信息时,选择对下行报文的数量进行统计;当需要全程审计时,选择对下行报文的速率进行统计。这样一来,当仅审计登录信息时,可以保证小速率的报文也可以进入快速转发,降低CPU消耗;另一方面,可以保证需要审计的所有app操作均被审计到,另外保证音频、视频、下载等大速率应用会进入快速转发,从而也降低了CPU消耗。本发明适用于PON网关、机顶盒、融合终端、智能网关、路由器等网络设备,其可以根据审计需求来选择合适的策略,从而既可以降低CPU的消耗,兼顾转发性能,又能满足审计需求。
附图说明
图1为本发明实施例中当仅审计登录信息时的流程图;
图2为本发明实施例中当需要全程审计时的流程图;
图3为本发明实施例中步骤S21的流程图。
具体实施方式
以下结合附图及实施例对本发明作进一步详细说明。
本发明实施例提供一种数据快速转发的方法,该方法包括以下步骤:
根据审计模式选择是对具有相同五元组的一类下行报文的数量还是速率进行统计,并设置与数量和速率对应的阈值大小;
通过判断该类下行报文的数量或者下行报文的速率是否达到阈值来确定该类下行报文是采用CPU转发还是快速转发。
如何让对应的流量进入快速转发,一般的实现思路为,在满足了转发条件后,将IP五元组信息写入快速转发表项即可。为本领域公知常识。
具体而言,在本实施例中,当仅审计登录信息时,选择对该类(具有相同五元组的一类)下行报文的数量进行统计。因为在这种情形下,只需要采集app的登录操作,采用对该类下行报文的数量进行统计的策略,可以保证小速率的报文也可以进入快速转发,降低CPU消耗。
通常来说,具体的做法是:结合需要审计的app,抓包确认其登录操作会在某一类五元组交互的前N个报文(N为统计值)完成,将N作为一个预设的初始值,并适当放大这个值作为审计的阈值,可保证登录信息被审计到。这样通过该方案可将五元组的N个下行报文(包括在此期间的所有上行报文)经过CPU转发后,同类的五元组的后续报文都会经过快速转发,进而降低的CPU消耗。
当需要全程审计时,选择对该类下行报文的速率进行统计。因为在这种情形下,需要采集app的所有操作,采用该类对下行报文的速率进行统计的策略,可以保证需要审计的所有app操作均被审计到,另外保证音频、视频、下载等大速率应用会进入快速转发。
通常来说,具体的做法是:同样结合需要审计的app,抓包计算其下行报文速率,并将这个速率适当放大,作为限制的阈值。目前需要审计的app均为占用带宽小的app。而占用带宽较大的app,如下载,高清视频等,通过该方案,将它们剔除出审计的范畴,保证了大带宽的应用,通过快速转发,降低CPU消耗。
而且,一般来说通过快速转发的报文,既可以降低CPU消耗,同时也会提高转发性能。
数据包进入nf_conntrack_core模块;用户的上网行为最终都会变成一组组TCP或UDP流经过设备转发,每一组TCP或UDP流都有其独有的五元组(指源IP地址,源端口,目的IP地址,目的端口和传输层协议)特性,用户的上网行为通常会对应一组五元组或者多组五元组,而每一组五元组特性都会被Linux系统的nf_conntrack_core模块记录,它主要用来实现NAT(Network Address Translation,网络地址转换)功能。然后,再根据是仅审计登录信息还是需要全程审计来选择合适的策略。
下面对下行报文的数量进行统计的策略和对下行报文的速率进行统计的策略的步骤做出详细介绍。
参见图1所示,当仅审计登录信息时,通过判断该类下行报文的数量是否达到阈值来确定该类下行报文是采用CPU转发还是快速转发,具体包括:
S11.判断当前待转发的报文是否是该类下行报文,若否,则执行步骤S15;若是,则执行步骤S12;
判断当前待转发的报文是否是该类下行报文,主要是在nf_conn结构体中,由nf_conn->tuple.dst.dir变量记录该报文是上行报文(IP_CT_DIR_ORIGINAL)还是下行报文(IP_CT_DIR_REPLY)来进行判断。
S12.判断当前待转发的报文的五元组是否是有效连接,若否,则执行步骤S15;若是,则执行步骤S13;
在内核nf_conntrack_core模块中,每个五元组连接的基本信息都会记录到nf_conn结构体中,在此结构体中,nf_conn->status字段会记录当前五元组的状态,该状态为IPS_ASSURED_BIT时,为有效连接。
S13.该类下行报文的数量累加1;
S14.判断该类下行报文累计的数量是否达到阈值,若否,则执行步骤S15;若是,则执行步骤S16;
这里该类下行报文数量的阈值可以根据CPU的处理能力和报文的实际内容而定。
S15.当前待转发的报文采用CPU转发;
采用CPU转发即为可以按Linux原生协议栈转发流程处理。
S16.当前待转发的报文采用CPU转发,将该类下行报文设置为快速转发,使该类下行报文的后续报文采用快速转发。
将该类下行报文设置为快速转发有多种实现方式,在快速转发表中设置该类下行报文的匹配条目即可。
比如通过快速转发表提供的设置接口,将该类下行报文的五元组写入快速转发表中来实现;
也可在该类下行报文累计的数量达到阈值时,在对应的那个当前待转发的报文上打上快速转发标记,当这个打上快速转发标记的报文在转发时,可以自动被芯片学习到并直接将该类下行报文的五元组写入快速转发表中。
在经过步骤S11至S16后,便完成了对该类下行报文的一个数据包报文的处理流程,并记录数量信息。然后重复步骤S11至S16,再对该类下行报文的另一个数据包报文进行处理,直到该类下行报文累计的数量达到阈值后,对该类下行报文的后续数据包报文采用快速转发。
此外,在步骤S16中,因为该类下行报文的后续报文采用快速转发,不再进过CPU转发了,对应的该类下行报文的状态维护资源需释放掉,比如维护存放该类下行报文的数量的相关资源,为本领域公知常识,不再赘述。
参见图2所示,当需要全程审计时,通过判断该类下行报文的速率是否达到阈值来确定该类下行报文是采用CPU转发还是快速转发,具体包括:
S21.以该类下行报文的五元组初次建立有效连接时对应的系统时间为起始时间,并根据实时统计的该类下行报文流量,实时计算该类下行报文的速率并判断其是否达到阈值,若是,则执行步骤S22;若否,则执行步骤S23;
S22.当前待转发的报文采用CPU转发,将该类下行报文设置为快速转,使该类下行报文的后续报文采用快速转发;
和选择对该类下行报文的数量进行统计一样,将该类下行报文设置为快速转发有多种实现方式,在快速转发表中设置该类下行报文的匹配条目即可。
比如通过快速转发表提供的设置接口,将该类下行报文的五元组写入快速转发表中来实现;
也可在该类下行报文流量达到阈值时,在对应的那个当前待转发的报文上打上快速转发标记,当这个打上快速转发标记的报文在转发时,可以自动被芯片学习到并直接将该类下行报文的五元组写入快速转发表中。
此外,在步骤S16中,因为该类下行报文的后续报文采用快速转发,不再进过CPU转发了,对应的该类下行报文的状态维护资源需释放掉,比如维护存放该类下行报文的流量、起始时间的相关资源,为本领域公知常识,不再赘述。
S23.当前待转发的报文采用CPU转发,将起始时间更新为当前系统时间,并将该类下行报文流量清零。
参见图3所示,作为一个较好的实施方式,以该类下行报文的五元组初次建立有效连接时对应的系统时间为起始时间,并根据实时统计的该类下行报文流量,实时计算该类下行报文的速率并判断其是否达到阈值,若是,则执行步骤S22;若否,则执行步骤S23,具体包括:
S211.判断当前待转发的报文的五元组是否是首次成为有效连接,若是,则将该类下行报文流量初始化为0,并将对应的系统时间作为起始时间,然后执行步骤S213;若否,则执行步骤S212;
报文来到nf_conntrack_core模块处理时,通过判断nf_conn->status的状态,如果首次成为IPS_ASSURED_BIT状态,则为首次有效连接。
此步骤主要是确定是否是首次,若是首次成为有效连接,则需要对系统时间进行记录,并将该类下行报文流量初始化为0,便于后续判断该类下行报文流量是否达到预设的阈值。
S212.判断当前待转发的报文的五元组是否是有效连接,若否,则采用CPU转发;若是,则执行步骤S213;
S213.判断当前待转发的报文是否是该类下行报文,若否,则采用CPU转发;若是,则执行步骤S214;
S214.对该类下行报文流量进行累加;
S215.判断该类下行报文流量大小是否达到预设的阈值,若否,则采用CPU转发;若是,则执行步骤S216;
S216.计算该类下行报文流量达到预设的阈值时对应的系统时间与起始时间的差值Δt;
本实施例中是通过jiffies来记录该类下行报文流量达到预设的阈值时对应的系统时间与起始时间的。jiffies记录了系统启动以来,经过了多少tick。一个tick具体代表的时长,在内核的CONFIG_HZ中定义。比如CONFIG_HZ=200,则一个jiffies对应5ms时间,也即内核基于jiffies的定时器精度是5ms。
S217.判断Δt是否在1秒内,若是,则执行步骤S22,若否,则执行步骤S23。
这里Δt为1意味着下行报文流量和下行报文的速率在大小上相同,以便于计算。
在经过步骤S211至S217后,便完成了对该类下行报文的一个数据包报文的处理流程,并记录流量信息。然后重复步骤S211至S217,再对该类下行报文的另一个数据包报文进行处理,直到该类下行报文的速率达到阈值后,对该类下行报文的后续数据包报文采用快速转发。
综上所述,本发明中的数据快速转发的方法,其可以根据审计需求合理的选择对应的策略,即当仅审计登录信息时,选择对下行报文的数量进行统计;当需要全程审计时,选择对下行报文的速率进行统计。这样一来,当仅审计登录信息时,可以保证小速率的报文也可以进入快速转发,降低CPU消耗;另一方面,可以保证需要审计的所有app操作均被审计到,另外保证音频、视频、下载等大速率应用会进入快速转发,从而也降低了CPU消耗。
本发明实施例提供一种数据快速转发的系统,其包括转发策略选择模块和判断模块。
其中,转发策略选择模块,其根据审计模式选择是对具有相同五元组的一类下行报文的数量还是速率进行统计,并设置与数量和速率对应的阈值大小;
判断模块,其通过判断该类下行报文的数量或者下行报文的速率是否达到阈值来确定该类下行报文是采用CPU转发还是快速转发。
进一步地,当仅审计登录信息时,所述转发策略选择模块选择对该类下行报文的数量进行统计;
当需要全程审计时,所述转发策略选择模块选择对该类下行报文的速率进行统计。
具体而言,当仅审计登录信息时,所述判断模块用于:
在当前待转发的报文不是该类下行报文时,驱使当前待转发的报文采用CPU转发;
或者,在当前待转发的报文是该类下行报文时,判断当前待转发的报文的五元组是否是有效连接;
在当前待转发的报文的五元组不是有效连接时,驱使当前待转发的报文采用CPU转发;
或者,在当前待转发的报文的五元组是有效连接时,该类下行报文的数量累加1,并判断该类下行报文累计的数量是否达到阈值;
在该类下行报文累计的数量未达到阈值时,驱使当前待转发的报文采用CPU转发;
或者,在该类下行报文累计的数量达到阈值时,驱使当前待转发的报文采用CPU转发,将该类下行报文设置为快速转发,使该类下行报文的后续报文采用快速转发。
当需要全程审计时,所述判断模块用于:
以该类下行报文的五元组初次建立有效连接时对应的系统时间为起始时间,并根据实时统计的该类下行报文流量,实时计算该类下行报文的速率并判断其是否达到阈值;
在该类下行报文的速率达到阈值时,驱使当前待转发的报文采用CPU转发,将该类下行报文设置为快速转发,使该类下行报文的后续报文采用快速转发;
或者,在该类下行报文的速率未达到阈值时,驱使当前待转发的报文采用CPU转发,将起始时间更新为当前系统时间,并将该类下行报文流量清零。
作为一个较好的实施方式,为了实现以该类下行报文的五元组初次建立有效连接时对应的系统时间为起始时间,并根据实时统计的该类下行报文流量,实时计算该类下行报文的速率并判断其是否达到阈值,所述判断模块还用于:
在当前待转发的报文不满足第一预设条件或第二预设条件时,驱使当前待转发的报文采用CPU转发,所述第一预设条件为:当前待转发的报文的五元组首次成为有效连接,且当前待转发的报文是该类下行报文;所述第二预设条件为:当前待转发的报文的五元组为有效连接但非首次,且当前待转发的报文是该类下行报文;
或者,在当前待转发的报文满足第一预设条件或第二预设条件时,对该类下行报文流量进行累加,统计该类下行报文流量并判断该类下行报文流量是否达到预设的阈值,其中,当五元组首次成为有效连接时,还将该类下行报文流量初始化为0,并将对应的系统时间作为起始时间以记录;
在该类下行报文流量未达到预设的阈值时,驱使当前待转发的报文采用CPU转发;
或者,在该类下行报文流量达到预设的阈值时,计算该类下行报文流量达到预设的阈值时对应的系统时间与起始时间的差值Δt;
当Δt在一秒内时,驱使当前待转发的报文采用CPU转发,将该类下行报文设置为快速转发,使该类下行报文的后续报文采用快速转发;
或者,当Δt不在一秒内时,驱使当前待转发的报文采用CPU转发,将起始时间更新为该类下行报文流量达到预设的阈值时对应的系统时间,将该类下行报文流量清零。
本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。
Claims (8)
1.一种数据快速转发的方法,其特征在于,该方法包括以下步骤:
根据审计模式选择是对具有相同五元组的一类下行报文的数量还是速率进行统计,并设置与数量和速率对应的阈值大小,其中,所述审计模式包括仅审计登录信息和全程审计,当仅审计登录信息时,选择对该类下行报文的数量进行统计,当需要全程审计时,选择对该类下行报文的速率进行统计;
通过判断该类下行报文的数量或者下行报文的速率是否达到阈值来确定该类下行报文是采用CPU转发还是快速转发。
2.如权利要求1所述的一种数据快速转发的方法,其特征在于,当仅审计登录信息时,通过判断该类下行报文的数量是否达到阈值来确定该类下行报文是采用CPU转发还是快速转发,具体包括:
S11.判断当前待转发的报文是否是该类下行报文,若否,则执行步骤S15;若是,则执行步骤S12;
S12.判断当前待转发的报文的五元组是否是有效连接,若否,则执行步骤S15;若是,则执行步骤S13;
S13.该类下行报文的数量累加1;
S14.判断该类下行报文累计的数量是否达到阈值,若否,则执行步骤S15;若是,则执行步骤S16;
S15.当前待转发的报文采用CPU转发;
S16.当前待转发的报文采用CPU转发,将该类下行报文设置为快速转发,使该类下行报文的后续报文采用快速转发。
3.如权利要求1所述的一种数据快速转发的方法,其特征在于,当需要全程审计时,通过判断该类下行报文的速率是否达到阈值来确定该类下行报文是采用CPU转发还是快速转发,具体包括:
S21.以该类下行报文的五元组初次建立有效连接时对应的系统时间为起始时间,并根据实时统计的该类下行报文流量,实时计算该类下行报文的速率并判断其是否达到阈值,若是,则执行步骤S22;若否,则执行步骤S23;
S22.当前待转发的报文采用CPU转发,将该类下行报文设置为快速转发,使该类下行报文的后续报文采用快速转发;
S23.当前待转发的报文采用CPU转发,将起始时间更新为当前系统时间,并将该类下行报文流量清零。
4.如权利要求3所述的一种数据快速转发的方法,其特征在于,以该类下行报文的五元组初次建立有效连接时对应的系统时间为起始时间,并根据实时统计的该类下行报文流量,实时计算该类下行报文的速率并判断其是否达到阈值,若是,则执行步骤S22;若否,则执行步骤S23,具体包括:
S211.判断当前待转发的报文的五元组是否是首次成为有效连接,若是,则将该类下行报文流量初始化为0,并将对应的系统时间作为起始时间,然后执行步骤S213;若否,则执行步骤S212;
S212.判断当前待转发的报文的五元组是否是有效连接,若否,则采用CPU转发;若是,则执行步骤S213;
S213.判断当前待转发的报文是否是该类下行报文,若否,则采用CPU转发;若是,则执行步骤S214;
S214.对该类下行报文流量进行累加;
S215.判断该类下行报文流量大小是否达到预设的阈值,若否,则采用CPU转发;若是,则执行步骤S216;
S216.计算该类下行报文流量达到预设的阈值时对应的系统时间与起始时间的差值Δt;
S217.判断Δt是否在1秒内,若是,则执行步骤S22,若否,则执行步骤S23。
5.一种数据快速转发的系统,其特征在于,包括:
转发策略选择模块,其根据审计模式选择是对具有相同五元组的一类下行报文的数量还是速率进行统计,并设置与数量和速率对应的阈值大小,其中,所述审计模式包括仅审计登录信息和全程审计,当仅审计登录信息时,选择对该类下行报文的数量进行统计,当需要全程审计时,选择对该类下行报文的速率进行统计;
判断模块,其通过判断该类下行报文的数量或者下行报文的速率是否达到阈值来确定该类下行报文是采用CPU转发还是快速转发。
6.如权利要求5所述的系统,其特征在于,当仅审计登录信息时,所述判断模块用于:
在当前待转发的报文不是该类下行报文时,驱使当前待转发的报文采用CPU转发;
或者,在当前待转发的报文是该类下行报文时,判断当前待转发的报文的五元组是否是有效连接;
在当前待转发的报文的五元组不是有效连接时,驱使当前待转发的报文采用CPU转发;
或者,在当前待转发的报文的五元组是有效连接时,该类下行报文的数量累加1,并判断该类下行报文累计的数量是否达到阈值;
在该类下行报文累计的数量未达到阈值时,驱使当前待转发的报文采用CPU转发;
或者,在该类下行报文累计的数量达到阈值时,驱使当前待转发的报文采用CPU转发,将该类下行报文设置为快速转发,使该类下行报文的后续报文采用快速转发。
7.如权利要求5所述的系统,其特征在于,当需要全程审计时,所述判断模块用于:
以该类下行报文的五元组初次建立有效连接时对应的系统时间为起始时间,并根据实时统计的该类下行报文流量,实时计算该类下行报文的速率并判断其是否达到阈值;
在该类下行报文的速率达到阈值时,驱使当前待转发的报文采用CPU转发,将该类下行报文设置为快速转发,使该类下行报文的后续报文采用快速转发;
或者,在该类下行报文的速率未达到阈值时,驱使当前待转发的报文采用CPU转发,将起始时间更新为当前系统时间,并将该类下行报文流量清零。
8.如权利要求7所述的系统,其特征在于,所述判断模块用于:
在当前待转发的报文不满足第一预设条件或第二预设条件时,驱使当前待转发的报文采用CPU转发,所述第一预设条件为:当前待转发的报文的五元组首次成为有效连接,且当前待转发的报文是该类下行报文;所述第二预设条件为:当前待转发的报文的五元组为有效连接但非首次,且当前待转发的报文是该类下行报文;
或者,在当前待转发的报文满足第一预设条件或第二预设条件时,对该类下行报文流量进行累加,统计该类下行报文流量并判断该类下行报文流量是否达到预设的阈值,其中,当五元组首次成为有效连接时,还将该类下行报文流量初始化为0,并将对应的系统时间作为起始时间以记录;
在该类下行报文流量未达到预设的阈值时,驱使当前待转发的报文采用CPU转发;
或者,在该类下行报文流量达到预设的阈值时,计算该类下行报文流量达到预设的阈值时对应的系统时间与起始时间的差值Δt;
当Δt在一秒内时,驱使当前待转发的报文采用CPU转发,将该类下行报文设置为快速转发,使该类下行报文的后续报文采用快速转发;
或者,当Δt不在一秒内时,驱使当前待转发的报文采用CPU转发,将起始时间更新为该类下行报文流量达到预设的阈值时对应的系统时间,将该类下行报文流量清零。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910377787.6A CN110224932B (zh) | 2019-05-06 | 2019-05-06 | 一种数据快速转发的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910377787.6A CN110224932B (zh) | 2019-05-06 | 2019-05-06 | 一种数据快速转发的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110224932A CN110224932A (zh) | 2019-09-10 |
CN110224932B true CN110224932B (zh) | 2021-06-15 |
Family
ID=67820854
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910377787.6A Active CN110224932B (zh) | 2019-05-06 | 2019-05-06 | 一种数据快速转发的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110224932B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113037879A (zh) * | 2019-12-24 | 2021-06-25 | 中兴通讯股份有限公司 | Arp学习方法和节点设备 |
CN113132273B (zh) * | 2019-12-30 | 2024-04-12 | 华为技术有限公司 | 一种数据转发方法及装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102420772A (zh) * | 2011-12-31 | 2012-04-18 | 杭州华三通信技术有限公司 | 隧道报文收发方法和装置 |
CN103220219A (zh) * | 2013-04-16 | 2013-07-24 | 杭州华三通信技术有限公司 | 一种报文转发方法和设备 |
CN103326941A (zh) * | 2013-05-24 | 2013-09-25 | 武汉烽火网络有限责任公司 | 路由器对ip报文的快速转发方法 |
CN103347014A (zh) * | 2013-06-25 | 2013-10-09 | 深圳市共进电子股份有限公司 | 网络快速转发模块及网络快速转发实现方法 |
CN103647716A (zh) * | 2013-11-22 | 2014-03-19 | 上海斐讯数据通信技术有限公司 | 一种数据包快速转发方法及装置 |
CN102624628B (zh) * | 2012-03-22 | 2016-12-14 | 深圳市共进电子股份有限公司 | 一种家庭网关及其实现数据包快速转发的方法 |
CN109474525A (zh) * | 2018-12-17 | 2019-03-15 | 杭州迪普科技股份有限公司 | 报文的处理方法、装置、设备及可读存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070183416A1 (en) * | 2006-02-07 | 2007-08-09 | Mark Gooch | Per-port penalty queue system for re-prioritization of network traffic sent to a processor |
CN106789617B (zh) * | 2016-12-22 | 2020-03-06 | 东软集团股份有限公司 | 一种报文转发方法及装置 |
-
2019
- 2019-05-06 CN CN201910377787.6A patent/CN110224932B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102420772A (zh) * | 2011-12-31 | 2012-04-18 | 杭州华三通信技术有限公司 | 隧道报文收发方法和装置 |
CN102624628B (zh) * | 2012-03-22 | 2016-12-14 | 深圳市共进电子股份有限公司 | 一种家庭网关及其实现数据包快速转发的方法 |
CN103220219A (zh) * | 2013-04-16 | 2013-07-24 | 杭州华三通信技术有限公司 | 一种报文转发方法和设备 |
CN103326941A (zh) * | 2013-05-24 | 2013-09-25 | 武汉烽火网络有限责任公司 | 路由器对ip报文的快速转发方法 |
CN103347014A (zh) * | 2013-06-25 | 2013-10-09 | 深圳市共进电子股份有限公司 | 网络快速转发模块及网络快速转发实现方法 |
CN103647716A (zh) * | 2013-11-22 | 2014-03-19 | 上海斐讯数据通信技术有限公司 | 一种数据包快速转发方法及装置 |
CN109474525A (zh) * | 2018-12-17 | 2019-03-15 | 杭州迪普科技股份有限公司 | 报文的处理方法、装置、设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110224932A (zh) | 2019-09-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10735325B1 (en) | Congestion avoidance in multipath routed flows | |
US7610330B1 (en) | Multi-dimensional computation distribution in a packet processing device having multiple processing architecture | |
US9356844B2 (en) | Efficient application recognition in network traffic | |
WO2015074324A1 (zh) | 一种数据包快速转发方法及装置 | |
US20170111272A1 (en) | Determining Direction of Network Sessions | |
US8320249B2 (en) | Method and system for controlling network access on a per-flow basis | |
US20120079478A1 (en) | Network Interface Controller for Virtual and Distributed Services | |
US9882904B2 (en) | System and method for filtering network traffic | |
US9590922B2 (en) | Programmable and high performance switch for data center networks | |
CN109873768B (zh) | 更新转发表的方法、硬件加速器、ovs和服务器 | |
CN104994016B (zh) | 用于分组分类的方法和装置 | |
CN110166480B (zh) | 一种数据包的分析方法及装置 | |
WO2021128927A1 (zh) | 报文的处理方法及装置、存储介质和电子装置 | |
WO2015131597A1 (zh) | 一种实现流量分析的方法及装置 | |
JP2017046149A (ja) | 通信装置 | |
CN110224932B (zh) | 一种数据快速转发的方法及系统 | |
US10944695B2 (en) | Uplink port oversubscription determination | |
KR101494565B1 (ko) | 네트워크 시스템, 패킷 처리 방법 및 기억 매체 | |
KR101292873B1 (ko) | 네트워크 인터페이스 카드장치 및 상기 네트워크 인터페이스 카드장치를 이용한 트래픽 처리 방법 | |
JP6783501B2 (ja) | 情報伝送システム、情報通信装置、情報伝送装置、及びプログラム | |
WO2019096104A1 (zh) | 攻击防范 | |
CN107147585B (zh) | 一种流量控制方法及装置 | |
CN111262782B (zh) | 一种报文处理方法、装置及设备 | |
US11838197B2 (en) | Methods and system for securing a SDN controller from denial of service attack | |
WO2017063578A1 (zh) | 数据报文处理方法及装置 |
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 |