好的,我知道这个问题的答案是ICMP - 我所有的教科书都这么说,互联网就这么说,每个人都这么说......除了我的TA。根据这个TA ping不仅用于ICMP,还用于IP,arp和其他一些。那么...用于ping的协议是哪些?除了ICMP?
答案 0 :(得分:28)
ICMP意味着Internet控制消息协议,并且始终与IP协议耦合(有两个ICMP变体,一个用于IPv4,一个用于IPv6。)
echo请求和echo响应是用于实现ping
的ICMP的两个操作代码。
除了原始ping程序之外,ping可能只是意味着检查远程节点是否响应的操作,这可能在协议栈中的几个层上完成 - 例如ARP ping用于测试本地网络上的主机。术语ping也可用于更高协议层和API,例如检查数据库是否已启动的行为,是在数据库层协议下完成的。
ICMP位于IP之上。您拥有的内容取决于您所在的网络,并且与ping操作本身无关。
答案 1 :(得分:4)
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)
答案 2 :(得分:2)
Internet控制消息协议
http://en.wikipedia.org/wiki/Internet_Control_Message_Protocol
ICMP建立在许多其他协议之上,因此从这个意义上讲,您的TA是正确的。但是,ping本身就是ICMP。
答案 3 :(得分:1)
通常的命令行ping
工具使用ICMP Echo,但也可以使用其他协议,它们在调试不同类型的网络问题时非常有用。
我至少记得arping
(用于测试ARP请求)和tcping
(尝试建立TCP连接并立即关闭它,它可用于检查流量是否到达某个端口)在我的头顶上,但我确信还有其他人。
答案 4 :(得分:0)
Netscantools Pro Ping可以执行ICMP,UDP和TCP。