CCNA图文-9-Ping、Traceroute应用与排错

  • A+
所属分类:网络运维
摘要

本文通过一个实例,演示ping、traceroute、debug等命令的用法;测试网络连通性,分析网络数据不可达的原因。

文章目录

1.实例拓扑图与配置

C1是使用VPCS虚拟出来的一台计算机,SW1是一台不可网管交换机(并非IOU中的交换机,GNS3中自带的"Ethernet switch",拖拽到工作区后会提示选择Server,选择"Local Server"即可),R1、R2、R3上都添加了"NM-4T"串口,R1上还添加了一个"NM-1FE-TX"快速以太网端口。R3上面配置了一个回环接口3.3.3.3/24,各设备IP配置和连接如下图:

CCNA图文-9-Ping、Traceroute应用与排错

VPCS配置如下:
/*配置vpcs的ip子网掩码与网关*/

R1配置如下:

R2配置如下:

R3配置如下:

2.测试连通性

首先在C1上面测试ping自己的网关(R1的fa1/0接口)

这一步为什么会超时呢?是不是数据包没有到达R2?我们在R2上开启debug命令进行调试:

R2不知道发往192.168.1.0/24网段的数据应该从哪个接口发出,所以R2丢弃192.168.1.2发送过来的数据。

下面给R2添加静态路由,让他知道发往192.168.1.0/24网段的数据应该发给12.1.1.1(R1),之后C1再ping 12.1.1.2,就能ping通了,关于静态路由的知识会在后面的文章中详细介绍,这里有这个概念就可以了:

这个时候C1 ping R3的任何地址都是ping不通的,因为数据包到达R1后,R1检查自己的路由表,它会发现没有任何去往R3的路由条目(3.3.3.0/24、23.1.1.0/24),所以它会直接给C1回复"Destination host unreachable 主机不可达":

要想让这个拓扑图中的每台设备都能互相ping通,需要在R1、R2、R3上面添加下面的静态路由条目:

这个时候,不论在哪个设备上,都能ping通拓扑上的所有接口IP;下面是R1上面ping R3回环接口的返回信息:

关闭R3的回环接口,就会出现超时的情况:

下面我们打开R3的lo0回环接口,关闭R2的s0/2,再次用R1去ping 3.3.3.3:

打开R2的s0/2继续下面的实验。

3.高级ping命令和路由追踪命令traceroute

使用高级ping命令,从R1 ping R3的回环接口:

ping命令可以测试网络通不通,但是如果中间网络不通,ping不能很好的定位问题出在哪里,而traceroute可以很好的定位问题出现的位置,下面是正常状态下在R1上traceroute 3.3.3.3的结果:

Traceroute的工作原理:

首先,发送设备将数据包中的TTL设置成1,数据包会被第一台接收路由器丢弃,返回一个错误码信息,发送设备根据错误码信息判断经过的中间设备和延时,发送设备一般发送三个重复的包(这就是为什么每个IP后面有3个返回时间的原因"12.1.1.2 40 msec 24 msec 40 msec");之后发送设备发送TTL为2的数据包,再发送TTL为3的数据包,直到数据包达到目的地或者TTL=30为止;在正常情况下,除非路由存在环路,否则TTL不会超过30就到达目的地;数据到达目的地后,目的设备会返回一个"端口不可达",发送设备就是利用返回的是错误码,还是端口不可达判断是否到达了目的主机。

4.常用排错命令

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin
avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: