IPStatus IPStatus IPStatus IPStatus Enum

Определение

Сообщает о состоянии отправки сообщения проверки связи ICMP на компьютер.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
Наследование

Поля

BadDestination BadDestination BadDestination BadDestination 11018

Сбой запроса проверки связи ICMP произошел из-за того, что IP-адрес назначения не может получить запросы проверки связи ICMP или не должен указываться в поле адреса назначения любых 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. Например, это состояние будет возвращено, если вызвать метод Send, указав 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

Не удалось выполнить запрос проверки связи ICMP из-за недопустимого заголовка.The ICMP echo request failed because the header is invalid.

BadOption BadOption BadOption BadOption 11007

Не удалось выполнить запрос проверки связи ICMP из-за наличия в нем недопустимого параметра.The ICMP echo request failed because it contains an invalid option.

BadRoute BadRoute BadRoute BadRoute 11012

Не удалось выполнить запрос проверки связи ICMP из-за отсутствия допустимого маршрута между компьютером-источником и конечным компьютером.The ICMP echo request failed because there is no valid route between the source and destination computers.

DestinationHostUnreachable DestinationHostUnreachable DestinationHostUnreachable DestinationHostUnreachable 11003

Не удалось выполнить запрос проверки связи ICMP из-за недоступности конечного компьютера.The ICMP echo request failed because the destination computer is not reachable.

DestinationNetworkUnreachable DestinationNetworkUnreachable DestinationNetworkUnreachable DestinationNetworkUnreachable 11002

Не удалось выполнить запрос проверки связи ICMP из-за недоступности сети, в которой находится конечный компьютер.The ICMP echo request failed because the network that contains the destination computer is not reachable.

DestinationPortUnreachable DestinationPortUnreachable DestinationPortUnreachable DestinationPortUnreachable 11005

Не удалось выполнить запрос проверки связи ICMP из-за недоступности порта на конечном компьютере.The ICMP echo request failed because the port on the destination computer is not available.

DestinationProhibited DestinationProhibited DestinationProhibited DestinationProhibited 11004

Не удалось выполнить запрос проверки связи ICMPv6 из-за административного запрета связи с конечным компьютером.The ICMPv6 echo request failed because contact with the destination computer is administratively prohibited. Это значение применимо только к IPv6.This value applies only to IPv6.

DestinationProtocolUnreachable DestinationProtocolUnreachable DestinationProtocolUnreachable DestinationProtocolUnreachable 11004

Не удалось выполнить запрос проверки связи ICMP из-за недоступности компьютера назначения, указанного в сообщении проверки связи ICMP, поскольку он не поддерживает протокол, по которому передается пакет.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. Это значение применимо только к IPv4.This value applies only to IPv4. Это значение описано в стандарте IETF RFC 1812 как "Связь административно запрещена".This value is described in IETF RFC 1812 as Communication Administratively Prohibited.

DestinationScopeMismatch DestinationScopeMismatch DestinationScopeMismatch DestinationScopeMismatch 11045

Не удалось выполнить запрос проверки связи ICMP из-за того, что адреса источника и назначения, указанные в сообщении проверки связи ICMP, находятся в разных областях.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. Обычно причиной является маршрутизатор, выполняющий переадресацию пакета с помощью интерфейса, который находится за пределами области адреса источника.This is typically caused by a router forwarding a packet using an interface that is outside the scope of the source address. Области адресов (локальный адрес канала, локальный адрес сети и глобальная область) определяют область сети, в которой адрес действителен.Address scopes (link-local, site-local, and global scope) determine where on the network an address is valid.

DestinationUnreachable DestinationUnreachable DestinationUnreachable DestinationUnreachable 11040

Не удалось выполнить запрос проверки связи ICMP из-за недоступности компьютера назначения, указанного в сообщении проверки связи ICMP. Точная причина проблемы неизвестна.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

Не удалось выполнить запрос проверки связи ICMP из-за аппаратной ошибки.The ICMP echo request failed because of a hardware error.

IcmpError IcmpError IcmpError IcmpError 11044

Не удалось выполнить запрос проверки связи ICMP из-за ошибки протокола ICMP.The ICMP echo request failed because of an ICMP protocol error.

NoResources NoResources NoResources NoResources 11006

Не удалось выполнить запрос проверки связи ICMP из-за нехватки сетевых ресурсов.The ICMP echo request failed because of insufficient network resources.

PacketTooBig PacketTooBig PacketTooBig PacketTooBig 11009

