IPAddress.ScopeId Property

Gets or sets the IPv6 address scope identifier.

Namespace: System.Net
Assembly: System (in system.dll)

property long long ScopeId {
	long long get ();
	void set (long long value);
/** @property */
public long get_ScopeId ()

/** @property */
public void set_ScopeId (long value)

public function get ScopeId () : long

public function set ScopeId (value : long)

Not applicable.

Property Value

A long integer that specifies the scope of the address.

Exception typeCondition


AddressFamily = InterNetwork.


scopeId < 0

- or -

  • scopeId > 0x00000000FFFFFFFF

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.


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.


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:

No code example is currently available or this language may not be supported.
// Display the type of address family supported by the server. 
// If the server is IPv6-enabled this value is:InternNetworkV6.
// If the server is also IPv4-enabled there will be an 
// additional value of InterNetwork.
Console.WriteLine(("AddressFamily: " 
    + curAdd.get_AddressFamily().ToString()));

// Display the ScopeId property in case of IPV6 addresses.
if (curAdd.get_AddressFamily().ToString().equals(
        ProtocolFamily.InterNetworkV6.ToString())) {
    Console.WriteLine(("Scope Id: " 
        +(new Long(curAdd.get_ScopeId())).ToString()));

Windows 98, Windows Server 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0, 2.0, 1.1

.NET Compact Framework

Supported in: 2.0