[2022년도 국가공무원 9급][네트워크보안] 17번
문17. ICMP에 대한 설명으로 옳은 것은?
① 전송 계층에서의 오류 탐지를 위해 사용한다.
② 송신자의 패킷이 목적지에 도달하지 못했을 때 송신자는 ICMP Echo Reply 메시지를 수신한다.
③ TTL이 0이 되면 ICMP 시간초과(time exceeded) 오류 메시지가 발생한다.
④ UDP에 의해 전송된다.
[해설]
▣ ICMP
- 인터넷 제어 메시지 프로토콜은 RFC 792에서 정의한 인터넷 프로토콜 모음 중의 하나
- IP 동작에서 진단이나 제어로 사용되거나 오류에 대한 응답으로 만들어짐
- ICMP 오류들은 원래 패킷의 소스 IP 주소로 보내지게 됨
- IP 데이터그램을 전달하는 모든 기기(중간 라우터 같은)는 맨 처음 IP 헤더에서 타임 투 리브(Time to Live, TTL)을 '1'만큼 감소시킴. 만약 TTL이 '0'이면 패킷은 버려지고, ICMP TTL 초과 메시지가 데이터그램의 원래 IP 주소로 보내짐
- ICMP는 네트워크 계층 프로토콜
- 포트 번호는 전송 계층과 연계되어 있기 때문에 ICMP 패킷과 연계되는 TCP 또는 UDP 포트 번호는 존재하지 않음
▣ ICMP 사용 프로그램
- traceroute 명령어는 특별하게 만들어진 IP TTL 헤더 필드들을 가진 IP 데이터그램을 전송하고, 응답에서 ICMP TTL 초과 메시지와 "목적지에 닿을 수 없음(Destination unreachable)" 메시지가 생성되었는지 찾음
- ping 유틸리티는 ICMP "에코 요청(Echo request)"과 "에코 응답(Echo reply)" 메시지를 사용해 구현
댓글
댓글 쓰기