본문 바로가기
Network

게이트웨이 이중화(GLBP) - (12/06)

by 리아챌 2025. 2. 19.

● GLBP( Gateway Load Balancing Protocol)란?

GLBP(Gateway Load Balancing Protocol)는 시스코 전용 프로토콜로, HSRP(Hot Standby Router Protocol)나 VRRP(Virtual Router Redundancy Protocol)처럼 게이트웨이 이중화 기능을 제공하면서도 별도의 네트워크 대역 분리 없이 로드밸런싱까지 수행할 수 있는 기능을 갖추고 있습니다.


※ GLBP의 주요 특징

  • 단일 가상 IP 주소, 다중 MAC 주소 사용: GLBP는 하나의 가상 IP 주소를 사용하면서도 그룹당 최대 4개의 MAC 주소를 할당할 수 있습니다.
  • 멀티캐스트 통신: GLBP는 3초마다 224.0.0.102 주소와 UDP 포트 3222를 통해 통신합니다.
  • AVG(Active Virtual Gateway)와 AVF(Active Virtual Forwarder)로 역할 분리
  • 로드밸런싱 기능 제공: 다양한 방식으로 트래픽 부하를 분산할 수 있습니다.

※ GLBP의 구성 요소

1. AVG(Active Virtual Gateway)

GLBP 그룹 내에서 한 개의 라우터가 AVG로 선출되며, 나머지는 AVF 역할을 수행합니다. AVG의 주요 역할은 다음과 같습니다.

  • AVF들에게 가상 MAC 주소를 할당합니다.
  • 호스트(PC 등)가 게이트웨이 IP 주소에 대한 ARP 요청을 보낼 때, AVF에게 할당한 MAC 주소를 응답하여 자동으로 부하를 분산합니다.

● AVG 선출 우선순위

  1. GLBP 우선순위 값이 높은 라우터가 AVG로 선출됩니다.
  2. 만약 우선순위가 동일하다면, 인터페이스 IP 주소가 높은 라우터가 AVG로 선정됩니다.

2. AVF(Active Virtual Forwarder)

AVG가 할당한 가상 MAC 주소를 이용해 실제 트래픽을 포워딩하는 역할을 합니다. AVF의 특징은 다음과 같습니다.

  • 자신에게 할당된 가상 MAC 주소를 목적지로 설정한 프레임을 전송합니다.
  • 호스트가 ARP 요청을 보내면, 특정 AVF의 가상 MAC 주소를 응답받아 해당 MAC을 ARP 테이블에 등록합니다.
  • 모든 호스트는 동일한 가상 IP를 사용하지만, 각각 다른 가상 MAC 주소를 가집니다.

● 가상 MAC 주소 형식

0007.b4ZZ.ZZXX
  • ZZ: GLBP 그룹 번호
  • XX: AVF IP

※ GLBP의 로드밸런싱 기법

GLBP는 호스트들의 ARP 요청에 가상 MAC 주소를 적절히 배분하여 로드밸런싱을 수행합니다. GLBP의 로드밸런싱 방식은 다음과 같이 세 가지가 있습니다.

1. RR(Round Robin, 기본 설정)

  • 기본적으로 설정되어 있는 방식입니다.
  • 호스트가 기본 게이트웨이의 MAC 주소를 요청할 때, 그룹 내 AVF 역할을 하는 라우터의 MAC 주소를 순서대로 배분합니다.

2. Weighted (가중치 기반)

  • GLBP 그룹 내 각 AVF의 Weight 값을 기준으로 트래픽을 분배합니다.
  • AVG가 가상 MAC 주소 응답 비율을 달리하여 부하를 조절합니다.

3. Host Dependent (호스트 종속 방식)

  • 특정 호스트가 처음 할당받은 가상 MAC 주소를 계속 사용합니다.
  • 동일한 호스트의 트래픽이 항상 동일한 라우터로 전송되므로, 특정 호스트의 연결 안정성이 필요한 환경에서 유용합니다.

※ GLBP 설정

 

● 위에 Active는 AVG 선출에 대한 것, 밑에 Active는 Forwarder 것

 

● GLBP 테이블 확인

 

● R2에도 동일하게 GLBP를 설정하게 되면

 

● 라우터 개수 만큼 Forwarder가 각각 만들어진다.

 

● 한쪽을 연결을 끊게 되면

 

● 자연스럽게 R1이 R2의 Forwarder를 Active하게 된다.

 

● R1의 interface f0/1를 로드 밸런싱 하는데 weighted형식으로 하겠다.

 

※ lower, upper 사용 이유 - 외부가 끊어졌을 때 track을 만들건데, weight가 100이하가 되면 forward기능을 포기했다가 다시 200이상으로 높아지면, forward기능을 다시 가져오려고 하기 위함. (weighted는 forwarder를 위한 작업)

 

● track으로 깎을 때 Lower로 값을 준 상황이면, 그 값보다 더 작아야 함.

VRRP처럼 track을 먼저 만들고 깎아야 함.

 

● R1의 interface f0/0(바깥쪽)을 끊어주게 되면

 

※ 맨 위에가 avg/svg 부분

※ forwarder 1, 2번 부분은 forwarder 부분

● forwarder가 둘 다 Listen 상태가 되고

 

● R2에서 확인을 해보면, R2가 Forwarder 1, 2 둘 다 Active를 가져온다.

 

● GLBP 인증

 

● 동일한 방식으로 R2에도 적용

 

'Network' 카테고리의 다른 글

LibreNMS (12/12 - 13)  (0) 2025.02.19
스위치 추가 (11/14)  (0) 2025.02.19
게이트웨이 이중화(VRRP) - (12/05)  (0) 2025.02.19
게이트웨이 이중화(HSRP Version 2) - (11/29)  (0) 2025.02.19
게이트웨이 이중화(HSRP) - (11/28)  (0) 2025.02.19