[CS기초] Datagram Socket(UDP) vs Stream Socket(TCP) 핵심 개념 정리

2025. 5. 5. 21:39·크래프톤 정글/CS기초(키워드, 개념정리)

Datagram Socket(UDP) vs Stream Socket(TCP) 핵심 개념 정리

소켓 프로그래밍에서 Datagram Socket과 Stream Socket은 네트워크 통신 방식의 두 가지 핵심적인 유형이라고 할 수 있는데요. 이번 글에서는 각 방식의 특징과 용도에 대해서 알아보겠습니다.

 

 

Datagram Socket (UDP)

특징

  • 비연결성(Connectionless)
    • 미리 연결 설정을 하지 않고 데이터를 즉시 전송한다.
  • 비신뢰성(Unreliable)
    • 데이터 전달을 보장하지 않으며, 손실 및 중복이 발생할 수 있다.
  • 메시지 경계 유지(Message Boundary Preservation)
    • 전송한 데이터 단위(패킷)가 그대로 유지된다.
  • 고속 전송
    • 오버헤드가 적어 실시간 스트리밍, 게임, DNS와 같은 빠른 응답이 중요한 서비스에 적합하다.

사용 예시

  • 게임 서버
  • 음성 및 영상 스트리밍
  • DNS 쿼리

 

Stream Socket (TCP)

특징

  • 연결 지향(Connection-oriented)
    • 데이터를 전송하기 전에 연결을 설정하고 종료 시 연결을 해제한다.
  • 신뢰성 보장(Reliable)
    • 데이터의 손실, 중복, 순서 변경을 자동으로 처리하여 정확한 데이터 전달을 보장한다.
  • 흐름 지향(Stream-based)
    • 데이터 경계가 없으며 연속적인 데이터 스트림 형태로 전송된다.
  • 오버헤드 존재
    • 데이터의 신뢰성을 확보하기 위한 추가적인 확인과 재전송 과정으로 인해 속도가 상대적으로 느리다.

사용 예시

  • 웹 브라우징(HTTP/HTTPS)
  • 이메일 전송(SMTP)
  • 파일 전송(FTP)

 

마치면서

두 방식을 정리하자면 다음과 같습니다.

  • Datagram(UDP)
    • 빠르지만 신뢰성이 낮고, 실시간성이 중요한 분야에서 선호된다.
  • Stream(TCP)
    • 신뢰성이 높지만 속도가 느리고, 데이터 정확성이 중요한 분야에서 선호된다.

곧 각각의 특성을 잘 이해하고, 개발하고자 하는 서비스의 목적과 요구사항에 따라 적절한 소켓 타입을 선택하는 것이 중요하다고 할 수 있습니다.

저작자표시 비영리 변경금지 (새창열림)

'크래프톤 정글 > CS기초(키워드, 개념정리)' 카테고리의 다른 글

[CS기초] HTTP (요청/응답, 헤더, 메서드, 상태코드, HEAD 메서드) 핵심 정리  (0) 2025.05.05
[CS기초] CGI / WebServer / MIME Type 핵심 개념 정리  (0) 2025.05.05
[CS기초] 파일 디스크립터(File Descriptor) 핵심 개념 정리  (0) 2025.05.05
[CS기초] 프록시(Proxy) 핵심 개념 정리  (0) 2025.05.04
[CS기초] 소켓 프로그래밍 핵심 개념 정리 (socket, connect, bind, listen, accept)  (0) 2025.05.04
'크래프톤 정글/CS기초(키워드, 개념정리)' 카테고리의 다른 글
  • [CS기초] HTTP (요청/응답, 헤더, 메서드, 상태코드, HEAD 메서드) 핵심 정리
  • [CS기초] CGI / WebServer / MIME Type 핵심 개념 정리
  • [CS기초] 파일 디스크립터(File Descriptor) 핵심 개념 정리
  • [CS기초] 프록시(Proxy) 핵심 개념 정리
그냥사람_
그냥사람_
IT 관련 포스팅을 합니다. 크래프톤 정글 8기 정경호
  • 그냥사람_
    그냥코딩
    그냥사람_
  • 전체
    오늘
    어제
    • 글 전체보기 N
      • 크래프톤 정글 N
        • 로드 투 정글(입학시험)
        • CS기초(키워드, 개념정리) N
        • 컴퓨터구조(CSAPP)
        • Code 정글(C언어) N
        • 마이 정글(WIL, 에세이) N
      • 자료구조&알고리즘
        • 자료구조
        • 알고리즘
      • 일상
  • 블로그 메뉴

    • 홈
  • 링크

    • Github
  • hELLO· Designed By정상우.v4.10.3
그냥사람_
[CS기초] Datagram Socket(UDP) vs Stream Socket(TCP) 핵심 개념 정리
상단으로

티스토리툴바