Skip to content

ICMP#

Have you ever used ping before? Some of you might have, especially if you've ever called up your ISP to diagnose issues with your home Internet connection.

Here's a GIF of me pinging an IPv4 address owned by Google:

Pinging Google

Pinging Google

Here's the command and output:

1
2
3
4
5
6
7
> ping 8.8.8.8

Pinging 8.8.8.8 with 32 bytes of data:
Reply from 8.8.8.8: bytes=32 time=13ms TTL=117
Reply from 8.8.8.8: bytes=32 time=13ms TTL=117
Reply from 8.8.8.8: bytes=32 time=13ms TTL=117
Reply from 8.8.8.8: bytes=32 time=13ms TTL=117

Pinging a system is utilising the ICMP protocol.

It's a utility protocol for handling errors and messages about the operations of a network, hosts and other things.

The ping command is very likely something you're using to be running during your time creating networks in AWS and trying to debug connection issues between hosts.

Another command, called traceroute, which uses ICMP by default on Windows (but uses UDP on Linux and Unix like operating systems.) Here's the output of me looking at a traceroute to 8.8.8.8:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
> tracert 8.8.8.8

Tracing route to dns.google [8.8.8.8]
over a maximum of 30 hops:

  1    <1 ms    <1 ms    <1 ms  192.168.88.1
  2    10 ms    10 ms     9 ms  <my public IP>
  3     1 ms     1 ms     1 ms  au-ql-0066-ipg-01-eth2-2003.tpgi.com.au [203.221.87.13]
  4    12 ms    12 ms    12 ms  bri-pow-que-crt3-be-100.tpg.com.au [60.240.241.1]
  5    16 ms    15 ms    15 ms  syd-apt-ros-crt1-be-50.tpg.com.au [203.219.107.74]
  6    13 ms    12 ms    12 ms  syd-apt-ros-cdn11-be200.tpgi.com.au [203.29.134.125]
  7    13 ms    13 ms    13 ms  209.85.149.84
  8    13 ms    12 ms    12 ms  72.14.239.249
  9    14 ms    14 ms    14 ms  142.250.234.213
 10    13 ms    13 ms    13 ms  dns.google [8.8.8.8]

Trace complete.

Because I'm running Windows 10, I used tracert to run a traceroute operation against 8.8.8.8. What we have here in the list, above, are all the routers between my router, in my office, and Google's router that handles the IP 8.8.8.8. Each one of these entries is a "hop" and so there are ten hops between me and Google's DNS server, 8.8.8.8.

Now that's routing in action.