Version 1 — Specified in RFC-1112, Host extensions for IP Multicasting, was the first widely deployed version and the first version to become an Internet standard.
Version 2 — Specified in RFC-2236, Internet Group Management Protocol, added support for low leave latency, that is, a reduction in the time it takes for a multicast router to learn that there are no longer any members of a particular group present on an attached network.
Version 3 —Specified in RFC-3376, Internet Group Management Protocol, adds support for source filtering, that is, the ability for a system to report interest in receiving packets only from specific source addresses, as required to support Source-Specific Multicast (See Source Specific Multicast (SSM)), or from all but specific source addresses, sent to a particular multicast address.
Alcatel-Lucent’s SRs are capable of interoperating with routers and hosts running IGMPv1, IGMPv2, and/or IGMPv3. Draft-ietf-magma-igmpv3-and-routing-0x.txt explores some of the interoperability issues and how they affect the various routing protocols.
•
|
In the config>mcast-mgmt>bw-plcy context, the t2-paths node allows the configuration of queuing parameters for the primary and secondary multicast paths on the line card. In addition, the number of secondary paths can also be defined. These configurations parameters are ignored if applied to an IOM-20g-b or IOM2-20g.
|
•
|
In the config>mcast-mgmt context, the fp node is affiliated with the multicast path management configuration commands for FP2 or later ingress multicast management. Ingress multicast management manages multicast switch fabric paths that are forwarding plane specific. It is within this CLI node that the multicast bandwidth policy is associated with the forwarding plane.
|
•
|
In addition, the config>mcast-mgmt>chassis-level commands configure the multicast plane limit which controls the per switch-fabric multicast planes bandwidth limit for managed multicast traffic. The switch-fabric multicast planes are the individual multicast spatial replication contexts available in the system. The total number of multicast planes depends on a combination of chassis type and chassis mode. The per-mcast-plane-capacity command applies to all IOM types.
|
On the Alcatel-Lucent 7750 SR, IGMP snooping can be enabled in the context of VPLS services. The IGMP snooping feature allows for optimization of the multicast data flow for a group within a service to only those Service Access Points (SAPs) and Service Distribution Points (SDPs) that are members of the group. In fact, the Alcatel-Lucent 7750 SR implementation performs more than pure snooping of IGMP data, since it also summarizes upstream IGMP reports and responds to downstream queries.
The Alcatel-Lucent 7750 SR maintains a number of multicast databases:
Figure 41 illustrates the basic IGMP message processing by the 7750 SR in several situations.
Scenario B: A host joins a channel which is already being received by one or more hosts on the 7750 SR, and thus is already present in the proxy database. No upstream IGMP report is generated by the router.
Scenario D: A host leaves a channel by sending an IGMP leave message. If fast-leave is not enabled, the router will first check whether there are other hosts on the same SAP or spoke SDP by sending a query. If no other host responds, the 7750 SR removes the channel from the SAP. In addition, if there are no other SAPs or spoke SDPs with hosts subscribing to the same channel, the channel is removed from the proxy database and an IGMP leave report is sent to the upstream Multicast Router.
Scenario F: A host leaves a channel by sending an IGMP leave report. Fast-leave is enabled, so the 7750 SR will not check whether there are other hosts on the same SAP or spoke SDP but immediately removes the group from the SAP. In addition, if there are no other SAPs or spoke SDPs with hosts subscribing to the same group, the group is removed from the proxy database and an IGMP leave report is sent to the upstream multicast router.
A rebalance, either timed or executing the mc-ecmp-rebalance command, should be administered gradually in order to minimize the effect of the rebalancing process on the different multicast streams. If multicast re-balancing is disabled and subsequently (re)enabled, keeping with the rebalance process, the gradual and least invasive method is used to minimize the effect of the changes to the customer.
Only a single mc-ecmp-rebalance command can be executed at any given time, if a rebalance is in progress and the command is entered, it is rejected with the message saying that a rebalance is already in progress. A low priority event is generated when an actual change for a given multicast stream occurs as a result of the rebalance process.
The redirection destination TLV is a mandatory TLV that is sent only in cases where redirection is enabled. It contains two 32 bit integer numbers. The first number identifies the VRF where IGMPs are redirected; the second number identifies the interface index.
This model is shown in Figure 46. The AN is not IGMP aware, all replications are performed in the BNG. From the BNG perspective this deployment model has the following characteristics:
This model is shown in Figure 47. The AN is IGMP aware and is participating in multicast replication. From the BNG perspective this deployment model has the following characteristics:
This model is shown in Figure 48. The AN is configured as IGMP Proxy node and is participating in downstream multicast replication. IGMP messages from multiple sources (subscribers hosts) for the same multicast group are consolidated in the AN into a single IGMP messages. This single IGMP message has the source IP address of the AN.
configure
service vprn <id>
igmp
group-interface <name>
import <policy-name>
configure
router
policy-options
begin
prefix-list <pref-name>
prefix <pref-definition>
policy-statement proxy-policy
entry 1
from
group-address <pref-name>
source-address <ip>
protocol igmp
exit
action accept
exit
exit
default-action reject
configure
service vprn <id>
igmp
group-interface <name>
sub-host-only
This model is shown in Figure 49. The AN is NOT IGMP aware and multicast replication is performed in the BNG. Multicast streams are sent directly to the hosts using their unicast MAC addresses. HQoS Adjustment is NOT needed as multicast traffic is flowing through subscriber queues. From the BNG perspective this deployment model has the following characteristics:
This model is shown in Figure 50. The AN is not IGMP aware and is not participating in multicast replication. From the BNG perspective this deployment model has the following characteristics:
configure
router
mcac
policy <name>
<channel definition>
configure
service vprn <id>
igmp
group-interface <grp-if-name>
mcac
policy <mcac-policy-name>
configure
router/service vprn
igmp
interface <name>
mcac
policy <mcac-policy-name>
configure
service vprn <id>
igmp
group-interface fwd-service <svc-id> <grp-if-name>
mcac
policy <mcac-policy-name>
configure
subscriber-management
igmp-policy <name>
egress-rate-modify [egress-aggregate-rate-limit | scheduler <name>]
configure
subscriber-management
sub-profile <name>
igmp-policy <name>
configure
subscriber-management
sub-mcac-policy <pol-name>
no shutdown
configure
subscriber-management
sub-profile <name>
sub-mcac-policy <pol-name>
*B:BNG-1# show service active-subscribers subscriber "sub-1" detail
===============================================================================
Active Subscribers
===============================================================================
-------------------------------------------------------------------------------
Subscriber sub-1
-------------------------------------------------------------------------------
I. Sched. Policy : up-silver
E. Sched. Policy : N/A E. Agg Rate Limit: 4000
I. Policer Ctrl. : N/A
E. Policer Ctrl. : N/A
Q Frame-Based Ac*: Disabled
Acct. Policy : N/A Collect Stats : Enabled
Rad. Acct. Pol. : sub-1-acct
Dupl. Acct. Pol. : N/A
ANCP Pol. : N/A
HostTrk Pol. : N/A
IGMP Policy : sub-1-IGMP-Pol
Sub. MCAC Policy : sub-1-MCAC
NAT Policy : N/A
Def. Encap Offset: none Encap Offset Mode: none
Avg Frame Size : N/A
Preference : 5
Sub. ANCP-String : "sub-1"
Sub. Int Dest Id : ""
Igmp Rate Adj : -2000
RADIUS Rate-Limit: N/A
Oper-Rate-Limit : 2000
...
-------------------------------------------------------------------------------
*B:BNG-1#
*A:Dut-C>config>subscr-mgmt>sub-prof# info
----------------------------------------------
igmp-policy "pol1"
sub-mcac-policy "smp"
egress
scheduler-policy "h1"
scheduler "t2" rate 30000
exit
exit
----------------------------------------------
*A:Dut-C>config>subscr-mgmt>igmp-policy# info
----------------------------------------------
egress-rate-modify scheduler "t2"
redirection-policy "mc_redir1"
----------------------------------------------
A:Dut-C>config>subscr-mgmt>sub-prof>egr>sched># show qos scheduler-hierarchy subscriber "sub_1" detail
===============================================================================
Scheduler Hierarchy - Subscriber sub_1
===============================================================================
Ingress Scheduler Policy:
Egress Scheduler Policy : h1
-------------------------------------------------------------------------------
Legend :
(*) real-time dynamic value
(w) Wire rates
B Bytes
-------------------------------------------------------------------------------
Root (Ing)
|
No Active Members Found on slot 1
Root (Egr)
| slot(1)
|--(S) : t1
| | AdminPIR:90000 AdminCIR:10000
| |
| |
| | [Within CIR Level 0 Weight 0]
| | Assigned:0 Offered:0
| | Consumed:0
| |
| | [Above CIR Level 0 Weight 0]
| | Assigned:0 Offered:0
| | Consumed:0
| | TotalConsumed:0
| | OperPIR:90000
| |
| | [As Parent]
| | Rate:90000
| | ConsumedByChildren:0
| |
| |
| |--(S) : t2
| | | AdminPIR:29000 AdminCIR:10000(sum) <==== bw 1000 from igmp substracted
| | |
| | |
| | | [Within CIR Level 0 Weight 1]
| | | Assigned:10000 Offered:0
| | | Consumed:0
| | |
| | | [Above CIR Level 1 Weight 1]
| | | Assigned:29000 Offered:0 <==== bw 1000 from igmp substracted
| | | Consumed:0
| | |
| | |
| | | TotalConsumed:0
| | | OperPIR:29000 <==== bw 1000 from igmp substracted
| | |
| | | [As Parent]
| | | Rate:29000 <==== bw 1000 from igmp substracted
| | | ConsumedByChildren:0
| | |
| | |
| | |--(S) : t3
| | | | AdminPIR:70000 AdminCIR:10000
| | | |
| | | |
| | | | [Within CIR Level 0 Weight 1]
| | | | Assigned:10000 Offered:0
| | | | Consumed:0
| | | |
| | | | [Above CIR Level 1 Weight 1]
| | | | Assigned:29000 Offered:0
| | | | Consumed:0
| | | |
| | | |
| | | | TotalConsumed:0
| | | | OperPIR:29000
| | | |
| | | | [As Parent]
| | | | Rate:29000
| | | | ConsumedByChildren:0
| | | |
*A:Dut-C>config>subscr-mgmt>igmp-policy# show service active-subscribers sub-mcac
===============================================================================
Active Subscribers Sub-MCAC
===============================================================================
Subscriber : sub_1
MCAC-policy : smp (inService)
In use mandatory bandwidth : 1000
In use optional bandwidth : 0
Available mandatory bandwidth : 1147482647
Available optional bandwidth : 1000000000
-------------------------------------------------------------------------------
Subscriber : sub_2
MCAC-policy : smp (inService)
In use mandatory bandwidth : 0
In use optional bandwidth : 0
Available mandatory bandwidth : 1147483647
Available optional bandwidth : 1000000000
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
Number of Subscribers : 2
===============================================================================
*A:Dut-C#
*A:Dut-C# show service active-subscribers subscriber "sub_1" detail
===============================================================================
Active Subscribers
===============================================================================
-------------------------------------------------------------------------------
Subscriber sub_1 (1)
-------------------------------------------------------------------------------
I. Sched. Policy : N/A
E. Sched. Policy : h1 E. Agg Rate Limit: Max
I. Policer Ctrl. : N/A
E. Policer Ctrl. : N/A
Q Frame-Based Ac*: Disabled
Acct. Policy : N/A Collect Stats : Disabled
Rad. Acct. Pol. : N/A
Dupl. Acct. Pol. : N/A
ANCP Pol. : N/A
HostTrk Pol. : N/A
IGMP Policy : pol1
Sub. MCAC Policy : smp
NAT Policy : N/A
Def. Encap Offset: none Encap Offset Mode: none
Avg Frame Size : N/A
Preference : 5
Sub. ANCP-String : "sub_1"
Sub. Int Dest Id : ""
Igmp Rate Adj : N/A
RADIUS Rate-Limit: N/A
Oper-Rate-Limit : Maximum
...
===============================================================================
*A:Dut-C#
*A:Dut-C# show subscriber-mgmt igmp-policy "pol1"
===============================================================================
IGMP Policy pol1
===============================================================================
Import Policy :
Admin Version : 3
Num Subscribers : 2
Host Max Group : No Limit
Host Max Sources : No Limit
Fast Leave : yes
Redirection Policy : mc_redir1
Per Host Replication : no
Egress Rate Modify : "t2"
Mcast Reporting Destination Name :
Mcast Reporting Admin State : Disabled
===============================================================================
*A:Dut-C#
Channel Definition:
configure
mcast-management
multicast-info-policy <name>
<channel to b/w mapping definition>
configure>router>multicast-info-policy <name>
configure>service>vrpn>multicast-info-policy <name>
configure
subscriber-management
host-tracking-policy <name>
egress-rate-modify [agg-rate-limit | scheduler <sch-name>]
configure
subscriber-management
sub-profile <name>
host-tracking-policy <name> => mutually exclusive with igmp-policy
HQoS Adjust per Vport can be used in environments where vport represents a physical medium over which traffic for multiple subscribers is shared. Typical example of this scenario is shown in Figure 52. Multicast traffic within 7x50 is taking a separate path from unicast traffic, only for the two traffic flows to merge later in the PON (represented by vport in 7x50) and ONT (represented by subscriber in 7x50).
configure
port <port-id>
ethernet
access
egress
vport <name>
egress-rate-modify
agg-rate-limit <rate>
host-match <destination-string>
port-scheduler-policy <port-scheduler-policy-name>
scheduler-policy <scheduler-policy-name>
configure
port <port-id>
sonnet-sdh
path [<sonnet-sdh-index>]
access
egress
vport <name>
egress-rate-modify
agg-rate-limit <rate>
host-match <destination-string>
port-scheduler-policy <port-scheduler-policy-name>
scheduler-policy <scheduler-policy-name>
*A:system-1# show port 1/1/7 vport
========================================================================
Port 1/1/7 Access Egress vport
========================================================================
VPort Name : isam1
Description : (Not Specified)
Sched Policy : 1
Rate Limit : Max
Rate Modify : enabled
Modify delta : -14000
configure
router
policy-options
begin
policy-statement <name>
default-action accept
multicast-redirection [fwd-service <svc id>] <interface name>
exit
exit
exit
exit
configure
subscr-mgmt
igmp-policy <name>
import <policy-name>
redirection-policy <name>
configure
router
mcac
policy <mcac-pol-name>
bundle <bundle-name>
bandwidth <kbps>
channel <start-address> <end-address> bw <bw> [class {high|low}] [type {mandatory|optional}]
:
:
configure
service vprn <id>
igmp
group-interface <grp-if-name>
mcac
policy <mcac-policy-name>
configure
router
igmp
interface <name>
mcac
policy <mcac-policy-name>
configure
service vprn <id>
igmp
interface <if-name>
mcac
unconstrained-bw <bandwidth> mandatory-bw <mandatory-bw>
configure
service vprn <id>
igmp
group-interface fwd-service <svc-id> <grp-if-name>
mcac
policy <mcac-policy-name>
configure
subscr-mgmt
sub-mcac-policy <name>
unconstrained-bw <bandwidth> mandatory-bw <mandatory-bw>
configure
subscr-mgmt
sub-profile <name>
sub-mcac-policy <name>
configure
service vprn <id>
igmp
group-interface <grp-if-name>
mcac
unconstrained-bw <bandwidth> mandatory-bw <mandatory-bw>
configure
router
igmp
interface <if-name>
mcac
unconstrained-bw <bandwidth> mandatory-bw <mandatory-bw>
configure
service vprn <id>
igmp
interface <if-name>
mcac
unconstrained-bw <bandwidth> mandatory-bw <mandatory-bw>
config>router>mcac# info
----------------------------------------------
policy "test"
bundle "test" create
bandwidth 100000
channel 225.0.0.10 225.0.0.10 bw 10000 type mandatory
channel 225.0.0.11 225.0.0.15 bw 5000 type mandatory
channel 225.0.0.20 225.0.0.30 bw 5000 type optional
exit
exit
config>router>igmp# info
----------------------------------------------
interface "ge-1/1/1"
mcac
unconstrained-bw 10000 mandatory-bw 2000
exit
exit
Figure 53 depicts MCAC related inheritances and MCAC bandwidth allocation model in per-sap replication mode.The MCAC policy is applied to the group interface and inherited by each subscriber as well as each SAP under the same group interface. However, the bundle bandwidth limit in the MCAC policy is ignored on the group-interface and under the subscriber (denoted by the red X in the figure). The bundle limit is applied only to each sap under the group-interface.
Figure 54 depicts behavior in per-host replication mode. MCAC policy inheritance flow is the same as in the previous example with the difference that the bundle limit has NO effect at all. Each host generates its own copy of the same multicast stream that is flowing via subscriber queues and not the SAP queue. Since each of the copies counts towards the subscriber or group-interface bandwidth limits, the multicast bandwidth consumption is higher in this example. This needs to be reflected in the configured multicast bandwidth limits. For example, the group-interface mandatory bandwidth limit is increased to 12mbps.
the redirected interface
1 (regardless of whether the MCAC policy under the group-interface is applied or not) then:
configure
subscr-mgmt
igmp-policy <name>
import <policy-name>
configure
router
policy-options
begin
prefix-list <pref-name>
prefix <pref-definition>
policy-statement <name>
entry 1
from
group-address <pref-name>
source-address <ip>
protocol igmp
exit
action accept
exit
exit
default-action reject
•
|
Once the subscriber IGMP state is updated as a result of directly received IGMP message on an active 2 subscriber (SRRP master of active MC-LAG), the sync IGMP message is sent to the standby subscriber over the Multi-Chassis Synchronization protocol. Synchronized IGMP states will be populated in Multi-chassis Synchronization (MCS) DB in all pairing 7x50 nodes.
|