TCP/IP详解卷一 第8章 Traceroute程序

来源:互联网 发布:自定义史蒂夫动作数据 编辑:程序博客网 时间:2024/05/18 01:49

1、Tracesoute程序通过IP的TTL字段生存期来实现。当路由器收到一份IP数据报时,如果其TTL字段是0或者1,则路由器不转发此数据报(系统不应该收到TTL字段0的数据报)。

当路由器收到一份TTL为1或者0的IP数据报时,会给信源发一份ICMP超时信息,包含这份ICMP的IP报文的信源地址是该路由器的IP地址。

2、目的主机哪怕接手到TTL值为1的IP数据报,也不会丢弃该数据报并产生一份超时报文,如何判断到达目的主机呢?

Tracetroute程序发送一份UDP数据报给目的主机,但它选择一个不可能的值作为端口号,这样会产生一份端口不可达的ICMP报文。这样,Traceroute程序所要做的就是区分接收到的ICMP报文是端口不可达还是超时。 

3、源站选路的思想是由发送者指定路由。有两种形式:

严格的源路由选择:发送端指明IP数据报所必须采用的确切路由。如果没有严格按照,就返回一个“源站路由失败”的ICMP差错报文。

宽松的源路由选择:发送者指明了一个数据报经过的清单,但是两个地址之间可以通过其他路由器。

源站选路是IP的选项功能,它跟记录路由功能格式一样,不同的只是code类型。


0 0
原创粉丝点击