99클럽 코테 스터디 28일차 Network TCP vs UDP
728x90
  • NetWork
    • DNS
      • DNS Resolver
      • DNS란
    • Http Header
      • CORS
      • keep-alive header
      • Persistent Connection, Non-Persistent Connection
      • OSI 7 계층과 각 계층의 구성요소
      • TCP vs UDP

TCP

  • TCP 는 연결 지향적인 프로토콜로, 데이터를 전송하기 전에 통신할 두 기 간에 연결을 설정함. 이 연결을 통해 데이터가 전송됨.

특징

  • 신뢰성 : 데이터 ==패킷==의 손실, 중복, 오류 없이 정확한 순서대로 데이터를 전송하고 수신 확인을 통해 신뢰성을 보장함.
  • 흐름 제어 : 송신자와 수신자 간의 데이터 처리 속도 차이를 조절함.
  • 혼잡 제어 : 네트워크의 혼잡 상태를 모니터링하고, 혼잡이 발생하면 데이터 전송 속도를 조절함.
  • 연결지향 : 데이터를 전송하기 전에 연결 설정 과정을 거침. 이 과정에서 3-way handshake 라는 절차를 통해 연결이 수립됨.
    • 3-way handshake : TCP/IP 프로토콜을 이용해서 통신을 하는 응용프로그램이 데이터를 전송하기전에 먼저 정확한 전송을 보장하기 위상대방 컴퓨터와 사전에 세션을 수립하는 과정을 의미함.
      1) Client > Server : TCP SYN
      2) Server > Client : TCP SYN ACK
      3) Client > Server : TCP ACK
      여기서 SYN 는 synchronize sequence numbers 그리고 ACK 는 acknowledgment 의 약자임.

패킷 : 인터넷 내에서 데이터를 보내기 위한 경로배정(라우팅)을 효율적으로 하기 위해서 데이터를 여러 개의 조각들로 나누어 전송을 하는데 이때, 이 조각을 패킷이라고 함.

작동 방식

  1. 연결 설정 : 3-way handshake 를 통해 연결을 수립함.
  2. 데이터 전송 : 데이터를 세그먼트로 나누어 전송하고, 각 세그먼트에 대해 수신 확인을 받음.
  3. 연결 종료 : 4-way handshake 를 통해 연결을 종료함.

사용 사례

  • 웹 페이지 로딩
  • 이메일 전송
  • 파일 전송

UDP(User Datagram Protocol)

  • 비연결형 프로토콜로, 데이터 전송을 위해 연결 설정 절차를 거치지 않음. 더 간단하고 빠르지만, TCP 보다 신뢰성이 떨어짐.

특징

  • 비연결형 : 데이터 전송 전에 특별한 연결 설정이 필요 없음.
  • 속도 중심 : 연결 설정과 종료 과정이 없기 때문에 빠른 데이터 전송이 가능
  • 간결함 : 헤더 크기가 작고, 흐름 제어나 혼잡 제어 기능이 없음.
  • 신뢰성 부족 : 데이터 패킷의 도착을 보장하지 않으며, 순서대로 도착하거나 중복되지 않음을 보장하지 않음.

작동 방식

  1. 데이터 전송 : 데이터그램을 사용하여 데이터를 전송함. 수신확인 없이 데터를 보내고, 수신자는 도착한 데이터그램을 처리함.

사례

  • 스트리밍 서비스(예: 비디오 또는 오디오 스트리밍)
  • 온라인 게임
  • 실시간 통신 애플리케이션

선택

TCP 는 데이터의 정확성과 순서가 중요한 곳에 사용되며, UDP는 속도와 효율성이 더 중요한 경우에 적합함.

728x90