Multicast over Frame-Relay to have Spoke to Spoke communication

October 1, 2008 at 5:58 pm | Posted in Multicast, WAN | 2 Comments

R2 is the frame-relay hub, R1 & R3 are spokes . Objective is R1 (multicast source) can ping R3 (client).

It is a quite straight forward scenario, and I did not find any problem with getting the desired result. However, some people reported in the GS mailing list that they can only get first successful ping. Maybe some issue with routing (OSPF network type?), RP advertisment, RPF failure, PIM MBMA mode etc. Need more clarification to find out the root cause.

       R2
       |
R1-----|------R3

R1#
ip multicast-routing 

interface Serial0/0
 ip address 123.0.0.1 255.255.255.0
 ip pim sparse-dense-mode
 encapsulation frame-relay
 ip ospf network point-to-multipoint
 frame-relay map ip 123.0.0.2 102 broadcast
 no frame-relay inverse-arp
!
!
router ospf 1
 network 123.0.0.1 0.0.0.0 area 0

R2#

ip multicast-routing 

interface Loopback0
 ip address 2.2.2.2 255.255.255.255
 ip pim sparse-dense-mode

interface Serial0/0
 ip address 123.0.0.2 255.255.255.0
 ip pim nbma-mode
 ip pim sparse-dense-mode
 encapsulation frame-relay
 ip ospf network point-to-multipoint
 frame-relay map ip 123.0.0.1 201 broadcast
 frame-relay map ip 123.0.0.3 203 broadcast
 no frame-relay inverse-arp
!
!
router ospf 1
 network 2.2.2.2 0.0.0.0 area 0
 network 123.0.0.2 0.0.0.0 area 0
!
!
ip pim send-rp-announce Loopback0 scope 16 interval 10
ip pim send-rp-discovery Loopback0 scope 16 interval 10

R3#

ip multicast-routing
!
!
!
!
interface Serial2/0
 ip address 123.0.0.3 255.255.255.0
 ip pim sparse-dense-mode
 encapsulation frame-relay
 ip ospf network point-to-multipoint
 ip igmp join-group 224.3.3.3
 frame-relay map ip 123.0.0.2 302 broadcast
 no frame-relay inverse-arp
!
!
router ospf 1
 network 123.0.0.3 0.0.0.0 area 0

R1#ping 224.3.3.3 rep 5

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 224.3.3.3, timeout is 2 seconds:

Reply to request 0 from 123.0.0.3, 156 ms
Reply to request 1 from 123.0.0.3, 116 ms
Reply to request 2 from 123.0.0.3, 116 ms
Reply to request 3 from 123.0.0.3, 116 ms
Reply to request 4 from 123.0.0.3, 116 ms

R1#sh ip pim rp mapping
PIM Group-to-RP Mappings

Group(s) 224.0.0.0/4
  RP 2.2.2.2 (?), v2v1
    Info source: 2.2.2.2 (?), elected via Auto-RP
         Uptime: 00:14:50, expires: 00:00:29

R2#sh ip pim rp mapping
PIM Group-to-RP Mappings
This system is an RP (Auto-RP)
This system is an RP-mapping agent (Loopback0)

Group(s) 224.0.0.0/4
  RP 2.2.2.2 (?), v2v1
    Info source: 2.2.2.2 (?), elected via Auto-RP
         Uptime: 00:16:14, expires: 00:00:26
R2#sh ip mroute
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,
       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
Outgoing interface flags: H - Hardware switched, A - Assert winner
 Timers: Uptime/Expires
 Interface state: Interface, Next-Hop or VCD, State/Mode

(*, 224.3.3.3), 00:15:50/00:03:27, RP 2.2.2.2, flags: SJC
  Incoming interface: Null, RPF nbr 0.0.0.0
  Outgoing interface list:
    Serial0/0, 123.0.0.3, Forward/Sparse-Dense, 00:12:52/00:03:27

(123.0.0.1, 224.3.3.3), 00:01:54/00:01:16, flags: JT
  Incoming interface: Serial0/0, RPF nbr 123.0.0.1
  Outgoing interface list:
    Serial0/0, 123.0.0.3, Forward/Sparse-Dense, 00:01:54/00:03:27

(*, 224.0.1.39), 00:16:41/stopped, RP 0.0.0.0, flags: DCL
  Incoming interface: Null, RPF nbr 0.0.0.0
  Outgoing interface list:
    Loopback0, Forward/Sparse-Dense, 00:16:23/00:00:00
    Serial0/0, Forward/Sparse-Dense, 00:16:41/00:00:00

