본문 바로가기
네트워크

[네트워크] TCP와 UDP의 특징

by 송파감자 2024. 8. 2.

1. TCP

  • Transmission Control Protocol
  • 요약 : 
    • TCP는 신뢰성 보장
    • 연결 설정한 다음 데이터 주고 받음
    • 그래서 오버헤드가 크고 속도 느릴 수 있지만 데이터의 정확성과 순서가 중요할 때 씀
  • 특징 :
    • 연결 지향적: 통신을 시작하기 전에 연결을 설정합니다.
    • 신뢰성: 데이터의 전달 보장, 손실된 패킷 재전송, 순서 보장.
    • 흐름 제어: 데이터 흐름을 조절하여 수신 측이 데이터 오버플로우를 방지
    • 혼잡 제어: 네트워크 혼잡을 감지하고 조절
    • 헤더 크기: UDP보다 크고 복잡한 헤더 구조 (20-60 바이트)
  • 사용 예)
    • 웹 브라우징 (HTTP, HTTPS)
    • 이메일 (SMTP, IMAP, POP3)
    • 파일 전송 (FTP)
    • 원격 터미널 접속 (SSH, Telnet)

2. UDP

  • User Datagram Protocol
  • 요약 :
    • UDP는 신뢰성보장 X 순서X.
    • 연결 설정이 없어서 더 빠르게 데이터 전송
    • 오버헤드 적고 속도 빠르나 데이터 손실 허용 가능한 데 사용
  • 특징: 
    • 비연결 지향적: 연결 설정 없이 데이터그램을 독립적으로 전송
    • 비신뢰성: 데이터 전달 보장이 없으며, 패킷 손실, 중복, 순서 변경 OK
    • 헤더 크기: TCP보다 작고 간단한 헤더 구조 (8 바이트)
    • 빠른 전송 속도: 추가적인 오류 검사 및 흐름 제어가 없어 전송 속도가 빠름
    • 브로드캐스트 및 멀티캐스트 지원: 네트워크의 모든 호스트로 데이터 전송 가능
  • 사용 예:
    • 실시간 스트리밍 (동영상, 오디오)
    • 온라인 게임
    • VoIP (Voice over IP)
    • 간단한 요청-응답 프로토콜 (DNS, DHCP)

3. 참고 개념:

  • 패킷:
    • 네트워크 통해 데이터 전송 시 사용하는 기본 단위
    • 예시
      • 편지를 여러 봉투에 각각 보내는 것
      • 각 봉투에 주소와 순서가 있어서 도착하면 원래 편지로 재조립해서 읽을 수 있음의 개념
      • 즉, 데이터전송의 효율성을 높임