My previous IPv6 writings have been rather long and too much like reading the original specifications. I’ll try to be more purpose-oriented from now on.
I am seeing a lot of searches for “arp -a” “IPv6”. So, you want to know how to perform “arp -a” in IPv6? Well, I’ll show you. The equivalent of ARP (Address Resolution Protocol) in IPv6 is NDP (Neighbor Discovery Protocol), although there is no “ndp” command. Sadly, you have to type more. (Examples and more are below the video.)
Windows netsh command “netsh interface ipv6 show neighbors”:
You may notice some duplicate and unreachable physical (MAC) addresses. The unreachables are due to privacy addresses. My Windows boxes by default use temporary IPv6 addresses than change periodically to attempt some measure of privacy. I think this is dumb, and it can be turned off by “netsh interface ipv6 set privacy state=disabled” on each machine. The duplicates are because each MAC has multiple IPv6 address scopes. Most machines will have the public IPv6 address and a link-local IPv6 address, usually starting with fe80.
I will also draw your attention to the fact that the physical MAC address is transliterated and somewhat recognizable in the internet address for link local addresses and most non-private addresses. Current Ethernet MAC’s are 48-bit addresses. IPv6 is geared for 64-bit unique identifiers, and there is a standard conversion to represent MACs as EIU-64 addresses.
The ff02: addresses are multicast addresses. In IPv6 there is no broadcast, but there are various multicast scopes to address the link-local domain, the site-local domain and other domains.
The Linux command:
The “ip” command is /sbin/ip which is part of the iproute package in most distributions.