CN102281185A - 一种基于tc和iptables 17-filter的应用层流量控制方法 - Google Patents

一种基于tc和iptables 17-filter的应用层流量控制方法 Download PDF

Info

Publication number
CN102281185A
CN102281185A CN2010101993282A CN201010199328A CN102281185A CN 102281185 A CN102281185 A CN 102281185A CN 2010101993282 A CN2010101993282 A CN 2010101993282A CN 201010199328 A CN201010199328 A CN 201010199328A CN 102281185 A CN102281185 A CN 102281185A
Authority
CN
China
Prior art keywords
iptables
application layer
filter
network interface
flow control
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.)
Pending
Application number
CN2010101993282A
Other languages
English (en)
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.)
SUZHOU HIGHGUARD NETWORK TECHNOLOGY Co Ltd
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to CN2010101993282A priority Critical patent/CN102281185A/zh
Publication of CN102281185A publication Critical patent/CN102281185A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

一种基于tc和iptables 17-filter的应用层流量控制方法,该方法通过tc设置不同类型的网络接口队列,改变数据包发送的速率和优先级。通过对Linux防火墙iptables添加L7-filter补丁,使防火墙能够识别出各种应用层协议的类型,并在iptables的mangle表中对数据包进行标记,一种标记对应一个具体的网络接口队列。这样,同一种标记的应用层协议都会进到同一个网络接口队列中,达到了流量控制的目的。

Description

