✔ FHRP (First Hop Redundacny Protocol)

◼ FHRP?

- 여러 개의 라우터 등으로 게이트웨이를 구성하고 그 중 하나가 다운되면 다른 하나가 게이트웨이 역할을 계속 수행하는 프로토콜

- HSRP, VRRP, GLBP 등이 있음

 

▪ 이중화 구성의 목적

- 장비 장애 시에도 원할한 서비스 유지를 위해 사용

- 과부하 발생 시 일시적인 장애로 잠시 경로를 수정해야할 경우를 대비하기 위해 사용


◼ HSRP (Hot Standby Routing Protocol)

- CISCO 전용 프로토콜

- 이중 게이트웨이 사이에 프로토콜과 가상 MAC address, IP를 공유함으로써 무정지 경로 이중화를 제공

- 물리적, 논리적 Interface 동기화

- 다수의 물리적인 라우터를 가상의 논리적인 라우터로 동기화.

 

▪ HSRP의 라우터 구성

1. Active Router (1개)

- 가상 IP로 오는 트래픽을 전송하는 라우터

- 실제 Gateway 역할을 하는 라우터

 

2. Standby Router (1개)

- Active Router의 장애 발생에 대비한 백업 라우터

 

3. Member Router

- Active, Standby 둘다 아니지만, Active와 Standby를 모니터링

 

4. Virtual Router

- 실제 라우터가 아니라 HSRP로 구성된 그룹의 가상 라우터

 

▪ HSRP 개요

- Layer 3 이상에서 동작을 수행

- UDP 1985 / Multicast 224.0.0.2

- Hello Message를 이용해 우선 순위 결정

- HSRP 그룹에서 한 대의 라우터가 Active로 선정

 

※ Active 선정 우선 순위

1. Priority 값이 높은 라우터(기본 값이 100, 0 으로 설정하면 Active X)

2. 먼저 HSRP를 구성한 라우터

- Active 라우터는 3초마다 헬로 메세지를 전송하며 역할을 수행

- Active 라우터 장애 발생 시 Standby 라우터가 Active 역할을 수행

 ※ Hello Time 3초, Hold Time 10초

 

▪ HSRP의 상태 변화

1. Initial

- 초기 상태

- HSRP의 시작 상태이며, 아직 HSRP로 동작하지 않음

- 설정을 변경하거나, 다시 인터페이스가 살아날 때

 

2. Learn

- 가상 라우터의 IP 주소가 결정되지 않은 상태

- Active 라우터로부터 Hello 패킷을 기다리는 상태

 

3. Listen

- 가상 라우터의 IP 주소가 결정

- Active나 Standby 라우터는 아닌 상태

 

4. Speak

- 헬로 메세지 전송 시작

- Active, Standby 라우터 선출에 참여

 

5. Standby

- Standby 라우터가 된 상태

- Active 라우터 후보가 될 수 있음

 

6. Active

- Active 라우터가 된 상태

- 가상 MAC 주소로 전송된 패킷을 수신하여 라우팅

 

▪ HSRP 구성 시 같아야하는 데이터

1. HSRP 그룹 번호

2. Virtual IP

3. Authentication Data (인증)

 

▪ 구성 방법

R1(config)# int f0/0 → 게이트웨이 역할을 하는 인터페이스
R1(config-if)# standby <그룹 번호 : 0-255> ip [가상 게이트웨이 주소]

구성 확인
# show standby
- Virtual MAC 0000.0c07.ac64
→ 0000.0c : CISCO 기관 코드(CISCO 식별 번호)
→ 07.ac64 : 07.ac[XX] XX : HSRP 그룹 번호를 16진수로 변환한 값

# show stanby brief

 

▪ 우선 순위 변경

- 0~255 사이의 값을 설정 가능, 기본 값은 100

- 우선 순위를 통해 Active 라우터 선출에 영향을 줌

(config-if)# standby <그룹 번호> priority <우선 순위 값>

 

▪ Preemption

- 우선 순위에 따라 스탠바이 라우터가 액티브 역할을 가져오게 하는 옵션

- HSRP는 액티브 라우터가 선정되면, 우선 순위가 낮아져도 계속 액티브 라우터로 동작

- 우선 순위에 따라 액티브를 가져올 수 있도록 하는 옵션

(config-if)# standby <그룹 번호> preempt

 

▪ track

- HSRP는 설정한 인터페이스 내부에서만 동작

- 외부쪽 선로 등의 이상유무는 알 수가 없음

- track 옵션을 사용하여 외부망으로 연결되는 인터페이스를  감시

- 외부 쪽에 장애가 발생하면 우선 순위를 감소시켜 Active 이동

(config-if)#standby <그룹 번호> track [감시할 인터페이스] [감소할 우선순위 값]

 

