Genie's Tech Blog

Where knowledge has no dimensions

Anycast-RP - The Application of MSDP

Hey Friends, 

I am back with yet another post on Multicast. But, this time its about Anycast RP. But before we try to understand what is Anycast RP and how does it work, its more important to learn about MSDP.

Multicast Source Distribution Protocol (MSDP) allows multicast sources of a group to be known to all Rendezvous points (RP) in different multicast domains. MSDP is a mechanism that allows RPs to share information about active sources. RPs know about their sources and receivers in their local domain. When RPs in different / remote domains hear about active sources, they can pass on that information to the receivers in their local domain. The RP in each domain establishes a TCP connection with the RP in other domains or with the border routers leading to the other domains. When the RP learns about a new source in its local domain, the RP encapsulates the first data packet in a Source-Active (SA) message and sends it to all of its MSDP peers. Each receiving peer uses a modified Reverse Path Forwarding (RPF) check to forward the SA, until the SA reaches every MSDP router in the interconnected networks. If the receiving MSDP peer is an RP, and the RP has a (*, G) entry for the group in the SA (there is an interested receiver), the RP creates (S, G) state for the source and joins to the shortest path tree for the source. The encapsulated data is decapsulated and forwarded down the shared tree of that RP. When the last hop router (the router closest to the receiver) receives the multicast packet, it may join the shortest path tree to the source. The MSDP speaker periodically sends SAs that include all sources within the domain of the RP. You will ONLY see multicast server joins NOT igmp joins in the msdp sa-cache on the other RP. So say you have BGP Autonomous Systems 1 and 2. If a server generates a multicast stream in AS1 only the RP in AS2 will have an entry in its msdp sa-cache The RP in AS1 will have an mroute to the server but no entry in its msdp sa-cache. MSDP is only/always configured between to RP's.

We shall now discuss what is Anycast RP and how does it work? Anycast RP is nothing but an application of MSDP. What this does is provide load balancing and redundancy between the RPs. You can assign the RP via static, Auto-RP and BSR with Anycast RP, the RP assignment is independent from the Anycast configuration. The RPs share the same loopback address. The join and register messages are sent to the closest RP in the network based on the IGP metric. When you use anycast RP make sure you hard code all of your router IDs, because if 2 devices have the same router ID in OSPF, BGP or MPLS you're going to have connectivity issues. Lets now try to understand Anycast working with MSDP in more detail with the help of an example.

Lets consider a topology of 4 Multicast domains:

 

 

Domain 1: R1, R2 and R3    RP - R3

Domain 2: R4   RP - R4

Domain 3: R5   RP - R5

Domain 4: R6 and R7    RP - R6

ISIS has been configured as the IGP in the whole topology. There is a loopback1 interface that has been created on all the RPs with ip address of 100.1.1.1/32. R1 and R2 are the sources for the same multicast stream 239.0.0.1 (I have taken two sources for same multicast stream as I am also trying to use Multicast ECMP in the same setup later. We can also take separate groups for separate sources). All the routers have been statically been configured with the RP address of 100.1.1.1 . Lets have a configuration snippet from one of the RPs i.e. R3.

Configuration from R3:
================
interface Loopback0
 ip address 3.3.3.3 255.255.255.255
 ip pim sparse-mode
 ip router isis 
!
interface Loopback1
 ip address 100.1.1.1 255.255.255.0
 ip pim sparse-mode
 ip router isis 
!         
interface Ethernet0/0
 ip address 13.13.13.3 255.255.255.0
 ip pim sparse-mode
 ip router isis 
!
interface Ethernet2/0
 ip address 35.35.35.3 255.255.255.0
 ip pim sparse-mode
 ip router isis 
!
!
router isis
 net 49.0001.0000.0000.0003.00
 is-type level-1
 metric-style wide

Since, this setup requires MSDP (as mentioned previously that MSDP is required to setup Anycast-RP) and since there are 4 domains, we need to create MSDP session with the peering domains.

ip pim rp-address 100.1.1.1
ip msdp peer 5.5.5.5 connect-source Loopback0
ip msdp peer 4.4.4.4 connect-source Loopback0
ip msdp cache-sa-state
ip msdp originator-id Loopback0

The above configuration is from router R3. Since R3 connects to R4 and R5, it needs the MSDP peering only with R4 and R5. Also, you may see that the peering is with done not with the RP address but rather than the router-id of the IGP or BGP. Please note that all the 4 multicast domains will share the same RP address. Now, if you try to run the the setup with the above configuration, will things work out for you. The answer is NO. Is there anything missing in the setup?

