GLBP(Gateway Load Balancing Protocol)로 active-active 라우터 이중화
HSRP나 VRRP는 대기 상태에 있는 장치의 대역폭은 사용되지 않는다.
GLBP는 active-active 방식의 FHRP로 시스코 독점 프로토콜이다.
* GLBP는 AVG, AVF 두가지 기능을 클라이언트에 제공한다.
AVG(Active Virtual Gateway) – GLBP 그룹의 라우터가 선출하는 하나의 게이트웨이로 다른 라우터들은 AVG에대한 백업을 제공한다. AVG는 GLBP 그룹의 각 구성원에게 서로다른 가상 MAC을 할당한다.
AVF(Active Virtual Forwarder) – 각 게이트웨이는 AVG가 할당한 가상 MAC 주소로 전송되는 패킷을 전달할 책임이 있는데 이런 게이트웨이를 가상 MAC에 대한 AVF라 한다.
GLBP의 특징
. Load sharing
. Multiple Virtual router – GLBP 그룹내에서 1024개의 가상 라우터를 지원하고 그룹당 4개의 virtual forwarder를 제공한다.
. Preemption(선점)
. Efficient resource utilization(효율적인 자원 사용)
위의 그림과 같이 구성한다.
라우터 R1 설정
인터페이스에 IP주소를 설정하고, GLBP 가상 IP 주소를 설정한다.
R1#conf t Enter configuration commands, one per line. End with CNTL/Z. R1(config)#int e0/0 R1(config-if)#ip address 172.16.10.2 255.255.255.0 R1(config-if)#no shutdown R1(config-if)#glbp 1 ip 172.16.10.1 R1(config-if)#glbp 1 name GLBP_TEST R1(config-if)#glbp 1 R1(config-if)#glbp 1 priority 1 R1(config-if)#end R1(config-if)#end R1#
라우터 R2도 인터페이스에 ip 주소를 설정하고 같은 방법으로 GLBP 가상 IP 주소를 설정한다
R2#conf t Enter configuration commands, one per line. End with CNTL/Z. R2(config)#int e0/0 R2(config-if)#ip address 172.16.10.3 255.255.255.0 R2(config-if)#glbp 1 ip 172.16.10.1 R2(config-if)#glbp 1 name GLBP_TEST R2(config-if)#end
GLBP 상태를 확인해 본다
R1# sh glbp brief Interface Grp Fwd Pri State Address Active router Standby router Et0/0 1 - 1 Active 172.16.10.1 local 172.16.10.3 Et0/0 1 1 - Active 0007.b400.0101 local - Et0/0 1 2 - Listen 0007.b400.0102 172.16.10.3 - R1#
R2#sh glbp brief Interface Grp Fwd Pri State Address Active router Standby router Et0/0 1 - 100 Standby 172.16.10.1 172.16.10.2 local Et0/0 1 1 - Listen 0007.b400.0101 172.16.10.2 - Et0/0 1 2 - Active 0007.b400.0102 local -
라우터 R1, R2, 스위치 SW-L3의 ospf 라우팅 설정
vpcs-1,2와 vpcs-3이 서로 통신 가능하도록 라우팅을 설정한다. 여기서는 ospf를 사용했다.
R1 R1#conf t Enter configuration commands, one per line. End with CNTL/Z. R1(config)#int e0/1 R1(config-if)#ip address 192.168.0.1 255.255.255.252 R1(config-if)#no shutdown R1(config-if)#exit R1(config)#router ospf 11 R1(config-router)#network 172.16.10.0 0.0.0.255 area 0.0.0.0 R1(config-router)#network 192.168.0.0 0.0.0.3 area 0.0.0.0 R1(config-router)# *Jan 10 04:16:06.346: %OSPF-5-ADJCHG: Process 11, Nbr 192.168.0.6 on Ethernet0/1 from LOADING to FULL, Loading Done R1(config-router)#end
R2 R2#conf t Enter configuration commands, one per line. End with CNTL/Z. R2(config)#int e0/1 R2(config-if)#ip address 192.168.0.5 255.255.255.252 R2(config-if)#no shutdown R2(config-if)#exit R2(config)#router ospf 12 R2(config-router)#network 192.168.0.4 0.0.0.3 area 0.0.0.0 R2(config-router)#network 172.16.10. *Jan 10 04:17:51.350: %OSPF-5-ADJCHG: Process 12, Nbr 192.168.0.6 on Ethernet0/1 from LOADING to FULL, Loading Done R2(config-router)#network 172.16.10.0 0.0.0.255 area 0.0.0.0 R2(config-router)#end
스위치 SW-L3 설정
SW-3#conf t Enter configuration commands, one per line. End with CNTL/Z. SW-3(config)#int range e0/0-3 SW-3(config-if-range)#no switchport SW-3(config-if-range)#exit SW-3(config)#int e0/0 SW-3(config-if)#ip address 192.168.0.2 255.255.255.252 SW-3(config-if)#no shutdown SW-3(config-if)#exit SW-3(config)#int e0/1 SW-3(config-if)#ip address 192.168.0.6 255.255.255.252 SW-3(config-if)#no shutdown SW-3(config-if)#exit SW-3(config)#int e0/2 SW-3(config-if)#ip address 10.10.10.1 255.255.255.0 SW-3(config-if)#no shutdown SW-3(config-if)#exit SW-3(config)#ip routing SW-3(config)#router ospf 10 SW-3(config-router)#network 10.10.10.0 0.0.0.255 area 0.0.0.0 SW-3(config-router)#network 192.168.0.0 0.0.0.3 area 0.0.0.0 SW-3(config-router)#network 192.168.0.4 0.0.0.3 area 0.0.0.0 SW-3(config-router)#end
VPC-1, VPC-2와 VPC-3의 통신및 라우팅 경로 확인
VPCS-1> ping 10.10.10.11 -c 2 84 bytes from 10.10.10.11 icmp_seq=1 ttl=62 time=1.565 ms 84 bytes from 10.10.10.11 icmp_seq=2 ttl=62 time=4.719 ms
VPCS-1> trace 10.10.10.11 trace to 10.10.10.11, 8 hops max, press Ctrl+C to stop 1 172.16.10.2 1.161 ms 0.143 ms 0.125 ms 2 192.168.0.2 0.577 ms 0.215 ms 0.194 ms 3 *10.10.10.11 0.439 ms (ICMP type:3, code:3, Destination port unreachable) VPCS-1>
VPCS-2> ping 10.10.10.11 -c 2 84 bytes from 10.10.10.11 icmp_seq=1 ttl=62 time=0.597 ms 84 bytes from 10.10.10.11 icmp_seq=2 ttl=62 time=0.657 ms
VPCS-2> trace 10.10.10.11 trace to 10.10.10.11, 8 hops max, press Ctrl+C to stop 1 172.16.10.3 0.388 ms 0.170 ms 0.137 ms 2 192.168.0.6 0.692 ms 0.298 ms 0.328 ms 3 *10.10.10.11 0.711 ms (ICMP type:3, code:3, Destination port unreachable) VPCS-2>
R1의 glbp 확인
R1# sh glbp Ethernet0/0 - Group 1 State is Standby 1 state change, last state change 00:19:49 Virtual IP address is 172.16.10.1 Hello time 3 sec, hold time 10 sec Next hello sent in 1.568 secs Redirect time 600 sec, forwarder timeout 14400 sec Preemption disabled Active is 172.16.10.3, priority 100 (expires in 11.296 sec) Standby is local Priority 110 (configured) Weighting 100 (default 100), thresholds: lower 1, upper 100 Load balancing: round-robin IP redundancy name is "GLBP_TEST" Group members: aabb.cc00.0300 (172.16.10.2) local aabb.cc00.0400 (172.16.10.3) There are 2 forwarders (1 active) Forwarder 1 State is Listen MAC address is 0007.b400.0101 (learnt) Owner ID is aabb.cc00.0400 Time to live: 14399.488 sec (maximum 14400 sec) Preemption enabled, min delay 30 sec Active is 172.16.10.3 (primary), weighting 100 (expires in 10.464 sec) Forwarder 2 State is Active 1 state change, last state change 00:19:30 MAC address is 0007.b400.0102 (default) Owner ID is aabb.cc00.0300 Preemption enabled, min delay 30 sec Active is local, weighting 100 R1#