1. ICMP(Internet Control Message Protocol)
1) ICMP 개념
ICMP는 L3 프로토콜이다.
동일 계층의 프로토콜인 IP인 경우 신뢰성 없고, 비연결 지향적이다.
전송 경로 중간에서 패킷 전송이 실패하는 경우에도 해당 패킷을 전송한 출발지 장비에서는 그 사실을 알 수 없다. (자신이 전송한 패킷이 목적지 도달에 실패했는지 L3 IP를 통해서는 알 수 없다.)
이러한 IP를 보조하는 비서 같은 역할로 ICMP가 등장했다.
2) ICMP 역할
오류보고 메시지와 질의 메시지로 나눌 수 있다.
2.1) 수신처 도달 불가 (Type 3)
왜 최종 목적지에 도착하지 못했는지 오류메시지의 종류를 정의하기 위해 0~15까지 다른 코드를 사용
2.2) 발신 제한 (Type 4)
송신자에게 네트워크 충돌이 발생하여 데이터그램이 폐기되었음을 알리는 메시지
2.3) 라우트 변경(Type 5)
메시지를 전송하기 위해 잘못된 라우터를 사용할 때 사용되는 메시지
2.4) 시간 초과 (Type 11)
Code 0: TTL 값이 0이 되어 시간 초과 발생
Code 1: 재조합 과정에서 시간 초과 발생 (단편화 메시지 손실)
3) 정보제공
오늘날 ICMP Type 8과 Type 0이 정보 제공 목적으로 사용된다.
주로 목적지 장비에 대한 도달성 확인(ping test) 및 경로 추적 목적(tracert. traceroute)으로 활용되고 있다.
Type 8 인 Echo Request를 상대방 장비에게 전송하고, 상대방 장비로부터 Type 0인 Echo Reply를 수신하게 되면 상대방 장비와 통신이 가능하다는 것을 확인할 수 있다.
4) 오류 통보
오늘날 ICMP Type 3(Destination Unreachable)과 Type 11(Time exceeded)이 사용된다.
IP 패킷의 전송 경로 중간 라우터에서 목적지 IP 주소에 대한 정보가 Routing Table에 등록되어 있지 않거나, ACL 등의 Filtering 정책으로 목적지로 전송할 수 없는 경우 해당 라우터에서 패킷을 Drop 시키고 ICMP Type 3으로 오류 통보를 수행한다.
전송 경로 중간에서 TTL 값이 만료되거나 혹은 Fragmentation 된 패킷의 일부가 일정 시간 동안 최종 목적지 장비에 도달하지 못하는 경우 해당 패킷들을 drop 시키고 'Type 11(Time exceeded)'으로 오류 통보를 수행한다.
Type 5(redirection)는 L3 장비가 수신한 패킷의 목적지로 향하는 경로가 자신보다 더 좋은 조건의 L3 장비를 알고 있는 경우 출발지 장비에게 해당 패킷을 자신이 아니라 더 좋은 조건의 L3 장비로 전송할 수 있도록 새로운 경로를 알려주는 목적으로 사용됐었다.
127.0.0.1이나 0.0.0.0과 같은 특별한 주소를 가진 데이터그램에 대해서는 오류 메시지가 생성되지 않는다.
오류메시지를 전송하는 데이터그램 또는 단편화된 데이터 그램에 대해서는 오류 메시지가 생성되지 않는다.
Source Quench: 라우터에 대한 데이터 집중 현상으로 패킷이 손실되고 있다고 라우터에서 전달하는 메시지이다.
2. ICMP 실행 결과
1) ping 테스트
echo request는 Type 8번 echo reply는 Type 0번인 것을 확인할 수 있다.
2) tracert, tracerouter 테스트
TTL 값을 1부터 1씩 증가시키면서 Hop 체크를 수행한다.
'Network > Network Theory' 카테고리의 다른 글
DHCP(Dynamic Host Configuration Protocol) 란? (0) | 2020.08.19 |
---|---|
[Network] ARP, RARP,GARP 개념 (0) | 2020.02.11 |
[Network] HTTP 개념 (0) | 2019.10.30 |
Web(World Wide Web) 이란? (0) | 2019.10.29 |
NTP(Network Time Protocol) 이란? (0) | 2019.10.25 |
공부&일상 블로그
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요! 질문은 언제나 환영입니다😊