The configuration that is missing in the setup is the BGP configuration. Since we are trying to implement Anycast-RP, the MSDP will peer within Intra-AS rather than Inter-AS setup. What I have done to get this into working is I have made R4 and R5 as the RR for R3 and R6. Lets now have a look at the configuration on R3 and R4 (similar config is required for R5 and R6)

R3#sh run | s router bgp
router bgp 100
 bgp router-id 3.3.3.3
 no bgp default ipv4-unicast
 bgp log-neighbor-changes
 neighbor 4.4.4.4 remote-as 100
 neighbor 4.4.4.4 update-source Loopback0
 neighbor 5.5.5.5 remote-as 100
 neighbor 5.5.5.5 update-source Loopback0
 !
 address-family ipv4
  no synchronization
  network 3.3.3.3 mask 255.255.255.255
  neighbor 4.4.4.4 activate
  neighbor 4.4.4.4 send-community
  neighbor 4.4.4.4 next-hop-self
  neighbor 5.5.5.5 activate
  neighbor 5.5.5.5 send-community
  neighbor 5.5.5.5 next-hop-self
  maximum-paths ibgp 4
  no auto-summary
 exit-address-family
R3#

R4#sh run | s router bgp
router bgp 100
 bgp router-id 4.4.4.4
 no bgp default ipv4-unicast
 bgp log-neighbor-changes
 neighbor 3.3.3.3 remote-as 100
 neighbor 3.3.3.3 update-source Loopback0
 neighbor 6.6.6.6 remote-as 100
 neighbor 6.6.6.6 update-source Loopback0
 !
 address-family ipv4
  no synchronization
  network 4.4.4.4 mask 255.255.255.255
  neighbor 3.3.3.3 activate
  neighbor 3.3.3.3 send-community
  neighbor 3.3.3.3 route-reflector-client
  neighbor 3.3.3.3 next-hop-self
  neighbor 6.6.6.6 activate
  neighbor 6.6.6.6 send-community
  neighbor 6.6.6.6 route-reflector-client
  neighbor 6.6.6.6 next-hop-self
  no auto-summary
 exit-address-family
R4#

Now, our setup is complete. Now, lets try to run the multicast stream from R1 and R2 for the group 239.0.0.1 and see how it reaches a receiver which we have configured through "ip igmp join-group 239.0.0.1" on R6 loopback0.

R1#ping 239.0.0.1 rep 100

Type escape sequence to abort.
Sending 100, 100-byte ICMP Echos to 239.0.0.1, timeout is 2 seconds:
.
Reply to request 1 from 6.6.6.6, 44 ms
Reply to request 1 from 6.6.6.6, 44 ms
Reply to request 2 from 6.6.6.6, 1 ms
. . . 

R2#ping 239.0.0.1 rep 100

Type escape sequence to abort.
Sending 100, 100-byte ICMP Echos to 239.0.0.1, timeout is 2 seconds:
.
Reply to request 1 from 6.6.6.6, 24 ms
Reply to request 1 from 6.6.6.6, 80 ms
Reply to request 2 from 6.6.6.6, 1 ms
Reply to request 2 from 6.6.6.6, 1 ms
. . .

On R3, we can see the mroute entry as follows:

R3#sh ip mroute 239.0.0.1
IP Multicast Routing Table
Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C - Connected,
       L - Local, P - Pruned, R - RP-bit set, F - Register flag,
       T - SPT-bit set, J - Join SPT, M - MSDP created entry, E - Extranet,
       X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement,
       U - URD, I - Received Source Specific Host Report, 
       Z - Multicast Tunnel, z - MDT-data group sender, 
       Y - Joined MDT-data group, y - Sending to MDT-data group, 
       V - RD & Vector, v - Vector
Outgoing interface flags: H - Hardware switched, A - Assert winner
 Timers: Uptime/Expires
 Interface state: Interface, Next-Hop or VCD, State/Mode

(*, 239.0.0.1), 00:06:44/stopped, RP 100.1.1.1, flags: SP
  Incoming interface: Null, RPF nbr 0.0.0.0
  Outgoing interface list: Null

(2.2.2.2, 239.0.0.1), 00:06:41/00:02:50, flags: TA
  Incoming interface: Ethernet1/0, RPF nbr 23.23.23.2
  Outgoing interface list:
    Ethernet2/0, Forward/Sparse, 00:06:41/00:02:41

