✅ OSI 모델이란?

OSI(Open Systems Interconnection) 모델은 네트워크 통신 기능을 7개의
계층으로 나눈 개념적 프레임워크
국제 표준화 기구(ISO)가 제정했으며, 복잡한 네트워크 통신을 구조화해
범용 언어로 사용할 수 있도록 만든 참조 모델
OSI 모델이 중요한 이유
- 복잡한 시스템 이해 공유: 네트워크 기능을 계층별로 나누어 역할을
명확히 구분
- 연구/개발 효율성 향상: 개발자가 어떤 계층을 대상으로 구현하는지
명확히 알 수 있음
- 표준화된 통신 보장: 서로 다른 시스템/기술 간에도 일관된 통신
가능
- 추상화의 장점: 상위 계층은 하위 계층의 세부 구현을 몰라도 사용
가능
OSI 7계층 구조
| 계층 | 주요 기능 | 예시 |
|---|
| 7. 애플리케이션 | 사용자 서비스 제공 | HTTP, SMTP, FTP |
| 6. 표현 | 데이터 암호화, 압축, 변환 | JPEG, SSL, ASCII |
| 5. 세션 | 세션 관리 (생성/유지/종료) | NetBIOS, RPC |
| 4. 전송 | 데이터 전송 신뢰성, 오류 제어 | TCP, UDP |
| 3. 네트워크 | 라우팅, IP 주소 지정 | IP, ICMP |
| 2. 데이터 링크 | 프레임 전송, 오류 검출 | Ethernet, MAC |
| 1. 물리 | 물리적 전송 (비트 단위) | 케이블, 허브 |
✅ TCP/IP 4계층
- 인터넷 통신에서 실제 사용되는 실무 모델
- OSI보다 단순화 → 구현 중심
| 계층 | 주요 기능 | 예시 |
|---|
| 응용 계층 | 응용 프로그램 서비스 | HTTP, DNS, FTP |
| 전송 계층 | 데이터 전송 (신뢰성/속도) | TCP, UDP |
| 인터넷 계층 | 패킷 전달, 라우팅 | IP, ICMP |
| 네트워크 인터페이스 계층 | 물리 전송, 프레임 처리 | Ethernet, ARP |
📊 OSI vs TCP/IP 비교
| 구분 | OSI 7계층 | TCP/IP 4계층 |
|---|
| 목적 | 이론적 모델 (교육/표준화) | 실무적 모델 (인터넷 표준) |
| 계층 수 | 7 | 4 |
| 상위 계층 | 세션/표현/응용 | 응용 (통합됨) |
| 하위 계층 | 물리/데이터링크 | 네트워크 인터페이스 (통합됨) |
| 활용 | 네트워크 구조 이해, 학습 | 실제 네트워크 구현 |
🎯 정리
- OSI 모델: 네트워크를 7계층으로 나눈 이론적 표준
- TCP/IP 모델: 실제 인터넷 통신에 쓰이는 실무 중심 모델
🚦 TCP vs UDP (전송 계층)

✅ TCP (Transmission Control Protocol)
- 특징
- 연결 지향형 (3-way handshake)
- 신뢰성 보장 (재전송, 흐름제어, 혼잡제어)
- 순서 보장 (세그먼트 번호 기반)
- 상대적으로 속도 느림 (오버헤드 ↑)
- 적합한 상황
- 데이터의 정확성이 최우선일 때
- 파일 전송 (FTP), 이메일 (SMTP/IMAP/POP3), 웹 서비스 (HTTP/HTTPS)
✅ UDP (User Datagram Protocol)
- 특징
- 비연결형 (handshake 없음)
- 신뢰성 보장 ❌, 순서 보장 ❌
- 단순하고 가볍다 (오버헤드 ↓)
- 상대적으로 속도 빠름
- 적합한 상황
- 실시간성, 속도가 중요하고 일부 데이터 손실을 허용할 수 있을
때
- 실시간 스트리밍 (YouTube, IPTV), 온라인 게임, 화상 통화/VoIP,
DNS
📊 비교 요약
| 구분 | TCP | UDP |
|---|
| 연결 방식 | 연결 지향 | 비연결 |
| 신뢰성 | 높음 (재전송, 순서 보장) | 낮음 (손실 가능) |
| 속도 | 느림 | 빠름 |
| 오버헤드 | 큼 | 작음 |
| 사용 예시 | 웹, 이메일, 파일 전송 | 스트리밍, 게임, VoIP, DNS |
🤝 Handshake란?
Handshake는 네트워크에서 통신을 시작하기 전, 송신자와 수신자가 서로
연결을 맺기 위한 과정을 의미
- 두 장치가 데이터를 교환하기 전에 통신 규칙(속도, 순서, 연결 상태
등)을 합의하고 연결을 설정하는 과정
- 주로 연결 지향형 프로토콜(TCP)에서 사용됨
목적
- 연결 성립 확인
- 송·수신자 모두 준비 상태 확인
- 통신에 필요한 제어 정보 교환
✅ TCP의 3-Way Handshake
- SYN: 클라이언트 → 서버
- SYN + ACK: 서버 → 클라이언트
- "연결 요청 받았고, 나도 준비됐습니다" (동기화 + 확인 응답)
- ACK: 클라이언트 → 서버
- "확인했습니다, 이제 데이터 전송 시작합시다"
👉 이 과정을 통해 양방향 연결이 성립되고 이후 본격적인 데이터 전송
시작
✅ UDP에는 Handshake가 없다
- UDP는 비연결형 프로토콜 → 데이터를 바로 전송
- 연결 준비 과정이 없어서 속도는 빠르지만 신뢰성이 낮음
🎯 정리
- TCP: 정확성이 중요한 환경에 적합 (웹, 이메일, 파일)
- UDP: 속도/실시간성이 중요한 환경에 적합 (스트리밍, 게임, VoIP)
- Handshake: TCP 연결 시 신뢰성 확보를 위한 연결 합의 과정 (3-Way
Handshake)
참고
https://www.freecodecamp.org/news/tcp-vs-udp/
https://aws.amazon.com/what-is/osi-model/