IPStatus Wyliczenie

Definicja

Raport o stanie wysyłania komunikatu o echa protokołu komunikacyjnego sterowania Internetem (ICMP) do komputera.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
Dziedziczenie
IPStatus

Pola

BadDestination 11018

Żądanie echa ICMP nie powiodło się, ponieważ docelowy adres IP nie może odbierać żądań echa protokołu ICMP lub nigdy nie powinien być wyświetlany w polu adres docelowy dowolnego datagramu 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. Na przykład wywoływanie Send i Określanie adresu IP "000.0.0.0" powoduje zwrócenie tego stanu.For example, calling Send and specifying IP address "000.0.0.0" returns this status.

BadHeader 11042

Żądanie echa ICMP nie powiodło się, ponieważ nagłówek jest nieprawidłowy.The ICMP echo request failed because the header is invalid.

BadOption 11007

Żądanie echa ICMP nie powiodło się, ponieważ zawiera nieprawidłową opcję.The ICMP echo request failed because it contains an invalid option.

BadRoute 11012

Żądanie echa ICMP nie powiodło się, ponieważ nie ma prawidłowej trasy między komputerem źródłowym a docelowym.The ICMP echo request failed because there is no valid route between the source and destination computers.

DestinationHostUnreachable 11003

Żądanie echa ICMP nie powiodło się, ponieważ komputer docelowy jest nieosiągalny.The ICMP echo request failed because the destination computer is not reachable.

DestinationNetworkUnreachable 11002

Żądanie echa ICMP nie powiodło się, ponieważ sieć zawierająca komputer docelowy jest nieosiągalna.The ICMP echo request failed because the network that contains the destination computer is not reachable.

DestinationPortUnreachable 11005

Żądanie echa ICMP nie powiodło się, ponieważ port na komputerze docelowym jest niedostępny.The ICMP echo request failed because the port on the destination computer is not available.

DestinationProhibited 11004

Żądanie echa ICMPv6 nie powiodło się, ponieważ kontakt z komputerem docelowym jest niedozwolony administracyjnie.The ICMPv6 echo request failed because contact with the destination computer is administratively prohibited. Ta wartość dotyczy tylko protokołu IPv6.This value applies only to IPv6.

DestinationProtocolUnreachable 11004

Żądanie echa ICMP nie powiodło się, ponieważ komputer docelowy określony w komunikacie ICMP echo jest nieosiągalny, ponieważ nie obsługuje protokołu pakietu.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. Ta wartość dotyczy tylko protokołu IPv4.This value applies only to IPv4. Ta wartość jest opisana w dokumencie IETF RFC 1812 jako komunikacja administracyjna zabroniony.This value is described in IETF RFC 1812 as Communication Administratively Prohibited.

DestinationScopeMismatch 11045

Żądanie echa ICMP nie powiodło się, ponieważ adres źródłowy i adres docelowy określony w komunikacie ICMP echo nie są w tym samym zakresie.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. Jest to zazwyczaj spowodowane przez Router przekazujący pakiet przy użyciu interfejsu, który znajduje się poza zakresem adresu źródłowego.This is typically caused by a router forwarding a packet using an interface that is outside the scope of the source address. Zakresy adresów (lokalne łącza, lokacja lokalna i zakres globalny) określają, gdzie w sieci jest prawidłowy adres.Address scopes (link-local, site-local, and global scope) determine where on the network an address is valid.

DestinationUnreachable 11040

Żądanie echa ICMP nie powiodło się, ponieważ komputer docelowy określony w komunikacie ICMP echo nie jest dostępny. Dokładna przyczyna problemu jest nieznana.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 11008

Żądanie echa ICMP nie powiodło się z powodu błędu sprzętowego.The ICMP echo request failed because of a hardware error.

IcmpError 11044

Żądanie echa ICMP nie powiodło się z powodu błędu protokołu ICMP.The ICMP echo request failed because of an ICMP protocol error.

NoResources 11006

Żądanie echa ICMP nie powiodło się z powodu niewystarczających zasobów sieciowych.The ICMP echo request failed because of insufficient network resources.

PacketTooBig 11009

Żądanie echa ICMP nie powiodło się, ponieważ pakiet zawierający żądanie jest większy niż maksymalna jednostka transmisji (MTU) węzła (router lub brama) znajdująca się między źródłem a miejscem docelowym.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. Jednostka MTU definiuje maksymalny rozmiar pakietu nadawczego.The MTU defines the maximum size of a transmittable packet.

