QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 858|回复: 0

linux,TC,支持diffserv路由,望指点!

[复制链接]
发表于 2005-11-23 21:10:59 | 显示全部楼层 |阅读模式
[code:1]1
#!/bin/sh
TC=/root/Desktop/iproute2/tc/tc
$TC qdisc add dev eth0 handle 1:0 root dsmark indices 64
$TC class change dev eth0 classid 1:1 dsmark mask 0x3 value 0xb8
$TC class change dev eth0 classid 1:2 dsmark mask 0x3 value 0x68
$TC class change dev eth0 classid 1:3 dsmark mask 0x3 value 0x48
$TC filter add dev eth0 parent 1:0 protocol ip prio 4 handle 1: u32 divisor 1
$TC filter add dev eth0 parent 1:0 protocol ip prio 5 handle 2: u32 divisor 1
$TC filter add dev eth0 parent 1:0 prio 4 u32 match ip dst 192.168.40.0/24 police rate 100Mbit burst 2K continue flowid 1:1
$TC filter add dev eth0 parent 1:0 prio 5 u32 match ip dst 192.168.40.0/24 flowid 1:2
$TC filter add dev eth0 parent 1:0 prio 4 u32 match ip src 192.168.10.0/24 dst 192.168.40.0/24 match ip protocol 6 0xff match ip dport 0x17 0xffff flowid 1:3


2
#!/bin/sh
TC=/root/Desktop/iproute2/tc/tc
$TC qdisc add dev eth1 handle 1:0 root dsmark indices 64 set_tc_index
$TC filter add dev eth1 parent 1:0 protocol ip prio 1 tcindex mask 0xfc shift 2
$TC qdisc add dev eth1 parent 1:0 handle 2:0 cbq bandwidth 100Mbit allot 1514 cell 8 avpkt 1000 mpu 64
$TC class add dev eth1 parent 2:0 classid 2:1 cbq bandwidth 100Mbit rate 90Mbit avpkt 1000 prio 1 bounded isolated allot 1514 weight 1 maxburst 10 defmap 1
$TC qdisc add dev eth1 parent 2:1 pfifo limit 5
$TC filter add dev eth1 parent 2:0 protocol ip prio 1 handle 0x2e tcindex classid 2:1 pass_on
$TC class add dev eth1 parent 2:0 classid 2:2 cbq bandwidth 100Mbit rate 5Mbit avpkt 1000 prio 7 allot 1514 weight 1 maxburst 21 borrow
$TC qdisc add dev eth1 parent 2:2 red limit 60KB min 15KB max 45KB burst 20 avpkt 1000 bandwidth 100Mbit probability 0.4
$TC filter add dev eth1 parent 2:0 protocol ip prio 2 handle 0 tcindex mask 0 classid 2:2 pass_on [/code:1]

上面这段代码是我抄一篇论文上的脚本,我现在正在用这段脚本架设支持diffserv的路由环境。其中1代码是用在入口处的网卡,2代码是用在内部路由网卡上的。其中根据网卡名称的不同ethX中的X以1或0代替。网络拓朴见附件,为五机串联,其中1 5两机为单网卡,2 3 4机为双网卡,模拟路由器。
但我执行./scriptname,1 5号机运行在widowns XP下,开一共享文件,互访,并且就像普通局域网那种在两机间复制粘贴文件,在2 3 4机linux环境下,调用图型界面的ethereal软件,对网络流量进行截包,发现IPV4中的diffserv字段上仍然为默认的0x00。
估计应该是脚本1出了问题,但实在是找不到问题出在哪里,望各位有了解的指点一下。、
十分感谢。

网络拓朴中2号机的eth0和4号机的eth1运行脚本1(脚本1最后match ip src/dst会根据2/4机的具体环境有所变化),2 3 4机中的其它网卡运行脚本2。[/code]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-3 02:19 , Processed in 0.039334 second(s), 17 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表