OSI 7계층 모델
물리 계층부터 응용 계층까지 OSI 7계층의 역할·데이터 단위·대표 장비와 프로토콜을 연결해 이해합니다.
계층화의 필요성을 이해했으니, 이제 실제로 어떤 계층들이 존재하는지 살펴볼 차례입니다.
네트워크 계층을 설명할 때 가장 자주 쓰는 참조 모델이 OSI(Open Systems Interconnection) 7계층 모델입니다.
1984년 ISO(국제표준화기구)가 발표한 이 모델은, 통신 과정을 7개의 계층으로 나누어 각 계층의 역할을 명확히 정의합니다.
실무에서 직접 사용되는 모델은 아니지만, 네트워크를 이해하고 문제를 진단할 때 여전히 가장 널리 사용되는 참조 프레임워크입니다.
7개 계층의 순서
외우는 팁: All People Seem To Need Data Processing (7→1) 또는 Please Do Not Throw Sausage Pizza Away (1→7).
각 계층의 역할
1계층 — 물리 계층 (Physical Layer)
0과 1로 이루어진 비트를 실제 전기 신호, 빛, 전파 등의 물리적 신호로 변환하여 전송합니다.
케이블의 종류, 핀 배치, 전압 레벨, 주파수 같은 것들이 이 계층에서 정의됩니다.
| 속성 | 물리 계층에서 정의 |
|---|---|
| 전송 매체 | UTP, 광섬유, 전파 |
| 신호 유형 | 전기, 빛, 전자파 |
| 데이터 속도 | 100Mbps, 1Gbps, 10Gbps |
| 커넥터 | RJ-45, SC, LC |
| 인코딩 | NRZ, Manchester, 4B/5B |
이 계층은 데이터의 의미에는 전혀 관여하지 않고, 오직 비트를 매체에 실어 보내는 것만 담당합니다.
2계층 — 데이터 링크 계층 (Data Link Layer)
같은 네트워크 안에 있는 장치들 사이에서 데이터를 프레임 단위로 전달합니다.
비트들을 프레임(Frame) 단위로 묶습니다. Ethernet·Wi-Fi는 MAC 주소로 로컬 목적지를 식별하지만 모든 링크 프로토콜이 동일한 MAC 주소 형식을 쓰는 것은 아닙니다.
오류 감지(CRC/FCS)도 이 계층에서 수행합니다.
프레임이 전송 도중 손상되었는지 수학적으로 검증하고, 손상된 프레임은 보통 버립니다.
주요 장비는 스위치입니다.
3계층 — 네트워크 계층 (Network Layer)
서로 다른 네트워크 간의 통신을 담당합니다.
IP 주소를 기반으로 라우팅 프로토콜의 지표와 운영 정책에 따라 경로를 선택하는 라우팅이 핵심 역할입니다.
데이터 단위는 패킷(Packet)입니다.
인터넷에서 데이터가 여러 라우터를 거쳐 목적지까지 도달할 수 있는 것은 이 계층 덕분입니다.
주요 장비는 라우터입니다.
4계층 — 전송 계층 (Transport Layer)
출발지와 목적지의 프로세스 간 통신을 관리합니다.
네트워크 계층이 어떤 컴퓨터로 보낼까를 결정한다면, 전송 계층은 그 컴퓨터의 어떤 프로그램에 전달할까를 결정합니다.
- TCP: 연결을 맺고 순서가 있는 신뢰성 있는 바이트 스트림을 제공합니다. 웹·이메일·파일 전송 등에 쓰입니다. 응용 프로그램의 업무 처리 성공까지 보장하지는 않습니다.
- UDP: 비연결 데이터그램 전달이며 UDP 자체는 순서·재전송을 제공하지 않습니다. 스트리밍·게임·DNS 등에 쓰이며, 그 위의 QUIC 같은 프로토콜이 신뢰성 기능을 더할 수 있습니다.
포트 번호는 주소·전송 프로토콜과 함께 소켓 끝점을 식별하는 데 쓰입니다. 하나의 포트가 항상 하나의 프로세스와 일대일로 대응하지는 않습니다. HTTP 80, HTTPS 443, SSH 22는 기본 포트 예시입니다.
5계층 — 세션 계층 (Session Layer)
통신 세션의 수립, 관리, 종료를 담당합니다.
두 시스템 간의 대화를 조율하는 역할입니다.
현대 인터넷에서는 이 계층이 독립적으로 구현되는 경우가 드물고, 대부분 애플리케이션 계층에 흡수되어 있습니다.
6계층 — 표현 계층 (Presentation Layer)
데이터의 형식 변환, 암호화, 압축을 담당하는 것으로 설명됩니다.
다만 현대 인터넷에서는 이 기능들이 TLS 라이브러리, HTTP, 애플리케이션 코드 안에 섞여 구현되는 경우가 많습니다.
| 기능 | 예시 |
|---|---|
| 형식 변환 | ASCII ↔ EBCDIC, Unicode |
| 암호화 | TLS가 제공하는 암호화 기능 |
| 압축 | gzip, Brotli |
| 직렬화 | JSON, XML, Protocol Buffers |
세션 계층과 마찬가지로 현대에는 애플리케이션 계층에 통합되는 경향이 있습니다.
7계층 — 응용 계층 (Application Layer)
사용자와 가장 가까운 계층으로, 실제 네트워크 서비스를 제공합니다.
HTTP, FTP, SMTP, DNS 같은 프로토콜이 이 계층에서 동작합니다.
계층별 대표 예시 정리
OSI REFERENCE · RESPONSIBILITY / DATA UNIT
데이터 단위와 기능을 함께 읽되 구현을 일곱 모듈로 단정하지 않는다
7→1 순서로 메시지·세그먼트/데이터그램·IP 패킷·프레임·비트의 책임을 비교합니다. 세션·표현 기능과 TLS·ARP 같은 경계 기능은 실제 인터넷 구현에서 참조 모델과 정확히 일치하지 않습니다.
| 계층 | 데이터 단위 | 대표 기능·프로토콜·장비 |
|---|---|---|
| 7 · 응용 | 메시지 | HTTP, DNS, SMTP, SSH, FTP |
| 6 · 표현 | 상위 데이터 | 문자 인코딩, 압축, TLS의 표현 기능 |
| 5 · 세션 | 상위 데이터 | RPC·NetBIOS의 세션 관리 |
| 4 · 전송 | TCP 세그먼트·UDP 데이터그램 등 | TCP, UDP, UDP 위 QUIC |
| 3 · 네트워크 | IP 패킷 | IP, ICMP, IPv4의 IGMP · 라우터 |
| 2 · 데이터 링크 | 프레임 | Ethernet·Wi-Fi MAC, PPP, VLAN · 스위치 |
| 1 · 물리 | 비트·신호 | UTP, 광섬유, 전파, PHY 규격 · 허브·리피터 |
- 7 · 응용
- 데이터 단위: 메시지
- 대표 기능·프로토콜·장비: HTTP, DNS, SMTP, SSH, FTP
- 6 · 표현
- 데이터 단위: 상위 데이터
- 대표 기능·프로토콜·장비: 문자 인코딩, 압축, TLS의 표현 기능
- 5 · 세션
- 데이터 단위: 상위 데이터
- 대표 기능·프로토콜·장비: RPC·NetBIOS의 세션 관리
- 4 · 전송
- 데이터 단위: TCP 세그먼트·UDP 데이터그램 등
- 대표 기능·프로토콜·장비: TCP, UDP, UDP 위 QUIC
- 3 · 네트워크
- 데이터 단위: IP 패킷
- 대표 기능·프로토콜·장비: IP, ICMP, IPv4의 IGMP · 라우터
- 2 · 데이터 링크
- 데이터 단위: 프레임
- 대표 기능·프로토콜·장비: Ethernet·Wi-Fi MAC, PPP, VLAN · 스위치
- 1 · 물리
- 데이터 단위: 비트·신호
- 대표 기능·프로토콜·장비: UTP, 광섬유, 전파, PHY 규격 · 허브·리피터
인터넷 프로토콜의 기능을 OSI에 대응한 학습용 정리입니다. OSI 세션·표현 계층의 실제 표준 PDU 이름을 정의하는 표는 아닙니다.
L4가 보장하는 범위를 구분하기
TCP: 순서 있는 신뢰성 바이트 스트림 · 응용 업무 성공까지 보장하지 않음
UDP: 자체 순서·재전송 없음 · 위의 QUIC이 전송 기능을 더할 수 있음
Ethernet·Wi-Fi는 물리와 데이터 링크 기능 모두를 포함합니다. 표의 상위 데이터는 실제 OSI 표준 PDU 이름을 새로 정의한 것이 아닙니다.
이더넷과 Wi-Fi는 물리 계층과 데이터 링크 계층에 모두 걸쳐 있습니다.
실제 표준은 매체와 신호 방식뿐 아니라 프레임 포맷과 MAC 동작도 함께 정의하기 때문입니다.
ARP처럼 IP 주소와 MAC 주소 사이를 이어 주는 프로토콜은 L2/L3 경계에 놓인 기능으로 이해하면 좋습니다.
기능에서 계층을 찾아보기: HTTP 요청의 URL을 읽어 어느 처리기로 보낼지 고르는 것은 응용 기능입니다. 목적지 IP로 다음 홉을 고르는 것은 네트워크 기능이고, 그 다음 홉까지 보낼 Ethernet 프레임의 로컬 주소를 사용하는 것은 데이터 링크 기능입니다. 같은 요청을 설명하더라도 무엇을 판단하는지에 따라 다른 계층을 가리킵니다. 한 장비가 여러 기능을 수행할 수도 있으므로 장비 이름만으로 기능을 모두 한 계층에 넣지는 않습니다.
독립 판단: 클라이언트가 서버와 TCP 연결을 맺고 HTTP 응답 404 Not Found를 받았습니다. “TCP가 신뢰성 있으므로 요청한 파일도 반드시 존재한다”는 결론이 맞을까요? 관측으로 확인한 전송과, 응용에서 결정한 요청 결과를 나누어 설명하세요.
전송과 업무 결과의 경계 확인
404 응답 바이트를 받은 것과 요청한 파일을 얻은 것은 다릅니다. 이 관측에서는 TCP를 통해 HTTP 응답을 받을 수 있었지만, 서버의 HTTP 처리는 요청한 대상을 찾지 못했다고 알렸습니다. TCP는 바이트 전달을 담당하며 URL에 맞는 파일·권한·업무 결과를 결정하지 않습니다. 이 응답만으로 이후 통신이나 서버의 모든 기능이 정상이라고 확장하지도 않습니다.
OSI 모델의 한계와 의의
한계
OSI 모델은 1984년에 발표되었지만, 당시에 이미 TCP/IP가 인터넷에서 널리 사용되고 있었습니다.
OSI는 기능과 책임을 설명하는 참조 모델이고, 인터넷에서 운용되는 TCP/IP 프로토콜 스택과 경계가 정확히 일치하지 않습니다.
5~6계층은 현대 네트워크에서 독립 계층으로 분리되어 보이지 않는 경우가 많습니다.
TLS는 구현과 관점에 따라 표현 계층 또는 응용 계층 기능으로 설명되기도 하고, 세션 관리는 HTTP의 Cookie/Session이나 WebSocket 같은 응용 계층 기술이 직접 처리하는 경우가 많습니다.
의의
그럼에도 OSI 모델은 여전히 중요합니다.
- 공통 언어: L7 로드 밸런서, L3 스위치 같은 용어는 모두 OSI 계층 번호를 사용합니다.
- 문제 진단 프레임워크: 이 문제가 몇 계층에서 발생한 것인가?라는 사고 방식은 네트워크 트러블슈팅의 기본입니다.
- 학습 도구: 7개로 세분화되어 있어 각 기능의 역할을 명확히 이해할 수 있습니다.
실무의 HTTP용 L7 로드 밸런서는 헤더·URL·쿠키 등을 라우팅에 활용할 수 있습니다. 암호화된 내용을 읽으려면 TLS 종료 등 해당 정보를 볼 수 있는 조건이 필요합니다.
L4 로드 밸런서는 IP·포트·전송 프로토콜과 연결 상태 등을 이용해 트래픽을 분배합니다.
다음 함수는 학습용 분류 사전을 조회합니다. Ethernet·Wi-Fi처럼 여러 계층에 걸치는 표준도 있으므로 반환된 번호를 유일한 구현 위치로 해석하지 않습니다.
OSI_LAYERS = {
7: ("응용", ["HTTP", "DNS", "SMTP", "SSH"]),
6: ("표현", ["JPEG", "gzip", "UTF-8"]),
5: ("세션", ["RPC", "NetBIOS"]),
4: ("전송", ["TCP", "UDP", "QUIC"]),
3: ("네트워크", ["IP", "ICMP", "OSPF"]),
2: ("데이터 링크", ["Ethernet", "Wi-Fi", "PPP"]),
1: ("물리", ["UTP", "광섬유", "전파"]),
}
BOUNDARY_CASES = {
"TLS": "표현/응용 계층 경계에서 설명되는 경우가 많음",
"ARP": "데이터 링크와 네트워크 계층 사이를 이어 주는 경계 기능",
}
def which_layer(protocol):
"""프로토콜이 속하는 OSI 계층 찾기"""
if protocol in BOUNDARY_CASES:
return f"{protocol} → {BOUNDARY_CASES[protocol]}"
for layer_num, (name, protocols) in OSI_LAYERS.items():
if protocol in protocols:
return f"{protocol} → L{layer_num} {name} 계층"
return f"{protocol} → 알 수 없음"
for p in ["HTTP", "TCP", "IP", "Ethernet", "DNS", "TLS", "ARP"]:
print(which_layer(p))위 코드에서 HTTP와 DNS가 모두 L7로 나오는 이유는 서비스를 다루는 응용 프로토콜로 사전에 넣었기 때문입니다. TCP는 L4, IP는 L3이고, TLS·ARP는 경계 설명을 먼저 반환합니다. 사전에 없는 이름의 “알 수 없음”은 이 학습용 목록에 없다는 뜻이며 실제 통신 장애나 존재하지 않는 프로토콜의 증거가 아닙니다.
다음 절에서는 OSI 7계층이 현실에서 어떻게 단순화되어 사용되는지, TCP/IP 4계층 모델을 살펴봅니다.