Lire en anglais

Partager via


DuplicateAddressDetectionState Énumération

Définition

Spécifie l'état actuel d'une adresse IP.

C#
public enum DuplicateAddressDetectionState
Héritage
DuplicateAddressDetectionState

Champs

Nom Valeur Description
Deprecated 3

L'adresse est valide, mais elle approche de la fin de sa durée de vie de bail et ne doit pas être utilisée par les applications.

Duplicate 2

L'adresse n'est pas unique. Cette adresse ne doit pas être assignée à l'interface réseau.

Invalid 0

L'adresse n'est pas valide. Une adresse non valide est expirée et n'est plus assignée à une interface ; les applications ne doivent pas lui envoyer de paquets de données.

Preferred 4

L'adresse est valide et son utilisation n'est pas restreinte.

Tentative 1

La procédure de détection d'adresse dupliquée a échoué. Les applications ne doivent pas utiliser l'adresse, car elle n'est pas encore valide et les paquets qui lui sont envoyés sont ignorés.

Exemples

L’exemple de code suivant détermine les informations d’adresse 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();
        }
    }
}

Remarques

Pour garantir que toutes les interfaces d’un réseau ont une adresse unique, l’hôte d’interface est responsable de l’exécution d’un algorithme de « détection d’adresses en double » sur les adresses unicast. L’objectif de cet algorithme est de tenter d’empêcher les adresses non uniques sur le réseau. Ce processus est défini dans la RFC 1971 de l’IETF.

Cette énumération est utilisée par les UnicastIPAddressInformation classes et MulticastIPAddressInformation . Les instances de cette classe sont retournées lorsque vous récupérez les informations d’adresse de unidiffusion d’un NetworkInterface objet.

S’applique à

Produit Versions
.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