
소켓(Socket) 이란?
프로그램이 네트워크를 통해 데이터를 송수신하기 위해 사용하는 통신 인터페이스이다.
소켓이 필요한 이유
프로그램은 혼자서 네트워크를 통해 데이터를 보낼 수 없다.
OS가 제공하는 네트워크 기능을 이용해야하는데
이때 프로그램과 OS 사이에 네트워크 통신을 가능하게 해주는 인터페이스가 바로 소켓이다.
소켓이 연결하는 대상
- 같은 컴퓨터 내 프로세스 간 통신(IPC)
- 웹서버 와 DB
- 네트워크를 통한 다른 컴퓨터와의 통신
- 브라우저와 서버
소켓을 식별하는 요소
하나의 소켓은 보통 다음 정보로 식별된다.
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 |