OSI 모델은 "네트워크에서 문제가 생기면 어디를 봐야 하는가?"를 알려주는 지도입니다. 7계층으로 나눠서, 케이블 문제인지 라우팅 문제인지 앱 문제인지 구분할 수 있게 해 줍니다.
아래에서 7계층을 한눈에 보세요. 위로 갈수록 소프트웨어에 가깝고, 아래로 갈수록 하드웨어에 가깝습니다.
왜 7개로 나눠야 하나?
네트워크 통신은 복잡합니다. "구글에 접속한다"는 한마디에 이런 일이 전부 일어납니다:
- 브라우저가 HTTP 요청을 만든다 (L7)
- TLS로 암호화한다 (L6)
- TCP 연결을 유지한다 (L5/L4)
- IP 주소로 라우팅한다 (L3)
- MAC 주소로 옆 장치에 전달한다 (L2)
- 전기/광 신호로 변환해서 보낸다 (L1)
이걸 한 덩어리로 보면 디버깅이 불가능합니다. 계층으로 나누면 "문제가 어느 층에서 발생했는가?"로 범위를 좁힐 수 있습니다.
실전 디버깅으로 보는 7계층
네트워크 엔지니어가 실제로 쓰는 방식:
"인터넷이 안 돼요" → 아래에서 위로 올라가며 확인:
- L1: 랜선 뽑혀있나? Wi-Fi 연결돼있나? →
ip link show - L2: MAC 테이블에 잡히나? 스위치 포트 살아있나?
- L3: IP 받았나? 핑 가나? →
ping 8.8.8.8 - L4: 포트 열려있나? →
telnet host 443 - L7: DNS 되나? HTTP 응답 오나? →
curl -v https://google.com
L1에서 안 되면 L7을 아무리 봐도 소용없습니다. 아래에서 위로 올라가는 것이 원칙.
각 계층 핵심 정리
L7 응용 — "무엇을 하려는가"
사용자가 직접 만나는 계층. HTTP, HTTPS, DNS, SSH, SMTP.
웹 브라우저, API 서버, 이메일 클라이언트가 여기서 동작합니다. 개발자가 가장 많이 접하는 계층.
L4 전송 — "신뢰할 것인가, 빠를 것인가"
TCP vs UDP의 선택지.
- TCP: 데이터 순서 보장, 손실 재전송. 웹, 이메일, 파일 전송.
- UDP: 순서/손실 신경 안 씀. 빠름. 영상 스트리밍, 게임, DNS.
포트 번호가 여기 있습니다: HTTP=80, HTTPS=443, SSH=22, DNS=53.
L3 네트워크 — "어떤 경로로 보낼 것인가"
IP 주소, 라우터, 라우팅 프로토콜.
패킷이 출발지에서 목적지까지 여러 네트워크를 거쳐 이동하는 방법을 결정합니다. 서울에서 도쿄 서버까지 라우터 15개를 거치는 것이 L3의 일.
L2 데이터 링크 — "바로 옆 장치까지 어떻게"
MAC 주소, 스위치, 이더넷 프레임.
L3이 "서울→도쿄" 경로라면, L2는 "내 노트북→공유기"처럼 한 구간의 전달. 같은 Wi-Fi에 있는 장치끼리의 통신.
L1 물리 — "비트를 어떤 신호로"
Cat6 케이블, 광섬유, Wi-Fi 전파, 블루투스.
만질 수 있으면 L1입니다. 케이블 불량, 커넥터 접촉 불량 같은 문제가 여기.
L5(세션)과 L6(표현)은? 현대 시스템에서는 대부분 L7에 합쳐져 있습니다. TLS는 이론상 L6이지만, 실제로는 L4-L7에 걸쳐 구현됩니다. 시험에서는 알아야 하지만, 실무에서는 별도로 구분하는 경우가 드뭅니다.
OSI vs TCP/IP — 헷갈리는 이유
OSI 7계층 TCP/IP 4계층
───────────── ─────────────
L7 응용 Application
L6 표현 (합쳐짐)
L5 세션 (합쳐짐)
L4 전송 Transport
L3 네트워크 Internet
L2 데이터 링크 Network Access
L1 물리 (합쳐짐)
OSI는 이론적 참조 모델이고, TCP/IP는 실제 인터넷이 돌아가는 방식입니다. 시험에서는 OSI 7계층을 물어보고, 실무에서는 TCP/IP 4계층으로 생각합니다. 둘 다 알아야 하는 이유.
흔한 실수
"OSI 7계층이 실제 소프트웨어 구조다" — 아닙니다. OSI는 개념적 모델이지, 실제 OS가 7개 모듈로 나뉘어 있는 게 아닙니다. 리눅스 커널에서 L2-L4는 하나의 네트워크 스택으로 구현됩니다.
"L3과 L2를 혼동" — 가장 많은 초보자가 하는 실수. L3 = 네트워크 간 (IP, 라우터). L2 = 한 구간 (MAC, 스위치). 라우터는 L3, 스위치는 L2.
"계층 이름만 외우기" — "응표세전네데물"을 외우는 건 아무 의미 없습니다. 각 계층이 어떤 문제를 해결하는지를 알아야 합니다.