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의 주요 차이점
- TCP는 Connection 지향이며, UDP는 Connectionless 프로토콜입니다.
- TCP는 전송 된 정보의 확인을 위해 유용한 데이터를 전송할 때 높은 신뢰성을 제공합니다. 그리고 손실 패킷이있는 경우이를 다시 보냅니다. UDP의 경우 패킷이 손실되면 재전송을 요구하지 않고 대상 컴퓨터가 손상된 데이터를 수신합니다. 따라서 UDP는 신뢰할 수없는 프로토콜입니다.
- TCP는 데이터를 전송하기 전에 TCP가 연결을 설정하고 패킷의 적절한 전달을 보장하므로 UDP와 비교할 때 속도가 느립니다. 반면에 UDP는 전송 된 데이터가 수신되었는지 여부를 확인하지 않습니다.
- UDP의 헤더 크기는 8 바이트이며 TCP의 헤더 크기는 두 배 이상입니다. TCP 헤더 크기는 20 바이트이므로 TCP 헤더에는 옵션, 채우기, 체크섬, 플래그, 데이터 오프셋, 확인 번호, 시퀀스 번호, 원본 및 대상 포트 등이 포함됩니다.
- TCP와 UDP는 모두 오류를 검사 할 수 있지만 TCP만이 정체와 흐름 제어를 모두 가지고 있으므로 오류를 수정할 수 있습니다.
의미 | TCP는 데이터를 전송하기 전에 컴퓨터간에 연결을 설정합니다. | UDP는 시스템이 수신 준비가되었는지 여부를 확인하지 않고 대상 컴퓨터에 직접 데이터를 보냅니다. |
확장 대상 | 전송 제어 프로토콜 | 사용자 데이터 그램 프로토콜 |
연결 타입 | 연결 지향 | 연결이 적음 |
속도 | 느린 | 빠른 |
신뢰할 수 있음 | 높은 신뢰성 | 신뢰할 수 없는 |
헤더 크기 | 20 바이트 | 8 바이트 |
승인 | 사용자의 요청이있을 경우 데이터 확인 및 전송 재전송 기능이 있습니다. | 수신 확인도 걸리지도 않고 손실 된 데이터를 다시 전송하지도 않습니다. |
'의문점 공부하기 > 📌 Java' 카테고리의 다른 글
JPA (1) | 2023.10.05 |
---|---|
📌 forward와 redirect의 차이는 무엇인가? (0) | 2023.09.12 |
📌 301과 302 상태 코드의 의미와 차이는? (0) | 2023.08.30 |
📌 throw와 throws의 차이가 있는걸까? (0) | 2023.08.24 |
📌 의존성 주입 방법은 무엇이 있을까 ++ ? (0) | 2023.08.22 |