Ping
本页介绍 MikroTik RouterOS 的 Ping 工具,它使用 ICMP Echo 消息测试主机连通性并测量往返延迟。文中解释了 TTL、interval、count 等参数,并支持 IPv4/IPv6 地址和 DNS 名称。在组播发现部分还简要提到了 MAC Ping。
Ping
Ping 使用 Internet Control Message Protocol (ICMP) Echo 消息来确定远程主机是活动还是非活动,并确定与其通信时的往返延迟。Ping 工具向主机发送 ICMP(类型 8)消息并等待 ICMP echo-reply(类型 0)。这些事件之间的间隔称为往返。如果响应(称为 pong)在间隔结束前未到达,我们假定它已超时。报告的第二个重要参数是 TTL(Time to Live)。它在处理数据包的每台机器上递减。只有当 TTL 大于源到目的地之间的路由器数量时,数据包才会到达其目的地。
快速示例
RouterOS Ping 工具允许您配置各种附加参数,例如:
- arp-ping
- nd-ping
- address
- src-address
- count
- dscp
- interface
- interval
- routing-table
- size
- ttl
让我们看一个非常简单的示例:
[admin@MikroTik] > /tool/ping address=10.155.126.252 count=5 interval=200ms
SEQ HOST SIZE TTL TIME STATUS
0 10.155.126.252 56 64 0ms
1 10.155.126.252 56 64 0ms
2 10.155.126.252 56 64 0ms
3 10.155.126.252 56 64 0ms
4 10.155.126.252 56 64 0ms
sent=5 received=5 packet-loss=0% min-rtt=0ms avg-rtt=0ms max-rtt=0ms
我们可以用更短的 CLI 命令达到相同效果:
[admin@MikroTik] > /ping 10.155.126.252 count=5 interval=50ms
SEQ HOST SIZE TTL TIME STATUS
0 10.155.126.252 56 64 0ms
1 10.155.126.252 56 64 0ms
2 10.155.126.252 56 64 0ms
3 10.155.126.252 56 64 0ms
4 10.155.126.252 56 64 0ms
sent=5 received=5 packet-loss=0% min-rtt=0ms avg-rtt=0ms max-rtt=0ms
也可以 ping 一个组播地址来发现属于某个组播组的所有主机:
[admin@MikroTik] > /ping ff02::1
HOST SIZE TTL TIME STATUS
fe80::20c:42ff:fe49:fceb 56 64 1ms echo reply
fe80::20c:42ff:fe72:a1b0 56 64 1ms echo reply
fe80::20c:42ff:fe28:7945 56 64 1ms echo reply
fe80::21a:4dff:fe5d:8e56 56 64 3ms echo reply
sent=1 received=4 packet-loss=-300% min-rtt=1ms avg-rtt=1ms max-rtt=3ms
按 DNS 名称 ping:
[admin@MikroTik] > /ping www.google.com count=5 interval=50ms
SEQ HOST SIZE TTL TIME STATUS
0 216.58.207.228 56 51 14ms
1 216.58.207.228 56 51 13ms
2 216.58.207.228 56 51 13ms
3 216.58.207.228 56 51 13ms
4 216.58.207.228 56 51 13ms
sent=5 received=5 packet-loss=0% min-rtt=13ms avg-rtt=13ms max-rtt=14ms
信息
当您使用域名和 CLI 进行 ping 时,将使用路由器的 DNS 来解析地址。当您使用 WinBox Tools/Ping 时,将使用您计算机的 DNS 来解析给定地址。
ND Ping
arp-ping 的 IPv6 对应项:使用 nd-ping=yes 时,路由器发送 IPv6 邻居请求(NS)而不是 ICMPv6 echo 请求,并在收到邻居通告(NA)时报告成功。这允许即使 ICMPv6 echo 被过滤或禁用,也能确认主机存在和 ND 工作。ND ping 仅适用于直接连接(on-link)的 IPv6 地址;子网外目标会返回 no route to host 错误。全局目标需要显式指定 interface=,否则 ping 会失败并提示 interface needs to be specified for ND ping(链路本地目标通过 %iface 后缀携带它):
[admin@MikroTik] > /tool/ping address=fe80::2ec8:1bff:fef3:9c5e%ether1 nd-ping=yes
[admin@MikroTik] > /tool/ping address=2001:db8:0:1::2 nd-ping=yes interface=ether1
在 WinBox 中,Tools → Ping 在 ARP Ping 旁边有一个单独的 ND Ping 复选框,并带有一个接口选择器。
MAC Ping
此子菜单允许启用 MAC Ping 服务器。
启用 MAC ping 后,同一广播域中的其他主机可以使用 ping 工具 ping 一个 MAC 地址:
[admin@MikroTik] > /tool/mac-server/ping/set enabled=yes
Ping MAC 地址:
[admin@MikroTik] > /ping 00:0C:42:72:A1:B0
HOST SIZE TTL TIME STATUS
00:0C:42:72:A1:B0 56 0ms
00:0C:42:72:A1:B0 56 0ms
sent=2 received=2 packet-loss=0% min-rtt=0ms avg-rtt=0ms max-rtt=0ms
信息
默认情况下,MAC ping 会尝试通过所有活动接口到达目的地。如果目的地可通过多个接口到达,这可能会产生不必要的流量和重复回复。要将 MAC ping 限制到特定接口,请使用接口选择器(在 MAC 地址后附加
%加上接口名称)。例如:/ping 00:11:22:33:44:55%ether1