본문 바로가기
네트워크 (LAN,WAN)

게이트웨이(Gateway)의 이중화 VRRP/HSRP

by 날으는물고기 2009. 1. 14.

게이트웨이(Gateway)의 이중화 VRRP/HSRP


HSRP(Hot Standby Routing Protocol)과 VRRP( Virtual Router Redundancy Protocol)

이름만 다를 뿐 하는 일이나 동작원리는 거의 같습니다.

물론 비슷한 것으로 익스트림의 ESRP가 있지만...배제하겠습니다.

 

이정도 강의를 읽으실 회원님들이시면..클라이언트가 같은 네트워크에선 상관이 없지만 다른 네트워크로 갈 때는 반드시 게이트웨이를 거쳐야 한다는 것을 아실 겁니다.

모르시면 강좌 "스위칭 라우팅" 참조하시길...

 

자, 위의 구성을 보죠..백본 2대..여기에 VLAN 2개올리고 IP라우팅을 합니다. 그리고 하단에 L2스위치가 보이구요, 하단에 PC 클라들이 보이죠

백본 2와 L2스위치로 가는 라인은 아마 Block이 걸릴 것입니다.  통신이 안되겠죠..

아직 Spaning tree를 이해못하셨다면 이전에 STP에 대한 강좌에 설명이 되어있습니다.

 

자, 10.10.10.X/24 네트워크에 대한 게이트웨이를 1이라 가정하면..백본 1이 죽으면 어떻게 될까요?

PC들은 10.10.10.X 네트워크의 리소스만 접근이 가능합니다.  다른 인터네트워크로는 접근을 할수가 없죠...왜냐하면 백본 1이 게이트웨이인데..게이트웨이가 없졌으니 라우팅을 할 수 없는 것이죠.

이래서 게이트웨이를 이중화 한것이 HSRP와 VRRP입니다.

HSRP는 시스코가 개발을 한것이고, 시스코 장비에만 올라갑니다.

VRRP는 IBM이 개발했고, 시스코를 포함한 모든 밴더에 올라가죠....표준안은 VRRP입니다.

 

만약, 경쟁입찰에서 다른 밴더 제품 못들어오게 하고 싶으시면 스펙에 "HSRP지원!!!!" 써 놓으시면

시스코 외엔 아무도 들어올 수 없습니다. ^^* (요러한 사항은 추후 RFP제작 이란 강좌를 다시 하겠습니다.)

 

HSRP나 VRRP를 설정하면 공통적인 것이 있습니다.  바로 Virtual IP를 생성 한다는 것이죠.

그리고 한넘은 Active, 한넘은 Standby가 됩니다.

 

다시 설명드리죠...백본 1의 IP는 10.10.10.1/24 백본 2의 IP는 10.10.10.2/24 그리고 VRRP설정시

Virtual IP는 10.10.10.254라고 가정하면, 두장비다 이 VIP로 동작을 합니다.

물론, 클라이언트에서 게이트웨이는 이 VIP인 10.10.10.254로 설정하죠..

 

백본 1은 10.10.10.254라는 IP를 가지고(자신의 아이피죠) 백본 2에 계속 hello를 보냅니다.

"나 살아있으니 알아서 죽어있어라~"  왜 일까요? 만약 백본 2도 10.10.10.254 VIP를 가동시키면

IP충돌이 나기 때문입니다.   백본 1이 죽을 경우...hello를 못받은 백본 2가 살아나서 다시 10.10.10.254로 라우팅을 계속해서 수행하게 됩니다.

 

이것이 게이트웨이의 이중화 입니다.


자, 이제 VRRP/HSRP가 어케 동작을 하는지 알아보죠...

실제 VRRP와 HSRP는 동작원리가 90%이상 같습니다.

HSRP는 시스코에서 나온 표준안이고 VRRP는 IBM에서 나왔습니다. RFP에는 VRRP가 먼저 등제되었습니다.

자, 위의 그림과 같이 세팅되었다고 치죠...각 백본에 VLAN을 두개 만들고 VRRP/HSRP그룹을 각각 1개씩 만들었습니다.

이 VRRP/HSRP에선 어떤 옵션을 선택할 수 있을까요?

 

1. VIP 당연하겠죠?  게이트웨이 서비스할 IP가 있어야 겠죠?

2. Priority  0~255설정입니다. 0은 VRRP에서만 적용됩니다. 

   두대중 어느놈이 ACtive인지 Standby인지 정합니다.  높은넘이 Active입니다.

