网络设备如何影响 TTL

网络设备如何影响 TTL

当我执行 ping 时,我可以看到每个数据包的 TTL 值。对于我在计算机和连接到互联网的路由器之间插入的每个路由器,TTL 值都会减少一。但是,插入交换机或集线器对 TTL 值没有任何影响。这是为什么呢?

答案1

TTL 是 IPv4 协议的一部分(根据 Steven Monday 的评论,在 v6 上它被称为“跳跃限制”)。交换机和集线器在 ISO/OSI 模型的不同层上运行(第 2 层而不是第 3 层 - 确实存在所谓的第 3 层交换机,但我认为您问的不是它们,因为您也包括集线器)。

The TTL field is set by the sender of the datagram, 
and reduced by every host on the route to its destination.

http://en.wikipedia.org/wiki/Time_to_live

从 IP 协议的角度来看,交换机或集线器并不是主机 - 它们通常没有 IP 地址。如果它们有 IP 地址(就交换机而言),则它们用于管理目的,并不真正参与设备的实际运行。交换机使用 MAC 地址,将它们映射到端口并“路由”数据包,只是将其发送到正确的端口(集线器的工作量要小得多,而是通过所有端口发送数据包)。它们不检查或更改 IP 负载 - 您也可以使用其他协议。

http://en.wikipedia.org/wiki/ISO_model

答案2

简而言之,实施生存时间是为了防止路由(OSI 第 3 层)循环。这是为了防止数据包在相同的节点之间永远跳转而永远无法到达目的地。因此,只有生成一个路由数据包的决策将其 TTL 减一。当 TTL 达到零时,只有做出路由决策的设备才会再次丢弃数据包。

相关内容