OSI 7계층 모델 (OSI 7 Layer Model)
1. 개요
OSI 7계층 모델은 국제표준화기구(ISO, International Organization for Standardization)에서 제정한 네트워크 통신 표준 모델로, 서로 다른 제조사의 네트워크 장비와 소프트웨어가 원활하게 통신할 수 있도록 통신 과정을 7개의 독립적인 계층으로 분리하여 정의한 참조 모델이다.
과거에는 네트워크 장비 제조사마다 독자적인 프로토콜을 사용하여 상호 호환성이 떨어지는 문제가 있었다. 이를 해결하기 위해 ISO는 통신 과정을 표준화하여, 특정 계층의 기술이 변경되더라도 다른 계층에 영향을 주지 않고 독립적으로 발전시킬 수 있는 구조를 설계하였다. 이를 통해 네트워크 설계의 단순화, 유지보수의 용이성, 그리고 다양한 벤더 간의 상호 운용성을 확보할 수 있게 되었다.
2. 계층별 상세 구조 및 역할
OSI 모델은 하위 계층(물리적 전송)에서 상위 계층(사용자 인터페이스)으로 올라가는 구조를 가진다. 각 계층은 하위 계층이 제공하는 서비스를 이용하여 상위 계층에 서비스를 제공한다.
계층별 상세 정리
| 계층 번호 |
계층 이름 |
PDU |
주요 역할 |
대표 장비 및 프로토콜 |
핵심 키워드 |
| L7 |
응용 계층 (Application) |
Data |
사용자 인터페이스 제공, 네트워크 서비스 지원 |
HTTP, FTP, DNS, SMTP, SSH |
사용자 인터페이스 |
| L6 |
표현 계층 (Presentation) |
Data |
데이터 형식 변환, 암호화 및 압축 |
JPEG, MPEG, ASCII, JSON, XML |
데이터 포맷/인코딩 |
| L5 |
세션 계층 (Session) |
Data |
통신 세션 설정, 유지 및 동기화 |
NetBIOS, RPC, Socket |
세션 관리/동기화 |
| L4 |
전송 계층 (Transport) |
Segment |
종단 간 신뢰성 있는 데이터 전송, 흐름 제어 |
TCP, UDP |
신뢰성/포트 번호 |
| L3 |
네트워크 계층 (Network) |
Packet |
최적 경로 결정(라우팅), 논리적 주소 지정 |
IP, ICMP, ARP, Router, L3 Switch |
라우팅/IP 주소 |
| L2 |
데이터 링크 계층 (Data Link) |
Frame |
물리적 주소(MAC) 기반 전송, 오류 검출 |
Ethernet, PPP, Switch, Bridge |
MAC 주소/프레임 |
| L1 |
물리 계층 (Physical) |
Bit |
전기적/광학적 신호 전송, 물리적 매체 정의 |
Hub, Repeater, 케이블(UTP, 광섬유) |
전기 신호/물리 매체 |
- PDU (Protocol Data Unit): 각 계층의 프로토콜 헤더와 데이터(Payload)가 결합된 전체 단위.
계층별 데이터 흐름도
데이터는 송신측에서 상위 계층 $\rightarrow$ 하위 계층으로 내려가며 캡슐화되고, 수신측에서는 하위 계층 $\rightarrow$ 상위 계층으로 올라가며 역캡슐화된다.
graph TD
subgraph "송신측 (Sender)"
S7[L7: Application] --> S6[L6: Presentation] --> S5[L5: Session] --> S4[L4: Transport] --> S3[L3: Network] --> S2[L2: Data Link] --> S1[L1: Physical]
end
S1 -- "물리적 매체 (Cable/Wireless)" --> R1
subgraph "수신측 (Receiver)"
R1[L1: Physical] --> R2[L2: Data Link] --> R3[L3: Network] --> R4[L4: Transport] --> R5[L5: Session] --> R6[L6: Presentation] --> R7[L7: Application]
end
캡슐화 (Encapsulation)
송신측에서 상위 계층의 데이터가 하위 계층으로 전달될 때, 각 계층의 프로토콜이 필요로 하는 제어 정보(헤더, Header)를 덧붙이는 과정이다.
graph LR
Data[Data] --> L4[L4 Header + Data]
L4 --> L3[L3 Header + L4 Header + Data]
L3 --> L2[L2 Header + L3 Header + L4 Header + Data + L2 Trailer]
L2 --> L1[Bit Stream]
style Data fill:#f9f,stroke:#333
style L4 fill:#bbf,stroke:#333
style L3 fill:#bfb,stroke:#333
style L2 fill:#fbb,stroke:#333
style L1 fill:#eee,stroke:#333
- 데이터 생성: L7~L5에서 생성된 원본 데이터.
- L4 (Segment): TCP/UDP 헤더(포트 번호 등)를 추가.
- L3 (Packet): IP 헤더(출발지/목적지 IP 주소 등)를 추가.
- L2 (Frame): 이더넷 헤더(MAC 주소)와 오류 검출을 위한 트레일러(FCS)를 추가.
- L1 (Bit): 최종 데이터를 전기 신호로 변환하여 전송.
역캡슐화 (Decapsulation)
수신측에서 하위 계층부터 상위 계층으로 데이터를 전달하며, 각 계층에 해당하는 헤더를 확인하고 제거하는 과정이다.
- L1 $\rightarrow$ L2: 비트 신호를 프레임으로 복원 $\rightarrow$ MAC 주소 확인 후 L2 헤더 및 트레일러 제거.
- L2 $\rightarrow$ L3: IP 주소 확인 후 L3 헤더 제거.
- L3 $\rightarrow$ L4: 포트 번호를 확인하여 해당 프로세스로 전달 전 L4 헤더 제거.
- L4 $\rightarrow$ L7: 최종적으로 원본 데이터를 응용 프로그램에 전달.
4. TCP/IP 모델과의 비교
OSI 7계층 모델이 이론적인 참조 모델이라면, TCP/IP 모델은 실제 인터넷 환경에서 사용되는 실무적인 표준 모델이다. TCP/IP 모델은 OSI 모델의 일부 계층을 통합하여 더 단순한 구조를 가진다.
구조적 매핑 비교
| OSI 7계층 |
TCP/IP 4계층 |
주요 프로토콜 |
설명 |
| 응용(L7) / 표현(L6) / 세션(L5) |
응용 계층 (Application) |
HTTP, FTP, DNS, SMTP, SSH |
사용자 인터페이스 및 데이터 표현, 세션 관리를 통합 처리 |
| 전송(L4) |
전송 계층 (Transport) |
TCP, UDP |
프로세스 간 신뢰성 있는 데이터 전송 및 흐름 제어 |
| 네트워크(L3) |
인터넷 계층 (Internet) |
IP, ICMP, ARP |
호스트 간 최적 경로 설정 및 패킷 전송 |
| 데이터 링크(L2) / 물리(L1) |
네트워크 인터페이스 계층 (Network Interface) |
Ethernet, Wi-Fi, PPP |
물리적 매체를 통한 데이터 프레임 전송 및 하드웨어 제어 |
5. 실제 패킷 캡처 사례 분석 (Wireshark 기준)
네트워크 분석 도구인 Wireshark를 통해 패킷을 캡처하면 OSI 계층 구조가 명확히 드러난다. 예를 들어, 웹 브라우저에서 HTTP GET 요청을 보낼 때의 패킷 구조는 다음과 같다.
- Frame (L2):
Ethernet II, Src: [MAC A], Dst: [MAC B] $\rightarrow$ 데이터 링크 계층의 정보.
- Internet Protocol (L3):
Version: 4, Src: 192.168.0.10, Dst: 93.184.216.34 $\rightarrow$ 네트워크 계층의 IP 정보.
- Transmission Control Protocol (L4):
Src Port: 54321, Dst Port: 80, Sequence Number: 1 $\rightarrow$ 전송 계층의 포트 및 순서 정보.
- Hypertext Transfer Protocol (L7):
GET /index.html HTTP/1.1 $\rightarrow$ 응용 계층의 실제 요청 데이터.
이처럼 하나의 패킷은 여러 계층의 헤더가 중첩된 형태로 구성되어 있으며, 이는 캡슐화의 결과물이다.
6. 계층 모델의 실무적 활용
트러블슈팅 (Troubleshooting)
네트워크 장애 발생 시, 계층 모델을 기반으로 접근하면 원인을 체계적으로 파악할 수 있다.
- Bottom-up 방식 (하위 $\rightarrow$ 상위):
- 물리적 연결 확인(케이블, 전원) $\rightarrow$ 링크 상태 확인(L2) $\rightarrow$ 핑 테스트(L3) $\rightarrow$ 포트 개방 확인(L4) 순으로 점검.
- 주로 하드웨어 장애나 물리적 연결 문제가 의심될 때 사용한다.
- Top-down 방식 (상위 $\rightarrow$ 하위):
- 애플리케이션 설정 확인(L7) $\rightarrow$ 세션/인증 확인(L5) $\rightarrow$ 네트워크 경로 확인(L3) 순으로 점검.
- 소프트웨어 설정 오류나 특정 서비스 장애가 의심될 때 사용한다.
계층 기반 보안 전략 (Defense in Depth)
각 계층별로 서로 다른 보안 솔루션을 적용하여 다층 방어 체계를 구축한다.
- L2 보안: 포트 보안(Port Security), VLAN 분리.
- L3/L4 보안: 방화벽(Firewall)을 통한 IP 및 포트 기반 접근 제어(ACL).
- L7 보안: 웹 방화벽(WAF), 침입 방지 시스템(IPS)을 통한 페이로드 분석 및 공격 차단.
# OSI 7계층 모델 (OSI 7 Layer Model)
## 1. 개요
OSI 7계층 모델은 국제표준화기구(ISO, International Organization for Standardization)에서 제정한 네트워크 통신 표준 모델로, 서로 다른 제조사의 네트워크 장비와 소프트웨어가 원활하게 통신할 수 있도록 통신 과정을 7개의 독립적인 계층으로 분리하여 정의한 참조 모델이다.
과거에는 네트워크 장비 제조사마다 독자적인 프로토콜을 사용하여 상호 호환성이 떨어지는 문제가 있었다. 이를 해결하기 위해 ISO는 통신 과정을 표준화하여, 특정 계층의 기술이 변경되더라도 다른 계층에 영향을 주지 않고 독립적으로 발전시킬 수 있는 구조를 설계하였다. 이를 통해 네트워크 설계의 단순화, 유지보수의 용이성, 그리고 다양한 벤더 간의 상호 운용성을 확보할 수 있게 되었다.
## 2. 계층별 상세 구조 및 역할
OSI 모델은 하위 계층(물리적 전송)에서 상위 계층(사용자 인터페이스)으로 올라가는 구조를 가진다. 각 계층은 하위 계층이 제공하는 서비스를 이용하여 상위 계층에 서비스를 제공한다.
### 계층별 상세 정리
| 계층 번호 | 계층 이름 | PDU | 주요 역할 | 대표 장비 및 프로토콜 | 핵심 키워드 |
| :--- | :--- | :--- | :--- | :--- | :--- |
| **L7** | **응용 계층** (Application) | Data | 사용자 인터페이스 제공, 네트워크 서비스 지원 | HTTP, FTP, DNS, SMTP, SSH | **사용자 인터페이스** |
| **L6** | **표현 계층** (Presentation) | Data | 데이터 형식 변환, 암호화 및 압축 | JPEG, MPEG, ASCII, JSON, XML | **데이터 포맷/인코딩** |
| **L5** | **세션 계층** (Session) | Data | 통신 세션 설정, 유지 및 동기화 | NetBIOS, RPC, Socket | **세션 관리/동기화** |
| **L4** | **전송 계층** (Transport) | Segment | 종단 간 신뢰성 있는 데이터 전송, 흐름 제어 | TCP, UDP | **신뢰성/포트 번호** |
| **L3** | **네트워크 계층** (Network) | Packet | 최적 경로 결정(라우팅), 논리적 주소 지정 | IP, ICMP, ARP, Router, L3 Switch | **라우팅/IP 주소** |
| **L2** | **데이터 링크 계층** (Data Link) | Frame | 물리적 주소(MAC) 기반 전송, 오류 검출 | Ethernet, PPP, Switch, Bridge | **MAC 주소/프레임** |
| **L1** | **물리 계층** (Physical) | Bit | 전기적/광학적 신호 전송, 물리적 매체 정의 | Hub, Repeater, 케이블(UTP, 광섬유) | **전기 신호/물리 매체** |
* **PDU (Protocol Data Unit):** 각 계층의 프로토콜 헤더와 데이터(Payload)가 결합된 전체 단위.
### 계층별 데이터 흐름도
데이터는 송신측에서 상위 계층 $\rightarrow$ 하위 계층으로 내려가며 캡슐화되고, 수신측에서는 하위 계층 $\rightarrow$ 상위 계층으로 올라가며 역캡슐화된다.
```mermaid
graph TD
subgraph "송신측 (Sender)"
S7[L7: Application] --> S6[L6: Presentation] --> S5[L5: Session] --> S4[L4: Transport] --> S3[L3: Network] --> S2[L2: Data Link] --> S1[L1: Physical]
end
S1 -- "물리적 매체 (Cable/Wireless)" --> R1
subgraph "수신측 (Receiver)"
R1[L1: Physical] --> R2[L2: Data Link] --> R3[L3: Network] --> R4[L4: Transport] --> R5[L5: Session] --> R6[L6: Presentation] --> R7[L7: Application]
end
```
## 3. 데이터 캡슐화와 역캡슐화
### 캡슐화 (Encapsulation)
송신측에서 상위 계층의 데이터가 하위 계층으로 전달될 때, 각 계층의 프로토콜이 필요로 하는 제어 정보(헤더, Header)를 덧붙이는 과정이다.
```mermaid
graph LR
Data[Data] --> L4[L4 Header + Data]
L4 --> L3[L3 Header + L4 Header + Data]
L3 --> L2[L2 Header + L3 Header + L4 Header + Data + L2 Trailer]
L2 --> L1[Bit Stream]
style Data fill:#f9f,stroke:#333
style L4 fill:#bbf,stroke:#333
style L3 fill:#bfb,stroke:#333
style L2 fill:#fbb,stroke:#333
style L1 fill:#eee,stroke:#333
```
1. **데이터 생성:** L7~L5에서 생성된 원본 데이터.
2. **L4 (Segment):** TCP/UDP 헤더(포트 번호 등)를 추가.
3. **L3 (Packet):** IP 헤더(출발지/목적지 IP 주소 등)를 추가.
4. **L2 (Frame):** 이더넷 헤더(MAC 주소)와 오류 검출을 위한 트레일러(FCS)를 추가.
5. **L1 (Bit):** 최종 데이터를 전기 신호로 변환하여 전송.
### 역캡슐화 (Decapsulation)
수신측에서 하위 계층부터 상위 계층으로 데이터를 전달하며, 각 계층에 해당하는 헤더를 확인하고 제거하는 과정이다.
1. **L1 $\rightarrow$ L2:** 비트 신호를 프레임으로 복원 $\rightarrow$ MAC 주소 확인 후 L2 헤더 및 트레일러 제거.
2. **L2 $\rightarrow$ L3:** IP 주소 확인 후 L3 헤더 제거.
3. **L3 $\rightarrow$ L4:** 포트 번호를 확인하여 해당 프로세스로 전달 전 L4 헤더 제거.
4. **L4 $\rightarrow$ L7:** 최종적으로 원본 데이터를 응용 프로그램에 전달.
## 4. TCP/IP 모델과의 비교
OSI 7계층 모델이 이론적인 참조 모델이라면, TCP/IP 모델은 실제 인터넷 환경에서 사용되는 실무적인 표준 모델이다. TCP/IP 모델은 OSI 모델의 일부 계층을 통합하여 더 단순한 구조를 가진다.
### 구조적 매핑 비교
| OSI 7계층 | TCP/IP 4계층 | 주요 프로토콜 | 설명 |
| :--- | :--- | :--- | :--- |
| 응용(L7) / 표현(L6) / 세션(L5) | **응용 계층 (Application)** | HTTP, FTP, DNS, SMTP, SSH | 사용자 인터페이스 및 데이터 표현, 세션 관리를 통합 처리 |
| 전송(L4) | **전송 계층 (Transport)** | TCP, UDP | 프로세스 간 신뢰성 있는 데이터 전송 및 흐름 제어 |
| 네트워크(L3) | **인터넷 계층 (Internet)** | IP, ICMP, ARP | 호스트 간 최적 경로 설정 및 패킷 전송 |
| 데이터 링크(L2) / 물리(L1) | **네트워크 인터페이스 계층 (Network Interface)** | Ethernet, Wi-Fi, PPP | 물리적 매체를 통한 데이터 프레임 전송 및 하드웨어 제어 |
## 5. 실제 패킷 캡처 사례 분석 (Wireshark 기준)
네트워크 분석 도구인 Wireshark를 통해 패킷을 캡처하면 OSI 계층 구조가 명확히 드러난다. 예를 들어, 웹 브라우저에서 `HTTP GET` 요청을 보낼 때의 패킷 구조는 다음과 같다.
- **Frame (L2):** `Ethernet II, Src: [MAC A], Dst: [MAC B]` $\rightarrow$ 데이터 링크 계층의 정보.
- **Internet Protocol (L3):** `Version: 4, Src: 192.168.0.10, Dst: 93.184.216.34` $\rightarrow$ 네트워크 계층의 IP 정보.
- **Transmission Control Protocol (L4):** `Src Port: 54321, Dst Port: 80, Sequence Number: 1` $\rightarrow$ 전송 계층의 포트 및 순서 정보.
- **Hypertext Transfer Protocol (L7):** `GET /index.html HTTP/1.1` $\rightarrow$ 응용 계층의 실제 요청 데이터.
이처럼 하나의 패킷은 여러 계층의 헤더가 중첩된 형태로 구성되어 있으며, 이는 캡슐화의 결과물이다.
## 6. 계층 모델의 실무적 활용
### 트러블슈팅 (Troubleshooting)
네트워크 장애 발생 시, 계층 모델을 기반으로 접근하면 원인을 체계적으로 파악할 수 있다.
1. **Bottom-up 방식 (하위 $\rightarrow$ 상위):**
- 물리적 연결 확인(케이블, 전원) $\rightarrow$ 링크 상태 확인(L2) $\rightarrow$ 핑 테스트(L3) $\rightarrow$ 포트 개방 확인(L4) 순으로 점검.
- 주로 하드웨어 장애나 물리적 연결 문제가 의심될 때 사용한다.
2. **Top-down 방식 (상위 $\rightarrow$ 하위):**
- 애플리케이션 설정 확인(L7) $\rightarrow$ 세션/인증 확인(L5) $\rightarrow$ 네트워크 경로 확인(L3) 순으로 점검.
- 소프트웨어 설정 오류나 특정 서비스 장애가 의심될 때 사용한다.
### 계층 기반 보안 전략 (Defense in Depth)
각 계층별로 서로 다른 보안 솔루션을 적용하여 다층 방어 체계를 구축한다.
- **L2 보안:** 포트 보안(Port Security), VLAN 분리.
- **L3/L4 보안:** 방화벽(Firewall)을 통한 IP 및 포트 기반 접근 제어(ACL).
- **L7 보안:** 웹 방화벽(WAF), 침입 방지 시스템(IPS)을 통한 페이로드 분석 및 공격 차단.