게이트웨이 이중화 프로토콜
First Hop Redundancy Protocol (말그대로 첫 홉=게이트웨이의 이중화를 위한 프로토콜)은 크게 3개의 종류가 있다.
1. Cisco 전용 프로토콜인 HSRP (Hot Standby Routing Protocol)
2. IETF 표준인 VRRP (Virtual Router Redundancy Protocol)
3. 위 둘과는 달리 로드 밸런싱을 기반으로 하는 GLBP (Gateway Load Balancing Protocol)
1,2는 다수의 gw중에서 하나의 gw만을 사용(Active)하고 나머지는 대기(Standby)하는 방식이나
3은 모든 gw를 사용하면서 로드 밸런싱이 이루어지기 때문에 설정이 보다 복잡하다.
관리자는 단일 장애점을 회피하기 위해 gw를 이중화한다.
하지만 엔드호스트는 기본 gw를 하나만 가질 수 있고, 혹시라도 gw에 장애가 생기면 일일이 수동으로 변경해줘야 하는 번거로움이 있다. (변경해야 하는 pc가 수십대라면 얼마나 귀찮을지!)
이를 해소하려면 FHRP를 사용하면 된다.
위의 토폴로지에서 PC들의 기본 gw는 R1의 G0/1 혹은 R2의 G0/1이 될 것이다.
하지만 위에서도 말했듯이 gw는 하나만 가질 수 있다. 만약 R1을 기본 gw로 설정하였는데 R1에 장애가 발생한다면? 물론 R2로 변경해야 겠지만, 그러한 PC가 수십대라면? 관리자 입장에선 상당히 귀찮은 일이다.
이때 FHRP(위는 Cisco 환경이므로 HSRP를 사용한다)를 사용하면 R1에 장애가 발생해도 아무런 조치 없이 R2로 트래픽을 내보낼 수 있게 된다.
R1>en
R1#conf t
Enter configuration commands, one per line. End with CNTL/Z.
R1(config)#int g0/1
R1(config-if)#standby 1 ip 10.10.10.1
R1(config-if)#
%HSRP-6-STATECHANGE: GigabitEthernet0/1 Grp 1 state Speak -> Standby
%HSRP-6-STATECHANGE: GigabitEthernet0/1 Grp 1 state Standby -> Active
-----------------------------------------------------------------------
R2>en
R2#conf t
Enter configuration commands, one per line. End with CNTL/Z.
R2(config)#int g0/1
R2(config-if)#standby 1 ip 10.10.10.1
R2(config-if)#standby 1 priority 110
R2(config-if)#
%HSRP-6-STATECHANGE: GigabitEthernet0/1 Grp 1 state Speak -> Standby
R1과 R2의 해당 인터페이스에서 standby 1 ip 10.10.10.1 명령어를 입력한다.
그러면 그 인터페이스들은 HSRP을 통해 동일한 가상 주소인 10.10.10.1을 사용하게 되고, 한 쪽은 Active, 나머지는 Standby가 된다.
Active를 선정하는 기준은 priority가 제일 큰 gw이며 track이나 preempt의 영향을 받을 수 있다.
위 로그에서는 Active router가 R1으로 되어 있다. 하지만 priority는 R2가 더 큰데 왜? 라고 생각할 수도 있겠다.
이는 내가 R1을 먼저 설정했는데 preempt가 비활성화되어 있어 선점이 이루어지지 않기 때문이다.