기술 학습

소켓(Socket)과 패킷(Packet)의 관계

hawon6691 2026. 2. 9. 13:05
728x90

소켓(Socket)패킷(Packet)의 관계를 한마디로 정의하자면, "소켓은 우체통(또는 창구)이고, 패킷은 그 안을 오가는 편지(데이터 꾸러미)"라고 할 수 있습니다.

조금 더 기술적으로 파고들어 두 개념의 연결 고리를 설명해 드릴게요.


1. 소켓과 패킷의 역할 관계

네트워크 통신이 일어날 때 두 개념은 서로 다른 계층에서 협력합니다.

  • 소켓 (Socket): 소프트웨어적인 인터페이스입니다. 프로그래머가 "데이터 보내줘!"라고 명령을 내리는 통로입니다.
  • 패킷 (Packet): 네트워크를 통해 실제로 이동하는 데이터의 단위입니다. 소켓을 통해 던져진 데이터는 네트워크 계층을 지나면서 잘게 쪼개져 패킷이라는 형태로 포장됩니다.

2. 데이터가 전달되는 과정 (시나리오)

우리가 카카오톡 메시지 "안녕"을 보낸다고 가정해 봅시다.

  1. 소켓 단계: 앱이 소켓에 "안녕"이라는 데이터를 집어넣습니다.
  2. 패킷 생성: 운영체제의 네트워크 스택(TCP/IP)이 이 데이터를 가져가서, 상대방 주소(IP)와 포트 번호가 적힌 헤더를 붙여 패킷으로 만듭니다. (데이터가 크면 여러 개의 패킷으로 쪼갭니다.)
  3. 전송: 이 패킷들이 인터넷 망을 타고 상대방 컴퓨터로 흘러갑니다.
  4. 소켓 수신: 상대방 컴퓨터는 도착한 패킷들을 다시 조립해서 해당 포트 번호를 기다리고 있는 소켓으로 밀어 넣어줍니다.

3. 주요 차이점 비교

구분 소켓 (Socket) 패킷 (Packet)
성격 통신의 통로 / 연결점 (추상적) 데이터의 전송 단위 (물리적/논리적 덩어리)
위치 애플리케이션과 OS 사이의 접점 네트워크 선로 위를 흐르는 중
비유 전화기 혹은 우체통 음성 신호 혹은 편지 봉투
관점 개발자가 제어하는 대상 네트워크 장비(라우터 등)가 처리하는 대상

요약하자면

소켓은 '누가 누구에게 보낼 것인가'를 결정하는 통로의 문고리 역할을 하고, 패킷은 그 통로를 통해 '실제로 실어나르는 짐'이라고 보시면 됩니다. 소켓이 없으면 패킷은 어디로 나갈지 방향을 잡지 못하고, 패킷이 없으면 소켓은 빈 껍데기 통로일 뿐이죠.

728x90

'기술 학습' 카테고리의 다른 글

소켓(socket)은 비동기로 작동  (0) 2026.02.09
express로 socket 사용 방법  (0) 2026.02.09
소켓(Socket) 이란?  (0) 2026.02.09
Java 비동기  (0) 2026.02.05
TypeScript는 싱글 스레드  (0) 2026.02.05