ICMP란 무엇인가요?

인터넷 제어 메시지 프로토콜(ICMP)은 디바이스가 네트워크에서 데이터 전송 오류를 전달하는 데 사용하는 통신 규칙 집합입니다. 발신자와 수신자 간에 메시지를 교환할 때 예상치 못한 오류가 발생할 수 있습니다. 예를 들어 메시지가 너무 길거나 데이터 패킷이 순서에 맞지 않게 도착하여 수신자가 메시지를 조합하지 못할 수 있습니다. 이러한 경우 수신자는 ICMP를 사용하여 발신자에게 오류 메시지를 알리고 메시지 재전송을 요청합니다.

ICMP 사용 사례는 어떤 것들이 있나요?

인터넷 제어 메시지 프로토콜(ICMP)은 컴퓨터 네트워킹에 있어서 중요한 네트워크 계층 프로토콜입니다. 이 프로토콜은 네트워크 디바이스가 연결 및 네트워크 상태와 같은 중요한 정보를 전달할 수 있는 표준화된 메커니즘을 제공합니다. 라우터와 엔드포인트 디바이스를 비롯하여 네트워크에 연결된 모든 디바이스가 ICMP 메시지를 처리할 수 있습니다. ICMP는 IPv4와 IPv6 모두에서 작동하도록 수정되었습니다.

컴퓨터 네트워킹에 대해 읽어보기 »

다음으로 몇 가지 일반적인 ICMP 사용 사례에 대해 설명하겠습니다.

오류 보고

ICMP 오류 메시지는 연결할 수 없는 대상, 시간 초과 또는 조각화 문제와 같은 네트워킹 오류를 보고합니다. 이 메시지는 비연결 통신 모델을 사용하는 사용자 데이터그램 프로토콜(UDP)에 있어서 특히 중요합니다.

UDP는 안정적이고 순차적인 패킷 전송을 제공하지 않습니다. UDP 패킷이 전송된 경우 패킷이 손실되었거나, 체크섬 오류 같은 오류와 함께 전송된 것일 수 있습니다. 이 경우 수신자는 ICMP 오류 보고 메시지를 발신자에게 다시 보내 문제를 알립니다.

진단

ICMP를 네트워크 진단에 사용할 수 있습니다. ICMP는 ping 및 traceroute 명령에 가장 많이 사용됩니다.

ping 명령은 ICMP 에코 요청 패킷을 대상 디바이스에 전송하여 네트워크 디바이스의 연결 가능 여부를 테스트합니다. 디바이스에 연결할 수 있는 경우 ICMP 에코 응답을 반환합니다. 높은 신뢰도로 네트워크 지연 시간을 검사하고 디바이스가 사용 가능한 상태인지 확인합니다.

traceroute 명령은 소스에서 대상까지 패킷이 이동하는 경로를 추적합니다. 이를 위해 이 명령은 에코 요청 및 에코 응답 메시지를 해당 대상에 보냅니다.

에코 요청에는 패킷이 라우터를 통과할 때마다 1씩 감소하는 Time to Live(TTL) 값이 포함됩니다. TTL이 0인 라우터에 패킷이 도달하면, 해당 라우터는 ICMP 메시지를 소스로 다시 보냅니다.

이 메시지에는 패킷이 이동한 경로에 대한 정보가 들어 있습니다. traceroute는 패킷의 정확한 경로를 보여주므로 네트워크 성능에 대한 인사이트를 얻을 수 있습니다.

네트워크 보안

ICMP를 사용하여 무단 네트워크 트래픽을 탐지하고, 정상 트래픽만 네트워크를 통해 전송되도록 허용할 수 있습니다. 방화벽은 ICMP를 사용하여 특정 유형의 트래픽을 허용하거나 차단합니다. 또한 네트워크 관리자는 ICMP 모니터링 도구를 사용하여 네트워크 디바이스의 상태와 연결을 추적하고 알 수 없는 디바이스를 탐지합니다.

또한 이 도구를 사용하여 무단 활동의 징후일 수 있는 비정상적인 트래픽 패턴을 찾아낼 수 있습니다.

ICMP는 어떻게 작동하나요?

인터넷 제어 메시지 프로토콜(ICMP)은 일반적으로 TCP/IP 또는 사용자 데이터그램 프로토콜(UDP) 같은 다른 네트워크 프로토콜과 함께 작동합니다. 호스트와 라우터는 특정 네트워크 이벤트가 발생할 때 ICMP 메시지 또는 ICMP 패킷을 교환합니다.

