SuffixOrigin Enumerazione
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Specifica come è stata determinata la posizione del suffisso dell'indirizzo IP dell'host.
public enum class SuffixOrigin
public enum SuffixOrigin
type SuffixOrigin =
Public Enum SuffixOrigin
- Ereditarietà
Campi
LinkLayerAddress | 4 | Il suffisso è un suffisso link-local. |
Manual | 1 | Il suffisso è stato configurato manualmente. |
OriginDhcp | 3 | Il suffisso è stato fornito da un server DHCP (Dynamic Host Configuration Protocol). |
Other | 0 | La posizione del suffisso è stata determinata mediante un'origine non specificata. |
Random | 5 | Il suffisso è stato assegnato a caso. |
WellKnown | 2 | Il suffisso è noto. I suffissi noti sono specificati nei documenti ST (Standard Track) delle RFC (Request for Comments) e vengono assegnati dalla IANA (Internet Assigned Numbers Authority) o da un registro indirizzi. Tali suffissi vengono utilizzati per scopi speciali. |
Esempio
Nell'esempio di codice seguente vengono visualizzate informazioni sul prefisso e sul suffisso per gli indirizzi unicast.
void DisplayUnicastAddresses()
{
Console::WriteLine( "Unicast Addresses" );
array<NetworkInterface^>^adapters = NetworkInterface::GetAllNetworkInterfaces();
System::Collections::IEnumerator^ myEnum17 = adapters->GetEnumerator();
while ( myEnum17->MoveNext() )
{
NetworkInterface ^ adapter = safe_cast<NetworkInterface ^>(myEnum17->Current);
IPInterfaceProperties ^ adapterProperties = adapter->GetIPProperties();
UnicastIPAddressInformationCollection ^ uniCast = adapterProperties->UnicastAddresses;
if ( uniCast->Count > 0 )
{
Console::WriteLine( adapter->Description );
String^ lifeTimeFormat = "dddd, MMMM dd, yyyy hh:mm:ss tt";
System::Collections::IEnumerator^ myEnum18 = uniCast->GetEnumerator();
while ( myEnum18->MoveNext() )
{
UnicastIPAddressInformation ^ uni = safe_cast<UnicastIPAddressInformation ^>(myEnum18->Current);
DateTime when;
Console::WriteLine( " Unicast Address ......................... : {0}",
uni->Address );
Console::WriteLine( " Prefix Origin ........................ : {0}",
uni->PrefixOrigin );
Console::WriteLine( " Suffix Origin ........................ : {0}",
uni->SuffixOrigin );
Console::WriteLine( " Duplicate Address Detection .......... : {0}",
uni->DuplicateAddressDetectionState );
// Format the lifetimes as Sunday, February 16, 2003 11:33:44 PM
// if en-us is the current culture.
// Calculate the date and time at the end of the lifetimes.
when = DateTime::UtcNow + TimeSpan::FromSeconds( (double)uni->AddressValidLifetime );
when = when.ToLocalTime();
Console::WriteLine( " Valid Life Time ...................... : {0}",
when.ToString( lifeTimeFormat, System::Globalization::CultureInfo::CurrentCulture ) );
when = DateTime::UtcNow + TimeSpan::FromSeconds( (double)uni->AddressPreferredLifetime );
when = when.ToLocalTime();
Console::WriteLine( " Preferred life time .................. : {0}",
when.ToString( lifeTimeFormat, System::Globalization::CultureInfo::CurrentCulture ) );
when = DateTime::UtcNow + TimeSpan::FromSeconds( (double)uni->DhcpLeaseLifetime );
when = when.ToLocalTime();
Console::WriteLine( " DHCP Leased Life Time ................ : {0}",
when.ToString( lifeTimeFormat, System::Globalization::CultureInfo::CurrentCulture ) );
}
Console::WriteLine();
}
}
}
public static void DisplayUnicastAddresses()
{
Console.WriteLine("Unicast Addresses");
NetworkInterface[] adapters = NetworkInterface.GetAllNetworkInterfaces();
foreach (NetworkInterface adapter in adapters)
{
IPInterfaceProperties adapterProperties = adapter.GetIPProperties();
UnicastIPAddressInformationCollection uniCast = adapterProperties.UnicastAddresses;
if (uniCast.Count >0)
{
Console.WriteLine(adapter.Description);
string lifeTimeFormat = "dddd, MMMM dd, yyyy hh:mm:ss tt";
foreach (UnicastIPAddressInformation uni in uniCast)
{
DateTime when;
Console.WriteLine(" Unicast Address ......................... : {0}", uni.Address);
Console.WriteLine(" Prefix Origin ........................ : {0}", uni.PrefixOrigin);
Console.WriteLine(" Suffix Origin ........................ : {0}", uni.SuffixOrigin);
Console.WriteLine(" Duplicate Address Detection .......... : {0}",
uni.DuplicateAddressDetectionState);
// Format the lifetimes as Sunday, February 16, 2003 11:33:44 PM
// if en-us is the current culture.
// Calculate the date and time at the end of the lifetimes.
when = DateTime.UtcNow + TimeSpan.FromSeconds(uni.AddressValidLifetime);
when = when.ToLocalTime();
Console.WriteLine(" Valid Life Time ...................... : {0}",
when.ToString(lifeTimeFormat,System.Globalization.CultureInfo.CurrentCulture)
);
when = DateTime.UtcNow + TimeSpan.FromSeconds(uni.AddressPreferredLifetime);
when = when.ToLocalTime();
Console.WriteLine(" Preferred life time .................. : {0}",
when.ToString(lifeTimeFormat,System.Globalization.CultureInfo.CurrentCulture)
);
when = DateTime.UtcNow + TimeSpan.FromSeconds(uni.DhcpLeaseLifetime);
when = when.ToLocalTime();
Console.WriteLine(" DHCP Leased Life Time ................ : {0}",
when.ToString(lifeTimeFormat,System.Globalization.CultureInfo.CurrentCulture)
);
}
Console.WriteLine();
}
}
}
Public Shared Sub DisplayUnicastAddresses()
Console.WriteLine("Unicast Addresses")
Dim adapters As NetworkInterface() = NetworkInterface.GetAllNetworkInterfaces()
Dim adapter As NetworkInterface
For Each adapter In adapters
Dim adapterProperties As IPInterfaceProperties = adapter.GetIPProperties()
Dim uniCast As UnicastIPAddressInformationCollection = adapterProperties.UnicastAddresses
If uniCast.Count > 0 Then
Console.WriteLine(adapter.Description)
Dim lifeTimeFormat As String = "dddd, MMMM dd, yyyy hh:mm:ss tt"
Dim uni As UnicastIPAddressInformation
For Each uni In uniCast
Dim [when] As DateTime
Console.WriteLine(" Unicast Address ......................... : {0}", uni.Address)
Console.WriteLine(" Prefix Origin ........................ : {0}", uni.PrefixOrigin)
Console.WriteLine(" Suffix Origin ........................ : {0}", uni.SuffixOrigin)
Console.WriteLine(" Duplicate Address Detection .......... : {0}", uni.DuplicateAddressDetectionState)
' Format the lifetimes as Sunday, February 16, 2003 11:33:44 PM
' if en-us is the current culture.
' Calculate the date and time at the end of the lifetimes.
[when] = DateTime.UtcNow + TimeSpan.FromSeconds(uni.AddressValidLifetime)
[when] = [when].ToLocalTime()
Console.WriteLine(" Valid Life Time ...................... : {0}", [when].ToString(lifeTimeFormat, System.Globalization.CultureInfo.CurrentCulture))
[when] = DateTime.UtcNow + TimeSpan.FromSeconds(uni.AddressPreferredLifetime)
[when] = [when].ToLocalTime()
Console.WriteLine(" Preferred life time .................. : {0}", [when].ToString(lifeTimeFormat, System.Globalization.CultureInfo.CurrentCulture))
[when] = DateTime.UtcNow + TimeSpan.FromSeconds(uni.DhcpLeaseLifetime)
[when] = [when].ToLocalTime()
Console.WriteLine(" DHCP Leased Life Time ................ : {0}", [when].ToString(lifeTimeFormat, System.Globalization.CultureInfo.CurrentCulture))
Next uni
Console.WriteLine()
End If
Next adapter
End Sub
Commenti
Gli indirizzi IP sono suddivisi in due parti: il prefisso e il suffisso. Il prefisso dell'indirizzo identifica la parte di rete di un indirizzo IP e il suffisso dell'indirizzo identifica la parte host. I prefissi vengono assegnati dalle autorità globali e i suffisso vengono assegnati dagli amministratori del sistema locale.
Questa enumerazione viene utilizzata dalla classe UnicastIPAddressInformation. Le istanze di questa classe vengono restituite quando si recuperano le informazioni sull'indirizzo unicast per un NetworkInterface oggetto.