IP Multicast Configuration Guide, Cisco IOS XE 17.x
Bias-Free Language
The documentation set for this product strives to use bias-free language. For the purposes of this documentation set, bias-free is defined as language that does not imply discrimination based on age, disability, gender, racial identity, ethnic identity, sexual orientation, socioeconomic status, and intersectionality. Exceptions may be present in the documentation due to language that is hardcoded in the user interfaces of the product software, language used based on RFP documentation, or language that is used by a referenced third-party product. Learn more about how Cisco is using Inclusive Language.
The Per Interface Mroute State Limit feature provides the capability to limit the number of mroute states on an interface
for different ACL-classified sets of multicast traffic. This feature can be used to prevent DoS attacks or to provide a multicast
CAC mechanism when all the multicast flows roughly utilize the same amount of bandwidth.
The Per Interface Mroute State Limit feature essentially is a complete superset of the IGMP State Limit feature (with the
exception that it does not support a global limit). The Per Interface Mroute State Limit feature, moreover, is more flexible
and powerful (albeit more complex) than the IGMP State Limit feature but is not intended to be a replacement for it because
there are applications that suit both features.
The main differences between the Per Interface Mroute State Limit feature and the IGMP State Limit feature are as follows:
The Per Interface Mroute State Limit feature allows multiple limits to be configured on an interface, whereas the IGMP State
Limit feature allows only one limit to be configured on an interface. The Per Interface Mroute State Limit feature, thus,
is more flexible than the IGMP State Limit feature in that it allows multiple limits to be configured for different sets of
multicast traffic on an interface.
The Per Interface Mroute State Limit feature can be used to limit both IGMP and PIM joins, whereas the IGMP State Limit feature
can only be used to limit IGMP joins. The IGMP State Limit feature, thus, is more limited in application in that it is best
suited to be configured on an edge router to limit the number of groups that receivers can join on an outgoing interface.
The Per Interface Mroute State Limit feature has a wider application in that it can be configured to limit IGMP joins on an
outgoing interface, to limit PIM joins (for Any Source Multicast [ASM] groups or Source Specific Multicast [SSM] channels)
on an outgoing interface connected to other routers, to limit sources behind an incoming interface from sending multicast
traffic, or to limit sources directly connected to an incoming interface from sending multicast traffic.
Note
Although the PIM Interface Mroute State Limit feature allows you to limit both IGMP and PIM joins, it does not provide the
capability to limit PIM or IGMP joins separately because it does not take into account whether the state is created as a result
of an IGMP or PIM join. As such, the IGMP State Limit feature is more specific in application because it specifically limits
IGMP joins.
The Per Interface Mroute State Limit feature allows you to specify limits according to the direction of traffic; that is,
it allows you to specify limits for outgoing interfaces, incoming interfaces, and for incoming interfaces having directly
connected multicast sources. The IGMP State Limit feature, however, only can be used to limit outgoing interfaces. The Per
Interface State Mroute State Limit feature, thus, is wider in scope in that it can be used to limit mroute states for both
incoming and outgoing interfaces from both sources and receivers, whereas the IGMP State Limit feature is more narrow in scope
in that it can only be used to limit mroute states for receivers on an LAN by limiting the number of IGMP joins on an outgoing
interface.
Both the IGMP State Limit and Per Interface Mroute State Limit features provide a rudimentary multicast CAC mechanism that
can be used to provision bandwidth utilization on an interface when all multicast flows roughly utilize the same amount of
bandwidth. The Bandwidth-Based CAC for IP Multicast feature, however, offers a more flexible and powerful alternative for
providing multicast CAC in network environments where IP multicast flows utilize different amounts of bandwidth.
Prerequisites for Per Interface Mroute State Limit
IP multicast is enabled and the Protocol Independent Multicast (PIM) interfaces are configured using the tasks described in
the "Configuring Basic IP Multicast" module of the
IP Multicast: PIM Configuration Guide.
Information about Per Interface Mroute State Limit
Mechanics of Per Interface Mroute State Limiters
The mechanics of per interface mroute state limiters are as follows:
Each time the state for an mroute is created or deleted and each time an olist member is added or removed, the software searches
for a corresponding per interface mroute state limiter that matches the mroute.
When an mroute is created or deleted, the software searches for a per interface mroute state limiter configured on the incoming
(RPF) interface that matches the mroute to be created or deleted. When an olist member is added or removed, the software searches
for a per interface mroute state limiter configured on the outgoing interface that matches the mroute to be added or removed.
A top-down search is performed using the list of configured per interface mroute state limiters. Only per interface mroute
state limiters that match the direction of traffic are considered. The first per interface mroute state limiter that matches
is used for limiting (sometimes referred to as accounting). A match is found when the ACL permits the mroute state.
When a match is found, the counter of the per interface mroute state limiter is updated (increased or decreased). If no per
interface mroute state limiter is found that matches an mroute, no accounting is performed for the mroute (because there is
no counter to update).
The amount with which to update the counter is called the cost (sometimes referred to as the cost multiplier). The default
cost is 1.
Note
A per interface mroute state limiter always allows the deletion of an mroute or the removal of an interface from the olist.
In those cases, the respective per interface mroute state limiter decreases the counter by the value of the cost multiplier.
In addition, RPF changes to an existing mroute are always allowed (in order to not affect existing traffic). However, a per
interface mroute state limiter only allows the creation of an mroute or the addition of an mroute olist member if adding the
cost does not exceed the maximum number of mroutes permitted.
Tips for Configuring Per Interface Mroute State Limiters
To ensure that all mroutes are accounted, you can configure a per interface mroute state limiter whose ACL contains a permit-any
statement and set the value of zero (0) for maximum entries. Configuring an mroute state limiter in this manner effectively
denies all fall through states, which may be a way to prevent a multicast DoS attack in and out of the interface.
When creating an ACL, remember that, by default, the end of the ACL contains an implicit deny-any statement for everything
if it did not find a match before reaching the end.
An explicit deny statement for a specific mroute in an ACL can be used to specify the state that will not match the ACLwhich
will prevent the ACL from being accounted. If an mroute matches a deny statement, the search immediately continues to the
next configured mroute state limiter. Configuring an explicit deny statement in an ACL can be more efficient than forcing
the mroute to fall through an ACL by using an implicit deny-any statement at the end of the ACL.
How to Configure Per Interface Mroute State Limit
Configuring Per Interface Mroute State Limiters
Perform this task to prevent DoS attacks or to provide a multicast CAC mechanism for controling bandwidth when all multicast
flows utilize approximately the same amount of bandwidth.
Before you begin
All ACLs to be applied to per interface mroute state limiters must be configured prior to beginning this configuration task;
otherwise, the limiters are ignored. For information about how to configure ACLs, see the “ Creating an IP Access List and
Applying It to an Interface ” module of the
Security Configuration Guide: Access Control Lists guide.
SUMMARY STEPS
enable
configureterminal
interfacetypenumber
ipmulticastlimit [connected |
out |
rpf]
access-listmax-entries
Repeat Step 4 to configure additional per interface mroute state limiters on this interface.
Repeat Steps 3 and Step 4 to configure per interface mroute state limiters on additional interfaces.
end
DETAILED STEPS
Command or Action
Purpose
Step 1
enable
Example:
Device> enable
Enables privileged EXEC mode.
Enter your password if prompted.
Step 2
configureterminal
Example:
Device# configure terminal
Enters global configuration mode.
Step 3
interfacetypenumber
Example:
Device(config)# interface GigabitEthernet0/0
Enters interface configuration mode for the specified interface type and number.
Step 4
ipmulticastlimit [connected |
out |
rpf]
access-listmax-entries
Example:
Device(config-if)# ip multicast limit 15 100
Configures per interface mroute state limiters.
Step 5
Repeat Step 4 to configure additional per interface mroute state limiters on this interface.
--
Step 6
Repeat Steps 3 and Step 4 to configure per interface mroute state limiters on additional interfaces.
--
Step 7
end
Example:
Device(config-if)# end
Returns to privileged EXEC mode.
Monitoring Per Interface Mroute State Limiters and Bandwidth-Based Multicast CAC Policies
Perform this optional task to monitor per interface mroute state limiters and bandwidth-based multicast CAC policies.
SUMMARY STEPS
enable
debugipmroutinglimits [group-address]
showipmulticastlimittypenumber
clearipmulticastlimit [typenumber]
DETAILED STEPS
Step 1
enable
Example:
Device> enable
Enables privileged EXEC mode.
Enter your password if prompted.
Step 2
debugipmroutinglimits [group-address]
Displays debugging information about configured per interface mroute state limiters and bandwidth-based multicast CAC policies.
The following output is from the
debugipmroutinglimits command. The output displays the following events:
An mroute state being created and the corresponding per interface mroute state limiter counter being increased by the default
cost of 1 on incoming Ethernet interface 1/0.
An mroute olist member being removed from the olist and the corresponding per interface mroute limiter being decreased by
the default cost of 1 on outgoing Ethernet interface 1/0.
An mroute being denied by the per interface mroute state limiter because the maximum number of mroute states has been reached.
An mroute state being created and the corresponding per interface mroute state limiter counter being increased by the cost
of 2 on incoming Ethernet interface 1/0.
An mroute olist member being removed from the olist and the corresponding per interface mroute limiter being decreased by
a cost of 2 on outgoing Ethernet interface 1/0.
Example:
device# debug ip mrouting limits
MRL(0): incr-ed acl ‘rpf-list’ to (13 < max 32), [n:0,p:0], (main) GigabitEthernet0/0, (10.41.0.41, 225.30.200.60)
MRL(0): decr-ed acl ‘out-list’ to (10 < max 32), [n:0,p:0], (main) GigabitEthernet0/0, (*, 225.40.202.60)
MRL(0): Add mroute (10.43.0.43, 225.30.200.60) denied for GigabitEthernet0/2, acl std-list, (16 = max 16)
MRL(0): incr-ed limit-acl `rpf-list' to (12 < max 32), cost-acl 'cost-list' cost 2, [n:0,p:0], (main) GigabitEthernet0/0, (10.41.0.41, 225.30.200.60)
MRL(0): decr-ed limit-acl `out-list' to (8 < max 32), cost-acl 'cost-list'' cost 2, [n:0,p:0], (main) GigabitEthernet0/0, (*, 225.40.202.60)
Step 3
showipmulticastlimittypenumber
Displays counters related to mroute state limiters configured on the interfaces on the router.
For each per interface mroute state limiter shown in the output, the following information is displayed:
The direction of traffic that the per mroute state limiter is limiting.
The ACL referenced by the per interface mroute state limiter that defines the IP multicast traffic being limited.
Statistics, enclosed in parenthesis, which track the current number of mroutes being limited less the configured limit. Each
time the state for an mroute is created or deleted and each time an outgoing interface list (olist) member is added or removed,
the counters for matching per interface mroute state limiters are increased or decreased accordingly.
The exceeded counter, which tracks the total number of times that the limit configured for the per interface mroute state
limiter has been exceeded. Each time an mroute is denied due to the configured limit being reached, the exceeded counter is
increased by a value of 1.
The following is sample output from the
showipmulticastlimit command with the
typenumber arguments. In this example, information about mroute state limiters configured on Gigabit Ethernet interface 0/0 is displayed.
Example:
Device# show ip multicast limit GigabitEthernet 0/0
Interface GigabitEthernet 0/0
Multicast Access Limits
out acl out-list (1 < max 32) exceeded 0
rpf acl rpf-list (6 < max 32) exceeded 0
con acl conn-list (0 < max 32) exceeded 0
Step 4
clearipmulticastlimit [typenumber]
Resets the exceeded counter for per interface mroute state limiters.
The following example shows how to reset exceeded counters for per interface mroute state limiters configured on Gigabit
Ethernet interface 0/0:
Example:
Device# clear ip multicast limit interface GigabitEthernet 0/0
Configuration Examples for Per Interface Mroute State Limit
Example Configuring Per Interface Mroute State Limiters
The following example shows how to configure per interface mroute state limiters to provide multicast CAC in a network environment
where all the multicast flows roughly utilize the same amount of bandwidth.
This example uses the topology illustrated in the figure.
In this example, a service provider is offering 300 SD TV channels. The SD channels are being offered to customers in three
service bundles (Basic, Premium, and Gold), which are available to customers on a subscription basis. Each bundle offers 100
channels to subscribers, and each channel utilizes approximately 4 Mbps of bandwidth.
The service provider must provision the Gigabit Ethernet interfaces on the PE device connected to DSLAMs as follows: 50%
of the link’s bandwidth (500 Mbps) must be available to subscribers of their Internet, voice, and VoD service offerings while
the remaining 50% (500 Mbps) of the link’s bandwidth must be available to subscribers of their SD channel bundle service offerings.
For the 500 Mbps of the link’s bandwidth that must always be available to (but must never be exceeded by) the subscribers
of the SD channel bundles, the interface must be further provisioned as follows:
60% of the bandwidth must be available to subscribers of the basic service (300 Mbps).
20% of the bandwidth must be available to subscribers of the premium service (100 Mbps).
20% of the bandwidth must be available to subscribers of the gold service (100 Mbps).
Because each SD channel utilizes the same amount of bandwidth (4 Mbps), per interface mroute state limiters can be used to
provide the necessary CAC to provision the services being offered by the service provider. To determine the required CAC needed
per interface, the number of channels for each bundle is divided by 4 (because each channel utilizes 4 Mbps of bandwidth).
The required CAC needed per interface, therefore, is as follows:
Basic Services: 300 / 4 = 75
Premium Services: 100 / 4 = 25
Gold Services: 100 / 4 = 25
Once the required CAC required per SD channel bundle is determined, the service provider uses the results to configure the
mroute state limiters required to provision the Gigabit Ethernet interfaces on the PE device for the services being offered
to subscribers behind the DSLAMs:
For the Basic Services bundle, the service provider must limit the number of Basic Service SD channels that can be transmitted
out a Gigabit Ethernet interface (at any given time) to 75. Configuring an mroute state limit of 75 for the SD channels offered
in the Basic Service bundle provisions the interface for 300 Mbps of bandwidth (the 60% of the link’s bandwidth that must
always be available to [but never exceeded by] the subscribers of the Basic Services bundle).
For the Premium Services bundle, the service provider must limit the number of Premium Service SD channels that can be transmitted
out a Gigabit Ethernet interface (at any given time) to 25. Configuring an mroute state limit of 25 for the SD channels offered
in the Premium Service bundle provisions the interface for 100 Mbps of bandwidth (the 20% of the link’s bandwidth that must
always be available to [but never exceeded by] the subscribers of the Premium Service bundle).
For the Gold Services bundle, the service provider must limit the number of Gold Service SD channels that can be transmitted
out a Gigabit Ethernet interface (at any given time) to 25. Configuring an mroute state limit of 25 for the SD channels offered
in the Gold Service bundle provisions the interface for 100 Mbps of bandwidth (the 20% of the link’s bandwidth that must always
be available to [but never exceeded by] the subscribers of the Gold Service bundle).
The service provider then configures three ACLs to be applied to per interface mroute state limiters. Each ACL defines the
SD channels for each SD channel bundle to be limited on an interface:
acl-basic--The ACL that defines the SD channels offered in the basic service.
acl-premium--The ACL that defines the SD channels offered in the premium service.
acl-gold--The ACL that defines the SD channels offered in the gold service.
These ACLs are then applied to per interface mroute state limiters configured on the PE device’s Gigabit Ethernet interfaces.
For this example, three per interface mroute state limiters are configured on Gigabit Ethernet interface 0/0 to provide the
multicast CAC needed to provision the interface for the SD channel bundles being offered to subscribers:
An mroute state limit of 75 for the SD channels that match acl-basic.
An mroute state limit of 25 for the SD channels that match acl-premium.
An mroute state limit of 25 for the SD channels that match acl-gold.
The following configuration shows how the service provider uses per interface mroute state limiters to provision Gigabit
Ethernet interface 0/0 for the SD channel bundles and Internet, Voice, and VoD services being offered to subscribers:
interface GigabitEthernet0/0
description --- Interface towards the DSLAM ---
.
.
.
ip multicast limit out acl-basic 75
ip multicast limit out acl-premium 25
ip multicast limit out acl-gold 25
The Cisco Support and Documentation website provides online resources to download documentation, software, and tools. Use
these resources to install and configure the software and to troubleshoot and resolve technical issues with Cisco products
and technologies. Access to most tools on the Cisco Support and Documentation website requires a Cisco.com user ID and password.
Feature Information for Per Interface Mroute State Limit
The following table provides release information about the feature or features described in this module. This table lists
only the software release that introduced support for a given feature in a given software release train. Unless noted otherwise,
subsequent releases of that software release train also support that feature.
Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco
Feature Navigator, go to https://cfnng.cisco.com/. An account on Cisco.com is not required.
Table 1. Feature Information for Per Interface Mroute State Limit
Feature Name
Releases
Feature Information
Per Interface Mroute State Limit
Cisco IOS XE Release 2.1
12.3(14)T
12.2(33)SRB
12.2(33)SXI
15.1(1)SG
Cisco IOX XE Release 3.3.0SG
The Per Interface Mroute State Limit feature provides the capability to limit the number of mroute states on an interface
for different ACL-classified sets of multicast traffic. This feature can be used to prevent DoS attacks, or to provide a multicast
CAC mechanism in network environments where all the multicast flows roughly utilize the same amount of bandwidth.
The following commands were introduced or modified:
clear ip multicast limit,
debug ip mrouting limits,
ip multicast limit,
show ip multicast limit.