네트워크 통신을 7개 계층으로 표준화한 모델
┌─────────────────────────┐
│ 7. 응용 계층 (Application) │ ← 사용자 인터페이스
├─────────────────────────┤
│ 6. 표현 계층 (Presentation)│ ← 데이터 형식 변환
├─────────────────────────┤
│ 5. 세션 계층 (Session) │ ← 연결 관리
├─────────────────────────┤
│ 4. 전송 계층 (Transport) │ ← 신뢰성 보장
├─────────────────────────┤
│ 3. 네트워크 계층 (Network) │ ← 경로 설정
├─────────────────────────┤
│ 2. 데이터링크 계층 (Data Link)│ ← 프레임 전송
├─────────────────────────┤
│ 1. 물리 계층 (Physical) │ ← 비트 전송
└─────────────────────────┘
역할:
- 사용자와 직접 상호작용
- 네트워크 서비스 제공
- 응용 프로그램 간 데이터 교환
프로토콜:
- HTTP/HTTPS (웹)
- FTP (파일 전송)
- SMTP (이메일 전송)
- POP3/IMAP (이메일 수신)
- DNS (도메인 이름 변환)
- Telnet (원격 접속)
예시:
- 웹 브라우저 (Chrome, Firefox)
- 이메일 클라이언트 (Outlook)
- FTP 클라이언트 (FileZilla)
데이터 단위: 데이터(Data), 메시지(Message)
역할:
- 데이터 형식 변환
- 암호화/복호화
- 압축/해제
- 코드 변환 (ASCII ↔ EBCDIC)
기능:
- 인코딩/디코딩
- 데이터 압축 (JPEG, MPEG)
- 암호화 (SSL/TLS)
예시:
- JPEG, GIF, PNG (이미지 형식)
- MPEG, AVI (비디오 형식)
- ASCII, Unicode (문자 인코딩)
- SSL/TLS (암호화)
데이터 단위: 데이터(Data)
역할:
- 통신 세션 연결/관리/종료
- 동기화
- 대화 제어 (반이중, 전이중)
기능:
- 세션 설정, 유지, 종료
- 체크포인트 설정
- 재연결 관리
프로토콜:
- NetBIOS
- RPC (Remote Procedure Call)
- SSH (Secure Shell)
예시:
- 화상 회의 (연결 유지)
- 온라인 게임 (세션 관리)
- 로그인 세션
데이터 단위: 데이터(Data)
역할:
- 종단 간(End-to-End) 신뢰성 보장
- 흐름 제어 (Flow Control)
- 오류 제어 (Error Control)
- 포트 번호로 프로세스 구분
프로토콜:
- TCP (신뢰성)
- UDP (빠른 속도)
기능:
- 세그먼테이션 (데이터 분할)
- 재조립
- 오류 검출 및 재전송
- 순서 제어
포트 번호:
- HTTP: 80
- HTTPS: 443
- FTP: 21
- SSH: 22
- SMTP: 25
- DNS: 53
데이터 단위: 세그먼트(Segment)
역할:
- 라우팅 (경로 설정)
- 논리 주소 지정 (IP 주소)
- 패킷 포워딩
프로토콜:
- IP (Internet Protocol)
- ICMP (ping)
- IGMP (멀티캐스트)
- ARP (주소 변환)
장비:
- 라우터 (Router)
- L3 스위치
기능:
- 패킷 라우팅
- 혼잡 제어
- 주소 변환
데이터 단위: 패킷(Packet)
역할:
- 물리 주소 지정 (MAC 주소)
- 프레임 전송
- 오류 검출 (CRC)
- 흐름 제어
프로토콜:
- Ethernet
- PPP (Point-to-Point Protocol)
- HDLC
장비:
- 스위치 (Switch)
- 브리지 (Bridge)
기능:
- 프레이밍
- 물리 주소 지정
- 오류 검출 (재전송은 안 함)
- 접근 제어 (MAC)
MAC 주소:
- 48비트 (6바이트)
- 예: 00:1A:2B:3C:4D:5E
- 제조사가 할당 (고유)
데이터 단위: 프레임(Frame)
역할:
- 비트 스트림 전송
- 물리적 연결
- 전기 신호 변환
장비:
- 허브 (Hub)
- 리피터 (Repeater)
- 케이블 (UTP, 광케이블)
기능:
- 비트를 전기 신호로 변환
- 전송 매체 정의
- 토폴로지 정의
전송 매체:
- 유선: UTP, 동축케이블, 광케이블
- 무선: WiFi, Bluetooth, 5G
데이터 단위: 비트(Bit)
| 계층 | 이름 | 데이터 단위 | 주요 프로토콜 | 장비 |
|---|---|---|---|---|
| 7 | 응용 | 데이터 | HTTP, FTP, SMTP, DNS | - |
| 6 | 표현 | 데이터 | SSL/TLS, JPEG, MPEG | - |
| 5 | 세션 | 데이터 | NetBIOS, SSH | - |
| 4 | 전송 | 세그먼트 | TCP, UDP | - |
| 3 | 네트워크 | 패킷 | IP, ICMP, ARP | 라우터 |
| 2 | 데이터링크 | 프레임 | Ethernet, PPP | 스위치 |
| 1 | 물리 | 비트 | - | 허브, 케이블 |
[응용 계층] "Hello"
↓ (Application Header 추가)
[표현 계층] [AH|Hello]
↓ (Presentation Header 추가)
[세션 계층] [SH|AH|Hello]
↓ (TCP/UDP Header 추가)
[전송 계층] [TH|SH|AH|Hello] ← 세그먼트
↓ (IP Header 추가)
[네트워크 계층] [IH|TH|SH|AH|Hello] ← 패킷
↓ (Ethernet Header, Trailer 추가)
[데이터링크 계층] [EH|IH|TH|SH|AH|Hello|ET] ← 프레임
↓ (전기 신호 변환)
[물리 계층] 01001000... ← 비트
[물리 계층] 01001000... (비트 수신)
↓ (프레임 변환)
[데이터링크 계층] [EH|IH|TH|SH|AH|Hello|ET]
↓ (EH, ET 제거)
[네트워크 계층] [IH|TH|SH|AH|Hello]
↓ (IH 제거)
[전송 계층] [TH|SH|AH|Hello]
↓ (TH 제거)
[세션 계층] [SH|AH|Hello]
↓ (SH 제거)
[표현 계층] [AH|Hello]
↓ (AH 제거)
[응용 계층] "Hello" ✔
OSI 7계층은 네트워크 통신을 7개 계층으로
표준화한 모델입니다.
하위 계층 (1~3): 데이터 전달
- 물리: 비트 전송
- 데이터링크: 프레임 전송 (MAC 주소)
- 네트워크: 패킷 라우팅 (IP 주소)
상위 계층 (4~7): 데이터 처리
- 전송: 신뢰성 보장 (TCP/UDP)
- 세션: 연결 관리
- 표현: 데이터 변환
- 응용: 사용자 인터페이스
장점:
- 계층별 독립성
- 문제 발생 시 해당 계층만 수정
- 표준화로 호환성 보장
OSI 7계층은 ISO에서 제정한 네트워크 통신
표준 모델입니다.
각 계층의 역할:
1. 물리 계층:
- 비트를 전기 신호로 변환
- 케이블, 허브 등 물리적 매체
2. 데이터링크 계층:
- MAC 주소로 노드 간 전송
- 프레임 단위
- 스위치, 브리지
3. 네트워크 계층:
- IP 주소로 경로 설정
- 패킷 라우팅
- 라우터
4. 전송 계층:
- 종단 간 신뢰성 보장
- TCP(신뢰성) / UDP(속도)
- 포트 번호로 프로세스 구분
5. 세션 계층:
- 통신 세션 관리
- 연결 설정, 유지, 종료
6. 표현 계층:
- 데이터 형식 변환
- 암호화, 압축
7. 응용 계층:
- 사용자 인터페이스
- HTTP, FTP, SMTP 등
데이터 전송:
- 송신: 캡슐화 (헤더 추가)
- 수신: 역캡슐화 (헤더 제거)
실무에서는 TCP/IP 4계층을 주로 사용하며,
OSI 7계층은 이론적 참조 모델로 활용됩니다.