You want to configure the router to support multicast within your AS.
Turn on PIM-SM on the routers interfaces:
[edit protocols pim] aviva@RouterA# set interface all
Disable PIM on the routers out-of-band management interface. On J-series routers, disable PIM on the fe-0/0/0 interface:
[edit protocols pim] aviva@RouterA# set interface fe-0/0/0.0 disable
On M-series and T-series routers, disable it on fxp0:
[edit protocols pim] aviva@R1# set interface fxp0.0 disable
When you turn on PIM-SM, the JUNOS software automatically enables IGMP Version 2 on all LAN interfaces.
Setting up PIM-SM on the router is very straightforward. In the PIM protocol configuration, specify the interfaces on which you want PIM to run. If you want the router to be a DR or RP, it must have a services PIC of some kind ( Tunnel Services, Link Services, or AS PIC) to encapsulate and de-encapsulate PIM messages. The J-series and M7i routers, which are the routers used to create the recipes in this book, are the two exceptions. J-series routers can perform the encapsulation and de-encapsulation without a tunnel or services PIC, and the M7i routers have built-in AS PICs. Check for the PICs by looking at the routers hardware inventory:
aviva@R1> show chassis hardware Hardware inventory: Item Version Part number Serial number Description Chassis 29623 M7i Midplane REV 03 710-008761 CA6265 M7i Midplane Power Supply 0 Rev 04 740-008537 PG10733 AC Power Supply Routing Engine REV 05 740-009459 1000431687 RE-5.0 CFEB REV 05 750-010464 CF0420 Internet Processor II FPC 0 E-FPC PIC 0 REV 06 750-002971 CB0117 4x OC-3 SONET, MM PIC 3 REV 08 750-003845 HN4260 1x 800M Crypto FPC 1 E-FPC PIC 2 REV 07 750-009487 CF1068 ASP - Integrated PIC 3 REV 03 750-009099 CA6344 1x G/E, 1000 BASE SFP 0 REV 01 740-011782 P7J0Q0V SFP-SX
This router has a built-in (integrated) AS PIC on FPC1 (also called AS Module [ ASM]). The other M-series routers and T-series routers must have a services PIC installed on one of the FPCs. The following variant of the show chassis hardware command locates tunnel PICs in the router:
aviva@R3> show chassis hardware | match tunnel PIC 0 REV 01 750-004695 HD5980 1x Tunnel
The JUNOS software uses the services PIC to encapsulate and de-encapsulate PIM register messages, which the sources DR sends to the RP. Encapsulation and de-encapsulation requires a fair bit of router resources, so having a separate PIC that performs these functions is a good security feature. If a misconfigured or malicious DR starts sending a high rate of PIM register messages to the router, it is unlikely to bring the entire routers operations to a grinding halt. All PIM recipes in this chapter use the topology shown in Figure 16-1.
This recipe configures PIM to run on all the routers interfaces. To specify the PIM interfaces individually, list them in the configuration:
[edit protocols pim] aviva@RouterA# set interface fe-0/0/1 aviva@RouterA# set interface se-0/0/3 aviva@RouterA# set interface fe-0/0/1
The default PIM mode is sparse, and the default version is Version 2. For a cleaner configuration, you should disable PIM on the routers out-of-band management interface, fxp0 on M-series and T-series routers and fe-0/0/0 on J-series routers.
PIM routers should also be running IGMP. Enabling JUNOS PIM automatically enables IGMP on the router, on all broadcast interfaces running PIM. This recipe turns on PIM on all interfaces, so IGMP is also running on them. IGMP allows the routers interfaces to handle group membership reports, so even if the interface is connected to a LAN on which none of the hosts or routers are running PIM, IGMP must be enabled on the interface so the hosts can join multicast groups.
To verify the configuration on the router, first make sure PIM is running on the expected interfaces:
aviva@RouterA> show pim interfaces Instance: PIM.master Name Stat Mode IP V State Count DR address fe-0/0/1.0 Up Sparse 4 2 DR 0 10.0.15.2 lo0.0 Up Sparse 4 2 DR 0 192.168.13.1 se-0/0/2.0 Up Sparse 4 2 P2P 0 se-0/0/3.0 Up Sparse 4 2 P2P 0
This output shows that PIM is running on the three network interfaces, fe-0/0/1, se-0/0/2, and se-0/0/3, and on the routers loopback interface. The Mode column verifies that PIM is in sparse mode, and the V column shows PIM Version 2. At this point, the router has no PIM neighbors, so the Count column shows 0 for all interfaces. The PIM.master in the first line indicates that you are looking at the main routing instance of PIM, because you are running only a single instance of PIM.
Next, check IGMP:
aviva@RouterA> show igmp interface Interface: fe-0/0/1.0 Querier: 10.0.15.2 State: Up Timeout: None Version: 2 Groups: 0 Interface: se-0/0/3.0 Querier: 10.0.16.1 State: Up Timeout: None Version: 2 Groups: 0 Interface: se-0/0/2.0 Querier: 10.0.21.1 State: Up Timeout: None Version: 2 Groups: 0 Configured Parameters: IGMP Query Interval: 125.0 IGMP Query Response Interval: 10.0 IGMP Last Member Query Interval: 1.0 IGMP Robustness Count: 2 Derived Parameters: IGMP Membership Timeout: 260.0 IGMP Other Querier Present Timeout: 255.0
You see that without even configuring IGMP, it is running on the same three network interfaces as PIM-SM. For each interface, the State shows that IGMP is Up and operational and that the IGMP is Version 2. Because this recipe has not modified any of the default IGMP settings, the Configured Parameters section of the output shows the default JUNOS values of IGMP group membership parameters, which match the defaults specified in RFC 2236.
After configuring PIM on the other routers in the network, check again to see whether the router has located any PIM neighbors. You can check for PIM neighbors directly:
aviva@RouterA> show pim neighbors Instance: PIM.master Interface IP V Mode Option Uptime Neighbor addr fe-0/0/1.0 4 2 HPLG 5d 18:12:41 10.0.15.1 se-0/0/2.0 4 2 HPLG 5d 18:12:41 10.0.21.2 se-0/0/3.0 4 2 HPLG 4d 23:56:38 10.0.16.2
The three PIM-enabled interfaces each connect to one PIM neighbor. fe-0/0/1 connects to RouterE, se-0/0/2 to RouterB, and se-0/0/3 to RouterG.
Once you have configured PIM neighbors, the routers join IGMP groups:
aviva@RouterA> show igmp interface Interface: fe-0/0/1.0 Querier: 10.0.15.1 State: Up Timeout: 180 Version: 2 Groups: 4 Interface: se-0/0/3.0 Querier: 10.0.16.1 State: Up Timeout: None Version: 2 Groups: 4 Interface: se-0/0/2.0 Querier: 10.0.21.1 State: Up Timeout: None Version: 2 Groups: 4 Configured Parameters: IGMP Query Interval: 125.0 IGMP Query Response Interval: 10.0 IGMP Last Member Query Interval: 1.0 IGMP Robustness Count: 2 Derived Parameters: IGMP Membership Timeout: 260.0 IGMP Other Querier Present Timeout: 255.0
The output shows that each interface is in four IGMP groups. Use the show igmp group command to find out which groups the interfaces have joined:
aviva@RouterA> show igmp group Interface: fe-0/0/1.0 Group: 22.214.171.124 Source: 0.0.0.0 Last reported by: 10.0.15.1 Timeout: 64 Type: Dynamic Group: 126.96.36.199 Source: 0.0.0.0 Last reported by: 10.0.15.1 Timeout: 64 Type: Dynamic Group: 188.8.131.52 Source: 0.0.0.0 Last reported by: 10.0.15.1 Timeout: 63 Type: Dynamic Group: 184.108.40.206 Source: 0.0.0.0 Last reported by: 10.0.15.1 Timeout: 61 Type: Dynamic …
This abridged output shows the IGMP groups for fe-0/0/1. The address 220.127.116.11 is the group for all routers on the local subnet, 18.104.22.168 and 22.214.171.124 are the groups for OSPF (OSPF is the IGP configured on these routers), and 126.96.36.199 is the IGMP group. (For a list of IP multicast groups, see http://www.iana.org/assignments/multicast-addresses.)
Router Configuration and File Management
Basic Router Security and Access Control
Routing Policy and Firewall Filters