(23.23.23.2, 239.0.0.1), 00:06:41/00:02:38, flags: TA
  Incoming interface: Ethernet1/0, RPF nbr 23.23.23.2
  Outgoing interface list:
    Ethernet2/0, Forward/Sparse, 00:03:03/00:03:23

(1.1.1.1, 239.0.0.1), 00:06:44/00:02:47, flags: TA
  Incoming interface: Ethernet0/0, RPF nbr 13.13.13.1
  Outgoing interface list:
    Ethernet2/0, Forward/Sparse, 00:06:44/00:02:40

(13.13.13.1, 239.0.0.1), 00:06:44/00:02:41, flags: TA
  Incoming interface: Ethernet0/0, RPF nbr 13.13.13.1
  Outgoing interface list:
    Ethernet2/0, Forward/Sparse, 00:06:44/00:02:41

R3#

Lets, now see what is happening on R4 and R5.

R4#sh ip msdp sa-cache 
MSDP Source-Active Cache - 4 entries
(1.1.1.1, 239.0.0.1), RP 3.3.3.3, BGP/AS 100, 00:03:53/00:05:55, Peer 3.3.3.3
(2.2.2.2, 239.0.0.1), RP 3.3.3.3, BGP/AS 100, 00:03:50/00:05:55, Peer 3.3.3.3
(13.13.13.1, 239.0.0.1), RP 3.3.3.3, BGP/AS 100, 00:03:53/00:05:55, Peer 3.3.3.3
(23.23.23.2, 239.0.0.1), RP 3.3.3.3, BGP/AS 100, 00:03:50/00:05:55, Peer 3.3.3.3
R4#

R4#sh ip mroute 239.0.0.1
IP Multicast Routing Table
Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C - Connected,
       L - Local, P - Pruned, R - RP-bit set, F - Register flag,
       T - SPT-bit set, J - Join SPT, M - MSDP created entry, E - Extranet,
       X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement,
       U - URD, I - Received Source Specific Host Report, 
       Z - Multicast Tunnel, z - MDT-data group sender, 
       Y - Joined MDT-data group, y - Sending to MDT-data group, 
       V - RD & Vector, v - Vector
Outgoing interface flags: H - Hardware switched, A - Assert winner
 Timers: Uptime/Expires
 Interface state: Interface, Next-Hop or VCD, State/Mode

(*, 239.0.0.1), 00:04:31/stopped, RP 100.1.1.1, flags: SP
  Incoming interface: Null, RPF nbr 0.0.0.0
  Outgoing interface list: Null

(23.23.23.2, 239.0.0.1), 00:04:31/00:02:23, flags: PT
  Incoming interface: Ethernet3/0, RPF nbr 34.34.34.3
  Outgoing interface list: Null
R4#

On R5:
=====

R5#sh ip msdp sa-cache 
MSDP Source-Active Cache - 4 entries
(1.1.1.1, 239.0.0.1), RP 3.3.3.3, BGP/AS 100, 00:05:16/00:05:19, Peer 3.3.3.3
(2.2.2.2, 239.0.0.1), RP 3.3.3.3, BGP/AS 100, 00:05:13/00:05:19, Peer 3.3.3.3
(13.13.13.1, 239.0.0.1), RP 3.3.3.3, BGP/AS 100, 00:05:16/00:05:19, Peer 3.3.3.3
(23.23.23.2, 239.0.0.1), RP 3.3.3.3, BGP/AS 100, 00:05:13/00:05:19, Peer 3.3.3.3
R5#

R5#sh ip mroute 239.0.0.1
IP Multicast Routing Table
Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C - Connected,
       L - Local, P - Pruned, R - RP-bit set, F - Register flag,
       T - SPT-bit set, J - Join SPT, M - MSDP created entry, E - Extranet,
       X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement,
       U - URD, I - Received Source Specific Host Report, 
       Z - Multicast Tunnel, z - MDT-data group sender, 
       Y - Joined MDT-data group, y - Sending to MDT-data group, 
       V - RD & Vector, v - Vector
Outgoing interface flags: H - Hardware switched, A - Assert winner
 Timers: Uptime/Expires
 Interface state: Interface, Next-Hop or VCD, State/Mode

(*, 239.0.0.1), 00:05:40/stopped, RP 100.1.1.1, flags: SP
  Incoming interface: Null, RPF nbr 0.0.0.0
  Outgoing interface list: Null

