이 글은 기계 번역의 미러 문서이며, 원본 기사로 바로 이동하려면 여기를 클릭해 주세요.

보기: 88|회답: 1

[문제 해결 중] 네트워크 ICMP(인터넷 제어 메시지 프로토콜)에 대한 간략한 소개.

[링크 복사]
게시됨 2026. 3. 2. 오후 2:44:38 | | | |
인터넷 제어 메시지 프로토콜 ICMP(인터넷 제어 메시지 프로토콜)는 오류 보고 메커니즘으로, TCP/IP 프로토콜 클러스터에서 중요한 하위 프로토콜로, 일반적으로 IP 계층 또는 상위 계층 프로토콜(TCP 또는 UDP)에서 사용되며, 네트워크 계층 프로토콜에 속합니다. 주로 IP 호스트와 라우터 간 제어 메시지를 전송하는 데 사용되며, 호스트에 도달 가능한지, 경로가 사용 가능한지 등을 보고하는 데 사용됩니다. 이 제어 메시지들은 사용자 데이터를 전송하지는 않지만, 다양한 네트워크 정보 수집, 네트워크 결함 진단 및 문제 해결, 사용자 데이터 전송에 중요한 역할을 합니다.

왜 ICMP가 필요한가요?

데이터 전송 과정에서 IP는 최선의 노력 서비스를 제공하는데, 이는 데이터 패킷을 목적지 주소로 전송하기 위해 최선을 다하는 것을 의미합니다. 목적지 호스트가 패킷을 수신하는지 여부를 검증하지 않으며, 흐름 제어나 오류 제어도 수행할 수 없습니다. 따라서 패킷 전송 과정에서 다양한 오류가 불가피하게 발생합니다. ICMP는 IP 패킷을 보다 효율적으로 전달하고 패킷 전달 성공 가능성을 높이기 위해 만들어졌습니다. ICMP에서는 네트워크 내 패킷 전송에 문제가 발생하면, 호스트나 장치가 상위 계층 프로토콜에 오류 상황을 보고하고 비정상 상황에 대한 보고서를 제공하여, 상위 계층 프로토콜이 자체 트래픽 제어 및 오류 제어 프로그램을 통해 통신이 올바르는지 판단하여 서비스 품질을 보장합니다.

ICMP의 적용 시나리오는 무엇인가요?

오류 보고

ICMP 오류 메시지는 목적지 접근 불가, 타임아웃, 세그멘테이션 문제와 같은 네트워크 오류를 보고합니다. 이 메시지들은 연결 없는 통신 모델을 가진 사용자 데이터그램 프로토콜(UDP)에서 특히 중요합니다.

UDP는 신뢰할 수 있고 질서 있는 패킷 전송을 제공하지 않습니다. UDP 패킷을 전송할 때 패킷이 분실되거나 전송 중 체크섬 오류와 같은 실패가 발생할 수 있습니다. 이 경우 수신자는 ICMP 오류 보고 메시지를 송신자에게 보내 문제를 알립니다.

진단

네트워크 진단에는 ICMP를 사용할 수 있습니다. 주로 핑 및 트레이스루트 명령에 사용됩니다.

핑 명령은 ICMP 에코 요청 패킷을 대상 장치에 전송하여 네트워크 장치의 접근성을 테스트합니다. 장치가 접근 가능하면 ICMP 에코 응답이 반환됩니다. 네트워크 지연 시간을 신뢰성 있게 확인하고 장치 가용성을 보장합니다.

traceroute 명령어는 패킷이 출발지에서 목적지까지 이동한 경로를 추적합니다. 이를 위해 명령어는 에코 요청과 에코 응답 메시지를 의도한 목적지로 전송합니다.

에코 요청은 패킷이 통과하는 각 라우터마다 1씩 줄어드는 생존 시간(TTL) 값을 포함합니다. 패킷이 TTL이 0인 라우터에 도달하면, 라우터는 소스 쪽으로 ICMP 메시지를 보냅니다.

메시지에는 패킷이 선택한 경로에 대한 정보가 포함되어 있습니다. Traceroute는 패킷의 정확한 경로를 보여주며 네트워크 성능에 대한 세부 정보를 제공할 수 있습니다.

사이버보안

ICMP를 사용해 무단 네트워크 트래픽을 감지하고 정당한 트래픽만 네트워크를 통과하도록 허용할 수 있습니다. 방화벽은 특정 유형의 트래픽을 허용하거나 차단하기 위해 ICMP를 사용합니다. 네트워크 관리자는 또한 ICMP 모니터링 도구를 사용하여 네트워크 장치의 상태와 연결성을 추적하고 알 수 없는 장치를 탐지합니다.

