ch08: Traceroute Program

ICMP and UDP

MindMap

Traceroute Program Operation

主要有以下几点:

  • 使用TTL字段;

  • 一个路由器不可能收到TTL等于0的IP数据报,TTL等于1的时候就抛弃;

  • 如果没到目标,就会收到一个timeout的ICMP;

  • 使用一个不可能的UDP端口,这样到达目标后就会收到一个端口不可达的ICMP。

ICMP Time Exceeded

格式:

有两种超时,type都是11,这里超时的code是0。

另一个是组装报文超时。

需要注意的三点:

  • 现在的路由将来不一定也用这个;

  • ICMP报文的路由不一定和traceroute发送的UDP数据报的路由一样;

  • 返回ICMP报文的源IP地址是traceroute发送的UDP数据报到达路由器接口的IP地址。

IP Source Routing Option

简单来说就是制定具体的路由。

  • Strict:严格按照制定的路由发包,不成功的话发送一个“source route failed”的ICMP;

  • Loose:制定了必须经过的路由,也可以经过其他的路由。

格式如下(Source and Record Route):

code=0x83是宽松的(LSRR),code=0x89是严格的(SSRR)。

一个例子:

Last updated