- Table of Contents
-
- 07-IP Multicast Configuration Guide
- 00-Preface
- 01-Multicast Overview
- 02-IGMP snooping configuration
- 03-PIM snooping configuration
- 04-Multicast VLAN configuration
- 05-Multicast routing and forwarding configuration
- 06-IGMP configuration
- 07-PIM configuration
- 08-MSDP configuration
- 09-Multicast VPN configuration
- 10-MLD snooping configuration
- 11-IPv6 PIM snooping configuration
- 12-IPv6 multicast VLAN configuration
- 13-IPv6 multicast routing and forwarding configuration
- 14-MLD configuration
- 15-IPv6 PIM configuration
- Related Documents
-
Title | Size | Download |
---|---|---|
05-Multicast routing and forwarding configuration | 280.09 KB |
Configuring multicast routing and forwarding
Multicast forwarding across unicast subnets
Configuring multicast routing and forwarding
Configuring static multicast routes
Specifying the longest prefix match principle
Configuring multicast load splitting
Configuring a multicast forwarding boundary
Configuring static multicast MAC address entries
Enabling multicast forwarding between sub-VLANs of a super VLAN
Displaying and maintaining multicast routing and forwarding
Multicast routing and forwarding configuration examples
Multicast forwarding over a GRE tunnel
Troubleshooting multicast routing and forwarding
Static multicast route failure
Configuring multicast routing and forwarding
Overview
The following tables are involved in multicast routing and forwarding:
· Multicast routing table of each multicast routing protocol, such as the PIM routing table.
· General multicast routing table that summarizes multicast routing information generated by different multicast routing protocols. The multicast routing information from multicast sources to multicast groups are stored in a set of (S, G) routing entries.
· Multicast forwarding table that guides multicast forwarding. The optimal routing entries in the multicast routing table are added to the multicast forwarding table.
RPF check mechanism
A multicast routing protocol relies on the existing unicast routes, MBGP routes, or static multicast routes to create multicast routing entries. When creating multicast routing entries, the multicast routing protocol uses reverse path forwarding (RPF) check to ensure the multicast data delivery along the correct path. The RPF check also helps avoid data loops.
A multicast routing protocol uses the following tables to perform an RPF check:
· Unicast routing table—Contains unicast routing information.
· MBGP multicast routing table—Contains MBGP multicast routing information.
· Static multicast routing table—Contains RPF routes that are manually configured.
MBGP multicast routing table and static multicast routing table are used for RPF check rather than multicast routing.
RPF check process
The router performs the RPF check on a multicast packet as follows:
1. The router chooses an optimal route back to the packet source separately from the unicast, MBGP, and static multicast routing tables.
The term "packet source" means different things in different situations:
¡ For a packet that travels along the SPT, the packet source is the multicast source.
¡ For a packet that travels along the RPT, the packet source is the RP.
¡ For a bootstrap message originated from the BSR, the packet source is the BSR.
For more information about the concepts of SPT, RPT, source-side RPT, RP, and BSR, see "Configuring PIM."
2. The router selects one of the three optimal routes as the RPF route as follows:
¡ If the router uses the longest prefix match principle, the route with the highest subnet mask becomes the RPF route. If the routes have the same mask, the route with the highest route preference becomes the RPF route. If the routes have the same route preference, the unicast route becomes the RPF route.
For more information about the route preference, see Layer 3—IP Routing Configuration Guide.
¡ If the router does not use the longest prefix match principle, the route with the highest route preference becomes the RPF route. If the routes have the same preference, the unicast route becomes the RPF route.
The RPF route contains the RPF interface and RPF neighbor information.
¡ If the RPF route is a unicast route or MBGP route, the outgoing interface is the RPF interface and the next hop is the RPF neighbor.
¡ If the RPF route is a static multicast route, the RPF interface and RPF neighbor are specified in the route.
3. The router checks whether the packet arrived at the RPF interface. If yes, the RPF check succeeds and the packet is forwarded. If not, the RPF check fails and the packet is discarded.
RPF check implementation in multicast
Implementing an RPF check on each received multicast packet brings a big burden to the router. The use of a multicast forwarding table is the solution to this issue. When the router creates a multicast forwarding entry for an (S, G) packet, it sets the RPF interface of the packet as the incoming interface of the (S, G) entry. After the router receives another (S, G) packet, it looks up the multicast forwarding table for a matching (S, G) entry:
· If no match is found, the router first determines the RPF route back to the packet source and the RPF interface. Then, it creates a forwarding entry with the RPF interface as the incoming interface and makes the following judgments:
¡ If the receiving interface is the RPF interface, the RPF check succeeds and the router forwards the packet out of all the outgoing interfaces.
¡ If the receiving interface is not the RPF interface, the RPF check fails and the router discards the packet.
· If a match is found and the matching forwarding entry contains the receiving interface, the router forwards the packet out of all the outgoing interfaces.
· If a match is found but the matching forwarding entry does not contain the receiving interface, the router determines the RPF route back to the packet source. Then, the router performs one of the following actions:
¡ If the RPF interface is the incoming interface, it means that the forwarding entry is correct but the packet traveled along a wrong path. The packet fails the RPF check, and the router discards the packet.
¡ If the RPF interface is not the incoming interface, it means that the forwarding entry has expired. The router replaces the incoming interface with the RPF interface and matches the receiving interface against the RPF interface. If the receiving interface is the RPF interface, the router forwards the packet out of all outgoing interfaces. Otherwise, it discards the packet.
As shown in Figure 1, assume that unicast routes are available on the network, MBGP is not configured, and no static multicast routes have been configured on Router C. Multicast packets travel along the SPT from the multicast source to the receivers. The multicast forwarding table on Router C contains the (S, G) entry, with GigabitEthernet 1/0/2 as the incoming interface.
· If a multicast packet arrives at Router C on GigabitEthernet 1/0/2, the receiving interface is the incoming interface of the (S, G) entry. Router C forwards the packet out of all outgoing interfaces.
· If a multicast packet arrives at Router C on GigabitEthernet 1/0/1, the receiving interface is not the incoming interface of the (S, G) entry. Router C searches its unicast routing table and finds that the outgoing interface to the source (the RPF interface) is GigabitEthernet 1/0/2. In this case, the (S, G) entry is correct, but the packet traveled along a wrong path. The packet fails the RPF check, and Router C discards the packet.
Static multicast routes
Depending on the application environment, a static multicast route can change an RPF route or create an RPF route.
Changing an RPF route
Typically, the topology structure of a multicast network is the same as that of a unicast network, and multicast traffic follows the same transmission path as unicast traffic does. You can configure a static multicast route for a multicast source to change the RPF route. As a result, the router creates a transmission path for multicast traffic that is different from the transmission path for unicast traffic.
Figure 2 Changing an RPF route
As shown in Figure 2, when no static multicast route is configured, Router C's RPF neighbor on the path back to the source is Router A. The multicast data from the source travels through Router A to Router C. You can configure a static multicast route on Router C and specify Router B as Router C's RPF neighbor on the path back to the source. The multicast data from the source travels along the path: Router A to Router B and then to Router C.
Creating an RPF route
When a unicast route is blocked, multicast forwarding might be stopped due to lack of an RPF route. You can configure a static multicast route to create an RPF route. In this way, a multicast routing entry is created to guide multicast forwarding.
Figure 3 Creating an RPF route
As shown in Figure 3, the RIP domain and the OSPF domain are unicast isolated from each other. The receiver hosts in the OSPF domain cannot receive the multicast packets from the multicast source in the RIP domain. You can configure a static multicast route on Router C and Router D, and specify Router B and Router C as the RPF neighbors of Router C and Router D, respectively. In this way, the receiver hosts can receive the multicast data from the multicast source.
|
NOTE: A static multicast route takes effect only on the multicast router on which it is configured, and will not be advertised throughout the network or redistributed to other routers. |
Multicast forwarding across unicast subnets
|
IMPORTANT: This feature is not available on the LSUM1TGS16SC0 interface module. |
A network might have routers that do not support multicast protocols. When multicast data is forwarded to a router of which the next hop supports only unicast protocols, the forwarding path is blocked. To implement multicast forwarding across unicast subnets, you can establish a tunnel between the multicast routers at the edges of the two unicast subnets.
Figure 4 Multicast data transmission through a tunnel
As shown in Figure 4, a tunnel is established between multicast routers Router A and Router B. Router A encapsulates multicast data in unicast IP packets, and forwards them to Router B across the tunnel through unicast routers. Then, Router B strips off the unicast IP header and continues to forward the multicast data to the receiver.
To use this tunnel only for multicast traffic, configure static multicast routes instead of static unicast routes at the two ends of the tunnel.
Configuration task list
Tasks at a glance |
(Required.) Enabling IP multicast routing |
(Optional.) Configuring multicast routing and forwarding: · (Optional.) Configuring static multicast routes · (Optional.) Specifying the longest prefix match principle · (Optional.) Configuring multicast load splitting · (Optional.) Configuring a multicast forwarding boundary · (Optional.) Configuring static multicast MAC address entries · (Optional.) Enabling multicast forwarding between sub-VLANs of a super VLAN |
|
NOTE: The device can route and forward multicast data only through the primary IP addresses of interfaces, rather than their secondary addresses or unnumbered IP addresses. For more information about primary and secondary IP addresses, and IP unnumbered, see Layer 3—IP Services Configuration Guide. |
Enabling IP multicast routing
Enable IP multicast routing before you configure any Layer 3 multicast functionality on the public network or VPN instance.
To enable IP multicast routing:
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enable IP multicast routing and enter MRIB view. |
multicast routing [ vpn-instance vpn-instance-name ] |
By default, IP multicast routing is disabled. |
Configuring multicast routing and forwarding
Before you configure multicast routing and forwarding, complete the following tasks:
· Configure a unicast routing protocol so that all devices in the domain are interoperable at the network layer.
· Enable PIM-DM or PIM-SM.
Configuring static multicast routes
To configure a static multicast route for a given multicast source, you can specify an RPF interface or an RPF neighbor for the multicast traffic from that source.
To configure a static multicast route:
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Configure a static multicast route. |
ip rpf-route-static [ vpn-instance vpn-instance-name ] source-address { mask-length | mask } { rpf-nbr-address | interface-type interface-number } [ preference preference ] |
By default, static multicast routes do not exist. |
3. (Optional.) Delete static multicast routes. |
· Delete a specific static multicast route: · Delete all static multicast routes: |
N/A |
Specifying the longest prefix match principle
You can enable the device to use the longest prefix match principle for RPF route selection. For more information about RPF route selection, see "RPF check process."
To specify the longest prefix match principle:
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enter MRIB view. |
multicast routing [ vpn-instance vpn-instance-name ] |
N/A |
3. Specify the longest prefix match principle. |
longest-match |
By default, the route preference principle is used. |
Configuring multicast load splitting
You can enable the device to split multiple data flows on a per-source basis or on a per-source-and-group basis. This optimizes the traffic delivery.
To configure multicast load splitting:
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enter MRIB view. |
multicast routing [ vpn-instance vpn-instance-name ] |
N/A |
3. Configure multicast load splitting. |
load-splitting { source | source-group } |
By default, load splitting is disabled. This command does not take effect on BIDIR-PIM. |
Configuring a multicast forwarding boundary
You can configure an interface as a multicast forwarding boundary for a multicast group range. The interface cannot receive or forward multicast packets for the group range.
To configure a multicast forwarding boundary:
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enter interface view. |
interface interface-type interface-number |
N/A |
3. Configure the interface as a multicast forwarding boundary for a multicast group range. |
multicast boundary group-address { mask-length | mask } |
By default, the interface is not configured as a multicast forwarding boundary. |
Configuring static multicast MAC address entries
In Layer 2 multicast, multicast MAC address entries can be dynamically created or added through Layer 2 multicast protocols (such as IGMP snooping). You can also manually configure static multicast MAC address entries by binding multicast MAC addresses and ports to control the destination ports of the multicast data.
|
TIP: The multicast MAC address that can be manually configured in the multicast MAC address entry must be unused. (A multicast MAC address is the MAC address in which the least significant bit of the most significant octet is 1.) |
You can configure static multicast MAC address entries on the specified interfaces in system view or on the current interface in interface view.
Configuring a static multicast MAC address entry in system view
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Configure a static multicast MAC address entry. |
mac-address multicast mac-address interface interface-list vlan vlan-id |
By default, static multicast MAC address entries do not exist. |
Configuring a static multicast MAC address entry in interface view
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enter Layer 2 Ethernet interface/Layer 2 aggregate interface view. |
interface interface-type interface-number |
N/A |
3. Configure a static multicast MAC address entry. |
mac-address multicast mac-address vlan vlan-id |
By default, static multicast MAC address entries do not exist. |
Enabling multicast forwarding between sub-VLANs of a super VLAN
A super VLAN is associated with multiple sub-VLANs. Sub-VLANs are isolated with each other at Layer 2. For information about the super VLAN and sub-VLANs, see Layer 2—LAN Switching Configuration Guide.
To enable multicast forwarding between sub-VLANs that are associated with a super VLAN:
Step |
Command |
Remarks |
1. Enter system view. |
system-view |
N/A |
2. Enter VLAN interface view. |
interface vlan-interface interface-number |
N/A |
3. Enable multicast forwarding between sub-VLANs that are associated with a super VLAN. |
multicast forwarding supervlan community |
By default, multicast data cannot be forwarded among sub-VLANs of a super VLAN. |
4. Clear all multicast forwarding entries with the super VLAN interface as the incoming interface. |
reset multicast [ vpn-instance vpn-instance-name ] forwarding-table { { source-address [ mask { mask-length | mask } ] | group-address [ mask { mask-length | mask } ] | incoming-interface { interface-type interface-number } } * | all } |
N/A |
Displaying and maintaining multicast routing and forwarding
|
CAUTION: The reset commands might cause multicast data transmission failures. |
Execute display commands in any view and reset commands in user view.
Task |
Command |
Display static multicast MAC address entries. |
display mac-address [ mac-address [ vlan vlan-id ] | [ multicast ] [ vlan vlan-id ] [ count ] ] |
Display information about interfaces maintained by the MRIB. |
display mrib [ vpn-instance vpn-instance-name ] interface [ interface-type interface-number ] |
Display multicast boundary information. |
display multicast [ vpn-instance vpn-instance-name ] boundary [ group-address [ mask-length | mask ] ] [ interface interface-type interface-number ] |
Display DF information (in standalone mode). |
display multicast [ vpn-instance vpn-instance-name ] forwarding df-info [ rp-address ] [ verbose ] [ slot slot-number ] |
Display DF information (in IRF mode). |
display multicast [ vpn-instance vpn-instance-name ] forwarding df-info [ rp-address ] [ verbose ] [ chassis chassis-number slot slot-number ] |
Display statistics for multicast forwarding events (in standalone mode). |
display multicast [ vpn-instance vpn-instance-name ] forwarding event [ slot slot-number ] |
Display statistics for multicast forwarding events (in IRF mode). |
display multicast [ vpn-instance vpn-instance-name ] forwarding event [ chassis chassis-number slot slot-number ] |
Display multicast forwarding entries (in standalone mode). |
display multicast [ vpn-instance vpn-instance-name ] forwarding-table [ source-address [ mask { mask-length | mask } ] | group-address [ mask { mask-length | mask } ] | incoming-interface interface-type interface-number | outgoing-interface { exclude | include | match } interface-type interface-number | slot slot-number | statistics ] * |
Display multicast forwarding entries (in IRF mode). |
display multicast [ vpn-instance vpn-instance-name ] forwarding-table [ source-address [ mask { mask-length | mask } ] | group-address [ mask { mask-length | mask } ] | chassis chassis-number slot slot-number | incoming-interface interface-type interface-number | outgoing-interface { exclude | include | match } interface-type interface-number | statistics ] * |
Display information about the DF list in the multicast forwarding table (in standalone mode). |
display multicast [ vpn-instance vpn-instance-name ] forwarding-table df-list [ group-address ] [ verbose ] [ slot slot-number ] |
Display information about the DF list in the multicast forwarding table (in IRF mode). |
display multicast [ vpn-instance vpn-instance-name ] forwarding-table df-list [ group-address ] [ verbose ] [ chassis chassis-number slot slot-number ] |
Display multicast routing entries. |
display multicast [ vpn-instance vpn-instance-name ] routing-table [ source-address [ mask { mask-length | mask } ] | group-address [ mask { mask-length | mask } ] | incoming-interface interface-type interface-number | outgoing-interface { exclude | include | match } interface-type interface-number ] * |
Display static multicast routing entries. |
display multicast [ vpn-instance vpn-instance-name ] routing-table static [ source-address { mask-length | mask } ] |
Display RPF information for a multicast source. |
display multicast [ vpn-instance vpn-instance-name ] rpf-info source-address [ group-address ] |
Clear statistics for multicast forwarding events. |
reset multicast [ vpn-instance vpn-instance-name ] forwarding event |
Clear multicast forwarding entries. |
reset multicast [ vpn-instance vpn-instance-name ] forwarding-table { { source-address [ mask { mask-length | mask } ] | group-address [ mask { mask-length | mask } ] | incoming-interface { interface-type interface-number } } * | all } |
Clear multicast routing entries. |
reset multicast [ vpn-instance vpn-instance-name ] routing-table { { source-address [ mask { mask-length | mask } ] | group-address [ mask { mask-length | mask } ] | incoming-interface interface-type interface-number } * | all } |
|
NOTE: · When a routing entry is cleared, the associated forwarding entry is also cleared. · When a forwarding entry is cleared, the associated routing entry is also cleared. |
Multicast routing and forwarding configuration examples
Changing an RPF route
Network requirements
As shown in Figure 5:
· PIM-DM runs on the network.
· All switches on the network support multicast.
· Switch A, Switch B and Switch C run OSPF.
· Typically, the receiver host can receive the multicast data from Source through the path: Switch A to Switch B, which is the same as the unicast route.
Configure the switches so that the multicast data from Source travels to the receiver through the path: Switch A to Switch C to Switch B. This is different from the unicast route.
Configuration procedure
1. Assign an IP address and subnet mask for each interface according to Figure 5. (Details not shown.)
2. Configure OSPF on the switches in the PIM-DM domain. (Details not shown.)
3. Enable IP multicast routing, and enable IGMP and PIM-DM:
# On Switch B, enable IP multicast routing.
<SwitchB> system-view
[SwitchB] multicast routing
[SwitchB-mrib] quit
# Enable IGMP on the receiver-side interface (VLAN-interface 100).
[SwitchB] interface vlan-interface 100
[SwitchB-Vlan-interface100] igmp enable
[SwitchB-Vlan-interface100] quit
# Enable PIM-DM on other interfaces.
[SwitchB] interface vlan-interface 101
[SwitchB-Vlan-interface101] pim dm
[SwitchB-Vlan-interface101] quit
[SwitchB] interface vlan-interface 102
[SwitchB-Vlan-interface102] pim dm
[SwitchB-Vlan-interface102] quit
# On Switch A, enable IP multicast routing, and enable PIM-DM on each interface.
<SwitchA> system-view
[SwitchA] multicast routing
[SwitchA-mrib] quit
[SwitchA] interface vlan-interface 200
[SwitchA-Vlan-interface200] pim dm
[SwitchA-Vlan-interface200] quit
[SwitchA] interface vlan-interface 102
[SwitchA-Vlan-interface102] pim dm
[SwitchA-Vlan-interface102] quit
[SwitchA] interface vlan-interface 103
[SwitchA-Vlan-interface103] pim dm
[SwitchA-Vlan-interface103] quit
# Enable IP multicast routing and PIM-DM on Switch C in the same way Switch A is configured. (Details not shown.)
4. Display the RPF route to Source on Switch B.
[SwitchB] display multicast rpf-info 50.1.1.100
RPF information about source 50.1.1.100:
RPF interface: Vlan-interface102, RPF neighbor: 30.1.1.2
Referenced route/mask: 50.1.1.0/24
Referenced route type: igp
Route selection rule: preference-preferred
Load splitting rule: disable
The output shows that the current RPF route on Switch B is contributed by a unicast routing protocol and the RPF neighbor is Switch A.
5. On Switch B, configure a static multicast route to multicast source 50.1.1.100 and specify VLAN-interface 101 on Switch C as the RPF neighbor.
[SwitchB] ip rpf-route-static 50.1.1.100 24 20.1.1.2
Verifying the configuration
# Display RPF information for the source on Switch B.
[SwitchB] display multicast rpf-info 50.1.1.100
RPF information about source 50.1.1.100:
RPF interface: Vlan-interface101, RPF neighbor: 20.1.1.2
Referenced route/mask: 50.1.1.0/24
Referenced route type: multicast static
Route selection rule: preference-preferred
Load splitting rule: disable
The output shows that:
· The RPF route on Switch B is the configured static multicast route.
· The RPF neighbor of Switch B is Switch C.
Creating an RPF route
Network requirements
As shown in Figure 6:
· PIM-DM runs on the network.
· All switches on the network support IP multicast.
· Switch B and Switch C run OSPF, and have no unicast routes to Switch A.
· Typically, the receiver host receives the multicast data from Source 1 in the OSPF domain.
Configure the switches so that the receiver host receives multicast data from Source 2, which is outside the OSPF domain.
Configuration procedure
1. Assign an IP address and subnet mask for each interface according to Figure 6. (Details not shown.)
2. Configure OSPF on Switch B and Switch C. (Details not shown.)
3. Enable IP multicast routing, and enable IGMP and PIM-DM:
# On Switch C, enable IP multicast routing.
<SwitchC> system-view
[SwitchC] multicast routing
[SwitchC-mrib] quit
# Enable IGMP on the receiver-side interface (VLAN-interface 100).
[SwitchC] interface vlan-interface 100
[SwitchC-Vlan-interface100] igmp enable
[SwitchC-Vlan-interface100] quit
# Enable PIM-DM on VLAN-interface 101.
[SwitchC] interface vlan-interface 101
[SwitchC-Vlan-interface101] pim dm
[SwitchC-Vlan-interface101] quit
# On Switch A, enable IP multicast routing, and enable PIM-DM on each interface.
<SwitchA> system-view
[SwitchA] multicast routing
[SwitchA-mrib] quit
[SwitchA] interface vlan-interface 300
[SwitchA-Vlan-interface300] pim dm
[SwitchA-Vlan-interface300] quit
[SwitchA] interface vlan-interface 102
[SwitchA-Vlan-interface102] pim dm
[SwitchA-Vlan-interface102] quit
# Enable IP multicast routing and PIM-DM on Switch B in the same way Switch A is configured. (Details not shown.)
4. Display information about their RPF routes to Source 2 on Switch B and Switch C.
[SwitchB] display multicast rpf-info 50.1.1.100
[SwitchC] display multicast rpf-info 50.1.1.100
No output is displayed because no RPF routes to Source 2 exist on Switch B or Switch C.
5. Configure a static multicast route:
# On Switch B, configure a static multicast route to Source 2 and specify VLAN-interface 102 on Switch A as the RPF neighbor.
[SwitchB] ip rpf-route-static 50.1.1.100 24 30.1.1.2
# On Switch B, configure a static multicast route to Source 2 and specify VLAN-interface 101 on Switch B as the RPF neighbor.
[SwitchC] ip rpf-route-static 50.1.1.100 24 20.1.1.2
Verifying the configuration
# Display RPF information for Source 2 on Switch B.
[SwitchB] display multicast rpf-info 50.1.1.100
RPF information about source 50.1.1.100:
RPF interface: Vlan-interface102, RPF neighbor: 30.1.1.2
Referenced route/mask: 50.1.1.0/24
Referenced route type: multicast static
Route selection rule: preference-preferred
Load splitting rule: disable
# Display RPF information for Source 2 on Switch C.
[SwitchC] display multicast rpf-info 50.1.1.100
RPF information about source 50.1.1.100:
RPF interface: Vlan-interface101, RPF neighbor: 20.1.1.2
Referenced route/mask: 50.1.1.0/24
Referenced route type: multicast static
Route selection rule: preference-preferred
Load splitting rule: disable
The output shows that the RPF routes to Source 2 exist on Switch B and Switch C. The routes are the configured static routes.
Multicast forwarding over a GRE tunnel
Network requirements
As shown in Figure 7:
· Multicast routing and PIM-DM are enabled on Switch A and Switch C.
· Switch B does not support multicast.
· Switch A, Switch B, and Switch C run OSPF.
Configure the switches so that the receiver host can receive the multicast data from the source.
Configuration procedure
1. Assign an IP address and subnet mask for each interface, as shown in Figure 7. (Details not shown.)
2. Configure OSPF on all the switches. (Details not shown.)
3. Configure a GRE tunnel:
# On Switch A, create service loopback group 1, and specify the unicast tunnel service for the group.
<SwitchA> system-view
[SwitchA] service-loopback group 1 type tunnel
# Add GigabitEthernet 1/0/3 to service loopback group 1. (GigabitEthernet 1/0/3 does not belong to VLAN 100 or VLAN 101.)
[SwitchA] interface gigabitethernet 1/0/3
[SwitchA-GigabitEthernet1/0/3] port service-loopback group 1
[SwitchA-GigabitEthernet1/0/3] quit
# Create a GRE tunnel interface Tunnel 1, and specify the tunnel mode as GRE/IPv4.
[SwitchA] interface tunnel 1 mode gre
# Assign an IP address to interface Tunnel 1, and specify its source and destination addresses.
[SwitchA-Tunnel1] ip address 50.1.1.1 24
[SwitchA-Tunnel1] source 20.1.1.1
[SwitchA-Tunnel1] destination 30.1.1.2
[SwitchA-Tunnel1] quit
# On Switch C, create service loopback group 1, and specify the unicast tunnel service for the group.
<SwitchC> system-view
[SwitchC] service-loopback group 1 type tunnel
# Add GigabitEthernet 1/0/3 to service loopback group 1. GigabitEthernet 1/0/3 does not belong to VLAN 200 or VLAN 102.
[SwitchC] interface gigabitethernet 1/0/3
[SwitchC-GigabitEthernet1/0/3] port service-loopback group 1
[SwitchC-GigabitEthernet1/0/3] quit
# Create a GRE tunnel interface Tunnel 1, and specify the tunnel mode as GRE/IPv4.
[SwitchC] interface tunnel 1 mode gre
# Assign an IP address for interface Tunnel 1, and specify its source and destination addresses.
[SwitchC-Tunnel1] ip address 50.1.1.2 24
[SwitchC-Tunnel1] source 30.1.1.2
[SwitchC-Tunnel1] destination 20.1.1.1
[SwitchC-Tunnel1] quit
4. Enable IP multicast routing, PIM-DM, and IGMP:
# On Switch A, enable IP multicast routing.
[SwitchA] multicast routing
[SwitchA-mrib] quit
# Enable PIM-DM on each interface.
[SwitchA] interface vlan-interface 100
[SwitchA-Vlan-interface100] pim dm
[SwitchA-Vlan-interface100] quit
[SwitchA] interface vlan-interface 101
[SwitchA-Vlan-interface101] pim dm
[SwitchA-Vlan-interface101] quit
[SwitchA] interface tunnel 1
[SwitchA-Tunnel1] pim dm
[SwitchA-Tunnel1] quit
# On Switch C, enable IP multicast routing.
[SwitchC] multicast routing
[SwitchC-mrib] quit
# Enable IGMP on the receiver-side interface (VLAN-interface 200).
[SwitchC] interface vlan-interface 200
[SwitchC-Vlan-interface200] igmp enable
[SwitchC-Vlan-interface200] quit
# Enable PIM-DM on VLAN-interface 102.
[SwitchC] interface vlan-interface 102
[SwitchC-Vlan-interface102] pim dm
[SwitchC-Vlan-interface102] quit
# Enable PIM-DM on Tunnel 1.
[SwitchC] interface tunnel 1
[SwitchC-Tunnel1] pim dm
[SwitchC-Tunnel1] quit
5. On Switch C, configure a static multicast route to the source and specify Switch A as the RPF neighbor.
[SwitchC] ip rpf-route-static 50.1.1.0 24 50.1.1.1
Verifying the configuration
# Send an IGMP report from Receiver to join multicast group 225.1.1.1. (Details not shown.)
# Send multicast data from Source to multicast group 225.1.1.1. (Details not shown.)
# Display PIM routing entries on Switch C.
[SwitchC] display pim routing-table
Total 1 (*, G) entry; 1 (S, G) entry
(*, 225.1.1.1)
Protocol: pim-dm, Flag: WC
UpTime: 00:04:25
Upstream interface: NULL
Upstream neighbor: NULL
RPF prime neighbor: NULL
Downstream interface(s) information:
Total number of downstreams: 1
1: Vlan-interface200
Protocol: igmp, UpTime: 00:04:25, Expires: -
(10.1.1.100, 225.1.1.1)
Protocol: pim-dm, Flag: ACT
UpTime: 00:06:14
Upstream interface: Tunnel1
Upstream neighbor: 50.1.1.1
RPF prime neighbor: 50.1.1.1
Downstream interface(s) information:
Total number of downstreams: 1
1: Vlan-interface200
Protocol: pim-dm, UpTime: 00:04:25, Expires: -
The output shows that Switch A is the RPF neighbor of Switch C and the multicast data from Switch A is delivered over the GRE tunnel to Switch C.
Troubleshooting multicast routing and forwarding
Static multicast route failure
Symptom
No dynamic routing protocol is enabled on the routers, and the physical status and link layer status of interfaces are both up, but the static multicast route fails.
Solution
To resolve the problem:
1. Use the display multicast routing-table static command to display information about static multicast routes. Verify that the static multicast route has been correctly configured and that the route entry exists in the static multicast routing table.
2. Check the type of the interface that connects the static multicast route to the RPF neighbor. If the interface is not a point-to-point interface, make sure that you specify the address of the RPF neighbor.
3. If the problem persists, contact H3C Support.