Solved

Load Balancing Cisco 2600 routers

Posted on 2004-08-06
13
3,013 Views
Last Modified: 2010-05-18
Hi Experts!

I have three sites. Site A is production and is connected to sites B & C with seperate T1s. Likewise, site's B & C are connected via an additional T1, therefore forming a triangle between the three sites.

Instead of having (1 x T1) between each site, I would like to be able to take advantage of the topology in order to effectively provide (2 x T1) bandwidth between the production site, A, and the remote sites, B & C the sites without using policy-based routing.

For instance, if the link between A & B is saturated, I would like the system to dynamically utilize the link from A --> C --> B. I set up a test lan running a basic OSPF configuration to see if OSPF would handle the balancing, however, even with the A --> B link saturated, the A --> C --> B link went unutilized.

Is OSPF capabable of handling this design requirement? It is not mandatory that I use OSPF, I am open to any and all routing protocol suggestions.  As I only have rudimentary Cisco routing skills and cannot find any good documentation on the web, please provide as many details as possible.

The routers in use are Cisco 2600 series running IOS 12.3

Please see the following link for a graphical depiction:

http://ww2.itguy.net:81/images/testlan.pdf

0
Comment
Question by:vt100
13 Comments
 
LVL 36

Accepted Solution

by:
grblades earned 250 total points
ID: 11738481
Hi vt100,
Looking in my Cisco CCNP book...

OSPF supports load balancing over equal path routes only so wont load balance in your situation as the paths are of different lengths.
I suggest using EIGRP as the routing protocol instead.
0
 
LVL 79

Expert Comment

by:lrmoore
ID: 11738865
A triangular route is much more difficult to load-share because both ends of the congested T1 must be able to dynamically choose a different, less congested, route at the same time.
The key will be to learn multiple routes with equal costs and use ip cef to load-share

You can use OSPF and adjust the metrics so that both RB and RC send RA one another's LAN network with the same metric. (unequal cost load balancing)

Here's a document on doing it with EIGRP, which may be simpler to set up:
http://www.cisco.com/en/US/tech/tk365/tk207/technologies_tech_note09186a008009437d.shtml


0
 

Author Comment

by:vt100
ID: 11739311
OK, I changed the configuration over to EIGRP and still can't seem to get the load-balancing effected. All traffic is seems to be going via the least cost route.

I increased the variance to 6 (to be sure) after 2 & 3 didn't work. The second link does seem to be a feasible successor.

When I run the command "traffic-share balanced", it still does not show up in the configuration. I assume it must be the default mode of operation because when I run "traffic-share min all-interfaces" the setting DOES show up.

Here is the routing configuarion for router A (which I call CST1).

CST1#sh running-config
Building configuration...

Current configuration : 1037 bytes
!
version 12.3
service timestamps debug uptime
service timestamps log uptime
service password-encryption
!
hostname CST1
!
boot-start-marker
boot-end-marker
!
enable password xxxxxxxxxxxxxxxx
!
no aaa new-model
ip subnet-zero
ip cef
!
!
no ip domain lookup
!
!
!        
!
!
interface Ethernet0/0
 description connected to EthernetLAN
 ip address 192.168.1.1 255.255.255.0
 full-duplex
!
interface Serial0/0
 description connected to CST2
 ip address 192.168.4.1 255.255.255.252
 service-module t1 remote-alarm-enable
!
interface Serial0/1
 description connected to CST3
 ip address 192.168.5.1 255.255.255.252
 service-module t1 remote-alarm-enable
!
router eigrp 7302
 variance 6
 network 192.168.1.0
 network 192.168.4.0
 network 192.168.5.0
 auto-summary
!
no ip http server
ip classless
!
!
snmp-server community notpublic RO
!
line con 0
 exec-timeout 0 0
 password xxxxxxxxxxxxxxx
 login
line aux 0
line vty 0 4
 password xxxxxxxxxxxxxxxxx
 login
!
!
!
end

CST1#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.4.0/24 is variably subnetted, 2 subnets, 2 masks
C       192.168.4.0/30 is directly connected, Serial0/0
D       192.168.4.0/24 is a summary, 00:08:51, Null0
     192.168.5.0/24 is variably subnetted, 2 subnets, 2 masks
C       192.168.5.0/30 is directly connected, Serial0/1
D       192.168.5.0/24 is a summary, 00:08:51, Null0
D    192.168.6.0/24 [90/2681856] via 192.168.4.2, 00:08:51, Serial0/0
                    [90/2681856] via 192.168.5.2, 00:08:51, Serial0/1