3. Preempt  이건...장애 후에 다시 Priority가 높은 넘이 Active가져갈지 말지 정하는 것이죠..

   이건 다시 설명드리겠습니다.

 

각 장비는 멀티케스트로 자기의 정보를 날립니다.  이걸 Hello 패킷이라 부릅니다.

1번은 이렇게 말하겠죠..

"내 Priority는 200이구..내 VRRP ID는 0이다..."

이걸들은 2번 백본은 "내 priority는 100이구 내 VRRP ID는 0 이다"

2번스위치는 1번이 priority가 더 높다는 것을 알죠..그래서 standby상태로 있습니다.

옵션에서 정할 수 있지만 보통 hello는 3초마다 뿌립니다. 만약 백본 #1이 죽었다면...백본 #2는 그걸 어떻게 알까요?  3초후에 백본 #1로부터 hello가 안날라오겠죠?  그럼 백본 #2가 바로 active로 바뀔까요?  아닙니다.   백본#1이 뿌린 hello를 못받았을 수도 있다는 생각을 합니다.  그래서 hello의 3배를 기다립니다.(RIP과 같죠?)   이걸 hold time이라 합니다.

10초간 기둘려도 hello가 안날라오면..."아..확실히 뒤졌구나" 라고 백본#2는 생각하고 바로 Active로 전환하는 것입니다.

 

자..장애 복구 후 백본 #1이 살았습니다.  그럼 어케될까요?  만약 preempt가 enable되어있다면

백본 #1이 priority가 더 높기 때문에 백본 #1이 active로 다시 바뀝니다.

preempt가 disable이라면 priority가 더 높은 백본#1이 살더라도 계속 백본#2가 active가 됩니다.

 

이제 VIP이야기를 해볼까요?

백본 #1,#2는 각각 VIP를 가지고 있습니다.  두넘의 MAC은 어떨까요?  각자 만들었으니 비록 IP는 같아도 MAC도 같을까요?   같다면 서로 어떻게 맞춘것일까요?

 

먼저, MAC은 같아야 합니다.!!! 왜냐구요?  이해를 못하셨다면 기존 스위치강좌,스위치&허브 강좌 다시 읽으십시요...

예를 들어 백본#1의 VIP MAC이 111111:111111 이고 백본#2의 VIP MAC이 222222:222222라면

클라이언트의 ARP테이블엔 192.168.10.254 111111:111111라고 기억이 될겁니다.

백본#1이 장애가 났습니다. 그럼 백본#2가 active가 됩니다.

그래도 클라이언트는 통신이 안됩니다.  IP는 그대로가 되었지만 MAC이 다릅니다.

그래서 통신이 안되는 것이죠..백본에서 클라이언트에게 일일이 ping을 쏴주거나 클라이언트의 ARP테이블이 지워질때까지 통신은 안됩니다.  그래서 MAC도 같아야 합니다.

 

HSRP는 00:00:0C:07:AC:00 을 사용합니다.

VRRP는 00:00:5E:00:01:00을 사용합니다.

맨 앞의 00의미는 아시죠? 앞이 0이면..멀티케스트란 이야기입니다. ^^*

이것은 룰입니다.  따라서 VRRP/HSRP표준을 따르면 각 VIP를 생성할때마다 반드시 저 MAC으로 자동생성됩니다.  그래서 두 장비간에 MAC이 같아지는 것이죠..

한 VLAN안에 네트워크가 여러개일 경우는 어케할까요? 흔히 멀티넷이라 하죠..시스코에서는 세컨드리 아이피라 합니다.

VIP 1 00:00:5E:00:01:00

VIP 2 00:00:5E:00:01:01

VIP 3 00:00:5E:00:01:02  이런식으로 MAC을 생성합니다.

 

위의 그림을 다시 보죠..

VIP1 192.168.10.254 00:00:5E:00:01:00

VIP 2 192.168.20.254 00:00:5E:00:01:00   자, 각각 VLAN의 0번 id를 썼기에 MAC이 같습니다!!!

 

네떡에 문제가 생기겠죠?

아닙니다...안생깁니다.  왜냐구여? VLAN이 다르잖아요...

따라서 클라이언트는 다른 네트워크에 같은 MAC이 있다는 것을 모릅니다.

전에 말씀드렸듯이 ARP는 라우팅이 되질 않거등요...자신의 네트워크에서만 MAC을 스케닝 합니다.

728x90

댓글