본문 바로가기
IT운영/네트워크

[네트워크] TCP, UDP 특징 및 차이점

by Torobeen 2024. 5. 20.
반응형

TCP와 UDP는 인터넷과 대부분의 네트워크에서 데이터 통신을 가능하게 하는 두 가지 주요 프로토콜이다. 이 글에서는 TCP와 UDP의 기본 개념, 특징, 차이점 및 사용 사례에 대해 설명한다.

 

TCP (Transmission Control Protocol)

TCP란?

TCP는 연결 지향적 프로토콜로, 데이터의 신뢰성과 순서를 보장한다. TCP는 데이터 전송 중 발생할 수 있는 오류를 감지하고 수정하는 메커니즘을 포함하고 있다.

 

TCP의 주요 특징

  • 연결 지향적: 데이터 전송 전에 송신자와 수신자 간에 연결을 설정 (3-way handshake)
  • 신뢰성: 데이터 패킷이 손실되거나 순서가 뒤바뀌지 않도록 보장
  • 흐름 제어: 송신자가 수신자의 처리 속도에 맞춰 데이터를 전송
  • 혼잡 제어: 네트워크 혼잡 상황을 감지하고 전송 속도를 조절
  • 세그먼트 재조립: 수신자가 데이터를 올바른 순서로 재조립

 

TCP 3-way Handshake

  • SYN: 클라이언트가 서버에 연결 요청
  • SYN-ACK: 서버가 클라이언트의 요청을 수락
  • ACK: 클라이언트가 서버에 연결 설정 완료를 알림

 

TCP 헤더 구조

  • 출발지 포트: 송신 측 포트 번호
  • 목적지 포트: 수신 측 포트 번호
  • 순서 번호: 세그먼트의 순서
  • 확인 응답 번호: 수신된 데이터에 대한 확인 응답
  • 플래그: 제어 비트 (SYN, ACK, FIN 등)
  • 윈도우 크기: 흐름 제어를 위한 수신 윈도우 크기
  • 체크섬: 오류 검출

UDP (User Datagram Protocol)

UDP란?

UDP는 비연결 지향적 프로토콜로, 데이터 전송의 신속성을 중시한다. UDP는 TCP와 달리 데이터 전송의 신뢰성을 보장하지 않지만, 빠른 전송이 요구되는 상황에서 유용하다.

 

UDP의 주요 특징

  • 비연결 지향적: 데이터 전송 전에 연결을 설정하지 않음
  • 신뢰성 없음: 데이터 패킷이 손실되거나 순서가 뒤바뀔 수 있음
  • 오버헤드 낮음: 단순한 헤더 구조로 인해 전송 오버헤드가 낮음
  • 빠른 전송: 신속한 데이터 전송이 가능

 

UDP 헤더 구조

  • 출발지 포트: 송신 측 포트 번호
  • 목적지 포트: 수신 측 포트 번호
  • 길이: 전체 UDP 데이터그램의 길이
  • 체크섬: 오류 검출

TCP와 UDP 차이점 비교

특성 TCP UDP
연결 방식 연결 지향적 (연결 설정 필요) 비연결 지향적 (연결 설정 불필요)
신뢰성 신뢰성 보장 (데이터 손실 복구) 신뢰성 없음 (데이터 손실 가능)
흐름 제어 있음 없음
혼잡 제어 있음 없음
전송 속도 상대적으로 느림 상대적으로 빠름
오버헤드 높음 낮음
용도 파일 전송, 이메일, 웹 브라우징 등 실시간 스트리밍, 온라인 게임 등

 


TCP, UDP 각 사용 사례

TCP 사용 사례

  • 웹 브라우징 (HTTP/HTTPS): 웹 페이지 로딩 시 데이터의 순서와 신뢰성이 중요
  • 이메일 (SMTP, IMAP, POP3): 이메일 전송 시 데이터의 손실이나 순서 왜곡 방지
  • 파일 전송 (FTP, SFTP): 파일 다운로드/업로드 시 신뢰성 보장 필요

 

UDP 사용 사례

  • 실시간 스트리밍 (VoIP, 비디오 스트리밍): 약간의 데이터 손실이 허용되지만 지연 시간이 중요
  • 온라인 게임: 빠른 응답 시간이 요구되며, 일부 패킷 손실은 허용 가능
  • DNS 조회: 짧은 요청-응답 시간 필요, 패킷 손실 시 재시도 가능

마치며

TCP와 UDP는 각각 다른 특성과 장점을 가진 프로토콜이다. TCP는 신뢰성과 순서 보장이 중요한 데이터 전송에 적합하며, UDP는 신속한 전송이 요구되는 실시간 애플리케이션에 적합하다. 네트워크 환경과 애플리케이션 요구사항에 따라 적절한 프로토콜을 선택하여 사용하면, 네트워크의 효율성과 성능을 최적화할 수 있다.

반응형