1. 개요
2. ICMP 구조
3. ICMP를 이용한 명령
가. PING
나. Tracert
4. 특징
5. 결론
1. 개요
- IP protocol은 신뢰성이 없는 비연결형
- IP protocol은 네트워크 진단이나 접속 불가에 대한 원인을 찾는 등의 기능은 포함하고 있지 않음
- 이러한 문제를 해결하기 위해 message를 이용 network에서 발생할 수 있는 여러가지 정보를 알려주기 위한 프로토콜이 필요
- 접속 불가에 대한 이유나 여러가지 진단기능을 수행할 제어프로토콜이 ICMP
- ICMP는 IP계층의 일부이며 이 메시지는 IP 데이터그램에 encapsulation 되어서 전송됨
2. ICMP 구조
- ICMP는 Ethernet과 IP에 capsule화 되어 전달됨
- IP Header의 Protocol type 값이 1이면 ICMP message(6:TCP, 17:UDP, 2:IGMP)
- IP payload 내의 메시지가 순수한 ICMP
가. TYPE(유형):ICMP의 용도를 표현
나. Code: 각 type별로 세부적인 값, Type 3에 대한 code
다. Checksum: ICMP Header의 손상여부 확인
라. ICMP Data: ICMP type과 Code에 따른 내용
3. ICMP를 이용한 명령
가. PING
- PING은 Packet InterNet Groper의 약자임
- ICMP echo request 메시지를 특정 호스트나 라우터에 보내어 이에 대한 ICMP echo reply를 수신함으로써 reachability를 검사해 보고, 요청과 응답에 대한 경과시간인 Round-Trip-Time(RTT)를 알아 볼 수 있음
- 요청과 응답 모두 IP 데이터그램에 수납되어 전송되기 때문에 응답의 성공적 수신은 경로상의 라우터와 목적지 시스템의 망 계층부분이 동작한다는 것을 증명하는 것임
나. Tracert
- Tracert 명령은 경로상에 있는 라우터마다 ICMP echo 메시지를 보내어 이에 대한 응답을 확인함으로써, 경로상의 라우터의 존재 및 지연시간을 검사해 보는 것임
- 모든 IP 라우터들은 수신된 IP Packet을 다음 라우터로 전달하기 전에 먼저 IP헤더의 TTL값을 1 감소시킴. 만약 감소된 TTL값이 0인 경우 이 패킷을 다른 라우터로 전달하지 않고 버리며, 이 IP패킷의 송신측에게 time exceeded error ICMP 패킷으로 이 사실을 알리는 라우터의 기본 원리를 이용.
- 동작 algorithm
① Tracert를 실행하는 단말은 TTL값을 1로 설정한 첫 번째 ICMP echo 패킷을 목적지로 송신하면, 이것을 수신한 경로상의 첫 번째 라우터로부터 Time exceeded error ICMP 패킷을 수신할 수 있음
② 이후 다시 TTL-2로 설정한 ICMP echo 메시지를 목적지로 송신하면 경로상의 두 번째 라우터로부터 time exceeded error ICMP 패킷을 수신할 수 있게 됨
③ 이러한 절차를 반복하면 목적지까지의 경로상에 있는 모든 라우터에 대한 정보 및 지연시간을 알 수 있음.
④ 하지만 어떤 라우터들은 TTL 값이 0이 될 때 단순히 버려버리는 것도 있으므로 이 라우터에 대한 정보를 tracert 기능으로 확인하지 못할 수도 있음
4. 특징
- ICMP 도달 불가 에러:존재하지 않은 응용계층에 접근을 시도하는 경우 수신측에서 에러메시지를 응답함
- ICMP 에러 메시지가 응답되는 않는 경우: ICMP 에러 메시지에 에러가 난 경우나 IP 브로드캐스트 주소나 멀티캐스트 주소로 가는 경우
5. 결 론
- ICMP는 상위계층이 아니므로, 응용프로그램을 사용하는 사용자에게 보이지는 않지만, Ping과 Tracert를 이용하여 네트워크 경로에 대한 정보를 얻을 수 있다.
- ICMP는 신뢰성이 없는 비연결형 서비스인 IP를 보완하기 위한, 최소한의 에러제어 솔루션이라고 할 수 있다.
'Internet > TCP/IP' 카테고리의 다른 글
IP기반 통신서비스의 QoS 보장 방안 (0) | 2015.09.20 |
---|---|
Supernetting (0) | 2015.09.19 |
IPv6 transition technique (0) | 2015.09.19 |
IPv4와 IPv6 (0) | 2015.09.19 |
IPv4 설명하고 현 주소체계의 부족 현상을 해결하기 위한 방안 (0) | 2015.09.19 |