728x90
TCP의 특징
- 연결 지향적 프로토콜: 데이터 전송 전에 수신 측과 연결을 설정(3-way handshake)한 후 데이터를 전송합니다.
- 신뢰성: 전송 중 손실된 패킷이 있으면 재전송을 통해 복구하고, 패킷의 순서를 보장해 전송합니다.
- 흐름 및 혼잡 제어: 네트워크의 상태와 수신자의 처리 능력을 고려해 전송 속도를 조절해 줍니다.
- 오버헤드가 큼: 연결 설정, 패킷 순서 보장, 오류 제어 등을 위한 부가 작업이 많아 상대적으로 전송 속도가 느리고, 헤더 크기가 큽니다(20-60바이트).
UDP의 특징
- 비연결형 프로토콜: 데이터를 전송하기 전에 연결 설정 과정이 없어, 바로 전송이 가능합니다.
- 신뢰성이 낮음: 패킷이 손실되거나 순서가 뒤바뀔 수 있으며, 이를 복구하지 않고 그대로 전송합니다.
- 오버헤드가 적음: 추가적인 제어가 없어 TCP에 비해 전송 속도가 빠르고, 헤더 크기도 작습니다(8바이트).
- 단순한 전송: 실시간 데이터 전송에 적합하여, 딜레이가 민감한 애플리케이션에 적합합니다.
TCP와 UDP의 주요 차이점
연결 방식 | 연결 지향적 (3-way handshake 사용) | 비연결형 (연결 설정 없이 전송) |
신뢰성 | 신뢰성 보장 (오류 제어, 패킷 재전송) | 신뢰성 낮음 (오류나 손실 복구 없음) |
전송 속도 | 상대적으로 느림 | 상대적으로 빠름 |
헤더 크기 | 20-60 바이트 | 8 바이트 |
흐름 제어 | 흐름 및 혼잡 제어 지원 | 흐름 제어 없음 |
사용 예시 | HTTP, FTP, 이메일, 파일 전송 등 | VoIP, 스트리밍, 온라인 게임 등 |
활용 예시
- TCP는 신뢰성이 중요한 파일 전송(FTP), 웹 브라우징(HTTP), 이메일(SMTP) 등의 애플리케이션에서 주로 사용됩니다.
- UDP는 전송 속도가 중요하고 실시간성이 요구되는 스트리밍(동영상, 음악), VoIP(음성 통화), 온라인 게임 등에 적합합니다.
TCP는 신뢰성을 우선시하며, UDP는 속도와 실시간성을 우선시한다고 보면 됩니다.
728x90
'CS > 네트워크' 카테고리의 다른 글
[네트워크] RESTful의미와 설계규칙 (0) | 2024.10.30 |
---|---|
[네트워크] 공개키 암호 & 대칭키 암호 (0) | 2024.10.30 |
[네트워크] HTTP와 HTTPS (feat.SEO) (4) | 2024.10.30 |
[네트워크] 로드 밸런싱(Load Balancing) (0) | 2024.10.30 |
[네트워크] OSI 7 계층 (2) | 2024.10.30 |