네트워크 장애가 생겼을 때, "어디서부터 봐야 하지?"라는 질문에 답하려면 — 결국 계층을 알아야 합니다.

네트워크 계층 모델은 복잡한 통신을 쪼개서 이해하기 위한 추상화 도구입니다. OSI 7계층은 이론적 프레임이고, TCP/IP 4계층은 실제 인터넷이 돌아가는 구조입니다. 둘의 관계와 각 계층이 하는 일을 정리합니다.


왜 계층 모델인가 — 추상화의 힘

네트워크 통신은 "전기 신호를 보내는 것"부터 "웹 페이지를 렌더링하는 것"까지 범위가 넓습니다. 이걸 한 덩어리로 다루면 문제가 생겼을 때 원인을 찾기 어렵습니다.

  • **계층별 독립성 **: 각 계층은 아래 계층이 제공하는 서비스만 사용하고, 내부 구현을 몰라도 됩니다
  • ** 교체 가능성 **: 이더넷을 Wi-Fi로 바꿔도 상위 계층은 그대로 동작합니다
  • ** 문제 격리 **: "핑은 되는데 HTTP가 안 된다" → L3까지는 정상, L7 문제로 범위가 좁혀집니다

OSI 7계층 — 역할 정리

계층이름핵심 역할대표 프로토콜/장비
7응용 (Application)사용자와 직접 상호작용하는 서비스HTTP, FTP, SMTP, DNS
6표현 (Presentation)데이터 형식 변환, 암호화, 압축SSL/TLS, JPEG, ASCII
5세션 (Session)통신 세션 수립/유지/종료NetBIOS, RPC
4전송 (Transport)종단 간 신뢰성, 흐름 제어TCP, UDP
3네트워크 (Network)논리 주소(IP) 기반 라우팅IP, ICMP, 라우터
2데이터 링크 (Data Link)물리 주소(MAC) 기반 프레임 전달Ethernet, Wi-Fi, 스위치
1물리 (Physical)비트를 전기/광/무선 신호로 변환케이블, 허브, 리피터

공부하다 보니 5~6계층이 가장 헷갈렸습니다. 실무에서는 이 두 계층이 독립적으로 존재하기보다 응용 계층에 흡수되어 있는 경우가 많아서, TCP/IP 모델에서는 아예 합쳐버린 겁니다.


TCP/IP 4계층 — 실제 인터넷의 구조

PLAINTEXT
┌─────────────────────────┐
│  4. 응용 (Application)   │  ← OSI 5~7계층 통합
│  HTTP, DNS, FTP, SSH     │
├─────────────────────────┤
│  3. 전송 (Transport)     │  ← OSI 4계층
│  TCP, UDP                │
├─────────────────────────┤
│  2. 인터넷 (Internet)    │  ← OSI 3계층
│  IP, ICMP, ARP           │
├─────────────────────────┤
│  1. 네트워크 액세스       │  ← OSI 1~2계층 통합
│  Ethernet, Wi-Fi         │
└─────────────────────────┘

OSI ↔ TCP/IP 매핑

TCP/IPOSI
응용응용 + 표현 + 세션 (5~7)
전송전송 (4)
인터넷네트워크 (3)
네트워크 액세스데이터 링크 + 물리 (1~2)

TCP/IP가 현실이고, OSI는 분석 도구입니다. 둘 다 알아야 하지만 실무에서 쓰는 건 TCP/IP입니다.


패킷 캡슐화와 역캡슐화

데이터가 송신자에서 수신자로 갈 때, 각 계층을 지나면서 헤더가 붙습니다. 이걸 ** 캡슐화(Encapsulation)**라고 합니다.

PLAINTEXT
송신 측 (위에서 아래로):
[응용 데이터]
→ [TCP 헤더 | 응용 데이터]              ← 세그먼트
→ [IP 헤더 | TCP 헤더 | 응용 데이터]    ← 패킷
→ [이더넷 헤더 | IP | TCP | 데이터 | FCS] ← 프레임

수신 측 (아래에서 위로):
프레임 → 패킷 → 세그먼트 → 데이터       ← 역캡슐화

