728x90

  

7.2.4 VRRP


VRRP는 RFC 2338에 선언되어있는 여러 라우터 그룹에 redundancy를 위한 프로토콜 입니다. 그룹 라우터 중에 하나의 라우터가 이더넷 프레임에 응답을 해야 하기 때문에 Virtual router를 만듭니다. 이더넷 프레임을 보낸 Device는 여러 라우터가 묶여있는 라우터그룹을 하나의 단일 라우터로 인식합니다. 이더넷 프레임에 응답하는 라우터를 Master router라고 하고 이외의 라우터들은 Master가 죽을때 까지 대기만 하게 됩니다. Master router가 Virtual IP Address를 가지고 자신이 죽을때까지 이더넷 프레임에 응답을 하게 됩니다. 마스터가 죽게되면 대기하고 있던 라우터들 중에 하나가 Master router 가 가지고 있던 Virtual IP Address를 넘겨받고 역할을 대신하게 됩니다.

다이나믹 라우팅 프로토롤을 사용하면 특정 라우터가 죽었을때 데이터를 우회해서 라우팅을합니다. 그러나 다이나믹 라우텅 프로토콜을 사용하지 않는 경우( 예 : static routing )에는 오로지 단일 default gateway를 가지므로 default gateway router가 죽을경우 문제가 발생합니다. 뿐만 아니라 다이나믹 라우팅 프로토콜을 사용한 경우에도 특정 라우터가 죽엇을 경우에 hold time, dead time 등이 만료되기 전까지 우회하지 못합니다.
VRRP는 primary가 죽었을때  수동으로 설정된 devices 들이 backup 라우터를 사용할 수 있게 해줍니다.



위 사진을 보면 뉴욕과 시카고 라우터는 192.168.30.1의 vritual router IP를 가지고 있고뉴욕이 virtual router의 master역할을 합니다. 만약 host들이 192.168.30.1의 default gateway가지고 있다면 뉴욕 라우터가 이더넷 프레임을 수신하고 포워딩 하게 됩니다. 만약 뉴욕 라우터가 죽는다면 시카고 라우터가 master역할을 대신하게 됩니다.

 

만약 모든 라우터들이 virtual address 를 소유할려고 한다면 어떻게 될까요? 다행이로 그럴일이 없습니다..;; VRRP는 state and election-process 프로토콜이기 때문입다. device의 상태가 up이든지 down이든지 상관없이 election process는 어떤 라우터가 virtual group에 응답할 master 라우터인지 선언해 놓습니다. priority는 어떤 라우터가 virtual router IP를 넘겨받을 master 라우터 인지 어떤 라우터가 backup라우터 인지 결정하도록 합니다.
Priority값의 범위는 0~255이고 가장 높은 Priority값을 가진 라우터가 master로 선발됩니다. 주니퍼 라우터의 default priority값은 100 으로 설정되어 있고 특정 라우터가 반드시 master라우터가 되어야 한다면 priority값을 255 로 설정해야 합니다. 

 

7.2.4.1 Balancing Bandwidth

redundancy뿐만 아니라 VRRP를 사용하는 또다른 이유는 부하분산 때문입니다. 만약 특정 호스트그룹이나 라우터그룹들이 각각 다른 default gateway를 사용한다면 부하분산을 시킬수는 있지만 컨피크 노가다가 필요하고 특정 라우터가 죽으면  그 라우터를  default gateway로 사용하는 device들은 네트워크 사용이 불가능 해집니다. 하지만 VRRP를 사용하면 이런 문제 없이 로드벨런싱이 가능합니다.

VRRP는 여러 그룹을 하나의 네트워크에 할당 할 수 있습니다. 그리하여 Virtual IP address별로 서로 다른 라우터를 default gateway로 사용 할 수 있습니다. 위의 그림에서 뉴욕라우터가 192.168.30.1의 마스터이면서 192.168.30.2의 backup라우터 이고 시카고는 이와 반대입니다.


