의문점 공부하기/📌 Java

📌 tcp와 udp의 차이점

아리빠 2023. 9. 11. 17:02

TCP의 정의

TCP 또는 전송 제어 프로토콜은 TCP / IP 모델의 전송 계층에서 발견되는 연결 지향 프로토콜입니다. 통신을 시작하기 전에 원본 컴퓨터와 대상 컴퓨터 사이에 연결을 설정합니다.

3 방향 핸드 셰이크, 플로우, 오류 및 혼잡 제어를 사용하므로 신뢰성이 높습니다. 원본 컴퓨터에서 보낸 데이터가 대상 컴퓨터에서 정확하게 수신되는지 확인합니다. 수신 된 데이터가 올바른 형식이 아닌 경우 TCP는 데이터를 재전송합니다.
다음 프로토콜은 데이터 전송에 TCP를 사용합니다.

  • HTTP (하이퍼 텍스트 전송 프로토콜),
  • HTTPs (Hypertext Transfer Protocol Secure),
  • FTP (파일 전송 프로토콜),
  • SMTP (Simple Mail Transfer Protocol) 등

UDP의 정의

UDP 또는 사용자 데이터 그램 프로토콜은 TCP / IP 모델의 전송 계층에서 발견되는 비 연결형 프로토콜입니다. 연결을 설정하거나 대상 컴퓨터가 수신 준비가되었는지 여부를 확인하지 않으며 데이터를 직접 전송합니다. UDP는 더 빠른 속도로 데이터를 전송하는 데 사용됩니다. 신뢰성이 떨어지며 오디오 및 비디오 파일과 같은 데이터를 전송하는 데 사용됩니다.


TCP와 UDP의 주요 차이점

  1. TCP는 Connection 지향이며, UDP는 Connectionless 프로토콜입니다.
  2. TCP는 전송 된 정보의 확인을 위해 유용한 데이터를 전송할 때 높은 신뢰성을 제공합니다. 그리고 손실 패킷이있는 경우이를 다시 보냅니다. UDP의 경우 패킷이 손실되면 재전송을 요구하지 않고 대상 컴퓨터가 손상된 데이터를 수신합니다. 따라서 UDP는 신뢰할 수없는 프로토콜입니다.
  3. TCP는 데이터를 전송하기 전에 TCP가 연결을 설정하고 패킷의 적절한 전달을 보장하므로 UDP와 비교할 때 속도가 느립니다. 반면에 UDP는 전송 된 데이터가 수신되었는지 여부를 확인하지 않습니다.
  4. UDP의 헤더 크기는 8 바이트이며 TCP의 헤더 크기는 두 배 이상입니다. TCP 헤더 크기는 20 바이트이므로 TCP 헤더에는 옵션, 채우기, 체크섬, 플래그, 데이터 오프셋, 확인 번호, 시퀀스 번호, 원본 및 대상 포트 등이 포함됩니다.
  5. TCP와 UDP는 모두 오류를 검사 할 수 있지만 TCP만이 정체와 흐름 제어를 모두 가지고 있으므로 오류를 수정할 수 있습니다.
의미 TCP는 데이터를 전송하기 전에 컴퓨터간에 연결을 설정합니다. UDP는 시스템이 수신 준비가되었는지 여부를 확인하지 않고 대상 컴퓨터에 직접 데이터를 보냅니다.
확장 대상 전송 제어 프로토콜 사용자 데이터 그램 프로토콜
연결 타입 연결 지향 연결이 적음
속도 느린 빠른
신뢰할 수 있음 높은 신뢰성 신뢰할 수 없는
헤더 크기 20 바이트 8 바이트
승인 사용자의 요청이있을 경우 데이터 확인 및 전송 재전송 기능이 있습니다. 수신 확인도 걸리지도 않고 손실 된 데이터를 다시 전송하지도 않습니다.