(23.23.23.2, 239.0.0.1), 00:01:59/00:01:30, flags: T
  Incoming interface: Ethernet2/0, RPF nbr 35.35.35.3
  Outgoing interface list:
    Ethernet1/0, Forward/Sparse, 00:01:59/00:02:34

(2.2.2.2, 239.0.0.1), 00:05:37/00:01:43, flags: T
  Incoming interface: Ethernet2/0, RPF nbr 35.35.35.3
  Outgoing interface list:
    Ethernet1/0, Forward/Sparse, 00:05:37/00:02:34

(1.1.1.1, 239.0.0.1), 00:05:40/00:01:46, flags: T
  Incoming interface: Ethernet2/0, RPF nbr 35.35.35.3
  Outgoing interface list:
    Ethernet1/0, Forward/Sparse, 00:05:40/00:02:34

(13.13.13.1, 239.0.0.1), 00:05:40/00:01:46, flags: T
  Incoming interface: Ethernet2/0, RPF nbr 35.35.35.3
  Outgoing interface list:
    Ethernet1/0, Forward/Sparse, 00:05:40/00:02:35

R5#

Now, from the above output, we can see that the PIM joins have been pruned on R4 where as all the traffic is flowing via R5. Though this is an ECMP setup but by default the only one path will be preferred and that too from the one with higher IP address. On R6, we see the following outputs:

R6#sh ip msdp sa-cache 
MSDP Source-Active Cache - 4 entries
(1.1.1.1, 239.0.0.1), RP 3.3.3.3, BGP/AS 100, 00:09:22/00:05:48, Peer 4.4.4.4
(2.2.2.2, 239.0.0.1), RP 3.3.3.3, BGP/AS 100, 00:09:19/00:05:48, Peer 4.4.4.4
(13.13.13.1, 239.0.0.1), RP 3.3.3.3, BGP/AS 100, 00:09:22/00:05:48, Peer 4.4.4.4
(23.23.23.2, 239.0.0.1), RP 3.3.3.3, BGP/AS 100, 00:09:19/00:05:48, Peer 4.4.4.4
R6#sh ip mroute
R6#sh ip mroute 239.0.0.1
IP Multicast Routing Table
Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C - Connected,
       L - Local, P - Pruned, R - RP-bit set, F - Register flag,
       T - SPT-bit set, J - Join SPT, M - MSDP created entry, E - Extranet,
       X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement,
       U - URD, I - Received Source Specific Host Report, 
       Z - Multicast Tunnel, z - MDT-data group sender, 
       Y - Joined MDT-data group, y - Sending to MDT-data group, 
       V - RD & Vector, v - Vector
Outgoing interface flags: H - Hardware switched, A - Assert winner
 Timers: Uptime/Expires
 Interface state: Interface, Next-Hop or VCD, State/Mode

(*, 239.0.0.1), 00:05:43/00:02:36, RP 100.1.1.1, flags: SJCL
  Incoming interface: Null, RPF nbr 0.0.0.0
  Outgoing interface list:
    Loopback0, Forward/Sparse, 00:05:43/00:02:03

(23.23.23.2, 239.0.0.1), 00:05:43/00:01:07, flags: LMT
  Incoming interface: Ethernet1/0, RPF nbr 56.56.56.5
  Outgoing interface list:
    Loopback0, Forward/Sparse, 00:05:43/00:02:03

(13.13.13.1, 239.0.0.1), 00:05:43/00:01:09, flags: LMT
  Incoming interface: Ethernet1/0, RPF nbr 56.56.56.5
  Outgoing interface list:
    Loopback0, Forward/Sparse, 00:05:43/00:02:03

(2.2.2.2, 239.0.0.1), 00:05:43/00:01:06, flags: LMT
  Incoming interface: Ethernet1/0, RPF nbr 56.56.56.5
  Outgoing interface list:
    Loopback0, Forward/Sparse, 00:05:43/00:02:03

(1.1.1.1, 239.0.0.1), 00:05:43/00:01:04, flags: LMT
  Incoming interface: Ethernet1/0, RPF nbr 56.56.56.5
  Outgoing interface list:
    Loopback0, Forward/Sparse, 00:05:43/00:02:03

R6#

The output is pretty simple. Now, when we use the Multicast ECMP feature as discussed in my previous post things change all together. Lets, now configure "ip multicast multipath" on R6 and clear the mroute entries on both R3 and R6 to see the difference.

