OSI 모델은 "네트워크에서 문제가 생기면 어디를 봐야 하는가?"를 알려주는 지도입니다. 7계층으로 나눠서, 케이블 문제인지 라우팅 문제인지 앱 문제인지 구분할 수 있게 해 줍니다.

아래에서 7계층을 한눈에 보세요. 위로 갈수록 소프트웨어에 가깝고, 아래로 갈수록 하드웨어에 가깝습니다.

OSI 7계층 한눈에 보기
↑ 소프트웨어
L
7
응용
앱이 네트워크와 소통하는 곳.
HTTP, HTTPS, FTP, SMTP, DNS, SSH
브라우저가 HTTP GET 전송
L
6
표현
암호화, 압축, 인코딩.
SSL/TLS, JPEG, JSON
TLS가 전송 전 암호화
L
5
세션
연결 열기, 유지, 닫기.
NetBIOS, RPC
Zoom 통화 유지
L
4
전송
TCP = 신뢰성. UDP = 속도. 포트 번호.
TCP, UDP
HTTPS → TCP:443, DNS → UDP:53
L
3
네트워크
네트워크 간 라우팅. IP 주소.
IP, ICMP, OSPF, BGP
패킷이 라우터를 거쳐 이동
L
2
데이터 링크
로컬 링크. MAC 주소, 스위치.
Ethernet, Wi-Fi, MAC
노트북 ↔ 라우터 (MAC)
L
1
물리
원시 비트. 케이블, 신호, 전압.
Cable, Fiber, Radio
Cat6 케이블이 신호 전달
↓ 하드웨어

왜 7개로 나눠야 하나?

네트워크 통신은 복잡합니다. "구글에 접속한다"는 한마디에 이런 일이 전부 일어납니다:

  1. 브라우저가 HTTP 요청을 만든다 (L7)
  2. TLS로 암호화한다 (L6)
  3. TCP 연결을 유지한다 (L5/L4)
  4. IP 주소로 라우팅한다 (L3)
  5. MAC 주소로 옆 장치에 전달한다 (L2)
  6. 전기/광 신호로 변환해서 보낸다 (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.

"계층 이름만 외우기" — "응표세전네데물"을 외우는 건 아무 의미 없습니다. 각 계층이 어떤 문제를 해결하는지를 알아야 합니다.

직접 풀어보기
#1쉬움
친구에게 카카오톡 메시지를 보낼 때, 이 메시지가 OSI 7계층을 어떻게 지나가는지 L7부터 L1까지 설명하세요.
#2보통
같은 Wi-Fi에 연결된 두 노트북이 통신할 때, L3(IP)은 필요한가요? L2(MAC)만으로 충분하지 않은 이유를 설명하세요.
#3어려움
스위치는 L2 장비이고 라우터는 L3 장비입니다. 스위치가 IP 주소를 볼 수 없는 이유와, 라우터가 MAC 주소를 다시 쓰는 이유를 설명하시오.
Hint
각 계층이 처리하는 헤더가 다릅니다. 스위치는 프레임 헤더만, 라우터는 패킷 헤더까지.

문제 풀이가 필요하신가요?

문제를 올리면 검증된 단계별 풀이를 몇 초 만에 받을 수 있습니다.

GPAI Solver 열기 →