CCIE, the beginning!

January 19, 2009

BGP link-bw & multipath Load Balancing

Filed under: BGP, Routing protocols — cciethebeginning @ 11:41 am
Tags: ,

 

An autonomous system can be connected to another through multiple links and according to the company business and redundancy requirements different schemes can be used:

-          Primary/secondary: where the second link is used only when the first link fails.

-           Symmetric load-sharing: where the traffic is equally distributed among multiple links in the same time, which provides a high level of redundancy for the enterprise.

But, it’s not always possible to provide equal bandwidth links because of either financial limits or availability of such solution. So the need to engineer traffic through these links according to their  bandwidth  capacity.

Here comes the solution of BGP link bandwidth.

With the deployment of BGP multipath, generally the decision of using multiple path to deliver the traffic is performed inside the autonomous system by an iBGP according to multiple criteria excluding the eBGP link bandwidth.

BGP link-bw advertise bandwidth of an autonomous system exit link as extended community to iBGP.

Some requirements are to be considered:

-          Only between directly connected eBGP peers.

-          BGP extended community should be enabled between iBGP.

-          CEF should be enabled everywhere.

Figure 1 illustrates the lab topology used to implement BGP link-bw

Figure1: Topology

Inside AS 64540, R1, R2 and R3 establish full mesh iBGP sessions, the same for AS 64550: R4, R5, R6 and R7 establish full mesh iBGP sessions.

Links R2-R4, R5-R3, R6-R3 are direct eBGP sessions using interfaces ip addresses as sources and destinations.

 

Network default behavior

The network default configuration is as follow:

AS 64540:

R1:

R1(config-router)#do sh ip bgp

BGP table version is 3, local router ID is 10.10.10.1

Status codes: s suppressed, d damped, h history, * valid, > best, i – internal,

              r RIB-failure, S Stale

Origin codes: i – IGP, e – EGP, ? – incomplete

 

   Network          Next Hop            Metric LocPrf Weight Path

*> 10.10.10.0/24    0.0.0.0                  0         32768 i

* i70.70.70.0/24    3.3.3.3                  0    100      0 64550 i

*>i                 2.2.2.2                  0    100      0 64550 i

R1(config-router)#

 

R1(config-router)#do sh ip bgp 70.70.70.0

BGP routing table entry for 70.70.70.0/24, version 3

