네트워크

7. L4 스위치 / L7 스위치 + 로드 밸런싱

ggomjiu 2025. 2. 21. 17:04

로드 밸런싱

- 로드 밸런서는 서비스용 주소를 가진 가상 서버로 동작

- 클라이언트와 다중화된 각각의 실제 서버를 중계하는 역할 수행

- 전 )

- 후 )

- 목적 )

  • 서버 자원 사용의 최적화
  • 데이터 처리량의 증가
  • 클라이언트와 서버 간 응답 속도 감소
  • 특정 서버의 과부화 방지
  • 안전성, 가용성 극대화

알고리즘

1. 정적 부하 분산(Static Load Balancing)

1) 라운드 로빈(Round Robin)

: 입력받은 요청을 각각의 서버에 순차적으로 할당하는 방식

- 클라이언트의 요청을 순서대로 분배하기 때문에 알고리즘이 단순하고 각 서버가 트래픽을 골고루 나눠서 처리함

- 각 서버의 처리량이 비슷할 경우 운용

2) IP Hash

: 클라이언트의 IP 주소를 특정 서버에 매핑해 특정 IP에서 전달받은 요청을 항상 매핑된 서버로 보내는 방식

- 클라이언트는 항상 동일한 서버로 접속하게 됨

 

2. 동적 부하 분산(Dynamic Load Balancing)

1) 가중치 라운드 로빈(Weight Round Robin)

: 각 서버별로 가중치를 설정하고 가중치가 가장 높은 서버에 트래픽을 우선 배정함

- 클라이언트 입력이 100이고 서버 A, B, C의 가중치가 2, 3, 5라고 가정했을 때 각 서버에는 20, 30, 50의 입력이 Round Robin 방식으로 전달됨

- 각 서버의 처리량이 상이할 경우 운용

로드 밸런서의 종류

1. L4 로드 밸런싱

- IP, MAC, PORT 등 OSI 계층 중 4계층(전송 계층) 이하 프로토콜의 헤더를 기반으로 부하를 분산

 

2. L7 로드 밸런싱

- L4의 기능 + HTTP, FTP, SMTP 등 OSI 7계층 중 7계층(애플리케이션 층)이하 프로토콜 헤더를 기반으로 부하를 분산

 

3. 주의할 점

- 로드밸런서 또한 일종의 장치이기 때문에 다중화 등 장애 대비책을 마련해야 함

 

L4 vs L7

- 공통점 )

  • 도달한 패킷을 적절한 목적지로 보내줌
  • 로드밸런싱 기능을 수행

- 차이점 )

  • TCP 프로토콜
  • L4 스위치는 중계된 서버와 클라이언트 간 3-way handshake을 통해 하나의 세션을 생성
  • L7 스위치는 클라이언트와 스위치, 스위치와 서버 간 3-way handshake을 통해 각각의 TCP 세션을 생성
  • L7는 패킷, 페이로드의 분석을 통해 패킷 필터링 기능을 수행할 수 있음

- Mega Proxy Problem : L4 스위치에서 IP Hash 방식으로 부하를 분산할 경우 특정 서버에 요청이 집중되는 현상이 발생할 수 있음

'네트워크' 카테고리의 다른 글

9. HTTPS  (0) 2025.02.28
8. HTTP 진화 과정  (0) 2025.02.21
6. 네트워크 기기  (0) 2025.02.21
5. DNS + 웹 통신 흐름  (0) 2025.02.21
4. TCP & UDP  (0) 2025.02.21