CN112087395B - 一种服务形式的分级流量控制方法 - Google Patents

一种服务形式的分级流量控制方法 Download PDF

Info

Publication number
CN112087395B
CN112087395B CN202010882388.8A CN202010882388A CN112087395B CN 112087395 B CN112087395 B CN 112087395B CN 202010882388 A CN202010882388 A CN 202010882388A CN 112087395 B CN112087395 B CN 112087395B
Authority
CN
China
Prior art keywords
flow control
flow
address
service
node
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
Application number
CN202010882388.8A
Other languages
English (en)
Other versions
CN112087395A (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.)
Inspur Cloud Information Technology Co Ltd
Original Assignee
Inspur Cloud Information Technology 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 Inspur Cloud Information Technology Co Ltd filed Critical Inspur Cloud Information Technology Co Ltd
Priority to CN202010882388.8A priority Critical patent/CN112087395B/zh
Publication of CN112087395A publication Critical patent/CN112087395A/zh
Application granted granted Critical
Publication of CN112087395B publication Critical patent/CN112087395B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/80Actions related to the user profile or the type of traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开一种服务形式的分级流量控制方法,涉及网络通信技术领域,包括:建立流控服务,在流控服务中标记被管理的网络设备;客户端程序配置流控规则,同时,向流控服务发送配置流控规则的请求;流控服务接收客户端程序的请求,并形成流控指令;流控服务根据流控指令查询路由表获得具体网络设备的名称,随后再根据流控指令设置该网络设备的流控规则。本发明可以确保计算机外发流量既能在不超过网络物理限额的前提下获得额定速率,又能在网络速率富余的情况下按照优先级依序分配流量,使得各网络连接既能满足基本需求,又能协调的充分利用总体流量。

Description

