Auf Englisch lesen

Teilen über


DuplicateAddressDetectionState Enumeration

Definition

Gibt den aktuellen Zustand einer IP-Adresse an.

C#
public enum DuplicateAddressDetectionState
Vererbung
DuplicateAddressDetectionState

Felder

Name Wert Beschreibung
Deprecated 3

Die Adresse ist gültig, doch läuft ihre Leaselebensdauer bald ab. Daher sollte sie nicht von Anwendungen verwendet werden.

Duplicate 2

Die Adresse ist nicht eindeutig. Der Adresse sollte nicht der Netzwerkschnittstelle zugewiesen werden.

Invalid 0

Die Adresse ist ungültig. Eine ungültige Adresse ist abgelaufen und nicht mehr einer Schnittstelle zugewiesen. Anwendungen sollten keine Datenpakete an die Adresse senden.

Preferred 4

Die Adresse ist gültig, und ihre Verwendung ist nicht eingeschränkt.

Tentative 1

Die Evaluierung der Adresse durch die Prozedur zur Erkennung doppelter Adressen wurde nicht erfolgreich abgeschlossen. Anwendungen sollten die Adresse nicht verwenden, da sie noch nicht gültig ist und an sie gesendete Pakete verworfen werden.

Beispiele

Im folgenden Codebeispiel werden Unicastadresseninformationen bestimmt.

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

Hinweise

Um sicherzustellen, dass alle Schnittstellen in einem Netzwerk über eine eindeutige Adresse verfügen, ist der Schnittstellenhost für die Ausführung eines Algorithmus zur Erkennung doppelter Adressen für Unicastadressen verantwortlich. Der Zweck dieses Algorithmus besteht darin, nicht eindeutige Adressen im Netzwerk zu verhindern. Dieser Prozess ist in IETF RFC 1971 definiert.

Diese Enumeration wird von den UnicastIPAddressInformation Klassen und MulticastIPAddressInformation verwendet. Instanzen dieser Klasse werden zurückgegeben, wenn Sie die Unicastadresseninformationen für ein NetworkInterface Objekt abrufen.

Gilt für:

Produkt Versionen
.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