The final module of this course revisits all the tools in our ICMP toolbox,
except this time for IPv6. I'll be using the terms IPv6, ICMP, and ICMPv6
interchangeably here, as is commonly done in real life.
Our lineup includes ping, where we'll do some basic reachability tests and
then analyze the resulting packets, traceroute, where we will discover the
routed path through the network and explore the messages it generates.
Fragmentation in IPv6 is different than IPv4 in some fundamental ways, so
we will explore that in depth.
We will also retrofit our IPv4 ICMP firewall for IPv6 to
create a template for your real‑life usage.
First, let's knock out ping. Our Globomantics client has its stateless
IPv6 address from the neighbor discovery process we covered in the
previous module. It sends an ICMPv6 echo‑request to the Wired Brain Coffee
server on the other side of the network.
I'm omitting the FC00 text from the IPv6 addresses
in the diagram for readability.
When the remote server receives this echo‑request, it processes the
packet and sends back an ICMPv6 echo‑reply message.
This operation is identical to IPv4 ping.
Let's see this in action on the command line.
Next, we will demonstrate ICMPv6 ping in the Globomantics network.
Ping for IPv6 is very similar to ping for IPv4. In most operating
systems we use the same ping command.
Many Linux distributions use ping 6 specifically for IPv6 though. Let's
ping the Wired Brain Coffee server on the other side of the network,
which has IPv6 address of fc00:10:2:5::5.
Okay, that looks good.
We'll explore those packets next, but before we do,
I'll briefly enable ICMPv6 debugging just so we can see the
echo‑requests being sent and the echo‑replies returning back in. Awesome! Next, we will move on to the packet capture.