IPStatus IPStatus IPStatus IPStatus Enum

Definizione

Riporta lo stato dell'invio di un messaggio echo del protocollo ICMP (Internet Control Message Protocol) a un computer.Reports the status of sending an Internet Control Message Protocol (ICMP) echo message to a computer.

public enum class IPStatus
public enum IPStatus
type IPStatus = 
Public Enum IPStatus
Ereditarietà

Campi

BadDestination BadDestination BadDestination BadDestination 11018

La richiesta echo ICMP non è riuscita perché l'indirizzo IP di destinazione non può ricevere richieste echo ICMP o perché non deve essere incluso nel campo degli indirizzi di destinazione di un datagramma IP.The ICMP echo request failed because the destination IP address cannot receive ICMP echo requests or should never appear in the destination address field of any IP datagram. Ad esempio, questo stato è restituito se si chiama Send specificando come indirizzo IP "000.0.0.0".For example, calling Send and specifying IP address "000.0.0.0" returns this status.

BadHeader BadHeader BadHeader BadHeader 11042

La richiesta echo ICMP non è riuscita perché l'intestazione non è valida.The ICMP echo request failed because the header is invalid.

BadOption BadOption BadOption BadOption 11007

La richiesta echo ICMP non è riuscita perché contiene un'opzione non valida.The ICMP echo request failed because it contains an invalid option.

BadRoute BadRoute BadRoute BadRoute 11012

La richiesta echo ICMP non è riuscita perché non esiste un percorso valido fra il computer di origine e quello di destinazione.The ICMP echo request failed because there is no valid route between the source and destination computers.

DestinationHostUnreachable DestinationHostUnreachable DestinationHostUnreachable DestinationHostUnreachable 11003

La richiesta echo ICMP non è riuscita perché il computer di destinazione non è raggiungibile.The ICMP echo request failed because the destination computer is not reachable.

DestinationNetworkUnreachable DestinationNetworkUnreachable DestinationNetworkUnreachable DestinationNetworkUnreachable 11002

La richiesta echo ICMP non è riuscita perché la rete in cui si trova il computer di destinazione non è raggiungibile.The ICMP echo request failed because the network that contains the destination computer is not reachable.

DestinationPortUnreachable DestinationPortUnreachable DestinationPortUnreachable DestinationPortUnreachable 11005

La richiesta echo ICMP non è riuscita perché la porta del computer di destinazione non è disponibile.The ICMP echo request failed because the port on the destination computer is not available.

DestinationProhibited DestinationProhibited DestinationProhibited DestinationProhibited 11004

La richiesta echo ICMPv6 non è riuscita perché il contatto con il computer di destinazione non è consentito a livello amministrativo.The ICMPv6 echo request failed because contact with the destination computer is administratively prohibited. Questo valore si applica solo a IPv6.This value applies only to IPv6.

DestinationProtocolUnreachable DestinationProtocolUnreachable DestinationProtocolUnreachable DestinationProtocolUnreachable 11004

La richiesta echo ICMP non è riuscita perché il computer di destinazione specificato in un messaggio echo ICMP non è raggiungibile, in quanto non supporta il protocollo del pacchetto.The ICMP echo request failed because the destination computer that is specified in an ICMP echo message is not reachable, because it does not support the packet's protocol. Questo valore si applica solo a IPv4.This value applies only to IPv4. Questo valore viene descritto in IETF RFC 1812 come comunicazione non consentita a livello amministrativo.This value is described in IETF RFC 1812 as Communication Administratively Prohibited.

DestinationScopeMismatch DestinationScopeMismatch DestinationScopeMismatch DestinationScopeMismatch 11045

La richiesta echo ICMP non è riuscita perché l'indirizzo di origine e quello di destinazione specificati in un messaggio echo ICMP non sono nello stesso ambito.The ICMP echo request failed because the source address and destination address that are specified in an ICMP echo message are not in the same scope. Questo è causato in genere da un router che inoltra un pacchetto utilizzando un'interfaccia esterna all'ambito dell'indirizzo di origine.This is typically caused by a router forwarding a packet using an interface that is outside the scope of the source address. Gli ambiti degli indirizzi (link-local, site-local e con ambito globale) determinano i punti sulla rete in cui un indirizzo è valido.Address scopes (link-local, site-local, and global scope) determine where on the network an address is valid.

DestinationUnreachable DestinationUnreachable DestinationUnreachable DestinationUnreachable 11040

