Unix socket, TCP socket

newhyork·2022년 10월 6일
0

Unix (domain) socket


  • IPC socket 이라고도 한다.
  • 같은 machine(host OS)에서 실행되고 있는 프로세스 간에 양방향 데이터 교환 시 사용한다.
  • rounting 및 인증과 같은 과정을 생략할 수 있기 때문에, TCP socket 보다 가볍고 빠르다.
  • TCP Socket은 packet 필터 수준에서만 제어할 수 있는 것과 달리
    이는 file system 권한이 적용되어, user로 하여금 access를 제한하기 용이하다.
  • TCP Socket의 endpoint가 IP 주소 + port인 것과 달리, file path를 주소로써 사용한다.

TCP socket


  • Network socket, Internet socket 이라고도 한다.
    • OSI 4(Transport) Layer에 해당되며, TCP(stream) 외에 UDP(datagram)도 존재한다.
      (지금은 간단하게 TCP만 다루자.)
  • network를 통해, 서로 다른 machine에서 실행되고 있는 프로세스 간 통신에 사용한다.
    • 127.0.0.1과 같은 loopback interface를 사용함으로써,
      같은 machine에서 실행되고 있는 프로세스 간 통신에서도 쓸 수 있긴 하다.
  • server측 socket이 특정 port에서 listening하는 형태로 시작한다.
    그리고 client socket으로부터 connection을 기다린다.
    • 각 connection은 socket pair(local IP + port 및 remote IP + port)로 식별 가능하다.

0개의 댓글