두 호스트 간의 연결을 테스트하고 싶을 때 ping 명령을 사용하여 확인하는 경우가 많습니다. 그런데 이 명령과 icmp 프로토콜 간의 연결을 알고 계십니까?
ICMP는 오류 조건 및 관련 오류 정보를 보고하는 데 사용되는 인터넷 메시지 제어 프로토콜입니다. icmp 데이터 메시지는 IP 데이터그램의 데이터 부분으로 캡슐화됩니다. 그러나 IP 프로토콜과 마찬가지로 icmp도 네트워크 계층 프로토콜입니다. 다음 그림은 ICMP 메시지 형식 다이어그램입니다.
ICMP 메시지 유형
ICMP 메시지는 일반적으로 오류 보고 메시지와 문의 메시지라는 두 가지 범주로 나뉩니다.
오류 보고 메시지에는 주로 다음 유형이 포함됩니다.
Destination unreachable(유형 값은 3): 호스트 또는 라우터가 데이터를 전달할 수 없는 경우 이 메시지는 소스 지점으로 전송됩니다.
Timeout(유형 값 11): IP 데이터그램의 TTL 값이 0이거나 지정된 시간 내에 전달에 성공하지 못한 경우 타임아웃 메시지가 소스 지점으로 전송됩니다.
매개변수 문제(유형 값 12): 수신된 데이터그램의 헤더에 잘못된 필드가 있는 경우 데이터 패킷이 삭제되고 매개변수 문제 메시지가 소스로 전송됩니다.
Redirect(유형 값 5): 라우터가 패킷을 수신하면 대상 주소가 다른 라우터에서 전달되어야 함을 아는 것이 더 효율적입니다. 그런 다음 패킷을 전달한 후 소스 지점에도 리디렉션을 보냅니다. . 메시지. 그런 다음 동일한 대상 주소를 가진 다음 데이터그램이 다른 라우터에서 이동합니다.
다음으로, 주로 응답 요청 메시지(유형 값 8)와 응답 메시지(유형 값 0)로 분류되는 쿼리 메시지를 살펴보겠습니다. 응답 요청 메시지를 받은 호스트는 응답 메시지를 반환해야 합니다. .
ICMP 응용: ping 명령
ICMP에 대한 지식을 어느 정도 이해한 후 ICMP 응용 예인 ping 명령을 살펴보겠습니다. 이 명령은 Linux 시스템뿐만 아니라 Windows 시스템에서도 사용할 수 있습니다
ping baidu.com 正在 Ping baidu.com [220.181.38.148] 具有 32 字节的数据: 来自 220.181.38.148 的回复: 字节=32 时间=32ms TTL=52 来自 220.181.38.148 的回复: 字节=32 时间=29ms TTL=52 来自 220.181.38.148 的回复: 字节=32 时间=27ms TTL=52 来自 220.181.38.148 的回复: 字节=32 时间=35ms TTL=52 220.181.38.148 的 Ping 统计信息: 数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失), 往返行程的估计时间(以毫秒为单位): 最短 = 27ms,最长 = 35ms,平均 = 30ms
ping 명령의 작업 흐름을 살펴보겠습니다. 먼저 호스트는 4개의 ICMP 메시지를 생성하고 이 4개의 ICMP 메시지는 응답 요청 메시지입니다. 이 4개의 ICMP 메시지를 Baidu 서버로 보냅니다. Baidu 서버가 이 4개의 ICMP 메시지를 수신할 수 있으면 내 호스트에도 4개의 ICMP 응답 메시지를 보냅니다. 따라서 내 호스트는 반환된 ICMP 데이터그램 수와 반환 시간을 기반으로 패킷 손실률과 왕복 시간을 계산할 수 있습니다.
추천: "linux 비디오 튜토리얼"
위 내용은 인터넷 메시지 제어 프로토콜 ICMP: 네트워크 시간의 정찰병의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!