CN110224932A - 一种数据快速转发的方法及系统 - Google Patents

一种数据快速转发的方法及系统 Download PDF

Info

Publication number
CN110224932A
CN110224932A CN201910377787.6A CN201910377787A CN110224932A CN 110224932 A CN110224932 A CN 110224932A CN 201910377787 A CN201910377787 A CN 201910377787A CN 110224932 A CN110224932 A CN 110224932A
Authority
CN
China
Prior art keywords
message
downlink message
forwarded
forwarding
downlink
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.)
Granted
Application number
CN201910377787.6A
Other languages
English (en)
Other versions
CN110224932B (zh
Inventor
黄文浩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fiberhome Telecommunication Technologies Co Ltd
Original Assignee
Fiberhome Telecommunication Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fiberhome Telecommunication Technologies Co Ltd filed Critical Fiberhome Telecommunication Technologies Co Ltd
Priority to CN201910377787.6A priority Critical patent/CN110224932B/zh
Publication of CN110224932A publication Critical patent/CN110224932A/zh
Application granted granted Critical
Publication of CN110224932B publication Critical patent/CN110224932B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/70Routing based on monitoring results
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

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 (10)

1.一种数据快速转发的方法,其特征在于,该方法包括以下步骤:
根据审计模式选择是对具有相同五元组的一类下行报文的数量还是速率进行统计,并设置与数量和速率对应的阈值大小;
通过判断该类下行报文的数量或者下行报文的速率是否达到阈值来确定该类下行报文是采用CPU转发还是快速转发。
2.如权利要求1所述的一种数据快速转发的方法,其特征在于,根据审计模式选择是对具有相同五元组的一类下行报文的数量还是速率进行统计,具体包括:
当仅审计登录信息时,选择对该类下行报文的数量进行统计;
当需要全程审计时,选择对该类下行报文的速率进行统计。
3.如权利要求2所述的一种数据快速转发的方法,其特征在于,当仅审计登录信息时,通过判断该类下行报文的数量是否达到阈值来确定该类下行报文是采用CPU转发还是快速转发,具体包括:
S11.判断当前待转发的报文是否是该类下行报文,若否,则执行步骤S15;若是,则执行步骤S12;
S12.判断当前待转发的报文的五元组是否是有效连接,若否,则执行步骤S15;若是,则执行步骤S13;
S13.该类下行报文的数量累加1;
S14.判断该类下行报文累计的数量是否达到阈值,若否,则执行步骤S15;若是,则执行步骤S16;
S15.当前待转发的报文采用CPU转发;
S16.当前待转发的报文采用CPU转发,将该类下行报文设置为快速转发,使该类下行报文的后续报文采用快速转发。
4.如权利要求2所述的一种数据快速转发的方法,其特征在于,当需要全程审计时,通过判断该类下行报文的速率是否达到阈值来确定该类下行报文是采用CPU转发还是快速转发,具体包括:
S21.以该类下行报文的五元组初次建立有效连接时对应的系统时间为起始时间,并根据实时统计的该类下行报文流量,实时计算该类下行报文的速率并判断其是否达到阈值,若是,则执行步骤S22;若否,则执行步骤S23;
S22.当前待转发的报文采用CPU转发,将该类下行报文设置为快速转发,使该类下行报文的后续报文采用快速转发;
S23.当前待转发的报文采用CPU转发,将起始时间更新为当前系统时间,并将该类下行报文流量清零。
5.如权利要求4所述的一种数据快速转发的方法,其特征在于,以该类下行报文的五元组初次建立有效连接时对应的系统时间为起始时间,并根据实时统计的该类下行报文流量,实时计算该类下行报文的速率并判断其是否达到阈值,若是,则执行步骤S22;若否,则执行步骤S23,具体包括:
S211.判断当前待转发的报文的五元组是否是首次成为有效连接,若是,则将该类下行报文流量初始化为0,并将对应的系统时间作为起始时间,然后执行步骤S213;若否,则执行步骤S212;
S212.判断当前待转发的报文的五元组是否是有效连接,若否,则采用CPU转发;若是,则执行步骤S213;
S213.判断当前待转发的报文是否是该类下行报文,若否,则采用CPU转发;若是,则执行步骤S214;
S214.对该类下行报文流量进行累加;
S215.判断该类下行报文流量大小是否达到预设的阈值,若否,则采用CPU转发;若是,则执行步骤S216;
S216.计算该类下行报文流量达到预设的阈值时对应的系统时间与起始时间的差值Δt;
S217.判断Δt是否在1秒内,若是,则执行步骤S22,若否,则执行步骤S23。
6.一种数据快速转发的系统,其特征在于,包括:
转发策略选择模块,其根据审计模式选择是对具有相同五元组的一类下行报文的数量还是速率进行统计,并设置与数量和速率对应的阈值大小;
判断模块,其通过判断该类下行报文的数量或者下行报文的速率是否达到阈值来确定该类下行报文是采用CPU转发还是快速转发。
7.如权利要求6所述的系统,其特征在于,
当仅审计登录信息时,所述转发策略选择模块选择对该类下行报文的数量进行统计;
当需要全程审计时,所述转发策略选择模块选择对该类下行报文的速率进行统计。
8.如权利要求7所述的系统,其特征在于,当仅审计登录信息时,所述判断模块用于:
在当前待转发的报文不是该类下行报文时,驱使当前待转发的报文采用CPU转发;
或者,在当前待转发的报文是该类下行报文时,判断当前待转发的报文的五元组是否是有效连接;
在当前待转发的报文的五元组不是有效连接时,驱使当前待转发的报文采用CPU转发;
或者,在当前待转发的报文的五元组是有效连接时,该类下行报文的数量累加1,并判断该类下行报文累计的数量是否达到阈值;
在该类下行报文累计的数量未达到阈值时,驱使当前待转发的报文采用CPU转发;
或者,在该类下行报文累计的数量达到阈值时,驱使当前待转发的报文采用CPU转发,将该类下行报文设置为快速转发,使该类下行报文的后续报文采用快速转发。
9.如权利要求7所述的系统,其特征在于,当需要全程审计时,所述判断模块用于:
以该类下行报文的五元组初次建立有效连接时对应的系统时间为起始时间,并根据实时统计的该类下行报文流量,实时计算该类下行报文的速率并判断其是否达到阈值;
在该类下行报文的速率达到阈值时,驱使当前待转发的报文采用CPU转发,将该类下行报文设置为快速转发,使该类下行报文的后续报文采用快速转发;
或者,在该类下行报文的速率未达到阈值时,驱使当前待转发的报文采用CPU转发,将起始时间更新为当前系统时间,并将该类下行报文流量清零。
10.如权利要求9所述的系统,其特征在于,所述判断模块用于:
在当前待转发的报文不满足第一预设条件或第二预设条件时,驱使当前待转发的报文采用CPU转发,所述第一预设条件为:当前待转发的报文的五元组首次成为有效连接,且当前待转发的报文是该类下行报文;所述第二预设条件为:当前待转发的报文的五元组为有效连接但非首次,且当前待转发的报文是该类下行报文;
或者,在当前待转发的报文满足第一预设条件或第二预设条件时,对该类下行报文流量进行累加,统计该类下行报文流量并判断该类下行报文流量是否达到预设的阈值,其中,当五元组首次成为有效连接时,还将该类下行报文流量初始化为0,并将对应的系统时间作为起始时间以记录;
在该类下行报文流量未达到预设的阈值时,驱使当前待转发的报文采用CPU转发;
或者,在该类下行报文流量达到预设的阈值时,计算该类下行报文流量达到预设的阈值时对应的系统时间与起始时间的差值Δt;
当Δt在一秒内时,驱使当前待转发的报文采用CPU转发,将该类下行报文设置为快速转发,使该类下行报文的后续报文采用快速转发;
或者,当Δt不在一秒内时,驱使当前待转发的报文采用CPU转发,将起始时间更新为该类下行报文流量达到预设的阈值时对应的系统时间,将该类下行报文流量清零。
CN201910377787.6A 2019-05-06 2019-05-06 一种数据快速转发的方法及系统 Active CN110224932B (zh)

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 true CN110224932A (zh) 2019-09-10
CN110224932B 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)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113037879A (zh) * 2019-12-24 2021-06-25 中兴通讯股份有限公司 Arp学习方法和节点设备
CN113132273A (zh) * 2019-12-30 2021-07-16 华为技术有限公司 一种数据转发方法及装置