Paths: (2 available, best #2, table Default-IP-Routing-Table)

  Not advertised to any peer

  64550

    3.3.3.3 (metric 2297856) from 3.3.3.3 (3.3.3.3)

      Origin IGP, metric 0, localpref 100, valid, internal

  64550

    2.2.2.2 (metric 2297856) from 2.2.2.2 (2.2.2.2)

      Origin IGP, metric 0, localpref 100, valid, internal, best

R1(config-router)#

the default path chosen is through R2-R4:

R1(config-router)#do traceroute 70.70.70.1 source 10.10.10.1

 

Type escape sequence to abort.

Tracing the route to 70.70.70.1

 

  1 192.168.12.2 24 msec 320 msec 452 msec

  2 192.168.24.2 1004 msec 716 msec 484 msec

  3 192.168.47.2 292 msec *  556 msec

R1(config-router)#

So the traffic from R1 to R7 takes the path R1-R2-R7

 Table1: best path selection for 70.70.70.1/24 from R1

 

Attribute

Path1

Path2

1

weight

0

0

2

local preference

100

100

3

originated locally

No

No

4

AS_PATH

64550

64550

5

ORIGIN

i

i

6

MED

0

0

7

eBGP<>iBGP

iBGP

iBGP

8

Best IGP metric to NEXT-HOP

2297856

2297856

9

Multipath

No

No

10

oldest path

No

No

11

Lowest neighbor router-ID

3.3.3.3

2.2.2.2  <<<

 

AS 64550:

R7:

R7(config-router)#do sh ip bgp

BGP table version is 3, local router ID is 70.70.70.1

Status codes: s suppressed, d damped, h history, * valid, > best, i – internal,

              r RIB-failure, S Stale

Origin codes: i – IGP, e – EGP, ? – incomplete

 

   Network          Next Hop            Metric LocPrf Weight Path

* i10.10.10.0/24    5.5.5.5                  0    100      0 64540 i

*>i                 4.4.4.4                  0    100      0 64540 i

* i                 6.6.6.6                  0    100      0 64540 i

*> 70.70.70.0/24    0.0.0.0                  0         32768 i

R7(config-router)#

 

R7(config-router)#do traceroute 10.10.10.1 source 70.70.70.1

 

Type escape sequence to abort.

Tracing the route to 10.10.10.1

 

  1 192.168.47.1 8 msec 268 msec 104 msec

  2 192.168.24.1 164 msec 348 msec 136 msec

  3 192.168.12.1 276 msec *  260 msec

R7(config-router)#

So the traffic from R7 to R1 takes the path R7-R4-R2-R1

R7(config-router)#do sh ip bgp 10.10.10.0

BGP routing table entry for 10.10.10.0/24, version 3

Paths: (3 available, best #2, table Default-IP-Routing-Table)

  Not advertised to any peer

  64540

    5.5.5.5 (metric 2297856) from 5.5.5.5 (5.5.5.5)

      Origin IGP, metric 0, localpref 100, valid, internal

  64540

    4.4.4.4 (metric 2297856) from 4.4.4.4 (4.4.4.4)

      Origin IGP, metric 0, localpref 100, valid, internal, best

  64540

    6.6.6.6 (metric 2297856) from 6.6.6.6 (6.6.6.6)

      Origin IGP, metric 0, localpref 100, valid, internal

R7(config-router)#

 

R4-R2 link is chosen as the best path to reach the prefix 10.10.10.1/24:

Table2: best path selection for 10.10.10.1/24 from R7

 

Attribute

Path1

Path2

Path3

1

weight

0

0

0

2

local preference

100

100

100

3

originated locally

No

No

No

4

AS_PATH

64540

64540

64540

5

ORIGIN

i

i

i

6

MED

0

0

0

7

eBGP<>iBGP

iBGP

iBGP

iBGP

8

Best IGP metric to NEXT-HOP

2297856

2297856

2297856

9

Multipath

No

No

No

10

oldest path

No

No

No

11

Lowest neighbor router-ID

5.5.5.5

4.4.4.4  <<<

6.6.6.6

 

BGP Link-BW deployment

The best way to utilize BW resources is to load-share the traffic among the three eBGP link according to their BW:

let’s recall the requirements for using BGP link BW:

- Requires BGP multipath configured.

- Enable BGP ext. community between iBGP.

- Enable CEF everywhere.

General configuration:

On each iBGP speaker with multilink ramification, enable iBGP multipath

router bgp <ASnbr>

 maximum-paths <n>

 maximum-paths ibgp <n>

 

router bgp <ASnbr>

 address-family ipv4

 neighbor <iBGP_peer> activate

 neighbor <iBGP_peer> send-community extended

!iBGP peer to which extended community is to be send.

 

 neighbor <eBGP_peer> activate

 neighbor <eBGP_peer> dmzlink-bw

!Allow eBGP bandwidth to be propagated through link-bw extended community

 

 bgp dmzlink-bw

!“bgp dmzlink-bw” is configured on any router whose eBGP link bandwidth !will be used for load-balancing.

 exit-address-family

 

As 65540:

R1(iBGP):

router bgp 64540

 address-family ipv4

 neighbor 2.2.2.2 activate

 neighbor 3.3.3.3 activate

 

 maximum-paths 3

 maximum-paths ibgp 3

 

 exit-address-family

eBGP speaker R2:

router bgp 64540

 address-family ipv4

 neighbor 1.1.1.1 activate

 neighbor 1.1.1.1 send-community extended

 neighbor 1.1.1.1 next-hop-self

 

 neighbor 3.3.3.3 activate

 neighbor 3.3.3.3 next-hop-self

 

 neighbor 192.168.24.2 activate

 neighbor 192.168.24.2 dmzlink-bw

 bgp dmzlink-bw

 exit-address-family

eBGP speaker R3:

router bgp 64540

 

 address-family ipv4

 neighbor 1.1.1.1 activate

 neighbor 1.1.1.1 send-community extended

 neighbor 1.1.1.1 next-hop-self

 

 neighbor 2.2.2.2 activate

 neighbor 2.2.2.2 next-hop-self

 

 neighbor 192.168.35.2 activate

 neighbor 192.168.35.2 dmzlink-bw

 

 neighbor 192.168.36.2 activate

 neighbor 192.168.36.2 dmzlink-bw

 

 maximum-paths 2

 maximum-paths ibgp 2

 

 bgp dmzlink-bw

 

 exit-address-family

 

Verification:

R1#sh ip route

Codes: C – connected, S – static, R – RIP, M – mobile, B – BGP

       D – EIGRP, EX – EIGRP external, O – OSPF, IA – OSPF inter area

       N1 – OSPF NSSA external type 1, N2 – OSPF NSSA external type 2

       E1 – OSPF external type 1, E2 – OSPF external type 2

       i – IS-IS, su – IS-IS summary, L1 – IS-IS level-1, L2 – IS-IS level-2

       ia – IS-IS inter area, * – candidate default, U – per-user static route

       o – ODR, P – periodic downloaded static route

 

Gateway of last resort is not set

 

     192.168.12.0/30 is subnetted, 1 subnets

C       192.168.12.0 is directly connected, Serial1/0

     1.0.0.0/32 is subnetted, 1 subnets

C       1.1.1.1 is directly connected, Loopback0

     192.168.13.0/30 is subnetted, 1 subnets

C       192.168.13.0 is directly connected, Serial1/1

     2.0.0.0/32 is subnetted, 1 subnets

D       2.2.2.2 [90/2297856] via 192.168.12.2, 03:20:35, Serial1/0

     70.0.0.0/24 is subnetted, 1 subnets

B       70.70.70.0 [200/0] via 3.3.3.3, 01:11:12

                   [200/0] via 2.2.2.2, 01:11:12

     3.0.0.0/32 is subnetted, 1 subnets

D       3.3.3.3 [90/2297856] via 192.168.13.2, 03:20:29, Serial1/1

     10.0.0.0/24 is subnetted, 1 subnets

C       10.10.10.0 is directly connected, Loopback1

R1#

 

R1#sh ip route 70.70.70.1

Routing entry for 70.70.70.0/24

  Known via “bgp 64540″, distance 200, metric 0

  Tag 64550, type internal

  Last update from 2.2.2.2 01:08:48 ago

  Routing Descriptor Blocks:

    3.3.3.3, from 3.3.3.3, 01:08:48 ago

      Route metric is 0, traffic share count is 1

      AS Hops 1

      Route tag 64550

  * 2.2.2.2, from 2.2.2.2, 01:08:48 ago

      Route metric is 0, traffic share count is 1

      AS Hops 1

      Route tag 64550

 

R1#

R1:

R1#sh ip bgp 70.70.70.1

BGP routing table entry for 70.70.70.0/24, version 7

Paths: (2 available, best #2, table Default-IP-Routing-Table)

Multipath: eBGP iBGP

  Not advertised to any peer

  64550

    3.3.3.3 (metric 2297856) from 3.3.3.3 (3.3.3.3)

      Origin IGP, metric 0, localpref 100, valid, internal, multipath

      DMZ-Link Bw 1443 kbytes

  64550

    2.2.2.2 (metric 2297856) from 2.2.2.2 (2.2.2.2)

      Origin IGP, metric 0, localpref 100, valid, internal, multipath, best

      DMZ-Link Bw 12500 kbytes

R1#

Note the proportion of the link BW of path 2 (through 2.2.2.2) against link BW of path 1 (through 3.3.3.3).

 Table3: best path selection for 70.70.70.1/24 from R1 after BGP Link-bw

 

Attribute

Path1

Path2

1

weight

0

0

2

local preference

100

100

3

originated locally

No

No

4

AS_PATH

64550

64550

5

ORIGIN

i

i

6

MED

0

0

7

eBGP<>iBGP

iBGP

iBGP

8

Best IGP metric to NEXT-HOP

2297856

2297856

9

Multipath

2 <<<<

2 <<<<

10

oldest path

No

No

11

Lowest neighbor router-ID

3.3.3.3

2.2.2.2 

 

R3:

R3#sh ip route

Codes: C – connected, S – static, R – RIP, M – mobile, B – BGP

       D – EIGRP, EX – EIGRP external, O – OSPF, IA – OSPF inter area

       N1 – OSPF NSSA external type 1, N2 – OSPF NSSA external type 2

       E1 – OSPF external type 1, E2 – OSPF external type 2

       i – IS-IS, su – IS-IS summary, L1 – IS-IS level-1, L2 – IS-IS level-2

       ia – IS-IS inter area, * – candidate default, U – per-user static route

       o – ODR, P – periodic downloaded static route

 

Gateway of last resort is not set

 

     192.168.12.0/30 is subnetted, 1 subnets

D       192.168.12.0 [90/2681856] via 192.168.13.1, 03:21:04, Serial1/0

     1.0.0.0/32 is subnetted, 1 subnets

D       1.1.1.1 [90/2297856] via 192.168.13.1, 03:21:04, Serial1/0

     192.168.13.0/30 is subnetted, 1 subnets

C       192.168.13.0 is directly connected, Serial1/0

     2.0.0.0/32 is subnetted, 1 subnets

D       2.2.2.2 [90/2809856] via 192.168.13.1, 03:21:04, Serial1/0

     70.0.0.0/24 is subnetted, 1 subnets

B       70.70.70.0 [20/0] via 192.168.35.2, 01:11:47

                   [20/0] via 192.168.36.2, 01:11:47

     3.0.0.0/32 is subnetted, 1 subnets

C       3.3.3.3 is directly connected, Loopback0

     10.0.0.0/24 is subnetted, 1 subnets

B       10.10.10.0 [200/0] via 1.1.1.1, 01:18:16

     192.168.36.0/30 is subnetted, 1 subnets

C       192.168.36.0 is directly connected, Serial1/1

     192.168.35.0/30 is subnetted, 1 subnets

C       192.168.35.0 is directly connected, Ethernet0/0

R3#

 

R3#sh ip route 70.70.70.1

Routing entry for 70.70.70.0/24

  Known via “bgp 64540″, distance 20, metric 0

  Tag 64550, type external

  Last update from 192.168.36.2 01:09:28 ago

  Routing Descriptor Blocks:

  * 192.168.35.2, from 192.168.35.2, 01:09:28 ago

      Route metric is 0, traffic share count is 1

      AS Hops 1

      Route tag 64550

    192.168.36.2, from 192.168.36.2, 01:09:28 ago

      Route metric is 0, traffic share count is 1

      AS Hops 1

      Route tag 64550

 

R3#

 

R3#sh ip bgp 70.70.70.1

BGP routing table entry for 70.70.70.0/24, version 6

Paths: (3 available, best #1, table Default-IP-Routing-Table)

Multipath: eBGP iBGP

  Advertised to update-groups:

     1          2          3

  64550

    192.168.35.2 from 192.168.35.2 (5.5.5.5)

      Origin IGP, localpref 100, valid, external, multipath, best

      DMZ-Link Bw 1250 kbytes

  64550

    2.2.2.2 (metric 2809856) from 2.2.2.2 (2.2.2.2)

      Origin IGP, metric 0, localpref 100, valid, internal

  64550

    192.168.36.2 from 192.168.36.2 (6.6.6.6)

      Origin IGP, localpref 100, valid, external, multipath

      DMZ-Link Bw 193 kbytes

R3#

Note the proportion of the link BW of path 1 (through 192.168.35.2) against link BW of path 1 (through 192.168.36.2).

AS 64550:

The same configuration can be done for AS 64550 to have a symmetric traffic flow between the two ASs:

R4:

R4#bgpcf

router bgp 64550

 address-family ipv4

 neighbor 5.5.5.5 activate

 

 neighbor 6.6.6.6 activate

 

 neighbor 7.7.7.7 activate

 

 neighbor 7.7.7.7 send-community extended

 

 neighbor 192.168.24.1 activate

 

 neighbor 192.168.24.1 dmzlink-bw

 

 bgp dmzlink-bw

 exit-address-family

R5:

bgp 64550

 address-family ipv4

 neighbor 4.4.4.4 activate

 

 neighbor 6.6.6.6 activate

  

 neighbor 7.7.7.7 activate

 

 neighbor 7.7.7.7 send-community extended

 

 neighbor 192.168.35.1 activate

 

 neighbor 192.168.35.1 dmzlink-bw

 

 bgp dmzlink-bw

 

 exit-address-family

R6:

router bgp 64550

 address-family ipv4

 neighbor 4.4.4.4 activate

  

 neighbor 5.5.5.5 activate

 

 neighbor 7.7.7.7 activate

 neighbor 7.7.7.7 send-community extended

  

 neighbor 192.168.36.1 activate

 

 neighbor 192.168.36.1 dmzlink-bw

 

 bgp dmzlink-bw

 

 exit-address-family

R7:

router bgp 64550

 address-family ipv4

 neighbor 4.4.4.4 activate

 neighbor 5.5.5.5 activate

 neighbor 6.6.6.6 activate

  

 maximum-paths 3

 maximum-paths ibgp 3

 

 exit-address-family

 

R7#sh ip bgp 10.10.10.1

BGP routing table entry for 10.10.10.0/24, version 9

Paths: (3 available, best #3, table Default-IP-Routing-Table)

Multipath: eBGP iBGP

Flag: 0×800

  Not advertised to any peer

  64540

    5.5.5.5 (metric 2297856) from 5.5.5.5 (5.5.5.5)

      Origin IGP, metric 0, localpref 100, valid, internal, multipath

      DMZ-Link Bw 1250 kbytes

  64540

    6.6.6.6 (metric 2297856) from 6.6.6.6 (6.6.6.6)

      Origin IGP, metric 0, localpref 100, valid, internal, multipath

      DMZ-Link Bw 193 kbytes

  64540

    4.4.4.4 (metric 2297856) from 4.4.4.4 (4.4.4.4)

      Origin IGP, metric 0, localpref 100, valid, internal, multipath, best

      DMZ-Link Bw 12500 kbytes

R7#

 

Table4: best path selection for 10.10.10.1/24 from R7 after configuring BGP link-bw

 

Attribute

Path1

Path2

Path3

1

weight

0

0

0

2

local preference

100

100

100

3

originated locally

No

No

No

4

AS_PATH

64540

64540

64540

5

ORIGIN

i

i

i

6

MED

0

0

0

7

eBGP<>iBGP

iBGP

iBGP

iBGP

8

Best IGP metric to NEXT-HOP

2297856

2297856

2297856

9

Multipath

3 <<<<

3 <<<<

3 <<<<

10

oldest path

No

No

No

11

Lowest neighbor router-ID

5.5.5.5

4.4.4.4

6.6.6.6

 

CONCLUSION

BGP link-bw provides an optimal way to use link bandwidth resources between autonomous systems, make sure CEF is enabled (enabled by default), iBGP multipath is already configured and enable the propagation of the extended community to iBGP neighbors.

September 6, 2008

GLBP (Gateway Load Balancing Protocol)

Filed under: IP Services — cciethebeginning @ 11:46 am
Tags: ,

After HSRP and VRRP it is time to discover GLBP, my favorite because unlike the others, GLBP is a native First hop/gateway load balancer.

Let’s take a brief look at GLBP main characteristics:

Router’s roles

- Active AVG (Active Virtual Gateway): There is only one AVG (with the highest priority) in a GLBP group with the following responsibilities:

- Assign a virtual MAC ( vMAC) address for itself and for each member of the group.

- Respond to ARP requests from clients with vMAC of other group member, the method used for selecting vMAC determine the load balancing algorithm.

- Standby AVG: The router with the highest priority among those remaining will be elected the standby AVG and will take the place of the active AVG if it is down.

- AVF (Active Virtual Forwarder):Up to four AVF in a group, Active AVG and Standby AVG are also AVF:

    - Each AVF is active and responsible for forwarding traffic destined to its vMAC.

- Each AVF listens to others, if one AVF can no more forward traffic, all listening AVF will compete to take the responsibility of the failed AVF vMAC along with its own (AVF with higher weighting wins).

Timers

- Holdtime: Used to monitor the presence of a group member If for the holdtime for a particular member expires, the owner of the timer can consider that member unavailable and send its hello packet to participate to the election of who will be responsible for its vMAC.

- Redirect timer: if expires the AVG will no more consider the vMAC of the failed AVF, even if there is still an AVF forwarding traffic destined to that vMAC.

- Secondary holdtimer :if this one expires all AVF will drop that vMAC and no one will be responsible for it.

Tracking: can be configured to monitor interface conditions like line-protocol and ip routing, if a tracked interface fails to maintain the configured condition the weighting will be reduced by a configured penality, and if the weight is below the lower threshold the routers stop being AVF.

Preempt

Whether it is an AVG or AVF, after recover from failure, the router is capable to claim back its status after a configured time period.

Protocol

GLBP group member use the multicast address 224.0.0.102 udp 3222 to communicate between each others.

Load Balancing algorithm

Round-Robin: the default LB algorithm, the AVG will alternate available vMAC in ARP reply messages.

Weighted: the weight of each AVF is an indicator of the percentage of clients that will use its vMAC.

Host-dependent: each client will always have the same vMAC.

Recommendations

All efforts of GLBP (also HSRP and VRRP by the way) are concentrated to provide redundancy and load balancing upstream from clients to the gateways, you have to take into consideration that the return or downstream traffic is asymmetric and will depend on the routing protocol decision, and this can create some issues with CAM table aging on multilayer switches used as gateways, therefore it is recommended to match CAM table MAC aging with ARP timeout.

For optimal utilization of GLBP, it is recommended to match GLBP client-cache timeout with ARP timeout.

Figure 1 illustrates the lab topology used with R4 a multilayer switch configured with an upstream interface Fa0/0 as routed interface (tracked by GLBP) and an SVI (switch virtual interface) VLAN10 configured for GLBP.

Figure1: Lab topology

The lab is organized as follow:

-I- GLBP configuration

Verification

-II- Testing

Primary AVG failure

Primary AVG recovery

Active AVF failure

AVF tracked interface failure

AVF tracked interface recovery

GLBP configuration

 

R2:

track 1 interface FastEthernet0/0 line-protocol

interface FastEthernet1/0

ip address 10.20.20.2 255.255.255.0

speed auto

full-duplex

glbp 10 ip 10.20.20.1

glbp 10 preempt

glbp 10 weighting 70

glbp 10 weighting track 1 decrement 50

R3:

track 1 interface FastEthernet0/0 line-protocol

interface FastEthernet1/0

ip address 10.20.20.3 255.255.255.0

speed auto

full-duplex

glbp 10 ip 10.20.20.1

glbp 10 priority 200

glbp 10 preempt

glbp 10 weighting track 1 decrement 50 

R4:

track 1 interface FastEthernet0/0 line-protocol

interface Vlan10

ip address 10.20.20.4 255.255.255.0

glbp 10 ip 10.20.20.1

glbp 10 priority 50

glbp 10 preempt

glbp 10 weighting 30 

 

Verification

#sh track 1

Track 1

Interface FastEthernet0/0 line-protocol

Line protocol is Up

1 change, last change 02:30:20

Tracked by:

GLBP FastEthernet1/0 10 

The same interface is tracked in all routers R2, R3 and R4.

R2:

R2#sh glbp brief

Interface Grp Fwd Pri State Address Active router Standby route

Fa1/0 10 – 100 Standby 10.20.20.1 10.20.20.3 local

Fa1/0 10 1 7 Listen 0007.b400.0a01 10.20.20.3 -

Fa1/0 10 2 7 Active 0007.b400.0a02 local -

Fa1/0 10 3 7 Listen 0007.b400.0a03 10.20.20.4 -

R2#

 

R2#sh glbp

FastEthernet1/0 – Group 10


State is Standby

1 state change, last state change 02:30:47

Virtual IP address is 10.20.20.1

Hello time 3 sec, hold time 10 sec

Next hello sent in 0.912 secs

Redirect time 600 sec, forwarder time-out 14400 sec

Preemption enabled, min delay 0 sec


Active is 10.20.20.3, priority 200 (expires in 7.220 sec)


Standby is local

Priority 100 (default)

Weighting 70 (configured 70), thresholds: lower 1, upper 70

Track object 1 undefined

Load balancing: round-robin

Group members:

cc00.026c.0010 (10.20.20.2) local

cc01.026c.0010 (10.20.20.3)

cc02.1514.0000 (10.20.20.4)

There are 3 forwarders (1 active)


Forwarder 1


State is Listen

MAC address is 0007.b400.0a01 (learnt)

Owner ID is cc01.026c.0010

Time to live: 14398.920 sec (maximum 14400 sec)

Preemption enabled, min delay 30 sec


Active is 10.20.20.3 (primary), weighting 100 (expires in 8.912 sec)


Forwarder 2


State is Active

1 state change, last state change 02:30:55

MAC address is 0007.b400.0a02 (default)

Owner ID is cc00.026c.0010

Preemption enabled, min delay 30 sec


Active is local, weighting 70


Forwarder 3


State is Listen

MAC address is 0007.b400.0a03 (learnt)

Owner ID is cc02.1514.0000

Time to live: 14399.268 sec (maximum 14400 sec)

Preemption enabled, min delay 30 sec


Active is 10.20.20.4 (primary), weighting 30 (expires in 9.260 sec)

R2#

R2 is the standby AVG with priority=100, the active AVG is R3 with a priority=200.

The group members contains the list of real MAC addresses of routers participating in the GLBP group

All three routers R2, R3 and R4 are AVF, forwarders for traffic destined to their virtual MAC addresses:

R2 virtual MAC = 0007.b400.0a01

R3 virtual MAC = 0007.b400.0a02

R4 virtual MAC = 0007.b400.0a03

R2, R3 and R4 AVFs are in listening state because they are all ready to take care of each other virtual MAC in case one AVF is down and the priority is givne to the AVF with the highest weight first.

this information is confirmed in all routers R3 and R4.

R3:

R3#sh glbp brief

Interface Grp Fwd Pri State Address Active router Standby route

Fa1/0 10 – 200 Active 10.20.20.1 local 10.20.20.2

Fa1/0 10 1 7 Active 0007.b400.0a01 local -

Fa1/0 10 2 7 Listen 0007.b400.0a02 10.20.20.2 -

Fa1/0 10 3 7 Listen 0007.b400.0a03 10.20.20.4 -

R3# 

 

R3#sh glbp

FastEthernet1/0 – Group 10

State is Active

2 state changes, last state change 02:45:37

Virtual IP address is 10.20.20.1

Hello time 3 sec, hold time 10 sec

Next hello sent in 0.860 secs

Redirect time 600 sec, forwarder time-out 14400 sec

Preemption enabled, min delay 0 sec

Active is local

Standby is 10.20.20.2, priority 100 (expires in 8.556 sec)

Priority 200 (configured)

Weighting 100 (default 100), thresholds: lower 1, upper 100

Track object 1 state Up decrement 50

Load balancing: round-robin

Group members:

cc00.026c.0010 (10.20.20.2)

cc01.026c.0010 (10.20.20.3) local

cc02.1514.0000 (10.20.20.4)

There are 3 forwarders (1 active)

Forwarder 1

State is Active

1 state change, last state change 02:45:27

MAC address is 0007.b400.0a01 (default)

Owner ID is cc01.026c.0010

Redirection enabled

Preemption enabled, min delay 30 sec

Active is local, weighting 100

Forwarder 2

State is Listen

MAC address is 0007.b400.0a02 (learnt)

Owner ID is cc00.026c.0010

Redirection enabled, 597.784 sec remaining (maximum 600 sec)

Time to live: 14397.784 sec (maximum 14400 sec)

Preemption enabled, min delay 30 sec

Active is 10.20.20.2 (primary), weighting 70 (expires in 7.788 sec)

Forwarder 3

State is Listen

MAC address is 0007.b400.0a03 (learnt)

Owner ID is cc02.1514.0000

Redirection enabled, 597.512 sec remaining (maximum 600 sec)

Time to live: 14397.512 sec (maximum 14400 sec)

Preemption enabled, min delay 30 sec

Active is 10.20.20.4 (primary), weighting 30 (expires in 7.512 sec)

R3# 

R4:

R4#sh glbp brief

Interface Grp Fwd Pri State Address Active router Standby route

Vl10 10 – 50 Listen 10.20.20.1 10.20.20.3 10.20.20.2

Vl10 10 1 7 Listen 0007.b400.0a01 10.20.20.3 -

Vl10 10 2 7 Listen 0007.b400.0a02 10.20.20.2 -

Vl10 10 3 7 Active 0007.b400.0a03 local -

R4# 

 

R4#sh glbp

Vlan10 – Group 10


State is Listen

Virtual IP address is 10.20.20.1

Hello time 3 sec, hold time 10 sec

Next hello sent in 1.640 secs

Redirect time 600 sec, forwarder time-out 14400 sec

Preemption enabled, min delay 0 sec


Active is 10.20.20.3, priority 200 (expires in 8.192 sec)


Standby is 10.20.20.2, priority 100 (expires in 8.900 sec)

Priority 50 (configured)

Weighting 30 (configured 30), thresholds: lower 1, upper 30

Load balancing: round-robin

Group members:

cc00.026c.0010 (10.20.20.2)

cc01.026c.0010 (10.20.20.3)

cc02.1514.0000 (10.20.20.4) local

There are 3 forwarders (1 active)


Forwarder 1


State is Listen

MAC address is 0007.b400.0a01 (learnt)

Owner ID is cc01.026c.0010

Time to live: 14398.188 sec (maximum 14400 sec)

Preemption enabled, min delay 30 sec


Active is 10.20.20.3 (primary), weighting 100 (expires in 7.500 sec)


Forwarder 2


State is Listen

MAC address is 0007.b400.0a02 (learnt)

Owner ID is cc00.026c.0010

Time to live: 14398.212 sec (maximum 14400 sec)

Preemption enabled, min delay 30 sec


Active is 10.20.20.2 (primary), weighting 70 (expires in 8.212 sec)


Forwarder 3


State is Active

1 state change, last state change 02:34:56

MAC address is 0007.b400.0a03 (default)

Owner ID is cc02.1514.0000

Preemption enabled, min delay 30 sec


Active is local, weighting 30

R4#

 

Figure 2 resumes GLBP states:

 

Figure2: GLBP states

Virtual MAC assignment:

R22:

R22#ping 10.20.20.1

 

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 10.20.20.1, timeout is 2 seconds:

.!!!!

Success rate is 80 percent (4/5), round-trip min/avg/max = 32/62/88 ms

R22#sh arp

Protocol Address Age (min) Hardware Addr Type Interface

Internet 10.20.20.1 0 0007.b400.0a01 ARPA FastEthernet0/0

Internet 10.20.20.4 37 cc02.1514.0000 ARPA FastEthernet0/0

Internet 10.20.20.22 – cc03.1514.0000 ARPA FastEthernet0/0

R22#

Note: generally the first ping after a clear ARP table will cause the first ICMP message to fail, this corresponds to the ARP operations to learn the MAC of the destination IP.

As the result of ARP request R22 has received from the virtual gateway, the AVG R2, the virtual MAC of R2, so all traffic from R22 is forwarded to R2 as confirmed by output of the trace command:

R22#trace 10.10.10.1

 

Type escape sequence to abort.

Tracing the route to 10.10.10.1

 

1 10.20.20.3 68 msec 64 msec 96 msec

2 10.10.10.1 68 msec 76 msec 36 msec

R22#

R33:

R33#ping 10.20.20.1

 

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 10.20.20.1, timeout is 2 seconds:

..!!!

Success rate is 60 percent (3/5), round-trip min/avg/max = 28/64/120 ms

R33#sh arp

Protocol Address Age (min) Hardware Addr Type Interface

Internet 10.20.20.2 0 cc00.026c.0010 ARPA FastEthernet0/0

Internet 10.20.20.1 0 0007.b400.0a02 ARPA FastEthernet0/0

Internet 10.20.20.4 37 cc02.1514.0000 ARPA FastEthernet0/0

Internet 10.20.20.33 – cc04.1514.0000 ARPA FastEthernet0/0

R33#

As the result of ARP request R33 has received from the virtual gateway, the AVG R2, the virtual MAC of R3, so all traffic from R33 is forwarded to R3 as confirmed by output of the trace command:

 

R33#trace 10.10.10.1

 

Type escape sequence to abort.

Tracing the route to 10.10.10.1

 

1 10.20.20.2 76 msec 108 msec 32 msec

2 10.10.10.1 64 msec 36 msec 72 msec

R33#

R44:

R44#ping 10.20.20.1

 

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 10.20.20.1, timeout is 2 seconds:

.!!!!

Success rate is 80 percent (4/5), round-trip min/avg/max = 20/45/76 ms

R44#sh arp

Protocol Address Age (min) Hardware Addr Type Interface

Internet 10.20.20.1 0 0007.b400.0a03 ARPA FastEthernet0/0

Internet 10.20.20.4 37 cc02.1514.0000 ARPA FastEthernet0/0

Internet 10.20.20.44 – cc05.1514.0000 ARPA FastEthernet0/0

R44#

As the result of ARP request R44 has received from the virtual gateway, the AVG R2, the virtual MAC of R4, so all traffic from R44 is forwarded to R4 as confirmed by output of the trace command:

R44#trace 10.10.10.1

 

Type escape sequence to abort.

Tracing the route to 10.10.10.1

 

1 10.20.20.4 40 msec 80 msec 28 msec

2 10.10.10.1 212 msec 76 msec 104 msec

R44#

 

TESTING

Primary AVG failure

 

At this point se stop the active AVG R3.

R2:

*Mar 1 00:02:30.759: %SYS-5-CONFIG_I: Configured from console by admin on console

*Mar 1 00:03:08.003: GLBP: Fa1/0 10 Standby: g/Active timer expired (10.20.20.3)

*Mar 1 00:03:08.007: GLBP: Fa1/0 10 Active router IP is local, was 10.20.20.3

*Mar 1 00:03:08.007: GLBP: Fa1/0 10 Standby router is unknown, was local

*Mar 1 00:03:08.011: GLBP: Fa1/0 10 Standby -> Active

*Mar 1 00:03:08.011: %GLBP-6-STATECHANGE: FastEthernet1/0 Grp 10 state Standby -> Active

 

R2#sh glbp brief

Interface Grp Fwd Pri State Address Active router Standby route

Fa1/0 10 – 100 Active 10.20.20.1 local 10.20.20.4

Fa1/0 10 1 7 Listen 0007.b400.0a01 10.20.20.4 -

Fa1/0 10 2 7 Active 0007.b400.0a02 local -

Fa1/0 10 3 7 Listen 0007.b400.0a03 10.20.20.4 -

R2#

10.20.20.1 (R4) is now honoring the memory of the defunct R3 :) by forwarding all traffic destined to R3 vitual MAC (0007.b400.0a01).

R4:

*Mar 1 05:30:33.074: GLBP: Vl10 10 Listen: g/Active timer expired (10.20.20.3)

*Mar 1 05:30:33.078: GLBP: Vl10 10 Active router IP is unknown, was 10.20.20.3

*Mar 1 05:30:33.082: GLBP: Vl10 10 Listen -> Speak

*Mar 1 05:30:33.086: GLBP: Vl10 10.1 Listen: g/Active timer expired

*Mar 1 05:30:33.090: GLBP: Vl10 10.1 Listen -> Active

*Mar 1 05:30:33.094: %GLBP-6-FWDSTATECHANGE: Vlan10 Grp 10 Fwd 1 state Listen -> Active

*Mar 1 05:30:33.110: GLBP: Vl10 10 Active router IP is 10.20.20.2

*Mar 1 05:30:33.114: GLBP: Vl10 10 Standby router is unknown, was 10.20.20.2

*Mar 1 05:30:33.118: GLBP: Vl10 10.1 Active: j/Hello rcvd from lower pri Active router (135/10.20.20.2)

*Mar 1 05:30:43.078: GLBP: Vl10 10 Speak: f/Standby timer expired (unknown)

*Mar 1 05:30:43.082: GLBP: Vl10 10 Standby router is local

*Mar 1 05:30:43.082: GLBP: Vl10 10 Speak -> Standby

 

R4#sh glbp brief

Interface Grp Fwd Pri State Address Active router Standby route

Vl10 10 – 50 Standby 10.20.20.1 10.20.20.2 local

Vl10 10 1 7 Active 0007.b400.0a01 local -

Vl10 10 2 7 Listen 0007.b400.0a02 10.20.20.2 -

Vl10 10 3 7 Active 0007.b400.0a03 local -

R4#

R4 became the standby AVG for the new active AVG R2.

And during this time R33 still pointing toward R3 virtual MAC, but traffic is forwarded through R2.

To see if R3 vMAC is still present in the AVG vMAC list, we cleared R33 ARP table to renew the vMAC of 10.20.20.1

R33#clear arp 

 

R33#ping 10.10.10.1

 

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 10.10.10.1, timeout is 2 seconds:

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 44/75/112 ms

R33#sh arp

Protocol Address Age (min) Hardware Addr Type Interface

Internet 10.20.20.2 0 cc00.026c.0010 ARPA FastEthernet0/0

Internet 10.20.20.1 0 0007.b400.0a01 ARPA FastEthernet0/0

Internet 10.20.20.4 0 cc02.1514.0000 ARPA FastEthernet0/0

Internet 10.20.20.33 – cc04.1514.0000 ARPA FastEthernet0/0

R33#

And the result is that vMAC of R3 still used by the AVG to respond to ARP requests.

Primary AVG recovery

 

Now we bring R3 back to live:

R2:

*Mar 1 01:25:00.195: %DUAL-5-NBRCHANGE: IP-EIGRP(0) 10: Neighbor 10.10.10.3 (FastEthernet0/0) is up: new adjacency

*Mar 1 01:25:00.199: %DUAL-5-NBRCHANGE: IP-EIGRP(0) 10: Neighbor 10.20.20.3 (FastEthernet1/0) is up: new adjacency

*Mar 1 01:25:14.175: GLBP: Fa1/0 Grp 10 Hello in 10.20.20.3 VG Active pri 200 vIP 10.20.20.1 hello 3000, hold 10000

*Mar 1 01:25:14.179: GLBP: Fa1/0 10 Active router IP is 10.20.20.3, was local

*Mar 1 01:25:14.183: GLBP: Fa1/0 10 Active: k/Hello rcvd from higher pri Active router (200/10.20.20.3)

*Mar 1 01:25:14.183: GLBP: Fa1/0 10 Active -> Speak

*Mar 1 01:25:14.187: %GLBP-6-STATECHANGE: FastEthernet1/0 Grp 10 state Active -> Speak

*Mar 1 01:25:24.183: GLBP: Fa1/0 10 Speak: f/Standby timer expired (10.20.20.4)

*Mar 1 01:25:24.187: GLBP: Fa1/0 10 Standby router is local, was 10.20.20.4

*Mar 1 01:25:24.187: GLBP: Fa1/0 10 Speak -> Standby

 

R2# sh glbp brief

Interface Grp Fwd Pri State Address Active router Standby route

Fa1/0 10 – 100 Standby 10.20.20.1 10.20.20.3 local

Fa1/0 10 1 7 Listen 0007.b400.0a01 10.20.20.3 -

Fa1/0 10 2 7 Active 0007.b400.0a02 local -

Fa1/0 10 3 7 Listen 0007.b400.0a03 10.20.20.4 -

R2#

As soon as R3 is back to business, it took over the active AVG state using its highest priority 200.

The ARP information on R33 is still using R4 vMAC because ARP information didn’t timeout yet, let’s help it by clearing ARP table:

R33#clear arp

R33#

R33#ping 10.20.20.1

 

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 10.20.20.1, timeout is 2 seconds:

.!!!!

Success rate is 80 percent (4/5), round-trip min/avg/max = 28/71/128 ms

R33# 

After the new requests, R33 has received R3 vMAC and now traffic destined to 0007.b400.0a01 (R3 vMAC) is forwarded by R3 itself.

R33#sh arp | i 10.20.20.1

Internet 10.20.20.1 1 0007.b400.0a01 ARPA FastEthernet0/0

R33#

 

R33#trace 10.10.10.1

 

Type escape sequence to abort.

Tracing the route to 10.10.10.1

 

1 10.20.20.3 36 msec 88 msec 60 msec

2 *

10.10.10.1 188 msec 92 msec

R33#

 

Active AVF failure

 

First, lets’ take a look at the actual distrubution of vMAC by the active AVG:

R22:

R22#sh arp | i 10.20.20.1

Internet 10.20.20.1 0 0007.b400.0a02 ARPA FastEthernet0/0

R22#

R33:

R33#sh arp | i 10.20.20.1

Internet 10.20.20.1 0 0007.b400.0a03 ARPA FastEthernet0/0

R33#

R44:

R44#sh arp | i 10.20.20.1

Internet 10.20.20.1 0 0007.b400.0a01 ARPA FastEthernet0/0

R44#

R22 uses R2 vMAC as gateway MAC

R33 uses R4 vMAC as gateway MAC

R44 uses R3 vMAC as gateway MAC

Now let’s shutdown R4:

R3:

*Mar 1 00:38:14.503: GLBP: Fa1/0 10.3 Listen: g/Active timer expired

*Mar 1 00:38:14.507: GLBP: Fa1/0 10.3 Listen -> Active

*Mar 1 00:38:14.507: %GLBP-6-FWDSTATECHANGE: FastEthernet1/0 Grp 10 Fwd 3 state Listen -> Active

*Mar 1 00:38:14.587: GLBP: Fa1/0 10.3 Active: j/Hello rcvd from lower pri Active router (135/10.20.20.2)

R4 was responsible for its vMAC 0007.b400.0a03, now R3 is the new responsible for it (R2 has lower priority)

R33#sh arp | i 10.20.20.1

Internet 10.20.20.1 16 0007.b400.0a03 ARPA FastEthernet0/0

R33#

Still uses R4 vMAC but traffic is forwarded through R3.

R33#trace 10.10.10.1

 

Type escape sequence to abort.

Tracing the route to 10.10.10.1

 

1 10.20.20.3 124 msec 128 msec 64 msec

2 10.10.10.1 120 msec 88 msec 32 msec

R33#

 

AVF tracked interface failure

 

Next, starting with the following configuration:

R2:

R2#sh glbp brief

Interface Grp Fwd Pri State Address Active router Standby route

Fa1/0 10 – 100 Standby 10.20.20.1 10.20.20.3 local

Fa1/0 10 1 7 Listen 0007.b400.0a01 10.20.20.3 -

Fa1/0 10 2 7 Listen 0007.b400.0a02 10.20.20.4 -

Fa1/0 10 3 7 Active 0007.b400.0a03 local -

R2#

R2 plays the following roles:

- the standby AVG.

- the Active AVF for its vMAC 0007.b400.0a03.

- Listenning AVF for R3 vMAC 0007.b400.0a01 and R4 vMAC 0007.b400.0a02.

R3:

R3(config-if)#do sh glbp brief

Interface Grp Fwd Pri State Address Active router Standby route

Fa1/0 10 – 200 Active 10.20.20.1 local 10.20.20.2

Fa1/0 10 1 7 Active 0007.b400.0a01 local -

Fa1/0 10 2 7 Listen 0007.b400.0a02 10.20.20.4 -

Fa1/0 10 3 7 Listen 0007.b400.0a03 10.20.20.2 -

R3(config-if)#

R3 plays the following roles:

- the Active AVG.

- the Active AVF for its vMAC 0007.b400.0a01.

- Listenning AVF for R2 vMAC 0007.b400.0a03 and R4 vMAC 0007.b400.0a02.

R4:

R4(config)#do sh glbp brief

Interface Grp Fwd Pri State Address Active router Standby route

Vl10 10 – 50 Listen 10.20.20.1 10.20.20.3 10.20.20.2

Vl10 10 1 7 Listen 0007.b400.0a01 10.20.20.3 -

Vl10 10 2 7 Active 0007.b400.0a02 local -

Vl10 10 3 7 Listen 0007.b400.0a03 10.20.20.2 -

R4(config)#

R4 plays the following roles:

- Listen to AVG.

- the Active AVF for its vMAC 0007.b400.0a02.

- Listenning AVF for R2 vMAC 0007.b400.0a03 and R3 vMAC 0007.b400.0a01.

R4(config)#do sh glbp

Vlan10 – Group 10

State is Listen

2 state changes, last state change 00:11:20

Virtual IP address is 10.20.20.1

Hello time 3 sec, hold time 10 sec

Next hello sent in 1.016 secs

Redirect time 600 sec, forwarder time-out 14400 sec

Preemption enabled, min delay 0 sec

Active is 10.20.20.3, priority 200 (expires in 7.012 sec)

Standby is 10.20.20.2, priority 100 (expires in 8.180 sec)

Priority 50 (configured)


Weighting 30 (configured 30), thresholds: lower 1, upper 30


Track object 1 state Up decrement 30

Load balancing: round-robin

Group members:

cc00.097c.0010 (10.20.20.2)

cc01.097c.0010 (10.20.20.3)

cc02.15e8.0000 (10.20.20.4) local

There are 3 forwarders (1 active)

Forwarder 1

State is Listen

2 state changes, last state change 00:10:43

MAC address is 0007.b400.0a01 (learnt)

Owner ID is cc01.097c.0010

Time to live: 14398.316 sec (maximum 14400 sec)

Preemption enabled, min delay 30 sec

Active is 10.20.20.3 (primary), weighting 100 (expires in 8.308 sec)

Forwarder 2

State is Active

1 state change, last state change 00:26:38

MAC address is 0007.b400.0a02 (default)

Owner ID is cc02.15e8.0000

Preemption enabled, min delay 30 sec

Active is local, weighting 30

Forwarder 3

State is Listen

MAC address is 0007.b400.0a03 (learnt)

Owner ID is cc00.097c.0010

Time to live: 14399.508 sec (maximum 14400 sec)

Preemption enabled, min delay 30 sec

Active is 10.20.20.2 (primary), weighting 70 (expires in 9.504 sec)

R4(config)#

Note that R4 has a weight of 30 and in penality of -30 if the tracked interface line-protocol is down, also note the lower threshold of 1 under which the router will not even be the AVF for its own vMAC.

let’s shutdown the upstream tracked interface of R4 (AVF):

R4:

R4(config)#int fa 0/0

R4(config-if)#sh

*Mar 1 00:43:09.359: %LINK-5-CHANGED: Interface FastEthernet0/0, changed state to administratively down

*Mar 1 00:43:10.359: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0, changed state to down

*Mar 1 00:43:42.827: %GLBP-6-FWDSTATECHANGE: Vlan10 Grp 10 Fwd 2 state Active -> Listen

R4(config-if)#

 

R4(config-if)#do sh glbp

Vlan10 – Group 10

State is Listen

2 state changes, last state change 00:31:31

Virtual IP address is 10.20.20.1

Hello time 3 sec, hold time 10 sec

Next hello sent in 2.772 secs

Redirect time 600 sec, forwarder time-out 14400 sec

Preemption enabled, min delay 0 sec

Active is 10.20.20.3, priority 200 (expires in 8.488 sec)

Standby is 10.20.20.2, priority 100 (expires in 9.668 sec)

Priority 50 (configured)


Weighting 0, low (configured 30), thresholds: lower 1, upper 30

Track object 1 state Down decrement 30

Load balancing: round-robin

The initial weight of 30 is decremented by 30, therefore with a priority of 0 lower that the lower threshold of 1, R4 glbp status change from active AVF for its own vMAC to listenning AVF.

R3:

*Mar 1 00:27:12.595: GLBP: Fa1/0 10.2 Preemption delayed, 30 secs remaining

*Mar 1 00:27:24.627: %DUAL-5-NBRCHANGE: IP-EIGRP(0) 10: Neighbor 10.10.10.4 (FastEthernet0/0) is down: holding time expired

*Mar 1 00:27:45.607: GLBP: Fa1/0 10.2 Listen: k/Hello rcvd from lower pri Active router (39/10.20.20.4)

*Mar 1 00:27:45.611: GLBP: Fa1/0 10.2 Listen -> Active

*Mar 1 00:27:45.611: %GLBP-6-FWDSTATECHANGE: FastEthernet1/0 Grp 10 Fwd 2 state Listen -> Active

*Mar 1 00:27:45.623: GLBP: Fa1/0 10.2 Active: j/Hello rcvd from lower pri Active router (135/10.20.20.2)

R3 and R2 have been informed by the new status of R4, compete with each other and R3 win because of its higher priority, so R3 become responsible for forwarding R4 vMAC 0007.b400.0a02

 

let’s check this from R33:

R33#sh arp | i 10.20.20.1

Internet 10.20.20.1 141 0007.b400.0a02 ARPA FastEthernet0/0

R33#

 

R33#trace 10.10.10.1

 

Type escape sequence to abort.

Tracing the route to 10.10.10.1

 

1 *


10.20.20.3 84 msec 56 msec

2 *

10.10.10.1 108 msec 132 msec

R33#

traffic send by R33 to the gateway virtual IP 10.20.20.1 with the virtual MAC 0007.b400.0a02 (R4) is forwarded by R3.

 

AVF tracked interface recovery

*Mar 1 01:02:08.971: %DUAL-5-NBRCHANGE: IP-EIGRP(0) 10: Neighbor 10.10.10.3 (FastEthernet0/0) is up: new adjacency

*Mar 1 01:02:09.619: %LINK-3-UPDOWN: Interface FastEthernet0/0, changed state to up

*Mar 1 01:02:12.627: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0, changed state to up

*Mar 1 01:02:13.827: %DUAL-5-NBRCHANGE: IP-EIGRP(0) 10: Neighbor 10.10.10.2 (FastEthernet0/0) is up: new adjacency

*Mar 1 01:02:38.523: %GLBP-6-FWDSTATECHANGE: Vlan10 Grp 10 Fwd 2 state Listen -> Active

30 seconds (the default AVF preempt time) after R4 interface is back to live, the weight is incremented by 30 and the router can take back its AVF status for its vMAC.

R4(config-if)#do sh glbp brief

Interface Grp Fwd Pri State Address Active router Standby route

Vl10 10 – 50 Listen 10.20.20.1 10.20.20.3 10.20.20.2

Vl10 10 1 7 Listen 0007.b400.0a01 10.20.20.3 -

Vl10 10 2 7 Active 0007.b400.0a02 local -

Vl10 10 3 7 Listen 0007.b400.0a03 10.20.20.2 -

R4(config-if)#

 

GLBP is more optimal solution for gateway (first hop) loadbalancing than HSRP or VRRP, for more information about differences between these protocols, refer to the post entitled “First Hop Redundancy protocol comparison”: http://cciethebeginning.wordpress.com/2008/08/23/router-high-availability-protocol-comparison-2/

August 23, 2008

First Hop Redundancy protocol comparison (HSRP,VRRP,GLBP)

Filed under: IP Services — cciethebeginning @ 1:38 pm
Tags: , , ,
Protocol
Features 

HSRP

(Hot Standby Router protocol) 

VRRP

(Virtual Redundancy Router Protocol) 

GLBP

(Gateway Load Balancing Protocol)

Router role  - 1 active router.- 1 standby router.

- 1 or more listening routers. 

- 1 master router.- 1 or more backup routers.  - 1 AVG (Active Virtual Gateway).- up to 4 AVF routers on the group (Active Virtual Forwarder) passing traffic.

- up to 1024 virtual routers (GLBP groups) per physical interface. 

- Use virtual ip address.  - Can use real router ip address, if not, the one with highest priority become master.  - Use virtual ip address. 
Scope  Cisco proprietary  IEEE standard Cisco proprietary 
Optimization features  Tracking 

yes 

yes 

yes 

Preempt 

yes 

yes 

yes 

Timer adjustments 

yes 

yes 

yes 

Traffic type  224.0.0.2 – udp 1985 (version1)224.0.0.102-udp 1985 (version2) 224.0.0.18 – udp 112  224.0.0.102 udp 3222 
Timers  Hello – 3 seconds  Advertisement – 1 second  Hello – 3 seconds
(Hold) 10 seconds  (Master Down Interval)3 * Advertisement + skew time  (Hold) 10 seconds 
(Skew time)(256-priority) / 256 
Load-balancing functionality  - Multiple HSRP group per interface/SVI/routed int.  - Multiple VRRP group per interface/SVI/routed int. Load-balancing oriented- Weighted algorithm.

- Host-dependent algorithm.

- Round-Robin algorithm (default). 

Client ip gateway support needed for optimal load-balancing.  Client ip gateway support needed for optimal load-balancing.  Clients are automatically updated with virtual MAC according to load-balancing algorithm through ARP requesting a unique virtual gateway.

Blog at WordPress.com.