PING 使用哪些协议?

Posted

技术标签:

【中文标题】PING 使用哪些协议?【英文标题】:Which Protocols are used for PING? 【发布时间】:2011-06-21 21:59:26 【问题描述】:

好吧,我知道这个问题的答案是 ICMP——我所有的教科书都这么说,互联网这么说,每个人都这么说……除了我的 TA。根据这个 TA ping 不仅与 ICMP 一起使用,而且还与 IP、arp​​ 和其他一些一起使用。那么... 用于 ping 的协议是什么?除了 ICMP?

【问题讨论】:

【参考方案1】:

ICMP 表示 Internet 控制消息协议,总是与 IP 协议耦合(有 2 种 ICMP 变体,一种用于 IPv4,一种用于 IPv6。)

echo request和echo response是ICMP用来实现ping的两个操作码。

除了原始的 ping 程序之外,ping 可能只是意味着检查远程节点是否响应的操作,这可能在协议栈的多个层上完成 - 例如ARP ping 用于测试本地网络上的主机。术语 ping 也可能用于更高的协议层和 API,例如检查数据库是否启动的行为,在数据库层协议中完成。

ICMP 位于 IP 之上。您下面的内容取决于您所在的网络,它们本身与 ping 操作无关。

【讨论】:

【参考方案2】:

Ping 可用于多种协议。协议值可以是 appletalk、clns、ip(默认)、novell、apollo、vines、decnet 或 xns。某些协议要求远端的另一台 Cisco 路由器来应答 ping 数据包。 ...(Cisco field manual: router configuration, By Dave Hucaby, Steve McQuerry. Page 64)

... 对于 IP。 ping 使用 ICMP 类型 8 请求和 ICMP 类型 0 回复。 traceroute(通过使用 UDP)命令可用于沿着数据包到达目的地的路径发现路由器。 ...(Page 63)

【讨论】:

【参考方案3】:

互联网控制消息协议

http://en.wikipedia.org/wiki/Internet_Control_Message_Protocol

ICMP 建立在一堆其他协议之上,因此从这个意义上说,您的 TA 是正确的。但是,ping 本身就是 ICMP。

【讨论】:

如果 TA 是正确的,那么当我被问及 ping 及其协议时(我即将参加考试) - 我应该回复 ICMP、IP、ARP,我应该添加 TCP、UDP、rarp ?【参考方案4】:

常用的命令行ping 工具使用ICMP Echo,但确实也可以使用其他协议,它们对于调试不同类型的网络问题很有用。

我至少记得arping(用于测试ARP请求)和tcping(尝试建立TCP连接并立即关闭它,它可用于检查流量是否到达主机上的某个端口)在我的脑海中,但我相信还有其他人。

【讨论】:

我们有 UDP 版本的 ping 吗?rarp 呢?如果我们有 ARP,我们不应该也有一个 RARP 吗? @Izumi:“ping”是一个程序的名称,并且通过扩展附加到检查网络对等点的活动的一般概念的名称。因此,恕我直言,不够精确,无法被问到它使用什么协议。我可以通过向一个人扔石头来实现“ping”(我已经做到了)。确实,它甚至会发出“砰”的一声。 哈,是的,我知道这是一个程序,这就是为什么我一开始如此困惑(课程中的所有其他人也是如此)。但这是我的一个朋友被问到的一个问题,当他回答“ICMP”时,TA 说 - 不正确,你应该添加 IP、ARP、TCP,我不知道还有什么。这就是我问的原因。【参考方案5】:

Netscantools Pro Ping 可以做 ICMP、UDP 和 TCP。

【讨论】:

以上是关于PING 使用哪些协议?的主要内容,如果未能解决你的问题,请参考以下文章

tcping端口检测工具使用

tcping端口检测工具使用

ping是使用TCP/IP协议中的啥协议?

ping使用的icmp协议的疑问?

ip不通有哪些原因?

Ping命令与ICMP协议