OSI 7계층을 "물데네전세표응"으로 외워봐야 막상 장애가 나면 쓸모가 없습니다. 실무에서 OSI가 의미 있는 순간은 단 하나, **"이 문제가 어느 계층에서 난 건가"**를 좁힐 때입니다. 그 관점으로 다시 봅니다.
계층은 "책임의 경계"다
각 계층은 아래 계층을 신뢰하고 자기 일만 합니다. 데이터는 위에서 아래로 내려가며 헤더가 붙고(캡슐화), 받는 쪽에서 위로 올라가며 벗겨집니다. 핵심은 각 계층이 무엇을 책임지는가입니다.
| 계층 | 이름 | 책임 | 대표 |
|---|---|---|---|
| 7 | 응용 | 사용자 데이터·프로토콜 | HTTP, DNS, SSH |
| 6 | 표현 | 인코딩·암호화 | TLS, 문자셋 |
| 5 | 세션 | 연결 세션 관리 | 세션 수립·유지 |
| 4 | 전송 | 포트·신뢰성 | TCP, UDP |
| 3 | 네트워크 | IP 주소·라우팅 | IP, 라우터 |
| 2 | 데이터링크 | MAC·같은 망 전달 | 이더넷, 스위치 |
| 1 | 물리 | 전기·신호·케이블 | 랜선, 광케이블 |
실무에서는 4계층(TCP/IP)·3계층(IP)·7계층(애플리케이션)을 가장 많이 입에 올립니다. "L4 로드밸런서", "L7 라우팅" 같은 표현이 전부 이 번호입니다.
문제를 계층으로 좁히기
장애 진단은 아래에서 위로 올라가면 빠릅니다. 한 계층씩 "여기까지는 정상인가"를 확인합니다.
- 1계층(물리): 케이블·링크가 살아 있나.
ip link로 인터페이스가UP인지. - 2계층(링크): 같은 망의 MAC을 찾았나.
ip neigh로 ARP 테이블 확인. - 3계층(네트워크): IP로 상대에게 닿나.
ping·ip route로 경로 확인. - 4계층(전송): 그 포트가 열려 있나.
ss -tlnp로 리슨 확인, 막히면 방화벽. - 7계층(응용): 서비스가 제대로 응답하나.
curl -v로 HTTP 상태·헤더 확인.
로컬 터미널
ping 10.0.0.5 # 3계층: IP까지 닿나
ss -tlnp | grep :443 # 4계층: 포트가 듣나
curl -v https://10.0.0.5 # 7계층: 앱이 응답하나
OUTPUT
PING 10.0.0.5: 56 data bytes
64 bytes from 10.0.0.5: icmp_seq=0 ttl=64 time=0.3 ms
ping은 되는데 curl이 안 되면 3계층은 정상이고 문제는 위쪽(4계층 포트나 7계층 앱)에 있다고 좁혀집니다. 이렇게 계층을 끊어보면 "네트워크가 안 돼요"가 "포트는 닫혀 있고 IP는 닿는다"로 구체화됩니다.
요점 정리
- OSI는 암기용이 아니라 문제를 계층으로 좁히는 지도입니다.
- 각 계층은 아래를 신뢰하고 자기 책임만 진다 — 그래서 아래에서 위로 진단합니다.
- 실무 빈출은 L3(IP)·L4(포트/TCP·UDP)·L7(HTTP).
ping(L3) →ss(L4) →curl(L7) 순으로 끊어보면 원인 계층이 드러납니다.
계층별로 패킷을 직접 끊어보며 장애를 좁히는 실습은 네트워크 트랙에서 회원가입 없이 무료로 할 수 있습니다.