Quantcast
Channel: CCNP Recertification » Routing
Viewing all articles
Browse latest Browse all 10

Multicast – PIM implementation and testing with MRM

$
0
0

Implementation of multicast, at least for the purposes of the CCNP BCMSN exam, is pretty simple. Cisco has the Multicast Quick-Start Configuration Guide which goes over many different ways of doing it.

The exam seems to only care about Protocol Independent Multicast (PIM), which uses the router’s routing table to determine whether or not a multicast packet is to be forwarded. When packet is received on an interface the router looks at the route back to the source. If the interface the packet was received on is the same as the one it would use to send a response, the reverse path forwarding test is sucessful and the packet is forwarded.

PIM operates in two modes, sparse and dense. In sparse mode it is assumed that most people don’t care about the stream and therefore the router must explicity add branches to the multicast tree. In dense mode it is assumed that there are a lot of listeners, and it is the obligation of the router to prune. This is handled through IGMP which is another article.

Consider the following network:
multicast1.jpg

R5 has its E0 interface shut down so that the serial link is used.

I set up everything in PIM dense mode, meaning I needed only

ip pim dense-mode

on every interface.

From R0


r0#show ip pim neighbor 
PIM Neighbor Table
Neighbor          Interface                Uptime/Expires    Ver   DR
Address                                                            Prio/Mode
2.2.2.1           Multilink1               1d02h/00:01:43    v2    1 / S
10.50.0.3         Ethernet0                1d02h/00:01:24    v2    1 / DR S

the output of that shows two PIM adjacencies, one out the multilink (R1) and one on the Ethernet (R3). Under the "Mode" column, S means "state refresh capable" and DR means that the router is the designated router for the segment.

To test multicast, I used Multicast Routing Monitor to generate traffic:


r1#show run int mu1
Building configuration...

Current configuration : 138 bytes
!
interface Multilink1
 ip address 2.2.2.1 255.255.255.252
 ip pim sparse-mode
 ip mrm test-sender
 ppp multilink
 multilink-group 1
end


R0:


ip mrm manager test1
 manager Ethernet0 group 239.1.1.1
 senders 1
 receivers 2 sender-list 1
access-list 1 permit 2.2.2.1
access-list 2 permit 5.5.5.5
access-list 2 permit 10.50.0.3
r3#show run int e0
Building configuration...

Current configuration : 111 bytes
!
interface Ethernet0
 ip address 10.50.0.3 255.255.255.0
 ip pim sparse-dense-mode
 ip mrm test-receiver
end

A similar receiver exists on R5's loop0.

The mrm tester on R0 sets up a multicast stream from 2.2.2.1 to 5.5.5.5 and 10.50.0.3 using multicast group 239.1.1.1:


r0#show ip mrm manager 
Manager:test1/10.50.0.1 is not running
  Beacon interval/holdtime/ttl:60/86400/32
  Group:239.1.1.1, UDP port test-packet/status-report:16384/65535
  Test senders: 
    2.2.2.1                  
  Test receivers: 
    5.5.5.5                  10.50.0.3  

Finally, the test can be started:


r0#mrm test1 start
r0#
1d03h: IP MRM test 'test1' starts ...... 
1d03h: IP MRM status report -- Test:test1  Receiver:10.50.0.3
1d03h:   Sender:2.2.2.1          Pkt Loss:1(4%)  Ehsr:8
1d03h: IP MRM status report -- Test:test1  Receiver:5.5.5.5
1d03h:   Sender:2.2.2.1          Pkt Loss:5(20%)  Ehsr:0
1d03h: IP MRM status report -- Test:test1  Receiver:10.50.0.3
1d03h:   Sender:2.2.2.1          Pkt Loss:1(4%)  Ehsr:8
1d03h: IP MRM status report -- Test:test1  Receiver:5.5.5.5
1d03h:   Sender:2.2.2.1          Pkt Loss:5(20%)  Ehsr:0
1d03h: IP MRM status report -- Test:test1  Receiver:5.5.5.5
1d03h:   Sender:2.2.2.1          Pkt Loss:15(60%)  Ehsr:0
1d03h: IP MRM status report -- Test:test1  Receiver:5.5.5.5
1d03h:   Sender:2.2.2.1          Pkt Loss:20(80%)  Ehsr:0
1d03h: IP MRM status report -- Test:test1  Receiver:5.5.5.5
1d03h:   Sender:2.2.2.1          Pkt Loss:25(100%)  Ehsr:0
1d03h: IP MRM status report -- Test:test1  Receiver:5.5.5.5
1d03h:   Sender:2.2.2.1          Pkt Loss:25(100%)  Ehsr:0

I see a bit of loss at the beginning, but after that it stops:


r0#show ip mrm manager 
Manager:test1/10.50.0.1 is running, expire:23:56:53
  Beacon interval/holdtime/ttl:60/86400/32
  Group:239.1.1.1, UDP port test-packet/status-report:16384/65535
  Test senders: 
    2.2.2.1          /Ack    
  Test receivers: 
    5.5.5.5          /Ack    10.50.0.3        /Ack   

From R5, looking at the multicast route:


r5#show ip mroute 239.1.1.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,
       X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement,
       U - URD, I - Received Source Specific Host Report, Z - Multicast Tunnel
       Y - Joined MDT-data group, y - Sending to MDT-data group
Outgoing interface flags: H - Hardware switched
 Timers: Uptime/Expires
 Interface state: Interface, Next-Hop or VCD, State/Mode

(*, 239.1.1.1), 00:06:43/stopped, RP 10.50.0.3, flags: SJPC
  Incoming interface: Ethernet0, RPF nbr 10.50.0.3
  Outgoing interface list: Null

(2.2.2.1, 239.1.1.1), 00:06:43/00:02:54, flags: PTX
  Incoming interface: Ethernet0, RPF nbr 10.50.0.1
  Outgoing interface list: Null
r0#show ip mroute 239.1.1.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,
       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

(*, 239.1.1.1), 01:27:52/stopped, RP 10.50.0.3, flags: SJCF
  Incoming interface: Ethernet0, RPF nbr 10.50.0.3
  Outgoing interface list:
    Multilink1, Forward/Dense, 01:27:52/00:00:00

(2.2.2.1, 239.1.1.1), 01:27:52/00:02:51, flags: FT
  Incoming interface: Multilink1, RPF nbr 0.0.0.0
  Outgoing interface list:
    Ethernet0, Forward/Dense, 00:05:32/00:00:00, A

r3#show ip mroute 239.1.1.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,
       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

(*, 239.1.1.1), 01:28:24/00:03:25, RP 10.50.0.3, flags: SJCL
  Incoming interface: Null, RPF nbr 0.0.0.0
  Outgoing interface list:
    Ethernet0, Forward/Sparse-Dense, 01:28:23/00:03:25

(2.2.2.1, 239.1.1.1), 01:28:24/00:02:59, flags: PLT
  Incoming interface: Ethernet0, RPF nbr 10.50.0.1
  Outgoing interface list: Null

Content Copyright Sean Walberg

Multicast – PIM implementation and testing with MRM


Viewing all articles
Browse latest Browse all 10

Trending Articles