CN112637081A - 带宽限速的方法及装置 - Google Patents
带宽限速的方法及装置 Download PDFInfo
- Publication number
- CN112637081A CN112637081A CN201910907536.4A CN201910907536A CN112637081A CN 112637081 A CN112637081 A CN 112637081A CN 201910907536 A CN201910907536 A CN 201910907536A CN 112637081 A CN112637081 A CN 112637081A
- Authority
- CN
- China
- Prior art keywords
- speed limit
- information
- account
- user
- bandwidth
- 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.)
- Withdrawn
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/20—Traffic policing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0894—Policy-based network configuration management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/22—Traffic shaping
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/069—Management of faults, events, alarms or notifications using logs of notifications; Post-processing of notifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/084—Configuration by using pre-existing information, e.g. using templates or copying from other elements
- H04L41/0843—Configuration by using pre-existing information, e.g. using templates or copying from other elements based on generic templates
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供了一种带宽限速的方法及装置,其中,该方法包括:Linux系统接收到第一帐号发送的信息传输请求;将由所述信息传输请求触发传输的信息作为第一信息;通过预设关系获取与所述第一帐号对应的限速策略,依据所述限速策略限定传输所述第一信息的带宽。采用上述方案,区分出与不同用户账号对应传输的信息,然后Linux系统使用预置的与该用户账号对应的限速策略,对上述信息进行限速,不再需要识别不同用户的数据包详细特征后配置繁琐的限速规则,流程简洁,解决了相关技术中对用户进行带宽限速时方案单一,处理流程繁琐的问题。
Description
技术领域
本申请涉及但不限于通信领域,具体而言,涉及一种带宽限速的方法及装置。
背景技术
在相关技术中,Linux操作系统的流量控制器(Traffic Control,简称为TC)用于Linux内核的流量控制。如果想要对应用的不同用户数据包进行精细化管理和限速,只能通过识别不同用户的数据包详细网络特征配置繁琐的TC限速规则,规则的配置和管理只能基于网络特征。
针对相关技术中对用户进行带宽限速时方案单一,处理流程繁琐的问题,目前还没有有效的解决方案。
发明内容
本申请实施例提供了一种带宽限速的方法及装置,以至少解决相关技术中对用户进行带宽限速时方案单一,处理流程繁琐的问题。
根据本申请的一个实施例,提供了一种一种带宽限速的方法,包括:Linux系统接收到第一帐号发送的信息传输请求;将由所述信息传输请求触发传输的信息作为第一信息;通过预设关系获取与所述第一帐号对应的限速策略,依据所述限速策略限定传输所述第一信息的带宽。
根据本申请的另一个实施例,还提供了一种带宽限速的装置,应用于Linux系统,包括:接收模块,用于接收到第一帐号发送的信息传输请求;记录模块,用于将由所述信息传输请求触发传输的信息作为第一信息;限速模块,用于通过预设关系获取与所述第一帐号对应的限速策略,依据所述限速策略限定传输所述第一信息的带宽。
根据本申请的又一个实施例,还提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
根据本申请的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
通过本申请,Linux系统接收到第一帐号发送的信息传输请求;将由所述信息传输请求触发传输的信息作为第一信息;通过预设关系获取与所述第一帐号对应的限速策略,依据所述限速策略限定传输所述第一信息的带宽。采用上述方案,区分出与不同用户账号对应传输的信息,然后Linux系统使用预置的与该用户账号对应的限速策略,对上述信息进行限速,不再需要识别不同用户的数据包详细特征后配置繁琐的限速规则,流程简洁,解决了相关技术中对用户进行带宽限速时方案单一,处理流程繁琐的问题。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是本申请实施例的一种带宽限速的方法的计算机终端的硬件结构框图;
图2是根据本申请实施例的带宽限速的方法的流程图;
图3是根据本申请另一个实施例的基于用户特征的限速系统架构图;
图4是根据相关技术中的基于原始网络特征的限速实现图;
图5是根据本申请另一个实施例的系统内部数据结构示意图;
图6是根据本申请另一个实施例的利用Iptables实现用户标记的原理示意图;
图7是根据本申请另一个实施例的根据用户标记实现限速的原理示意图;
图8是根据本申请另一个实施例的系统启动时初始化配置与持久化恢复流程图;
图9是根据本申请另一个实施例的新建用户并落实限速流程图;
图10是根据本申请例子1的限速系统用于通用VPN网关业务时序图;
图11是根据相关技术中的VPN网关系统实现限速业务时序图;
图12是根据本申请例子2的限速系统用于云桌面统一接入网关业务时序图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本申请。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
下面对本申请中涉及的技术概念进行说明。
QDISC:Quene disciplines,是linux内核中内置的对网络数据报文进行分类、调度、整形和丢弃的内核模块,其使用“队列规程、类别、过滤器”三级框架以及各种算法来实现对网络数据包的QOS功能;
TC:Qdisc内核模块对应用户空间的配置工具,用户可以使用复杂的命令来为网卡设备创建QOS规则;
NETFILTER:linux内核中内置的对网络数据报文进行过滤、跟踪、修改的内核模块,使用在内核网络协议栈中加入HOOK点的技术实现其功能;
IPTABLES:
Netfilter内核模块对应用户空间的配置工具,用户可以使用复杂的命令来配置指定特征的数据包在不同hook点的动作,包括丢弃、放行、修改等。
Iptable定义了复杂的命令机制,包括表、链(chain)、规则等多层对象结构,下文中提到Mangle表以及prerouting链、postrouting链即是Iptables系统预置的对象,用户可以根据需要添加自定义链和规则。
REST API:是一种接口标准。
VPN:虚拟专用网络(Virtual Private Network,简称为VPN),一般用于用户远程介入其办公网络等用途。
实施例一
本申请实施例一所提供的方法实施例可以在计算机终端、服务器或者类似的运算装置中执行。以运行在计算机终端上为例,图1是本申请实施例的一种带宽限速的方法的计算机终端的硬件结构框图,如图1所示,计算机终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,可选地,上述计算机终端还可以包括用于通信功能的传输装置106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述计算机终端的结构造成限定。例如,计算机终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储应用软件的软件程序以及模块,如本申请实施例中的带宽限速的方法对应的程序指令/模块,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种运行于上述计算机终端的带宽限速的方法,该计算机终端运行于Linux系统,可以作为网管设备,用于管理多个用户设备的网络传输。
图2是根据本申请实施例的带宽限速的方法的流程图,如图1所示,该流程包括如下步骤:
步骤S202,Linux系统接收到第一帐号发送的信息传输请求;
步骤S204,将由所述信息传输请求触发传输的信息作为第一信息;
步骤S206,通过预设关系获取与所述第一帐号对应的限速策略,依据所述限速策略限定传输所述第一信息的带宽。
第一帐号可以是用户帐号。
通过上述步骤,Linux系统接收到第一帐号发送的信息传输请求;将由所述信息传输请求触发传输的信息作为第一信息;通过预设关系获取与所述第一帐号对应的限速策略,依据所述限速策略限定传输所述第一信息的带宽。采用上述方案,区分出与不同用户账号对应传输的信息,然后Linux系统使用预置的与该用户账号对应的限速策略,对上述信息进行限速,不再需要识别不同用户的数据包详细特征后配置繁琐的限速规则,流程简洁,解决了相关技术中对用户进行带宽限速时方案单一,处理流程繁琐的问题。
可选地,将由所述信息传输请求触发传输的信息作为第一信息,包括:确定由所述信息传输请求触发的待要传输的数据;通过IPTABLES系统为所述数据打上与所述第一帐号对应的第一标记,作为所述第一信息。采用该方案,使得不同帐号对应的数据中有对应的标记。
可选地,通过IPTABLES系统为所述数据打上与所述第一帐号对应的第一标记,包括:在Mangle表中的prerouting链和postrouting链中各增加自定义标记链,其中,所述自定义标记链上存储有为不同帐号打标记的规则;依据所述自定义标记链为所述数据打上与所述第一帐号对应的第一标记。采用该方案,预先在预路由prerouting链和路由后postrouting链上存储自定义标记链,用于存储不同帐号打标记的规则,便于IPTABLES系统直接调用。
可选地,通过预设关系获取与所述第一帐号对应的限速策略,包括:通过流量控制器TC依据不同数据上的标记进行数据分类,获取与所述第一标记对应的分类类别;获取与所述分类类别对应的所述限速策略。采用该方案,通过识别不同标记进行数据分类,然后获取到不同的限速策略。
可选地,将由所述信息传输请求触发传输的信息作为第一信息之后,分析所述第一信息的多个网络特征,将所述多个网络特征关联至所述第一帐号;使用netfilter系统为所述多个网络特征对应的数据包打上不同的标记。采用该方案,不同的网络特征对应有不同的标记,网络特征可以是信息的不同角度的特征,例如不同的接收方是不同的网络特征,不同的传输优先级是不同的网络特征。
可选地,使用netfilter系统为所述多个网络特征对应的数据包打上不同的标记之后,通过预设关系获取与所述第一帐号对应的限速策略,包括:通过所述预设关系获取与所述第一帐号的第一网络特征对应的限速策略;依据所述限速策略限定传输所述第一信息的带宽,包括:依据所述限速策略对不同网络特征的数据包进行限速控制。第一帐号对应的第一信息中包括多个网络特征的数据包,不同网络特征的数据包对应至不同的限速策略,从而保证优先级别等重要业务被优先传输。
可选地,Linux系统接收到第一帐号发送的信息传输请求之前,接收触发信号,用于启动带宽限速。采用该方案,通过设置触发信号,用于启动带宽限速方案,避免在带宽充足的情形下打开带宽限速。
下面结合本申请另一个实施例进行说明。
本申请涉及网络技术和云计算领域,在Linux平台上基于TC(QDISC)以及IPTABLES(NETFILTER)系统实现一个基于用户特征的限速系统,根据自定义的用户特征、网络数据特征、形成策略进行实际限速的落地,提供了一种独立于上层应用的、可自定义策略的限速系统,有效解决了带宽型服务的资源分配问题。
本申请目的就是提出一种用户自定义用户数据包特征和限速策略转换为可落地并实际生效的自定义限速系统,使用该系统可以使用户不再关心复杂的TC限速配置和Iptables配置,并且使用户可以精细化的、实时地、动态地修改和应用限速策略。本申请提出了以用户标记作为数据包精细分类和限速策略管理的思路和方法,区别于传统的基于网络数据包特征的策略维护,使得系统更容易结合上层业务,大大降低了上层业务使用限速的成本。
用户应用调用本系统提供的接口下发其用户、网络特征、限速策略,为指定之间的匹配关系,本系统对数据进行分析处理后通过南向IPTABLES驱动层、TC驱动层新增、更改或者删除具体标记和限速的规则配置。
图3是根据本申请另一个实施例的基于用户特征的限速系统架构图,如图3所示,包括以下模块或组件:
配置管理模块:负责管理读取配置文件,配置文件中包含一些基本配置和默认配置,处理配置文件,配置文件中包含了必须的初始默认配置信息;
日志管理模块:供其他模块记录日志使用,记录日志,可用于调试分析和监控等;
北向REST API接口层:提供REST API接口,将用户应用或者命令行工具发来的接口请求转化为内部的数据结构和操作转给业务核心模块处理。其中,用户应用为将共享带宽作为资源提供给用户,又需要对应用户占有的带宽资源进行精细化管理的应用系统,例如VPN系统,接入网络系统等。
命令行工具,提供了一种直接使用命令对本系统内置对象与状态进行操作和查询的接口。
业务核心层:处理接口层发来的请求和数据,将数据进行整合分析后传递给南向TC驱动模块和南向Iptables驱动模块处理,并将需要持久化处理的数据传递给持久化层处理;将用户创建的其内部用户信息,限速策略模板,内部用户的网络特征信息进行分析整合。
数据持久化模块:将业务核心模块已经处理好的数据转化为json格式存储到本地,作为轻量而简易的数据库使用,供系统在重新启动后持久化恢复使用;将经过转化分析后的数据进行本地持久化。
南向IPTABLES驱动层:接受业务核心模块处理过的数据,转换成为实际的IPTABLES对用户数据包进行标记的规则并下发配置到内核;将分析后的数据转换为实际的IPTABLES标记规则并下发。
南向TC驱动层:接受业务核心模块处理过的数据,转换成为实际的TC qdisc限速规则并下发配置到内核;将分析后的用户数据转换为实际的Tc qdisc限度规则并下发。
图4是根据相关技术中的基于原始网络特征的限速实现图,如图4所示,在相关技术中,想要对应用的不同用户数据包进行精细化管理和限速,应用管理员手工根据详细网络数据包特征编写负责的TC规则,然后进行应用流量控制TC。即相关技术中只能通过识别不同用户的数据包详细网络特征配置繁琐的TC限速规则,未有中间处理系统,来直接整合用户的信息,规则的配置和管理只能基于网络特征,全程未有用户的概念与区分。
图5是根据本申请另一个实施例的系统内部数据结构示意图,如图5所示,系统内部设置了用户(user)、限速策略规则(policy_rule)、网络特征条目(net_feature_list_entry)3个主要对象,分别负责记录用户信息、限速策略信息、以及用户的网络特征集。限速策略规则包括唯一标志符ID,名称name,方向direction,设备名dey,速率rate,是否允许突发流量allow burst;是否true ifalse。主要对象用户这一栏包括,唯一标志符ID,名称name,限速策略规则policy_name,网络特征列表net_feature_list。网络特征条目包括唯一标志符ID,名称name,源MAC地址src_name,目的MAC地址dst_mac,源IP地址src-IP,目标IP地址dst_IP,IP协议号IP-proto,源端口号src_port,目的端口号dst_port,上一特征条目pre_entry,下一特征条目next_entry。这些数据将用户整合成具体的Iptables标记规则和TC限速规则。
图6是根据本申请另一个实施例的利用Iptables实现用户标记的原理示意图,如图6所示,本系统在Iptables系统中入向和出现各增加了一条自定义的标记链,并在Mangle表的prerouting链和postrouting链中个增加一条重定向规则,是所有数据进入自定义标记链接受检查和标记。具体的用户标记规则配置在自定义的标记链中。当入向数据报文进入到系统的Mangle表的prerouting链或者出现数据包进入到系统的Mangle表的postrouting链时,数据报文会根据实际的网络特征被打上对应用户的标记。自定义标记链使用用户标记表标记对应的数据报文,处理完成后返回prerouting或postrouting链继续处理。
图7是根据本申请另一个实施例的根据用户标记实现限速的原理示意图,如图7所示,本系统在tc qdisc中针对默认设备和指定设备均创建了qdisc分类器和过滤器以及限速策略,分类器以用户标记作为分类依据,对指定的用户数据报文应用自动指定用户的限速策略。入向已被标记的网络数据包对应至TC qdisc入向设备分类过滤器应用策略,出向已被标记的网络数据包对应至TC qdisc出向设备分类过滤器应用策略。Tc qdisc针对指定设备添加以用户标记为特征的分类器,同时为用户分类器创建用户指定的限速策略。
图8是根据本申请另一个实施例的系统启动时初始化配置与持久化恢复流程图,如图8所示,系统启动时,本系统首先通过读取配置文件创建tc qdisc以及Iptables的公用配置与默认配置,包括默认网卡设备的qdisc父规则队列、默认限速策略、Iptables中mangle(用于指定如何处理数据包)表的postrouting(处理即将离开本机的数据包)和prerouting(处理刚到达本机并在路由转发前的数据包)两个chain中新增用户chain,用于存放对指定网络特征的数据包使用mark扩展模块进行mark的规则。具体的包括以下步骤:
步骤一,检测进程是否已经存在?如果是,则返回错误,退出流程,如果否,进入步骤二;
步骤二,读取配置文件;
步骤三,判断对应设备qdisc父规则是否已存在?,如果否,则根据配置文件创建qdisc父规则;如果是,转入步骤四;
步骤四,清理无用的qdisc规则;
步骤五,IPTABLES mangle表中自定义标记的chain存在吗?如果否,则创建IPTABLES mangle表中自定义标记的chain,然后转入步骤六。如果是,则直接转入步骤六
步骤六,读取持久化数据库(简易)。
步骤七,清理IPTABLES中的无用标记规则;
步骤八,读取用户信息。
步骤九,判断IPTABLES mangle表中自定义标记的chain中存在该用户的标记规则吗?如果否,则新增该用户的标记规则;如果是,则转入步骤十;
步骤十,判断TC qdsic中存在该用户的限速规则吗?如果否,则在TC qdsic中增加该用户的限速规则;如果是,转入步骤十一
步骤十一,判断是否为最后一个用户了吗?如果否,转回步骤八,如果是,转入步骤十一;
步骤十一,初始化完成。
图9是根据本申请另一个实施例的新建用户并落实限速流程图,如图9所示,其他应用使用限速系统时,可以直接使用CLI命令或者REST API接口向限速系统下发配置。通过增加自定义的policy来创建多种限速策略。通过创建net-feature可以创建多种自定义的网络特征串。通过创建用户并关联限速策略和网络特征,来驱动限速系统生成最终配置并下发到tc和netfilter系统最终落地针对用户特征的限速。每个用户可以关联多个网络特征,只能关联一个限速策略。限速系统会将用户的id作为mark的特征值用于netfilter规则对指定网络特征的数据包进行mark,tc qdisc在对应的qdisc中针对用户的mark数据报文应用对应的限速规则。图9具体的包括以下步骤:
步骤一,判断进程是否存在?如果是,则返回错误,退出流程;如果否,则转入步骤二;
步骤二,读取配置文件;
步骤三,判断对应设备qdisc父规则是否已存在?如果否,则根据配置文件创建qdisc父规则,并转入步骤五;如果是,则转入步骤四;
步骤四,清理无用qdisc规则;
步骤五,判断IPTABLES mangle表中自定义标记的chain存在吗?如果否,创建IPTABLES mangle表中自定义标记的2条chain(),分别位于系统定义的prerouting和postrounting之后,在prerouting和postrounting chain中增加所有报文跳转到自定义chain处理的规则,并转入步骤六;如果是,直接转入步骤六;
步骤六,读取持久化数据库(简易);
步骤七,清理IPTABLES中的无用标记规则;
步骤八,读取用户标记信息与限度模板信息,转换为实际的IPTABLESAS规则条目列表和TC规则条目列表。
步骤九,判断IPTABLES mangle表中自定义标记的chain中存在该用户的标记规则吗?如果否,新增该用户的标记规则,在对应的自定义标记chain中增加对应条目,并转入步骤十;如果是,直接转入步骤十;
步骤十,判断TC qdsic中存在该用户的限速规则吗?如果否,则在TC qdsic中新增加该用户的限速规则;
步骤十一,判断是否为最后一个用户了吗?如果否,转入步骤八;如果是,转入步骤十二;
步骤十二,初始化完成,流程结束。
例子1:
图10是根据本申请例子1的限速系统用于通用VPN网关业务时序图,如图10所示,Vpn网关的服务端程序与限速系统部署在同一台服务器。Vpn服务程序启动完成后,将自身需要的网卡信息以及限速策略通过调用REST API的方式向限速系统同步;
当vpn客户端登录时,vpn服务端程序将其获取或分配的网络特征参数同步到限速系统,并在限速系统创建相关的user对象,将user对象和限速策略、网络特征集关联后,限速系统自动下发策略,保证限速策略的落地。
Vpn客户端下线时,vpn服务端将user对象与网络特征去关联,限速系统会自动删除相关用户的落于netfilter(提供一套hook函数的管理机制,使得诸如数据包过滤,网络地址转换NAT和基于协议类型的连接跟踪成为了可能)以及流量控制(Traffic Control)tcqdisc的相关规则。vpn服务端后续删除该用户的网络特征集。
图11是根据相关技术中的VPN网关系统实现限速业务时序图,如图11所示,在相关技术中,由于没有整个流程中没基于用户的概念,所有的流程需要管理员手工获取每个用户的网络特征后进行基于网络特征的规则配置,配置不能实现实时性和自动化,难以维护和管理。在VPN登录需要管理员手工获取用户的网络特征,VPN网关返回单用户的网络特征,管理员工下发该用户TC限速规则,以及TC qdisc向管理员通知规则OK,配置完成。
在VPN客户端下线时,管理员手工删除该用户的TC限速规则,TC qdisc向用户返回规则ok,配置完成。
例子2:
图12是根据本申请例子2的限速系统用于云桌面统一接入网关业务时序图,如图12所示,云桌面统一接入网关的服务端程序与限速系统部署在同一台服务器。云桌面统一接入网关程序启动完成后,将自身需要的网卡信息以及限速策略通过调用REST API的方式向限速系统同步;
当云桌面客户端登录时,云桌面统一接入网关服务端程序将其获取或分配的网络特征参数同步到限速系统,并在限速系统创建相关的user对象,将user对象和限速策略、网络特征集关联后,限速系统自动下发策略,保证限速策略的落地。
云桌面客户端下线时,云桌面统一接入网关服务端将user对象与网络特征去关联,限速系统会自动删除相关用户的落于netfilter以及tc qdisc的相关规则。云桌面统一接入网关服务端后续删除该用户的网络特征集。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
实施例二
在本实施例中还提供了一种带宽限速的装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
根据本申请的另一个实施例,还提供了一种带宽限速的装置,应用于Linux系统,包括:
接收模块,用于接收到第一帐号发送的信息传输请求;
记录模块,用于将由所述信息传输请求触发传输的信息作为第一信息;
限速模块,用于通过预设关系获取与所述第一帐号对应的限速策略,依据所述限速策略限定传输所述第一信息的带宽。
通过本申请,Linux系统接收到第一帐号发送的信息传输请求;将由所述信息传输请求触发传输的信息作为第一信息;通过预设关系获取与所述第一帐号对应的限速策略,依据所述限速策略限定传输所述第一信息的带宽。采用上述方案,区分出与不同用户账号对应传输的信息,然后Linux系统使用预置的与该用户账号对应的限速策略,对上述信息进行限速,不再需要识别不同用户的数据包详细特征后配置繁琐的限速规则,流程简洁,解决了相关技术中对用户进行带宽限速时方案单一,处理流程繁琐的问题。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
实施例三
本申请的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的程序代码:
S1,Linux系统接收到第一帐号发送的信息传输请求;
S2,将由所述信息传输请求触发传输的信息作为第一信息;
S3,通过预设关系获取与所述第一帐号对应的限速策略,依据所述限速策略限定传输所述第一信息的带宽。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本申请的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输装置以及输入输出设备,其中,该传输装置和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,Linux系统接收到第一帐号发送的信息传输请求;
S2,将由所述信息传输请求触发传输的信息作为第一信息;
S3,通过预设关系获取与所述第一帐号对应的限速策略,依据所述限速策略限定传输所述第一信息的带宽。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本申请的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请不限制于任何特定的硬件和软件结合。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种带宽限速的方法,其特征在于,包括:
Linux系统接收到第一帐号发送的信息传输请求;
将由所述信息传输请求触发传输的信息作为第一信息;
通过预设关系获取与所述第一帐号对应的限速策略,依据所述限速策略限定传输所述第一信息的带宽。
2.根据权利要求1所述的方法,其特征在于,将由所述信息传输请求触发传输的信息作为第一信息,包括:
确定由所述信息传输请求触发的待要传输的数据;
通过IPTABLES系统为所述数据打上与所述第一帐号对应的第一标记,作为所述第一信息。
3.根据权利要求2所述的方法,其特征在于,通过IPTABLES系统为所述数据打上与所述第一帐号对应的第一标记,包括:
在Mangle表中的预路由prerouting链和路由后postrouting链中各增加自定义标记链,其中,所述自定义标记链上存储有为不同帐号打标记的规则;
依据所述自定义标记链为所述数据打上与所述第一帐号对应的第一标记。
4.根据权利要求2所述的方法,其特征在于,通过预设关系获取与所述第一帐号对应的限速策略,包括:
通过流量控制器TC依据不同数据上的标记进行数据分类,获取与所述第一标记对应的分类类别;
获取与所述分类类别对应的所述限速策略。
5.根据权利要求1所述的方法,其特征在于,将由所述信息传输请求触发传输的信息作为第一信息之后,所述方法还包括:
分析所述第一信息的多个网络特征,将所述多个网络特征关联至所述第一帐号;
使用netfilter系统为所述多个网络特征对应的数据包打上不同的标记。
6.根据权利要求5所述的方法,其特征在于,使用netfilter系统为所述多个网络特征对应的数据包打上不同的标记之后,所述方法还包括:
通过预设关系获取与所述第一帐号对应的限速策略,包括:通过所述预设关系获取与所述第一帐号的第一网络特征对应的限速策略;
依据所述限速策略限定传输所述第一信息的带宽,包括:依据所述限速策略对不同网络特征的数据包进行限速控制。
7.根据权利要求1所述的方法,其特征在于,Linux系统接收到第一帐号发送的信息传输请求之前,所述方法还包括:
接收触发信号,用于启动带宽限速。
8.一种带宽限速的装置,其特征在于,应用于Linux系统,包括:
接收模块,用于接收到第一帐号发送的信息传输请求;
记录模块,用于将由所述信息传输请求触发传输的信息作为第一信息;
限速模块,用于通过预设关系获取与所述第一帐号对应的限速策略,依据所述限速策略限定传输所述第一信息的带宽。
9.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至7任一项中所述的方法。
10.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行所述权利要求1至7任一项中所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910907536.4A CN112637081A (zh) | 2019-09-24 | 2019-09-24 | 带宽限速的方法及装置 |
PCT/CN2020/113332 WO2021057436A1 (zh) | 2019-09-24 | 2020-09-03 | 带宽限速的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910907536.4A CN112637081A (zh) | 2019-09-24 | 2019-09-24 | 带宽限速的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112637081A true CN112637081A (zh) | 2021-04-09 |
Family
ID=75166409
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910907536.4A Withdrawn CN112637081A (zh) | 2019-09-24 | 2019-09-24 | 带宽限速的方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112637081A (zh) |
WO (1) | WO2021057436A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115412505B (zh) * | 2022-11-01 | 2023-04-07 | 亿咖通(湖北)技术有限公司 | 数据流量限制方法、装置、电子设备及非易失性存储介质 |
CN116016353A (zh) * | 2022-12-06 | 2023-04-25 | 北京百度网讯科技有限公司 | 一种请求限速方法、装置、电子设备及存储介质 |
CN117241323B (zh) * | 2023-10-13 | 2024-03-26 | 广州丰石科技有限公司 | 一种基于物联网pcf的达量降速方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101594270A (zh) * | 2008-05-29 | 2009-12-02 | 英华达(上海)电子有限公司 | 一种无线接入点及其带宽分配方法 |
CN106357550A (zh) * | 2016-11-01 | 2017-01-25 | 天脉聚源(北京)传媒科技有限公司 | 一种基于Linux的网络流量控制方法及装置 |
US20180152380A1 (en) * | 2009-07-10 | 2018-05-31 | Aerohive Networks, Inc. | Bandwidth sentinel |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101964752B (zh) * | 2010-10-19 | 2013-02-06 | 杨忠明 | 一种动态调节资源分配的宽带网络接入方法 |
-
2019
- 2019-09-24 CN CN201910907536.4A patent/CN112637081A/zh not_active Withdrawn
-
2020
- 2020-09-03 WO PCT/CN2020/113332 patent/WO2021057436A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101594270A (zh) * | 2008-05-29 | 2009-12-02 | 英华达(上海)电子有限公司 | 一种无线接入点及其带宽分配方法 |
US20180152380A1 (en) * | 2009-07-10 | 2018-05-31 | Aerohive Networks, Inc. | Bandwidth sentinel |
CN106357550A (zh) * | 2016-11-01 | 2017-01-25 | 天脉聚源(北京)传媒科技有限公司 | 一种基于Linux的网络流量控制方法及装置 |
Non-Patent Citations (1)
Title |
---|
高旸 等: "一种基于Linux下TC的流量控制管理架构", 计算机工程与设计 * |
Also Published As
Publication number | Publication date |
---|---|
WO2021057436A1 (zh) | 2021-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101703088B1 (ko) | Sdn 기반의 통합 라우팅 방법 및 그 시스템 | |
WO2021057436A1 (zh) | 带宽限速的方法及装置 | |
KR101803332B1 (ko) | 사물 인터넷 네트워크 시스템 | |
CN109088820B (zh) | 一种跨设备链路聚合方法、装置、计算装置和存储介质 | |
US20200007445A1 (en) | Enhanced service function chain | |
CN104219127A (zh) | 一种虚拟网络实例的创建方法以及设备 | |
CN105429879B (zh) | 流表项查询方法、设备及系统 | |
CN108289061B (zh) | 基于sdn的业务链拓扑系统 | |
CN106850568B (zh) | 多通道协议的会话老化方法及装置 | |
CN110971434B (zh) | 管理内网网络设备的方法、装置和系统 | |
CN103595551A (zh) | 基于mqc实现网络虚拟化的网络管理方法和装置 | |
CN114422160B (zh) | 一种虚拟防火墙的设置方法、装置、电子设备和存储介质 | |
CN106506409B (zh) | 一种网管交换机的管理方法及网管交换机 | |
CN108809795B (zh) | 一种局域网环境中透明分流方法和装置 | |
EP4340318A1 (en) | Routing obtaining method and apparatus, storage medium, and electronic apparatus | |
WO2017193814A1 (zh) | 一种业务链生成方法及系统 | |
KR101729945B1 (ko) | Sdn 기반의 네트워크 시스템의 멀티 테넌트 지원 방법 | |
CN101577647B (zh) | 一种支持多vlan的告警箱及其告警处理方法 | |
KR101729939B1 (ko) | Sdn 기반의 멀티 테넌트 지원 네트워크 시스템 | |
CN114978563A (zh) | 一种封堵ip地址的方法及装置 | |
US10819632B2 (en) | Routers and methods for traffic management | |
KR101806376B1 (ko) | Ip 주소 제공하는 sdn 기반의 멀티 테넌트 지원 네트워크 시스템 | |
CN110958185B (zh) | 基于业务的QoS配置方法及装置 | |
CN116016034B (zh) | 一种基于sdn的业务路径调度方法及装置 | |
KR20190054224A (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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20210409 |