타이머 변경

- CISCO 전용 프로토콜이기 때문에 액티브 라우터의 타이머를 변경하면 스탠바이 라우터의 타이머도 자동으로 변경됨

(config-if)#standby <그룹 번호> timers [hello timer] [hold timer]

 

인증

- HSRP의 인증 기본값은 평문 cisco로 설정되어 있음

(config-if)#standby <그룹 번호> authentication text [인증키]
(config-if)#standby <그룹 번호> authentication md5 key-string [인증키]


◼ VRRP (Virtual Router Redundancy Protocol)

- HSRP와 마찬가지로 이중화 게이트웨이 프로토콜

- HSRP와는 달리 표준 프로토콜이며 Multi-vendor 환경에서 사용 가능

- 라우터 그룹을 묶어서 하나의 가상 라우터로 형성

- Master(= HSRP Active) 1대, Backup(= HSRP Standby) 여러 대로 구성

- 1초마다 Master → Backup 단방향 전송

- UDP 112번 사용, Multicast 224.0.0.18

- 실제 라우터의 IP를 가상 주소로 사용 가능

 

▪ VRRP 마스터 결정 조건

1. Router IP와 Virtual IP가 같을 때 - priority 255로 고정 (IP address Owner, 트랙 활성화를 할수 없음)

2. Priority 값이 높은 쪽

3. IP 주소가 높은 쪽

※ 가상 MAC : 0000.5e00.01[xx]

 

구성 방법은 HSRP 구성 방법에서 standby를 vrrp로 바꾸면 됨

 

1. 기본 설정

- 게이트 웨이로 사용할 인터페이스에서 설정

 

2. 우선순위 변경

- VRRP의 우선순위는 1~254

- 우선순위가 높은 라우터가 Master 라우터가 됨

 

3. track

- 내부의 장애는 1초마다 전송하는 vrrp 메세지로 판단

- 외부의 장애를 판단하기 위해 외부와 연결되어 있는 인터페이스의 Line-Protocol을 감지하여 이상이 생기면 priority 값을 감소시켜 Master 라우터를 변경시킴

- VRRP는 외부(라우터 설정)에서 Track을 생성한 후 VRRP 프로토콜 내에서 적용

(config)# track [트랙 번호] int [인터페이스] line-protocol
(config-if)# vrrp <그룹 번호> track [트랙 번호] decrement [감소시킬 priority 값]

 

4. Ip Address Owner

- 실제 Interface의 IP와 Virtual IP가 같을 때

- IP Address Owner로 인해 Master 라우터가 됨

- Priority 값이 255로 고정 (트랙으로 인한 감소가 발생하지 않음)

 

5. 인증

- RIP이나 EIGRP의 인증과 마찬가지로 라우터에서 키체인 및 키 스트링 생성 후 VRRP 프로토콜에서 적용

Router(Config)# key chain <키 체인 이름>
Router(config-keychain)# key <키 번호>
Router(config-keychain-key)# key-string [암호]
Router(config)# int f0/0
Router(config-if)# vrrp <그룹번호> authentication md5 key-chain <키 체인 이름>

 

6. 타이머

- Cisco 전용 프로토콜의 경우 타이머가 달라도 Main으로 구성한 라우터의 타이머에 동기화

- 표준 프로토콜의 경우는 모든 장비의 타이머를 다 맞춰야함

 

(config-if)#vrrp <그룹 번호> timers advertise [타이머]
(config-if)#vrrp <그룹 번호> timers learn 
// Master의 타이머를 배움(마스터와 동기화)
// MAaster 변경 시 타이머 불일치로 끊길 수 있음 양쪽 다 설정

 


◼ GLBP (Gateway Load Balancing Protocol)

- 시스코 전용 프로토콜

- HSRP나 VRRP와 같이 게이트웨이 이중화 기능을 제공하면서 동시에 별도의 설정없이 로드밸런싱 기능을 제공

- 1개의 가상 IP 주소, 여러 개의 가상 MAC 주소를 사용 (그룹 당 4개)

- 3초 마다 IP 주소 224.0.0.102, UDP 포트 3222번으로 통신(Active와 Standby 각각)

- GLBP 그룹 하나당 한 개의 AVG 선출, 나머지가 AVF 상태

 

▪ AVG(Active Virtual Gateway)

- 각 AVF에게 가상 MAC 주소를 할당함

- 게이트웨이 주소 ARP 요청에 응답 : PC등이 보내는 게이트웨이 IP 주소에 대한 ARP 요청에 대하여 AVF에게 할당한 MAC 주소들로 응답하여 자동으로 부하분산

 

▫ AVG 선출 우선 순위

1. GLBP 우선 순위 값이 높은 라우터 (기본 : 100)

