答案1
TOS
在 RFC 中定义第791章进一步在 RFC 1349 中只有 4 个可能的位见 RFC 1349 的第 3 章:
0 1 2 3 4 5 6 7 +-----+-----+-----+-----+-----+-----+-----+-----+ | | | | | PRECEDENCE | TOS | MBZ | | | | | +-----+-----+-----+-----+-----+-----+-----+-----+
和4:
1000 -- minimize delay 0100 -- maximize throughput 0010 -- maximize reliability 0001 -- minimize monetary cost 0000 -- normal service
由于 MBZ(必须为零)位被保留并且优先级为(据称?)从未真正使用过,只有 0x00 和 0x1E 之间的偶数值可能。 Linux在 ip.h 中定义它:
#define IPTOS_TOS_MASK 0x1E #define IPTOS_TOS(tos) ((tos)&IPTOS_TOS_MASK) #define IPTOS_LOWDELAY 0x10 #define IPTOS_THROUGHPUT 0x08 #define IPTOS_RELIABILITY 0x04 #define IPTOS_MINCOST 0x02
and ip rule
( 的内核部分) 只是遵循这些定义来告诉什么是允许的。
现在如果您想使用DSCP
RFC 中定义的2474成为替代TOS
同一字节视图的替代机制(以及ECN
RFC3168),似乎不存在直接的等效使用ip rule
.
你仍然可以做的是使用iptables或者nftablesdscp
然后匹配字段值嘛rk数据包并在fwmark
in 中重用它ip rule
。