目录

简介

先决条件

要求

使用的组件

规则

ping 命令

扩展 ping 命令

ping 命令字段说明

traceroute 命令

扩展 traceroute 命令

traceroute 命令字段说明

相关信息

简介

本文档介绍如何使用扩展的  ping  和扩展的  traceroute 命令。

先决条件

要求

本文档需要事先了解 ping  和 traceroute 命令。

使用的组件

本文档中的信息基于以下软件和硬件版本：

- Cisco IOS®软件

- 所有 Cisco 系列路由器

本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始（默认）配置。如果您的网络处于活动状态，请确保您了解所有命令的潜在影响。

规则

有关文档规范的详细信息，请参阅思科技术建议规范。

此 ping 命令

此 ping  (Packet InterNet Groper)命令是排除设备可访问性故障的常用方法。它使用两个互联网控制消息息协议(ICMP)查询消息、ICMP echo请求和ICMP echo应答来确定远端主机是否处于使用状态。此 ping  命令还测量接收回应应答所需的时间。

此 ping  命令首先向某个地址发送回应请求数据包，然后等待应答。此 ping  只有当ECHO REQUEST到达目标，并且目标能够获取回送到 ping  在预定义的时间间隔内。

扩展 ping 命令

当一个正常的 ping  命令是从路由器发出的，ping的源地址是数据包用于退出路由器的接口的IP地址。如果扩展 ping  命令，可将路由器上的源IP地址更改为任何IP地址。扩展 ping  用于执行更高级的主机可达性和网络连接检查。扩展 ping  命令仅在特权EXEC命令行中运行。普通 ping  可在用户EXEC模式和特权EXEC模式下工作。要使用此功能，请输入 ping  并按Return。系统将提示您输入本文 ping 命令字段说明部分中提供的字段。

此 ping 命令字段说明

下表列出了 ping  命令字段说明。这些字段可使用扩展来修改 ping   命令。

字段

描述

Protocol [ip]:

系统将提示输入受支持的协议。请输入 appletalk、clns、ip、novell、apollo、vines、decnet 或 xns。默认值为 ip。

目标 IP 地址

系统将提示输入要 ping 的目的节点的 IP 地址或主机名。如果您指定了所支持的协议，而不是 IP，请在此处输入该协议的相应地址。默认值为无。

Repeat count [5]:

发送到目标地址的 ping 数据包的数目。默认值为 5。

数据报大小 [100]：

ping 数据包的大小（单位：字节）。默认值：100 字节。

Timeout in seconds [2]:

超时间隔。默认值：2（秒）。只有在此时间间隔内接收到 ECHO 回复数据包时，ping 才能宣称成功。

Extended commands [n]:

指定是否显示一系列其他命令。默认为否。

Ingress ping [n]:

入口 ping 模拟在指定入口接口上收到的要发往目标目的地的数据包。默认为否。

（此选项的可用性因使用的软件版本而异）

源地址或接口

路由器的接口或 IP 地址用作为探针的源地址。路由器通常选择要使用的出站接口的 IP 地址。也可以包含接口，但必须使用正确的语法，如下所示：

Source address or interface: ethernet 0

注：这是扩展的 ping   命令。接口不可写作 e0。

DSCP Value [0]:

指定差分服务代码点 (DSCP)。引入的 DSCP 值放置在每个探测器中。默认值为 0。 （此选项的可用性因使用的软件版本而异）

Type of service [0]:

指定服务类型 (ToS)。每次探测中都会放置请求的 ToS，但无法保证所有的路由器都将处理该 ToS。它是互联网服务质量选项。默认值为 0。

在 IP 头中设置 DF 位？[no] ：

指定 Don't Fragment (DF)  将在ping数据包上设置位。如果指定为 yes，则 DF 选项不允许在必须通过具有小型最大传输单位 (MTU) 的数据段时对此数据包进行分片，并且您会收到要对此数据包进行分片的设备发送的错误消息。这对于确定到达目的地的路径中的最小 MTU 非常有用。默认为否。

Validate reply data?[no] ：

指定是否验证应答数据。默认为否。

Data pattern [0xABCD]

指定数据模式。使用不同的数据模式进行故障排除 framing 错误和 clocking 串行线路问题。默认值为 [0xABCD]。