서로 다른 priority로 multiple virtual IP address를 사용하려면 각각의 그룹들이 네트워크 인터페이스에 설정이 되어야 합니다. backup 라우터가 master 라우터가 죽은지 어떻게 알수 있을까요?
master라우터는 그룹안에 있는 다른 라우터들에게 자신의 상태정보를 1초마다 광고합니다. 광고하는 내용에는 group ID, virtual IP address, master의 priority, advertisement interval , authentication 정보 등이 포함되어 있습니다.  

device들은 네트워크 안에서 고유한 MAC address를 가지고 있기 때문에 서로 다른 라우터들이 virtual IP address에 응답하기 위하여  virtual MAC address 또한 필요하게 됩니다. virtual MAC addess의 범위는 00:00:5e:00:01:00~ ff (RFC 2338)이고 VRRP그룹이 생성될때 만들어집니다. vritual MAC address 마지막 부분의 ff는 10진수로 255 이고 VRRP group ID랑 메치가 됩니다. 이는 아주 중요한 사항인데 MAC filtering을 사용할 때 각각의 그룹의 virtual MAC address는 반드시 추가를 해주어야 합니다.

7.2.4.2 VRRP Configuration





Refer to Figure 7-8 as you read through the following configuration example.

반드시 VRRP그룹은 unit 0 에서 설정해야 합니다.

New York

interfaces {
    fe-0/0/1.0 {
        unit 0 {
            family inet {
                address 192.168.30.3/24 {
                    vrrp-group 10 {
                        virtual-address 192.168.30.1;
                        priority 110;
                    }
                    vrrp-group 20 {
                        virtual-address 192.168.30.2;
                        priority 90;
                    }
                }
            }
        }
    }
}

 

lab@newyork> show vrrp

Interface   Unit  Group  Type  Address          Int state    VR state   Timer

fe-0/0/1    0     10     lcl   192.168.30.3            up          master     A

0.620

                            vip  192.168.30.1

fe-0/0/1    0     20     lcl   192.168.30.3            up          master     A

0.290                        

                            vip  192.168.30.2

lab@newyork>


지금은 시카고라우터 설정을 하지 않는 상태이기 때문에 뉴욕 라우터가 두 그룹의 마스터가 되어있습니다.

    Note

no-preempt 옵션을 사용할 경우 마스터 라우터별로 그룹을 설정해야 합니다. 모든 그룹이 한 라우터에 한번에 설정이 된다면 첫번째 라우터가 모든 그룹에 마스터가 되기때문입니다. 만약 그룹안에 또 다른 라우터가 더 높은 priority값을 가지고 있다고 하더라도 master역할이 넘어가지 않습니다. 오로지 마스터 라우터가 죽었을 경우에만 마스터를 선출합니다. 위의 예제를 예로들면 뉴욕라우터의 VRRP 그룹 10 을 설정한 다음 시카고라우터의 그룹 20을 설정한 후 두 라우터의 backup 그룹을 설정해야 합니다.

 

시카고 라우터는 뉴욕라우터와 정 반대로 설정하면 됩니다.

 

Chicago

interfaces {
    fe-0/0/1.0 {
        unit 0 {
            family inet {
                address 192.168.30.4/24 {
                    vrrp-group 10 {
                        virtual-address 192.168.30.1;
                        priority 90;
                    }
                    vrrp-group 20 {
                        virtual-address 192.168.30.2;
                        priority 110;
                    }
                }
            }
        }
    }
}

 

lab@newyork> show vrrp

Interface   Unit  Group  Type  Address          Int state    VR state   Timer

fe-0/0/1    0      10       lcl    192.168.30.3         up        master     A

0.890

                              vip   192.168.30.1

fe-0/0/1    0      20      lcl    192.168.30.3          up       backup     D

2.768                       vip   192.168.30.2

                             mas  192.168.30.4 

뉴욕라우터를 다시 보면 시카고라우터가 그룹 20에 더 높은 priority가 설정되었으므로 뉴욕라우터의 그룹 20 상태가 backup으로 변경되어 있음을 확인 할 수 있습니다.

refer to Juniper Networks® Reference Guide: JUNOS™ Routing, Configuration, and Architecture

 

+ Recent posts