본문 바로가기
TCP/IP

ICMP 프로토콜

by 상레알 2009. 11. 16.
인터넷 프로토콜은 무연결 데이터그램 전달 서비스를 제공한다. IP는 데이터그램의 신뢰할 수 있는 전달을 보증하려고 하지 않는다. 그것은 운반 계층 프로토콜(TCP)과 같은 상위 계층 프로토콜에 넘기는 것이 최선인 작업니다. 그러나 IP는 인터넷 제어 메시지 프로토콜(ICMP) 모듈을 통해 경고와 진단 메시지를 보내는 기능을 제공한다. 네트워크 관리자는 그러한 메시지를 사용하여 네트워크의 문제나 잠재적 문제를 탐지할 수 있다.

IP 프로토콜은 단순하게 유지되므로 IP 데이터그램을 전송하는 중에 오류가 발견되는 상황이 적지 않다. 송신자는 데이터그램을 보내고 그 데이터그램의 전달은 기반 네트워크 (OSI 제 1,2,3 계층)에 맡긴다. 송신자는 데이터그램을 전송하다가 일어날 수 있는 잠재적 문제르 알 도리가 없다.
데이터그램 전송중의 오류는 대개 중간 라우터에서 탐지된다. 예를 들어, 데이터그램 경로에 있는 라우터 사슬의 마지막 라우터는 목적지 호스트가 없다는 것을 탐지할 수 있다. 목적지 네트워크가 이더넷과 같은 동보 전송 LAN이면, 라우터는 ARP를 사용하여 목적지 호스트의 IP 주소와 그 하드웨어 주소를 묶을 떄 호스트를 사용할 수 없다는 것을 탐지한다. 이경우 라우터는 인터넷 제어 메시지 프로토콜(ICMP)을 송신자에게 보내서 목적지 호스트를 사용할 수 없는 것에 관하여 알릴려고 한다.
그 밖에도 다음과 같은 문제들을 발견할 수 있다.

■ 경로 설정 루프의 오류 때문에 데이터그램의 활동 시간(TTL) 매개변수가 만료됨
■ 데이터그램 단편이 없어져서 데이터그램이 전달되지 않음
■ 프로토콜, 서비스 또는 호스트를 사용할 수 없음
■ 단편화가 허용되지 않고 데이터그램 크기가 중간 네트워크에 비해 너무 커서 데이터그램을 발송할 수 없음
■ 라우터에서 네트워크 통신량의 집중으로 라우터가 수신 데이터그램을 처리할 수 없음

'TCP/IP' 카테고리의 다른 글

Nagle 알고리즘  (0) 2011.05.02
getsockopt() , setopt () 함수  (0) 2011.05.02
ioctl : 장치 제어 함수  (0) 2011.04.29
소켓 함수 및 헤더들  (0) 2011.02.07
sendto()  (0) 2010.03.28
SOCKADDR_IN 구조체  (0) 2010.03.28
SOCKET() 함수  (0) 2010.03.25
Linux: SOCK_PARCKET  (0) 2009.12.03
인터넷 소켓 활용  (0) 2009.08.31
TCP/IP 열혈 강의  (0) 2009.08.12