(2.2.2.2, 224.0.1.39), 00:16:41/00:03:29, flags: LT
  Incoming interface: Loopback0, RPF nbr 0.0.0.0
  Outgoing interface list:
    Serial0/0, Prune/Sparse-Dense, 00:10:31/00:02:28

(*, 224.0.1.40), 00:19:26/stopped, RP 0.0.0.0, flags: DCL
  Incoming interface: Null, RPF nbr 0.0.0.0
  Outgoing interface list:
    Loopback0, Forward/Sparse-Dense, 00:16:25/00:00:00
    Serial0/0, Forward/Sparse-Dense, 00:19:26/00:00:00

(2.2.2.2, 224.0.1.40), 00:16:22/00:02:57, flags: LT
  Incoming interface: Loopback0, RPF nbr 0.0.0.0
  Outgoing interface list:
    Serial0/0, Forward/Sparse-Dense, 00:16:22/00:00:00

R2#sh ip mroute count
IP Multicast Statistics
6 routes using 3596 bytes of memory
3 groups, 1.00 average sources per group
Forwarding Counts: Pkt Count/Pkts(neg(-) = Drops) per second/Avg Pkt Size/Kilobits per second
Other counts: Total/RPF failed/Other drops(OIF-null, rate-limit etc)

Group: 224.3.3.3, Source count: 1, Packets forwarded: 5, Packets received: 5
  RP-tree: Forwarding: 0/0/0/0, Other: 0/0/0
  Source: 123.0.0.1/32, Forwarding: 5/0/100/0, Other: 5/0/0

Group: 224.0.1.39, Source count: 1, Packets forwarded: 0, Packets received: 0
  Source: 2.2.2.2/32, Forwarding: 0/0/0/0, Other: 0/0/0

Group: 224.0.1.40, Source count: 1, Packets forwarded: 0, Packets received: 0
  Source: 2.2.2.2/32, Forwarding: 0/0/0/0, Other: 0/0/0

R3#sh ip pim rp mapping
PIM Group-to-RP Mappings

Group(s) 224.0.0.0/4
  RP 2.2.2.2 (?), v2v1
    Info source: 2.2.2.2 (?), elected via Auto-RP
         Uptime: 00:18:32, expires: 00:00:27
R3#sh ip mroute
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,
       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
Outgoing interface flags: H - Hardware switched, A - Assert winner
 Timers: Uptime/Expires
 Interface state: Interface, Next-Hop or VCD, State/Mode

(*, 224.3.3.3), 00:18:08/stopped, RP 2.2.2.2, flags: SJPCLF
  Incoming interface: Serial2/0, RPF nbr 123.0.0.2
  Outgoing interface list: Null

(123.0.0.1, 224.3.3.3), 00:00:16/00:02:59, flags: PLFT
  Incoming interface: Serial2/0, RPF nbr 123.0.0.2
  Outgoing interface list: Null

(*, 224.0.1.39), 00:18:57/stopped, RP 0.0.0.0, flags: DC
  Incoming interface: Null, RPF nbr 0.0.0.0
  Outgoing interface list:
    Serial2/0, Forward/Sparse-Dense, 00:18:58/00:00:00

(2.2.2.2, 224.0.1.39), 00:00:37/00:02:22, flags: PTX
  Incoming interface: Serial2/0, RPF nbr 123.0.0.2
  Outgoing interface list: Null

(*, 224.0.1.40), 00:21:23/stopped, RP 0.0.0.0, flags: DCL
  Incoming interface: Null, RPF nbr 0.0.0.0
  Outgoing interface list:
    Serial2/0, Forward/Sparse-Dense, 00:21:24/00:00:00

(2.2.2.2, 224.0.1.40), 00:18:40/00:02:59, flags: PLTX
  Incoming interface: Serial2/0, RPF nbr 123.0.0.2
  Outgoing interface list: Null

R3#sh ip mroute count
IP Multicast Statistics
6 routes using 2608 bytes of memory
3 groups, 1.00 average sources per group
Forwarding Counts: Pkt Count/Pkts per second/Avg Pkt Size/Kilobits per second
Other counts: Total/RPF failed/Other drops(OIF-null, rate-limit etc)

Group: 224.3.3.3, Source count: 1, Packets forwarded: 0, Packets received: 5
  RP-tree: Forwarding: 0/0/0/0, Other: 0/0/0
  Source: 123.0.0.1/32, Forwarding: 0/-1/0/0, Other: 5/0/5

