基于tos字段的策略路由引流失败

发布时间:  2012-07-17 浏览次数:  391 下载次数:  0
问题描述

1、客户做的策略路由,但是策略路由并非用的我们常见的ip引流,而是通过ip字段的一个tos字段来引流,目的就是为了同一个source地址通过tos字段控制从不同的接口出去

2、但是客户不知道tos字段的数值具体是多少,通过抓包来获取

3、在内网口抓包,通过wireshark分析数据包里显示的是0x04(tos取值为:0x04),但是策略路由未生效


 

acl 3013
    rule 1 permit ip source 10.1.8.51 0 destination 117.79.132.2 0 tos max-throughput
    //max-throughput取值为4

4、取消tos字段,就可以生效。

5、尝试在策略policy里做tos字段的过滤,也未能有匹配。

告警信息
处理过程

修改策略路由的acl配置,问题解决:

acl 3013
    rule 1 permit ip source 10.1.8.51 0 destination 117.79.132.2 0 tos max-reliability

根因

TOS实际上是4个比特,但前三个比特是表示优先权,最后一个比特是保留位必须为0。防火墙配置时,TOS的值就是针对这个4个bit来定义的。

如下:

000 0010 0 这里有8个比特,只有斜体的4个才是TOS,用wireshark显示是错误的,工具会显示为0x04,也就是把最后一个比特也算进去了。而实际上这里TOS的值是2。

所以要配置max-reliability才命中。

建议与总结

ToS(Type of Service,服务类型)是ip报文头的一个字段

TOS用数字表示时,取值范围是0~15。0、1、2、4、8可用名称表示,分别是normal、min-monetary-cost、max-reliability、max-throughput、min-delay

 

如果网络中要使用tos字段来控制,务必要知道tos的取值,如果不知道,在用wireshark来看的话,需要正确识别该字段

END