Loose, Strict, Record, Timestamp, Verbose[none]:

IP 报头选项。此处提示将提供多个选项以供选择。它们是：

- Verbose 将与其他任何选项一起自动选择。

- Record，此选项非常有用，因为它显示数据包经过的跳（最多 9 跳）的地址。

- Loose，通过此选项您可以在指定希望数据包经过的跳的地址时影响路径。

- Strict，此选项用于指定您希望数据包经过的跳，但不允许访问其他跳。

- Timestamp 用于测量到特定主机的往返时间。

此命令的 Record 选项与 traceroute 命令的区别在于，Record 选项不仅会通知您回应请求（ping 操作）到达目的地经过的跳，而且还会通知您它在返回路径上访问的跳。使用 traceroute 命令时，无法获取 Echo 应答所选取的路径信息。traceroute 命令将提示输入必填字段。

traceroute 命令会将请求的选项置于每个探测器中。但无法保证所有的路由器（或终端节点）都将处理这些选项。默认值为无。

Sweep range of sizes [n]:

可以改变发送的 Echo 数据包的大小。这被用来确定沿目的地地址路径节点所配置 MTU 的最小尺寸。这样可减少数据包分段导致的性能问题。默认为否。

!!!!!

每个感叹号 (!) 表示收到一条应答。句点 (.) 表示网络服务器等待应答超时。有关其他字符的说明，请参阅 ping 字符。

Success rate is 100 percent

成功返回路由器的数据包百分比。如果该百分比小于 80%，则通常视为存在问题。

round-trip min/avg/max = 1/2/4 ms

协议回应数据包的往返时间间隔，具有最小值/平均值/最大值（以毫秒为单位）。

在此图中，主机 1 和主机 2 彼此无法执行 ping 操作。您可以在路由器上排查此问题，以确定是否存在路由问题，或者两台主机中的任一台是否未正确设置其默认网关。

主机 1 和主机 2 无法 ping 通

对于 ping从Host 1到Host 2要成功，每台主机需要将其默认网关指向相应LAN网段中的路由器，或者主机需要与使用路由协议的路由器交换网络信息。如果任一台主机的默认网关设置不正确，或者其路由表中没有正确的路由，则它无法将数据包发送到其地址解析协议 (ARP) 缓存中不存在的目的地。主机无法相互 ping 通的原因也可能是，其中一个路由器没有通往主机从中获取 ping 数据包的子网的路由。

示例

下面是一个扩展 ping 命令的示例，该 Ping 从路由器 A 以太网 0 接口发往路由器 B 以太网接口。如果 Ping 成功，则表明路由没有问题。路由器 A 了解如何到达路由器 B 的以太网，且路由器 B 了解如何到达路由器 A 的以太网。此外，两台主机的默认网关均设置正确。

如果扩展 ping路由器A发出的命令失败，这意味着存在路由问题。三台路由器中均可能存在路由问题。路由器 A 可能丢失了通往路由器 B 以太网网段的子网或通往路由器 C 和路由器 B 之间的子网的路由；路由器 B 可能丢失了通往路由器 A 的子网或通往路由器 C 和路由器 A 之间的子网的路由；路由器 C 可能丢失了通往路由器 A 或路由器 B 以太网网段的子网的路由。您必须更正所有路由问题，然后主机 1 必须尝试 ping 主机 2。如果主机 1 仍无法 ping 通主机 2，则需要检查两个默认网关。可以用扩展 ping 命令检查路由器 A 和路由器 B 之间的以太网连接。

在从路由器 A 到路由器 B 以太网接口的正常 ping 操作中，ping 数据包的源地址将是传出接口，即 serial 0 接口的地址 (172.31.20.1)。当路由器 B 回复 ping 数据包时，它回复源地址（即 172.31.20.1）。这种方法只测试了路由器 A(172.31.20.1) 的 serial 0 接口和路由器 B (192.168.40.1) 以太网接口之间的连通性。

要测试Router A Ethernet 0(172.16.23.2)和Router B Ethernet 0(192.168.40.1)之间的连通性，请使用扩展 ping  命令。使用扩展 ping，您将获得用于指定源地址的选项 ping数据包，如下所示：