C    192.168.1.0/24 is directly connected, Ethernet0/0
D    192.168.3.0/24 [90/2172416] via 192.168.5.2, 00:08:52, Serial0/1


CST1#sh ip eigrp topology all-links
IP-EIGRP Topology Table for AS(7302)/ID(192.168.5.1)

Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply,
       r - reply Status, s - sia Status

P 192.168.1.0/24, 1 successors, FD is 281600, serno 5
        via Connected, Ethernet0/0
P 192.168.3.0/24, 1 successors, FD is 2172416, serno 21
        via 192.168.5.2 (2172416/28160), Serial0/1
        via 192.168.4.2 (2684416/2172416), Serial0/0
P 192.168.4.0/24, 1 successors, FD is 2169856, serno 6
        via Summary (2169856/0), Null0
P 192.168.4.0/30, 1 successors, FD is 2169856, serno 1
        via Connected, Serial0/0
P 192.168.5.0/30, 1 successors, FD is 2169856, serno 19
        via Connected, Serial0/1
P 192.168.5.0/24, 1 successors, FD is 2169856, serno 20
        via Summary (2169856/0), Null0
P 192.168.6.0/24, 2 successors, FD is 2681856, serno 22
        via 192.168.5.2 (2681856/2169856), Serial0/1
        via 192.168.4.2 (2681856/2169856), Serial0/0


CST1#sh ip eigrp neighbors
IP-EIGRP neighbors for process 7302
H   Address                 Interface       Hold Uptime   SRTT   RTO  Q  Seq
                                            (sec)         (ms)       Cnt Num
1   192.168.5.2             Se0/1             10 00:40:37   12   200  0  13
0   192.168.4.2             Se0/0             13 00:44:11    3   200  0  18
0
 
LVL 79

Expert Comment

by:lrmoore
ID: 11739390
Try turning off the auto-summary so that you don't have anything going to Null0

router eigrp 7302
 no auto-summary

It looks like you're getting there because you now have two routes to the remote subnet with the same cost (90):
D    192.168.6.0/24 [90/2681856] via 192.168.4.2, 00:08:51, Serial0/0
                    [90/2681856] via 192.168.5.2, 00:08:51, Serial0/1


Here's another good document on setting up and troubleshooting load-sharing using CEF:
http://www.cisco.com/en/US/tech/tk827/tk831/technologies_tech_note09186a0080094806.shtml

0
 
LVL 28

Expert Comment

by:mikebernhardt
ID: 11739659
Make sure you are doing cef per-packet load sharing on both sides. You now have mutliple routes in your routing table as a result of the variance command. But that's not guarantee that the switching mechanism in the router will use them both. The default per-destination load balancing means that a particular "conversation" will continue to use the same route unless something breaks it.
0
 
LVL 79

Assisted Solution

by:lrmoore
lrmoore earned 250 total points
ID: 11742698
You may run into issues with packet reassembly if you choose per-packet because packet 1 will take the 1-hop route and packet 2 will take the 2-hop route, or worse, packet 1 takes the 2 hop route and packet 2 takes the 1 hop route and packet 2 arrives before packet 1. I would suggest using per-destination load-sharing.. You may expect some variance in performance. If the connection takes path#1 the performance will be better than the next time when it takes path#2 with 2 hops.

How are you monitoring to ensure that you are acheiving some semblence of load sharing?
0
IT, Stop Being Called Into Every Meeting

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

 
LVL 79

Expert Comment

by:lrmoore
ID: 11742791
You're going to be using both paths regardless of the congestion on either one. If that's not what you intend, then you might want to look at another alternative, Service Assurance Agent:
http://www.cisco.com/en/US/products/sw/iosswrel/ps1830/products_feature_guide09186a0080087a78.html
Use SAA probe to choose routes:
http://www.cisco.com/en/US/about/ac123/ac114/ac173/Q2-04/department_techtips.html
0
 

Author Comment

by:vt100
ID: 11755621
I am ftping from A to C. I am using mrtg to montior router A(S0/0 and S0/1) and router C (s0/0 and S0/1).

During my test, I am running multiple FTP sessions.

Per-destination load-sharing is fine for our use, and I do not mind using both paths regardless of congestion. We are currently surviving with just one path, so any sharing would be icing.

All traffic is flowing one hop between A & C. If I pull the connection, all traffic falls over A --> B --> C. This is not what I expect. What can be wrong?