一种服务形式的分级流量控制方法
技术领域
本发明涉及网络通信技术领域,具体的说是一种服务形式的分级流量控制方法。
背景技术
在共享网络流量的环境中,高性能网络程序在发送数据时可能使用过多流量,以致影响其他网络程序运行。另一方面,如果发送的数据超出接收方处理能力,也会对接收方形成冲击。因此建立有效的流量控制方法是非常必要的。
现有文献公开了一种实现业务流量控制的方法及系统,专利号200610127692.1,该文献通过业务成功率阈值,根据发送节点与接收节点之间的业务成功率与业务成功率阈值,调整接收节点对应的流控参数。
现有Linux内核自2.2版起提供了流量控制手段,但需要通过命令设置流控规则,需要用户维护以十六进制数字标识的分类标识,使用较为不便。
基于此,确保计算机外发流量既能在不超过网络物理限额的前提下获得额定速率,又能在网络速率富余的情况下按照优先级依序分配流量,研发人员设计了一种服务形式的分级流量控制方法。
发明内容
本发明针对目前技术发展的需求和不足之处,提供一种服务形式的分级流量控制方法,确保计算机外发流量既能在不超过网络物理限额的前提下获得额定速率,又能在网络速率富余的情况下按照优先级依序分配流量,使得各网络连接既能满足基本需求,又能协调的充分利用总体流量。
本发明的一种服务形式的分级流量控制方法,解决上述技术问题采用的技术方案如下:
一种服务形式的分级流量控制方法,包括如下步骤:
步骤S1、建立流控服务,在流控服务中标记被管理的网络设备,
步骤S2、客户端程序配置流控规则,同时,向流控服务发送配置流控规则的请求,
步骤S3、流控服务接收客户端程序的请求,并形成流控指令,
步骤S4、流控服务根据流控指令查询路由表获得具体网络设备的名称,随后再根据流控指令设置该网络设备的流控规则。
进一步的,步骤S1中,所涉及流控服务将被标记的网络设备组织为二叉树链表的形式,形成设备链表;设备链表中的每个节点对应一个网络设备,基于步骤S3形成的流控指令,每个网络设备的节点下挂一棵根据流控指令形成的流控分类树,每棵流控分类树有唯一的根节点,代表从该网络设备发出的全部流量。
更进一步的,步骤S2中,基于被标记网络设备的源地址、目标地址、源端口、目的端口,客户端程序配置三级流控规则,三级流控规则包括:
基于源地址的第一级控制源端流量规则,
基于源地址和目标地址的第二级控制路由流量规则,
基于源地址、目标地址、源端口、目的端口的第三级控制连接流量规则。
更进一步的,所涉及根节点、第一级控制源端流量规则的节点、第二级控制路由流量规则的节点设有过滤器,过滤器通过源地址、目标地址、源端口、目的端口的参数过滤流量导向至下级节点,下级节点的封顶速率之和不超过父节点的封顶速率。
更进一步的,步骤S3中,所涉及流控指令的内容包含源IP地址、目的IP地址、源端口、目的端口、额定速率、封顶速率、优先级;其中,
流控指令内部统一使用128位表示源IP地址、目的IP地址,兼容IPv4和IPv6,
速率参数单位为kBps,参数类型为64位整数,
优先级设计为1~10共10级,数字越小越优先分配额外内存,内部使用16位无符号整数表示优先级,具备扩展至65535级的能力。
更进一步的,步骤S4中,所涉及流控服务根据流控指令的源IP地址和/或目的IP地址查询路由表获得具体网络设备的名称。
更进一步的,所涉及流控服务根据流控指令查询路由表获得具体网络设备的名称后,进一步查询网络设备和流量分类节点,
在不具备网络设备和流量分类节点时,创建并添加网络设备到设备链表中,创建并添加流量分类节点到流量分类树中,同时,创建过滤器,实现流量导向,
在具备网络设备和流量分类节点时,直接更新网络设备和流量分类节点的参数。
更进一步的,所涉及流控服务根据流控指令设置该网络设备的流控规则时,
首先向网络设备的各连接分配额定流量,
然后在流量富裕的情况下,按照流控指令设置的优先级依次为各连接分配流量,直至各连接达到所设封顶流量或上级流量已全部分配为止。
优选的,所涉及流控服务内置多个消息队列,
其中一个消息队列接收客户端程序的请求,并形成流控指令,
另一个消息队列接收并存储该流控指令。
优选的,所涉及流控服务和所述流控规则使用共享内存保存;
流控服务具有唯一实例约束。
本发明的一种服务形式的分级流量控制方法,与现有技术相比具有的有益效果是:
本发明可以确保计算机外发流量既能在不超过网络物理限额的前提下获得额定速率,又能在网络速率富余的情况下按照优先级依序分配流量,使得各网络连接既能满足基本需求,又能协调的充分利用总体流量;无需客户端程序依赖网络管理权限,降低了安全风险。
附图说明
附图1是本发明的方法流程图。
具体实施方式
为使本发明的技术方案、解决的技术问题和技术效果更加清楚明白,以下结合具体实施例,对本发明的技术方案进行清楚、完整的描述。
实施例一:
结合附图1,本实施例提出一种服务形式的分级流量控制方法,包括如下步骤:
步骤S1、建立流控服务,将其部署于计算机,在流控服务中标记被管理的网卡设备。
本步骤中,流控服务将被标记的网卡设备组织为二叉树链表的形式,形成设备链表,设备链表中的每个节点对应一个网卡设备。
步骤S2、客户端程序配置流控规则,同时,向流控服务发送配置流控规则的请求。
本步骤中,根据被标记网卡设备的源地址、目标地址、源端口、目的端口,客户端程序配置三级流控规则,三级流控规则包括:
基于源地址的第一级控制源端流量规则,
基于源地址和目标地址的第二级控制路由流量规则,
基于源地址、目标地址、源端口、目的端口的第三级控制连接流量规则。
步骤S3、控服务接收客户端程序的请求,并形成流控指令。具体实现时,在流控服务内置多个消息队列,通过其中一个消息队列接收客户端程序的请求,并形成流控指令,通过另一个消息队列接收并存储该流控指令。
本步骤中,流控指令的内容包含源IP地址、目的IP地址、源端口、目的端口、额定速率、封顶速率、优先级。其中,
流控指令内部统一使用128位表示源IP地址、目的IP地址,兼容IPv4和IPv6;
速率参数单位为kBps,即流控最小粒度为千字节每秒,参数类型为64位整数,即足以容纳PB级流量,满足相当长时间内的扩展要求。
优先级设计为1~10共10级,数字越小越优先分配额外内存,内部使用16位无符号整数表示优先级,具备扩展至65535级的能力。
本步骤中,基于设备链表中的每个节点对应一个网卡设备,将每个网卡设备的节点下挂一棵根据流控指令形成的流控分类树,每棵流控分类树有唯一的根节点,代表从该网卡设备发出的全部流量。
根节点、第一级控制源端流量规则的节点、第二级控制路由流量规则的节点设有过滤器,过滤器通过源地址、目标地址、源端口、目的端口的参数过滤流量导向至下级节点。下级节点除了自身速率设置外,还受上级流量控制规则的约束,即下级节点的封顶速率之和不超过父节点的封顶速率。
步骤S4、流控服务根据流控指令的源IP地址和/或目的IP地址查询路由表获得具体网卡设备的名称,随后再根据流控指令设置该网卡设备的流控规则。
本步骤中,流控服务根据流控指令查询路由表获得具体网卡设备的名称后,进一步查询网卡设备和流量分类节点,
在不具备网卡设备和流量分类节点时,创建并添加网卡设备到设备链表中,创建并添加流量分类节点到流量分类树中,同时,创建过滤器,实现流量导向;
在具备网卡设备和流量分类节点时,直接更新网卡设备和流量分类节点的参数。
本步骤中,流控服务根据流控指令设置该网卡设备的流控规则时,
首先向网卡设备的各连接分配额定流量,
然后在流量富裕的情况下,按照流控指令设置的优先级依次为各连接分配流量,直至各连接达到所设封顶流量或上级流量已全部分配为止。
本实施例具体实施过程中,具体网络连接所发数据如果低于设定速率,可以积累一定“配额”,后期有数据发送需求时,可通过消耗配额临时突破速率限制,以便尽快完成网络发送。配额耗尽后速率即回落到设定速率。
本实施例具体实施过程中,流控服务和所述流控规则使用共享内存保存,与计算机内核具有相同的持久性,即使流控服务重启后也能保持对原有流控规则的感知并继续处理新流控指令。
本实施例具体实施过程中,流控服务具有唯一实例约束,避免计算机的多个网卡设备同时启动时造成网卡上各连接的冲突。
本实施例以在Linux环境中的应用进行举例,实际上,本实施例的思想也可拓展到Unix、Windows等操作系统环境中。
综上可知,采用本发明的一种服务形式的分级流量控制方法,可以确保计算机外发流量既能在不超过网卡物理限额的前提下获得额定速率,又能在网卡速率富余的情况下按照优先级依序分配流量,使得各网卡连接既能满足基本需求,又能协调的充分利用总体流量。
以上应用具体个例对本发明的原理及实施方式进行了详细阐述,这些实施例只是用于帮助理解本发明的核心技术内容。基于本发明的上述具体实施例,本技术领域的技术人员在不脱离本发明原理的前提下,对本发明所作出的任何改进和修饰,皆应落入本发明的专利保护范围。