ICMP 패킷은 ICMP 패킷 헤더와 ICMP 데이터 섹션으로 구성됩니다.

ICMP 패킷 헤더

ICMP 헤더에는 패킷 유형, 코드, 체크섬 및 식별자에 대한 정보가 들어 있습니다. ICMP 패킷이 전송되면 메시지 수신자가 헤더 정보를 읽습니다. 그리고 패킷의 유형에 따라 적절한 작업을 수행합니다.

예를 들어 패킷 유형이 에코 요청인 경우 수신자는 동일한 데이터를 에코 응답으로 보냅니다. 패킷 유형이 연결할 수 없는 대상인 경우 수신자는 ‘대상에 연결할 수 없음’ 메시지로 응답합니다.

ICMP 데이터 섹션

ICMP 메시지의 데이터 섹션에는 대상의 IP 주소 또는 장애 원인과 같은 정보가 들어 있습니다. 또한 오류를 식별하는 오류 코드 또는 숫자 코드도 들어 있습니다.

다음은 몇 가지 예입니다.

  • 대상에 연결할 수 없음(유형 3) 코드는 수신기 디바이스가 네트워크에 존재하지 않음을 나타냅니다.
  • 리디렉션(유형 5) 코드는 대상에 연결하기 위한 더 나은 경로를 나타내는 메시지를 다른 라우터로 보냅니다.
  • 디바이스 간 에코 요청 및 에코 응답(유형 8 및 10) 코드 테스트 연결
  • 시간 초과 메시지는 그 안에 패킷이 대상에 도달해야 하는 최대 시간을 초과했음을 나타냅니다.
  • 파라미터 문제 메시지는 라우터에서 IP 필드 헤더에 문제가 발생했음을 나타냅니다.
  • 소스 억제 메시지는 라우터에 혼잡이 발생하여 수신하는 패킷 수를 제한해야 할 때 전송됩니다.

ICMP와 TCP의 차이점은 무엇인가요?

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

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

ICMP와 TCP는 TCP 전송이 실패한 이유를 확인하는 데 함께 사용됩니다.

ICMP Ping 플러드란 무엇인가요?

인터넷 제어 메시지 프로토콜(ICMP) Ping 플러드는 권한 없는 사용자가 단기간에 여러 ICMP 에코 요청을 보내는 서비스 거부(DoS) 이벤트입니다. 각 ICMP 요청에는 수신자가 고유하게 응답해야 하는 고유한 식별자와 데이터 페이로드가 포함되어 있습니다. 수신 서버가 승인되지 않은 각 요청에 응답하려고 시도하므로, 인증된 소스에 대한 응답이 지연되거나 느려집니다. 

ICMP Ping 플러드를 방지하려면 네트워크 디바이스가 수락하는 ICMP 트래픽의 양을 제한하도록 구성해야 합니다. 또한 네트워크에서 무단 활동이 발생하지 않는지 모니터링하고 방화벽 및 침입 탐지 시스템(IDS)과 같은 필수 보안 조치를 적용하는 것도 중요합니다.

AWS는 어떻게 DDoS 이벤트로부터의 보호를 강화해 주나요?

Amazon Web Services(AWS)는 분산 서비스 거부(DDoS) 이벤트에 대한 보안을 강화할 수 있도록 AWS Shield를 제공합니다.

AWS Shield는 AWS에서 실행되는 애플리케이션을 보호하는 관리형 DDoS 보호 서비스입니다. 이 서비스는 애플리케이션 가동 중지 및 지연 시간을 최소화하는 동적 탐지 및 자동 인라인 완화 기능을 제공합니다. AWS Shield에는 모든 유형의 네트워크 보안 이벤트로부터 보호하기 위한 자동화된 완화 기법이 포함되어 있습니다.

AWS Shield를 사용하면 다음과 같은 다양한 기능을 활용할 수 있습니다.

  • 특정 레이어에서 무단 트래픽을 자동으로 스크러빙
  • 애플리케이션 가동 중지 시간 및 지연 시간 최소화
  • 최대 1,000개의 리소스 유형을 모니터링하고 보호
  • 애플리케이션 트래픽 패턴에 따른 맞춤형 탐지

지금 계정을 만들어 DDoS 방어를 시작하세요.

AWS 활용 다음 단계

제품 관련 추가 리소스 확인
콘텐츠 전송 서비스 확인 
무료 계정에 가입

AWS 프리 티어에 즉시 액세스할 수 있습니다.

가입 
콘솔에서 구축 시작

AWS Management Console에서 구축을 시작하세요.

로그인