Citations (9)

* Cited by examiner, † Cited by third party
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
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 深圳市共进电子股份有限公司 一种家庭网关及其实现数据包快速转发的方法
CN106789617A (zh) * 2016-12-22 2017-05-31 东软集团股份有限公司 一种报文转发方法及装置
CN109474525A (zh) * 2018-12-17 2019-03-15 杭州迪普科技股份有限公司 报文的处理方法、装置、设备及可读存储介质

Patent Citations (9)

* Cited by examiner, † Cited by third party
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
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 上海斐讯数据通信技术有限公司 一种数据包快速转发方法及装置
CN106789617A (zh) * 2016-12-22 2017-05-31 东软集团股份有限公司 一种报文转发方法及装置
CN109474525A (zh) * 2018-12-17 2019-03-15 杭州迪普科技股份有限公司 报文的处理方法、装置、设备及可读存储介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113037879A (zh) * 2019-12-24 2021-06-25 中兴通讯股份有限公司 Arp学习方法和节点设备
CN113132273A (zh) * 2019-12-30 2021-07-16 华为技术有限公司 一种数据转发方法及装置
CN113132273B (zh) * 2019-12-30 2024-04-12 华为技术有限公司 一种数据转发方法及装置

Also Published As

Publication number Publication date
CN110224932B (zh) 2021-06-15