Claims (6)

1.一种服务形式的分级流量控制方法,其特征在于,包括如下步骤:
步骤S1、建立流控服务,在流控服务中标记被管理的网络设备,且所述流控服务将被标记的网络设备组织为二叉树链表的形式,形成设备链表;所述流控服务内置多个消息队列,其中一个消息队列接收客户端程序的请求,并形成流控指令,另一个消息队列接收并存储该流控指令;
步骤S2、基于被标记网络设备的源地址、目标地址、源端口、目的端口,客户端程序配置三级流控规则,三级流控规则包括:基于源地址的第一级控制源端流量规则,基于源地址和目标地址的第二级控制路由流量规则,基于源地址、目标地址、源端口、目的端口的第三级控制连接流量规则;同时,向流控服务发送配置流控规则的请求;
步骤S3、流控服务接收客户端程序的请求,并形成流控指令,此时,设备链表中的每个节点对应一个网络设备,基于形成的流控指令,每个网络设备的节点下挂一棵根据流控指令形成的流控分类树,每棵流控分类树有唯一的根节点,代表从该网络设备发出的全部流量,且根节点、第一级控制源端流量规则的节点、第二级控制路由流量规则的节点设有过滤器,过滤器通过源地址、目标地址、源端口、目的端口的参数过滤流量导向至下级节点,下级节点的封顶速率之和不超过父节点的封顶速率;
步骤S4、流控服务根据流控指令查询路由表获得具体网络设备的名称,随后再根据流控指令设置该网络设备的流控规则。
2.根据权利要求1所述的一种服务形式的分级流量控制方法,其特征在于,步骤S3中,所述流控指令的内容包含源IP地址、目的IP地址、源端口、目的端口、额定速率、封顶速率、优先级;其中,
所述流控指令内部统一使用128位表示源IP地址、目的IP地址,兼容IPv4和IPv6,
速率参数单位为kBps,参数类型为64位整数,
优先级设计为1~10共10级,数字越小越优先分配额外内存,内部使用16位无符号整数表示优先级,具备扩展至65535级的能力。
3.根据权利要求2所述的一种服务形式的分级流量控制方法,其特征在于,步骤S4中,所述流控服务根据流控指令的源IP地址和/或目的IP地址查询路由表获得具体网络设备的名称。
4.根据权利要求3所述的一种服务形式的分级流量控制方法,其特征在于,步骤S4中,所述流控服务根据流控指令查询路由表获得具体网络设备的名称后,进一步查询网络设备和流量分类节点,
在不具备网络设备和流量分类节点时,创建并添加网络设备到设备链表中,创建并添加流量分类节点到流量分类树中,同时,创建过滤器,实现流量导向,
在具备网络设备和流量分类节点时,直接更新网络设备和流量分类节点的参数。
5.根据权利要求3所述的一种服务形式的分级流量控制方法,其特征在于,步骤S4中,所述流控服务根据流控指令设置该网络设备的流控规则时,
首先向网络设备的各连接分配额定流量,
然后在流量富裕的情况下,按照流控指令设置的优先级依次为各连接分配流量,直至各连接达到所设封顶流量或上级流量已全部分配为止。
6.根据权利要求1-5中任一项所述的一种服务形式的分级流量控制方法,其特征在于,所述流控服务和所述流控规则使用共享内存保存;
所述流控服务具有唯一实例约束。
CN202010882388.8A 2020-08-28 2020-08-28 一种服务形式的分级流量控制方法 Active CN112087395B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010882388.8A CN112087395B (zh) 2020-08-28 2020-08-28 一种服务形式的分级流量控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010882388.8A CN112087395B (zh) 2020-08-28 2020-08-28 一种服务形式的分级流量控制方法

