![]() ![]() ![]() In that case, the zone ID, eth0, matches the name that the operating system typically uses to identify the network card. While Microsoft's documentation indicates different types of zone IDs (which I discuss later in this answer), for a link-local address (in fe80::/64), the “zone ID” is an “interface index” of a network card.Īs a point in comparison, Unix-like systems may use letters after the % sign. I'm guessing that you're using Microsoft Windows. For instance, it can help to determine whether a packet will be using a wired Ethernet card or a wireless Wi-Fi adapter. Those characters are used to identify a "network interface", which people often call a "network card". It may look like the name of a network card, or just be a number.) (The "zone ID" is text that identifies which helps identify which network card to use. The characters after the % (which happen to be numbers in your example) are the "zone ID". If you try to send something to another address beginning with fe80, how will the computer know which NIC to send out on? The scope ID appears to be the solution for this. For example, imagine the scenario of a computer with two NICs, each with a link-local address on different networks. The scope ID indicates which scope the address is for. You can also tell it is link-local because the address begins with fe80.Ĭlear, simply-understood information on this topic seems to be rare, so I'm putting the rest of this together based on my best understanding of RFC 4007 and the other information out there.Ī computer can have multiple link-local addresses, each with a different scope. The article indicates that the presence of a scope ID in your address means it is a link-local address. Microsoft has published this article describing IPv6 addressing, which is the least-confusing article I found. This is an address that identifies the local interface, similar to 127.0.0.1. These addresses don't get routed around on the public Internet because they're not globally unique. It is an address that a computer assigns itself in order to facilitate local communications. It is available to use on the public Internet. This is an IPv6 address given to you by your ISP. ![]() IPv6 defines at least three reachability scopes for addresses: The number after the '%' is the scope ID. Oh, and all these three network adapters were link local. IPAddress has a constructor that accepts the address AND a scope ID. The answer was provided by Stephen: The number is the scope ID. ![]() What still confused me was why would the IPAddress class allow you to create an IP address in that format unless it was valid. As per MSDN, it uniquely identifies each network adapter and this property was introduced in Vista. I checked all the properties available for a network adapter using WMI and found that the numbers are exactly the same as the InterfaceIndex property of each network adapter. The addresses were: fe80::3dd0:7f8e:57b7:34d5%19Ĭlearly, the numbers after % are not some hex representation. I installed VMware to see what IPv6 address it issued. I just made some more observations about this and they match pretty well with what Stephen Jennings said in his answer. However, if I query the same using WMI, I get the address as fe80::71a3:2b00:ddd3:753f, without the %16.ĭoes the %16 have any special significance? I have a VirtualBox adapter which has both an IPv4 and IPv6 address. NET Framework classes to get the IP addresses for my machine: Dns.GetHostAddresses(Dns.GetHostName()) ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |