Search

Unix Domain Socket

Tags
unix
docker
unix-domain-socket
Created
2024/08/30 18:50
Created time
2024/08/30 09:50
category
unix

개요

Docker 데몬은 TCP가 아닌 Unix Domain Socket에 바인딩되어 통신을 수행
이 때 Unix Domain Socket이 무엇인지 탐색

Unix Domain Socket (UDS)

좌측 그림은 TCP/IP, 우측 그림은 UDS에서의 통신 흐름
TCP/IP는 Local 및 Remote 간의 통신을 지원하는 용도
UDS는 Local 내에서의 IPC 기법 중 하나
Local에서 UDS 통신 시, Application → Transport 2개 계층만을 거침
Local에서 TCP/IP 통신 시, Application → Transport → IP → Data 4개 계층을 거침
즉, UDS에서는 Loopback Address까지의 패킷 헤더를 구성하고 해석하는 오버헤드가 없기 때문에 통신 속도 성능이 더 뛰어나고 메모리 소모가 더 적음
대표적으로 MySQL 혹은 Docker에서 사용하는 UDS가 있고, UDS는 파일 유형이 s로 표기

UDS 조회

# 시스템 전체 UDS 목록 확인 lsof -U # Docker UDS 확인 lsof -U | grep docker.sock
Shell
복사

Reference

Unix Domain Socket 개요
Unix Domain Socket과 TCP Socket의 차이