✔ 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 |