TCP/UDP 비교
1. 연결지향성 vs 비연결성
TCP
- 연결 지향적인 프로토콜
- 데이터 전송전에 먼저 연결을 하고 데이터 전송이 완료 됐을 경우 연결을 해제
- 연결지향성을 통해 데이터의 신뢰성 보장
UDP
- 비연결성 프로토콜
- 데이터 전송을 위한 연결 과정 없음
- 데이터 전송이 더 간단하고 빠름(연결 과정 없기 때문)
2. 데이터 전송 순서
TCP
- 데이터 전송 순서를 보장
- 보낸 순서대로 데이터를 받을 수 있음
UDP
- 데이터 전송 순서 보장 없음
- 보낸 순서와 받는 순서가 다를 수 있음
3. 신뢰성
TCP
- 신뢰성이 높음
- 데이터 전송 중 손실 또는 에러가 발생하면 재전송 수행
- 안정적 전송을 위한 메커니즘을 제공
ex) 체크섬, 슬라이딩 윈도우, low Start, Congestion Avoidance, Fast Retransmit, Fast Recovery 등
UDP
- 신뢰성이 낮음
- 데이터를 주고 받을 때 에러 검사와 재전송 매커니즘 없음
- 데이터의 손실이나 중복 전송 가능성 있음
4. 흐름 제어와 혼잡 제어
TCP
- 데이터의 흐름을 조절하여 수신자가 처리할 수 있는 속도로 전송
- 혼잡 제어 알고리즘을 통한 네트워크 혼잡방지
- 혼잡 제어 알고리즘: low Start, Congestion Avoidance, Fast Retransmit, Fast Recovery 등
UDP
- 흐름제어, 혼잡제어 제공 하지 않음
- 네트워크의 혼잡이 일어 날 수 있음
5. 헤더 크기
TCP
- 헤더 크기가 큼
- 오버헤드가 크게 발생 할 수 있음
UDP
- TCP에 비해 작음
- 비교적 오버헤드가 적음
6. 사용되는 응용 프로토콜
TCP
- 웹브라우징, 이메일, 파일 전송
- 신뢰성이 중요한 응용 프로토콜에 사용됨
UDP
- 실시간 스트리민, 음성 통화, 온라인 게임
- 신속한 데이터 전송이 필요한 응용 프로토콜에 사용됨
위 내용을 바탕으로 장단점을 정리 해보면 아래와 같은 표로 표현 할 수 있다
TCP | UDP | |
장점 | - 신뢰성 있는 데이터 전송 - 데이터 순서 보장 - 흐름제어, 혼잡제어 - 연결지향성(신뢰성 높음) |
- 빠른 데이터 전송 - 오버헤드 가능성 적음 - 비연결성(빠른 전송 가능) |
단점 | - 속도 느림 - 데이터 전송 오버헤드 |
- 신뢰성 낮음 - 데이터 순서 보장 없음 - 흐름제어와 혼잡제어를 못함 |
결론적으로, TCP는 신뢰성과 데이터의 무결성이 중요한 상황에 사용되고, UDP는 빠른 데이터 전송이 중요하고 데이터 손실이나 순서가 중요하지 않는 상황에서 사용된다.
'네트워크' 카테고리의 다른 글
프록시 서버 (vpn과의 차이) (0) | 2023.10.17 |
---|---|
리눅스 자주 사용하는 명령어 모음 (1) | 2023.10.17 |
네트워크 세션과 웹 세션의 차이 (1) | 2023.10.17 |
핑 테스트 중 핑이 안받아지는 문제 (3) | 2023.10.13 |
DHCP 프로토콜 (목적, 작동원리, 장점, 단점, 문제해결) (0) | 2023.09.15 |
댓글