Study(진행중)/항해99

99클럽 코테 스터디 27일차 TIL / TCP & UDP 차이

Ski_ 2024. 8. 18. 00:50

오늘의 학습 키워드

   - CS

공부한 내용 본인의 언어로 정리하기

TCP / UDP 차이점

 

요약

  • TCP: 신뢰성과 안정성을 중시하며, 연결 기반, 느리지만 정확한 전송.
  • UDP: 속도와 효율성을 중시하며, 비연결 기반, 빠르지만 신뢰성은 낮음.

1) 연결 방식

  • TCP: 연결 지향적 프로토콜.
    • 데이터를 전송하기 전에 송신자와 수신자가 먼저 연결을 설정한 후 데이터를 주고받습니다(3-way handshake). 연결이 확립되면 데이터 전송이 시작되므로 안정적인 데이터 전송 가능
  • UDP: 비연결형 프로토콜
    • 송신자와 수신자 사이에 연결을 설정하지 않고 데이터를 전송합니다. 데이터를 보내면 끝이기 때문에 연결 설정 및 관리 필요 X

2) 신뢰성

  • TCP
    • 신뢰성 보장
    • 데이터가 손실되거나 순서가 뒤바뀌는 경우, TCP는 자동으로 재전송하거나 올바른 순서로 데이터를 재배열
    • 송신자가 데이터를 보내면 수신자로부터 수신 확인(ACK)을 받아야 함
    • 위 과정으로 데이터가 성공적으로 전달되었는지 확인
  • UDP
    • 신뢰성 보장 X
    • 데이터가 손실되거나 순서가 뒤바뀌어도 UDP는 이를 감지하거나 수정 X
    • 데이터를 보내기만 할 뿐, 수신 여부를 확인 X

3) 속도

  • TCP
    • 연결 설정, 오류 검출 및 수정, 데이터 순서 재배열 등으로 인해 속도가 느림
    • 안정적인 데이터 전송을 보장하기 위해 오버헤드 발생
  • UDP
    • 연결 설정 과정이 없고 오류 검출이나 수정 작업을 하지 않기 때문에 TCP보다 속도가 빠름
    • 실시간 애플리케이션에 적합

4) 사용 사례

  • TCP
    • 신뢰성 있는 데이터 전송이 중요한 경우 사용
    • 파일 전송(FTP), 이메일(SMTP), 웹 브라우징(HTTP/HTTPS) 등의 애플리케이션에서 TCP를 사용
  • UDP
    • 신속한 전송이 중요한 경우 사용
    • 스트리밍 서비스, 온라인 게임, VoIP(인터넷 전화) 등 실시간 애플리케이션에서 UDP 사용
    • 약간의 데이터 손실이 있더라도 전체 성능에 큰 영향 X

5) 흐름 제어 및 혼잡 제어

  • TCP
    • 흐름 제어와 혼잡 제어 메커니즘 O
    • 송신자가 수신자의 수신 속도를 초과하지 않도록 데이터를 조절
    • 네트워크 혼잡 시 데이터를 천천히 전송하여 네트워크 과부하를 방지
  • UDP
    • 제어 메커니즘 X
    • 송신자는 네트워크 상태에 상관없이 데이터를 지속적으로 보냄

 

반응형