본문 바로가기
네트워크

Unix Domain Socket이란?

by PudgeKim 2021. 4. 24.

Unix Domain Socket이란 같은 local machine안에서 사용되는 IPC 기법의 한 종류로 프로세스 간의 통신을 하기 위한 것입니다.

같은 local machine안에서 사용하는 기법이므로 서로 다른 노드(컴퓨터)간의 커뮤니케이션을 하기위한 용도는 아닙니다.

그런데 TCP/IP를 이용해서도 같은 노드 안에서 프로세스간 통신을 할 수 있습니다. 바로 loopback address(127.0.0.1)를 사용하면 가능합니다. 

그렇다면 Unix Domain Socket과 TCP/IP 간의 차이는 무엇일까요?

 

우선 TCP를 사용하면 loopback address라도 네트워크 통신을 하는데 필요한 여러 overhead가 발생합니다. osi 7 layer에 따라 각각의 layer에서 패킷헤더를 만들고 .... 등 주소만 다시 자기 자신으로 오는 것이지 이러한 과정이 필요한데

Unix Domain Socket을 이용하면 이미 같은 노드안에서 발생한다는 것을 알고 있기 때문에 TCP/IP를 사용했을 때의 여러 overhead가 없어지고 이는 퍼포먼스적으로도 더 뛰어납니다. 즉, 같은 노드안에서 프로세스간 통신은 Unix Domain Socket이 TCP/IP보다 나은 옵션입니다.

또한, Unix Domain Socket은 filesystem 권한에 대상입니다.

 

'네트워크' 카테고리의 다른 글

네트워크 NAT란?  (0) 2020.12.07
네트워크 인터넷과 여러 계층들  (0) 2020.12.06
네트워크 switching fabrics  (0) 2020.11.28
네트워크 라우팅  (0) 2020.11.28
Transport Layer#3 Go-Back-N  (0) 2020.11.09