Не удалось выполнить запрос проверки связи ICMP из-за того, что размер пакета с запросом превышает MTU узла (маршрутизатора или шлюза), расположенного между отправителем и получателем.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. MTU определяет максимальный размер передаваемого пакета.The MTU defines the maximum size of a transmittable packet.

ParameterProblem ParameterProblem ParameterProblem ParameterProblem 11015

Не удалось выполнить запрос проверки связи ICMP из-за проблем, возникших на узле (маршрутизаторе или шлюзе) при обработке заголовка пакета.The ICMP echo request failed because a node (router or gateway) encountered problems while processing the packet header. Такое состояние возникает, например, если в заголовке содержатся недопустимые данные полей или нераспознанный параметр.This is the status if, for example, the header contains invalid field data or an unrecognized option.

SourceQuench SourceQuench SourceQuench SourceQuench 11016

Не удалось выполнить запрос проверки связи ICMP из-за того, что пакет был удален.The ICMP echo request failed because the packet was discarded. Это происходит, если в очереди вывода компьютера-источника недостаточно места для хранения или если пакеты приходят к получателю слишком быстро, чтобы успеть их обработать.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

Запрос проверки связи ICMP выполнен успешно. Получен ответ за запрос проверки связи ICMP.The ICMP echo request succeeded; an ICMP echo reply was received. Если получено это состояние, значит остальные свойства объекта PingReply содержат допустимые данные.When you get this status code, the other PingReply properties contain valid data.

TimedOut TimedOut TimedOut TimedOut 11010

Ответ на запрос проверки связи ICMP не был получен за отведенное время.The ICMP echo Reply was not received within the allotted time. Значение допустимого времени ожидания ответа по умолчанию — 5 секунд.The default time allowed for replies is 5 seconds. Это значение можно изменить с помощью метода Send или SendAsync, использующего параметр timeout.You can change this value using the Send or SendAsync methods that take a timeout parameter.

TimeExceeded TimeExceeded TimeExceeded TimeExceeded 11041

Не удалось выполнить запрос проверки связи ICMP из-за того, что срок жизни пакета стал равным нулю, в следствие чего он был удален маршрутищирующим узелом (маршрутизатором или шлюзом).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

Не удалось выполнить запрос проверки связи ICMP из-за того, что срок жизни пакета стал равным нулю, в следствие чего он был удален маршрутищирующим узелом (маршрутизатором или шлюзом).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

Не удалось выполнить запрос проверки связи ICMP из-за того, что для передачи пакет был разбит на фрагменты, не все из которых были получены за отведенное время для повторной сборки.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 предельное время, за которое должны быть получены все фрагменты пакета, составляет 60 секунд.RFC 2460 specifies 60 seconds as the time limit within which all packet fragments must be received.

Unknown Unknown Unknown Unknown -1

Не удалось выполнить запрос проверки связи ICMP по неизвестной причине.The ICMP echo request failed for an unknown reason.

UnrecognizedNextHeader UnrecognizedNextHeader UnrecognizedNextHeader UnrecognizedNextHeader 11043

Не удалось выполнить запрос проверки связи ICMP из-за отсутствия в поле "Next Header" (Следующий заголовок) распознаваемого значения.The ICMP echo request failed because the Next Header field does not contain a recognized value. В поле "Next Header" (Следующий заголовок) указывается тип заголовка расширения (если имеется) или протокол, работающий поверх протокола IP, например TCP или UDP.The Next Header field indicates the extension header type (if present) or the protocol above the IP layer, for example, TCP or UDP.

Примеры

В следующем примере кода отправляет сообщение запроса проверки связи ICMP и проверяет состояние.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);
            }
        }
    }
}

Комментарии

Ping Класс использует значения в это перечисление для задания PingReply.Status свойство.The Ping class uses the values in this enumeration to set the PingReply.Status property. Ping Возвращает PingReply объектов при вызове Ping.Send или Ping.SendAsync методы, чтобы проверить, можно ли достичь компьютера по сети.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.

Предупреждение

Значения перечисления DestinationProhibited и DestinationProtocolUnreachable имеют одинаковое числовое значение.The DestinationProhibited and DestinationProtocolUnreachable enumeration values have the same numeric value. Это возможно, потому что DestinationProhibited применяется только к IPv6 и DestinationProtocolUnreachable применяется только к IPv4.This is possible because DestinationProhibited applies only to IPv6 and DestinationProtocolUnreachable applies only to IPv4.

Применяется к