TCP와 UDP

드립이 블로그·2023년 3월 31일
0

TCP와 UDP

데이터를 보내기 위한 프로토콜이다.

TCP

Transmission Control Protocol
인터넷 상에서 데이터를 메세지의 형태로 보내기 위해 IP와 사용되는 프로토콜이다.
연결 지향형 프로토콜이다.
3-way handshacking 과정을 통해 연결을 설정한다.
4-way handshacking 과정을 통해 연결을 해제한다.
높은 신뢰성을 보장하지만, UDP 보다 느리다.
이 때문에 연속성 보다는, 신뢰성이 있는 전송이 중요한 경우에 사용된다.
대표적인 예가 파일 전송이다.

TCP 특징

서버 소켓이 연결만을 담당한다.
흐름제어 : 보내는 측과 받는 측의 데이터 처리 속도 차이를 조절한다.
혼잡제어 : 네트워크 내의 패킷 수가 넘치지 않도록 조정한다.
연결 과정에서 반환된 클라이언트 소켓은 데이터 송수신에 사용한다.
서버, 클라이언트는 1:1로 연결한다.
스트림 전송을 하는데, 전송 데이터의 크기에 제한이 없다.
패킷에 응답해야 하기 때문에 성능이 낮다.

패킷이란?
인터넷에서 데이터를 보내기 위한 경로 배정을 효율적으로 하기위해 데이터를 조각으로 나눈다.
이 데이터의 조각을 패킷이라고 한다.

UDP

데이터를 데이터그램 단위로 처리하는 프로토콜이다.
비연결형 서비스이다.
정보를 주고 받을때, 정보를 보내거나 받는 신호 절차가 없다.
UDP 헤더의 CheckSum 필드로 최소한의 오류만을 검출하기 때문에, 신뢰성이 낮다.
TCP보다 속도가 빠르기 때문에 신뢰성 보다는 연속성이 중요한 경우에 사용된다.
스트리밍 이라는 예가 있다.

데이터그램 방식이란?
데이터 전송 간에, 논리적 경로 없이 패킷들이 각기 독립적으로 전송되는 방식이다.

UDP의 특징

연결 자체가 없기 때문에, 서버와 클라이언트 소켓의 구분이 명확하지 않다.
소켓 대신 IP 기반의 데이터를 전송한다.
서버와 클라이언트는 1:1, 1:N, N:N 으로 연결이 된다.
데이터그램 단위로 전송이 되고, 크기는 65535바이트 제한이 있다.
이 크기를 넘어가는 경우 잘라서 전송하게 된다.
흐름 제어가 없기 때문에 전송 여부와 오류 확인이 불가능하다.

0개의 댓글