On R3:
=====
R3#sh ip mroute 239.0.0.1
IP Multicast Routing Table
Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C - Connected,
       L - Local, P - Pruned, R - RP-bit set, F - Register flag,
       T - SPT-bit set, J - Join SPT, M - MSDP created entry, E - Extranet,
       X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement,
       U - URD, I - Received Source Specific Host Report, 
       Z - Multicast Tunnel, z - MDT-data group sender, 
       Y - Joined MDT-data group, y - Sending to MDT-data group, 
       V - RD & Vector, v - Vector
Outgoing interface flags: H - Hardware switched, A - Assert winner
 Timers: Uptime/Expires
 Interface state: Interface, Next-Hop or VCD, State/Mode

(*, 239.0.0.1), 00:01:01/stopped, RP 100.1.1.1, flags: SP
  Incoming interface: Null, RPF nbr 0.0.0.0
  Outgoing interface list: Null

(1.1.1.1, 239.0.0.1), 00:00:21/00:03:08, flags: T
  Incoming interface: Ethernet0/0, RPF nbr 13.13.13.1
  Outgoing interface list:
    Ethernet2/0, Forward/Sparse, 00:00:21/00:03:08

(13.13.13.1, 239.0.0.1), 00:00:44/00:02:15, flags: TA
  Incoming interface: Ethernet0/0, RPF nbr 13.13.13.1
  Outgoing interface list:
    Ethernet2/0, Forward/Sparse, 00:00:16/00:03:13

(2.2.2.2, 239.0.0.1), 00:01:01/00:01:58, flags: TA
  Incoming interface: Ethernet1/0, RPF nbr 23.23.23.2
  Outgoing interface list:
    Ethernet2/0, Forward/Sparse, 00:00:19/00:03:10

(23.23.23.2, 239.0.0.1), 00:01:01/00:01:58, flags: TA
  Incoming interface: Ethernet1/0, RPF nbr 23.23.23.2
  Outgoing interface list:
    Ethernet3/0, Forward/Sparse, 00:00:15/00:03:14

R3#

On R4:
=====
R4#sh ip mroute 239.0.0.1
IP Multicast Routing Table
Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C - Connected,
       L - Local, P - Pruned, R - RP-bit set, F - Register flag,
       T - SPT-bit set, J - Join SPT, M - MSDP created entry, E - Extranet,
       X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement,
       U - URD, I - Received Source Specific Host Report, 
       Z - Multicast Tunnel, z - MDT-data group sender, 
       Y - Joined MDT-data group, y - Sending to MDT-data group, 
       V - RD & Vector, v - Vector
Outgoing interface flags: H - Hardware switched, A - Assert winner
 Timers: Uptime/Expires
 Interface state: Interface, Next-Hop or VCD, State/Mode

(*, 239.0.0.1), 00:01:58/stopped, RP 100.1.1.1, flags: SP
  Incoming interface: Null, RPF nbr 0.0.0.0
  Outgoing interface list: Null

(23.23.23.2, 239.0.0.1), 00:01:58/00:01:31, flags: T
  Incoming interface: Ethernet3/0, RPF nbr 34.34.34.3
  Outgoing interface list:
    Ethernet0/0, Forward/Sparse, 00:01:58/00:02:33

R4# 

On R5:
=====
R5#sh ip mroute 239.0.0.1
IP Multicast Routing Table
Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C - Connected,
       L - Local, P - Pruned, R - RP-bit set, F - Register flag,
       T - SPT-bit set, J - Join SPT, M - MSDP created entry, E - Extranet,
       X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement,
       U - URD, I - Received Source Specific Host Report, 
       Z - Multicast Tunnel, z - MDT-data group sender, 
       Y - Joined MDT-data group, y - Sending to MDT-data group, 
       V - RD & Vector, v - Vector
Outgoing interface flags: H - Hardware switched, A - Assert winner
 Timers: Uptime/Expires
 Interface state: Interface, Next-Hop or VCD, State/Mode

(*, 239.0.0.1), 00:06:06/stopped, RP 100.1.1.1, flags: SP
  Incoming interface: Null, RPF nbr 0.0.0.0
  Outgoing interface list: Null

(1.1.1.1, 239.0.0.1), 00:06:03/00:01:17, flags: T
  Incoming interface: Ethernet2/0, RPF nbr 35.35.35.3
  Outgoing interface list:
    Ethernet1/0, Forward/Sparse, 00:06:03/00:03:20

(2.2.2.2, 239.0.0.1), 00:06:04/00:02:29, flags: T
  Incoming interface: Ethernet2/0, RPF nbr 35.35.35.3
  Outgoing interface list:
    Ethernet1/0, Forward/Sparse, 00:06:04/00:03:21