Group: 224.0.1.39, Source count: 1, Packets forwarded: 0, Packets received: 5
  Source: 2.2.2.2/32, Forwarding: 0/-1/0/0, Other: 5/0/5

Group: 224.0.1.40, Source count: 1, Packets forwarded: 0, Packets received: 113
  Source: 2.2.2.2/32, Forwarding: 0/-1/0/0, Other: 113/0/113
Advertisements

Multicast/Broadcast conversion

August 23, 2008 at 3:25 pm | Posted in Multicast | Leave a comment

Lab12 Task 6.2

SW1 —–R1——-R3——-R2——SW2

SW1 is the multicast source. Segment btw R3 & R2 is broadcast only.

Doc CD Navigation

  • Cisco IOS IP Multicast Configuration Guide, Release 12.4
  • Configuring an Intermediate IP Multicast Helper Between Broadcast-Only Networks
  • Configuration Examples for an Intermediate IP Multicast Helper Between Broadcast-Only Networks
  • Configuring an Intermediate IP Multicast Helper Between Broadcast-Only Networks: Example

Configuration

R1#
ip multicast-routing

interface Serial0/1
ip address 129.1.13.1 255.255.255.0
ip pim dense-mode

interface FastEthernet0/0
ip address 129.1.17.1 255.255.255.0
ip pim dense-mode

R3#

ip multicast-routing

interface Serial1/0
ip address 129.1.13.3 255.255.255.0
ip pim dense-mode
ip multicast helper-map 225.25.25.25 129.1.23.255 125

interface Serial1/1
ip address 129.1.23.3 255.255.255.0
ip directed-broadcast

ip forward-protocol udp 31337
access-list 125 permit udp any any eq 31337

R2#

interface FastEthernet0/0
ip address 192.10.1.2 255.255.255.0
ip pim dense-mode

interface Serial0/1
ip address 129.1.23.2 255.255.255.0
ip pim dense-mode
ip multicast helper-map broadcast 225.25.25.25 125

ip forward-protocol udp 31337
access-list 125 permit udp any any eq 31337

Verification:

SW1#
ip sla 1
udp-echo 225.25.25.25 31337 source-ip 129.1.17.7 source-port 31337 control disable
timeout 1
frequency 5
ip sla schedule 1 start-time now

Rack1R1#sh ip mroute
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,
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
Outgoing interface flags: H – Hardware switched, A – Assert winner
Timers: Uptime/Expires
Interface state: Interface, Next-Hop or VCD, State/Mode

(*, 225.25.25.25), 00:27:02/stopped, RP 0.0.0.0, flags: D
Incoming interface: Null, RPF nbr 0.0.0.0
Outgoing interface list:
Serial0/1, Forward/Dense, 00:27:02/00:00:00

(129.1.17.7, 225.25.25.25), 00:27:02/00:02:57, flags: T
Incoming interface: FastEthernet0/0, RPF nbr 0.0.0.0
Outgoing interface list:
Serial0/1, Forward/Dense, 00:27:02/00:00:00

(*, 224.0.1.40), 01:00:19/00:02:25, RP 0.0.0.0, flags: DCL
Incoming interface: Null, RPF nbr 0.0.0.0
Outgoing interface list:
Serial0/1, Forward/Dense, 00:59:36/00:00:00
FastEthernet0/0, Forward/Dense, 01:00:19/00:00:00

R1#
int fa0/0
no ip mroute-cache

Rack1R1#deb ip mpacket
IP multicast packets debugging is on
*Mar  1 03:40:20.887: IP(0): s=129.1.17.7 (FastEthernet0/0) d=225.25.25.25 (Serial0/1) id=0, ttl=254, prot=17, len=44(44), mforward
*Mar  1 03:40:25.887: IP(0): s=129.1.17.7 (FastEthernet0/0) d=225.25.25.25 (Serial0/1) id=0, ttl=254, prot=17, len=44(44), mforward

Rack1R3#sh ip mroute
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,
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
Outgoing interface flags: H – Hardware switched, A – Assert winner
Timers: Uptime/Expires
Interface state: Interface, Next-Hop or VCD, State/Mode

(*, 225.25.25.25), 00:51:15/stopped, RP 0.0.0.0, flags: DCL
Incoming interface: Null, RPF nbr 0.0.0.0
Outgoing interface list:
Serial1/0, Forward/Dense, 00:51:15/00:00:00

