TCP와 UDP란 무엇인가
나의 프로그램과 다른 컴퓨터에 있는 프로그램이 통신하기 위해 필요한 것이다
4 계층 프로토콜이다
인터넷상에서 데이터를 메시지 형태로 보내시 위해 IP와 함께 사용하는 프로토콜
일반적으로 TCP와 IP를 함께 사용하는데, IP가 데이터를 배달하는 업무를 한다면 TCP는 패킷을 추적 및 관리하는 업무를 맡는다.
TCP는 연결형 서비스를 지원하는 프로토콜로 인터넷 환경에서 기본으로 사용한다
UDP가 비연결형 서비스를 지원하는 프로토콜 인터넷 환경에서 기본으로 사용한다
TCP 특징
- 연결형 서비스로 가상 회선 방식을 제공
- 3-way handshaking 과정을 통해 연결을 설정하소 4-way handshaking을 통해 해제한다
- 흐름 제어 혼잡 제어
- 높은 신뢰성을 보장한다
- UDP보다 속도가 느리다
- 전이중 점대점 방식
가상 회선 방식을 제공한다는 말은 수신지를 연결하여 패킷은 전송하기 위한 논리적 경로를 배정한다는 말이다.
그리고 3-way handshaking 과정은 목적지와 수신지를 확실히 하여 정확한 전송을 보장하기 위해서 세션을 수립하는 과정을 의미한다.
이렇게 까지 하며 느려지는 걸 원하는 이유는 TCP는 연결 지향형 서비스로 신뢰성을 보장하기 때문.
데이터의 흐름 제어나 혼잡 제어와 같은 기능도 한다, 하지만 이러한 기능 때문에 UDP보다 속도가 느리다.
TCP는 연속성보다 신뢰성 있는 정송이 중요할 때에 사용하는 프로토콜로 파일 전송 같은 때에 사용한다
UDP의 특징
데이터를 데이터그램 단위로 처리하는 프로토콜
UDP는 비연결형 프로토콜이다. 즉 연결을 위해 할당되는 논리적인 경로가 없다 그래서 패킷이 전송될 때 패킷은 각각 다른 경로로 전송되고, 각각의 패킷은 독립적인 관계를 지니게 된다.
- 비연결형 서비스, 데이터그램 방식을 제공
- 정보를 주고받은 때 정보를 보내거나 받는다는 신호 절차를 거치지 않는다.
- UDP헤더의 ChekSum 필드를 통해 최소한의 오류만 검출한다.
- 신뢰성이 낮다
- TCP보다 속도가 빠르다
신뢰성보다는 연속성이 중요한 서비스 예를 들면 실시간 스트리밍 서비스에서 주로 사용
TCP와 UDP의 차이
참고한 블로그
https://mangkyu.tistory.com/15