OcNOS Multicast Quick Config
OcNOS Multicast Quick Config
Open Compute
Network Operating System
for Service Providers
Version 4.0
Multicast Quick
Configuration Guide
January 2021
This documentation is subject to change without notice. The software described in this document and this documentation
are furnished under a license agreement or nondisclosure agreement. The software and documentation may be used or
copied only in accordance with the terms of the applicable agreement. No part of this publication may be reproduced, stored
in a retrieval system, or transmitted in any form or any means electronic or mechanical, including photocopying and
recording for any purpose other than the purchaser's internal use without the written permission of IP Infusion Inc.
IP Infusion Inc.
3965 Freedom Circle, Suite 200
Santa Clara, CA 95054
+1 408-400-1900
http://www.ipinfusion.com/
Trademarks:
IP Infusion, OcNOS, VirNOS, ZebM, and ZebOS-XP are trademarks or registered trademarks of IP Infusion. All other
trademarks, service marks, registered trademarks, or registered service marks are the property of their respective owners.
Use of certain software included in this equipment is subject to the IP Infusion, Inc. End User License Agreement at http://
www.ipinfusion.com/license. By using the equipment, you accept the terms of the End User License Agreement.
Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii
Audience . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii
Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii
Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii
Related Documents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii
Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii
Comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iv
Audience
This guide is intended for network administrators and other engineering professionals who configure multicast
protocols.
Conventions
Table P-1 shows the conventions used in this guide.
Convention Description
monospaced type Code elements such as commands, functions, parameters, files, and directories
Contents
This document contains these chapters:
• Chapter 1, Understanding IGMP
• Chapter 2, Understanding PIM Sparse Mode
• Chapter 3, Understanding PIM Dense Mode
Related Documents
See the following documents for details about the commands used in example configurations.
• Protocol Independent Multicasting Command Reference
• Multicast Configuration Guide
Support
For support-related questions, contact [email protected].
Comments
If you have comments, or need to report a problem with the content, contact [email protected].
Overview
The Internet Group Management Protocol (IGMP) is used by IP hosts to report their multicast group memberships to
any immediately-neighboring multicast routers. Using the information obtained through IGMP, the router maintains a list
of multicast groups on a per-interface basis. The routers that receive these IGMP packets send multicast data that they
receive for requested groups out the network segment of the known receivers. By default, when PIM is enabled on an
interface, IGMP version 3 is enabled. IGMP can be enabled on an interface explicitly.
Topology
Figure 1-1shows a sample IGMP topology.
Configuration
Router1
Validation
Use the following show commands to validate the configuration above.
Router1#show ip igmp interface
Interface eth1 (Index 3)
IGMP Enabled, Active, Querier, Configured for version 2
Internet address is 9.9.9.1
IGMP interface has 1 group-record states
IGMP Interface statistics:
v1-reports: 0
v2-reports: 1, v2-leaves: 0
v3-reports: 0
IGMP query interval is 125 seconds
IGMP Startup query interval is 31 seconds
IGMP Startup query count is 2
IGMP querier timeout is 255 seconds
IGMP max query response time is 10 seconds
Group Membership interval is 260 seconds
IGMP Last member query count is 2
Last member query response interval is 1000 milliseconds
When Router1 receives a IGMP report from Receiver on an interface , it populates the IGMP groups table.
Router1#show ip igmp groups
IGMP Connected Group Membership
Group Address Interface Uptime Expires State Last Reporter
224.1.1.1 eth1 00:00:02 00:04:17 Active 9.9.9.2
Overview
The Protocol Independent Multicasting-Sparse Mode (PIM-SM) is a multicast routing protocol designed to operate
efficiently across Wide Area Networks (WANs) with sparsely distributed groups. It helps geographically dispersed
network nodes to conserve bandwidth and reduce traffic by simultaneously delivering a single stream of information to
multiple locations. PIM-SM uses the IP multicast model of receiver-initiated membership, supporting both shared and
shortest-path trees, and uses soft-state mechanisms to adapt to changing network conditions. It relies on a topology-
gathering protocol to populate a multicast routing Routertable with routes.
2. Electing a Designated Router in a multi-access network with multiple routers connected, one of the routers is
selected to act as a designated router (DR) for a given period. The DR is responsible for sending Join/Prune
messages to the RP for local members.
3. Determining the Rendezvous Point PIM-SM uses a BSR to originate bootstrap messages, and to disseminate RP
information. The messages are multicast to the group on each link. If the BSR is not apparent, the routers flood the
domain with advertisements. The router with the highest priority (if priorities are same, the higher IP address
applies) is selected to be the RP. Routers receive and store bootstrap messages originated by the BSR. When a
DR gets a membership indication from IGMP for (or a data packet from) a directly connected host, for a group for
which it has no entry, the designated router (DR) maps the group address to one of the candidate RPs that can
service that group. The DR then sends a Join/Prune message towards that RP. In a small domain, the RP can also
be configured statically.
4. Joining the Shared Tree To join a multicast group, a host sends an IGMP message to its upstream router, after
which the router can accept multicast traffic for that group. The router sends a Join message to its upstream PIM
neighbor in the direction of the RP. When a router receives a Join message from a downstream router, it checks to
see if a state exists for the group in its multicast routing table. If a state already exists, the Join message has
reached the shared tree, and the interface from which the message was received is entered in the Outgoing
Interface list. If no state exists, an entry is created, the interface is entered in the outgoing Interface list, and the
Join message is again sent towards the RP.
5. Registering with the RP a DR can begin receiving traffic from a source without having a Source or a Group state for
that source. In this case, the DR has no information on how to get multicast traffic to the RP through a tree. When
the source DR receives the initial multicast packet, it encapsulates it in a Register message, and unicasts it to the
RP for that group. The RP de-encapsulates each Register message, and forwards the extracted data packet to
downstream members on the RPT. Once the path is established from the source to the RP, the DR begins sending
traffic to the RP as standard IP multicast packets, as well as encapsulated within Register messages. The RP
temporarily receives packets twice. When the RP detects the normal multicast packets, it sends a Register-Stop
message to the source DR, meaning it should stop sending register packets.
6. Sending Register-Stop messages when the RP begins receiving traffic from the source, both as Register
messages and as unencapsulated IP packets, it sends a Register-Stop message to the DR. This notifies the DR
that the traffic is now being received as standard IP multicast packets on the SPT. When the DR receives this
message, it stops encapsulating traffic in Register messages.
7. Pruning the Interface Routers attached to receivers send Prune messages to the RP to disassociate the source
from the RP. When an RP receives a Prune message, it no longer forwards traffic from the source indicated in the
Prune message. If all members of a multicast group are pruned, the IGMP state of the DR is deleted, and the
interface is removed from the Source and Group lists of the group.
8. Forwarding Multicast Packets PIM-SM routers forward multicast traffic onto all interfaces that lead to receivers that
have explicitly joined a multicast group. Messages are sent to a group address in the local subnetwork, and have a
Time to Live (TTL) of 1. The router performs an RPF check, and forwards the packet. If a downstream router has
sent a join to this router or is a member of this group, then traffic that arrives on the correct interface is sent to all
outgoing interfaces that lead to downstream receivers.
Topology
Figure 2-2 shows a sample PIM-SM topology.
Router1
Router2
Router2(config)#ip pim rp-address 12.12.12.2 Configure static RP address (Router2 interface eth2 as
the RP)
Router2(config)#interface eth2 Specify the interface (eth2)to be configured
Router2(config-if)#ip address 12.12.12.2/24 Configure IP address for the interface
Router2(config-if)#ip pim sparse-mode Enable PIM sparse mode on the interface
Router2(config-if)#exit Exit interface mode
Router2(config)#router ospf 100 Configure the routing process and specify the Process ID
(100)
Router2(config-router)#network 10.10.10.0/24 Define the interface on which OSPF runs and associate
area 0 the area ID (0) with the interface
Router2(config-router)#network 12.12.12.0/24 Define the interface on which OSPF runs and associate
area 0 the area ID (0) with the interface
Router3
Router3(config)#ip pim rp-address 12.12.12.2 Configure static RP address (Router2 interface eth2 as
the RP)
Router3(config)#interface eth2 Specify the interface (eth2)to be configured
Router3(config)#router ospf 100 Configure the routing process and specify the Process
ID (100)
Router3(config-router)#network 11.11.11.0/24 Define the interface on which OSPF runs and associate
area 0 the area ID (0) with the interface
Router3(config-router)#network 12.12.12.0/24 Define the interface on which OSPF runs and associate
area 0 the area ID (0) with the interface
Validation
Use the following show commands to validate the configuration above.
Router1#show ip pim neighbor
Neighbor Interface Uptime/Expires Ver DR
Address Priority/Mode
10.10.10.2 eth1 00:14:33/00:01:34 v2 1 / DR
11.11.11.3 eth2 00:09:27/00:01:18 v2 1 / DR
Note: For the validation of the below commands, An IGMP report to be sent from receiver towards Router1 for the
desired group and source should send multicast traffic for the desired group in order to populate PIM mroute
and mroute entries.For IGMP report generation refer IGMP-Section.
When Source starts sending multicast traffic for group 224.1.1.1, PIM mroute entry gets populated.
Router1#show ip pim mroute
IP Multicast Routing Table
(*,*,RP) Entries: 0
(*,G) Entries: 1
(S,G) Entries: 1
(S,G,rpt) Entries: 1
FCR Entries: 0
(*, 224.1.1.1)
RP: 12.12.12.2
RPF nbr: 10.10.10.2
RPF idx: eth1
Upstream State: JOINED
Local ...i............................
Joined ................................
Asserted ................................
FCR:
(14.14.14.2, 224.1.1.1)
RPF nbr: 11.11.11.3
RPF idx: eth2
SPT bit: 1
Upstream State: JOINED
Local ................................
Joined ................................
Asserted ................................
Outgoing ...o............................
(14.14.14.2, 224.1.1.1, rpt)
RP: 12.12.12.2
RPF nbr: 10.10.10.2
RPF idx: eth1
Upstream State: PRUNED
Local ................................
Pruned ................................
Outgoing ...o...........................
When Source starts sending multicast traffic for group 224.1.1.1, mroute entry gets populated with Olist gets formed.
Router1#show ip mroute
IP Multicast Routing Table
Flags: I - Immediate Stat, T - Timed Stat, F - Forwarder installed
B - BIDIR
Timers: Uptime/Stat Expiry
Interface State: Interface (TTL)
(14.14.14.2, 224.1.1.1), uptime 00:00:43, stat expires 00:02:47
Owner PIM, Flags: TF
Incoming interface: eth2
Outgoing interface list:
eth3 (1)
Router1
Router1(config)#router ospf 100 Configure the routing process and specify the
Process ID (100).
Router1(config-router)#network 10.10.10.0/24 Define the interface on which OSPF runs and
area 0 associate the area ID (0) with the interface.
Router1(config-router)#network 9.9.9.0/24 area Define the interface on which OSPF runs and
0 associate the area ID (0)with the interface.
Router2
Router3
Validation
Use the following show commands to validate the configuration above.
Router1#show ip pim neighbor
Neighbor Interface Uptime/Expires Ver DR
Address Priority/Mode
10.10.10.2 eth1 00:14:33/00:01:34 v2 1 / DR
11.11.11.3 eth2 00:09:27/00:01:18 v2 1 / DR
Note: For the validation of the below commands, An IGMP report to be sent from receiver towards Router1 for the
desired group and Source should send multicast traffic for the desired group in order to populate PIM mroute
and mroute entries.For IGMP report generation refer IGMP-Section.
When Source starts sending multicast traffic for group 224.1.1.1, PIM mroute entry gets populated.
Router1#show ip pim mroute
IP Multicast Routing Table
(*,*,RP) Entries: 0
(*,G) Entries: 1
(S,G) Entries: 1
(S,G,rpt) Entries: 1
FCR Entries: 0
(*, 224.1.1.1)
RP: 12.12.12.2
RPF nbr: 10.10.10.2
RPF idx: eth1
Upstream State: JOINED
Local ...i............................
Joined ................................
Asserted ................................
FCR:
(14.14.14.2, 224.1.1.1)
RPF nbr: 11.11.11.3
RPF idx: eth2
SPT bit: 1
Upstream State: JOINED
Local ................................
Joined ................................
Asserted ................................
Outgoing ...o............................
(14.14.14.2, 224.1.1.1, rpt)
RP: 12.12.12.2
RPF nbr: 10.10.10.2
RPF idx: eth1
Upstream State: PRUNED
Local ................................
Pruned ................................
Outgoing ...o............................
When Source starts sending multicast traffic for group 224.1.1.1, mroute entry gets populated with Olist gets formed.
Router1#show ip mroute
IP Multicast Routing Table
Flags: I - Immediate Stat, T - Timed Stat, F - Forwarder installed
B - BIDIR
Timers: Uptime/Stat Expiry
Interface State: Interface (TTL)
(14.14.14.2, 224.1.1.1), uptime 00:00:43, stat expires 00:02:47
Owner PIM, Flags: TF
Incoming interface: eth2
Outgoing interface list:
eth3 (1)
Overview
Dense Mode (PIM-DM) is a data-driven multicast routing protocol that builds source-based multicast distribution trees
that operate on the flood-and-prune principle. PIM-DM requires unicast reach-ability information, but it does not depend
on a specific unicast routing protocol.
Topology
Figure 3-3 shows a topology of three routers in PIM Dense Mode.
Configuration
Router1
Router2
Router3
Validation
Use the following show commands to validate the configuration above.
Router1#show ip pim neighbor
Neighbor Interface Uptime/Expires Ver DR
Address Priority/Mode
10.10.10.2 eth1 00:03:00/00:01:22 v2 N /
Note: For the validation of the below commands, An IGMP report to be sent from receiver towards Router1 for the
desired group and source should send multicast traffic for the desired group in order to populate PIM mroute
and mroute entries.For IGMP report generation refer IGMP-Section.
When Source starts sending multicast traffic for group 224.1.1.1, PIM mroute entry gets populated with Olist gets
formed.
Router1#show ip pim mroute
PIM-DM Multicast Routing Table
(13.13.13.2, 224.1.1.1)
RPF Neighbor: 10.10.10.2, Nexthop: 10.10.10.2
Upstream IF: eth1
Upstream State: Forwarding
When Source starts sending multicast traffic for group 224.1.1.1, mroute entry gets populated with Olist gets formed.
Router1#show ip mroute
IP Multicast Routing Table
Flags: I - Immediate Stat, T - Timed Stat, F - Forwarder installed
B - BIDIR
Timers: Uptime/Stat Expiry
Interface State: Interface (TTL)
(13.13.13.2, 224.1.1.1), uptime 00:00:19
Owner PIM, Flags: F
Incoming interface: eth1
Outgoing interface list:
eth2 (1)
A S
Audience iii show ip igmp groups 6
show ip igmp groups detail 6
B show ip igmp interface 6
show ip mroute 12, 15
BSR 7 show ip pim interface 11, 19
show ip pim mroute 11, 14, 19
show ip pim neighbor 10, 14, 19
C show ip pim rp mapping 11, 14
Comments iv show ip pim rp-hash 11
Contents iii source-based multicast 17
Conventions iii Sparse Mode 7
Static Rendezvous Point 8
Support iii
D
Designated Router 7 V
DR 7
Dynamic Rendezvous Point 12 Validation 6, 10, 19
version 3 5
F
flood-and-prune 17
H
Hello Messages 7
I
IGMP 5
IGMP message 7
IGMP multicasting 5
Internet Group Management Protocol 5
ip pim rp-hash 14
P
PIM 7
PIM routers 7
PIM-DM 17
PIM-SM 7
Preface iii
Protocol Independent Multicasting 7
R
Related Documents iii
Rendezvous Point 7
RP 7