일부 호스트에서 'ping'이 '요청 시간 초과'를 반환하는 이유는 무엇입니까?


12

일부 호스트의 경우 ping www.example.comIP를 확인하지만 요청 시간이 초과되어 실패하는 이유는 무엇입니까? 또한 핑 응답 시간을 늘리려 고했지만 여전히 동일한 결과입니다.


Ping 요청에 응답하기 위해 호스트가 필요하지 않습니다.
R. Martinho Fernandes

답변:


11

ICMP 패킷입니다. 웹 트래픽 또는 HTTP는 일반적으로 포트 80의 TCP 패킷입니다. 지정된 서버는 웹 트래픽의 목적으로 응답을 제공 할 수 있지만 ICMP를 차단하거나 ICMP를 차단하는 방화벽 뒤에있을 수 있으므로 다음을 수행 할 수 있습니다.

  • URL을 해당 IP 주소로 확인
  • 웹 컨텐츠 연결 및보기

그러나 IP 주소는 Ping 할 수 없습니다. "요청 시간이 초과되었습니다"라는 응답은 클라이언트가 초기 패킷을 보내고 응답을 기다리며 (답변을 기다리지 않음) 사전 설정된 시간 초과시 포기하기 때문입니다.


6

호스트에 연결하지 못하기 때문입니다. DNS 서버가 호스트의 IP를 알고 있다고해서 해당 호스트가 실행 중이고 연결을 수락하고있는 것은 아닙니다.


브라우저를 통해 실패하지 않는 이유는 무엇입니까?

2
@cpx : Ping 요청은 HTTP 요청이 아닙니다. 호스트는 후자에 응답하고 전자를 무시하고있을 수 있습니다.
R. Martinho Fernandes

2
ICMP 연결이 아닌 포트 80에서 TCP 연결을 수락합니다. 컴퓨터가 두 가지 모두를 받아들이거나 응답해야한다고 말하는 것은 없습니다.
Dan Grossman

2
ICMP는 연결을 설정하지 않습니다. 예를 들어 왜이 답변이 Pablo보다 더 높은 순위에 올라 갑니까? ICMP는 맹목적으로 대상 호스트에 프레임을 디스패치하고 무언가가 다시 오면 몇 초 동안 기다립니다.
sinni800

4

호스트가 실제로 다운되었거나 일부 사이트가 ICMP 트래픽을 차단하는 경우 일 수 있습니다 (프로토콜 PING 명령이 사용함).


1

예를 들어 핑도 www.microsoft.com에 실패합니다. 이러한 서버 컴퓨터는 알 수없는 호스트의 ICMP 패킷을 차단하는 제한적인 방화벽을 사용하기 때문입니다.

또한 핑은 호스트에 "연결"하지 않고 단지 하나의 패킷을 그들에게 발송합니다. TCP는 연결 핸드 셰이크를 수행하고 연결을 유지하기 위해 매우 노력합니다. Ping은 ICMP 패킷 만 발송하며 대상에 도달 할 수는 없습니다. UDP와 마찬가지로 데이터도 마찬가지입니다.

각각의 목적지가 아니거나 목적지가 패킷을 버릴 경우 (방화벽?) 답을 얻지 못합니다.

이것은 TCP를 사용하는 http 트래픽과는 완전히 독립적입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.