tail head cat sleep
QR code linking to this page

Man page  — ICMP

명칭

icmp – 인터넷 컨트롤 메세지 프로토콜

내용

서식


#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
int
socket(AF_INET, SOCK_RAW, proto);

해설

ICMP (은)는, IP 및 인터넷 프로토콜 패밀리에 있어서의, 에러 및 제어 통지를 위한 프로토콜입니다. 본프로토콜의 기능인 네트워크의 모니터링 및 진단 기능은, "raw socket" (을)를 개입시킨 액세스에 의해 이용할 수가 있습니다. ICMP 소켓을 작성하기 위한 socket 콜에의 인수 protogetprotobyname(3) (으)로부터 얻을 수 있습니다. ICMP 소켓은 connectionless형이며, 보통 sendto(2)recvfrom(2) 콜과 함께 사용됩니다. 다만, 다음에 보내지는 패킷의 행선지를 고정하는 경우는 connect(2) 콜도 사용할 수 있습니다 (그 경우에는 보통 read(2) 또는 recv(2) , 및 write(2) 또는 send(2) 시스템 콜과 함께 사용됩니다).

송신 패킷에는 (행선지 주소에 근거해) 작성되었다 IP 헤더가 자동적으로 부여됩니다. 수신 패킷은, IP 헤더 및 옵션이 전혀 손상되지 않고 수신됩니다.

진단

소켓 조작의 실패 시에는 다음의 에러 중 하나가 돌려주어집니다:
[EISCONN] 이미 connection가 확립되어 있는 소켓에 대해 한층 더 connection를 확립 시키려고 했을 때, 혹은 이미 소켓의 connection가 확립되어 있는데, 행선지 주소를 지정해 데이터 그램을 송신하려고 했을 때
[ENOTCONN] 소켓의 connection가 확립되어 있지 않은 경우에, 행선지 주소의 지정을 하지 않고 데이터 그램의 송신을 실시하려고 했을 때
[ENOBUFS] 내부적인 데이터 구조를 위한 메모리가 부족했을 때
[EADDRNOTAVAIL]
  대응한 네트워크 인터페이스가 존재하지 않는다 네트워크 주소를 지정해, 소켓을 작성하려고 했을 때

관련 항목

recv(2), send(2), inet(4), intro(4), ip(4)

역사

icmp 프로토콜은 BSD 4.3 (으)로부터 등장했습니다.

BSD 4.3 ICMP (4) June 5, 1993

tail head cat sleep
QR code linking to this page


Ben Bullock이 유닉스 매뉴얼 페이지에서 서비스에 대한 의견을 주시기 바랍니다. Privacy policy.

Unix is a junk OS designed by a committee of PhDs.
— Dave Cutler