For testing purposes only, I tried taking mikebernhardt suggestion and added ip load-sharing per-packet to each interface. This has not helped.
0
 
LVL 79

Expert Comment

by:lrmoore
ID: 11756213
Did you set it up on both ends?
0
 

Author Comment

by:vt100
ID: 11756505
Yes I did. Here are the configurations:

Router A

CST1#sh running-config
Building configuration...

Current configuration : 1093 bytes
!
version 12.3
service timestamps debug uptime
service timestamps log uptime
service password-encryption
!
hostname CST1
!
boot-start-marker
boot-end-marker
!
enable password xxxxx
!
no aaa new-model
ip subnet-zero
ip cef
!
!
no ip domain lookup
!
!
!        
!
!
interface Ethernet0/0
 description connected to EthernetLAN
 ip address 192.168.1.1 255.255.255.0
 full-duplex
!
interface Serial0/0
 description connected to CST2
 ip address 192.168.4.1 255.255.255.252
 ip load-sharing per-packet
 service-module t1 remote-alarm-enable
!
interface Serial0/1
 description connected to CST3
 ip address 192.168.5.1 255.255.255.252
 ip load-sharing per-packet
 service-module t1 remote-alarm-enable
!
router eigrp 7302
 variance 6
 network 192.168.1.0
 network 192.168.4.0
 network 192.168.5.0
 auto-summary
!
no ip http server
ip classless
!
!
snmp-server community testlab RO
snmp-server location lab
snmp-server enable traps tty
!
line con 0
 exec-timeout 0 0
 password xxxx
 login
line aux 0
line vty 0 4
 password xxxx
 login
!
!
!        
end

Router C

CST3#sh running-config
Building configuration...

Current configuration : 1040 bytes
!
version 12.3
service timestamps debug uptime
service timestamps log uptime
service password-encryption
!
hostname CST3
!
boot-start-marker
boot-end-marker
!
enable password xxxxxxxxxxxx
!
no aaa new-model
ip subnet-zero
ip cef
!
!
no ip domain lookup
!
!
interface FastEthernet0/0
 description connected to EthernetLAN_1
 ip address 192.168.3.1 255.255.255.0
 duplex auto
 speed auto
!
interface Serial0/0
 description connected to CST1
 ip address 192.168.5.2 255.255.255.252
 ip load-sharing per-packet
 service-module t1 remote-alarm-enable
!
interface Serial0/1
 description connected to CST2
 ip address 192.168.6.1 255.255.255.252
 ip load-sharing per-packet
 service-module t1 remote-alarm-enable
!
router eigrp 7302
 variance 6
 network 192.168.3.0
 network 192.168.5.0
 network 192.168.6.0
 auto-summary
!
no ip http server
ip classless
!
!
snmp-server community testlab RO
snmp-server enable traps tty
!
line con 0
 exec-timeout 0 0
 password xxxxxxx
 login
line aux 0
line vty 0 4
 password xxxxxxx
 login
!
!
!
end

0
 

Author Comment

by:vt100
ID: 11757003
cef seems to be enabled. But remember, I am just trying per-packet as a test for my original problem. Per destination is more suitable, but I'd like to see either of them work to show progress.

router a:

CST1#sh ip cef
Prefix              Next Hop             Interface
0.0.0.0/0           drop                 Null0 (default route handler entry)
0.0.0.0/32          receive
192.168.1.0/24      attached             Ethernet0/0
192.168.1.0/32      receive
192.168.1.1/32      receive
192.168.1.100/32    192.168.1.100        Ethernet0/0
192.168.1.255/32    receive
192.168.3.0/24      192.168.5.2          Serial0/1
192.168.4.0/24      0.0.0.0              Null0
192.168.4.0/30      attached             Serial0/0
192.168.4.0/32      receive
192.168.4.1/32      receive
192.168.4.3/32      receive
192.168.5.0/24      0.0.0.0              Null0
192.168.5.0/30      attached             Serial0/1
192.168.5.0/32      receive
192.168.5.1/32      receive
192.168.5.3/32      receive
192.168.6.0/24      192.168.4.2          Serial0/0
                    192.168.5.2          Serial0/1
224.0.0.0/4         drop
224.0.0.0/24        receive
Prefix              Next Hop             Interface
255.255.255.255/32  receive

router c:

