본문 바로가기
Web 개발

Socket (네트워크 소켓)

by yororing 2024. 3. 29.

01 Socket이란

0. 네트워크 통신 안에서의 Socket

  • 네트워크 통신을 하려면 각 TCP/IP 계층 (OSI 7 계층)의 협력을 통해 이루어짐
  • Socket API는 그 중 전송 계층 (Transport Layer)와 응용 계층 (Application Layer) 사이에 있는 인터페이스
  • 소켓을 이용하여 TCP나 UDP에 접근 가능

1. Socket의 정의

  • 네트워크 소켓, 인터넷 소켓이라고도 함
  • 네트워크 상에서 두 앱/프로그램 간의 양방향 통신 링크(two-way communication link)의 한 엔드포인트(endpoint)
    • 엔드포인트 (Endpoint): IP 주소 포트 번호로 이루어져 있으며 각 TCP(Transmission Control Protocol) 연결은 2개의 엔드포인트로 고유하게 식별됨
  • 소켓은 포트 번호로 이루어져있기 때문에 TCP/IP 계층이 데이터를 전송할 앱을 식별하는 것이 가능하고, 이런 식별을 통해 호스트와 서버 간 다수 연결 가능
  • 소켓의 구조와 속성은 네트워크 아키텍처를 위한 API에 의해 정의
  • 소켓은 node에서 실행 중인 앱의 process lifetime 동안에만 생성됨

2. 구성요소

 

 

 

참조

  1. https://docs.oracle.com/javase/tutorial/networking/sockets/definition.html
  2. https://en.wikipedia.org/wiki/Network_socket
  3. https://shg-engineer.tistory.com/21 
  4.  
  5.  

'Web 개발' 카테고리의 다른 글

절대 경로 vs 상대 경로 (Absolute Path vs Relative Path)  (1) 2024.03.26