UNIX 도메인 소켓

Unix domain socket

Unix 도메인 소켓 UDS 또는 IPC 소켓(프로세스 간 통신 소켓)은 동일한 호스트 운영 체제에서 실행되는 프로세스 간에 데이터를 교환하기 위한 데이터 통신 엔드포인트입니다.주소 패밀리에서도 참조됩니다.AF_UNIXUNIX 도메인의 유효한 소켓유형은 다음과 같습니다.[1]

  • SOCK_STREAM(TCP와 비교)– 스트림 지향 소켓용
  • SOCK_DGRAM(UDP와 비교) – 메시지 경계를 유지하는 데이터그램 지향 소켓의 경우(대부분 UNIX 구현에서와 같이 UNIX 도메인 데이터그램 소켓은 항상 신뢰성이 높고 데이터그램 순서를 변경하지 않음)
  • SOCK_SEQPACKET(SCTP와 비교) : connection 지향, 메시지 경계 유지, 메시지 전송 순서대로 메시지 전달을 하는 시퀀스 패킷소켓용

UNIX 도메인 소켓 기능은 POSIX 운영 체제의 표준 구성 요소입니다.

Unix 도메인 소켓용 API는 인터넷 소켓과 유사하지만 기본 네트워크 프로토콜을 사용하는 대신 모든 통신은 운영 체제 커널 내에서 발생합니다.UNIX 도메인 소켓은 파일 시스템을 주소 이름 공간으로 사용할 수 있습니다.(Linux와 같은 일부 운영 체제에서는 추가 네임스페이스를 제공합니다.)프로세스는 UNIX 도메인 소켓을 파일 시스템 inode로 참조하므로 두 프로세스가 동일한 소켓을 열어 통신할 수 있습니다.

데이터 전송에 가세하고, UNIX 도메인 소켓 접속을 개입시켜 파일 기술자를 송신하는 경우도 있습니다.sendmsg()그리고.recvmsg() 시스템 콜이것에 의해, 송신 프로세스는, 수신 프로세스에 액세스 [2][3]할 수 없는 파일 기술자에의 수신 프로세스에 액세스권을 부여할 수 있습니다.이를 통해 기본적인 형태의 기능 기반 [4]보안을 구현할 수 있습니다.예를 들어 Clam AntiVirus 스캐너를 LinuxBSD에서 권한 없는 대몬으로 실행하면서도 데몬의 Unix 도메인 소켓으로 전송된 파일을 읽을 수 있습니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ "Linux Programmer's Manual (unix - sockets for local interprocess communication)". 30 April 2018. Retrieved 22 February 2019.
  2. ^ "Archive of the "Postfix Discussions" mailing list". 30 September 2000. Archived from the original on 18 May 2013. Retrieved 29 September 2014.
  3. ^ "Linux man page - cmsg(3): access ancillary data". Retrieved 9 October 2018.
  4. ^ ""Secure Programming for Linux and Unix HOWTO", Section 3.4 "Sockets and Network Connections"". dwheeler.com. David A. Wheeler. 22 August 2004. Retrieved 29 September 2014.

외부 링크