什么是 Time to live TTL

生存时间(TTL)指数据包在被路由器丢弃前在网络中的时间或“跳数”。其工作原理是路由器每次接收数据包会减1,为0则丢弃并回传ICMP消息。常用网络命令ping和traceroute会用TTL。此外,TTL还用于CDN缓存和DNS缓存。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

生存时间 (TTL) 是指数据包被设置为在被路由器丢弃之前存在于网络中的时间或“跳数”。 TTL 还用于其他上下文,包括 CDN 缓存和 DNS 缓存。

TTL 的工作原理

当一个信息包被创建并通过 Internet 发送出去时,存在着它会继续无限期地从一个路由器传递到另一个路由器的风险。为了减轻这种可能性,数据包被设计为具有称为生存时间或跳数限制的过期时间。数据包 TTL 还可用于确定数据包流通的时间,并允许发送方通过 Internet 接收有关数据包路径的信息。

每个数据包都有一个存储数值的位置,该数值决定了它应该继续在网络中移动多长时间。每次路由器收到一个数据包时,它都会从 TTL 计数中减去一个,然后将其传递到网络中的下一个位置。如果减法后的 TTL 计数在任何时候都为零,则路由器将丢弃该数据包并将 ICMP 消息发送回原始主机。

常用的网络命令 ping 和 traceroute 都使用 TTL。使用 traceroute 命令时,具有越来越高的连续 TTL 的数据包流将通过 Internet 发送到目的地。因为连接的每一步都是其中一个数据包的最后一站,所以每个位置在丢弃数据包后都会向发送方返回一条 ICMP 消息。 ICMP 消息返回到发送方所需的时间随后用于确定到达网络上每个连续跳跃所需的时间。

在这里插入图片描述

In what other circumstances is TTL used?

除了跟踪数据包通过 Internet 的路由外,生存时间还用于将信息缓存一段时间的上下文。一些网络用例以更传统的方式运行,而不是测量路由器之间的跳跃时间,每个路由器可能需要可变的时间。

CDN 通常使用 TTL 来确定在从源服务器获取新副本之前应从 CDN 边缘服务器提供缓存内容的时间。通过正确设置源服务器拉取之间的时间量,CDN 能够提供更新的内容,而无需请求不断传播回源。这种优化允许 CDN 有效地为更接近用户的内容提供服务,同时减少源所需的带宽。

在 DNS 记录的上下文中,TTL 是一个数值,用于确定 DNS 缓存服务器在联系权威 DNS 服务器并获取记录的新副本之前可以为 DNS 记录提供服务的时间。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

汪子熙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值