置頂 Linux 流量控制

2021-09-09 03:06:12 字數 3466 閱讀 8547

在如今的網路界,也許tc知道的人並不多了,這篇文章做留戀吧。

以前研究tc時記錄下的講解與配置檔案。

tc filter add dev eth0 parent 1:0 protocol ip prio 4 handle 4 fw classid 1:14 

# tc filter add dev eth0 parent 1:0 protocol ip prio 5 handle 5 fw classid 1:15 

這樣資料報會有乙個特定的fwmark標記值(hanlde x fw),表明它應該送給哪個類( classid x)。 

###/!sbin/bash

############ tc control [htb] #########

#varible setting

eth=eth0

s_net=192.168.0.1

#isp distribule ip

inter_ip=1.2.3.4

############snat#######################

#iptables -t nat -f

#iptables -t nat -i postrouting -s $s_net -o $eth -j snat --to-source $inter_ip

#iptables -t nat -a postrouting -s $s_net -o $eth -j masquerade

#clean existing down and uplink qdiscs,put the errors to /dev/null

tc qdisc del dev eth0 root 2> /dev/null > /dev/null

tc qdisc del dev eth0 ingress 2> /dev/null > /dev/null

tc qdisc del dev eth1 root 2> /dev/null > /dev/null

#root class

tc qdisc add dev $eth root handle 1: htb default 10

#classid

tc class add dev $eth parent 1:  classid 1:1  htb rate 2mbit ceil 3mbit

tc class add dev $eth parent 1:1 classid 1:11 htb rate 80kbit ceil 100kbit prio 1

tc class add dev $eth parent 1:1 classid 1:12 htb rate 500kbit ceil 550kbit prio 2

tc class add dev $eth parent 1:1 classid 1:13 htb rate 400kbit ceil 450kbit prio 3

tc class add dev $eth parent 1:1 classid 1:14 htb rate 400kbit ceil 450kbit prio 4

#bost get stochastic fairness:

tc qdisc add dev $eth parent 1:12 handle 12: sfq perturb 10

tc qdisc add dev $eth parent 1:13 handle 13: sfq perturb 10

tc qdisc add dev $eth parent 1:14 handle 14: sfq perturb 10

#tos mininum delay (ssh,telnet) in 1:11:

tc filter add dev $eth parent 1:0 protocol ip prio 1 handle 1 fw classid 1:11

#80,8080,443 in 1:12

tc filter add dev $eth parent 1:0 protocol ip prio 2 handle 2 fw classid 1:12

#ftp-data in 1:13

tc filter add dev $eth parent 1:0 protocol ip prio 3 handle 3 fw classid 1:13

#smtp,pop3 in 1:14

tc filter add dev $eth parent 1:0 protocol ip prio 4 handle 4 fw classid 1:14

###############iptables handle############

#clear mangle rules

iptables -t mangle -f

# ssh,telnet

iptables -t mangle -a prerouting -s $s_net  -p tcp --dport 22 -j mark --set-mark 1

iptables -t mangle -a prerouting -s $s_net  -p tcp --dport 23 -j mark --set-mark 1

#80,8080,443

iptables -t mangle -a prerouting -s $s_net  -p tcp --syn --dport 80  -j mark --set-mark 2

iptables -t mangle -a prerouting -s $s_net  -p tcp --syn --dport 8080  -j mark --set-mark 2

iptables -t mangle -a prerouting -s $s_net  -p tcp --syn --dport 443  -j mark --set-mark 2

#ftp-data

iptables -t mangle -a prerouting -s $s_net  -p tcp --dport 21 -j mark --set-mark 3

iptables -t mangle -a prerouting -s $s_net  -p tcp --dport 22 -j mark --set-mark 3

#smtp,pop3

iptables -t mangle -a prerouting -s $s_net  -p tcp --dport 25  -j mark --set-mark 4

iptables -t mangle -a prerouting -s $s_net  -p tcp --dport 110 -j mark --set-mark 4

###########show tc mangle##############

tc qdisc show dev $eth

tc class show dev $eth

tc filter show dev $eth

iptables -t mangle -l prerouting

##end

echo "[+] setting tc(htb) successful"

mysql流量控制 UDP流量控制之分析

關健字 udpudx udttcp 吞吐量流量 代寬擁塞控制 大都知道,udp是不可靠傳輸協議與tcp剛好相反.不過因為udp的特性適合傳輸不需要確認的資料,在應用層如果設計好的傳輸協議一樣可以進行很好的可靠傳輸.比如rudp協議.但是光可靠傳輸還不夠,流量控制是很重要的.我們從簡單的情況說起來說明...

流量控制原則

對於tcp ip一書中tcp部分,我認為關鍵要掌握3點 1.建鏈和拆鏈過程 2.資料互動規則 3.流量控制原則 針對這幾點,我進行了簡要概括,希望有助於初學者理解 流量控制原則 個人對於流量控制的理解,就是平衡一系列的矛盾,使資料 傳輸各方面的綜合成本最低。某個時間點,網路的容量或是某個連線的容量總...

TCP流量控制

一般來說,我們總是希望資料傳輸的更快一些,但如果傳送方把資料傳送的很快,而接收方來不及接收,這就可能造成資料的丟失。流量控制就是讓傳送方的傳送速率不要太快,讓接收方來得及接收。對於成塊資料流,tcp利用滑動視窗機制來實現流量的控制,對於互動資料流,tcp利用捎帶ack和nagle演算法來實現流量的控...