CST3#sh ip cef
Prefix              Next Hop             Interface
0.0.0.0/0           drop                 Null0 (default route handler entry)
0.0.0.0/32          receive
192.168.1.0/24      192.168.5.1          Serial0/0
192.168.3.0/24      attached             FastEthernet0/0
192.168.3.0/32      receive
192.168.3.1/32      receive
192.168.3.2/32      192.168.3.2          FastEthernet0/0
192.168.3.255/32    receive
192.168.4.0/24      192.168.6.2          Serial0/1
                    192.168.5.1          Serial0/0
192.168.5.0/24      0.0.0.0              Null0
192.168.5.0/30      attached             Serial0/0
192.168.5.0/32      receive
192.168.5.2/32      receive
192.168.5.3/32      receive
192.168.6.0/24      0.0.0.0              Null0
192.168.6.0/30      attached             Serial0/1
192.168.6.0/32      receive
192.168.6.1/32      receive
192.168.6.3/32      receive
224.0.0.0/4         drop
224.0.0.0/24        receive
Prefix              Next Hop             Interface
255.255.255.255/32  receive
0
 
LVL 1

Expert Comment

by:TroyGA
ID: 11757585
Look at the queues on S0/0 and S0/1 and see if the numbers are matching up.  If per packet cef is working the right way they should be close.  This is the fastest way to tell if your output queses are working the right way.  

Here is a very simple example of doing CEF:

interface Serial1/0

 ip address 207.207.13.22 255.255.255.252

 ip load-sharing per-packet

 no ip mroute-cache

 no fair-queue

!

interface Serial1/1

 ip address 206.127.11.114 255.255.255.252

 ip load-sharing per-packet

 no ip mroute-cache

 no fair-queue

!              

ip classless

ip route 0.0.0.0 0.0.0.0 Serial1/0

ip route 0.0.0.0 0.0.0.0 Serial1/1

no ip http server




Then here is a commad to view the stats:

sh int | include bits/sec

This command will output this type of result:

SanaGate#sh int | include bits/sec

  5 minute input rate 479000 bits/sec, 189 packets/sec

  5 minute output rate 1446000 bits/sec, 201 packets/sec

  5 minute input rate 0 bits/sec, 0 packets/sec

  5 minute output rate 0 bits/sec, 0 packets/sec

  5 minute input rate 703000 bits/sec, 98 packets/sec

  5 minute output rate 212000 bits/sec, 92 packets/sec

  5 minute input rate 706000 bits/sec, 98 packets/sec

  5 minute output rate 214000 bits/sec, 91 packets/sec

  5 minute input rate 0 bits/sec, 0 packets/sec

  5 minute output rate 0 bits/sec, 0 packets/sec


Hope that helps out some

-Troy

0
 

Author Comment

by:vt100
ID: 11764262
Thanks for the effort Troy, but your configuration would not have helped.

The reason it wasn't working is because (in my case) cef balances based on routes that are learned from eigrp. In this case, eigrp was only showing one route.  A -> B -> C was not listed as a feasible successor because it's reported distance was not less than the feasible distance. Decreasing the configured bandwidth on S0/1 of router A from 1544 to 1543 tipped the scales and allowed the alternate route to be considered a feasible successor. CEF will only balance between valid routes. Once EIGRP showed A -> B -> C to be feasible, CEF used it for balancing.
0

Featured Post

Highfive + Dolby Voice = No More Audio Complaints!

Poor audio quality is one of the top reasons people don’t use video conferencing. Get the crispest, clearest audio powered by Dolby Voice in every meeting. Highfive and Dolby Voice deliver the best video conferencing and audio experience for every meeting and every room.

Join & Write a Comment

This article is a guide to configure bridging on Cisco Routers.  This is something I never knew was possible until after making a few phone calls to Cisco.  Using bridging saved our company money by not requiring us to purchase a new switch.  Bridgi…
The Cisco RV042 router is a popular small network interfacing device that is often used as an internet gateway. Network administrators need to get at the management interface to make settings, change passwords, etc. This access is generally done usi…
After creating this article (http://www.experts-exchange.com/articles/23699/Setup-Mikrotik-routers-with-OSPF.html), I decided to make a video (no audio) to show you how to configure the routers and run some trace routes and pings between the 7 sites…
After creating this article (http://www.experts-exchange.com/articles/23699/Setup-Mikrotik-routers-with-OSPF.html), I decided to make a video (no audio) to show you how to configure the routers and run some trace routes and pings between the 7 sites…

708 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

11 Experts available now in Live!

Get 1:1 Help Now