(129.1.17.7, 225.25.25.25), 00:28:30/00:02:59, flags: PLTX
Incoming interface: Serial1/0, RPF nbr 129.1.13.1
Outgoing interface list: Null

(*, 224.0.1.40), 01:01:03/stopped, RP 0.0.0.0, flags: DCL
Incoming interface: Null, RPF nbr 0.0.0.0
Outgoing interface list:
Serial1/0, Forward/Dense, 01:01:04/00:00:00

Rack1R2#debug ip mpacket
IP multicast packets debugging is on
Rack1R2#debug ip packet detail 125
IP packet debugging is on (detailed) for access list 125

*Mar  1 03:44:15.127: IP: s=129.1.17.7 (Serial0/1), d=255.255.255.255, len 44, rcvd 2
*Mar  1 03:44:15.127:     UDP src=31337, dst=31337
*Mar  1 03:44:15.127: IP(0): s=129.1.17.7 (Serial0/1) d=225.25.25.25 (FastEthernet0/0) id=0, ttl=252, prot=17, len=44(44), mforward
*Mar  1 03:44:20.127: IP: s=129.1.17.7 (Serial0/1), d=255.255.255.255, len 44, rcvd 2
*Mar  1 03:44:20.127:     UDP src=31337, dst=31337
*Mar  1 03:44:20.127: IP(0): s=129.1.17.7 (Serial0/1) d=225.25.25.25 (FastEthernet0/0) id=0, ttl=252, prot=17, len=44(44), mforward

Why do mapping agents need to be connected to all PIM routers in NBMA?

July 29, 2008 at 2:51 pm | Posted in Multicast | Leave a comment

This is required because of the way multicast dense mode works. When a
router receive a mpacket, it floods the multicast packet out to all
other interface, except the interface it is received on.

Let’s look at the example provided at the link below,

http://www.cisco.com/en/US/docs/ios/solutions_docs/ip_multicast/White_papers/frm_rlay.html

If MA is placed under a spoke router R2, then RP discovery message sent via 224.0.1.40
can be propogated to R2, then to Hub R1, and further to any router
behind R1, but not to other spoke. This is because, when R1 receives
this “RP discovery message”, it floods out all other interface(s), but
not S0.1

If you do sh ip mroute on R1, you will see that the interface S0.1 is
not in the OIL (outgoing interface list) for the group 224.0.1.40.

Similar candidate RP and mapping agent should be communicatable via
224.0.1.39. If they are both spokes, can only be reachable via a hub,

then the MA cannot not event see the RP presence.

If we place MA on a spoke router, we can get multicast working by adding a tunnel between the spokes. The things we should look for are RPF check, and how you route traffic between R2 and R4. It has to be routed via the tunnel interface. This is done via manupulating IGP metric.

R1#sh run

!
ip multicast-routing
!
!
interface Loopback0
ip address 1.1.1.1 255.255.255.0
ip pim sparse-dense-mode
!
!
interface Serial1/0
no ip address
encapsulation frame-relay
serial restart-delay 0
!
interface Serial1/0.1 multipoint
ip address 123.0.0.1 255.255.255.0
ip pim nbma-mode
ip pim sparse-dense-mode
no ip split-horizon eigrp 100
frame-relay map ip 123.0.0.2 102 broadcast
frame-relay map ip 123.0.0.3 103 broadcast
!
!
router eigrp 100
network 0.0.0.0
no auto-summary
!

ip pim send-rp-announce Loopback0 scope 10 interval 5
!
!

R2#sh run

ip multicast-routing
!
!

!
interface Loopback0
ip address 2.2.2.2 255.255.255.0
ip pim sparse-dense-mode
ip igmp join-group 232.0.0.2
!
interface Tunnel23
bandwidth 10000000
ip address 23.0.0.2 255.255.255.0
ip pim sparse-dense-mode
delay 1
tunnel source 123.0.0.2
tunnel destination 123.0.0.3
!

!
interface Serial1/0
no ip address
encapsulation frame-relay
serial restart-delay 0
!
interface Serial1/0.1 point-to-point
ip address 123.0.0.2 255.255.255.0
ip pim sparse-dense-mode
frame-relay interface-dlci 201
!

!
router eigrp 100
network 0.0.0.0
no auto-summary
!

!
!
end

R2#

R3#sh run

hostname R3
!

ip multicast-routing
!
!

