How can you get some load sharing?
Here's our diagram:
We have two equal-cost paths between R3 and R4, and we want to use one for 239.1.1.1 and the other for 239.1.1.2, headed towards R5. Right now Fa0/1, whose neighbor has a higher IP address than Fa0/0's neighbor, is getting all the traffic:
R4(config)#do sh ip mroute 239.1.1.1
<output omitted>
(192.168.13.1, 239.1.1.1), 00:00:19/00:02:47, flags: JT
Incoming interface: FastEthernet0/1, RPF nbr 192.168.234.3
Outgoing interface list:
FastEthernet1/0, Forward/Sparse, 00:00:19/00:02:40
<output omitted>
(192.168.23.2, 239.1.1.2), 00:00:19/00:02:46, flags: JT
Incoming interface: FastEthernet0/1, RPF nbr 192.168.234.3
Outgoing interface list:
FastEthernet1/0, Forward/Sparse, 00:00:19/00:02:40
ip multicast multipath is the answer.
R4(config)#ip multicast multipath
R4(config)#do sh ip mroute
<output omitted>
(192.168.13.1, 239.1.1.1), 00:05:39/00:02:56, flags: JT
Incoming interface: FastEthernet0/1, RPF nbr 192.168.234.3
Outgoing interface list:
FastEthernet1/0, Forward/Sparse, 00:05:39/00:02:13
<output omitted>
(192.168.23.2, 239.1.1.2), 00:05:39/00:02:55, flags: JT
Incoming interface: FastEthernet0/0, RPF nbr 192.168.34.3
Outgoing interface list:
FastEthernet1/0, Forward/Sparse, 00:05:39/00:02:10
Not too difficult. It uses a hash to achieve this, which I'm frankly not interested enough to look into, because on the IOS version I'm using, you can't change the hash anyway. It looks like starting in IOS 15 you can make some modifications to it.
Also, one catch here is this only balances by source. If you want to balance by group, you'll need to do that with your RP assignments, sending some traffic to one RP and other traffic to a different RP.
Enjoy
Jeff Kronlage
No comments:
Post a Comment