PrefixOrigin Enumerazione

Definizione

Specifica come è stata determinata la posizione del prefisso dell'indirizzo di rete IP.

C#
public enum PrefixOrigin
Ereditarietà
PrefixOrigin

Campi

Nome Valore Descrizione
Dhcp 3

Il prefisso è stato fornito da un server DHCP (Dynamic Host Configuration Protocol).

Manual 1

Il prefisso è stato configurato manualmente.

Other 0

Il prefisso è stato individuato tramite una sorgente non specificata.

RouterAdvertisement 4

Il prefisso è stato fornito da un annuncio router.

WellKnown 2

Il prefisso è un prefisso noto. I prefissi 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 prefissi vengono utilizzati per scopi speciali.

Esempio

Nell'esempio di codice seguente vengono visualizzate informazioni sul prefisso e sul suffisso per gli indirizzi unicast.

C#
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();
        }
    }
}

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 usata dalle UnicastIPAddressInformation classi e MulticastIPAddressInformation . Le istanze di questa classe vengono restituite quando si recuperano le informazioni sull'indirizzo per un NetworkInterface oggetto.

Si applica a

Prodotto Versioni
.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
.NET Framework 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 2.0, 2.1