本文 来自 csdn ucser http://blog.csdn.net/perfectpdl, 转载注明出处,谢谢。
在IP头中,有一Type-of-Service字段,该字段描述了IP包的优先级和QoS选项,使用IP_TOS可以来设定该字段的值,以区分不同服务的优先级,linux 中可以用setsockopt函数设置ip_tos的值,
Man 手册有ip_tos的说明:
IPTOS_LOWDELAY 用来为交互式通信最小化延迟时间, IPTOS_THROUGHPUT 用来优化吞吐量, IPTOS_RELIABILITY 用来作可靠性优化, IPTOS_MINCOST 应该被用作"填充数据",对于这些数据,低速传输是无关紧要的.至多只能声明这些 TOS 值中的一个.其它的都是无效的,应当被清除.缺省时,Linux首先发送 IPTOS_LOWDELAY 数据报, 但是确切的做法要看配置的排队规则而定. 一些高优先级的层次可能会要求一个有效的用户标识 0 或者 CAP_NET_ADMIN 能力.
这个选项在voip实践中可以用于提高rtp数据包的优先级。就是用setsockopt在某个socket上设置 ip_tos。上面提供的值。
本文介绍了Linux中如何通过设置IP_TOS字段来优化网络服务质量(QoS),包括减少延迟、优化吞吐量及提高可靠性等。具体讲述了如何使用setsockopt函数设置不同的优先级,并在VoIP场景中提高RTP数据包的传输质量。
1904

被折叠的 条评论
为什么被折叠?



