摘要
- IPv4 将 TTL 定义为以秒计的八位字段,但每个处理点都必须至少减一。
- TTL 降至零时,数据报必须被丢弃;若目的地址不是组播地址,通常还要向源地址发送 ICMP Time Exceeded。
名义上的时间,并非精确时钟
RFC 791 让发送方为数据报设定最大生存时间。八位字段的最大编码值是 255,按名义单位计算即 255 秒,也就是 4.25 分钟。但每个处理互联网报头的节点都必须减少 TTL:能够测量时反映处理时间,即使经过时间不足一秒,也至少减一。因此 RFC 791 把 TTL 称为生存时间的上限,而不是精确秒表。
这条最低减量规则防止数据包仅因设备转发很快就无限循环。每个处理步骤都会消耗有限预算。
跳数含义被明确写出
RFC 1812 明确要求路由器每次处理数据包至少将 TTL 减一,即使经过时间远小于一秒。由此,TTL 实际上成为数据报能够传播多远的跳数限制。若路由器持有数据包超过一秒,还可以按每秒再减一。时间含义仍在,但所有实现都能依赖的底线是转发步骤。
当 TTL 达到零或更低时,路由器必须丢弃数据包;对于非组播目的地,还必须向源地址发送 ICMP Time Exceeded Code 0。TTL 在途中变化,因此 IPv4 仅覆盖报头的校验和也必须重新计算并校验。
来源
会员简报
档案背景详情
使用相应会员等级登录,即可解锁完整简报与来源注释。
仅限 Strategic Circle
Strategic Circle
所有读者均可浏览。加入并登录后可解锁档案简报。
加入 Strategic Circle仅限 Leadership Alliance
Leadership Alliance
符合条件的 IP 资产所有者和管理层可登录查看 Leadership Alliance 简报。
加入 Leadership Alliance
