위클리 페이퍼 Week 17. 꼼꼼한 등기 우편(TCP) vs 퀵 서비스(UDP)

2026. 4. 26. 15:47·코드잇 스프린트
728x90
반응형

코드잇 스프린트 위클리 페이퍼 열일곱번째 주제 17-2

전송 계층에서 TCP와 UDP의 차이점은 무엇이며, 각각 어떤 상황에서 사용하는 것이 적절한가요?

 

네트워크를 통해 데이터를 보낼 때 IP 주소를 찾는것도 중요하지만 어떤 방식으로 전달할 것인지도 중요하다.

이 전송 방식을 결정하는 곳이 TCP/IP 4계층 모델의 전송 계층이고, TCP, UDP라는 핵심 프로토콜이 있다.

 

두 프로토콜은 데이터를 전송한다는 목적은 같지만, 꼼꼼하게 처리할 것인가, 빠르게 처리할 것인가로 나뉜다.

 

1. TCP (Transmission Control Protocol). 신뢰성 있는 전송

TCP는 '신뢰성(Reliability)'을 최우선으로 하는 프로토콜이다. 데이터가 누락되지 않고, 순서대로, 정확하게 도착하는 하는 것을 보장한다.

 

연결 지향형(Connection-oriented)

데이터를 보내기 전에 상대방과 미리 연결을 맺는다. 이것을 3-Way Handshake라고 부른다.

오류 및 흐름 제어

중간에 패킷(데이터 조각)이 분실되면 다시 보내달라고 요청(재전송)하고, 받는 사람의 속도에 맞춰서 보내는 양을 조절한다.

 

하지만 단점으로는 꼼꼼하게 검사하고 연결을 맺는 과정(오버헤드)이 필요하므로 상대적으로 속도가 느리고, 시스템 자원을 많이 사용한다.

 

2. UDP (User Datagram Protocol). 빠르고 단순한 전송

UDP는 속도를 최우선으로 하는 프로토콜이다. 신뢰성을 보장하지 않고, 그냥 목적지를 향해 데이터를 던지기만 한다.

 

비연결형(Connectionless)

사전 연결 작업 없이 데이터를 바로 쏜다. (No Handshake)

 

신뢰성 없음

데이터가 중간에 유실되든, 순서가 뒤죽박죽으로 도착하든 신경쓰지 않는다. 오류 확인이나 재전송 절차가 없다.

 

장점으로는 복잡한 제어 로직이 없기 때문에 속도가 매우 빠르고, 네트워크 부하가 적다.

 

3. 적절한 사용 상황

서비스의 특성에 맞춰서 선택을 해야한다.

TCP가 적절한 상황 (데이터 무결성)

웹 브라우징(HTTP/HTTPS)

웹 페이지의 HTML 코드나 이미지가 1바이트라도 유실되면 화면이 깨지므로 무조건 TCP를 사용한다.

파일 전송(FTP), 이메일(SMTP)

다운로드한 파일이나 이메일 내용이 중간에 누락되면 안되기 때문에 신뢰성이 필수이다.

UDP가 적절한 상황 (속도, 실시간성)

실시간 스트리밍 및 화상 회의 (Youtube, Zoom, Zep 등)

영상 재생 중 1~2 프레임정도 유실되어 화면이 찰나의 순간 깨지는 것은 괜찮다. 하지만 데이터가 늦게 도착해서 뚝뚝 끊기는 '버퍼링'이 발생하면 치명적인 서비스..

온라인 게임

유저의 빠른 반응 속도와 동기화가 중요하기 때문에 주로 UDP를 사용한다.

DNS (도메인 이름 시스템)

단순하고 아주 빠른 질의/응답이 필요하므로 UDP를 사용한다.

728x90
반응형
'코드잇 스프린트' 카테고리의 다른 글
  • 위클리 페이퍼 Week 17. 이론적인 OSI 7계층, 실무적인 TCP/IP 4계층
  • 위클리 페이퍼 Week 16. 로컬 캐시(속도) vs 분산 캐시(일관성) 비교
  • 위클리 페이퍼 Week 16. Spring Cache @Cacheable, @CachePut, @CacheEvict 활용하기
  • 위클리 페이퍼 Week 15. 비동기 환경에서의 컨텍스트(MDC, SecurityContext) 전파
HongsDD
HongsDD
개발 공부 끄적끄적..
  • HongsDD
    Hong's Develop Diary
    HongsDD
  • 전체
    오늘
    어제
    • 분류 전체보기 (93) N
      • Java (5)
      • Spring (4)
      • 객체지향 (4)
      • JPA (19)
      • MySQL (10)
      • 프로그래밍 (6)
      • Computer Science (12) N
      • 코드잇 스프린트 (33)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    상속 관계 매핑
    CPU
    spring boot
    코드잇 스프린트
    트랜잭션
    위클리페이퍼
    Java
    CS
    유저 스토리
    코드잇
    캐시
    JPQL
    스프린트
    JPA
    티스토리챌린지
    Spring
    오블완
    MySQL
    위클리 페이퍼
    객체지향
  • 최근 댓글

  • 최근 글

  • 250x250
    반응형
  • hELLO· Designed By정상우.v4.10.6
HongsDD
위클리 페이퍼 Week 17. 꼼꼼한 등기 우편(TCP) vs 퀵 서비스(UDP)
상단으로

티스토리툴바