İngilizce dilinde oku

Aracılığıyla paylaş


DuplicateAddressDetectionState Sabit listesi

Tanım

Bir IP adresinin geçerli durumunu belirtir.

C#
public enum DuplicateAddressDetectionState
Devralma
DuplicateAddressDetectionState

Alanlar

Name Değer Description
Deprecated 3

Adres geçerli, ancak kira ömrü yaklaşıyor ve uygulamalar tarafından kullanılmamalıdır.

Duplicate 2

Adres benzersiz değil. Bu adres ağ arabirimine atanmamalıdır.

Invalid 0

Adres geçerli değil. Geçersiz bir adresin süresi doldu ve artık bir arabirime atanmadı; uygulamalar buna veri paketleri göndermemelidir.

Preferred 4

Adres geçerli ve kullanımı kısıtlanmamış.

Tentative 1

Yinelenen adres algılama yordamının adresi değerlendirmesi başarıyla tamamlanmadı. Henüz geçerli olmadığından ve bu adrese gönderilen paketler atıldığından, uygulamalar adresi kullanmamalıdır.

Örnekler

Aşağıdaki kod örneği, tek noktaya yayın adres bilgilerini belirler.

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

Açıklamalar

Bir ağdaki tüm arabirimlerin benzersiz bir adrese sahip olduğundan emin olmak için, arabirim ana bilgisayarı tek noktaya yayın adreslerinde "yinelenen adres algılama" algoritması çalıştırmakla sorumludur. Bu algoritmanın amacı, ağda benzersiz olmayan adresleri engellemeye çalışmaktır. Bu işlem IETF RFC 1971'de tanımlanır.

Bu numaralandırma ve MulticastIPAddressInformation sınıfları tarafından UnicastIPAddressInformation kullanılır. Bir nesne için tek noktaya yayın adres bilgilerini NetworkInterface aldığınızda bu sınıfın örnekleri döndürülür.

Şunlara uygulanır

Ürün Sürümler
.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