在如今的網路界,也許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演算法來實現流量的控...