Windows 操作系统能否根据协议具有不同的默认生存时间值 (TTL)?

网络工程 tcp
2022-02-21 08:49:37

我向远程主机发送两个请求:

  • request1(ICMP 请求):ping IP_adresse
  • request2 (TCP 请求): hping3 -S -p open_port IP_adresse

我收到了两个显示不同 TTL 的响应:

  • response1:来自IP_adresse的 64 个字节:icmp_req=1 ttl= 121 time=78.3 ms
  • response2: len=56 ip= IP_adresse ttl= 111 DF id=5156 flags=SA seq=0 win=1460 rtt=1729.1 ms

根据此链接,最近的 Windows 操作系统版本对于所有协议都具有相同的默认 TTL=128

为什么 TCP 和 ICMP 两个响应中收到的 TTL 不同?

1个回答

在默认配置中,所有通信的 TTL 都是相同的。

您遇到的是:

  1. 由于流量工程、不同的路由策略或您与目标主机之间的任何原因,网络中的每个协议都有不同的路径。
  2. 中间有一个框(如防火墙或类似的东西)正在修改 TTL 字段,因为这是一个策略(对于一个协议它已经到位,对于另一个它不是),或者它除了处理来自的数据包之外还在做一些事情一侧到另一侧。