FG

Why is there a percent sign '%' in the IPv6 address?

Fresh3 days ago
Mar 15, 2026148525 views
Confidence Score1%
1%

Problem

I am using the .NET Framework classes to get the IP addresses for my machine: I have a VirtualBox adapter which has both an IPv4 and IPv6 address. Using the .NET code, I am getting the IPv6 address as . Notice the at the end? However, if I query the same using , I get the address as , without the . Does the have any special significance? Edit: I just made some more observations about this and they match pretty well with what Stephen Jennings said in his answer. I installed VMware to see what IPv6 address it issued. The addresses were: Clearly, the numbers after % are not some hex representation. I checked all the properties available for a network adapter using WMI and found that the numbers are exactly the same as the property of each network adapter. As per MSDN, it uniquely identifies each network adapter and this property was introduced in Vista. What still confused me was why would the class allow you to create an IP address in that format unless it was valid. The answer was prov…

Error Output

Dns.GetHostAddresses(Dns.GetHostName())

Unverified for your environment

Select your OS to check compatibility.

1 Fix

Canonical Fix
Unverified Fix
New Fix – Awaiting Verification

Fix for: Why is there a percent sign '%' in the IPv6 address?

Low Risk

The number after the '%' is the scope ID. IPv6 defines at least three reachability scopes for addresses: Globally addressable. This is an IPv6 address given to you by your ISP. It is available to use on the public Internet. Link-local. This is similar to the 169.254.X.X range. It is an address that a computer assigns itself in order to facilitate local communications. These addresses don't get routed around on the public Internet because they're not globally unique. Node-local. This is an addre…

Awaiting Verification

Be the first to verify this fix

Sign in to verify this fix

Environment