CS/네트워크

[네트워크] 소켓(Socket)이란?

ari0930 2026. 1. 2. 01:49

소켓(Socket) 이란?

프로그램이 네트워크를 통해 데이터를 송수신하기 위해 사용하는 통신 인터페이스이다.

 

소켓이 필요한 이유

프로그램은 혼자서 네트워크를 통해 데이터를 보낼  수 없다.

OS가 제공하는 네트워크 기능을 이용해야하는데

이때 프로그램과 OS 사이에 네트워크 통신을 가능하게 해주는 인터페이스가 바로 소켓이다.

 

소켓이 연결하는 대상

  1. 같은 컴퓨터 내 프로세스 간 통신(IPC)
    • 웹서버 와 DB 
  2. 네트워크를 통한 다른 컴퓨터와의 통신
    • 브라우저와 서버

소켓을 식별하는 요소

하나의 소켓은 보통 다음 정보로 식별된다.

IP 주소 + 포트 번호 + 전송 프로토콜
192.168.0.10:8080 (TCP)
  • IP 주소 → 어떤 컴퓨터인지
  • 포트 번호 → 어떤 프로그램인지
  • 프로토콜(TCP/UDP) → 어떤 방식으로 전달할지

 

TCP 소켓과 UDP 소켓

소켓은 TCP 또는 UDP 전송 프로토콜을 사용해 동작한다.

구분TCP 소켓UDP 소켓

연결 방식 연결형 비연결형
신뢰성 높음 (순서 보장, 재전송) 낮음
속도 상대적으로 느림 빠름
데이터 단위 스트림 패킷
사용 예 HTTP, HTTPS, DB 통신 실시간 영상, 게임, 스트리밍

 

소켓은 프로세스가 네트워크를 통해 데이터를 주고받기 위해 사용하는 통신 인터페이스이며, TCP 또는 UDP 전송 프로토콜을 기반으로 동작한다.

반응형

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

[네트워크]네트워크의 기본 구조  (0) 2026.01.18
[네트워크]TCP/IP란?  (0) 2025.06.14
[네트워크]TCP/IP 와 OSI7 계층  (0) 2025.06.14
REST API란  (0) 2025.05.03
HTTP/HTTPS 란?  (0) 2025.05.02