IPAddress.ScopeId Property

Definition

Gets or sets the IPv6 address scope identifier.

C#
public long ScopeId { get; set; }

Property Value

A long integer that specifies the scope of the address.

Exceptions

AddressFamily = InterNetwork.

The scope identifier is < 0

-or-

The scope identifier is > 0x00000000FFFFFFFF

Examples

C#

// Display the type of address family supported by the server. If the
// server is IPv6-enabled this value is: InterNetworkV6. If the server
// is also IPv4-enabled there will be an additional value of InterNetwork.
Console.WriteLine("AddressFamily: " + curAdd.AddressFamily.ToString());

// Display the ScopeId property in case of IPV6 addresses.
if(curAdd.AddressFamily.ToString() == ProtocolFamily.InterNetworkV6.ToString())
  Console.WriteLine("Scope Id: " + curAdd.ScopeId.ToString());

Remarks

The meaning of ScopeId changes depending on the context in which it is used.

  • Link-local address. On a host with multiple interfaces connected to separate links, the same link-local address can be assigned to multiple interfaces. To eliminate this ambiguity, a scope identifier is used to specify the interface over which messages are exchanged.

Poznámka

Link-local addresses, identified by the Format Prefix (FP) FE80, are used by nodes when communicating with neighboring nodes on the same link.

  • Site-local addresses. A host can be connected to multiple sites. In this case, a scope identifier is used to indicate a specific site to communicate with.

Poznámka

Site-local addresses, identified by the Format Prefix (FP) FEC0, are used by nodes when communicating on private intranets.

The notation that is used to specify the ScopeId with an address is Address%ScopeId. For example, FE80::5EFE:192.168.41.30%2.

Applies to

Produkt Verzie
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0