TCP와 UDP

혜삐·2023년 7월 13일
0

톺아보기

목록 보기
12/21

TCP와 UDP,, 자주 나오는 개념이라 오늘 제대로 정리해보고자 한다😤

전송 계층

TCP와 UDP는 전송 계층의 프로토콜이다.

전송 계층이란?

  • OSI 7계층(국제 표준화 기구 ISO에서 개발한 컴퓨터 네트워크 프로토콜 디자인과 통신을 계층으로 나누어 설명한 개방형 시스템 상호 연결 모델) 에서 계층 4를 담당하고 있습니다.
  • 상위 계층들이 데이터 전달의 유효성이나 효율성을 생각하지 않도록 해주면서 종단 간의 사용자들에게 신뢰성 있는 데이터를 전달하는 계층입니다.
  • 순차 번호 기반의 오류 제어 방식을 사용하고, 종단 간 통신을 다루는 최하위 계층으로 종단 간 신뢰성 있고 효율적인 데이터를 전송합니다.
  • 프로토콜로 구성되어 오류 제어, 흐름 제어, 혼잡 제어등을 담당하며 두 시스템간에 신뢰성 있는 데이터를 전송합니다.

한 마디로 전송 계층은 End point간에 신뢰성있는 데이터 전송을 담당하는 계층입니다.

여기서 신뢰성이란 데이터를 순차적이고 안정적이게 전달하는 것을 의미하고, 전송은 포트 번호에 해당하는 프로세스에 데이터를 전달하는 것을 의미합니다.

전송 계층 프로토콜인 TCP와 UDP

TCP는 Transmission Control Protocol의 줄임말로 근거리 통신망이나 인트라넷, 인터넷에 연결된 컴퓨터에서 실행되는 프로그램 간에 일련의 옥텟을 안정적으로, 순서대로, 에러없이 교환할 수 있게 해주는 프로토콜입니다. 그에 반해 UDP는 User Datagram Protocol의 줄임말로 비연결성이고 신뢰성이 없으며, 순서화되지 않은 데이터 그램 서비스를 제공하는 전송 계층의 통신 프로토콜입니다.

TCP

  • 신뢰성있는 데이터 통신을 가능하게 해주는 프로토콜
  • Connection 연결 (3 way-handshake) - 양방향 통신
  • 데이터의 순차 전송을 보장
  • Flow Control (흐름 제어)
  • Congestion Control (혼잡 제어)
  • Error Detection (오류 감지)

이렇게 좋은 TCP 에도 문제점이 있습니다.
전송의 신뢰성은 보장하지만 매번 Connection을 연결해서 시간 손실이 발생하고, 패킷을 조금만 손실해도 재전송하게 됩니다.

그래서 UDP 라는 것이 나오게 되었는데요

UDP

  • TCP보다 신뢰성이 떨어지지만 전송 속도가 일반적으로 빠른 프로토콜
  • Connectionless (3 way-handshake X)
  • Error Detection
  • 비교적 데이터의 신뢰성이 중요하지 않을 때 사용 (ex. 영상 스트리밍)

참고 자료

TCP와 UDP
10분 테코톡 - 👨‍🏫르윈의 TCP UDP

profile
혜삐월드

0개의 댓글