Explain the properties of an instance of System.Net.IPAddress

I have little trouble understanding the System.Net.IPAddress class because I don’t know where to look for a definition of what some of the properties mean. In particular, what is:

  IPAddress.IsIPv6LinkLocal IPAddress.IsIPv6Multicast IPAddress.IsIPv6SiteLocal IPAddress.IsIPv6Teredo 

I will also gladly accept an answer pointing to a resource that explains these concepts. The MSDN site was inadequate.

+6
source share
3 answers

IPAddress.IsIPv6LinkLocal

A local communication address is an IP address that is intended only for communication within local subnets. Routers do not forward packets with associated local addresses.

IPAddress.IsIPv6Multicast

A multicast address is a logical identifier for a group of hosts on a computer network that are available for processing datagrams or frames intended for multicasting for a designated network service. Multicast addressing can be used in the Link Layer (layer 2 in the OSI model), such as Ethernet multicast, as well as the Internet layer (layer 3 for OSI) for Internet Protocol version 4 (IPv4) or Version 6 (IPv6) multicast.

IPAddress.IsIPv6SiteLocal

The unique local address (ULA) is the IPv6 address in the fc00 :: / 7 block, defined in RFC 4193. This is an IPv6 analogue of an IPv4 private address. Unique local addresses available for use on private networks, for example within a single site or organization, or reach a limited number of sites or organizations. They are not routed on the global IPv6 Internet.

IPAddress.IsIPv6Teredo

In computer networks, Teredo is a transition technology that provides full IPv6 connectivity for IPv6-compatible hosts that are on the IPv4 Internet but that do not have a direct native connection to the IPv6 network. Compared to other similar protocols, its distinguishing feature is that it is able to perform its function even because of network address translation (NAT), such as home routers.

+8
source

CodeNaked's answer is almost correct, but please pay attention to IPAddress.IsIPv6SiteLocal. The original local IPv6 site addresses (fec0 :: / 10) are out of date.

These days, instead of Local Local, unique local addresses (ULAs) are used. ULA has two options: fc00 :: / 8 has not yet been defined, but can be used in the future for internal addresses registered in a central location (ULA Central). fd00 :: / 8 is used and not registered anywhere. Prefixes from this range are randomly generated.

Unfortunately, IsIPv6SiteLocal only checks the original obsolete version:

 PS C:\Users\Administrator> [System.Net.IPAddress]'fec0::' Address : AddressFamily : InterNetworkV6 ScopeId : 0 IsIPv6Multicast : False IsIPv6LinkLocal : False IsIPv6SiteLocal : True IPAddressToString : fec0:: 

It does not recognize ULA Central:

 PS C:\Users\Administrator> [System.Net.IPAddress]'fc00::' Address : AddressFamily : InterNetworkV6 ScopeId : 0 IsIPv6Multicast : False IsIPv6LinkLocal : False IsIPv6SiteLocal : False IPAddressToString : fc00:: 

Or a locally designated ULA:

 PS C:\Users\Administrator> [System.Net.IPAddress]'fd00::' Address : AddressFamily : InterNetworkV6 ScopeId : 0 IsIPv6Multicast : False IsIPv6LinkLocal : False IsIPv6SiteLocal : False IPAddressToString : fd00:: 

See http://tools.ietf.org/search/rfc4193 for details.

+4
source

Source: https://habr.com/ru/post/891243/


All Articles