La richiesta echo ICMP non è riuscita perché il computer di destinazione specificato nel messaggio echo ICMP non è raggiungibile. L'origine esatta del problema è sconosciuta.The ICMP echo request failed because the destination computer that is specified in an ICMP echo message is not reachable; the exact cause of problem is unknown.

HardwareError HardwareError HardwareError HardwareError 11008

La richiesta echo ICMP non è riuscita a causa di un errore hardware.The ICMP echo request failed because of a hardware error.

IcmpError IcmpError IcmpError IcmpError 11044

La richiesta echo ICMP non è riuscita per un errore del protocollo ICMP.The ICMP echo request failed because of an ICMP protocol error.

NoResources NoResources NoResources NoResources 11006

La richiesta echo ICMP non è riuscita perché le risorse di rete sono insufficienti.The ICMP echo request failed because of insufficient network resources.

PacketTooBig PacketTooBig PacketTooBig PacketTooBig 11009

La richiesta echo ICMP non è riuscita perché il pacchetto contenente la richiesta ha dimensioni superiori all'unità di trasmissione massima (MTU) di un nodo (router o gateway) situato fra l'origine e la destinazione.The ICMP echo request failed because the packet containing the request is larger than the maximum transmission unit (MTU) of a node (router or gateway) located between the source and destination. Il valore MTU definisce la dimensione massima di un pacchetto trasmissibile.The MTU defines the maximum size of a transmittable packet.

ParameterProblem ParameterProblem ParameterProblem ParameterProblem 11015

La richiesta echo ICMP non è riuscita perché un nodo (router o gateway) ha riscontrato problemi nell'elaborazione dell'intestazione del pacchetto.The ICMP echo request failed because a node (router or gateway) encountered problems while processing the packet header. Questo accade, ad esempio, se l'intestazione contiene dati di campo non validi o un'opzione non riconosciuta.This is the status if, for example, the header contains invalid field data or an unrecognized option.

SourceQuench SourceQuench SourceQuench SourceQuench 11016

La richiesta echo ICMP non è riuscita perché il pacchetto è stato eliminato.The ICMP echo request failed because the packet was discarded. Questo si verifica quando la coda di output del computer di origine non dispone di spazio sufficiente o quando i pacchetti arrivano a destinazione troppo rapidamente per essere elaborati.This occurs when the source computer's output queue has insufficient storage space, or when packets arrive at the destination too quickly to be processed.

Success Success Success Success 0

La richiesta echo ICMP è riuscita ed è stata ricevuta una risposta echo ICMP.The ICMP echo request succeeded; an ICMP echo reply was received. Quando si riceve questo codice di stato, le altre proprietà PingReply contengono dati validi.When you get this status code, the other PingReply properties contain valid data.

TimedOut TimedOut TimedOut TimedOut 11010

La risposta echo ICMP non è stata ricevuta entro il tempo massimo consentito.The ICMP echo Reply was not received within the allotted time. Il tempo massimo predefinito per le risposte è 5 secondi.The default time allowed for replies is 5 seconds. È possibile modificare questo valore utilizzando i metodi Send o SendAsync che accettano un parametro timeout.You can change this value using the Send or SendAsync methods that take a timeout parameter.

TimeExceeded TimeExceeded TimeExceeded TimeExceeded 11041

La richiesta echo ICMP non è riuscita perché il suo valore TTL (Time-To-lLive) ha raggiunto lo zero e il nodo di inoltro (router o gateway) ha eliminato di conseguenza il pacchetto.The ICMP echo request failed because its Time to Live (TTL) value reached zero, causing the forwarding node (router or gateway) to discard the packet.

TtlExpired TtlExpired TtlExpired TtlExpired 11013

La richiesta echo ICMP non è riuscita perché il suo valore TTL (Time-To-lLive) ha raggiunto lo zero e il nodo di inoltro (router o gateway) ha eliminato di conseguenza il pacchetto.The ICMP echo request failed because its Time to Live (TTL) value reached zero, causing the forwarding node (router or gateway) to discard the packet.

TtlReassemblyTimeExceeded TtlReassemblyTimeExceeded TtlReassemblyTimeExceeded TtlReassemblyTimeExceeded 11014

La richiesta echo ICMP non è riuscita perché il pacchetto è stato diviso in frammenti per la trasmissione e non tutti i frammenti sono stati ricevuti entro il tempo massimo allocato per il reassembly.The ICMP echo request failed because the packet was divided into fragments for transmission and all of the fragments were not received within the time allotted for reassembly. Il documento RFC 2460 specifica 60 secondi come tempo limite per ricevere tutti i frammenti di pacchetto.RFC 2460 specifies 60 seconds as the time limit within which all packet fragments must be received.