Publications (2)

Publication Number Publication Date
CN112087395A CN112087395A (zh) 2020-12-15
CN112087395B true CN112087395B (zh) 2022-06-24

Family

ID=73728310

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010882388.8A Active CN112087395B (zh) 2020-08-28 2020-08-28 一种服务形式的分级流量控制方法

Country Status (1)

Country Link
CN (1) CN112087395B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114513464B (zh) * 2021-12-31 2024-03-29 深圳市联洲国际技术有限公司 流量负载均衡调度方法、装置、设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6167445A (en) * 1998-10-26 2000-12-26 Cisco Technology, Inc. Method and apparatus for defining and implementing high-level quality of service policies in computer networks
CN102075423A (zh) * 2011-01-10 2011-05-25 中国人民解放军国防科学技术大学 基于硬件多级表的输出流量控制方法
CN109246023A (zh) * 2018-11-16 2019-01-18 锐捷网络股份有限公司 流量控制方法、网络设备及存储介质
CN111130838A (zh) * 2019-10-17 2020-05-08 国电南瑞科技股份有限公司 一种进程级服务实例动态扩展及网络带宽限制方法及装置
CN111490939A (zh) * 2020-03-30 2020-08-04 苏州瑞立思科技有限公司 一种支持高级策略配置高性能的windows网卡驱动方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101064637A (zh) * 2006-04-30 2007-10-31 华为技术有限公司 保证操作维护数据流服务质量的方法
CN106911778A (zh) * 2017-02-27 2017-06-30 网宿科技股份有限公司 一种流量引导方法和系统
CN109660400B (zh) * 2018-12-24 2021-06-25 思必驰科技股份有限公司 流控配置方法及系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6167445A (en) * 1998-10-26 2000-12-26 Cisco Technology, Inc. Method and apparatus for defining and implementing high-level quality of service policies in computer networks
CN102075423A (zh) * 2011-01-10 2011-05-25 中国人民解放军国防科学技术大学 基于硬件多级表的输出流量控制方法
CN109246023A (zh) * 2018-11-16 2019-01-18 锐捷网络股份有限公司 流量控制方法、网络设备及存储介质
CN111130838A (zh) * 2019-10-17 2020-05-08 国电南瑞科技股份有限公司 一种进程级服务实例动态扩展及网络带宽限制方法及装置
CN111490939A (zh) * 2020-03-30 2020-08-04 苏州瑞立思科技有限公司 一种支持高级策略配置高性能的windows网卡驱动方法

