[Network] OSI 7 Layer: 각 계층의 의미와 실전 매핑
OSI 7 Layer, OSI 모델, L1, L2, L3, L4, L5, L6, L7, TCP/IP stack
정의
OSI 7 Layer 모델 은 네트워크 통신을 7 계층으로 추상화 한 ITU-T 표준 (1984). 실제 인터넷은 TCP/IP 4-5 계층 이지만, OSI 의 개념적 분리 가 디버깅 / 도구 분류 의 토대.
7 Layer 매트릭스
| Layer | 이름 | 단위 | 예 | 도구 |
|---|---|---|---|---|
| L7 | Application | message | HTTP, gRPC, DNS, SMTP, MQTT, SSH | curl, postman |
| L6 | Presentation | data | TLS, JSON, Protobuf, MIME, gzip | openssl |
| L5 | Session | session | NetBIOS, RPC, 대부분 통합 | - |
| L4 | Transport | segment | TCP, UDP, QUIC | netstat, ss, tcpdump |
| L3 | Network | packet | IP, ICMP, BGP, OSPF | traceroute, ping |
| L2 | Data Link | frame | Ethernet, WiFi, ARP, MAC | arp, wireshark |
| L1 | Physical | bit | 케이블, 무선 신호, 전기/광 신호 | - |
TCP/IP 와의 매핑
실제 인터넷은 4-5 계층 의 TCP/IP. OSI 의 5/6/7 이 Application 으로 통합:
flowchart TB
subgraph OSI["OSI 7 Layer"]
O7[L7 Application]
O6[L6 Presentation]
O5[L5 Session]
O4[L4 Transport]
O3[L3 Network]
O2[L2 Data Link]
O1[L1 Physical]
end
subgraph TCPIP["TCP/IP 4 Layer"]
T4[Application]
T3[Transport]
T2[Internet]
T1[Link]
end
O7 --> T4
O6 --> T4
O5 --> T4
O4 --> T3
O3 --> T2
O2 --> T1
O1 --> T1
각 계층 깊게
L7 Application
사용자 의도와 가장 가까운 계층. HTTP, gRPC, DNS, SMTP, SSH.
- HTTP:
GET /api/users HTTP/1.1 - DNS:
A example.com → 93.184.216.34 - gRPC:
/shop.Shop/GetItemover HTTP/2
자세한 건 HTTP/1.1, HTTP/2, HTTP/3, gRPC, network-dns.
L6 Presentation
데이터 표현 변환. 직렬화, 압축, 암호화.
- TLS (실제로는 L4-L7 사이)
- JSON, Protobuf, MessagePack
- gzip, deflate
L5 Session
세션 관리. 현대에서는 L7 의 일부 또는 애플리케이션 자체 가 담당. (HTTP cookie, JWT 등)
L4 Transport
end-to-end 신뢰성 + flow control.
| 프로토콜 | 신뢰성 | 순서 | 흐름제어 | 사용 |
|---|---|---|---|---|
| TCP | O | O | O | HTTP, FTP, SSH |
| UDP | X | X | X | DNS, VoIP, 게임, QUIC |
| QUIC | O | O (stream 별) | O | HTTP/3 |
| SCTP | O | 옵션 | O | WebRTC DataChannel |
L3 Network
IP 라우팅. 어떤 경로로 패킷이 갈지. 라우터의 영역.
- IPv4, IPv6
- ICMP (ping, traceroute)
- BGP (인터넷 라우팅 프로토콜)
- OSPF, IS-IS (내부 라우팅)
자세한 건 IP.
L2 Data Link
같은 LAN 안 의 MAC 주소 기반 통신. Switch, WiFi AP.
- Ethernet (IEEE 802.3)
- WiFi (IEEE 802.11)
- ARP (IP → MAC 매핑)
- VLAN (Virtual LAN)
L1 Physical
실제 전기 / 광 신호. 케이블, 무선, 광섬유.
패킷의 캡슐화
flowchart TB
L7Msg["L7 HTTP: GET /api/x"]
L7Msg -->|L6/L5| L7Frame["+ TLS 암호화"]
L7Frame -->|L4 TCP| L4Frame["TCP header + payload"]
L4Frame -->|L3 IP| L3Frame["IP header + TCP segment"]
L3Frame -->|L2 Ethernet| L2Frame["Ethernet header + IP packet + FCS"]
L2Frame -->|L1| Bit[bits on wire]
각 계층이 자기 header 를 덧붙임. 수신 측은 역순으로 벗겨 올라간다.
실전: 어디서 무엇이 깨졌나?
문제 진단의 층 별 도구:
flowchart TB
Issue{문제 발생} --> Q1{ping 가능?}
Q1 -->|아니오| L3Layer["L3 문제<br/>routing, firewall, DNS"]
Q1 -->|예| Q2{telnet/nc port?}
Q2 -->|아니오| L4Layer["L4 문제<br/>port closed, firewall"]
Q2 -->|예| Q3{TLS handshake OK?}
Q3 -->|아니오| L6Layer["L6 문제<br/>cert, SNI"]
Q3 -->|예| Q4{HTTP 200?}
Q4 -->|아니오| L7Layer["L7 문제<br/>application, auth"]
Q4 -->|예| AppLogic["애플리케이션 로직"]
| 도구 | 본 계층 |
|---|---|
ping | L3 (ICMP) |
traceroute | L3 |
nc / telnet host port | L4 |
nmap | L4 |
openssl s_client | L6 (TLS) |
curl -v | L7 (HTTP) |
dig / nslookup | L7 (DNS) |
tcpdump / wireshark | L2-L7 (raw) |
흔한 함정
WARNING
- “L7 문제” 라고 단정 = 실제는 L4 timeout 일 수 있다. 층별로 위에서 아래로 분리 진단.
- TLS 가 L4 라는 오해 = TLS 는 L5/L6 사이. L4 (TCP/UDP) 위에서 동작.
- HTTPS 인증서 문제를 방화벽 탓 =
openssl s_client로 handshake 만 따로 확인. - DNS 가 L7 인지 L3 인지 헷갈림 = L7 (애플리케이션). UDP/TCP 53 위에서.
관련 위키
이 글의 용어 (10개)
- [Network] CIDR와 Subnettingnetwork
- 정의 CIDR (Classless Inter-Domain Routing) 은 IPv4 / IPv6 주소를 prefix length 로 표기하는 표준. 1993년 등장 (RFC 1…
- [Network] DNS: 도메인 이름 해석network
- 정의 DNS (Domain Name System) 는 도메인 이름 ( ) 을 IP 주소 ( ) 로 변환하는 분산 데이터베이스. 인터넷의 가장 중요한 인프라. 기본 동작: 1. 클…
- [Network] gRPC: HTTP/2 + Protobuf, 4가지 streaming 패턴network
- 정의 gRPC 는 HTTP/2 위에서 Protobuf 직렬화 로 동작하는 고성능 RPC 프레임워크. Google 내부 Stubby 의 오픈소스 후계. 핵심 4가지: 1. Prot…
- [Network] HTTP/1.1: keep-alive, pipelining, chunked transfernetwork
- 정의 HTTP/1.1 (1997, RFC 9112 으로 재정리) 는 텍스트 기반 stateless request/response 프로토콜. 2026 시점에도 대부분의 트래픽이 H…
- [Network] HTTP/2: multiplexing, HPACK, server push의 종말network
- 정의 HTTP/2 (2015, RFC 9113) 는 HTTP/1.1 의 문법은 유지하되 전송을 바이너리 + 멀티플렉싱 으로 바꾼다. Head-of-Line Blocking (HT…
- [Network] HTTP/3: QUIC 위의 HTTP, 0-RTT, connection migrationnetwork
- 정의 HTTP/3 (2022, RFC 9114) 는 HTTP 의 전송 레이어를 TCP → QUIC 으로 교체한 버전. UDP 위에 QUIC, QUIC 위에 HTTP. 핵심 동기:…
- [Network] IP: IPv4, IPv6, 패킷 구조, fragmentationnetwork
- 정의 IP (Internet Protocol) 는 OSI L3 (네트워크 계층) 의 핵심 프로토콜. best-effort delivery (재전송 없음, 순서 보장 없음, 손실 …
- TCPnetwork
- 정의 TCP (Transmission Control Protocol)는 신뢰성 있는 연결 지향 전송 계층 프로토콜이다. RFC 9293 으로 정의되어 있다. HTTP/1.1·2,…
- TLS / SSLnetwork
- 정의 TLS (Transport Layer Security)는 (또는 위 ) 위에서 동작하는 암호화·인증 프로토콜이다. SSL 은 TLS 의 전신 (Netscape 1995, 더…
- UDPnetwork
- 정의 UDP (User Datagram Protocol)는 비연결·비신뢰 전송 계층 프로토콜이다. RFC 768 (1980) 로 정의되었다. 와 대비된다. "보내고 잊는다(fir…
💬 댓글