Tracert命令原理

 Tracert功能也是基于ICMP协议来实现,原理为:

(1) 源端A向目的端D发送一个IP 数据报文,TTL 值为1,报文的UDP 端口号是目的端的任何一个应用程序都不可能使用的端口号;

(2) 第一跳B(即该报文所到达的第一个三层设备)回应一个TTL 超时的ICMP 错误信息(该报文中含有第一跳的IP 地址1.1.1.2),这样源端就得到了第一个三层设备的地址(1.1.1.2);

(3) 源端重新向目的端发送一个IP 数据报文,TTL 值为2;

(4) 第二跳C回应一个TTL 超时的ICMP 错误信息,这样源端就得到了第二个三层设备的地址(1.1.2.2);

(5) 以上过程不断进行,直到该报文到达目的端,因目的端没有应用程序使用该UDP 端口,目的端返回一个端口不可达的ICMP 错误消息(携带了目的端的IP 地址1.1.3.2)。

(6) 当源端收到这个端口不可达的ICMP错误消息后,就知道报文已经到达了目的端,从而得到数据报文从源端到目的端所经历的路径(1.1.1.2;1.1.2.2;1.1.3.2)

你可能感兴趣的:(tracert,icmp协议,tracert功能)