ParameterProblem 11015

Żądanie echa ICMP nie powiodło się, ponieważ podczas przetwarzania nagłówka pakietu wystąpił problem z węzłem (routerem lub bramą).The ICMP echo request failed because a node (router or gateway) encountered problems while processing the packet header. Jest to stan, jeśli na przykład nagłówek zawiera nieprawidłowe dane pola lub nierozpoznaną opcję.This is the status if, for example, the header contains invalid field data or an unrecognized option.

SourceQuench 11016

Żądanie echa ICMP nie powiodło się, ponieważ pakiet został odrzucony.The ICMP echo request failed because the packet was discarded. Dzieje się tak, gdy kolejka wyjściowa komputera źródłowego ma za mało miejsca w magazynie lub gdy pakiety docierają do miejsca docelowego zbyt szybko, aby można było je przetworzyć.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 0

Żądanie echa ICMP zakończyło się pomyślnie; odebrano odpowiedź echa protokołu ICMP.The ICMP echo request succeeded; an ICMP echo reply was received. Po otrzymaniu tego kodu stanu inne PingReply właściwości zawierają prawidłowe dane.When you get this status code, the other PingReply properties contain valid data.

TimedOut 11010

Odpowiedź echa ICMP nie została odebrana w wyznaczonym czasie.The ICMP echo Reply was not received within the allotted time. Domyślny dozwolony czas odpowiedzi wynosi 5 sekund.The default time allowed for replies is 5 seconds. Tę wartość można zmienić przy użyciu Send metod lub SendAsync , które przyjmują timeout parametr.You can change this value using the Send or SendAsync methods that take a timeout parameter.

TimeExceeded 11041

Żądanie echa ICMP nie powiodło się, ponieważ jego wartość czasu wygaśnięcia (TTL) osiągnęła zero, powodując, że węzeł przekazujący (router lub brama) odrzuci pakiet.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 11013

Żądanie echa ICMP nie powiodło się, ponieważ jego wartość czasu wygaśnięcia (TTL) osiągnęła zero, powodując, że węzeł przekazujący (router lub brama) odrzuci pakiet.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 11014

Żądanie echa ICMP nie powiodło się, ponieważ pakiet został podzielony na fragmenty do transmisji i wszystkie fragmenty nie zostały odebrane w czasie wyznaczonym na ponowne zestawienie.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. RFC 2460 określa 60 sekund jako limit czasu, w którym wszystkie fragmenty pakietów muszą zostać odebrane.RFC 2460 specifies 60 seconds as the time limit within which all packet fragments must be received.

Unknown -1

Żądanie echa ICMP nie powiodło się z nieznanej przyczyny.The ICMP echo request failed for an unknown reason.

UnrecognizedNextHeader 11043

Żądanie echa ICMP nie powiodło się, ponieważ następne pole nagłówka nie zawiera rozpoznawanej wartości.The ICMP echo request failed because the Next Header field does not contain a recognized value. Następne pole nagłówka wskazuje typ nagłówka rozszerzenia (jeśli istnieje) lub protokół powyżej warstwy IP, na przykład TCP lub UDP.The Next Header field indicates the extension header type (if present) or the protocol above the IP layer, for example, TCP or UDP.

Przykłady

Poniższy przykład kodu wysyła komunikat ICMP echo i sprawdza stan.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);
            }
        }
    }
}

Uwagi

PingKlasa używa wartości w tym wyliczeniu do ustawienia PingReply.Status właściwości.The Ping class uses the values in this enumeration to set the PingReply.Status property. PingKlasa zwraca PingReply obiekty po wywołaniu Ping.Send metody lub, Ping.SendAsync Aby sprawdzić, czy można nawiązać połączenie z komputerem za pośrednictwem sieci.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.

Ostrzeżenie

Wartości wyliczenia DestinationProhibited i DestinationProtocolUnreachable mają tę samą wartość liczbową.The DestinationProhibited and DestinationProtocolUnreachable enumeration values have the same numeric value. Jest to możliwe, ponieważ DestinationProhibited dotyczy tylko protokołu IPv6 i DestinationProtocolUnreachable dotyczy tylko protokołu IPv4.This is possible because DestinationProhibited applies only to IPv6 and DestinationProtocolUnreachable applies only to IPv4.

Dotyczy