2. 인터페이스 IP 주소가 높은 라우터

 

▪ AVF(Active Virtual Forwarder)

- 자신에게 할당된 가상 MAC이 목적지로 설정된 프레임의 전송을 담당함

- Host가 ARP로 MAC 주소를 요구하게 되면 한 라우터의 Virtual MAC 주소를 갖게되고, Virtual IP를 받아 Host의 ARP 테이블에 등록시켜 놓음

- 각각의 Host는 같은 가상 IP를 가지지만 가상 MAC은 서로 다름, Host는 ARP 테이블을 참고하여 하나의 AVF를 선택 후 통신

 

▪ GLBP 로드밸런싱 기법

- AVG는 Host들이 ARP 요청에 가상 MAC 주소를 순차적으로 분배해주는 것으로 로드밸런싱을 구현함

1. Round Robin(Default) - 게이트웨이를 찾는 ARP 요청이 왔을 때 순차적으로 부여

2. Weight - Weighting(가중치) 비율에 의해 MAC 할당

3. Host-Dependent - 항상 같은 호스트에 같은 MAC 할당

 

▪ 구성 방법

 

1) 기본 설정

Router(config)# int [게이트웨이 역할을 하는 인터페이스]
Router(config-if)# glbp <그룹 번호> ip [가상 게이트웨이 주소]

 

2) Preemption 과 Priority

- Priority 값으로 AVG 라우터를 선출

- CISCO 전용 프로토콜이기에 Preemption이 disabled로 설정되어 있음

→ priority가 변경되어도 변함 없음

- AVG 라우터는 그룹 관리 및 가상 MAC 할당 등의 역할만 할 뿐 외부와의 연결은 AVF 라우터가 담당

→ 굳이 직접적으로 선출할 필요가 없음

→ AVG에 대한 외부 Track이 없음

Router(config-if)# glbp <그룹 번호> preempt
Router(config-if)# glbp <그룹 번호> priority [값]

 

3) weighting

- 가중치 값

- 로드 밸런싱 방법에 따라 가중치가 높으면 더 많은 MAC 할당

- lower, upper에 따라 AVF 역할을 상실하기도 함 (upper는 기본 값 100)

→ lower는 '미만', upper는 '이상'으로 인식, lower 값보다 낮아지면 AVF 역할을 못하고, upper 값 이상이면 AVF 역할을 함

Router(config-if)# glbp <그룹 번호> weighting [값] lower [값] upper [값] // upper는 생략 가능

 

4) track

- weighting 값을 낮춰 AVF에 대한 컨트롤을 함

- 라우터에서 track을 만든 후 프로토콜로 가져옴

Router(config)# track [트랙 번호] int [인터페이스] line-protocol
Router(config-if)# glbp <그룹 번호> weighting track [트랙 번호] decrement [감소시킬 weighting 값]

 

5) 타이머

- GLBP에서는 AVF 라우터들이 AVG 라우터의 타이머를 동기화 함

Router(config-if)# glbp <그룹 번호> timers [hello timers] [hold timers]

 

6) 인증

- 키 체인 생성 후 프로토콜에서 적용

Router(Config)# key chain <키 체인 이름>
Router(config-keychain)# key <키 번호>
Router(config-keychain-key)# key-string [암호]
Router(config)# int f0/0
Router(config-if)# glbp <그룹번호> authentication md5 key-chain <키 체인 이름>

 

7) 로드 밸런싱 방법 변경

- AVG 별로 로드밸런싱 방법을 지정, 서로 간 공유하지 않음

→ R2가 라운드 로빈, R3가 weighted 일 경우 R2가 AVG가 되면 라운드로빈으로 동작하고 R3가 AVG가 되면 weighted로 동작함

Router(config-if)# glbp 10 load-balancing [host-dependent/round-robin/weighted]
host-dependent  Load balance equally, source MAC determines forwarder choice
round-robin     Load balance equally using each forwarder in turn
weighted        Load balance in proportion to forwarder weighting

 

R2를 weighted 방식으로 변경 후 R2에게 AVG 역할 부여

VPC 1개 추가 후 IP 부여 - 192.168.10.15/24

ARP 캐시 삭제 후 통신을 하며 가상 MAC 받는 것 확인

 

▪ 구성 확인

Router# show glbp
Router# show glbp brief

 

Active is local : 해당 장비가 AVG, 만약 문제가 생긴다면 192.168.10.252 IP를 가진 라우터가 AVG로 선출됨

 

'Network > Router' 카테고리의 다른 글

Filtering & PBR  (0) 2024.10.27
GRE Tunneling & IPSec VPN  (0) 2024.10.16
Dynamic Routing  (0) 2024.10.12
NAT  (0) 2024.09.12
Access List  (0) 2024.08.20

+ Recent posts