OSI 모델과 TCP/IP 모델
OSI 모델과 TCP/IP 모델
1. OSI 모델이란?
배경
- 1980년대 초, 각 제조사마다 독자적인 네트워크 규격 사용
- 서로 다른 제조사 장비 간 통신 불가능
- **ISO (국제표준화기구)**가 통신 표준 규격 제정 필요성 인식
- OSI (Open Systems Interconnection) 모델 탄생
OSI 7계층 구조
┌─────────────────────────────────────────────────────────────┐
│ 7계층 │ 응용 계층 (Application Layer) │
│ │ 사용자와 직접 상호작용하는 애플리케이션 서비스 │
├─────────────────────────────────────────────────────────────┤
│ 6계층 │ 표현 계층 (Presentation Layer) │
│ │ 데이터 형식 변환, 암호화, 압축 │
├─────────────────────────────────────────────────────────────┤
│ 5계층 │ 세션 계층 (Session Layer) │
│ │ 통신 세션 관리, 연결 설정/유지/종료 │
├─────────────────────────────────────────────────────────────┤
│ 4계층 │ 전송 계층 (Transport Layer) │
│ │ 신뢰성 있는 데이터 전송, 포트 번호 │
├─────────────────────────────────────────────────────────────┤
│ 3계층 │ 네트워크 계층 (Network Layer) │
│ │ 논리 주소(IP), 라우팅, 경로 결정 │
├─────────────────────────────────────────────────────────────┤
│ 2계층 │ 데이터 링크 계층 (Data Link Layer) │
│ │ 물리 주소(MAC), 프레임 전송, 오류 검출 │
├─────────────────────────────────────────────────────────────┤
│ 1계층 │ 물리 계층 (Physical Layer) │
│ │ 비트 전송, 전기/광 신호, 케이블 규격 │
└─────────────────────────────────────────────────────────────┘계층 암기법
영어: "All People Seem To Need Data Processing"
Application - Presentation - Session - Transport - Network - Data Link - Physical
한글: "응표세전네데물" (응용-표현-세션-전송-네트워크-데이터링크-물리)2. OSI 각 계층 상세 설명
7계층: 응용 계층 (Application Layer)
역할
- 사용자가 네트워크에 접근하는 창구
- 애플리케이션 서비스 제공 (이메일, 웹 브라우저, 파일 전송)
프로토콜 및 예시
| 프로토콜 | 용도 |
|---|---|
| HTTP/HTTPS | 웹 브라우징 |
| FTP | 파일 전송 |
| SMTP/POP3/IMAP | 이메일 |
| DNS | 도메인 이름 해석 |
| SSH | 보안 원격 접속 |
| Telnet | 원격 접속 |
사용자 ←→ [웹 브라우저] ←→ [HTTP 프로토콜] ←→ 웹 서버6계층: 표현 계층 (Presentation Layer)
역할
- 데이터 형식 변환 (인코딩/디코딩)
- 데이터 암호화/복호화
- 데이터 압축/해제
예시
데이터 변환 예시:
[송신측] [수신측]
텍스트 데이터 텍스트 데이터
↓ ↑
JPEG 인코딩 ─────────────────────────→ JPEG 디코딩
SSL 암호화 ─────────────────────────→ SSL 복호화
GZIP 압축 ─────────────────────────→ GZIP 해제관련 형식/기술
- 이미지: JPEG, PNG, GIF
- 비디오: MPEG, AVI
- 암호화: SSL/TLS
- 문자 인코딩: ASCII, UTF-8
5계층: 세션 계층 (Session Layer)
역할
- 통신 세션 설정, 유지, 종료
- 동기화 지점 관리
- 전이중/반이중 통신 방식 결정
세션이란?
세션 = 통신을 위한 논리적 연결
예: 온라인 쇼핑
┌─────────────────────────────────────────────────┐
│ 1. 로그인 (세션 시작) │
│ 2. 상품 검색, 장바구니 담기 (세션 유지) │
│ 3. 결제 완료 │
│ 4. 로그아웃 (세션 종료) │
└─────────────────────────────────────────────────┘통신 방식
| 방식 | 설명 | 예시 |
|---|---|---|
| 단방향 (Simplex) | 한 방향으로만 통신 | 라디오, TV |
| 반이중 (Half-Duplex) | 양방향, 동시 불가 | 무전기 |
| 전이중 (Full-Duplex) | 양방향, 동시 가능 | 전화 |
4계층: 전송 계층 (Transport Layer)
역할
- 신뢰성 있는 데이터 전송 (TCP)
- 빠른 데이터 전송 (UDP)
- 포트 번호로 애플리케이션 식별
- 세그먼트 단위로 데이터 분할
데이터 단위
- 세그먼트 (Segment): TCP
- 데이터그램 (Datagram): UDP
TCP vs UDP
┌─────────────────────────┬─────────────────────────┐
│ TCP │ UDP │
├─────────────────────────┼─────────────────────────┤
│ 연결 지향 (Connection) │ 비연결형 (Connectionless)│
│ 신뢰성 보장 │ 신뢰성 없음 │
│ 순서 보장 │ 순서 보장 안됨 │
│ 흐름/혼잡 제어 │ 제어 없음 │
│ 느림 │ 빠름 │
├─────────────────────────┼─────────────────────────┤
│ 웹, 이메일, FTP │ 스트리밍, 게임, DNS │
└─────────────────────────┴─────────────────────────┘3계층: 네트워크 계층 (Network Layer)
역할
- 논리 주소 (IP 주소) 지정
- 라우팅: 목적지까지 최적 경로 결정
- 다른 네트워크 간 통신 담당
데이터 단위
- 패킷 (Packet)
주요 장비
- 라우터 (Router)
라우팅 예시:
PC (192.168.1.10) ─→ [라우터A] ─→ [라우터B] ─→ [라우터C] ─→ 서버 (10.0.0.5)
│
라우팅 테이블로
최적 경로 결정주요 프로토콜
- IP (Internet Protocol)
- ICMP (Internet Control Message Protocol)
- ARP (Address Resolution Protocol)
- 라우팅 프로토콜: RIP, OSPF, BGP
2계층: 데이터 링크 계층 (Data Link Layer)
역할
- 물리 주소 (MAC 주소) 사용
- 프레임 단위로 데이터 전송
- 오류 검출 (CRC)
- 같은 네트워크 내 통신
데이터 단위
- 프레임 (Frame)
주요 장비
- 스위치 (Switch)
- 브리지 (Bridge)
프레임 구조:
┌───────────┬───────────┬───────────┬─────────┬─────────┐
│ 목적지 MAC │ 출발지 MAC │ 타입 │ 데이터 │ FCS │
│ (6bytes) │ (6bytes) │ (2bytes) │ │(4bytes) │
└───────────┴───────────┴───────────┴─────────┴─────────┘
오류 검출용하위 계층
| 하위 계층 | 역할 |
|---|---|
| LLC (Logical Link Control) | 오류 제어, 흐름 제어 |
| MAC (Media Access Control) | 물리적 주소 지정, 매체 접근 제어 |
1계층: 물리 계층 (Physical Layer)
역할
- 비트(0, 1)를 전기 신호로 변환
- 물리적 연결 (케이블, 커넥터)
- 전송 매체 규격 정의
데이터 단위
- 비트 (Bit)
주요 장비
- 허브 (Hub)
- 리피터 (Repeater)
- 케이블, 커넥터
비트 → 전기 신호 변환:
디지털 데이터: 1 0 1 1 0 0 1 0
↓
전기 신호: ┌─┐ ┌─┐ ┌─┐ ┌─┐
│ │ │ │ │ │ │ │
──┘ └─┘ └─┘ └─────┘ └──────전송 매체
| 매체 | 특징 |
|---|---|
| UTP 케이블 | 구리선, 가장 일반적 |
| 광케이블 | 빛 사용, 고속/장거리 |
| 동축 케이블 | 케이블 TV |
| 무선 | 전파 사용 |
3. TCP/IP 모델
OSI 모델 vs TCP/IP 모델
OSI 7계층 TCP/IP 4계층
┌─────────────────────┐ ┌─────────────────────┐
│ 응용 계층 (7) │ │ │
├─────────────────────┤ │ │
│ 표현 계층 (6) │───────→│ 응용 계층 (4) │
├─────────────────────┤ │ │
│ 세션 계층 (5) │ │ │
├─────────────────────┤ ├─────────────────────┤
│ 전송 계층 (4) │───────→│ 전송 계층 (3) │
├─────────────────────┤ ├─────────────────────┤
│ 네트워크 계층 (3) │───────→│ 인터넷 계층 (2) │
├─────────────────────┤ ├─────────────────────┤
│ 데이터 링크 계층 (2) │ │ │
├─────────────────────┤───────→│ 네트워크 접속 계층 (1)│
│ 물리 계층 (1) │ │ │
└─────────────────────┘ └─────────────────────┘TCP/IP 모델 상세
4계층: 응용 계층 (Application Layer)
- OSI 5, 6, 7계층 통합
- 사용자 애플리케이션과 직접 상호작용
- 프로토콜: HTTP, FTP, SMTP, DNS, SSH, Telnet
3계층: 전송 계층 (Transport Layer)
- OSI 4계층과 동일
- 종단 간 신뢰성 있는 데이터 전송
- 프로토콜: TCP, UDP
2계층: 인터넷 계층 (Internet Layer)
- OSI 3계층과 동일
- IP 주소 기반 라우팅
- 프로토콜: IP, ICMP, ARP
1계층: 네트워크 접속 계층 (Network Access Layer)
- OSI 1, 2계층 통합
- 물리적 네트워크 연결
- 프로토콜: Ethernet, Wi-Fi, PPP
TCP/IP 프로토콜 스위트
┌────────────────────────────────────────────────────────────┐
│ 응용 계층 │
│ HTTP HTTPS FTP SMTP POP3 IMAP DNS SSH Telnet │
├────────────────────────────────────────────────────────────┤
│ 전송 계층 │
│ TCP UDP │
├────────────────────────────────────────────────────────────┤
│ 인터넷 계층 │
│ IP ICMP ARP RARP │
├────────────────────────────────────────────────────────────┤
│ 네트워크 접속 계층 │
│ Ethernet Wi-Fi PPP ... │
└────────────────────────────────────────────────────────────┘4. OSI 모델 vs TCP/IP 모델 비교
| 항목 | OSI 모델 | TCP/IP 모델 |
|---|---|---|
| 계층 수 | 7계층 | 4계층 |
| 개발 시기 | 1984년 | 1970년대 |
| 개발 주체 | ISO | DARPA (미 국방부) |
| 특징 | 이론적, 참조 모델 | 실용적, 실제 구현 |
| 현재 사용 | 교육/참조용 | 인터넷 표준 |
| 장점 | 세분화, 명확한 역할 | 단순, 효율적 |
| 단점 | 복잡, 구현 어려움 | 계층 구분 모호 |
왜 TCP/IP 모델이 표준이 되었나?
- 실용성: 이미 구현되어 동작하고 있었음
- 유연성: 하드웨어에 독립적
- 인터넷의 성공: ARPANET에서 시작, 전 세계로 확산
- 단순성: 4계층으로 구현이 용이
5. 계층별 데이터 단위 (PDU)
PDU (Protocol Data Unit)
각 계층에서 처리하는 데이터의 단위
┌────────────┬──────────────────┬─────────────────┐
│ 계층 │ PDU │ 구성 │
├────────────┼──────────────────┼─────────────────┤
│ 응용 계층 │ 데이터 (Data) │ 순수 데이터 │
├────────────┼──────────────────┼─────────────────┤
│ 전송 계층 │ 세그먼트/데이터그램│ TCP/UDP 헤더+데이터│
├────────────┼──────────────────┼─────────────────┤
│ 네트워크 계층│ 패킷 (Packet) │ IP 헤더+세그먼트 │
├────────────┼──────────────────┼─────────────────┤
│ 데이터링크 │ 프레임 (Frame) │ MAC 헤더+패킷+FCS│
├────────────┼──────────────────┼─────────────────┤
│ 물리 계층 │ 비트 (Bit) │ 0과 1의 나열 │
└────────────┴──────────────────┴─────────────────┘캡슐화 과정
송신 측 (위에서 아래로):
[데이터] ─────────────────────────────────────────→ 응용 계층
↓
[TCP 헤더][데이터] ───────────────────────────────→ 전송 계층 (세그먼트)
↓
[IP 헤더][TCP 헤더][데이터] ──────────────────────→ 네트워크 계층 (패킷)
↓
[ETH 헤더][IP 헤더][TCP 헤더][데이터][FCS] ───────→ 데이터링크 (프레임)
↓
101010101010101010101010... ─────────────────────→ 물리 계층 (비트)역캡슐화 과정
수신 측 (아래에서 위로):
101010101010101010101010... ←───────────────────── 물리 계층
↓
[ETH 헤더][IP 헤더][TCP 헤더][데이터][FCS] ←─────── 데이터링크
↓ (ETH 헤더 제거)
[IP 헤더][TCP 헤더][데이터] ←────────────────────── 네트워크 계층
↓ (IP 헤더 제거)
[TCP 헤더][데이터] ←─────────────────────────────── 전송 계층
↓ (TCP 헤더 제거)
[데이터] ←───────────────────────────────────────── 응용 계층6. 계층화의 장점
1. 독립성
- 각 계층은 독립적으로 동작
- 한 계층의 변경이 다른 계층에 영향 없음
예: 유선 → 무선으로 변경
물리 계층만 변경하면 됨 (1계층)
상위 계층 (2~7계층)은 변경 불필요2. 표준화
- 각 계층별로 표준 프로토콜 정의
- 다른 제조사 장비 간 호환성 보장
3. 모듈화
- 문제 발생 시 해당 계층만 점검
- 유지보수 용이
문제 발생 시 진단:
- 물리 연결 문제? → 1계층 (케이블 확인)
- IP 주소 문제? → 3계층 (IP 설정 확인)
- 웹 접속 문제? → 7계층 (브라우저/서버 확인)4. 역할 분담
- 계층별 명확한 역할 정의
- 복잡한 통신 과정을 단순화
7. 실무에서의 활용
네트워크 문제 해결 (Troubleshooting)
계층별 점검 순서 (Bottom-Up):
1계층: 케이블 연결됐나? LED 점등?
→ ping 127.0.0.1 (루프백 테스트)
2계층: MAC 주소 확인, 스위치 포트 상태
→ arp -a
3계층: IP 주소 설정 올바른가? 라우팅?
→ ipconfig (Windows) / ifconfig (Linux)
→ ping 게이트웨이
4계층: 포트 열려있나? 방화벽?
→ netstat -an
→ telnet [IP] [Port]
7계층: 애플리케이션 동작하나?
→ 브라우저, 서비스 상태 확인계층별 주요 장비
| 계층 | 장비 | 역할 |
|---|---|---|
| 1계층 | 허브, 리피터 | 신호 증폭, 물리 연결 |
| 2계층 | 스위치, 브리지 | MAC 기반 프레임 전달 |
| 3계층 | 라우터 | IP 기반 패킷 라우팅 |
| 4~7계층 | 방화벽, 로드밸런서 | 상위 계층 처리 |
핵심 정리
| 개념 | 설명 |
|---|---|
| OSI 모델 | ISO가 제정한 7계층 네트워크 참조 모델 |
| TCP/IP 모델 | 실제 인터넷에서 사용하는 4계층 모델 |
| 계층화 | 통신 과정을 단계별로 분리하여 독립성 확보 |
| 캡슐화 | 상위 계층 데이터에 헤더를 추가하는 과정 |
| 역캡슐화 | 헤더를 제거하고 원본 데이터를 추출하는 과정 |
| PDU | 각 계층에서 처리하는 데이터 단위 |
OSI 7계층 요약
| 계층 | 이름 | 역할 | PDU | 장비 |
|---|---|---|---|---|
| 7 | 응용 | 사용자 서비스 | 데이터 | - |
| 6 | 표현 | 데이터 변환/암호화 | 데이터 | - |
| 5 | 세션 | 세션 관리 | 데이터 | - |
| 4 | 전송 | 신뢰성 전송 | 세그먼트 | - |
| 3 | 네트워크 | 라우팅, IP | 패킷 | 라우터 |
| 2 | 데이터링크 | MAC, 프레임 | 프레임 | 스위치 |
| 1 | 물리 | 전기신호 | 비트 | 허브 |
용어 정리
- 규격: 기술적인 사항에 대해 제정한 기준 (기술적 표준)
- ISO: International Organization for Standardization (국제표준화기구)
- OSI: Open Systems Interconnection (개방형 시스템 상호연결)
- TCP/IP: Transmission Control Protocol / Internet Protocol