부하 분산과 네트워크 계층
1. 부하 분산의 네트워크 계층 개요¶
부하 분산 장치는 시스템으로 들어오는 모든 트래픽을 검사하고 적절한 서버로 라우팅합니다. 주로 사용되는 계층은 두 가지입니다.
- L4 (전송 계층 - Transport Layer): OSI 모델의 4번 계층.
- L7 (응용 계층 - Application Layer): OSI 모델의 7번 계층.
OSI 모델은 TCP/IP 모델과 유사하지만 네트워크 구조를 더 세분화하여 정의한 모델입니다.
2. 전송 계층 부하 분산 (L4 Load Balancing)¶
작동 방식¶
- 클라이언트로부터 받은 TCP 패킷을 백엔드 서버로 전달합니다.
- TCP 헤더에 담긴 정보(출발지/도착지의 IP 주소 및 포트)만 확인하며, 패킷 내부의 콘텐츠(데이터)는 검사하지 않습니다.
주요 특징¶
- 낮은 비용: 콘텐츠를 열어보지 않으므로 연산 자원 소모가 매우 적고 속도가 빠릅니다.
- 보안 및 은닉: * 사용자의 요청이 서버로 갈 때: 부하 분산 장치가 출발지 주소를 자신의 주소로, 목적지를 서버 주소로 변경합니다.
- 서버의 응답이 사용자에게 갈 때: 출발지를 자신의 주소로, 목적지를 사용자의 주소로 변경합니다.
- 결과적으로 사용자는 실제 서버의 주소를 알 수 없어 시스템이 안전하게 보호됩니다.
3. 응용 계층 부하 분산 (L7 Load Balancing)¶
작동 방식¶
- 단순한 TCP 패킷 정보를 넘어 HTTP 메시지 헤더의 내용을 직접 확인하여 지능적인 라우팅을 수행합니다.
- 검사 기준: 요청 URL, 데이터 형태, HTTP 메서드(GET/POST 등), 브라우저 쿠키 등.
활용 예시 (영상 스트리밍 서비스 기준)¶
- 일반 요청: 텍스트나 이미지 로드 → 일반 웹 앱 서버 클러스터로 전달 (예: 라운드 로빈 방식 사용).
- 검색 요청: 특정 영화 검색 → 검색 연산 클러스터로 전달 (예: 최소 연결 방식 사용).
- 스트리밍 요청: 영화 재생 → 전용 영상 클러스터로 전달 (예: 세션 유지를 위해 소스 IP 해시 및 쿠키 방식 사용).
4. 요약 및 비교¶
| 구분 | L4 부하 분산 (전송 계층) | L7 부하 분산 (응용 계층) |
|---|---|---|
| 확인 데이터 | IP 주소, 포트 번호 (TCP 헤더) | HTTP 헤더, URL, 쿠키, 콘텐츠 |
| 자원 소모 | 매우 적음 (비용 효율적) | 비교적 높음 (패킷 분석 필요) |
| 라우팅 정밀도 | 단순 전달 (단순 논리) | 지능적이고 정교한 라우팅 가능 |
| 주요 장점 | 속도가 빠르고 단순함 | 트래픽에 대한 높은 제어권 제공 |
결론¶
- L4는 부가적인 로직 없이 빠르고 가벼운 처리가 필요할 때 적합합니다.
- L7은 자원 소모가 발생하지만, 트래픽을 세밀하게 제어할 수 있다는 강력한 장점 때문에 대부분의 분산 시스템에서 가장 선호되는 방식입니다.