각 계층의 데이터 단위(PDU)가 다릅니다:

  • ** 응용 계층 **: 메시지 (Message)
  • ** 전송 계층 **: 세그먼트 (TCP) / 데이터그램 (UDP)
  • ** 네트워크 계층 **: 패킷 (Packet)
  • ** 데이터 링크 계층 **: 프레임 (Frame)
  • ** 물리 계층 **: 비트 (Bit)

실무에서 어떤 계층에서 문제가 발생하는가

장애 상황에서 계층별로 의심할 포인트가 다릅니다:

L1/L2 — 물리적 연결 문제

  • 케이블 불량, 포트 LED 꺼짐
  • ip link show 또는 ifconfig에서 인터페이스 DOWN 상태
  • MAC 주소 충돌 (드물지만 가상 환경에서 발생)

L3 — 라우팅 문제

  • ping으로 목적지 도달 가능 여부 확인
  • traceroute로 어디서 패킷이 멈추는지 추적
  • 라우팅 테이블 오설정, 서브넷 마스크 불일치

L4 — 포트/방화벽 문제

  • ping은 되는데 telnet IP PORT가 안 되면 → L4 문제
  • 방화벽에서 특정 포트 차단
  • TCP RST 반복 → 서버에서 해당 포트를 리스닝하지 않음

L7 — 애플리케이션 문제

  • TCP 연결은 되는데 HTTP 응답이 비정상
  • 502 Bad Gateway → 리버스 프록시 뒤의 서버 다운
  • TLS 인증서 만료, HTTP 헤더 파싱 오류

Wireshark로 보는 계층별 헤더

Wireshark에서 패킷 하나를 잡으면 계층별 헤더를 한눈에 볼 수 있습니다.

PLAINTEXT
Frame 1: 74 bytes on wire
├── Ethernet II (L2)
│   ├── Src MAC: aa:bb:cc:dd:ee:ff
│   └── Dst MAC: 11:22:33:44:55:66
├── Internet Protocol Version 4 (L3)
│   ├── Src IP: 192.168.1.10
│   ├── Dst IP: 93.184.216.34
│   └── TTL: 64
├── Transmission Control Protocol (L4)
│   ├── Src Port: 52431
│   ├── Dst Port: 443
│   ├── Seq: 1
│   └── Flags: [SYN]
└── Transport Layer Security (L7)
    └── TLS 1.3 Client Hello

실무에서 Wireshark는 "계층 모델을 눈으로 보는 도구"입니다. 패킷 캡처를 하면 자연스럽게 각 계층의 헤더와 역할이 보입니다.


자주 헷갈리는 포인트

ARP는 몇 계층인가?

  • OSI 기준으로는 2~3계층 사이에 걸쳐 있습니다 (L3 주소를 L2 주소로 변환)
  • TCP/IP 기준으로는 인터넷 계층 또는 네트워크 액세스 계층으로 분류됩니다
  • 결론: 계층 모델은 완벽한 분류 체계가 아니라 사고 도구입니다

L4 로드밸런서 vs L7 로드밸런서

  • L4: IP + 포트만 보고 분배 → 빠르지만 HTTP 내용을 모름
  • L7: HTTP 헤더, URL, 쿠키까지 보고 분배 → 느리지만 세밀한 라우팅 가능
  • AWS에서 NLB는 L4, ALB는 L7에 해당합니다

방화벽의 계층

  • 전통적 방화벽: L3~L4 (IP, 포트 기반 필터링)
  • WAF (Web Application Firewall): L7 (HTTP 요청 내용까지 검사)
  • 같은 "방화벽"이라도 동작하는 계층이 다릅니다

정리

계층 모델은 암기 대상이 아니라 트러블슈팅 프레임워크입니다.

  • OSI 7계층은 이론적 분석 도구, TCP/IP 4계층은 실제 구현 모델
  • 캡슐화: 위에서 아래로 헤더가 붙고, 역캡슐화: 아래에서 위로 벗겨짐
  • 장애 대응의 기본: ping(L3) → telnet(L4) → HTTP 요청(L7) 순서로 계층을 좁혀 나가기
  • Wireshark 한 번 써보면 계층 구조가 머릿속에 자연스럽게 잡힙니다
댓글 로딩 중...