使用tracert进行路径跟踪,返回的第一个跃点是自己的网关,三个小于1ms具体是什么含义,为什么有三个?
第二个问题,到下一跳为什么显示请求超时?实际上通了,后面也都完成了跟踪。
(0)
最佳答案
通过使用tracert功能,用户可以查看IP报文从源端到达目的端所经过的三层设备,从而检查网络连接是否可用。当网络出现故障时,用户可以使用该功能分析出现故障的网络节点。
图1-2 Tracert原理示意图
Tracert功能也是基于ICMP协议来实现的,如图1-2所示,Tracert功能的原理为:
(1) 源端(Device A)向目的端(Device D)发送一个IP数据报文,TTL值为1,报文的UDP端口号是目的端的任何一个应用程序都不可能使用的端口号;
(2) 第一跳(即该报文所到达的第一个三层设备,Device B)回应一个TTL超时的ICMP错误消息(该报文中含有第一跳的IP地址1.1.1.2),这样源端就得到了第一个三层设备的地址(1.1.1.2);
(3) 源端重新向目的端发送一个IP数据报文,TTL值为2;
(4) 第二跳(Device 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)。
Device A使用Telnet登录Device C失败,现需要确认Device A与Device C之间是否路由可达,如果路由不可达,需要确定故障的网络节点。
图1-3 Tracert应用组网图
(1) 使用ping命令查看Device A和Device C之间路由是否可达。
<DeviceA> ping 1.1.2.2
PING 1.1.2.2 (1.1.2.2): 56 data bytes, press CTRL_C to break
Request time out
Request time out
Request time out
Request time out
Request time out
--- 1.1.2.2 ping statistics ---
5 packet(s) transmitted, 0 packet(s) received, 100.0% packet loss
(2) 路由不可达,使用tracert命令确定故障的网络节点。
# 在Device B上开启ICMP超时报文发送功能。
<DeviceB> system-view
[DeviceB] ip ttl-expires enable
# 在Device C上开启ICMP目的不可达报文发送功能。
<DeviceC> system-view
[DeviceC] ip unreachables enable
# 在Device A上使用tracert命令确定故障的网络节点。
<DeviceA> tracert 1.1.2.2
traceroute to 1.1.2.2(1.1.2.2), 30 hops at most, 40 bytes each packet, press CTRL_C to break
1 1.1.1.2 14 ms 10 ms 20 ms
2 * * *
3 * * *
4 * * *
5
<DeviceA>
从上面结果可以看出,Device A和Device C之间路由不可达,Device A和Device B之间路由可达,Device B和Device C之间的连接出了问题。此时可以在Device A和Device C上使用debugging ip icmp命令打开ICMP报文的调试开关,查看设备有没有收发指定的ICMP报文。或者使用display ip routing-table查看有没有到对端的路由。
(1)
暂无评论
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作
举报
×
侵犯我的权益
×
侵犯了我企业的权益
×
抄袭了我的内容
×
原文链接或出处
诽谤我
×
对根叔社区有害的内容
×
不规范转载
×
举报说明
暂无评论