38

Okay, I know that the answer to this question is ICMP - all my textbooks are saying so, the Internet is saying so, everyone is saying so... except for my TA. According to this TA ping is used not only with ICMP, but also IP, arp, and some other. So... which are the protocols used for ping? Other than ICMP?

Izumi
  • 571
  • 1
  • 7
  • 16

5 Answers5

30

ICMP means Internet Control Message Protocol and is always coupled with the IP protocol (There's 2 ICMP variants one for IPv4 and one for IPv6.)

echo request and echo response are the two operation codes of ICMP used to implement ping.

Besides the original ping program, ping might simply mean the action of checking if a remote node is responding, this might be done on several layers in a protocol stack - e.g. ARP ping for testing hosts on a local network. The term ping might be used on higher protocol layers and APIs as well, e.g. the act of checking if a database is up, done at the database layer protocol.

ICMP sits on top of IP. What you have below depends on the network you're on, and are not in themselves relevant to the operation of ping.

SomeWittyUsername
  • 18,025
  • 3
  • 42
  • 85
nos
  • 223,662
  • 58
  • 417
  • 506
4

Ping can be used with a variety of protocols. The protocol value can be appletalk, clns, ip (the default), novell, apollo, vines, decnet, or xns. Some protocols require another Cisco router at the remote end to answer ping packets. ... (Cisco field manual: router configuration, By Dave Hucaby, Steve McQuerry. Page 64)

... For IP. ping uses ICMP type 8 requests and ICMP type 0 replies. The traceroute (by using UDP) command can be used to discover the routers along the path that packets are taking to a destination. ... (Page 63)

3

Internet Control Message Protocol

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

ICMP is built on top of a bunch of other protocols, so in that sense your TA is correct. However, ping itself is ICMP.

mschaef
  • 1,620
  • 10
  • 12
  • If the TA is correct then when I'm asked about ping and its protocols (I have an exam coming up) - should I reply ICMP, IP, ARP, shoud I add TCP, UDP, rarp? – Izumi Feb 05 '11 at 15:50
1

The usual command line ping tool uses ICMP Echo, but it's true that other protocols can also be used, and they're useful in debugging different kinds of network problems.

I can remember at least arping (for testing ARP requests) and tcping (which tries to establish a TCP connection and immediately closes it, it can be used to check if traffic reaches a certain port on a host) off the top of my head, but I'm sure there are others aswell.

Matti Virkkunen
  • 63,558
  • 9
  • 127
  • 159
  • Do we have a UDP version of ping?What about rarp? If we have for ARP, shouldn't we have one for RARP as well? – Izumi Feb 05 '11 at 15:51
  • 1
    @Izumi: "ping" is the name of a program, and also by extension the name attached to the general concept of checking for liveness of a network peer. Thus IMHO is is not precise enough to be asked what protocols it uses. I could implement "ping" (and I have) by throwing a rock at a person. Indeed, then it even makes a "ping" sound. – President James K. Polk Feb 05 '11 at 15:56
  • Hah, yes, I know it's a program, that's why I was initially so confused (and so are all the other people in the course). But this is a question that a friend of mine was asked and when he answered 'ICMP' the TA said - incorrect, you should have added IP, ARP, TCP and I don't know what else. That's why I'm asking. – Izumi Feb 05 '11 at 16:02
0

Netscantools Pro Ping can do ICMP, UDP, and TCP.

Martin v. Löwis
  • 124,830
  • 17
  • 198
  • 235