关于tc htb 平均分配内网带宽的问题

yqzq
关于tc htb 平均分配内网带宽的问题

我使用一台linux2.4做router, 用NAT使背后的两台机器上网

我参考网上的例子,想实现平均分配带宽, 我的出口带宽为 18Mbits,  脚本如下:
iptables -t mangle -F FORWARD.
tc qdisc del root dev ixp1.
tc qdisc del root dev br0.

tc qdisc add dev ixp1 root handle 1:0  htb  default 12       .
tc class add dev ixp1 parent 1: classid 1:1 htb rate 18432Kbit.
tc class add dev ixp1 parent 1:1 classid 1:10 htb rate 6144Kbit ceil 18432Kbit
tc class add dev ixp1 parent 1:1 classid 1:11 htb rate 6144Kbit ceil 18432Kbit
tc class add dev ixp1 parent 1:1 classid 1:12 htb rate 6144Kbit ceil 18432Kbit
tc qdisc add dev br0 root handle 2:0  htb  default 12        .
tc class add dev br0 parent 2: classid 2:1 htb rate 18432Kbit.
tc class add dev br0 parent 2:1 classid 2:10 htb rate 6144Kbit ceil 18432Kbit
tc class add dev br0 parent 2:1 classid 2:11 htb rate 6144Kbit ceil 18432Kbit
tc class add dev br0 parent 2:1 classid 2:12 htb rate 6144Kbit ceil 18432Kbit

iptables -t mangle -A FORWARD -o ixp1 -m mac --mac-source 00:1d:7d:c3:32:24 -j MARK --set-mark 2.
iptables -t mangle -A FORWARD -o ixp1 -m mac --mac-source 00:1d:7d:c3:32:24 -j RETURN.
tc filter add dev ixp1 protocol ip parent 1:0 prio 30 handle 2 fw flowid 1:10.
tc qdisc add dev ixp1 parent 1:10 handle 20: sfq perturb 10.
iptables -t mangle -A FORWARD -o ixp1 -m mac --mac-source 00:12:3f:82:4c:15 -j MARK --set-mark 3.
iptables -t mangle -A FORWARD -o ixp1 -m mac --mac-source 00:12:3f:82:4c:15 -j RETURN.
tc filter add dev ixp1 protocol ip parent 1:0 prio 30 handle 3 fw flowid 1:11.
tc qdisc add dev ixp1 parent 1:11 handle 30: sfq perturb 10.
tc qdisc add dev ixp1 parent 1:12 handle 40: sfq perturb 10.
tc filter add dev br0 protocol ip parent 2:0 prio 1 u32 match u16 0x0800 0xffff at -2 match u32 0x7DC33224 0xffffffff at -12 match u16 0x001D 0xffff at -14 flowid 2:10.
tc qdisc add dev br0 parent 2:10 handle 20: pfifo limit 5.
tc filter add dev br0 protocol ip parent 2:0 prio 1 u32 match u16 0x0800 0xffff at -2 match u32 0x3F824C15 0xffffffff at -12 match u16 0x0012 0xffff at -14 flowid 2:11.
tc qdisc add dev br0 parent 2:11 handle 30: pfifo limit 5.
tc qdisc add dev br0 parent 2:12 handle 40: sfq perturb 10.


我使用bricks测试带宽的时候,发现 总带宽可以很好的控制在18Mbits, 但是两台PC的带宽分配并不平均啊, 似乎不是跟机器有关,而是跟连接数有关系, 例如: LAN上的两台 PC1 PC2
PC1 开4个bricks 向外网发数据,  PC2 开2个bricks向外网发数据。 带宽分配的结果是,pc1 可以分到12M ,而PC2只有6M, 请问这是为什么?
谢谢

[[i] 本帖最后由 yqzq 于 2008-5-19 10:01 编辑 [/i]]

lxc521
你试用一台试
再两台试
后再三台以上机子试你就会明白了


TC只针对interface的