一种基于tc和iptables 17-filter的应用层流量控制方法
技术领域
本发明涉及计算机软件技术领域,尤其涉及一种流量控制方法,特别涉及一种一种基于tc和iptables 17-filter的应用层流量控制方法。 
背景技术
在各种网关应用中,经常需要对局域网用户访问外网的行为进行管理。以P2P为代表的下载软件,对带宽资源的占用越来越高。如果不加限制,会严重消耗企业的带宽资源,从而影响正常的业务数据的传输。 
如何正确识别出应用类型,并对应用类型利用的带宽进行管理,通常采用分析数据包,根据协议类型(TCP、UDP、ICMP)、端口等来实现识别应用类型的目的。但某些应用在设计的时候就加入了突破防火墙的设置,所用端口号可以随机生成,甚至可以采用常用端口号(如80)等,这样就不能很好地识别出应用类型。 
本发明通过分析应用类型数据包的特征值,来对应用类型进行匹配。采用特征值匹配的方式,可以大大降低误判的机率。在通过iptables防火墙时,在mangle表处对被识别出的应用类型打上相应的标记,利用tc实现流量控制的目的。 
发明内容
本发明的目的是提供一种基于tc和iptables 17-filter的应用层流量控制方法。该方法综合利用tc和iptables防火墙,解决无法对正确识别应用层协议并对鞭占用带宽进行限制的问题。 
本发明的目的可以通过以下技术方案来实现: 
一种基于tc和iptables 17-filter的应用层流量控制方法,该方法通过tc设置不同类型的网络接口队列,改变数据包发送的速率和优先级。通过对Linux防火墙iptables添加L7-filter补丁,使防火墙能够识别出各种应用层协议的类型,并在iptables的mangle表中对数据包进行标记,一种标记对应一个具体的网络接口队列。这样,同一种标记的应用层协议都会进到同一个网络接口队列中,达到了流量控制的目的。 
本发明的有益效果为:本发明方法有效结合tc和iptables防火墙,通过iptables将正则表达式表示的特征码传给内核模块,内核根据连接表匹配数据包。能够正确识别出应用层协议类型,通过将应用层协议打上不同的标记,使其进入到不同的网络接口队列中。不同的网络接口队列对应不同的数据包发送速率和优先级。该方法能够正确识别应用层协议类型,避免了针对端口来限制带宽的弊端。 
具体实施方式
为使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体实施方式,进一步阐述本发明。 
一种基于tc和iptables 17-filter的应用层流量控制方法,该方法通过tc设置不同类型的网络接口队列,改变数据包发送的速率和优先级。通过对Linux防火墙iptables添加L7-filter补丁,使防火墙能够识别出各种应用层协议的类型,并在iptables的mangle表中对数据包进行标记,一种标记对应一个具体的网络接口队列。 
在实施实例中,本发明使用一个具体的通道来进行说明。公司专线网络为4M,上下行带宽对等。因近期公司内部人员大量使用P2P对网络带宽造成很大的影响,所以需要对带宽进行流量控制。eth0为外网口,eth1为内网口。对上行流量需要在外网口eth0处控制,下行流量需要在内网口eth1处控制。内网用户为192.168.2.5。 
1)控制上行流量 
##创建一个HTB的根,缺省分类器为class 1 
tc qdisc add dev eth0 root handle 1:htb default 1 
##设置类1∶1总带宽 
tc class add dev eth0 parent 1:classid 1∶1 htb rate $upBandwidth ceil$maxUpBandwidth 
##设置分类器 
tc class add dev eth0 parent 1∶1 classid 1∶11 htb rate $speed1 ceil$maxSpeed1 prio 1 
tc class add dev eth0 parent 1∶1 classid 1∶12 htb rate $speed2 ceil$maxSpeed2 prio 2 
##设置队列规则 
tc qdisc add dev eth0 parent 1∶11 handle 11:sfq perturb 10 
tc qdisc add dev eth0 parent 1∶12 handle 12:sfq perturb 10 
##设置过滤规则 
tc filter add dev eth0 protocol ip parent 1∶0 prio 1 handle 1 fw flowid1∶11
tc filter add dev eth0 protocol ip parent 1∶0 prio 1 handle 2 fw flowid 1∶12 
2)控制下行流量 
##创建一个HTB的根,缺省分类器为class 1 
tc qdi sc add dev eth1 root handle 1:htb default 1 
##设置类1∶1总带宽 
tc class add dev eth1 parent 1:classid 1∶1 htb rate $downBandwidth ceil$maxdownBandwidth 
##设置分类器 
tc class add dev eth1 parent 1∶1 classid 1∶11 htb rate $speed3 ceil$maxSpeed3 prio 1 
tc class add dev eth1 parent 1∶1 classid 1∶12 htb rate $speed4 ceil$maxSpeed4 prio 2 
##设置队列规则 
tc qdisc add dev eth1 parent 1∶11 handle 11:sfq perturb 10 
tc qdisc add dev eth1 parent 1∶12 handle 12:sfq perturb 10 
##设置过滤规则 
tc filter add dev eth0 protocol ip parent 1∶0 prio 1 handle 3 fw flowid1∶11
tc filter add dev eth0 protocol ip parent 1∶0 prio 1 handle 4 fw flowid1∶12
3)设置iptables规则 
iptables-t mangle-A PREROUTING-i eth1 -m layer7 --17proto edonkey -s192.168.2.5 -j MARK --set-mark 1 
iptables -t mangle -A PREROUTING -i eth1 -m layer7 --17proto edonkey -s192.168.2.5 -j RETURN 
iptables-t mangle-A PREROUTING-i eth1 -m layer7 --17proto xunlei -s192.168.2.5 -j MARK --set-mark 2 
iptables-t mangle-A PREROUTING-i eth1 -m layer7 --17proto xunlei -s192.168.2.5 -j RETURN 
iptables-t mangle-A POSTROUTING-o eth1 -m layer7 --17proto edonkey -d192.168.2.5 -j MARK --set-mark 3 
iptables -t mangle -A POSTROUTING -o eth1 -m layer7 --17proto edonkey -d192.168.2.5 -j RETURN 
iptables -t mangle -A POSTROUTING -o eth1 -m layer7 --17proto xunlei -d192.168.2.5 -j MARK --set-mark 4 
iptables -t mangle -A POSTROUTING -o eth1 -m layer7 --17proto xunlei -d192.168.2.5 -j RETURN 
附图说明:
图1:流量控制作用于iptables流程图。 

Claims (1)

1.一种基于tc和iptables 17-filter的应用层流量控制方法,其特征在于:通过tc设置不同类型的网络接口队列,改变数据包发送的速率和优先级。通过对Linux防火墙iptables添加L7-filter补丁,使防火墙能够识别出各种应用层协议的类型,并在iptables的mangle表中对数据包进行标记,一种标记对应一个具体的网络接口队列。这样,同一种标记的应用层协议都会进到同一个网络接口队列中,达到了流量控制的目的。
CN2010101993282A 2010-06-12 2010-06-12 一种基于tc和iptables 17-filter的应用层流量控制方法 Pending CN102281185A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2010101993282A CN102281185A (zh) 2010-06-12 2010-06-12 一种基于tc和iptables 17-filter的应用层流量控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2010101993282A CN102281185A (zh) 2010-06-12 2010-06-12 一种基于tc和iptables 17-filter的应用层流量控制方法

