# TCP/IP와 UDP/IP: 차이점을 알아보자
## 구분
- **TCP** (Transmission Control Protocol)
- **UDP** (User Datagram Protocol)
- **IP** (Internet Protocol)
## OSI 참조 모델
- **TCP**: 4계층
- **UDP**: 4계층
- **IP**: 3계층
## 연결 형태
- **TCP**: 연결 지향 (연결을 설정하고 유지)
- **UDP**: 비연결 지향 (상대방과 연결을 설정하지 않음)
## 기능
- **TCP**: 어플리케이션에 통로를 제공, 신뢰성 보장
- **UDP**: 어플리케이션에 통로를 제공, 신뢰성 보장하지 않음, 패킷 전달만 수행
## 데이터 전송 시
- **TCP**: 세션 설정 후 데이터 전송, 연결 확립
- **UDP**: 연결 설정 없이 데이터 전송
## 전송 단위
- **TCP**: 스트림 데이터 전송
- **UDP**: 패킷 단위 전송, 패킷 재조립 서비스 제공하지 않음
## 신뢰성
- **TCP**: 데이터 신뢰성 보장
- **UDP**: 데이터 신뢰성 보장하지 않음, 패킷 손실 가능성 존재
## 데이터 그램
- **TCP**: 패킷을 여러 개의 작은 조각으로 나누고 재조립
- **UDP**: 패킷을 그대로 전송, 패킷 순서 보장하지 않음
## 흐름 제어
- **TCP**: 데이터를 주고받기 전에 연결을 설정하고 흐름 제어를 유지
- **UDP**: 흐름 제어 없음, 일방적인 데이터 전송
## 오류 체크 및 접속 체크
- **TCP**: 오류 체크, 연결 상태 확인
- **UDP**: 오류 체크와 접속 체크가 없으나, 추가 코드로 구현 가능
## 속도 vs. 안정성
- **TCP**: 안정성이 좋지만 속도가 느림 (신뢰성)
- **UDP**: 안정성은 좀 떨어지지만 속도가 빠름 (비 신뢰)
TCP는 연결을 설정하고 데이터를 전송하기 위해 상대방의 허락을 구하며, 데이터를 여러 패킷으로 나누고 재조립하여 안정성을 보장합니다. UDP는 연결 설정 없이 빠르게 데이터를 전송하지만, 신뢰성이 떨어지며 패킷 순서를 보장하지 않습니다.
또한, UDP로도 오류 체크와 접속 체크를 추가하여 TCP와 유사한 기능을 구현할 수 있습니다.
이러한 차이점을 이해하고 상황에 맞게 TCP 또는 UDP를 선택하여 통신 프로토콜을 사용할 수 있습니다.
'ECT > study' 카테고리의 다른 글
구글 원격 데스크탑 (0) | 2024.03.17 |
---|---|
Sentonal - 파란색 USB(로그인 X) (2) | 2024.03.17 |
면접준비 (0) | 2023.08.23 |
웹서버 만들기-스프링 사용하기 (0) | 2023.08.18 |
html 한글 깨짐 고치기 (0) | 2023.08.17 |