tracert的原理与应用

tracert的原理与应用 tracert的工作原理?

tracert的工作原理?

tracert的工作原理?

Tracert的工作原理大概可以分为五个步骤:

1.首先tracert送出3个TTL是1的IP 数据包到目的地,当路径上的第一个路由器收到这个数据包时,它将TTL减1,此时TTL等于0.

2. 所以该路由器会将此数据包丢掉,并送回一个ICMP time exceeded消息(TTL超时消息),里面包括发IP包的源地址,IP包的所有内容及路由器的IP地址

3. tracert 收到这个消息后,便知道这个路由器存在于这个路径上,接着tracert 再送出另一个TTL是2 的数据包,发现第2 个路由器.....以此类推

4. 当数据包到达目的地后,该主机则不会送回ICMP time exceeded消息

5. 一旦到达目的地,由于tracert通过UDP数据包向不常见端口(30000以上)发送数据包,因此会收到「ICMP port unreachable」消息,故可判断到达目的地。

Tracert每次发送三个数据包的原因是为了避免有时候网络不稳定而造成的丢包,所以发送三个,为了保证数据包能够正常到达。

tracert命令的工作原理是什么?

Tracert 先发送 TTL 为 1 的回显数据包,并在随后的每次发送过程将 TTL 递增 1,直到目标响应或 TTL 达到最大值,从而确定路由。路由通过检查中级路由器发送回的“ICMP 已超时”的消息来确定路由。不过,有些路由器悄悄地下传包含过期 TTL 值的数据包,而 tracert 看不到。

tracert和ping有什么区别?

楼上的说的道理。但是比较简单,我就补充点我自己的理解。ping就是确定对方主机是否响应ping,一般返回ping的信息就表示本地到该主机的网络线路连通。但是很多服务器为了防止攻击,一般会关闭对ping的响应。所以ping一般作为测试连通性使用。tracert就是确定本主机到目的主机的通信的路径。这个比较好理解。原理就是每次都ping目的主机,但是TTL从1递增,每次加1。根据中间通过的路由器发回的丢弃包的回复来确定路由器。pathping会先显示中间的通过的路由器,然后对每个中间路由器(我下面以节点代替)发送一定数量的ping包,通过统计他们对ping包响应的数据包来分析通信质量。但是,我上面也说了,有的路由器对ping关闭了响应,所以有的节点的丢包率会达到100\%,所以这种一般就是关闭了ping回复。你可以自己ping试一下。还有,对ping包丢弃程度只是节点本身对ping的处理,并不一定影响他的通信,具体你可以看一下它之后的节点,对ping包丢弃有的会是0,说明回复的包都成功发送回来。不说了,话太多了。