DEV LOG

주니엘의 개발일지

개발 공부 및 개발자 이야기를 올리는 블로그입니다.

CS + WEB

L4 vs L7 차이 (ft. 택배 분류)

L4 ? L7 ?

인프라 이야기를 듣다 보면 이런 말이 나온다.

"앞단에 L4 두고, 그 뒤에 L7 로 라우팅해요"

여기서 L4 , L7 은 OSI 7계층의 4계층 , 7계층을 말한다.
보통은 로드밸런서가 몇 계층의 정보를 보고 트래픽을 나누는지를 뜻한다.

택배 분류로 생각하면 쉽다.

  • L4 : 상자에 붙은 주소만 보고 분류한다 (상자는 안 뜯음)
  • L7 : 상자를 뜯어서 내용물까지 보고 분류한다

OSI 7계층 , 간단하게

계층 이름 하는 일 예시
7 응용 (Application) 실제 데이터의 의미 HTTP , HTTPS , DNS
6 표현 (Presentation) 인코딩 , 암호화 TLS (보통 여기로 설명)
5 세션 (Session) 연결 유지
4 전송 (Transport) 포트 , 신뢰성 있는 전송 TCP , UDP
3 네트워크 (Network) 경로 찾기 IP
2 데이터 링크 (Data Link) 같은 네트워크 안 전달 MAC , 이더넷
1 물리 (Physical) 전기 신호 케이블

이번 글에서 중요한 건 두 개다.

  • 4계층 : IP 주소 + 포트 번호 (TCP / UDP)
  • 7계층 : HTTP 내용 (URL , 헤더 , 쿠키 등)
[ IP 헤더 | TCP 헤더 | HTTP 요청 (GET /api/users , Host , Cookie ...) ]
  ←── L4 는 여기까지 ──→
  ←────────────── L7 은 끝까지 다 본다 ──────────────→

로드밸런서는 왜 필요할까 ?

서버 한 대로 모든 요청을 받으면

  • 사용자가 늘면 버티지 못한다
  • 그 서버가 죽으면 서비스 전체가 죽는다

그래서 서버를 여러 대 두고, 앞에서 요청을 나눠주는 역할을 둔다. 이게 로드밸런서다.