Unknown Unknown Unknown Unknown -1

La richiesta echo ICMP non è riuscita per un motivo sconosciuto.The ICMP echo request failed for an unknown reason.

UnrecognizedNextHeader UnrecognizedNextHeader UnrecognizedNextHeader UnrecognizedNextHeader 11043

La richiesta echo ICMP non è riuscita perché il campo Intestazione successiva non contiene un valore riconosciuto.The ICMP echo request failed because the Next Header field does not contain a recognized value. Il campo Intestazione successiva indica il tipo di intestazione dell'estensione, se presente, o il protocollo superiore al livello dell'IP, ad esempio, TCP o UDP.The Next Header field indicates the extension header type (if present) or the protocol above the IP layer, for example, TCP or UDP.

Esempi

L'esempio di codice seguente invia un messaggio echo ICMP e controlla lo stato.The following code example sends an ICMP echo message and checks the status.

#using <System.dll>

using namespace System;
using namespace System::Net;
using namespace System::Net::NetworkInformation;
using namespace System::Text;

// args[1] can be an IPaddress or host name.
int main()
{
   array<String^>^args = Environment::GetCommandLineArgs();
   
   Ping ^ pingSender = gcnew Ping;
   PingOptions ^ options = gcnew PingOptions;
   
   // Use the default Ttl value which is 128,
   // but change the fragmentation behavior.
   options->DontFragment = true;
   
   // Create a buffer of 32 bytes of data to be transmitted.
   String^ data = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
   array<Byte>^buffer = Encoding::ASCII->GetBytes( data );
   int timeout = 120;
   PingReply ^ reply = pingSender->Send( args[ 1 ], timeout, buffer, options );
   
   if ( reply->Status == IPStatus::Success )
   {
      Console::WriteLine( "Address: {0}", reply->Address->ToString() );
      Console::WriteLine( "RoundTrip time: {0}", reply->RoundtripTime );
      Console::WriteLine( "Time to live: {0}", reply->Options->Ttl );
      Console::WriteLine( "Don't fragment: {0}", reply->Options->DontFragment );
      Console::WriteLine( "Buffer size: {0}", reply->Buffer->Length );
   }

   
}

using System;
using System.Net;
using System.Net.NetworkInformation;
using System.Text;

namespace Examples.System.Net.NetworkInformation.PingTest
{
    public class PingExample
    {
        // args[0] can be an IPaddress or host name.
        public static void Main (string[] args)
        {
            Ping pingSender = new Ping ();
            PingOptions options = new PingOptions ();

            // Use the default Ttl value which is 128,
            // but change the fragmentation behavior.
            options.DontFragment = true;

            // Create a buffer of 32 bytes of data to be transmitted.
            string data = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
            byte[] buffer = Encoding.ASCII.GetBytes (data);
            int timeout = 120;
            PingReply reply = pingSender.Send (args[0], timeout, buffer, options);
            if (reply.Status == IPStatus.Success)
            {
                Console.WriteLine ("Address: {0}", reply.Address.ToString ());
                Console.WriteLine ("RoundTrip time: {0}", reply.RoundtripTime);
                Console.WriteLine ("Time to live: {0}", reply.Options.Ttl);
                Console.WriteLine ("Don't fragment: {0}", reply.Options.DontFragment);
                Console.WriteLine ("Buffer size: {0}", reply.Buffer.Length);
            }
        }
    }
}

Commenti

La Ping classe utilizza i valori di questa enumerazione per impostare la PingReply.Status proprietà.The Ping class uses the values in this enumeration to set the PingReply.Status property. La Ping classe restituisce PingReply oggetti quando si chiamano i Ping.Send metodi Ping.SendAsync o per verificare se è possibile raggiungere un computer attraverso la rete.The Ping class returns PingReply objects when you call the Ping.Send or Ping.SendAsync methods to check whether you can reach a computer across the network.

Avviso

I valori di enumerazione DestinationProhibited e DestinationProtocolUnreachable hanno lo stesso valore numerico.The DestinationProhibited and DestinationProtocolUnreachable enumeration values have the same numeric value. Questo è possibile perché DestinationProhibited si applica solo a IPv6 e DestinationProtocolUnreachable si applica solo a IPv4.This is possible because DestinationProhibited applies only to IPv6 and DestinationProtocolUnreachable applies only to IPv4.

Si applica a