또한 무단 활동을 나타내는 비정상적인 트래픽 패턴을 식별하는 데도 사용할 수 있습니다.

ICMP 프로토콜 메시지 형식

ICMP 패킷 형식은 그림에 나타나 있으며, 각 ICMP 메시지는 ICMP 메시지를 시작한 패킷의 전체 IP 헤더를 포함하고, ICMP 패킷은 IP 패킷의 일부로 캡슐화되어 있습니다. ICMP 헤더에 포함된 세 개의 고정 필드는 원본 장치가 발생한 오류 유형을 결정하는 주요 근거입니다.

타입 필드는 ICMP 메시지의 유형을 나타내며;
코드 필드는 ICMP 메시지 유형 세그먼트의 하위 유형을 나타냅니다;
체크섬 필드는 ICMP 패킷의 체크섬을 나타냅니다.

ICMP 패킷은 오류 패킷과 쿼리 패킷 두 가지 유형으로 나뉘며, 이는 ICMP 패킷 분류표에 나와 있습니다.



ICMP 패킷 분류

유형
코드
묘사
쿼리/오류
0-에코 응답
0
에코가 메시지에 답한다
묻다
3- 목적이 달성 불가능하다
0
대상 네트워크는 패킷에 도달할 수 없습니다
오류
1
대상 호스트는 패킷에 접근할 수 없습니다
오류
2
대상 합의는 패킷에 도달할 수 없습니다
오류
3
목적지 포트는 패킷에 도달할 수 없습니다
오류
4
세분화 및 DF 플래그 메시지
오류
5
소스 경로 패킷 실패
오류
6
알 수 없는 목적지 네트워크 패킷
오류
7
알 수 없는 목적지 호스트 패킷
오류
8
소스 호스트는 패킷을 분리합니다
오류
9
접근 금지된 네트워크 패킷
오류
10
접근 금지된 메시지를 호스팅합니다
오류
11
패킷은 특정 TOS 네트워크에서는 접근 불가능합니다
오류
12
패킷은 특정 TOS 호스트에 도달할 수 없습니다
오류
13
네트워크 트래픽 필터링으로 인해 패킷이 억제됩니다
오류
14
호스트 권한 넘기기 메시지
오류
15
우선순위 종료 유효 메시지
오류
5- 재전달
0
네트워크 패킷 리디렉션
오류
1
호스트 패킷 리디렉션
오류
2
TOS 기반 네트워크 리디렉션 패킷
오류
3
TOS 기반 호스트 리디렉트 패킷
오류
8- 에코 요청
0
에코 요청 패킷
묻다
9- 라우터 안내
0
라우팅 안내 메시지
묻다
10 - 라우터 요청
0
라우터용 패킷 발견/선택/요청
묻다
11 - ICMP 타임아웃
0
TTL 타임아웃 메시지
오류
1
타임아웃 패킷의 분할 및 재구성
오류
12- 매개변수 문제
0
IP 보고서의 첫 번째 매개변수 오류 메시지
오류
1
필요한 옵션 패킷이 누락됨
오류
2
지원되지 않는 길이 패킷
오류
13- 타임스탬프 요청
0
타임스탬프 요청 패킷
묻다
14-타임스탬프 응답
0
타임스탬프가 포함된 응답 패킷
묻다
15- 정보 요청
0
정보 요청 패킷
묻다
16- 정보 응답
0
메시지 응답 패킷
묻다

ICMP와 TCP의 차이점

TCP는 신뢰할 수 있고 오류 검사가 있는 데이터 전송을 위한 연결 지향 프로토콜입니다. 웹 브라우징, 이메일, 원격 로그인, 파일 전송 애플리케이션에 일반적으로 사용됩니다. TCP는 핸드셰이크를 필요로 하는데, 이는 발신자와 수신자 간의 신뢰와 인증을 구축하는 일련의 메시지입니다. TCP는 메시지 전달을 보장합니다.

반면, 인터넷 제어 메시지 프로토콜(ICMP)은 연결이 없는 프로토콜입니다. 메시지 전달을 보장하지는 않습니다. ICMP는 오류 보고에만 사용되기 때문에 ICMP 메시지는 TCP 패킷보다 작습니다.

ICMP와 TCP는 TCP 전송 실패의 원인을 규명하는 데 함께 사용됩니다.




이전의:TCP 통신을 통한 UNIX 도메인 소켓(UDS)
다음:.NET/C#은 PostMessage 방송을 기반으로 메시지를 전송합니다
 집주인| 게시됨 2026. 3. 3. 오후 8:24:27 |
리눅스 서버 금지 핑 응답(ICMP)
https://www.itsvse.com/thread-11203-1-1.html
면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com