美文网首页
Traceroute 程序

Traceroute 程序

作者: 浅陌_45f3 | 来源:发表于2019-04-04 18:46 被阅读0次

Traceroute 程序可以让我们看到 IP 数据报从一台主机传到另一台主机所经过的路由。Traceroute 程序还可以让我们使用 IP 源路由选项。

Traceroute 程序的操作
  • 不使用 IP 记录路由选项的三个原因:
    1、不是所有的路由器都支持记录路由选项。
    2、记录路由一般是单向的选项,接收端不得不从收到的 IP 首部中提取所有的信息,然后全部返回给发送端。
    3、IP 首部留给选项的空间有限,不能存放当前大多数的路径。

  • Traceroute 程序使用 ICMP 报文和 IP 首部中的 TTL 字段(生存周期)。TTL 字段的目的是防止数据报在选路时无休止的在网络中流动,当 TTL 为0或者1时,路由器不转发该数据报;当不是0或者1时,路由器将该数据报丢弃,并给信源机发一份 ICMP “超时”信息。Traceroute 程序的关键在于包含这份 ICMP 信息的 IP 报文的信息源地址是该路由器的 IP 地址。

  • 怎样判断数据报是否已经到达目的主机?
    结束时,Traceroute 程序将发送一份 UDP 数据报给目的主机,但会选择一个不可能值作为 UDP 接口,使目的主机的 UDP 模块产生一份 “端口不可达”错误的 ICMP 报文,Traceroute 程序通过区分接收到的 ICMP 报文是否是端口不可达就知道是否结束。

局域网输出
注意:
  1. 不能保证现在的路由也是将来所要采用的路由,甚至两份连续的 IP 数据报都可能采用不同的路由。
  2. 不能保证 ICMP 报文的路由与 traceroute 程序发送的 UDP 数据报采用同一路由。也就是说数据报发送和往返时间不一定相同。
    3.返回的 ICMP 报文中信源 IP 地址是 UDP 数据报到达的路由器接口的 IP 地址。
IP 源站选路选项
宽松的源站选择

使用 traceroute 程序的 -g 选项,可以为宽松的源站选路指明一些中间路由器,最多可指定8个。

当指定中间路由时,必须为点分十进制的 IP 地址,不能以其域名代替,是因为无法做到给出域名返回 IP 地址,虽然可以做到给出 IP 地址返回域名。

严格的源站选路

使用 -G 选项为严格的源站选路。发送端指明 IP 数据报所必需采用的确切路由,如果一个路由器发现源路由所指定的下一个路由器不在其直接连接的网络上,将会返回一个差错报文。

相关文章

网友评论

      本文标题:Traceroute 程序

      本文链接:https://www.haomeiwen.com/subject/nneqiqtx.html