DuplicateAddressDetectionState DuplicateAddressDetectionState DuplicateAddressDetectionState DuplicateAddressDetectionState Enum

Definición

Especifica el estado actual de una dirección IP.Specifies the current state of an IP address.

public enum class DuplicateAddressDetectionState
public enum DuplicateAddressDetectionState
type DuplicateAddressDetectionState = 
Public Enum DuplicateAddressDetectionState
Herencia
DuplicateAddressDetectionStateDuplicateAddressDetectionStateDuplicateAddressDetectionStateDuplicateAddressDetectionState

Campos

Deprecated Deprecated Deprecated Deprecated 3

La dirección es válida pero su duración de concesión está a punto de finalizar y no debería utilizarse en las aplicaciones.The address is valid, but it is nearing its lease lifetime and should not be used by applications.

Duplicate Duplicate Duplicate Duplicate 2

La dirección no es única.The address is not unique. Esta dirección no se debería asignar a la interfaz de red.This address should not be assigned to the network interface.

Invalid Invalid Invalid Invalid 0

La dirección no es válida.The address is not valid. Una dirección no válida ha expirado y deja de estar asignada a una interfaz; las aplicaciones no deberían enviar paquetes de datos a dicha dirección.A nonvalid address is expired and no longer assigned to an interface; applications should not send data packets to it.

Preferred Preferred Preferred Preferred 4

La dirección es válida y su uso no está restringido.The address is valid and its use is unrestricted.

Tentative Tentative Tentative Tentative 1

La evaluación del procedimiento de detección de direcciones duplicadas de la dirección no ha finalizado correctamente.The duplicate address detection procedure's evaluation of the address has not completed successfully. Las aplicaciones no deberían utilizar la dirección porque no es válida y los paquetes que se le envían se descartan.Applications should not use the address because it is not yet valid and packets sent to it are discarded.

Ejemplos

El ejemplo de código siguiente determina la información de dirección de unidifusión.The following code example determines unicast address information.

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 'DisplayUnicastAddresses

Comentarios

Para ayudar a garantizar que todas las interfaces en una red tienen una dirección única, el host de interfaz es responsable de ejecutar un algoritmo "detección de direcciones duplicadas" en direcciones de unidifusión.To help ensure that all interfaces on a network have a unique address, the interface host is responsible for running a "duplicate address detection" algorithm on unicast addresses. El propósito de este algoritmo es intentar evitar que las direcciones que no es único en la red.The purpose of this algorithm is to attempt to prevent non-unique addresses on the network. Este proceso se define en IETF RFC 1971.This process is defined in IETF RFC 1971.

Esta enumeración se utiliza en el UnicastIPAddressInformation y MulticastIPAddressInformation clases.This enumeration is used by the UnicastIPAddressInformation and MulticastIPAddressInformation classes. Las instancias de esta clase se devuelven al recuperar la información de dirección de unidifusión un NetworkInterface objeto.Instances of this class are returned when you retrieve the unicast address information for a NetworkInterface object.

Se aplica a