[AUDIO LOGO]
So now that we've reviewed how IPv6 addressing works
and a little bit about neighbor discovery,
now let's jump onto the command line
and take a look at what this actually
looks like on the equipment.
And we'll take a look at a Wireshark capture
and see what this actually looks like on the network itself.
So let's start by looking at our topology.
We're just going to be looking at two routers,
but we just want to see who they're
connected to so that the packets make a little bit more sense.
And then we'll jump into the command line and Wireshark.
So for this demonstration, we will
be using IS-IS IPv6 Topology 1.
And again, in this particular video,
we're simply going to be looking at IPv6 configuration
and some good show and debug commands.
And we'll be focusing on router 1.
This way we get to see some things on IOS XR.
And then we'll also take a look at router 5
so we can see similar outputs on IOS XE.
So when we're looking at router 1,
we'll see things like neighbor discovery
from router 2, things like this.
That's what we're going to be looking for.
So that said, let's go ahead and jump into the command
line on router 1.
So we'll start off here on router 1
just by doing a show ipv6 interface brief.
And we can see here that all of our interfaces that we're using
in this lab are currently configured both with
a link-local address and with a globally routable address,
starting with 2001:db8.
This is then followed by the subnet portion,
such as 10 or 12, 135, 167, and then, of course,
followed by the host portion.
Also, take note, as we discussed during our addressing video,
that all of these interfaces have
that same link-local address.
And again, this is perfectly fine and, quite honestly,
a pretty convenient thing to do.
We could also do a ping.
So we'll ping out our Gigabit 0/0/0/0 interface and see if we
can reach router 2.
So for that, we'll ping the globally reachable address.
We'll ping the 2001::db8:12::2 would be router 2's host
portion.
We see here that that's successful.
That means that we also should have done a neighbor discovery.
So if we do a show ipv6 neighbor,
we should now have at least router 2 as an entry.
And we can see right here that we do.
Not only do we have its global address,
but we can see we have its link-local address as well.
Now, we can ping that link-local address.
But things do get a little interesting.
So if I say ping fe80::2, which would be router 2's link-local
address, the problem is the router has no idea what
interface to send that out, because again,
if we look at our other interfaces,
they all have fe80 on them.
So we have to actually tell it.
And here's the really fun part.
If I say Gig 0/0/0/0 and hit Enter, it's going to say,
I don't know what that is.
I've never heard of it.
No, instead, what you have to do is
you have to actually say GigabitEthernet
and spell it out.
Now you can see it works perfectly fine.
But just to show you one other thing, if I do it again,
it doesn't like that either.
So not only do you have to spell the entire interface out,
but it has to be case sensitive.
Now, I'm going to show you one other thing that
doesn't work here.
And I know it might seem odd to show you
something that doesn't work.
But you'll see why in just a moment.
If I say to ping fe80::2 and then say %GigabitEthernet
0/0/0/0, this is also not going to work.
The reason I'm bringing this up is when we get to IOS XE,
we will do this again.
And we'll see that that actually does work.
This is a special IPv6 naming convention
that actually lets us list the egress interface along
with the destination.
But as we can see, this is at least currently
not supported on IOS XR.
Now, some other good commands to look at--
show ipv6 traffic brief.
This will just give us a general overview
of how many packets have been sent and received,
and so on, as well as ICMP statistics down here
at the bottom.
We can also see, when we scroll down to the very bottom,
that we have our Neighbor Discovery ICMP
statistics as well.
So this is something that we can keep track of.
Of course, we can also do show route ipv6.
This will show us the IPv6 routing table,
which as of right now is just going
to be local and connected routes because we haven't
set up any routing just yet.
And a good debug we can keep track of
is debug ipv6 neighbor discovery packet.
If we do this, we can see here that we get a router
advertisement message.
So here we can see it would show us all of our neighbor
discovery packets.
In this case, we just happen to see a router advertisement
message because these are sent out on a timed basis.
Of course, if we were to ping something,
we will be able to see those neighbor discovery
packets as well.
But we'll see those in our Wireshark capture.
Now, let's jump over to router 5 and see
some of these similar commands and how
to see the same information on IOS XE.
So once again, we'll start with a show ipv6 interface brief.
Pretty much the same output.
We can see once again that we have
both link-local and global addresses on our interfaces.
Now, on this one, notice, if we do a ping fe80 colon colon--
and let's again say we're going to ping router 2--
this is what we were talking about earlier, where
if I say percent, I can now put the egress interface,
GigabitEthernet2, and it'll take this and use it
as the egress interface.
So we can see that this convention works on IOS XE.
It is, however, keep in mind, still case sensitive.
Once again, we have commands like show ipv6 neighbor.
This will show us our layer 2 to layer 3 mappings.
We can see at this point, all we've
learned is router 2's link-local address.
If, by the way, we were to change this
and say ping router 4, which is at that same segment,
look at our neighbors again.
We see that now we know about 2 and 4.
We still have the show ipv6 traffic.
Again, it shows us the same basic information,
slightly different output.
Show ipv6 route-- again, just local
and connected for right now, but showing us the IPv6
routing table nonetheless.
And once again, we have debug ipv6 neighbor discovery
as a very useful command.
On IOS XE, we'll have to turn on terminal monitor to see those.
And once again, we see a router advertisement message
coming in here--
in this case, from router 2.
So now that we've seen what this looks like on the command line,
let's jump into a Wireshark capture.
Now, this is a capture I already made,
so I'm just opening a presaved capture, in this case.
But let's take a look at it because we
can see both the router advertisement messages as well
as some neighbor discovery, both solicitation and advertisement.
So let's go ahead and jump in and take a look at that.
So this is our packet capture.
It is filtered for just IPv6 traffic.
And what we see here on this first packet here, number 12,
is we have a router advertisement message being
sent from this MAC address.
And it's going from the source of fe80::2,
which would indicate to us in our design that that's router
2.
And it's going to the destination ff02::1,
which in IPv6 is a link-local multicast for all routers.
So in this case, this is router 2 announcing itself as a router
onto the segment.
And if we look down here into the actual packet
itself, under the Internet Control Message Protocol
version 6, two things we want to look at that we've discussed.
The first is the fact that this is a type Router Advertisement,
and it is in fact type 134.
Also, what's it actually advertising?
It's advertising that it has this prefix, 2001:db8:12::/64,
as an available prefix that it's routing for.
So this is a router advertisement message
as it would look on the network.
Our next packet, number 44, is a neighbor solicitation message.
In this case, we can see that it's fe80::1, so router 1,
looking for the destination 2001:db8:12::2.
What do we see about this packet?
So we can see that it's type Neighbor Solicitation, which
is type 135.
And what's it actually looking for?
We can see that it's looking for the target address,
2001:db:12::2.
So again, this is the neighbor solicitation,
much like an ARP request.
Right below this, packet 45, we have 2001:db:12::2 responding
to fe80::1, which is router 1.
And it's a neighbor advertisement.
This is the router responding with its MAC address,
saying that it has that address.
We see here that under the ICMPv6 option,
it is replying with its MAC address.
So this would be the equivalent of the ARP reply in IPv4.
So in this video, we jumped into the command line,
and we took a look at our IPv6 interfaces.
We did some testing with some pinging.
We looked at some debugs for the neighbor discovery packets.
And then we jumped into Wireshark,
and we looked at what router advertisements, neighbor
solicitation, and neighbor advertisement messages all
look like on the network itself.
I hope this has been informative for you,
and I'd like to thank you for viewing.