Publications (1)

Publication Number Publication Date
CN102281185A true CN102281185A (zh) 2011-12-14

Family

ID=45106379

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010101993282A Pending CN102281185A (zh) 2010-06-12 2010-06-12 一种基于tc和iptables 17-filter的应用层流量控制方法

Country Status (1)

Country Link
CN (1) CN102281185A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105245464A (zh) * 2015-08-27 2016-01-13 北京华夏创新科技有限公司 一种基于安卓系统的网络加速方法
CN107204923A (zh) * 2017-05-24 2017-09-26 全讯汇聚网络科技(北京)有限公司 一种协议分流方法、系统及路由器
CN111262833A (zh) * 2020-01-08 2020-06-09 广东电力通信科技有限公司 一种网络安全处理方法、终端及存储介质

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105245464A (zh) * 2015-08-27 2016-01-13 北京华夏创新科技有限公司 一种基于安卓系统的网络加速方法
CN107204923A (zh) * 2017-05-24 2017-09-26 全讯汇聚网络科技(北京)有限公司 一种协议分流方法、系统及路由器
CN107204923B (zh) * 2017-05-24 2020-06-02 全讯汇聚网络科技(北京)有限公司 一种协议分流方法、系统及路由器
CN111262833A (zh) * 2020-01-08 2020-06-09 广东电力通信科技有限公司 一种网络安全处理方法、终端及存储介质
CN111262833B (zh) * 2020-01-08 2022-05-06 广东电力通信科技有限公司 一种网络安全处理方法、终端及存储介质

Similar Documents

Publication Publication Date Title
US10447594B2 (en) Ensuring predictable and quantifiable networking performance
Narayan et al. Restructuring endpoint congestion control
CN111770028B (zh) 用于计算机网络的方法和网络设备
Shieh et al. Seawall: Performance isolation for cloud datacenter networks
CN111682952B (zh) 针对体验质量度量的按需探测
US10205667B2 (en) Credit flow control for ethernet
US9497125B2 (en) Congestion control enforcement in a virtualized environment
US20200296023A1 (en) Real-time application-driven synthetic probing
Marfia et al. Tcp libra: Exploring rtt-fairness for tcp
EP3442180B1 (en) Congestion processing method, host, and system
US20190149475A1 (en) Unified streamlining for data traffic
Wang et al. TCP congestion control algorithm for heterogeneous Internet
CN102577248A (zh) 用于nat设备的检测的方法和装置
CN114006937A (zh) 应用服务级别协议的动态预测和管理
CN114006829B (zh) 基于历史数据合成探测参数的方法、网络设备和介质
CN102281185A (zh) 一种基于tc和iptables 17-filter的应用层流量控制方法
CN102932368B (zh) 一种跨网络http安全访问方法及系统
US20130275552A1 (en) Virtual desktop system
Kato et al. mpCUBIC: A CUBIC-like congestion control algorithm for multipath TCP
e Silva et al. TCP proactive congestion control for east-west traffic: The marking threshold
CN103685021A (zh) 数据传输方法及装置
JP6263452B2 (ja) 帯域制御システム、帯域制御方法、及びプログラム
EP3352419A1 (en) Router and method for traffic management
Nainar et al. Packet Capture and Analysis
Han et al. A fine-grain partial MAC virtualization to support cross layer design in wireless ad hoc networks

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
ASS Succession or assignment of patent right

Owner name: SUZHOU HIGH GUARD NETWORK TECHNOLOGY CO., LTD.

Free format text: FORMER OWNER: WANG CONGSHENG

Effective date: 20120214

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20120214

Address after: 2 C201 room 215021, international science and Technology Park, 1355 Jinji Lake Avenue, Suzhou Industrial Park, Jiangsu, China

Applicant after: Suzhou Highguard Network Technology Co., Ltd.

Address before: Two C201 room 215021, international science and Technology Park, 1355 Jinji Lake Avenue, Suzhou Industrial Park, Jiangsu, China

Applicant before: Wang Congsheng

C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20111214