728x90
반응형
📕오늘의 공부 주제
네트워크 프로토콜 — IP, TCP, UDP
🤔Why?
게임, 웹 서비스, IoT 등 네트워크를 사용하는 모든 소프트웨어는 **데이터를 어떻게 주고받을지**에 대한 규칙이 필요합니다. 이 규칙이 바로 네트워크 프로토콜이며, 특히 **IP, TCP, UDP**는 인터넷 통신의 근간이 되는 핵심 프로토콜입니다. 이를 이해하면 안정적이고 효율적인 네트워크 구조를 설계할 수 있습니다.
📖오늘의 공부 내용
1. IP (Internet Protocol)
- 역할: 데이터를 패킷(Packet) 단위로 나누어 출발지 → 목적지까지 전달.
- 특징
- 비연결성(Connectionless): 연결 설정 없이 데이터 전송.
- 비신뢰성(Unreliable): 손실, 순서 변경 가능.
- 주소 지정: IPv4, IPv6로 각 장치에 고유 주소 부여.
- 한계
- 데이터의 순서 보장 X
- 손실 시 재전송 없음
- 신뢰성 확보를 위한 별도의 상위 계층 필요 → TCP가 이를 보완.
2. TCP (Transmission Control Protocol)
- 역할: IP 위에서 동작하며, 신뢰성 있는 데이터 전송 보장.
- 특징
- 연결형(Connection-oriented): 3-way handshake로 연결 수립.
- 데이터 순서 보장.
- 손실 시 재전송.
- 흐름 제어와 혼잡 제어 지원.
- 장점: 안정적인 데이터 통신, 순서 보장.
- 단점: 속도가 느릴 수 있음(오버헤드 발생).
- 활용 예: 웹(HTTP/HTTPS), 이메일(SMTP), 파일 전송(FTP).
3. UDP (User Datagram Protocol)
- 역할: IP 위에서 동작하며, 간단하고 빠른 데이터 전송 제공.
- 특징
- 비연결형(Connectionless).
- 순서 보장 X, 재전송 없음.
- 오버헤드가 적어 전송 속도 빠름.
- 장점: 실시간 전송에 적합.
- 단점: 신뢰성 낮음.
- 활용 예: 실시간 게임, 스트리밍, 화상 통화.
4. TCP vs UDP 비교
| 구분 | TCP | UDP |
|---|---|---|
| 연결 방식 | 연결형 | 비연결형 |
| 신뢰성 | 높음 | 낮음 |
| 전송 속도 | 느림 | 빠름 |
| 순서 보장 | O | X |
| 활용 | 웹, 파일 전송 | 게임, 스트리밍 |
5. 간단한 네트워크 흐름 예시
- IP: "이 데이터를 A 컴퓨터에서 B 컴퓨터로 보내!"
- TCP: "데이터 잘 받았는지 확인하고, 순서도 맞게 정리해!"
- UDP: "그냥 빨리 보내! 혹시 몇 개 빠져도 신경 안 써!"
6. 결론
- IP: 주소와 경로 지정(배달 주소)
- TCP: 안정적 배송(등기 우편)
- UDP: 빠른 배송(일반 우편)
- 상황과 서비스 특성에 맞춰 적절히 선택하는 것이 중요.
728x90
반응형
'프로그래밍 공부 > TIL' 카테고리의 다른 글
| 20250805 - TIL (0) | 2025.08.05 |
|---|---|
| 2025-08-04 TIL (0) | 2025.08.04 |
| 2025-07-31 TIL (0) | 2025.07.31 |
| 2025-07-30 TIL (1) | 2025.07.30 |
| 2025-07-29 TIL (0) | 2025.07.29 |
