CS Study : TCP/UDP에 대해서 설명해주세요.

song yuheon·2023년 10월 26일
0

CS Study

목록 보기
33/50
post-custom-banner

TCP


  • 연결 지향적
    TCP는 통신을 시작하기 전에 먼저 연결을 설정한다.
    이 과정을 '3-way handshake'라고 하며, 안정적인 연결을 보장한다.

  • 신뢰성
    TCP는 데이터가 정확하게 전송되었는지 확인한다.
    데이터가 손상되거나 유실된 경우 재전송을 요청한다.

  • 순서 보장
    TCP는 데이터 패킷이 올바른 순서로 도착하도록 보장한다.
    순서가 뒤바뀐 패킷은 다시 정렬된다.

  • 흐름 제어 및 혼잡 제어
    TCP는 네트워크 혼잡과 데이터 흐름을 관리하여 보내는 쪽과 받는 쪽 모두에서 데이터가 원활하게 전송되도록 한다.

  • 더 느린 속도
    위의 기능들로 인해 TCP는 UDP보다 상대적으로 느릴 수 있다.

  • 사용 사례
    웹 브라우징, 이메일, 파일 전송 등등 이 있다.


UDP


  • 비연결 지향적
    UDP는 연결을 설정하지 않고 데이터를 바로 보낸다.
    이는 통신을 빠르게 만들지만, 안정성이 떨어진다.

  • 신뢰성 없음
    데이터가 손상되거나 유실되어도 UDP는 이를 확인하지 않고 재전송 요청도 하지 않는다.

  • 순서 보장 없음
    데이터 패킷이 도착하는 순서는 불확실하며 UDP는 이를 정렬하지 않는다.

  • 오버헤드가 적음
    연결 설정 및 데이터 확인 과정이 없기 때문에 TCP보다 오버헤드가 적다.

  • 더 빠른 속도
    오버헤드가 적고 데이터 확인 과정이 없기 때문에 UDP는 TCP보다 빠를 수 있다.

  • 사용 사례
    스트리밍, 온라인 게임, VoIP 등등


안정적이고 순서가 중요한 데이터 전송이 필요하다면 TCP
속도가 중요하고 일부 데이터 손실이 허용된다면 UDP를 사용하는게 바람직하다


profile
backend_Devloper
post-custom-banner

0개의 댓글