Let's see how it is working with a practical example..
In the diagram, if you looked closer you would notice that the loopback addresses of R1 and R3 are both same, 1.1.1.1/32. This is the address we configure on all routers to be the RP.
R1(config)#ip pim rp-address 1.1.1.1
R2(config)#ip pim rp-address 1.1.1.1
R3(config)#ip pim rp-address 1.1.1.1
R4(config)#ip pim rp-address 1.1.1.1
Now let's join PC to 239.1.1.1 multicast group and send the feed from IPTV_Svr..
PC(config)#int e0/0
PC(config-if)#ip igmp join-group 239.1.1.1
Well, it is not pinging..
Let's look at the routing tables of RPs,
R3 even does not have a SPT (Source Path Tree) entry in his table.
Reason for this is is that sender has joined a different RP than the receiver.
This is because the nearest RP for source is R1 and the nearest RP for destination is R3.
To fix this, there must be a mechanism for both RPs to share information about the sources they learn. This is where MSDP comes in.
To configure MSDP within R1 and R3, we should configure 2 new loopbacks.
R1(config)#int loopback 1
R1(config-if)#ip address 11.11.11.11 255.255.255.255
R1(config)#ip msdp originator-id loopback 1
R1(config)#ip msdp peer 33.33.33.33 connect-source loopback 1
Doing the same thing in R3;
R3(config)#int loopback 1
R3(config-if)#ip address 33.33.33.33 255.255.255.255
R3(config)#ip msdp originator-id loopback 1
R3(config)#ip msdp peer 11.11.11.11 connect-source loopback 1
These loopbacks become the sources of information exchange, so they should be routed from each other.
Note:-
If the originator ID is not specified, it will choose the highest active IP address.
Now the pings start working..
Now the routing tables should be filled with expected entries of normal PIM Sparse Mode..
To show an MSDP created entry, M flag will be visible on R3's entry.
This can be verified by the show ip msdp sa-cache command on R3,
To verify peer info show ip msdp peer can be used in any peer.
R3 even does not have a SPT (Source Path Tree) entry in his table.
Reason for this is is that sender has joined a different RP than the receiver.
This is because the nearest RP for source is R1 and the nearest RP for destination is R3.
To fix this, there must be a mechanism for both RPs to share information about the sources they learn. This is where MSDP comes in.
To configure MSDP within R1 and R3, we should configure 2 new loopbacks.
R1(config)#int loopback 1
R1(config-if)#ip address 11.11.11.11 255.255.255.255
R1(config)#ip msdp originator-id loopback 1
R1(config)#ip msdp peer 33.33.33.33 connect-source loopback 1
Doing the same thing in R3;
R3(config)#int loopback 1
R3(config-if)#ip address 33.33.33.33 255.255.255.255
R3(config)#ip msdp originator-id loopback 1
R3(config)#ip msdp peer 11.11.11.11 connect-source loopback 1
These loopbacks become the sources of information exchange, so they should be routed from each other.
Note:-
If the originator ID is not specified, it will choose the highest active IP address.
Now the pings start working..
Now the routing tables should be filled with expected entries of normal PIM Sparse Mode..
This can be verified by the show ip msdp sa-cache command on R3,
To verify peer info show ip msdp peer can be used in any peer.
No comments:
Post a Comment