Also Published As

Publication number Publication date
CN112087395A (zh) 2020-12-15

Similar Documents

Publication Publication Date Title
JP3734704B2 (ja) パケット分類エンジン
CN106416132B (zh) 使用控制器处的交换机建模接口控制网络交换机的系统和方法
CA2358525C (en) Dynamic assignment of traffic classes to a priority queue in a packet forwarding device
US8619793B2 (en) Dynamic assignment of traffic classes to a priority queue in a packet forwarding device
US8095675B2 (en) Priority and bandwidth specification at mount time of NAS device volume
EP3664420B1 (en) Managing address spaces across network elements
US20020007360A1 (en) Apparatus and method for classifying information received by a communications system
JPH06350648A (ja) データ・パケットを貯蔵する方法及び装置
WO2007087275A2 (en) Method and system for improving traffic distribution across a communication network
US9602331B2 (en) Shared interface among multiple compute units
CN114070822B (zh) 一种Kubernetes Overlay IP地址管理方法
US20020078040A1 (en) Apparatus and method for providing a binary range tree search
US8630296B2 (en) Shared and separate network stack instances
CN112087395B (zh) 一种服务形式的分级流量控制方法
CN116982307A (zh) 用于在群聚基础设施中强制实施功能过滤规则的方法和计算设备
EP3461083B1 (en) Data processing method and device
CN111970149B (zh) 一种基于硬件防火墙qos的共享带宽实现方法
CN105681223A (zh) 一种sdn的数据包转发方法及装置
CN111464443B (zh) 基于服务功能链的报文转发方法、装置、设备及存储介质
US9584446B2 (en) Memory buffer management method and system having multiple receive ring buffers
CN113543234A (zh) 端口资源预留方法、电子设备及存储介质
KR20210016802A (ko) 소프트웨어 정의 네트워킹 환경에서 서버-클라이언트 기반의 네트워크 서비스를 위한 플로우 테이블을 최적화하는 방법 및 이를 위한 sdn 스위치
CN112165371B (zh) Bier自动配置管理bsl的方法、介质、设备及装置
CN111294406B (zh) 软件定义网络控制器混合映射方法
CN105827479A (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