TCP와 UDP 는 OSI 4계층(전송 계층) 에서 데이터를 전달하는 두 가지 주요 프로토콜이다.
TCP Transmission Control Protocol
TCP는 신뢰성 있는 데이터 전송을 보장하는 프로토콜이다.
데이터를 보내는 쪽과 받는 쪽 서로 연결을 하고, 데이터가 정확히 도착했는지 확인하며,
오류가 발생될 경우 재전송을 통해 이러한 문제를 해결한다.
TCP 의 주요 특징은 3-Way Handshake의 통신 방식이다.
3-Way Handshake 는 3번의 교류과정을 거친다고 생각하면 된다.
1. 송신자가 수신자에게 연결되어 있는지 확인요청
2. 수신자는 1의 요청을 확인하고 연결되어 있음을 송신자에게 다시알림
3. 송신자는 수신자의 응답을 확인하고 데이터를 전달한다.
TCP 장점
데이터 전달 과정이 체계적이며, 이후 오류 처리도 전부 대응하므로 안정성 있는 전달이 가능
TCP 단점
연결 설정, 흐름 제어, 오류 처리과정이 필요해 속도가 상대적으로 느리다.
UDP User Datagram Protocol
UDP 는 TCP 와는 달리 비연결형 프로토콜로 빠른 데이터 전송을 목적으로 하는 프로토콜이다.
신뢰성을 보장하지 않고 데이터 수신여부, 손실된 데이터 재전송도 하지 않는다.
UDP 주요 특징
연결 설정 없이 데이터를 전송하므로 네트워크 자원절약이 가능하다.
연결 설정 과정이 없으므로 빠른 데이터 전송이 가능하다.
UDP 단점
데이터 손실이 발생될 수 있고, 순서가 뒤바뀌거나 데이터 손상될 위험이 있음
UDP 사용예시
실시간성이 중요한 스트리밍, 빠른 응답속도가 필요한 온라인 게임 등.
TCP | UDP |
연결 지향 프로토콜 | 비연결형 프로토콜 |
데이터 전송 보장(재전송, 순서 보장) | 데이터 전송 보장 없음 |
신뢰성 높음 | 신뢰성 낮음 |
느린 전송속도 | 빠른 전송속도 |
웹 브라우징, 이메일 신뢰성이 중요한 작업 | 스트리밍 게임 속도가 중요한 작업 |
'프로그래밍 용어' 카테고리의 다른 글
멀티스레딩 Multi-Threading (1) | 2025.02.10 |
---|---|
마이그레이션이란? Migration (0) | 2024.11.15 |
네트워크와 OSI 7 계층 (2) | 2024.11.07 |
객체지향(OOP) 4대 특징 (0) | 2024.07.21 |
객체지향(OOP) - 객체란? (0) | 2024.07.21 |