RouterA>enable

RouterA#ping

Protocol [ip]:

Target IP address: 192.168.40.1

!--- The address to ping.

Repeat count [5]:

Datagram size [100]:

Timeout in seconds [2]:

Extended commands [n]: y

Source address or interface: 172.16.23.2

!---Ping packets are sourced from this address.

Type of service [0]:

Set DF bit in IP header? [no]:

Validate reply data? [no]:

Data pattern [0xABCD]:

Loose, Strict, Record, Timestamp, Verbose[none]:

Sweep range of sizes [n]:

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 192.168.40.1, timeout is 2 seconds:

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 36/97/132 ms

!--- Ping is successful.

RouterA#

This is an example with extended commands and sweep details:

RouterA>enable

RouterA#ping

Protocol [ip]:

!--- The protocol name.

Target IP address: 192.168.40.1

!--- The address to ping.

Repeat count [5]: 10

!--- The number of ping packets that are sent to the destination address.

Datagram size [100]:

!--- The size of the ping packet in size. The default is 100 bytes.

Timeout in seconds [2]:

!--- The timeout interval. The ping is declared successful only if the

!--- ECHO REPLY packet is received before this interval.

Extended commands [n]: y

!--- You choose yes if you want extended command options

!--- (Loose Source Routing, Strict Source Routing, Record route and Timestamp).

Source address or interface: 172.16.23.2

!--- Ping packets are sourced from this address and must be the IP address

!--- or full interface name (for example, Serial0/1 or 172.16.23.2).

Type of service [0]:

!--- Specifies Type of Service (ToS).

Set DF bit in IP header? [no]:

!--- Specifies whether or not the Don’t Fragment (DF) bit is to be

!--- set on the ping packet.

Validate reply data? [no]:

!--- Specifies whether or not to validate reply data.

Data pattern [0xABCD]:

!--- Specifies the data pattern in the ping payload. Some physical links

!--- might exhibit data pattern dependent problems. For example, serial links

!--- with misconfigured line coding. Some useful data patterns to test

!--- include all 1s (0Xffff), all 0s (0x0000) and alternating

!--- ones and zeros (0Xaaaa).

Loose, Strict, Record, Timestamp, Verbose[none]:

!--- IP header options.

Sweep range of sizes [n]: y

!--- Choose yes if you want to vary the sizes on echo packets that are sent.

Sweep min size [36]:

Sweep max size [18024]:

Sweep interval [1]:

Sending 179890, [36..18024]-byte ICMP Echos to 192.168.40.1, timeout is 2 seconds:

!--- The count 179890 depends on the values of min sweep,

!--- max sweep, sweep interval and repeat count. Calculations are based on:

!--- 18024(high end of range) - 36(low end of range) = 17988(bytes in range)

!--- 17988(bytes in range) / 1(sweep interval) = 17988 (steps in range)

!--- 17988(bytes in range) + 1 (first value) = 17989(values to be tested)

!--- 17989(values to be tested) * 10(repeat count) = 179890 (pings to be sent)

!--- In order to decrease the value, increase the sweep interval or decrease

!--- the repeat count, or you can even decrease the difference between

!--- Minimum and Maximum sweep size. Based on the previous example, the

!--- number 17890 is an expected value and tries to ping 17890 times.

Packet sent with a source address of 172.16.23.2

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Success rate is 100 percent, round-trip min/avg/max = 1/2/4 ms

!--- Ping is successful.

RouterA#

此 traceroute  命令

其中ping可用于检验设备之间的连接， traceroute 命令可用于发现数据包通往远程目的地的路径以及路由中断的位置。

Cisco UCS Director  traceroute 命令用于记录每条ICMP超时消息的来源，以便跟踪数据包到达目的地所采用的路径。

执行  traceroute 命令将一系列用户数据报协议(UDP)数据报发送到远程主机上的无效端口地址(默认33434)，每个数据报的生存时间(TTL)值都会增加。

首先，发送三个数据报，每个数据报的 TTL 字段值均设为 1。TTL 值为 1 会导致数据报到达路径中的第一个路由器后就立即超时。然后，该路由器以 ICMP 超时消息进行响应，指示数据报已过期。

