好吧,我注意到在 Java 和其他语言中可能有一个类似于 Socket 的选项
setTrafficClass(int tc)
我知道我正在使用的应用程序的流量类别为 24,但是尽管谷歌搜索我找不到这些类别对应的列表,也找不到有效类别的列表。
请赐教。md_5
根据 的规范Socket.setTrafficClass
,我们看到:
对于 Internet 协议 v4,该值由一个 组成
integer
,其中的最低有效 8 位表示套接字发送的 IP 数据包中 TOS 八位字节的值。RFC 1349 定义 TOS 值如下:
IPTOS_LOWCOST
(0x02
)IPTOS_RELIABILITY
(0x04
)IPTOS_THROUGHPUT
(0x08
)IPTOS_LOWDELAY
(0x10
)最后一个低位总是被忽略,因为它对应于 MBZ(必须为零)位。
24
是0x18
ie 0x10 | 0x08
,它对应于IPTOS_THROUGHPUT
并被IPTOS_LOWDELAY
设置。
如您所见,TOS 仅作为提示;它要求高吞吐量、低延迟的路由......可能会或可能不会被服务!
您可以 在此处阅读RFC 1349和相关的 Wikipedia 文章中有关服务类型的更多信息。
流量等级最终是您和最近的路由器之间的问题。该领域经历了几次突变。它在 IPv4 和 IPv6 之间也有所不同。IPv4 的第一个定义在 RFC 791-5 中给出;这在RFC 1349中进行了修订,并在RFC 2474中完全重新定义为“差异化服务”。自从我在 2003 年左右为我的书研究它以来,整个业务很可能已经再次修改。对于 IPv6,请参阅 RFC 2460。Javadoc 中关于IPTOS_*
值的内容是指 RFC 1349,并且在编写时已经过时了几年。