| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 |
- 클라우드
- hacking
- EBS
- VUL
- Vulnerability
- Network
- Fully Managed
- SAA
- CloudFormation
- cloud
- QuIC
- Lambda
- JavaScript
- 로드밸런서
- 웹 개발
- web
- iam
- CloudGoat
- serverless
- 온프레미스
- aws
- owasp
- S3
- 스토리지
- 인터랙티브 자바스크립트
- Object Lock
- EC2
- API Gateway
- SAA-C03
- Rhino Security Labs
- Today
- Total
yubyeong
[네트워크 기초] 데이터 전송 계층 프로토콜 본문
네트워크에서 데이터를 주고받을 때 중요한 개념 중 하나가 전송 방식이다.
대표적으로 TCP와 UDP가 있고, 최근에는 HTTP/3에서 사용하는 QUIC도 중요해지고 있다.
웹 접속, 영상 스트리밍, 게임, DNS, VPN, API 통신 등 대부분의 네트워크 서비스는 결국 TCP 또는 UDP 기반으로 동작한다. 그리고 QUIC는 UDP 위에서 동작하면서 TCP의 신뢰성과 TLS의 보안성을 함께 제공하는 새로운 방식으로 볼 수 있다.
1. TCP
TCP는 Transmission Control Protocol의 약자이다.
TCP는 연결 지향형 프로토콜로 데이터를 보내기 전에 먼저 상대방과 연결을 맺고 통신하는 방식이다.
예를 들어 친구에게 택배를 보낼 때, 주소를 확인하고, 도착했는지 확인하고, 빠진 물건이 있으면 다시 보내는 방식과 비슷하다.
TCP는 다음 특징을 가진다.
1. 연결을 먼저 맺는다.
2. 데이터가 제대로 도착했는지 확인한다.
3. 순서가 틀어지면 다시 맞춘다.
4. 중간에 데이터가 사라지면 다시 보낸다.
5. 안정적이지만 UDP보다 느릴 수 있다.
예를 들어 사용자가 웹사이트에 접속할 때 TCP는 먼저 서버와 연결을 맺는다.
Client → Server: SYN
Server → Client: SYN + ACK
Client → Server: ACK
이 과정을 TCP 3-Way Handshake라고 한다.
TCP는 신뢰성과 정확성이 중요한 서비스에서 많이 사용된다.
웹 접속 HTTPS
SSH 서버 접속
파일 전송
이메일
데이터베이스 연결
예를 들어 우리가 웹사이트에 로그인하거나 서버에 SSH로 접속할 때는 데이터가 빠지면 안 된다.
아이디, 비밀번호, 명령어, 파일 내용이 정확하게 전달되어야 하므로 TCP가 적합하다.
다만 TCP는 연결 수립 과정이 필요하고, 패킷 손실이 발생하면 재전송과 대기 시간이 생기기 때문에 실시간성이 중요한 서비스에서는 부담이 될 수 있다.
2. UDP
UDP는 User Datagram Protocol의 약자이다.
UDP는 비연결형 프로토콜로 TCP처럼 미리 연결을 맺지 않고 데이터를 바로 보내는 방식이다.
택배보다는 무전기처럼 생각하면 쉽다.
말을 바로 보내기 때문에 빠르지만, 중간에 일부가 끊겨도 UDP 자체가 다시 확인해주지는 않는다.
UDP는 다음 특징을 가진다.
1. 연결을 맺지 않는다.
2. 데이터 도착을 보장하지 않는다.
3. 순서를 보장하지 않는다.
4. 대신 빠르고 가볍다.
5. 실시간 통신에 적합하다.
UDP는 빠른 속도가 중요한 서비스에서 많이 사용된다.
DNS
온라인 게임
음성 통화
영상 스트리밍
실시간 화상회의
UDP는 빠르지만 신뢰성을 직접 보장하지 않는다.
즉, 패킷이 중간에 사라지거나 순서가 바뀌어도 UDP 자체는 이를 복구하지 않는다.
예를 들어 실시간 게임이나 음성 통화에서는 약간의 패킷 손실보다 지연 시간이 더 중요하다.
한두 개의 음성 패킷이 사라져도 대화는 이어질 수 있지만, 모든 패킷을 재전송하느라 지연이 커지면 실시간성이 무너진다.
3. QUIC
QUIC는 조금 새롭게 이해해야 한다.
QUIC는 UDP 위에서 동작하는 새로운 전송 방식이다.
UDP는 원래 빠르지만 안정성은 부족하다.
QUIC는 UDP의 빠른 장점을 가져가면서, TCP처럼 안정적인 통신 기능과 TLS 암호화 기능을 함께 넣은 방식이다. (TLS는 다음 포스트에 다루겠다.)
쉽게 말하면 다음과 같다.
QUIC = UDP의 빠른 속도 + TCP의 안정성 + TLS 암호화
QUIC는 주로 HTTP/3에서 사용된다.
기존 HTTPS는 보통 TCP 443을 사용한다.
HTTPS 기존 방식 = TCP 443
HTTP/3는 QUIC를 사용하기 때문에 UDP 443을 사용한다.
HTTP/3 = QUIC = UDP 443
QUIC의 특징은 다음과 같다.
UDP 기반으로 동작한다.
연결 속도가 빠르다.
TLS 암호화가 기본으로 포함된다.
모바일 환경에서 연결이 끊기기 덜하다.
HTTP/3에서 사용된다.
예를 들어 스마트폰에서 Wi-Fi를 쓰다가 LTE로 바뀌면 IP가 달라질 수 있다.
기존 TCP 연결은 이런 상황에서 끊기기 쉬운데, QUIC는 이런 변화에 비교적 강하다.
정리
TCP는 정확하고 안정적인 통신에 사용된다.
UDP는 빠르고 실시간성이 중요한 통신에 사용된다.
QUIC는 UDP 위에서 동작하면서 빠른 연결과 암호화를 제공하는 HTTP/3 기반 프로토콜이다.
정확성이 중요하면 TCP, 속도가 중요하면 UDP, 최신 웹 통신에서 빠르고 안전한 연결이 필요하면 QUIC.
'네트워크' 카테고리의 다른 글
| [네트워크 기초] 네트워크 분리와 기업망 구조 (0) | 2026.05.03 |
|---|---|
| [네트워크 기초] 네트워크 장비와 구성 요소 (0) | 2026.05.01 |
| [네트워크 기초] 네트워크 경로와 트래픽 제어 (0) | 2026.05.01 |
| [네트워크 기초] 웹 통신의 기본 요소 (0) | 2026.04.29 |
| [네트워크 기초] 네트워크 주소 체계 (0) | 2026.04.29 |