其次，还有另外三个 UDP 消息被发送出去，它们的 TTL 值设置为 2。这会导致通往目的地的路径中的第二个路由器返回 ICMP 超时消息。

此过程会一直持续到数据包到达目的地以及发出该数据包的系统 traceroute 从通往目的地的路径中的每台路由器接收ICMP超时消息。由于这些数据报尝试访问目的地主机上的无效端口（默认为 33434），因此该主机会以 ICMP 端口不可达消息进行响应，来指示端口不可达。此事件将通知 traceroute 程序完成操作。

注意：确保您没有在任何 VLAN 下使用 no ip unreachables 禁用 ip unreachable 命令。此命令会返回数据包丢弃消息，而不会返回任何 ICMP 错误消息。在这种情况下，traceroute 不起作用。

扩展 traceroute 命令

扩展 traceroute 命令是 traceroute  命令。扩展 traceroute 命令可用于查看数据包到达目的地所采用的路径。同时该命令还可用于检查路由。这有助于排除路由环路故障或确定数据包丢失的位置（如果路由丢失或者数据包被访问控制列表 [ACL] 或防火墙阻止）。您可以使用扩展 ping 命令确定连接类的问题，然后使用扩展 traceroute 命令缩小产生问题的范围。

超时错误消息表示中间通信路由器已发现并丢弃了数据包。目的地不可达错误消息表示目的地节点已收到探测但由于无法传送数据包而将其丢弃。如果计时器在回应进入前关闭，跟踪会打印上星号 (*)。发生以下任一情况时，该命令将终止：

- 目的地做出响应

- 超出最大 TTL

- 用户中断对转义序列的跟踪

注意：同时按下 Ctrl、Shift 和 6 时，可以调用此转义序列。

traceroute 命令字段说明

下表列出了 traceroute 命令字段的说明：

字段

描述

Protocol [ip]:

系统将提示输入受支持的协议。请输入 appletalk、clns、ip、novell、apollo、vines、decnet 或 xns。默认值为 ip。

目标 IP 地址

必须输入主机名或 IP 地址。没有默认值。

源地址：

路由器的接口或 IP 地址用作为探针的源地址。路由器通常选择要使用的出站接口的 IP 地址。

Numeric display [n]:

默认同时显示符号和数字；但是您可以抑制符号显示。

Timeout in seconds [3]:

等待对探测数据包做出响应的秒数。默认时间为 3 秒钟。

Probe count [3]:

每个 TTL 级别要发送的探测次数。默认计数为 3。

Minimum Time to Live [1]:

第一批探测的 TTL 值。默认值是 1，但可以设置更高的值，以抑制已知跳跃显示。

Maximum Time to Live [30]:

可以使用的最大 TTL 值。默认值为 30。此  traceroute 命令在到达目标或达到此值时终止。

Port Number [33434]:

UDP 探测消息使用的目标端口。默认值为 33434。

Loose, Strict, Record, Timestamp, Verbose[none]:

IP 报头选项。您可以指定任意组合。此  traceroute 命令会针对所需字段发出提示。请注意，  traceroute 命令将请求的选项置于每个探测中；但是，无法保证所有路由器（或终端节点）都会处理这些选项。

示例

RouterA>enable

RouterA#traceroute

Protocol [ip]:

Target IP address: 192.168.40.2

!--- The address to which the path is traced.

Source address: 172.16.23.2

Numeric display [n]:

Timeout in seconds [3]:

Probe count [3]:

Minimum Time to Live [1]:

Maximum Time to Live [30]:

Port Number [33434]:

Loose, Strict, Record, Timestamp, Verbose[none]:

Type escape sequence to abort.

Tracing the route to 192.168.40.2

1 172.31.20.2 16 msec 16 msec 16 msec

2 172.20.10.2 28 msec 28 msec 32 msec

3 192.168.40.2 32 msec 28 msec *

!--- The traceroute is successful.

RouterA#

注：扩展  traceroute 命令只能在特权EXEC模式下执行，而  traceroute 命令可在用户和特权EXEC模式下运行。

相关信息

- TCP/IP 路由协议技术页面

- IP 路由 支持页

- 了解 Ping 和 Traceroute 命令

- 使用操作系统的 traceroute 命令

- 思科技术支持和下载