(13.13.13.1, 239.0.0.1), 00:06:06/00:01:16, flags: T
  Incoming interface: Ethernet2/0, RPF nbr 35.35.35.3
  Outgoing interface list:
    Ethernet1/0, Forward/Sparse, 00:06:06/00:03:16


On R6:
=====
R6#sh ip mroute 239.0.0.1
IP Multicast Routing Table
Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C - Connected,
       L - Local, P - Pruned, R - RP-bit set, F - Register flag,
       T - SPT-bit set, J - Join SPT, M - MSDP created entry, E - Extranet,
       X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement,
       U - URD, I - Received Source Specific Host Report, 
       Z - Multicast Tunnel, z - MDT-data group sender, 
       Y - Joined MDT-data group, y - Sending to MDT-data group, 
       V - RD & Vector, v - Vector
Outgoing interface flags: H - Hardware switched, A - Assert winner
 Timers: Uptime/Expires
 Interface state: Interface, Next-Hop or VCD, State/Mode

(*, 239.0.0.1), 00:09:42/00:00:01, RP 100.1.1.1, flags: SJCL
  Incoming interface: Null, RPF nbr 0.0.0.0
  Outgoing interface list:
    Loopback0, Forward/Sparse, 00:09:42/00:02:52

(23.23.23.2, 239.0.0.1), 00:09:42/00:01:18, flags: LT
  Incoming interface: Ethernet0/0, RPF nbr 46.46.46.4
  Outgoing interface list:
    Loopback0, Forward/Sparse, 00:09:42/00:02:52

(13.13.13.1, 239.0.0.1), 00:09:42/00:01:17, flags: LT
  Incoming interface: Ethernet1/0, RPF nbr 56.56.56.5
  Outgoing interface list:
    Loopback0, Forward/Sparse, 00:09:42/00:02:52

(2.2.2.2, 239.0.0.1), 00:09:42/00:01:18, flags: LT
  Incoming interface: Ethernet1/0, RPF nbr 56.56.56.5
  Outgoing interface list:
    Loopback0, Forward/Sparse, 00:09:42/00:02:52

(1.1.1.1, 239.0.0.1), 00:09:42/00:01:14, flags: LT
  Incoming interface: Ethernet1/0, RPF nbr 56.56.56.5
  Outgoing interface list:
    Loopback0, Forward/Sparse, 00:09:42/00:02:52

R6#

Now, we don't see any pruned entries on R4. Though there may still be some tweeking that we can try to do BGP and IGP as we still see the SPT-Bit set.

Hope you enjoyed this post.

Feel free to ask any questions.

Cheers...!!!

Comments (4) -

  • Tarique

    10/15/2012 8:05:25 AM |

    Dear Genie,

    Thank you for your wonderful post. As I understand in MSDP we have Mesh Groups.  We use it to help reduce flooding of SA messages amongst MSDP Peers that are fully meshed.  For example if a SA message is received from a mesh group peer it is not forwarded back to any other peers in the mesh group.  If these meshed peers were not configured into mesh group each peer would be receiving multiples copies of same SA message.  Another benefit of mesh group is to deal with the side affects of RPF-peer behavior.  Basically peers in a mesh group are not subjected to the many RPF-peer rules in the original MSDP standard draft.  This allowed acceptance of all SA messages for instance in a Anycast deployment you described.  I am wondering if a router can be member of multiple mesh groups?  If so is there any sort of chance of SA looping?  How can we verify that?

    Keep up the great work Genie!

    regards,
    Tarique

  • Genie

    10/15/2012 3:45:20 PM |

    Hello Tarique,
    Thank you for posting a nice question. I would say if a router is a member of different mesh groups, there may be two possibilities. Either the mesh group is part of same AS but wont be Anycast RP then or the other mesh-groups be will in different AS. So in either case, things wont be messed up unless your unicast-routing is messed up. SA messages looping is a very rare scenario. I will try to find one for u.

    Thanks again for your excellent question.

  • Thomas Nikolajsen

    11/13/2012 3:42:55 PM |

    Nice post; a little typo 'Randezvous' -> 'Rendezvous'
    it is french, for 'meet you'.

    Interesting topics you muse on; for a network nerd.

    -thomas
    www.cisco.com/.../rps.html
    (seems like you are a cisco nerd Smile

  • Genie

    11/15/2012 9:14:52 AM |

    Rectified type.. Thanks Thomas for pointing out.. Smile
    Some more good stuff coming up..

Comments are closed