1

从这个站点(http://www.ipv6.com/articles/general/IPv6-Header.htm),它说:

Packet priority/Traffic class (8 bits) The 8-bit Priority field in the IPv6 header can assume different values to enable the source node to differentiate between the packets generated by it by associating different delivery priorities to them. This field is subsequently used by the originating node and the routers to identify the data packets that belong to the same traffic class and distinguish between packets with different priorities.

我想知道,是否有可能真正“破解” TCP/IP 堆栈以便为您的数据包提供更高的优先级。您是否会在网络性能方面获得任何实质性收益。另外,如果可能,如何预防?

4

3 回答 3

1

是的,这是可能的,但这并不是真正的黑客行为。有一个标准的编程接口允许您的程序向堆栈指示它希望如何填充 Traffic Class 标头字段。

您是否会测量任何性能差异取决于处理数据包的网络。将 Traffic Class 字段视为网络的提示;关于您希望如何处理您的数据包的建议。网络可能会忽略它,甚至将其更改为不同的代码点。此外,“优先级”(也称为“优先级”)的概念作为对流量类别字段的解释已经退居到更丰富的每跳行为 (PHB) 集合中。

请参阅IETF RFC 3542 用于 IPv6 的高级套接字应用程序接口 (API)。特别是,请阅读第 4 节的第一部分,访问 IPv6 和扩展标头,以及第 6.5 节,指定/接收流量类别值。

下面是一个代码片段,它将MY_TCLASS在套接字上发送的所有数据包的 Traffic Class 字段设置为整数sk

int tclass;
tclass = MY_TCLASS;
setsockopt(sk, IPPROTO_IPV6, IPV6_TCLASS, &tclass, sizeof(int));

相关阅读:

于 2012-12-11T02:06:33.063 回答
0

我不明白这个问题。你不需要破解任何东西。提供了一个 API 用于在套接字上设置 TC。它有什么效果取决于介入路由器的合作。

于 2012-12-10T20:33:45.880 回答
0

源可以更改优先级,但路由器和网关可以根据数据包的类型更改优先级

于 2019-07-12T16:11:41.830 回答