CN113595936B - 流量监管方法、网关设备和存储介质 - Google Patents
流量监管方法、网关设备和存储介质 Download PDFInfo
- Publication number
- CN113595936B CN113595936B CN202110885890.9A CN202110885890A CN113595936B CN 113595936 B CN113595936 B CN 113595936B CN 202110885890 A CN202110885890 A CN 202110885890A CN 113595936 B CN113595936 B CN 113595936B
- Authority
- CN
- China
- Prior art keywords
- flow
- traffic
- target
- gateway device
- hardware
- 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
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3009—Header conversion, routing tables or routing tags
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/66—Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
-
- 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
- H04L49/00—Packet switching elements
- H04L49/70—Virtual switches
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
本发明涉及通信技术领域,提供一种流量监管方法、网关设备和存储介质。所述流量监管方法包括:网关设备根据流表自接收到的流量中筛选出目标流量;所述网关设备为所述目标流量添加至少一种标记;所述网关设备统计携带所述标记的由所述网关设备进行硬件转发的第一流量数据,并统计由所述网关设备进行软件转发的第二流量数据;根据所述第一流量数据和所述第二流量数据,获得每种所述标记对应的流量统计结果。本发明能够通过标记统计出硬件转发流的流量数据,实现对网关设备的全面流量统计;并能够实现对硬件转发流的灵活调度,使对网关设备的流量监管控制更加精细和灵活。
Description
技术领域
本发明涉及通信技术领域,具体地说,涉及一种流量监管方法、网关设备和存储介质。
背景技术
软件定义网络(Software Defined Network,简称SDN)技术能够实现转发控制分离,通过Open Flow(一种通信协议)流表实现流量的灵活控制。
基于SDN技术,采用Open Flow流表的网关设备,能够实现网络之间流量的灵活转发。但是,由于网关设备在转发流量时有硬件转发和软件转发,软件转发的流量能够被上层的应用统计到,而硬件转发的流量无法被上层的应用统计到,导致对网关设备的流量统计不全面,也无法对网关设备的硬件转发流量进行精细调度。
需要说明的是,上述背景技术部分公开的信息仅用于加强对本发明的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
有鉴于此,本发明提供一种流量监管方法、网关设备和存储介质,能够通过标记统计出硬件转发流的流量数据,实现对网关设备的全面流量统计;并能够实现对硬件转发流的灵活调度,使对网关设备的流量监管控制更加精细和灵活。
本发明的一个方面提供一种流量监管方法,包括:网关设备根据流表自接收到的流量中筛选出目标流量;所述网关设备为所述目标流量添加至少一种标记;所述网关设备统计携带所述标记的由所述网关设备进行硬件转发的第一流量数据,并统计由所述网关设备进行软件转发的第二流量数据;根据所述第一流量数据和所述第二流量数据,获得每种所述标记对应的流量统计结果。
在一些实施例中,所述网关设备为所述目标流量添加至少一种标记,包括:所述网关设备的虚拟交换模块获取执行操作中配置的执行语句,所述执行语句指示为内核数据结构的至少一个目标字段添加对应的标记;所述虚拟交换模块根据所述执行语句,为每个所述目标字段指向的目标流量添加对应的所述标记。
在一些实施例中,所述虚拟交换模块基于开放虚拟交换标准Open vSwitch,所述流表基于Open Flow协议,所述内核数据结构为套接字缓存sk_buff结构。
在一些实施例中,每种所述标记与所述网关设备的限速Meter表的一流标识对应;所述流量监管方法还包括:所述网关设备根据所述流表将所述目标流量区分为待硬件转发的目标流量和待软件转发的目标流量;所述网关设备基于所述待硬件转发的目标流量的标记对应的流标识的限速参数,对所述待硬件转发的目标流量进行硬件转发,且所述网关设备基于所述待软件转发的目标流量的标记对应的流标识的限速参数,对所述待软件转发的目标流量进行软件转发。
在一些实施例中,所述网关设备统计携带所述标记的由所述网关设备进行硬件转发的第一流量数据,包括:所述网关设备的硬件驱动模块自由所述网关设备进行硬件转发的流量中,识别出携带所述标记的目标流量;所述硬件驱动模块统计识别出的所述目标流量的流量数据,形成所述第一流量数据。
在一些实施例中,所述硬件驱动模块为所述网关设备的网卡驱动。
在一些实施例中,所述网关设备根据流表自接收到的流量中筛选出目标流量,包括:所述网关设备根据所述流表配置的匹配域,自所述接收到的流量中筛选出命中所述匹配域的流量,作为所述目标流量;所述网关设备对所述接收到的流量中未命中所述匹配域的流量,按照所述流表配置的转发域进行转发。
本发明的另一个方面提供一种网关设备,包括:流量筛选模块,配置为根据流表自接收到的流量中筛选出目标流量;虚拟交换模块,配置为为所述目标流量添加至少一种标记,并统计由所述网关设备进行软件转发的第二流量数据;硬件驱动模块,配置为统计携带所述标记的由所述网关设备进行硬件转发的第一流量数据;流量统计模块,配置为根据所述第一流量数据和所述第二流量数据,获得每种所述标记对应的流量统计结果。
本发明的再一个方面提供一种网关设备,包括:存储器,用于存储可执行指令;处理器,用于执行所述可执行指令,实现上述任意实施例所述的流量监管方法。
本发明的又一个方面提供一种计算机可读的存储介质,用于存储程序,所述程序被处理器执行时实现上述任意实施例所述的流量监管方法。
本发明与现有技术相比的有益效果至少包括:
通过网关设备的虚拟交换模块为筛选出的目标流量添加标记,使网关设备的硬件驱动模块通过标记识别到对应的硬件转发流,进而统计出硬件转发流的流量数据,实现对网关设备的全面流量统计;
通过目标流量添加的标记,还能实现对硬件转发流的灵活调度,将通过流表实现的上层转发调度能力映射至网关设备的底层硬件,使网关设备的上层能力与底层能力融合,实现对网关设备的更加精细和灵活的流量监管控制。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。显而易见地,下面描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出本发明一实施例中流量监管方法的步骤示意图;
图2示出本发明又一实施例中流量监管方法的步骤示意图;
图3示出本发明又一实施例中流量监管方法的步骤示意图;
图4示出本发明一实施例中网关设备的模块示意图;
图5示出本发明又一实施例中网关设备的模块示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的实施方式。相反,提供这些实施方式使本发明全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
附图仅为本发明的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件转发模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
此外,附图中所示的流程仅是示例性说明,不是必须包括所有的步骤。例如,有的步骤可以分解,有的步骤可以合并或部分合并,且实际执行的顺序有可能根据实际情况改变。具体描述时使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。需要说明的是,在不冲突的情况下,本发明的实施例及不同实施例中的特征可以相互组合。
图1示出一实施例中流量监管方法的主要步骤,参照图1所示,本实施例中流量监管方法包括:
步骤S110,网关设备根据流表自接收到的流量中筛选出目标流量。
网关设备实现网络之间的通信连接,可以是实现家庭网络与外部网络通信连接的家庭网关、实现社区网络与其他网络通信连接的社区网关,等等。流表基于SDN技术,采用Open Flow协议,通过流表,能够实现流量的灵活调度。目标流量例如是用户访问某网站的流量、某个应用的上网五元组流量,等等,可以根据需要设置筛选条件,通过流表筛选出特定的目标流量。筛选出的目标流量,进入网关设备的内部,进行后续标记操作。
步骤S120,网关设备为目标流量添加至少一种标记。
在一个实施例中,网关设备为目标流量添加标记的方式具体为:网关设备的虚拟交换模块获取执行操作(即Action操作)中配置的执行语句(即Action语句),执行语句指示为内核数据结构的至少一个目标字段添加对应的标记;虚拟交换模块根据执行语句,为每个目标字段指向的目标流量添加对应的标记。
本实施例中,筛选出的目标流量进入虚拟交换模块,由虚拟交换模块对目标流量进行标记。虚拟交换模块配置于网关设备内部,基于开放虚拟交换标准Open vSwitch,为Open vSwitch模块。内核数据结构具体为套接字缓存sk_buff(即socket buffer)结构。sk_buff结构是Linux内核中重要的数据结构,用于管理和控制接收或发送数据包的信息。
Open vSwitch模块的Action操作可以根据需要扩展Action语句。通过扩展OpenvSwitch模块的Action操作,为内核的sk_buff结构的某个或某几个字段添加特定的标记,从而该某个或某几个字段指向的目标流量被添加上对应的标记。举例来说,通过Action语句将sk_buff结构的一个字段打上标记“0”,则进入虚拟交换模块的目标流量中,与该打上标记“0”的字段对应的目标流量被打上标记“0”;在另一个示例中,通过Action语句将sk_buff结构的一个字段打上标记“0”且另一个字段打上标记“1”,则进入虚拟交换模块的目标流量中,与打上标记“0”的字段对应的目标流量被打上标记“0”,与打上标记“1”的字段对应的目标流量被打上标记“1”;以此类推,通过sk_buff结构能够添加多位标记,进而能够通过不同的标记追踪到不同的流。
步骤S130,网关设备统计携带标记的由网关设备进行硬件转发的第一流量数据,并统计由网关设备进行软件转发的第二流量数据。
网关设备对流量的转发方式包括硬件转发和软件转发,通常,对优先级高的流量进行硬件转发,以实现优先级高的流量的快速转发,其他流量则进行软件转发。硬件转发通过网关设备的硬件模块实现,例如网卡;软件转发则通过网关设备的软件模块实现,例如CPU(Central Processing Unit,中央处理器)。传统地,网关设备在转发流量时,软件转发流的流量数据能够被上层应用,即虚拟交换模块Open vSwitch统计到,而硬件转发流的流量数据无法被上层应用统计到。
本实施例中,通过使用虚拟交换模块Open vSwitch的Action操作将特定的目标流量打上标记,从而底层的硬件驱动能够通过识别标记统计到特定的硬件转发流的流量数据。具体来说,在一个实施例中,由网关设备的硬件驱动模块统计携带标记的硬件转发流的流量数据,硬件驱动模块可以是网关设备的网卡的驱动模块,硬件驱动模块统计携带标记的第一流量数据,包括:硬件驱动模块自由网关设备进行硬件转发的流量中,识别出携带标记的目标流量;硬件驱动模块统计识别出的目标流量的流量数据,形成第一流量数据。从而,本实施例打通了上层的Open Flow流表和底层的硬件驱动,实现自上而下的流量全面统计。
步骤S140,根据第一流量数据和第二流量数据,获得每种标记对应的流量统计结果。
第一流量数据即携带标记的一条或多条硬件转发流的流量数据;第二流量数据是软件转发流的流量数据,从中获得携带标记的一条或多条软件转发流的流量数据,与第一流量数据相加即可获得一条或多条特定的目标流量的精确统计结果。
上述的流量监管方法,通过网关设备的虚拟交换模块为筛选出的目标流量添加标记,使网关设备的硬件驱动模块通过标记识别到对应的硬件转发流,进而统计出硬件转发流的流量数据,与虚拟交换模块统计到的软件转发流的流量数据结合,实现对网关设备的全面流量统计。
在一个实施例中,通过目标流量添加的标记,还能实现对硬件转发流的灵活调度、限速等流量监管控制。
图2示出又一实施例中流量监管方法的主要步骤,本实施例的流量监管方法可在图1的流量监管方法的基础上实现,图1描述的流量监管方法的特征和原理均可应用至下面的流量监管方法实施例。在下面的流量监管方法实施例中,对已经阐明的关于流量监管的特征和原理不再重复说明。
参照图2所示,本实施例中流量监管方法包括:
步骤S210,网关设备根据流表自接收到的流量中筛选出目标流量,送入虚拟交换模块,且网关设备根据流表将目标流量区分为待硬件转发的目标流量和待软件转发的目标流量。
待硬件转发的目标流量和待软件转发的目标流量可以如上述实施例描述,按照目标流量的不同调度优先级进行区分,将高调度优先级的目标流量区分为待硬件转发的目标流量,将低调度优先级的目标流量区分为待软件转发的目标流量。
步骤S220,虚拟交换模块为目标流量添加至少一种标记,每种标记与网关设备的限速Meter表的一流标识对应。
Meter表用于对流量进行限速。具体来说,SDN控制器向网关设备的虚拟交换模块下发的用于监管流量的包括Open Flow流表和Meter表。Open Flow流表限定每类流量的转发路径,Meter表限定一类或多类流量(其中每类流量具有唯一的流标识,即流ID)的最大允许带宽,即限速参数。网关设备在转发流量时,根据Meter表获得对应流量的限速参数,对超过限速参数的流量进行丢弃等操作,并根据Open Flow流表获得对应流量的转发路径,对符合限速参数的对应流量进行转发。
步骤S230,网关设备基于待硬件转发的目标流量的标记对应的流标识的限速参数,对待硬件转发的目标流量进行硬件转发,且网关设备基于待软件转发的目标流量的标记对应的流标识的限速参数,对待软件转发的目标流量进行软件转发;网关设备进行流量转发时硬件驱动模块统计携带标记的硬件转发流的第一流量数据,且虚拟交换模块统计软件转发流的第二流量数据。
通过目标流量的标记与Meter表的流ID一一对应,实现为筛选出的目标流量打上与Meter表的流ID对应的标记,网关设备对待硬件转发的目标流量进行硬件转发时,能够根据对应的流ID的限速参数,对硬件转发流进行限速,且sk_buff结构的不同位能够提供不止一位标记,从而能够支持对应多条Meter流,实现精确统计和调度多条硬件转发流。
软件转发流同样根据Meter表进行限速,实现灵活调度。
步骤S240,根据第一流量数据和第二流量数据,获得每种标记对应的流量统计结果。
从而,上述的流量监管方法,通过不同的标记对应不同的Meter流,实现对硬件转发流的灵活调度,将通过Open Flow流表和Meter表实现的上层转发调度能力映射至网关设备的底层硬件,使网关设备的上层能力与底层能力融合,实现对网关设备的更加精细和灵活的流量监管控制。
图3示出又一实施例中流量监管方法的主要步骤,可基于图1的流量监管方法或图2的流量监管方法实现,图1和图2描述的流量监管方法的特征和原理均可应用至下面的流量监管方法实施例。在下面的流量监管方法实施例中,对已经阐明的关于流量监管的特征和原理不再重复说明。
参照图3所示,以家庭网关举例,流量监管方法包括:
步骤S310,流量进入家庭网关。
步骤S320,筛选目标流量。具体来说,Open Flow流表配置有匹配域和转发域。网关设备根据流表自接收到的流量中筛选出目标流量,包括:网关设备根据流表配置的匹配域,自接收到的流量中筛选出命中匹配域的流量,作为目标流量;网关设备对接收到的流量中未命中匹配域的流量,按照流表配置的转发域进行转发。也即,对于未命中匹配域的流量,按照转发路径执行步骤S320’进行正常转发;对于命中匹配域的目标流量,添加对应的标记后按照转发路径执行步骤S320’进行正常转发,以使底层驱动能够识别到携带标记的硬件转发流,进行流量统计和调度等操作。
步骤S330,通过Action操作为目标流量添加标记。通过扩展Open vSwitch的Action操作,将内核的sk_buff结构的某段或某几段打上特定的标记,且标记与Meter表的流ID一一对应,使通过匹配域条件筛选出的目标流量被打上Meter流的标记。原有的转发操作照旧,只是为目标流量添加了关于Meter流的标记。
步骤S340,通过底层硬件驱动统计携带标记的硬件转发流,通过Open vSwitch统计软件转发流。由于使用Open vSwitch的Action操作将特定的目标流量打上了标记,从而底层硬件驱动能够识别并统计到打上特定标记的硬件转发流量。且sk_buff结构的位能够提供不止一位标记,从而可以支持对应多条Meter流,实现多条硬件转发流的精确统计和灵活调度。
步骤S350,将硬件转发流的流量数据和对应的软件转发流的流量数据相加,获得标记的一条/多条流的精确统计结果。
上述的流量监管方法,实现将上层通过Open Flow流表和Meter表体现的精细和灵活的流量统计和调度能力直接映射到底层硬件驱动。通过扩展Open vSwitch的Action操作,修改内核中的sk_buff结构并打上标记,作为沟通上层和底层的桥梁。从而底层硬件驱动通过位标记来识别不同的硬件转发流,进行对应的统计和调度操作,实现家庭网关的流量监管控制更加精细,形成灵活多变的流量限速、统计和优先级调度。
本发明的流量监管方法,还能在SDN系统中,通过精细的流量监管控制为用户提供更多、颗粒度更细的QOS(Quality ofService,服务质量)服务,进行用户行为分析、用户用网趋势分析等等。例如,在一个应用场景中,本发明的流量监管方法可与DPI(Deep PacketInspection,深度报文检测)技术相结合,通过DPI技术获取某个应用的上网五元组信息,通过本发明的流量监管方法对获取到的上网五元组信息进行标记,从而能够对相关流量进行精细统计和灵活限速调度等操作。
本发明实施例还提供一种网关设备,可用于实现上述任意实施例描述的流量监管方法。上述任意实施例描述的流量监管方法的特征和原理均可应用至下面的网关设备实施例。在下面的网关设备实施例中,对已经阐明的关于流量监管的特征和原理不再重复说明。
图4示出一实施例中网关设备400的主要模块,参照图4所示,本实施例中网关设备400配置有流量筛选模块410、虚拟交换模块420、硬件驱动模块430和流量统计模块440;流量筛选模块410配置为根据流表自接收到的流量中筛选出目标流量;虚拟交换模块420配置为为目标流量添加至少一种标记,并统计由网关设备进行软件转发的第二流量数据;硬件驱动模块430配置为统计携带标记的由网关设备进行硬件转发的第一流量数据;流量统计模块440配置为根据第一流量数据和第二流量数据,获得每种标记对应的流量统计结果。
进一步地,流量筛选模块410、虚拟交换模块420、硬件驱动模块430和流量统计模块440还可实现上述任意实施例描述的流量监管方法中的其他流程步骤,且网关设备400还可包括实现上述任意实施例描述的流量监管方法的其他流程步骤的模块,各个模块的具体原理可参照上述各流量监管方法实施例的描述,此处不再重复说明。
本实施例的网关设备400,通过虚拟交换模块420为筛选出的目标流量添加标记,使硬件驱动模块430通过标记识别到对应的硬件转发流,进而统计出硬件转发流的流量数据,实现对网关设备400的全面流量统计;通过目标流量添加的标记,还能实现对硬件转发流的灵活调度,将通过Open Flow流表和Meter表实现的上层转发调度能力映射至底层硬件,使网关设备400的上层能力与底层能力融合,实现对网关设备400的更加精细和灵活的流量监管控制。
图5示出又一实施例中网关设备500的主要模块。本实施例的网关设备500与图4的网关设备400的区别在于,本实施例中网关设备500的内部架构和模块组成,并不局限于图4的描述,本实施例中网关设备500可以是任意的具备执行能力的通用电子设备,只要其能实现上述各实施例描述的流量监管方法即可。
参照图5所示的网关设备500的通用结构,应当理解的是,图5仅仅是示意性地示出各个模块,这些模块可以是虚拟的软件模块或实际的硬件模块,这些模块可以合并、拆分及增加其余模块。
如图5所示,网关设备500以通用计算设备的形式表现。网关设备500的组件包括但不限于:至少一个处理单元510、至少一个存储单元520、连接不同平台组件(包括存储单元520和处理单元510)的总线530、显示单元540等。
存储单元520存储有程序代码,程序代码可以被处理单元510执行,使得处理单元510实现上述任意实施例描述的流量监管方法。例如,处理单元510可以执行如图1至图3所示的流量监管方法的步骤。
存储单元520可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)5201和/或高速缓存存储单元5202,还可以进一步包括只读存储单元(ROM)5203。
存储单元520还可以包括具有一个或多个程序模块5205的程序/实用工具5204,这样的程序模块5205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线530可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
网关设备500也可以与一个或多个外部设备600通信,外部设备600可以是键盘、指向设备、蓝牙设备等设备中的一种或多种。这些外部设备600使得用户能与该网关设备500进行交互通信。网关设备500也能与一个或多个其它计算设备进行通信,所示计算机设备包括路由器、调制解调器。这种通信可以通过输入/输出(I/O)接口550进行。并且,网关设备500还可以通过网络适配器560与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。网络适配器560可以通过总线530与网关设备500的其它模块通信。应当明白,尽管图中未示出,可以结合网关设备500使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储平台等。
本实施例的网关设备500,同样能够实现为特定的目标流量添加标记,从而使网关设备500的底层驱动通过标记识别到对应的硬件转发流,进而统计出硬件转发流的流量数据,实现对网关设备500的全面流量统计;通过目标流量添加的标记,还能实现对硬件转发流的灵活调度,将上层转发调度能力映射至底层驱动,使网关设备500的上层能力与底层能力融合,实现对网关设备500的更加精细和灵活的流量监管控制。
本发明实施例还提供一种计算机可读的存储介质,用于存储程序,程序被处理器执行时实现上述任意实施例描述的流量监管方法。
在一些可能的实施方式中,该存储介质可形成为U盘的形式,其内存储程序代码,当该存储介质在终端设备上运行时,具体是在网关设备中运行时,则程序代码能够使网关设备实现上述任意实施例描述的流量监管方法。
在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在终端设备上运行时,程序代码用于使终端设备执行上述任意实施例描述的流量监管方法。
程序产品可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如网关设备上运行。然而,本发明的程序产品不限于此,其可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子包括但不限于:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备,例如利用因特网服务提供商来通过因特网连接。
本实施例的存储介质,当在对应的网关设备上运行时,同样能够实现为特定的目标流量添加标记,从而使该网关设备的底层驱动通过标记识别到对应的硬件转发流,进而统计出硬件转发流的流量数据,实现对网关设备的全面流量统计;通过目标流量添加的标记,还能实现对硬件转发流的灵活调度,将上层转发调度能力映射至底层驱动,使网关设备的上层能力与底层能力融合,实现对网关设备的更加精细和灵活的流量监管控制。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
Claims (9)
1.一种流量监管方法,其特征在于,包括:
网关设备根据流表自接收到的流量中筛选出目标流量;
所述网关设备为所述目标流量添加至少一种标记;
所述网关设备统计携带所述标记的由所述网关设备进行硬件转发的第一流量数据,并统计由所述网关设备进行软件转发的第二流量数据;
根据所述第一流量数据和所述第二流量数据,获得每种所述标记对应的流量统计结果;
其中,所述网关设备为所述目标流量添加至少一种标记,包括:
所述网关设备的虚拟交换模块获取执行操作中配置的执行语句,所述执行语句指示为内核数据结构的至少一个目标字段添加对应的标记;
所述虚拟交换模块根据所述执行语句,为每个所述目标字段指向的目标流量添加对应的所述标记。
2.如权利要求1所述的流量监管方法,其特征在于,所述虚拟交换模块基于开放虚拟交换标准OpenvSwitch,所述流表基于OpenFlow协议,所述内核数据结构为套接字缓存sk_buff结构。
3.如权利要求1或2所述的流量监管方法,其特征在于,每种所述标记与所述网关设备的限速Meter表的一流标识对应;
所述流量监管方法还包括:
所述网关设备根据所述流表将所述目标流量区分为待硬件转发的目标流量和待软件转发的目标流量;
所述网关设备基于所述待硬件转发的目标流量的标记对应的流标识的限速参数,对所述待硬件转发的目标流量进行硬件转发,且所述网关设备基于所述待软件转发的目标流量的标记对应的流标识的限速参数,对所述待软件转发的目标流量进行软件转发。
4.如权利要求1所述的流量监管方法,其特征在于,所述网关设备统计携带所述标记的由所述网关设备进行硬件转发的第一流量数据,包括:
所述网关设备的硬件驱动模块自由所述网关设备进行硬件转发的流量中,识别出携带所述标记的目标流量;
所述硬件驱动模块统计识别出的所述目标流量的流量数据,形成所述第一流量数据。
5.如权利要求4所述的流量监管方法,其特征在于,所述硬件驱动模块为所述网关设备的网卡驱动。
6.如权利要求1所述的流量监管方法,其特征在于,所述网关设备根据流表自接收到的流量中筛选出目标流量,包括:
所述网关设备根据所述流表配置的匹配域,自所述接收到的流量中筛选出命中所述匹配域的流量,作为所述目标流量;
所述网关设备对所述接收到的流量中未命中所述匹配域的流量,按照所述流表配置的转发域进行转发。
7.一种网关设备,其特征在于,包括:
流量筛选模块,配置为根据流表自接收到的流量中筛选出目标流量;
虚拟交换模块,配置为为所述目标流量添加至少一种标记,并统计由所述网关设备进行软件转发的第二流量数据;
硬件驱动模块,配置为统计携带所述标记的由所述网关设备进行硬件转发的第一流量数据;
流量统计模块,配置为根据所述第一流量数据和所述第二流量数据,获得每种所述标记对应的流量统计结果;
其中,所述虚拟交换模块为所述目标流量添加至少一种标记,包括:获取执行操作中配置的执行语句,所述执行语句指示为内核数据结构的至少一个目标字段添加对应的标记;根据所述执行语句,为每个所述目标字段指向的目标流量添加对应的所述标记。
8.一种网关设备,其特征在于,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述可执行指令,实现如权利要求1-6任一项所述的流量监管方法。
9.一种计算机可读的存储介质,用于存储程序,其特征在于,所述程序被处理器执行时实现如权利要求1-6任一项所述的流量监管方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110885890.9A CN113595936B (zh) | 2021-08-03 | 2021-08-03 | 流量监管方法、网关设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110885890.9A CN113595936B (zh) | 2021-08-03 | 2021-08-03 | 流量监管方法、网关设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113595936A CN113595936A (zh) | 2021-11-02 |
CN113595936B true CN113595936B (zh) | 2022-09-20 |
Family
ID=78254298
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110885890.9A Active CN113595936B (zh) | 2021-08-03 | 2021-08-03 | 流量监管方法、网关设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113595936B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104301251A (zh) * | 2014-09-22 | 2015-01-21 | 杭州华三通信技术有限公司 | 一种QoS处理方法、系统及设备 |
CN104320351A (zh) * | 2014-10-27 | 2015-01-28 | 任子行网络技术股份有限公司 | 基于零拷贝和Linux内核的软件流控方法及其系统 |
CN108494619A (zh) * | 2018-02-28 | 2018-09-04 | 新华三技术有限公司 | 流量统计方法、装置及提供商路由器 |
CN108616452A (zh) * | 2018-03-30 | 2018-10-02 | 新华三技术有限公司 | 报文转发方法及装置 |
CN108650154A (zh) * | 2018-06-29 | 2018-10-12 | 新华三技术有限公司 | 流量控制方法及装置 |
CN109996309A (zh) * | 2018-01-02 | 2019-07-09 | 中国移动通信有限公司研究院 | 一种路由流量引流系统、方法、装置和介质 |
CN110198246A (zh) * | 2018-02-26 | 2019-09-03 | 腾讯科技(北京)有限公司 | 一种流量监控的方法及系统 |
CN112751781A (zh) * | 2019-10-31 | 2021-05-04 | 阿里巴巴集团控股有限公司 | 流量数据的处理方法、装置、设备及计算机存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7177311B1 (en) * | 2002-06-04 | 2007-02-13 | Fortinet, Inc. | System and method for routing traffic through a virtual router-based network switch |
US20160050132A1 (en) * | 2014-08-18 | 2016-02-18 | Telefonaktiebolaget L M Ericsson (Publ) | Method and system to dynamically collect statistics of traffic flows in a software-defined networking (sdn) system |
US10291497B2 (en) * | 2017-03-31 | 2019-05-14 | Juniper Networks, Inc. | Session-based traffic statistics logging for virtual routers |
CN110300065B (zh) * | 2019-07-12 | 2022-11-11 | 中国电信集团工会上海市委员会 | 一种基于软件定义网络的应用流量识别方法及系统 |
CN112866111B (zh) * | 2019-11-28 | 2023-05-30 | 北京京东尚科信息技术有限公司 | 流表管理的方法和装置 |
CN112118271B (zh) * | 2020-10-29 | 2023-06-27 | 杭州迪普科技股份有限公司 | 流量清洗方法、装置、设备及计算机可读存储介质 |
-
2021
- 2021-08-03 CN CN202110885890.9A patent/CN113595936B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104301251A (zh) * | 2014-09-22 | 2015-01-21 | 杭州华三通信技术有限公司 | 一种QoS处理方法、系统及设备 |
CN104320351A (zh) * | 2014-10-27 | 2015-01-28 | 任子行网络技术股份有限公司 | 基于零拷贝和Linux内核的软件流控方法及其系统 |
CN109996309A (zh) * | 2018-01-02 | 2019-07-09 | 中国移动通信有限公司研究院 | 一种路由流量引流系统、方法、装置和介质 |
CN110198246A (zh) * | 2018-02-26 | 2019-09-03 | 腾讯科技(北京)有限公司 | 一种流量监控的方法及系统 |
CN108494619A (zh) * | 2018-02-28 | 2018-09-04 | 新华三技术有限公司 | 流量统计方法、装置及提供商路由器 |
CN108616452A (zh) * | 2018-03-30 | 2018-10-02 | 新华三技术有限公司 | 报文转发方法及装置 |
CN108650154A (zh) * | 2018-06-29 | 2018-10-12 | 新华三技术有限公司 | 流量控制方法及装置 |
CN112751781A (zh) * | 2019-10-31 | 2021-05-04 | 阿里巴巴集团控股有限公司 | 流量数据的处理方法、装置、设备及计算机存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113595936A (zh) | 2021-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2358525C (en) | Dynamic assignment of traffic classes to a priority queue in a packet forwarding device | |
US7042848B2 (en) | System and method for hierarchical policing of flows and subflows of a data stream | |
CN103765839B (zh) | 用于网络设备内的分组处理的基于变量的转发路径结构 | |
US8619793B2 (en) | Dynamic assignment of traffic classes to a priority queue in a packet forwarding device | |
US8964537B2 (en) | Method and system for egress policy indications | |
Wang et al. | Autonomic QoS management mechanism in software defined network | |
US11165716B2 (en) | Data flow processing method and device | |
CN108600118A (zh) | 报文处理方法、装置以及电子设备 | |
CN109247065A (zh) | 启用不同应用的持续流识别器 | |
CN108809752B (zh) | 一种网络流量的自适应监控方法、装置、npb设备及介质 | |
CN112165435A (zh) | 一种基于虚拟机网络服务质量的双向流量控制方法及系统 | |
CN114285808A (zh) | 软件定义企业网络中的一致的服务质量策略 | |
KR100916835B1 (ko) | 차등화 서비스 엠피엘에스망에서 네트워크 프로세서를이용한 플로우별 패킷 처리 방법 | |
US8553539B2 (en) | Method and system for packet traffic congestion management | |
CN113595936B (zh) | 流量监管方法、网关设备和存储介质 | |
US20120250505A1 (en) | Method and System for Writing to a VLAN Tag | |
CN113765812A (zh) | 一种标记报文的方法和装置 | |
US9282041B2 (en) | Congestion profiling of computer network devices | |
CN113422699B (zh) | 数据流处理方法、装置、计算机可读存储介质及电子设备 | |
CN108259338B (zh) | 一种私网应用识别方法及装置 | |
US11489904B2 (en) | Poor-QoE assessment method and related device | |
US20060215567A1 (en) | Method and apparatus for monitoring path statistics | |
Karamchati et al. | A novel architecture to enhance Quality of Service in IP networks | |
CN115242892A (zh) | 一种流标识获取方法、装置、设备及介质 | |
KR100934714B1 (ko) | 단계적 플로우 정보기반의 네트워크 트래픽 모니터링 시스템 |
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 |