1、发往目的端的两份连续的IP数据报并不能保证有相同的路由,TRACEROUTE可以追踪到目的端经过的所有路由。
2、TRACEROUTE和ping的不同
a)ping在记录地址是要求所有的路由器 都具有路由记录选项,但是原来有些路由器没有
b)ping的接收端需要把请求清单反回,这样一来一回记录的地址翻了一倍,traceroute只需要在 目的端运行一个UDP模块就行
c)IP报文头默认使用20字节,剩下的40字节最多也就只能存放9个IP地址。
3、TTL字段的目的是为了防止数据报在选路时无休止的在网络中流动。当TTL为0时,则路由器不转发该数据报,而是已自己作为信源地址,发送一份ICMP超时报文信息。
总结:PING是把经过的IP记录在报文头中,最多只能记录9个,因为是用的IP首部,总共长度最大60,默认首部占20字节。但是traceroute是发送一个ttl=1的UDP数据报给目的主机,第一跳主机接收到之后,将TTL-1=0,丢弃改数据报,然后发送一个ICMP超时报文,然后请求发送主机得到第一跳路由的IP,然后在发送了一个TTL=2的IP数据报,依次类推,要是最后一跳到了,UDP的端口设置的是一个不可达端口,一般大于30000,使目的主机的任何服务都不能使用这个端口,目的主机会发送一个ICMP不可达报文回复给请求主机。
4、a)traceroute打印出的路由不到一定是下次使用的路由,因为联系的两个IP数据包选用的可能不是同一路由
b)traceroute去的路由可能和回来的路由可能不是同一路由
c)traceroute因为一个主机有多个接口卡,traceroute记录的是入的网卡卡号,PING记录的是出的网卡卡号,说以从A-B 和B-A返回的路由可能不一样。traceroute也打印出与IP地址相关的主机名,所以主机名也可能变化。
TCP/IP第八章
最新推荐文章于 2023-05-06 10:33:46 发布