8.5 IP 源路由选项
IP 路由通常是动态的,这意味着每个路由器都需要确定数据包的下一个转发目标。应用程序通常不会干预这个过程,也不关心具体的路由路径。开发者可以使用类似 Traceroute 的工具来探测实际路由。
源路由是一种由发送方指定路由的方法,它有两种形式:
- 严格源路由: 发送方明确指定 IP 数据包必须经过的完整路径。如果路由器发现源路由中指定的下一跳路由器不在其直接连接的网络上,则会返回一个“源站路由失败”的 ICMP 错误消息。
- 松散源路由: 发送方指定一个 IP 地址列表,数据包必须经过列表中的所有地址,但允许在列表中任意两个相邻地址之间存在其他路由器。
Traceroute 程序提供了一种观察源路由的方法。通过在选项中指定源路由,我们可以跟踪数据包的实际路径。一些开源的 Traceroute 程序提供了支持松散源路由的补丁,但标准版本通常不包含此功能。
Van Jacobson 最初的 Traceroute 程序 (版本 76) 使用了松散源路由。
-- TCP/IP 详解,卷 1:协议
暂无评论