TCP vs UDP (1) - 개념

itonse·2023년 12월 19일
0

CS 스터디

목록 보기
49/56

TCP

  • 신뢰성 있는 데이터 전송을 지원하는 연결 지향형 프로토콜 입니다.
  • 일반적으로 IP와 함께 사용됩니다. ( IP는 데이터 전송 처리를 한다면, TCP는 패킷 추적 및 관리를 합니다)
  • 3-way handshaking 과정을 통해 연결 후 통신을 시작하는데, 흐름 제어와 혼잡 제어를 하여 데이터의 순서를 보장합니다.

UDP

  • 비연결형 프로토콜이며, 신호 없이 보내는 쪽에서 일방적으로 데이터를 전달합니다.
  • 연결 설정이 없으며, 혼잡 제어를 하지 않기 때문에 전송 속도가 빠릅니다.
  • 데이터 전송에 대한 보장을 하지 않기 때문에 패킷 손실이 발생할 수 있습니다.

TCP/UDP 공통점

  • 데이터 전송 프로토콜
    TCP와 UDP 모두 인터넷 프로토콜(IP)과 함께 작동하여 데이터를 전송합니다.
  • 엔드-투-엔드 통신
    두 프로토콜 모두 소스에서 목적지로 데이터를 직접 전송합니다.

TCP/UDP 차이점

TCPUDP
연결 방식연결형 서비스, 통신 경로 설정 필요비연결형 서비스, 별도의 연결 설정 없음
패킷 교환 방식가상 회선 방식, 순서와 무결성 보장데이터그램 방식, 순서 보장 없음
전송 순서순서 보장 및 재조립순서 변경 가능
수신 여부 확인수신 여부 확인 및 재전송 요청수신 여부 확인하지 않음
통신 방식1:1 통신1:1, 1:N, N:N 통신 (다중 통신에 적합)
신뢰성높은 신뢰성낮은 신뢰성
속도연결 설정 및 오류 검사로 인해 느림연결 설정과 오류 검사 최소화로 인해 빠름



정리

TCP을 사용면 좋은 경우

  • 신뢰성 있는 데이터 전송이 필요한 경우
    • 데이터의 정확한 도착이 중요할 때 TCP가 적합합니다. 예를 들어, 웹 페이지 로딩, 파일 전송, 이메일 전송과 같은 상황에서 TCP를 사용합니다.
  • 데이터 무결성 및 순서 보장 필요한 경우
    • 데이터가 전송된 순서대로 정확하게 도착해야 하는 경우에 적합합니다.
  • 혼잡 제어 및 흐름 제어가 중요한 네트워크 환경
    • 네트워크의 혼잡 상태를 고려하여 데이터 전송 속도를 조절해야 하는 경우 TCP를 사용합니다.

UDP를 사용하면 좋은 경우

  • 실시간 데이터 전송이 필요한 경우
    • 실시간 스트리밍, 온라인 게임, VoIP(음성 통신)와 같이 지연 시간이 중요한 상황에서 UDP가 적합합니다.
  • 네트워크 부하가 적은 빠른 데이터 전송이 중요한 경우
    • TCP의 핸드쉐이킹 과정과 같은 추가적인 메커니즘 없이 데이터를 빠르게 전송해야 할 때 UDP를 사용합니다.
  • 멀티캐스팅 및 브로드캐스팅이 필요한 경우
    • 여러 수신자에게 동시에 데이터를 전송해야 할 때 UDP가 유리합니다.
  • 경량 프로토콜이 필요한 경우
    • DNS 조회와 같이 간단하고 신속한 응답이 필요한 정보 요청에는 UDP가 적합합니다.


요약: TCP는 데이터의 정확성과 순서가 중요한 상황에서 사용되며, UDP는 빠른 전송 속도와 실시간 처리가 중요한 상황에서 사용됩니다.



Ref.

https://coding-factory.tistory.com/614

https://cocoon1787.tistory.com/757

0개의 댓글