!
!
!
interface Loopback0
ip address 3.3.3.3 255.255.255.0
ip pim sparse-dense-mode
!
interface Tunnel23
bandwidth 10000000
ip address 23.0.0.3 255.255.255.0
ip pim sparse-dense-mode
delay 1
tunnel source 123.0.0.3
tunnel destination 123.0.0.2
!

!
interface Serial1/0
no ip address
encapsulation frame-relay
serial restart-delay 0
!
interface Serial1/0.1 point-to-point
ip address 123.0.0.3 255.255.255.0
ip pim sparse-dense-mode
frame-relay interface-dlci 301
!
interface Serial1/1
no ip address
encapsulation frame-relay
serial restart-delay 0
!
interface Serial1/1.1 point-to-point
ip address 34.0.0.3 255.255.255.0
ip pim sparse-dense-mode
frame-relay interface-dlci 314
!

!
router eigrp 100
network 0.0.0.0
no auto-summary
!
!
!
ip pim send-rp-discovery Loopback0 scope 10 interval 5
ip mroute 1.1.1.1 255.255.255.255 Tunnel23
!
!
!
!
end

R4#sh run
Building configuration…

Current configuration : 1573 bytes
!
version 12.4
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname R4
!

!
!
interface Loopback0
ip address 4.4.4.4 255.255.255.0
ip pim sparse-dense-mode
!

!
interface Serial1/0
no ip address
encapsulation frame-relay
serial restart-delay 0
!
interface Serial1/0.1 point-to-point
ip address 34.0.0.4 255.255.255.0
ip pim sparse-dense-mode
frame-relay interface-dlci 413
!

!
router eigrp 100
network 0.0.0.0
no auto-summary
!

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

34.0.0.0/24 is subnetted, 1 subnets
C       34.0.0.0 is directly connected, Serial1/1.1
1.0.0.0/24 is subnetted, 1 subnets
D       1.1.1.0 [90/2297856] via 123.0.0.1, 00:18:05, Serial1/0.1
2.0.0.0/24 is subnetted, 1 subnets
D       2.2.2.0 [90/128512] via 23.0.0.2, 00:18:05, Tunnel23
3.0.0.0/24 is subnetted, 1 subnets
C       3.3.3.0 is directly connected, Loopback0
4.0.0.0/24 is subnetted, 1 subnets
D       4.4.4.0 [90/2297856] via 34.0.0.4, 00:17:32, Serial1/1.1
23.0.0.0/24 is subnetted, 1 subnets
C       23.0.0.0 is directly connected, Tunnel23
123.0.0.0/24 is subnetted, 1 subnets
C       123.0.0.0 is directly connected, Serial1/0.1

R3#sh ip mroute 232.0.0.2
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,
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
Outgoing interface flags: H – Hardware switched, A – Assert winner
Timers: Uptime/Expires
Interface state: Interface, Next-Hop or VCD, State/Mode

(*, 232.0.0.2), 00:28:20/stopped, RP 1.1.1.1, flags: SPF
Incoming interface: Tunnel23, RPF nbr 23.0.0.2, Mroute
Outgoing interface list: Null

(4.4.4.4, 232.0.0.2), 00:23:07/00:02:56, flags: T
Incoming interface: Serial1/1.1, RPF nbr 34.0.0.4
Outgoing interface list:
Tunnel23, Forward/Sparse-Dense, 00:18:14/00:02:35

(34.0.0.4, 232.0.0.2), 00:28:20/00:03:02, flags: FT
Incoming interface: Serial1/1.1, RPF nbr 0.0.0.0
Outgoing interface list:
Tunnel23, Forward/Sparse-Dense, 00:18:14/00:02:36

R4#ping ip
Target IP address: 232.0.0.2
Repeat count [1]:
Datagram size [100]:
Timeout in seconds [2]:
Extended commands [n]: y
Interface [All]: Serial1/0.1
Time to live [255]:
Source address: 34.0.0.4
Type of service [0]:
Set DF bit in IP header? [no]:
Validate reply data? [no]:
Data pattern [0xABCD]:
Loose, Strict, Record, Timestamp, Verbose[none]:
Sweep range of sizes [n]:
Type escape sequence to abort.
Sending 1, 100-byte ICMP Echos to 232.0.0.2, timeout is 2 seconds:
Packet sent with a source address of 34.0.0.4

Reply to request 0 from 23.0.0.2, 180 ms

Create a free website or blog at WordPress.com.
Entries and comments feeds.