본문 바로가기
네트워크

TCP와 UDP 차이

by Enhydra lutris 2023. 10. 17.

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는 빠른 데이터 전송이 중요하고 데이터 손실이나 순서가 중요하지 않는 상황에서 사용된다.

댓글