게시물 12건
   
[네트워크] 다중화 프로토콜 VRRP
글쓴이 : 최장섭 날짜 : 2013-07-16 (화) 11:07 조회 : 5096
▶어플라이언스 제품인 라우터나 로드밸런서에는 다중화 기능을 갖춘 것이 다수 존재한다.

   얼마 전까지는 다중화의 구조는 제품에 따라 다양해서 벤더 독자적인 프로토콜이 이용되었다.

   그러나 서로 다른 벤더 간의 호환운용이 붋가능 해서 불편하므로, Cisco 사의 HSRP (Hot Standby
   Routing Protocol) 라는 프로토콜을 기반으로해서 벤더에 의존하지 않는 다중화 프로토콜이 만들
   어졌다. 이것이 바로 VRRP (Virtual Router Redundancy Protocol) 이다.VRRP의 사양은
   RFC 3768에 정의되어 있고 많은 라우터나 로드밸런서에 채용되어 있다.
KeepAlived 로도 VRRP
   를 이용할 수 있으므로, 로드밸런서를 한 대 추가로 구축해서 KeepAlived 설정을 추가하는 것만으
   로도 다중화할 수 있게 된다.


▶ VRRP 의 구조
   라우터나, 로드밸런서의 장애극복 원리는 주로 웹 서비스의 장애극복 절차로서 설명가능한
    "헬스체크", "IP주소 인계"와 거의 비슷하다. 마스터 노드가 정상적으로 가동 중인지 여부를 체크
   해서, 만일 정지되었다면 백업 노드가 VIP를 인계 받아 장애극복을 한다.


▶ VRRP 패킷
   헬스체크라고 하면, 감시대상인 장비에 대해 주기적으로 요청을 보내 응답을 확인하는 구성이
   대부분이지만, VRRP는 역으로 접근해서 마스터 노드의 가동을 감시한다 .

   VRRP의 마스터 노드는 정기적으로 VRRP 패킷을 멀티캐스팅 주소(224.0.0.18)로 계속 송신한다.
   VRRP패킷은, 마스터 노드가 정상 작동중 임을 알리는 메시지라는 의미로 "Advertisement" 라고
   도 한다.


VRRP 의 구조

▶ 가상 라우터 ID (Virtual Rtr ID)
   VRRP 패킷은 명확히 정해져 있는 멀티캐스팅 주소 로 송신이 된다. 이 주소는 변경이 될 수
   없으므로 하나의 네트워크에 여러 종류의 로드벨런서가 구성되어 있는 경우 모든 VRRP 패킷은
   동일한 멀티캐스팅 주소로 송신된다. 이는 잘못된 점으로 보일 수 있으나 VRRP에 가상 라우터
   ID (Virtual Rtr ID) 라는 파라미터값으로 인스턴스를 구분할 수 있으므로 문제가 되지 않는다.

▶ 우선순위 (Priority)
   VRRP 의 구성 예로 흔히 볼수 있는 것은 Active / Backup 2대로 구성된 것이지만 구조적으로는
   100대의 백업까지도 가질 수 있다. 이 떄 주의해야 되는것은 백업 노드가 2대 이상 작동하고
   있지 않을 때 마스터 노드가 정지하면 어떤 백업 노드가 마스터 노드가 되는 것인지 하는 점이
   다.

   VRRP 에는 우선순위(Priority) 라는 값을 노트마다 설정한다. 각 노드는 VRRP 패킷을 수신할 수
   없게 되면 스스로 VRRP 패킷을 송신하기 시작한다. VRRP 패킷 내에는 우선순위가 지정되어 있
   으므로 자신보다도 높은 우선순위를 갖는 노드가 있는지 여부를 바로 확인 한다. 그리고 자신보
   다 높은 우선순위를 갖는 노드를 발견한 시점에서 바로 마스터 노드를 포기한다. 간단한 구조이
   기에 우선순위를 높에 설정한 노드부터 차례로 마스터 노드가 될 수 있다.

▶ 선점형 모드(Preemptive Mode)
   VRRP의 기본설정에는 기존의 마스터 노드보다도 높은 우선순위를 갖는 노드가 기동하면 장애
   극복이 일어난다. (우선순위가 높은 노드가 항상 마스터 노드가 된다.)

   이 동작은 선점형 모드(Preemptive Mode) 라는 설정에 따라 변경 할 수가 있으며 선점형 모드를
   무효화하면 이미 마스터 노드가 가동 중일 경우 자신의 우선순위가 높더라도 장애극복을 하지
   않는다.

   어떤 모드로 우뇽할지는 상황에 따라 다르며, 마스터 노드의 상태가 악화되서 빈번하게 재기동
   을 반복하는 상황이 염려된다면 선점형 모들르 무효화하는 편이 좋다.

   반대로, 오작동을 방지할 목적으로 "양쪽 노드가 작동하고 있는 경우는 반드시 특정 노드가
   마스터가 되기를 바라는 경우" 라면 선점형 노드는 유효하게 두는 편이 좋다.

▶ 가상 MAC 주소
   VRRP 에는 가상 IP주소와는 별개로 가상 MAC 주소가 정의되어 있다. 장애극복시에는 IP주소
   뿐 아니라 MAC주소도 함께 인계되도록 설계가 된다. MAC주소를 인계하지 않고 IP주소만 인계
   할 경우, 통신 상대가 되는 모든 장비의 ARP테이블을 변경해주어야 할 필요가 있다.

   이더넷의 구조상 모든 장비에 정상적으로 ARP 요청을 이용하는 것이 일반적이지만, 모든 장비
   에 정상적으로 ARP 요청이 도달하리란 보장은 없다. 만일 ARP 테이블을 갱신할 수 없었던 장비
   가있다면 그 장비와의 통신은 APR 캐시가 갱신되기까지 중단될 것이다.

   따라서, VRRP 에서는 MAC 주소를 인계함으로써 통신 상대가 ARP 엔트리를 갱신할 필요성을
   배제하고 있다. RFC 3768에 따르면 마스터 상태가 되기 직전에는 gratuitous ARP  를 송신하게
   되어 있지만, 이는 통신 상대의 ARP테이블을 갱신 하기 위한 목적이 아니라 L2 스위치의 MAC 
   주소 학습 상태를 갱신하는 게 목적이다.

이름 패스워드
비밀글 (체크하면 글쓴이만 내용을 확인할 수 있습니다.)
왼쪽의 글자를 입력하세요.
   

miwit.com sir.co.kr DNS Powered by DNSEver.com DNS Powered by DNSEver.com