Similar Documents

Publication Publication Date Title
Phaal et al. InMon corporation's sFlow: A method for monitoring traffic in switched and routed networks
CN109348171B (zh) 一种视联网监控视频获取方法及装置
CN106027412B (zh) 一种基于拥塞队列长度的tcp拥塞控制方法
WO2015074324A1 (zh) 一种数据包快速转发方法及装置
WO2017167029A1 (zh) 一种统计流量的控制方法、装置和系统
CN108965040B (zh) 一种视联网的业务监控方法和装置
CN108989078B (zh) 一种视联网中节点设备故障检测方法和装置
CN106101015A (zh) 一种移动互联网流量类别标记方法和系统
CN103166866A (zh) 生成表项的方法、接收报文的方法及相应装置和系统
CN107196776A (zh) 一种报文转发的方法和装置
CN110392044B (zh) 一种基于视联网的信息传输方法及装置
CN102201990B (zh) 一种用于自治网络的业务控制方法及系统
CN110224932A (zh) 一种数据快速转发的方法及系统
CN110474721A (zh) 视频数据传输方法、装置及计算机可读存储介质
CN103746928A (zh) 利用访问控制列表控制流量的方法和系统
CN108289125A (zh) 基于流式处理的tcp会话重组与统计数据提取方法
CN102571946A (zh) 一种基于对等网络的协议识别与控制系统的实现方法
CN110572698B (zh) 一种统计巡检和监控播放记录的方法、装置、设备、介质
CN111211936B (zh) 一种基于网络状态的数据处理方法和装置
CN111224889A (zh) 一种数据传输的方法和装置
CN107592554A (zh) 直播视频转发方法及装置
CN105262682B (zh) 一种用于电力数据通信的软件定义网络系统及其流量疏导方法
CN104283741B (zh) 精确检测大流老化的方法及装置
CN109218540A (zh) 一种基于软交换的接入层嵌入式ip录音方法及系统
CN109121017B (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