有几个有关使用iptable设置IP数据包的DSCP字段的示例。我尝试不使用iptables,而是仅在一些选定的套接字上设置DSCP字段。
通过阅读man 7 ip
,我发现我可以使用链接
int tos_local = 0x28;
setsockopt(sockfd, IPPROTO_IP, IP_TOS, &tos_local, sizeof(tos_local));
有一件事,我不清楚。 IP_TOS
被描述为在旧的“服务类型”字段上工作,该字段已由RFC2474重新定义以供差异服务使用。
因此,我的问题是:我可以将setsockopt
和IPPROTO_IP
一起使用IP_TOS
来设置0到63之间的任何DSCP值,还是仅限于IPTOS_LOWDELAY
,IPTOS_THROUGHPUT
,IPTOS_RELIABILITY
和IPTOS_MINCOST
?