1. GLBP란 GLBP는 HSRP의기능을강화한 CISCO 이중화프로토콜이다. HSRP의확장인 GLBP는 virtual ip 할당을동적으로시행하고 GLBP 그룹멤버에다수의 virtual mac 주소를할당한다. ( 최대 4개 ) 캠퍼스네트워크에서 layer 3 vlan 인터페이스가호스트에대해서게이트웨이로서동작한다. 이경우 GLBP를사용하면 load balancing 을호스트에제공할수있다. IEEE 802.3 LAN에서단일게이트웨이로구성된 IP HOST들을위한자동라우터백업을제공한다. GLBP는단일 virtual ip 주소와여러개의 MAC주소를사용하여여러라우터에게 load balancing 를제공한다. host 들은같은 virtual ip주소로설정되고, virtual router 그룹내에모든라우터들을동시에패킷스위칭이가능하다. 2. AVG(active virtual gateway) GLBP 그룹내에하나의 AVG가선출되고선출방법은 HSRP와 VRRP처럼우선순위가가장높은라우터가 AVG가되며그다음높은라우터가 standby AVG가된다. 만약같은우선순위일때는높은 IP주소를가진라우터가선출된다. < GLBP 우선순위설정 > - 설정하고자하는인터페이스모드에서 Switch(config-if)#glbp group priority level group number : 0 ~ 1023, priority : 1 ~ 255 ( 가장높은값 : 255 default = 100) - AVG 는같은 GLBP 그룹내에라우터에게 Virtual mac 주소를각각할당한다. - 하나의 GLBP그룹에는최대 4대의라우터가존재가능하다. - PC 서버와 AVF간의중개자역할수행한다. - HSRP처럼현재 Active라우터가죽을때까지다른하나의라우터가 Active상태로될수없지만, 현재 AVG 의우선순위보다더높은우선순위를갖는라우터가있다면 Preempt 명령어로 Active 상태전환으로허용한다. 그룹멤버의상태는 active, standby, listening 중하나이다. GLBP 그룹멤버들은 AVG와 SVG(standby virtual gateway) 를선출한다. 3 개이상의멤버가존재할경우나머지멤버는 listening 상태이다. AVG 가다 운되면 SVG 가역할을수행한다. 그리고 listening 상태의멤버중에서 SVG 를다시선출한다. AVG 가다시 살아나거나우선순위가높은새멤버가등장해도 preempt 기능을사용하지않으면 AVG 와 SVG 는바뀌지않 는다. GLBP AVG 는 GLBP 그룹의각멤버들에게 virtual mac 주소를할당한다. HSRP 는 virtual ip 에하나의 virtual mac 이존재하지만, GLBP 는각멤버에게 virtual mac 주소를하나씩할당해준다. 단 GLBP 에서하 나의그룹당할당가능한 virtual mac 의최대 4 개까지이다. 3. AVF(active virtual forwarder) AVG로부터 Virtual mac주소를할당받은라우터를 AVF라고한다. AVF는할당받은 virtual mac를목적지로해서들어오는트래픽을전송해준다. 4개의멤버로구성된 GLBP 그룹인경우, 각멤버는하나의 virtual mac에대해서 PVF(primary virtual forwarder) 이면서, 다른 3개의 virtual mac에대해 SVF(secondary virtual forwarder) 가된다. GLBP는라우터가같은그룹내에서하나의 virtual mac 주소를가진 AVF를결정하기위해서 weight기능을사용한다. 각각의라우터는최대 weight 값 (1 ~ 254) 으로시작한다. 특정인터페이스가다운이될때그 weight값은
설정된값만큼감소한다. GLBP 는한라우터가 AVF 가될때와 AVF 가될수없을때한계치 (threshold) 를사용한다. 만약그 weight 값이낮은한계치아래로떨어진다면, 그라우터는 AVF역할은포기한다. weight값이좀높은한계치위로올라간다면그라우터는 AVF역할을다시시작할수있다. 동적웨이팅조정을원한다면 GLBP는그 weight 를조정하기위한방법과이동하기위한인터페이스를알아야한다. < 이동되는인터페이스에서동적웨이팅설정 > Switch(config)#track object-number interface type {line-protocol ip routing} object-number는 weight 조정을위해사용되어지는임의의값. (1 ~ 500) 조정을일으키는조건은 line-protocol( 인터페이스의 line protocol이 up인상태 ) 혹은 ip routing(ip routing이활성화되어져있고인터페이스에 ip가할당되어있으며 up인상태 ) <GLBP인터페이스에한계치설정 > Switch(config-if)#glbp group weight track object-number [decrement value] Maximum weight : 1 ~ 254 (default :100) upper과 lower 한계치는그라우터가 AVF가될수있을때와될수없을때각각정의해준다. < 인터페이스모드에서웨이팅값이조정되어지기위한이동을하기위해어느 objects인지알기위해 GLBP설정 > Switch(config-if)#glbp group weighting track object-number [decrement value] 이동되는 object가실패를할때그웨이팅은 decrement value 만큼감소되어짐. 4. GLBP load balancing 방법호스트들은통신을위해 mac주소를알아야한다. 호스트가 ARP로요구를하면한라우터의 virtual mac 주소를 AVG가배포한다. 그럼호스트는 virtual ip 와 virtual mac 주소를가지게된다. 각각의호스트는 virtual ip는같지만 virtual mac 주소는다를수있다. AVG는클라이언트들에게가상라우터 MAC 주소를분배해주는것으로 load balancing을구현한다. 물론 AVG는각각의가상 MAC주소를사용하는그룹안에있는 AVF들에게먼저알려준다. 일정한순서에의해할당되어진최대 4개의가상 MAC주소가 AVF에할당되어진다. Round robin : 디폴트동작으로 host가 default gateway mac주소를질의할때마다순서적으로이용가능 한 AVF 의가상 MAC 주소를받게된다. Weighted : GLBP 그룹인터페이스의 Weighting 값은 AVF 로보내어지는트래픽의비율을결정한다. Weighting 비율에따라 load balancing 이이뤄진다. Host-dependent : AVG는동일호스트에동일한가상 MAC주소를할당해준다. 5. 설정아래의그림에서전부 3개의스위치에 2개의 vlan(10, 20) 이존재하고있다. 이네트워크에서 Distribution1 은모든 vlan에대해 route bridge이고결과적으로 Distribution2의 1/0/2 포트가 blk 상태이다. 이러한구성에서는 GLBP를이용한 load balancing은되지않는다. STP를이용한 load 분산을하거나 HSRP를사용하는게낫다.
5-1. GLBP 우선순위설정 interface fa 0/0 glbp group priority level - group 넘버는 0-1023, priority 는 1-255 ( 디폴트값은 100) ex) glbp 1 priority 110 5-2. Preempt 설정 interface fa 0/0 glbp group preempt [delay minimum seconds] ex) glbp 1 preempt delay min 60 5-3. 인터페이스에서동적 WEIGHT 설정 track object-number interface type mod/num {line-protocol ip routing} - object-number는 WEIGHT조정을위해사용되어지는임의의값 (1-500) 조정을일으키는조건은 line-protocol ( 인터페이스 line-protocol이 up인상태 ) ex) 혹은 ip routing ( ip routing 이활성화되어져있어야하고인터페이스에는 ip 가할당되고 up 이어야한다.) glbp 1 weighting track 1 decrement 20 --> 지정하지않으면기본값은 10 track 1 interface fa0/1 line-protocol 5-4. GLBP 인터페이스에한계치설정 glbp group weighting maximum [lower xxx] [upper xxx] - maximum weight는 1-254 ( 디폴트는 100) upper 와 lower 한계치 (threshold) 는그라우터가 AVF가될수있을때와될수없을때를각각정해준다. ex)
glbp 1 weighting 100 lower 90 upper 100 - 이명령어를입력한장비의전송가중치를 100 으로설정한후 GLBP 장비가부하분산을할때이가중치의 비율로패킷을전송한다. (glbp 1 load-balancing weighted와함께사용한다.) 위의명령어내용은명령어가중치가 90이되면상대에게 AVF의역할을넘기고 (lower 90), 100이되면다시 AVF의역할을받아오겠다는의미이다. (upper 100). 상한값을지정하지않으면가중치값은 100이상한값이된다. 5-5. 인터페이스모드에서 WEIGHT 값이조정되어지기위한이동을하기위해어느 object 인지알기위해 GLBP를설정 glbp group weighting track object-number [decrement value] 이동되는 object가실패를할때그웨이팅은 decrement value만큼감소되어진다. 1-254 디폴트는 100 5-6. 부하분산방법지정 glbp group load-balancing [weighted roud-robin host-dependent] - 별도로지정하지않으면 round-robin 방식으로동작하며호스트들의 arp 요청별로 AVF의 MAC를번갈아가며알려준다. - host-dependent는호스트마다다른가상 MAC를넘겨준다. 이옵션은 stateful nat와같이동일한가상 ip주소에대한 arp요청에대해서는동일한 mac주소를받아야하는경우에사용하면좋다. - weight 전송가중치에따라분산한다. ex) glbp 1 load-balancing weighted or glbp 1 load-balancing roud-robin or glbp 1 load-balancing host-dependent conf t glbp group authentication text string - 그그룹에서다른라우터들로부터받는 GLBP패킷들을인증한다. 그룹내의모든라우터는동일한패스워드를가져야한다. glbp group forwarder preempt [delay minimum seconds] - 현재 AVF 보다더높은우선순위를가진라우터가등장하면한그룹에서 AVF 의역할을넘겨주도록한다. - - 디폴트 delay 값은 30 초 / 이기능은디폴트로 enable 되어있다. - 장애가발생하여다른라우터에게 AVF 역할을넘겨주었다가장애처리후다시 AVF 의역할을수행하게된 다. glbp group load-balancing [host-dependent round-robin weighted] - GLBP AVG 에의해사용되어질 load balancing 방법을정의한다. glbp group preempt [delay minimum seconds] - 현재 AVG보다더높은우선순위를가진라우터가등장하면 AVG 역할을인계받는다. - 이기능은디폴트로 disable되어있다. - AVG 자체의역할은부하가많이걸리지않으므로장애처리후 AVG역할을받아오지않아도별문제가없
다. delay 옵션을사용하여장애처리후일정시간이경과한다음에 AVG 역할을받아오게할수있다. glbp group priority level - GLBP그룹내에서게이트웨이의우선순위 ( 디폴트값은 100) glbp group timers [msec] hellotime [msec] holdtime - msec는 100분의 1초단위 - hello는 3초 hold는 10초 glbp group timers redirect redirect timeout - redirect 는 AVG 가호스트들에게다른 AVF 로전송방향을바꾸도록한다. ( 장애발생시 ) 확인 show glbp? / show track - default interval 3초 - 224.0.0.102 UDP-port : 3222 참고 HSRPv1 : 224.0.0.2 HSRPv2 : 224.0.0.102 - 테스트 1 - 사용넷파일 model = 3660 autostart = False ghostios = true sparsemem = true mmap = False [[router r2]] console = 2002 model = 3660 [[router r3]] console = 2003
[localhost] port = 7200 udp = 10000 workingdir =..\tmp\ R1 int lo 0 ip add 1.1.1.1 255.255.255.0 int fa 0/1 [[3660]] image =..\ios\c3660-jk9o3s-mz.124-15.t8.image.bin [[2691]] ram = 128 ip add 1.1.100.1 255.255.255.0 ip os net point-to-multi ip os hello 5 router os 1 net 1.1.1.1 0.0.0.0 a 0 net 1.1.100.1 0.0.0.0 a 0 confreg = 0x2102 exec_area = 32 idlepc = 0x60649438 idlemax = 100 image =..\ios\c2691-ad.bin ram = 128 confreg = 0x2102 exec_area = 32 idlepc = 0x602c3f34 idlemax = 100 [[router r1]] console = 2001 model = 2691 - 기본맵핑 model = 3660 [[router r4]] console = 2004 model = 3660 [[router r5]] console = 2005 model = 2691 [[router r6]] console = 2006 model = 2691 [[router r7]] console = 2007 model = 2691 [[router sw1]] console = 3001 slot1 = NM-16ESW F1/2 = r2 F0/0 F1/3 = r3 F0/0 F1/4 = r4 F0/0 F1/5 = r5 F0/0 F1/6 = r6 F0/0 F1/7 = r7 F0/0 F1/8 = r1 F0/1 F1/9 = r2 F0/1 F1/10 = r3 F0/1 F1/11 = r4 F0/1 model = 3660 R2 int fa 0/1 ip add 1.1.100.2 255.255.255.0 ip os net point-to-mu ip os hello 5 ip add 1.1.200.2 255.255.255.0 router os 1 net 1.1.100.2 0.0.0.0 a 0
SW vlan 10 int rang fa 1/8-11 sw mo acc sw acc vlan 10 spann portfast R3 int fa 0/1 ip add 1.1.100.3 255.255.255.0 ip os net point-to-mu ip os hello 5 ip add 1.1.200.3 255.255.255.0 router os 1 net 1.1.100.3 0.0.0.0 a 0 redistribute connect route-map FA0/0 subnet route-map FA0/0 permit 10 match SW vlan 20 int rang fa 1/2-7 sw mo acc sw acc vlan 20 spann portfast R6 ip add 1.1.200.6 255.255.255.0 ip route 0.0.0.0 0.0.0.0 1.1.200.211 redistribute connect route-map FA0/0 subnet route-map FA0/0 permit 10 match set tag 444 또는 router os 1 net 1.1.100.2 0.0.0.0 a 0 net 1.1.200.2 0.0.0.0 a 0 passive-inter fa 0/0 R4 int fa 0/1 ip add 1.1.100.4 255.255.255.0 ip os net point-to-mu ip os hello 5 ip add 1.1.200.4 255.255.255.0 router os 1 net 1.1.100.4 0.0.0.0 a 0 redistribute connect route-map FA0/0 subnet route-map FA0/0 permit 10 match R5 ip add 1.1.200.5 255.255.255.0 ip route 0.0.0.0 0.0.0.0 1.1.200.211 R7 ip add 1.1.200.7 255.255.255.0 ip route 0.0.0.0 0.0.0.0 1.1.200.211
- GLBP 설정 R2 track 1 interface fa 0/1 line-protocol <--- ip routing 옵션도있다, key chain GLBP key 1 key-string cisco1 key 2 key-string cisco2... glbp 1 ip 1.1.200.211 <--- group 1 의 GW 용주소 glbp 1 priority 130 <---- 우선순위가높은장비가 AVG 가된다. glbp 1 load-balancing host-dependent (weight, round-roubin) glbp 1 authentication md5 key-chain GLBP glbp 1 preempt delay min 0 <--- AVG 에대한 preempt --> int fa0/0 의다운에대한 preempt 가된다. glbp 1 timer 1 3 <--- hello interval glbp 1 timers redirect 1 601 glbp 1 forwarder preempt delay min 60(0) <--- AVF 에대한 preempt --> track 하고있는 int fa0/1 이다운되었을때 1 분후 active 를놓아준다. 그래서 0 으로조정 int fa 0/1 를다운시키고 show glbp detail 확인해보면약 1 분간 active 를유지하고있다. glbp 1 weighting track 1 decrement 30 --> decrement 로수치를지정하지않으면 default 로 10 감소한다. glbp 1 weighting 100 lower 90 upper 100 --> 가중치가 90 이되면상대에게 AVF 의역할을넘기고 (low90) 100 이되면다시 AVF 의역할을받아온 다. (upper 100) 상한값 (upper) 을지정하지않으면가중치값 (100) 이상한값이된다. 이설정값을입력하지않으면 upper 는디폴트값인 100 이되고 low 는 1 이된다. 즉반드시설정 사용예제 ) track 을 1,2,3 3 개의인터페이스를 track 하고있다고했을때 track 1 이다운되면 decrement 10, track 2 가다운되면 decrement 10, track 3 이다운되었을때는 decrement 30 을설정했다고한다면, glbp 1 weighting 120 lower 90 upper 110 으로설정했을때 track 1 이다운되면 weighting 120 10 = 110 이되어 lower 90 보다높고 upper 110 과같으므로 AVF 로사용가능하고 track 1 과 track 2 가동시에다운되면 weighting 120 20 = 100 이되어 AVF 로 사용할수없게된다. track 3 이다운되면 120 30 = 90 이되어 AVF 로사용불가능하게된다. 참고 기존방식 track 1 interface fa 0/1 line-protocol glbp 1 weighting track 1 decrement 30 track 1 rtr 1 reachability ip sla 1 icmp-echo 1.1.1.1 frequency 5 ip sla sched 1 life for star now glbp 1 weighting track 1 decrement 30
R3 track 1 interface fa 0/1 line-protocol key chain GLBP key 1 key-string cisco1 key 2 key-string cisco2... glbp 1 ip 1.1.200.211 glbp 1 priority 120 glbp 1 load-balancing host-dependent glbp 1 authentication md5 key-chain GLBP glbp 1 preempt delay min 0 glbp 1 timer 1 3 glbp 1 timers redirect 1 601 glbp 1 forwarder preempt delay min 0 glbp 1 weighting track 1 decrement 30 glbp 1 weighting 100 low 90 upper 100 - 검증 R5#traceroute 1.1.1.1 1 1.1.200.3 32 msec 28 msec 36 msec 2 1.1.100.1 56 msec * 40 msec R5#sho arp R4 track 1 interface fa 0/1 line-protocol key chain GLBP key 1 key-string cisco1 key 2 key-string cisco2... glbp 1 ip 1.1.200.211 glbp 1 priority 110 glbp 1 load-balancing host-dependent glbp 1 authentication md5 key-chain GLBP glbp 1 preempt delay min 0 glbp 1 timer 1 3 glbp 1 timers redirect 1 601 glbp 1 forwarder preempt delay min 0 glbp 1 weighting track 1 decrement 30 glbp 1 weighting 100 low 90 upper 100 Internet 1.1.200.211 0 0007.b400.0101 ARPA FastEthernet0/0 R3#show glbp b Interface Grp Fwd Pri State Address Active router Standby router Fa0/0 1-120 Standby 1.1.200.211 1.1.200.2 local Fa0/0 1 1 - Active 0007.b400.0101 local - Fa0/0 1 2 - Listen 0007.b400.0102 1.1.200.4 - Fa0/0 1 3 - Listen 0007.b400.0103 1.1.200.2 - R6#traceroute 1.1.1.1 1 1.1.200.4 32 msec 48 msec 44 msec 2 1.1.100.1 76 msec * 44 msec R6#show arp Internet 1.1.200.211 0 0007.b400.0102 ARPA FastEthernet0/0 R4#show glbp b Interface Grp Fwd Pri State Address Active router Standby router Fa0/0 1-110 Listen 1.1.200.211 1.1.200.2 1.1.200.3 Fa0/0 1 1 - Listen 0007.b400.0101 1.1.200.3 - Fa0/0 1 2 - Active 0007.b400.0102 local -
Fa0/0 1 3 - Listen 0007.b400.0103 1.1.200.2 - R7#traceroute 1.1.1.1 1 1.1.200.2 36 msec 44 msec 44 msec 2 1.1.100.1 60 msec * 44 msec R7#sho arp Internet 1.1.200.211 0 0007.b400.0103 ARPA FastEthernet0/0 R2#show glbp brief Interface Grp Fwd Pri State Address Active router Standby router Fa0/0 1-130 Active 1.1.200.211 local 1.1.200.3 Fa0/0 1 1 - Listen 0007.b400.0101 1.1.200.3 - Fa0/0 1 2 - Listen 0007.b400.0102 1.1.200.4 - Fa0/0 1 3 - Active 0007.b400.0103 local -