[Today I Learned] UDP & TCP

suwoncityboyyy·2023년 3월 2일
0

network

목록 보기
3/4
post-thumbnail

TCP

정의
TCP는 신뢰성 있는 데이터 전송을 지원하는 연결 지향형 프로토콜이다.
연결 지향형인 TCP는 3-way handshaking 이라는 과정을 통해 연결 후 통신을 시작하는데, 흐름 제어와 혼잡 제어를 지원하며 데이터의 순서를 보장 한다.

흐름 제어 : 보내는 측과 받는 측의 데이터 처리속도 차이를 조절해주는 것
혼잡 제어 : 네트워크 내의 패킷 수가 넘치게 증가하지 않도록 방지하는 것

특징

  • 연결형 서비스로 가상 회선 방식을 제공
  • 데이터의 전송 순서 보장
  • 데이터의 경계를 구분하지 않음
  • 신뢰성 있는 데이터 전송
  • UDP보다 전송속도가 느림
  • 연결을 설정(3-way handshaking)과 해제(4-way handshaking)

UDP

정의

  • User Data Protocol 의 약자로 데이터를 데이터그램 단위로 처리 하는 프로토콜이다
  • 비연결형, 신뢰성 없는 전송 프로코톨이다.

특징

  • 데이터를 패킷으로 나누고 반대편에서 재조립하는 과정을 거치지 않는다.
  • 즉, 수신자가 제대로 받던지 받지 않던 상관안하고 데이터를 보내기만 함
  • 잘못된 전송 (재전송, 순서 뒤바뀜, 전송 중 에러)는 어플리케이션이 처리해야함
  • 별도의 연결이 필요하지 않기 때문에 속도가 빠름

사용 이유

  • UDP의 결정적인 장점은 데이터의 신속성 이다. 데이터의 처리가 TCP보다 빠르다.
  • 주로 실시간 방송과 온라인 게임에서 사용된다. 네트워크 환경이 안 좋을때, 끊기는 현상을 생각하면 된다.

TCP vs. UDP

TCPUDP
정의Transmission Control ProtocolUser Datagram Prptocol
구분신뢰성신속성
특징연결 지향형 프로토콜, 고품질 통신 실현비연결형 프로토콜, 저품질이지만 빠른 속도
사용웹, 메일 등 신뢰성이 필요한 애플리케이션음성전화, 동영상 등 정보가 일부 유실돼도 문제 없는 애플리케이션
profile
주니어 개발자 기술노트

0개의 댓글