오늘은 Keepalived를 구축하는 데 있어서 사용되는 프로토콜인 VRRP에 대해서 상세하게 알아보려고 합니다. 우선 Keepalived에 대해 아주 간단하게 설명드리겠습니다.
Keepalived란
- Load Balacing과 High Availability를 제공해 주는 C언어 기반 프레임워크
- Virtual IP를 기반으로 작동하고, Master 노드를 모니터링하다가 해당 노드에 장애가 발생했을 시 Backup 노드로 Fail-Over 해주는 기능 지원
- Fail-Over: 컴퓨터 서버, 시스템, 네트워크 등에서 이상이 생겼을 때 예비 시스템으로 자동 전환 되는 기능
VRRP(Virtual Router Redundancy Protocol)
- 게이트웨이 이중화 프로토콜(FHRP: First Hop Redundancy Protocol)중 하나로 게이트웨이 장애 복구를 위한 프로토콜
- 여러 대의 Router로 가는 Interface를 논리적으로 하나로 묶은 후 VIP로 구성
- Gateway: 컴퓨터 네트워크에서 서로 다른 통신망, 프로토콜을 사용하는 네트워크 간의 통신을 가능하게 하는 컴퓨터나 소프트웨어를 두루 일컫는 용어, 한 네트워크에서 다른 네트워크로 이동하기 위해 반드시 거쳐야 하는 지점(실생활로 비유하면 번역가, 톨게이트, 환전소 등으로 비유)
- Gateway 장비 우선순위 선출 기준
- VRRP Priority(우선순위) 값이 큰 장비(default:100)
- Real IP의 주소가 더 큰 장비
일반 라우팅 프로토콜과 VRRP 프로토콜 비교
- 일반적으로 사용되는 라우팅 프로토콜에서는 호스트 그룹에서 전달되는 패킷들을 하나의 라우터가 서비스하도록 LAN을 구성하는 것인데, 하나의 라우터에서 고장이 나면 다른 라우터를 Backup으로 사용할 수 있는 방법이 없습니다.
- VRRP를 사용하면, 하나의 가상 IP가 기본으로 설정되고, 가상 IP는 하나의 라우터를 Master로 설정하고 다른 라우터를 Backup으로 지정하여 라우터 간의 공유됩니다.
- 이를 통해 Master에 문제가 발생하면 가상 IP는 문제가 생긴 Master를 배제하고 Backup 라우터의 Virtual IP로 인식하여 지속적인 통신이 가능해집니다.
상태 확인(health-check) 방법
- Master(Active) node는 Slave(Stand-by) node에게 일정 Interval을 두고 VRRP Advertisement Packet을 전송
- Slave node는 Master로 부터 VRRP Advertisement Packet을 받는 동안 Master node가 살아있다고 판단
- 일정 시간(dead interval)동안 패킷이 수신되지 않으면, Master Node는 죽었다고 판단
- 대기 상태인 Slave Node는 우선순위 선출 기준에 따라 Master Node로 승격하고 VRRP Advertisement Packet과 GARP(Gratuitous ARP) 패킷을 전송
- tcpdump(CLI에서 실행하는 패킷 가로채기 소프트웨어)로 Master에서 VRRP 패킷을 확인하면 목적지로 이동했음을 확인
- VRRP Advertisement Packet: 기존 Primary Router가 정상적으로 동작하고 있음을 알리는 Packet
- GARP(Gratuitous ARP) Packet: 다른 장비에게 자신의 존재를 알리기 위한 목적으로 사용되는 패킷, IP 충돌 감지와 상대방의 ARP Cache 정보 갱신을 위해 사용되는 패킷
Fail-Over를 지원해주는 VRRP에 대해 알아보았고, 게이트웨이를 단일로 구성하는 것이 아니라, 이중화로 구성해야 하는 이유에 대해서도 고민해 보게 되었습니다. 다음 포스팅에서는 IP주소는 MAC 주소로 변환해 주는 ARP와 그 반대의 기능을 수행하는 RARP의 정의와 동작과정에 대해 포스팅하도록 하겠습니다.
'Network' 카테고리의 다른 글
[Network] TCP 3 way handshake & 4 way handshake (0) | 2024.01.05 |
---|---|
[Network] ARP / RARP / GARP (0) | 2023.10.04 |
[Network] IPsec VPN이란? (0) | 2023.07.13 |
[Network] Switch 와 Bridge 비교 (0) | 2023.07.13 |
[Network] Hub(L1), Switch(L2), Router(L3) (0) | 2023.07.13 |