전송 매체, 주소, 신뢰성, 애플리케이션 규칙을 한곳에 묶으면 작은 변경도 전체 구현을 흔듭니다.
계층화는 네트워크 변경과 문제 진단을 분리한다
계층 모델은 모든 기능을 한 덩어리로 보지 않고 역할과 인터페이스를 나눕니다. 그래서 아래 계층이 바뀌어도 위 계층 코드를 덜 흔들 수 있습니다.
각 계층은 아래 계층의 기능을 전제로 삼고, 위 계층에는 책임 범위를 더 좁힌 인터페이스를 보입니다.
이더넷을 Wi-Fi로 바꿔도 IP와 TCP 코드는 그대로 쓰는 방식은 의존성 분리와 비슷합니다.
케이블, ARP, 라우팅, 포트, HTTP 응답을 계층 순서로 보면 원인을 빠르게 좁힐 수 있습니다.
L1 L2
링크 상태와 같은 네트워크 내 ARP 응답을 확인합니다.
L3 L4
목적지 IP 도달성과 TCP 포트 연결 가능 여부를 분리합니다.
L7
HTTP 상태 코드, 헤더, 응답 지연은 애플리케이션 계층의 신호입니다.