You are on page 1of 47

IMPLEMENTATION GUIDE

ENTERPRISE MULTICAST IMPLEMENTATION GUIDE FOR LAYER 2 NETWORKS USING THE EX SERIES ETHERNET SWITCHES AND MX SERIES 3D UNIVERSAL EDGE ROUTERS

Although Juniper Networks has attempted to provide accurate information in this guide, Juniper Networks does not warrant or guarantee the accuracy of the information provided herein. Third party product descriptions and related technical details provided in this document are for information purposes only and such products are not supported by Juniper Networks. All information provided in this guide is provided as is, with all faults, and without warranty of any kind, either expressed or implied or statutory. Juniper Networks and its suppliers hereby disclaim all warranties related to this guide and the information contained herein, whether expressed or implied of statutory including, without limitation, those of merchantability, fitness for a particular purpose and noninfringement, or arising from a course of dealing, usage, or trade practice.

Copyright 2009, Juniper Networks, Inc.

IMPLEMENTATION GUIDE - Enterprise Multicast Implementation Guide for Layer 2 Networks Using the EX Series Ethernet Switches and MX Series 3D Universal Edge Routers

Table of Contents
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Target Audience . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Overview of IGMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 IGMP Version 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 IGMP Version 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 IGMP Version 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Design Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7 Selecting the IGMP Version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7 Reducing Multicast Flooding With IGMP Snooping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7 Reducing IGMP Membership Packets with IGMP Proxy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7 Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Implementation Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 IGMP Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 IGMP Snooping Configuration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10 Implementation Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Hardware Used For the Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14 Software Used For the Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14 Detailed Configurations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 MX-B Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 Verification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 IGMP Snooping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 Show IGMP Snooping Membership . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 Show IGMP Snooping Route Ethernet-Switching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 Show IGMP Snooping Statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 Show IGMP Snooping VLANs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 IGMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 Show IGMP Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 Show IGMP Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 Show IGMP Statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 Clearing Statistics and Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 Restarting Processes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 Trace Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 Appendix: Conventions/Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 About Juniper Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

Copyright 2009, Juniper Networks, Inc.

IMPLEMENTATION GUIDE - Enterprise Multicast Implementation Guide for Layer 2 Networks Using the EX Series Ethernet Switches and MX Series 3D Universal Edge Routers

Table of Figures
Figure 1: IGMPv1 packet format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Figure 2: IGMPv2 join, query, and leave processes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Figure 3: IGMPv2 packet format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Figure 4: IGMPv3 query message packet format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Figure 5: IGMPv3 membership report packet format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Figure 6: IGMPv3 group record format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7 Figure 7: Network topology diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

Copyright 2009, Juniper Networks, Inc.

IMPLEMENTATION GUIDE - Enterprise Multicast Implementation Guide for Layer 2 Networks Using the EX Series Ethernet Switches and MX Series 3D Universal Edge Routers

Introduction
Enterprise customers are increasingly deploying multicast forwarding in their networks to deliver applications such as video conferencing, distance learning, and distribution of software, stock quotes, and news. They use Protocol Independent Multicast (PIM) for multicast signaling and the Internet Group Management Protocol (IGMP) to manage host multicast group membership. The objective of this document is to provide a Layer 2 multicast implementation guide for enterprise networks using the Juniper Networks EX Series Ethernet Switches and Juniper Networks MX Series 3D Universal Edge Routers. This document is targeted for deployments where the EX Series Ethernet Switches are used in the access layer, while core and aggregation are collapsed into one layer using the MX Series 3D Universal Edge Routers. It first provides an overview of IGMP and general design considerations and deployment options. It then provides implementation guidelines with configuration procedures. Finally, an implementation example is included along with the network topology, detailed configurations, as well as verification and troubleshooting procedures.

Scope
This guide describes a Layer 2 implementation for enterprise environments using the EX Series and MX Series. Its main focus is IGMP and IGMP snooping. In this implementation, the Juniper Networks EX4200 Ethernet Switch and Juniper Networks EX3200 Ethernet Switch are used as Layer 2 access devices with IGMP snooping enabled, while the MX Series sits at the Layer 2/Layer 3 boundary of the network and use IGMP and PIM. Rapid Spanning Tree Protocol (RSTP) is enabled for loop prevention but is not the main focus of this document. It is described in more details in Enterprise Layer 2 Network Designs, Implementing a Layer 2 Design with RSTP implementation guide. PIM is also used but is described in more detail in Enterprise Layer 3 Multicast Implementation Guide using the EX Series and MX Series. This document does not discuss Distance Vector Multicast Routing Protocol (DVMRP), Multicast Source Discovery Protocol (MSDP), Session Announcement Protocol (SAP), or multicast VPN. It also does not cover IPv6.

Target Audience
This document is intended for network design and operation engineers or other technical audiences seeking multicast implementation guidelines for Layer 2 enterprise deployments using the EX Series and MX Series.

Overview of IGMP
The IGMP manages group membership between hosts and routers. For each attached network, a multicast router can be either a querier or a nonquerier. The following types of messages are exchanged between IGMP hosts and routers: Query messages are sent periodically by querier routers to solicit group membership information. Report messages are sent by hosts on the network that are members of a multicast group. Leave-group messages are sent by hosts when they leave a group (if running IGMP version 2).

IGMP Version 1
IGMP version 1 is defined by RFC 1112. IGMPv1 routers periodically transmit host membership query messages to the all hosts address (224.0.0.1) to determine which groups have listeners on directly attached networks. When a host receives a query message (that has IP TTL set to 1), it responds with a membership report for each group to which it belongs. The packet format for IGMPv1 is shown below:
00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

Version

Type

Unused Group Address

IGMP Checksum

Figure 1: IGMPv1 packet format


In a query message, the group address field is zeroed when sent and ignored when received. In a report message, the group address field holds the IP host group address of the group being reported.

Copyright 2009, Juniper Networks, Inc.

IMPLEMENTATION GUIDE - Enterprise Multicast Implementation Guide for Layer 2 Networks Using the EX Series Ethernet Switches and MX Series 3D Universal Edge Routers

IGMP Version 2
IGMP version 2 is defined by RFC 2236. IGMPv2 enhances IGMPv1 by: Adding group specific query messages Allowing the querier router to specify a maximum query/response time to control burstiness and fine tune leave latencies Adding query election process where the router with the lowest IP address on the subnet is elected the querier Adding explicit leave-group messages that significantly improve the leave latency The following figure shows examples of IGMPv2 join (A), query-response (B) and leave-group (C) mechanisms:

A) IGMPv2 join process


Host 1 Querier

Unsolicited Membership Report Group = 225.0.0.3

B) IGMPv2 query-response process


Host 1 General Query Destination = 224.0.0.1 Membership Report Group = 225.0.0.3 Querier

C) IGMPv2 leave-group process


Host 1 Leave-group Message Group = 225.0.0.3 Group Specic Query Group = 225.0.0.3 Querier

Figure 2: IGMPv2 join, query, and leave processes


The packet format for IGMP v2 is shown below:
00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

Type

Type Group Address

IGMP Checksum

Figure 3: IGMPv2 packet format


The max response time field is used only in membership query messages. It specifies the maximum allowed time before sending a responding report in units of 1/10 second. In all other messages, it is set to zero by the sender and ignored by receivers.

Copyright 2009, Juniper Networks, Inc.

IMPLEMENTATION GUIDE - Enterprise Multicast Implementation Guide for Layer 2 Networks Using the EX Series Ethernet Switches and MX Series 3D Universal Edge Routers

IGMP Version 3
IGMP version 3 is defined by RFC 3376. IGMPv3 supports source-specific multicast (SSM), which allows a host to issue a join to a specific source (S,G) as opposed to all sources (*,G). The query message packet format for IGMPv3 is shown below. The first entries for type, max response code (same as IGMPv2 maximum response time), checksum, and group address match IGMPv2 for backwards compatibility. Source address information is also added to support SSM. The query packet may be sent to the all hosts 224.0.0.1 multicast group address for general queries or may be sent to a specific multicast group address when querying for members of that group.
00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

Type

Max Response Time Group Address

IGMP Checksum

Resv

QRV

QQIC Source Address [1] . . Source Address [N]

Number of Sources (N)

Figure 4: IGMPv3 query message packet format


The membership report message packet format for IGMPv3 is shown below. The packet consists of one or more group records, each record detailing specific IGMPv3 state information. It is sent to the 224.0.0.22 group address (all IGMPv3 routers).
00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

Type

Max Response Time Group Address Reserved . Group Record [1] . . . . . . . . Group Record [M] .

IGMP Checksum

Number of Sources (N)

Figure 5: IGMPv3 membership report packet format

Copyright 2009, Juniper Networks, Inc.

IMPLEMENTATION GUIDE - Enterprise Multicast Implementation Guide for Layer 2 Networks Using the EX Series Ethernet Switches and MX Series 3D Universal Edge Routers

Each group record has the following internal format:


00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

Record Type

Aux Data Len Multicast Address Source Address [1] . . Source Address [N] . Auxiliary Data .

Number of Sources (N)

Figure 6: IGMPv3 group record format

Design Considerations
Selecting the IGMP Version
The table below provides a comparison of IGMP versions supported by Juniper Networks Junos operating system:

Table 1: IGMP Versions Comparison


VERSION RFC PROS CONS

Version 1

1112

Periodic host membership query messages sent by all routers to all-hosts group address (224.0.0.1).

High latency. Since there is no leave-group mechanism, multicast traffic can continue to be forwarded for several minutes after the last host leaves the group. Improved latency compared to version 1.

Version 2

2236

Adds querier election process: the lowest IP address on the LAN is selected. Defines group-specific query and explicit leavegroup messages.

Version 3

3376

Enhances version 2 support of leave-group messages by introducing group-and-source specific report messages. Accommodates SSM.

Improved latency compared to version 1. Efficiency gain compared to version 2. Can also support a sparse-mode topology without a rendezvous point (RP). Hosts need to have a priori knowledge of the specific sources active for a given group.

Note: Junos OS defaults to IGMPv2.

Reducing Multicast Flooding With IGMP Snooping


To avoid flooding of all multicast traffic on a virtual LAN (VLAN), IGMP snooping should be enabled on access switches so they intercept IGMP packets. The switch then uses the content of the packets to build a multicast cache table that is a database of multicast groups and their corresponding member ports. This table is used to regulate multicast traffic on the VLAN. Note: Factory-deafult configuration on EX Series switches enables IGMP snooping on all VLANs using set protocols igmp-snooping vlan all command.

Reducing IGMP Membership Packets with IGMP Proxy


In deployments where an aggregation switch is an IGMP querier and the access switch has many hosts, sending IGMP queries to all hosts results into a storm of IGMP membership packets. IGMP proxy allows the access switch to prevent that by generating IGMP reports on behalf of the hosts. The switch also generates a periodic IGMP query to hosts to maintain its list of group/port membership. When a host sends an IGMP join message, the switch suppresses this report (and update its timer) if this is not the first join for the group on that VLAN. Similarly, leave messages received from a host are suppressed unless it is the last leave for the group on the VLAN. Note: IGMP snooping proxy is not supported on EX Series platforms according to release 9.3.
Copyright 2009, Juniper Networks, Inc.

IMPLEMENTATION GUIDE - Enterprise Multicast Implementation Guide for Layer 2 Networks Using the EX Series Ethernet Switches and MX Series 3D Universal Edge Routers

Implementation
Implementation Guidelines
IGMP Configuration
Enabling/Disabling IGMP PIM is needed on upstream IGMP interfaces to distribute IGMP group memberships into the multicast routing domain. By default, IGMP is automatically enabled on all interfaces on which PIM is configured. It is also possible to enable/ disable IGMP explicitly on an interface with the following statements:

Enabling IGMP explicitly on an interface: protocols { igmp { interface interface-name; } } Disabling IGMP explicitly on an interface: protocols { igmp { interface interface-name; disable; } }
Note: To enable/disable IGMP on all interfaces at once, use the same commands replacing the interface name with the keyword all. IGMP Version The default IGMP version applied by Junos OS is version 2. The version used can be changed with the following statement. Note that this can be done also at the interface level.

Changing the IGMP version: protocols{ igmp { version version-number; } }


Note: If two routers run different versions of IGMP, they negotiate the lowest common version of IGMP that is supported by hosts on their subnet. IGMP Query-Interval The querier interval is the time between periodic host-query messages sent to the all-systems IP address of 224.0.0.1. It is set by default to 125 seconds but can be modified to a value from one to 1024 seconds using the following statement:

Modifying the IGMP query-interval: protocols { igmp { query-interval seconds; } }

Copyright 2009, Juniper Networks, Inc.

IMPLEMENTATION GUIDE - Enterprise Multicast Implementation Guide for Layer 2 Networks Using the EX Series Ethernet Switches and MX Series 3D Universal Edge Routers

IGMP Query-Response Interval The query-response-interval indicates the maximum duration between when the querier router sends a host-query message and when it receives a response from a host. To adjust the burst peaks of IGMP messages on a subnet, this timer can be modified from its default value of 10 seconds to a value between one and 1024 seconds as shown below:

Modifying the IGMP query-response-interval: protocols { igmp { query-response-interval seconds; } }


IGMP Query-Last-Member-Interval The following commands can be used to modify the IGMP query-last-member-interval. This interval indicates the maximum amount of time between group-specific query messages, including those sent in response to leave-group messages. Lowering this interval from its default value allows reducing the amount of time it takes to detect the loss of the last member of a group. By default, the last-member query interval is one second. It can be configured to any value in the range 0.1 through 0.9 seconds, and then one-second intervals from one through 1024 seconds.

Modifying the IGMP query-last-member interval: protocols { igmp { query-last-member-interval seconds; } }


IGMP Robust-Count The robust-count indicates the number of timeout intervals the switch waits before timing out a multicast group. You can wait for more intervals if the subnet packet loss is high and IGMP report messages might be lost. By default, the robust count is two. It can be configured to any value in the range two through 10 intervals.

Setting IGMP robust-count: protocols { igmp { robust-count count; } }


IGMP Immediate-Leave On IGMPv2, interfaces that have only one host connected, the router can be configured to remove a host from the multicast group immediately after receiving a leave group message. The syntax is shown below:

Applying immediate-leave to an interface: protocols { igmp { interface interface-name { immediate-leave; } } }


Note: This should not be applied to interfaces attached to multiple hosts as the router would remove all hosts until they send join requests in response to the routers next general group membership query.

Copyright 2009, Juniper Networks, Inc.

IMPLEMENTATION GUIDE - Enterprise Multicast Implementation Guide for Layer 2 Networks Using the EX Series Ethernet Switches and MX Series 3D Universal Edge Routers

IGMP Promiscuous Mode You can allow a router to accept IGMP messages from indirectly connected subnets (for example, from sources that do not match the IP subnet of the interface). An interface is set to promiscuous mode using the following statements:

Applying the promiscuous-mode to an interface: protocols { igmp { interface interface-name { promiscuous-mode; } } }


Static IGMP You can configure static IGMP to help test and verify multicast forwarding in the absence of receivers. The static join can take the form of a (*,G) or (S,G) entry, based on the inclusion of a source address. If a source address is specified, the IGMP version must be set to IGMPv3.

Configuring static IGMP: protocols { igmp { interface interface-name { static { group group-address { source address; } } } } }
IGMP Snooping Configuration
Enabling IGMP Snooping You can configure IGMP snooping: On all VLANs which is the factory-default configuration for EX Series switches. On all interfaces in a VLAN On individual interfaces in the VLAN Statically for a group on an individual interface

Enabling IGMP snooping in a VLAN: protocols { igmp-snooping { vlan vlan-id; } } } Enabling IGMP snooping on a specific interface: protocols { igmp-snooping { vlan vlan-id interface interface-name; } } }

10

Copyright 2009, Juniper Networks, Inc.

IMPLEMENTATION GUIDE - Enterprise Multicast Implementation Guide for Layer 2 Networks Using the EX Series Ethernet Switches and MX Series 3D Universal Edge Routers

Statically configuring IGMP snooping for a specific group on an interface: protocols { igmp-snooping { vlan vlan-id { interface interface-name { static { group group-address; } } } } }
IGMP Snooping Immediate-Leave It is possible to configure the switch to immediately remove a multicast group membership from an interface when it receives a leave message from that interface and suppress the sending of any group-specific queries for the multicast group (IGMPv2 only) as shown below:

Setting IGMP snooping on a VLAN to immediate leave: protocols { igmp-snooping { vlan vlan-id { immediate-leave; } } }
IGMP Snooping Query-Interval The following commands can be used to modify the IGMP snooping query-interval. This interval indicates how often the querier router sends general host-query messages. By default, the query interval is 125 seconds. It can be configured to any value in the range one through 1024 seconds.

Modifying the IGMP snooping query interval on a VLAN: protocols { igmp-snooping { vlan vlan-id { query-interval seconds; } } } }
IGMP Snooping Query-Response-Interval The following commands can be used to modify the IGMP snooping query-response-interval. This interval indicates how long the querier router waits to receive a response to a host-query message from a host. By default, the query response interval is 10 seconds. It can be configured to any value in the range one through 1024 seconds. However, it must be less than the query-interval.

Modifying the IGMP snooping query-response interval on a VLAN: protocols { igmp-snooping { vlan vlan-id { query-response-interval seconds; } } } }
Copyright 2009, Juniper Networks, Inc.

11

IMPLEMENTATION GUIDE - Enterprise Multicast Implementation Guide for Layer 2 Networks Using the EX Series Ethernet Switches and MX Series 3D Universal Edge Routers

IGMP Snooping Query-Last-Member-Interval The following commands can be used to modify the IGMP snooping query-last-member-interval. This interval indicates the maximum amount of time between group-specific query messages, including those sent in response to leavegroup messages. Lowering this interval from its default value allows reducing the amount of time it takes to detect the loss of the last member of a group. By default, the last-member query interval is one second. It can be configured to any value in the range of 0.1 through 0.9 seconds, and then one-second intervals from one through 1024 seconds.

Modifying the IGMP snooping query-last-member interval on a VLAN: protocols { igmp-snooping { vlan vlan-id { query-last-member-interval seconds; } } } }
IGMP Snooping Robust-Count The robust-count indicates the number of timeout intervals the switch waits before timing out a multicast group. You can wait more intervals if subnet packet loss is high and IGMP report messages might be lost. By default, the robust count is two. It can be configured to any value in the range two through 10 intervals.

Setting IGMP snooping robust-count on a VLAN: protocols{ igmp-snooping { vlan vlan-id { robust-count count; } } } }
Static Configuration of IGMP Group Membership on a Port An interface can be configured with IGMP snooping to be a static member of a group:

Statically configuring IGMP group membership on a port: protocols{ igmp-snooping { interface interface-name { static { group group-address; } } } }

12

Copyright 2009, Juniper Networks, Inc.

IMPLEMENTATION GUIDE - Enterprise Multicast Implementation Guide for Layer 2 Networks Using the EX Series Ethernet Switches and MX Series 3D Universal Edge Routers

Static Configuration of a Multicast-Router-Interface An interface can be statically configured as a switching interface toward a multicast router (the interface to receive multicast traffic):

Statically configuring a multicast-router interface: protocols{ igmp-snooping { interface interface-name { multicast-router-interface; } } }


Implementation Example

Agilent N2X Sender

202/2 172.18.16.142

Berry-R1
ge-5/0/0 172.18.16.134/30 ge-5/0/1 172.18.16.138/30

ge-5/1/0 172.18.16.141/30

MX480

M120
ge-5/0/9 172.18.16.133/30

OSPF Area 0.0.0.0


VLAN 100, 200, 300, 400, 500

ge-2/0/9 172.18.16.137/30 ge-2/0/8 ae0 ge-2/0/0, ge-2/0/4

MX240

Madras-MX-A

ge-5/0/8 ae3 ge-5/0/3, ge-5/0/7

Aveo-MX-B

ae0 ge-5/0/0, ge-0/0/4

ae3 ge-2/0/3, ge-2/0/7 ae2 ae1 ae2 ge-5/0/2, ge-5/0/6 ge-2/0/1, ge-2/0/5 ge-2/0/2, ge-2/0/6 ae1 ge-5/0/1, ge-5/0/5 VLAN 100, 200, 300, 400, 500 VLAN 100, 200, 300, 400, 500

VLAN 100, 200, 300, 400, 500

VLAN 100, 200, 300, 400, 500

RSTP

VLAN 100, 200, 300, 400, 500

VLAN 100, 200, 300, 400, 500

VLAN 100, 200, 300, 400, 500 ae0 ge-0/1/0, ge-1/1/0 ae1 ge-0/1/1, ge-1/1/1 ge-0/0/2 ge-2/0/1 ae0 ge-2/1/0, ge-2/1/1 ae1 ge-2/1/2, ge-2/1/3

VLAN 100, 200, 300, 400, 500 ae0 ae1 ge-0/1/0, ge-1/1/0 ge-0/1/1, ge-1/1/1

ae0 ge-0/1/0, ge-0/1/2 ge-2/0/1 ge-0/0/1

ae1 ge-0/1/1, ge-0/1/3

EX-VC-4, Backup EX-VC-1, Master Virtual Chassis A


ge-0/0/0 VLAN 100 ge-0/0/23

EX-VC-7, Backup EX-VC-6, LC1 Virtual Chassis B EX-VC-5, Master


ge-2/0/23 ge-2/0/0 ge-0/0/0 ge-0/0/23 VLAN 300 VLAN 200

ge-0/0/0

EX-VC-10, LC1 EX-VC-9, Backup Virtual Chassis C EX-VC-8, Master

EX-FC-2
ge-0/0/0

ge-0/0/19

VLAN 500

ge-2/0/23 VLAN 400

ge-2/0/0 VLAN 400

203/1

203/3

201/1

201/2

202/1

203/4

203/2 172.18.16.102

Agilent N2X Receiver 225.0.0.1

Agilent N2X Receivers 225.0.0.2

Agilent N2X Receiver 225.0.0.2 & 225.0.0.3

Agilent N2X Sender

Figure 7: Network topology diagram

VLAN 500

VLAN 100

VLAN 300

VLAN 200

Copyright 2009, Juniper Networks, Inc.

13

IMPLEMENTATION GUIDE - Enterprise Multicast Implementation Guide for Layer 2 Networks Using the EX Series Ethernet Switches and MX Series 3D Universal Edge Routers

Hardware Used For the Implementation

Table 3: Implementation Example-Hardware Requirements


EQUIPMENT COMPONENTS

4 x EX4200 Ethernet Switch

4 x 4-port uplink 1-Gigabit Ethernet module (EX Series UM-4SFP) 16 SFPs 8 x VCP cables

1 x MX240 Ethernet Services Router 1 x MX480 Ethernet Services Router 1 x M120 Multiservice Edge Router

2 x 40-port 1-Gigabit Ethernet L2/L3 DPCs (DPCE-R-40GE-SFP or DPCE-R-Q-40GE-SFP) 20 SFPs 1 x FPC Type 3 1 x 10-port 1-Gigabit Ethernet PIC 2 SFPs

Agilent N2X tester

10x 1-Gigabit Ethernet ports (9x RJ45 and 1 SFP type) 1 SFP

Software Used For the Implementation


In this topology, the EX Series acts as Layer 2 switches and uses RSTP for loop prevention. All EX Series Ethernet Switches have IGMP snooping enabled. The MX Series switches have IRRBs configured with VRRP. They run RSTP towards the access layer and OSPF towards the core. PIM-SM is used and MX-A and MX-B are configured as RPs using Anycast-PIM without MSDP.

Table 4: Implementation ExampleSoftware Requirements


EQUIPMENT FEATURES AND PROTOCOLS SOFTWARE

EX Series

RSTP AE IGMP snooping

MX Series

RSTP AE IRBs with VRRP OSPF IGMPv2 PIM-SM Anycast RP Junos OS 9.3

M Series platforms

OSPF PIM-SM Anycast RP

14

Copyright 2009, Juniper Networks, Inc.

IMPLEMENTATION GUIDE - Enterprise Multicast Implementation Guide for Layer 2 Networks Using the EX Series Ethernet Switches and MX Series 3D Universal Edge Routers

Detailed Configurations
EX-VC-1 Configuration

#truncated chassis { redundancy { graceful-switchover; } aggregated-devices { ethernet { device-count 2; } } } interfaces { ge-0/0/0 { unit 0 { family ethernet-switching { port-mode access; vlan { members HR; } } } } ge-0/0/2 { unit 0 { family ethernet-switching { port-mode trunk; vlan { members [ ENG SALES HR SUPPORT FINANCE ]; } } } } ge-0/0/23 { unit 0 { family ethernet-switching { port-mode access; vlan { members HR; } } } } ge-0/1/0 { ether-options { speed { 1g; } 802.3ad ae0; } } ge-0/1/1 { ether-options { speed { 1g; }

Copyright 2009, Juniper Networks, Inc.

15

IMPLEMENTATION GUIDE - Enterprise Multicast Implementation Guide for Layer 2 Networks Using the EX Series Ethernet Switches and MX Series 3D Universal Edge Routers

802.3ad ae1; } } ge-1/1/0 { ether-options { speed { 1g; } 802.3ad ae0; } } ge-1/1/1 { ether-options { speed { 1g; } 802.3ad ae1; } } ae0 { unit 0 { family ethernet-switching { port-mode trunk; vlan { members [ HR ENG SALES SUPPORT FINANCE ]; } } } } ae1 { unit 0 { family ethernet-switching { port-mode trunk; vlan { members [ HR ENG SALES SUPPORT FINANCE ]; } } } } lo0 { unit 0 { family inet { address 172.18.8.1/32; } } } vme { unit 0 { family inet { address 172.19.59.190/24; } } } } routing-options { graceful-restart; } protocols {

16

Copyright 2009, Juniper Networks, Inc.

IMPLEMENTATION GUIDE - Enterprise Multicast Implementation Guide for Layer 2 Networks Using the EX Series Ethernet Switches and MX Series 3D Universal Edge Routers

igmp-snooping { vlan HR { # Enable IGMP snooping on VLAN HR interface ae0.0 { multicast-router-interface; } interface ae1.0 { multicast-router-interface; } } } rstp { interface ge-0/0/0.0 { edge; } interface ge-0/0/2.0 { mode point-to-point; } interface ge-0/0/23.0 { edge; } interface ae0.0 { mode point-to-point; } interface ae1.0 { mode point-to-point; } } } vlans { ENG { vlan-id 200; } FINANCE { vlan-id 500; } HR { vlan-id 100; } SALES { vlan-id 300; } SUPPORT { vlan-id 400; } } virtual-chassis { preprovisioned; member 0 { role routing-engine; serial-number BM0208105257; } member 1 { role routing-engine; serial-number BP0208137931; } }

Copyright 2009, Juniper Networks, Inc.

17

IMPLEMENTATION GUIDE - Enterprise Multicast Implementation Guide for Layer 2 Networks Using the EX Series Ethernet Switches and MX Series 3D Universal Edge Routers

EX-VC-5 Configuration

#truncated chassis { redundancy { graceful-switchover; } aggregated-devices { ethernet { device-count 2; } } } interfaces { ge-0/0/0 { unit 0 { family ethernet-switching { port-mode access; vlan { members SALES; } } } } ge-0/0/23 { unit 0 { family ethernet-switching { port-mode access; vlan { members ENG; } } } } ge-2/0/0 { unit 0 { family ethernet-switching { port-mode access; vlan { members ENG; } } } } ge-2/0/1 { unit 0 { family ethernet-switching { port-mode trunk; vlan { members [ ENG SALES HR SUPPORT FINANCE ]; } } } } ge-2/0/23 { unit 0 { family ethernet-switching { port-mode access;

18

Copyright 2009, Juniper Networks, Inc.

IMPLEMENTATION GUIDE - Enterprise Multicast Implementation Guide for Layer 2 Networks Using the EX Series Ethernet Switches and MX Series 3D Universal Edge Routers

vlan { members SALES; } } } } ge-2/1/0 { ether-options { speed { 1g; } 802.3ad ae0; } } ge-2/1/1 { ether-options { speed { 1g; } 802.3ad ae0; } } ge-2/1/2 { ether-options { speed { 1g; } 802.3ad ae1; } } ge-2/1/3 { ether-options { speed { 1g; } 802.3ad ae1; } } ae0 { unit 0 { family ethernet-switching { port-mode trunk; vlan { members [ ENG SALES HR SUPPORT FINANCE ]; } } } } ae1 { unit 0 { family ethernet-switching { port-mode trunk; vlan { members [ ENG SALES HR SUPPORT FINANCE ]; } } } }

Copyright 2009, Juniper Networks, Inc.

19

IMPLEMENTATION GUIDE - Enterprise Multicast Implementation Guide for Layer 2 Networks Using the EX Series Ethernet Switches and MX Series 3D Universal Edge Routers

lo0 { unit 0 { family inet { address 172.18.8.2/32; } } } vme { unit 0 { family inet { address 172.19.59.195/24; } } } } routing-options { graceful-restart; } protocols { igmp-snooping { traceoptions { # Traceoptions for IGMP snooping troubleshooting file snooping; flag query; flag report; flag route; flag state; flag task; flag timer; flag vlan; flag leave; } vlan SALES { # Enable IGMP snooping on VLAN SALES interface ae0.0 { multicast-router-interface; } interface ae1.0 { multicast-router-interface; } } vlan ENG { # Enable IGMP snooping on VLAN ENG interface ae0.0 { multicast-router-interface; } interface ae1.0 { multicast-router-interface; } } } rstp { interface ge-0/0/0.0 { edge; } interface ge-0/0/23.0 { edge; } interface ge-2/0/0.0 {

20

Copyright 2009, Juniper Networks, Inc.

IMPLEMENTATION GUIDE - Enterprise Multicast Implementation Guide for Layer 2 Networks Using the EX Series Ethernet Switches and MX Series 3D Universal Edge Routers

edge; } interface ge-2/0/1.0 { mode point-to-point; } interface ge-2/0/23.0 { edge; } interface ae0.0 { mode point-to-point; } interface ae1.0 { mode point-to-point; } } } vlans { ENG { vlan-id 200; } FINANCE { vlan-id 500; } HR { vlan-id 100; } SALES { vlan-id 300; } SUPPORT { vlan-id 400; } } virtual-chassis { preprovisioned; /* ex-vc-5*/ member 0 { role routing-engine; serial-number BP0208180059; } /* ex-vc-7 */ member 1 { role routing-engine; serial-number BP0208180087; } /* ex-vc-6 */ member 2 { role line-card; serial-number BQ0208189143; } }

Copyright 2009, Juniper Networks, Inc.

21

IMPLEMENTATION GUIDE - Enterprise Multicast Implementation Guide for Layer 2 Networks Using the EX Series Ethernet Switches and MX Series 3D Universal Edge Routers

EX-VC-8 Configuration

# truncated chassis { redundancy { graceful-switchover; } aggregated-devices { ethernet { device-count 2; } } } interfaces { ge-0/1/0 { ether-options { speed { 1g; } 802.3ad ae0; } } ge-0/1/1 { ether-options { speed { 1g; } 802.3ad ae1; } } ge-1/1/0 { ether-options { speed { 1g; } 802.3ad ae0; } } ge-1/1/1 { ether-options { speed { 1g; } 802.3ad ae1; } } ge-2/0/0 { unit 0 { family ethernet-switching { port-mode access; vlan { members SUPPORT; } } } } ge-2/0/1 { unit 0 { family ethernet-switching {

22

Copyright 2009, Juniper Networks, Inc.

IMPLEMENTATION GUIDE - Enterprise Multicast Implementation Guide for Layer 2 Networks Using the EX Series Ethernet Switches and MX Series 3D Universal Edge Routers

port-mode trunk; vlan { members [ HR ENG SALES SUPPORT FINANCE ]; } } } } ge-2/0/23 { unit 0 { family ethernet-switching { port-mode access; vlan { members SUPPORT; } } } } ae0 { unit 0 { family ethernet-switching { port-mode trunk; vlan { members [ SUPPORT ENG SALES HR FINANCE ]; } } } } ae1 { unit 0 { family ethernet-switching { port-mode trunk; vlan { members [ SUPPORT ENG SALES HR FINANCE ]; } } } } lo0 { unit 0 { family inet { address 172.18.12.1/32; } } } vme { unit 0 { family inet { address 172.19.59.198/24; } } } } routing-options { graceful-restart; } protocols { igmp-snooping { vlan SUPPORT; # Enable IGMP snooping for VLAN SUPPORT interface ae0.0 {

Copyright 2009, Juniper Networks, Inc.

23

IMPLEMENTATION GUIDE - Enterprise Multicast Implementation Guide for Layer 2 Networks Using the EX Series Ethernet Switches and MX Series 3D Universal Edge Routers

multicast-router-interface; } interface ae1.0 { multicast-router-interface; } } } rstp { interface ge-2/0/0.0 { edge; } interface ge-2/0/1.0 { mode point-to-point; } interface ge-2/0/23.0 { edge; } interface ae0.0 { mode point-to-point; } interface ae1.0 { mode point-to-point; } } } vlans { ENG { vlan-id 200; } FINANCE { vlan-id 500; } HR { vlan-id 100; } SALES { vlan-id 300; } SUPPORT { vlan-id 400; } } virtual-chassis { preprovisioned; /* ex-vc-8 */ member 0 { role routing-engine; serial-number BN0208189106; } /* ex-vc-9 */ member 1 { role routing-engine; serial-number BP0208180160; } /* ex-vc-10 */ member 2 { role line-card; serial-number BP0208180149; }

24

Copyright 2009, Juniper Networks, Inc.

IMPLEMENTATION GUIDE - Enterprise Multicast Implementation Guide for Layer 2 Networks Using the EX Series Ethernet Switches and MX Series 3D Universal Edge Routers

EX-FC-2 Configuration

# truncated chassis { aggregated-devices { ethernet { device-count 2; } } } interfaces { ge-0/0/0 { unit 0 { family ethernet-switching { vlan { members FINANCE; } } } } ge-0/0/1 { unit 0 { family ethernet-switching { port-mode trunk; vlan { members [ HR ENG SALES SUPPORT FINANCE ]; } } } } ge-0/0/19 { unit 0 { family ethernet-switching { port-mode access; vlan { members FINANCE; } } } } ge-0/1/0 { ether-options { speed { 1g; } 802.3ad ae0; } } ge-0/1/1 { ether-options { speed { 1g; } 802.3ad ae1; } } ge-0/1/2 { ether-options { speed {

Copyright 2009, Juniper Networks, Inc.

25

IMPLEMENTATION GUIDE - Enterprise Multicast Implementation Guide for Layer 2 Networks Using the EX Series Ethernet Switches and MX Series 3D Universal Edge Routers

1g; } 802.3ad ae0; } } ge-0/1/3 { ether-options { speed { 1g; } 802.3ad ae1; } } ae0 { unit 0 { family ethernet-switching { port-mode trunk; vlan { members [ FINANCE HR ENG SALES SUPPORT ]; } } } } ae1 { unit 0 { family ethernet-switching { port-mode trunk; vlan { members [ FINANCE HR ENG SALES SUPPORT ]; } } } } lo0 { unit 0 { family inet { address 172.18.12.2/32; } } } me0 { unit 0 { family inet { address 172.19.59.208/24; } } } } routing-options { graceful-restart; } protocols { igmp-snooping { vlan FINANCE { # Enable IGMP snooping on VLAN FINANCE interface ae0.0 { multicast-router-interface; }

26

Copyright 2009, Juniper Networks, Inc.

IMPLEMENTATION GUIDE - Enterprise Multicast Implementation Guide for Layer 2 Networks Using the EX Series Ethernet Switches and MX Series 3D Universal Edge Routers

interface ae1.0 { multicast-router-interface; } } } rstp { interface ge-0/0/0.0 { edge; } interface ge-0/0/1.0 { mode point-to-point; } interface ge-0/0/19.0 { edge; } interface ae0.0 { mode point-to-point; } interface ae1.0 { mode point-to-point; } } } vlans { ENG { vlan-id 200; } FINANCE { vlan-id 500; } HR { vlan-id 100; } SALES { vlan-id 300; } SUPPORT { vlan-id 400; }

Copyright 2009, Juniper Networks, Inc.

27

IMPLEMENTATION GUIDE - Enterprise Multicast Implementation Guide for Layer 2 Networks Using the EX Series Ethernet Switches and MX Series 3D Universal Edge Routers

MX-A Configuration

# truncated chassis { redundancy { graceful-switchover; } aggregated-devices { ethernet { device-count 4; } } fpc 5 { # Needed to create tunnel interface to de-encapsulate PIM register messages pic 0 { tunnel-services { bandwidth 1g; } } } } interfaces { ge-5/0/0 { gigether-options { 802.3ad ae0; } } ge-5/0/1 { gigether-options { 802.3ad ae1; } } ge-5/0/2 { gigether-options { 802.3ad ae2; } } ge-5/0/3 { gigether-options { 802.3ad ae3; } } ge-5/0/4 { gigether-options { 802.3ad ae0; } } ge-5/0/5 { gigether-options { 802.3ad ae1; } } ge-5/0/6 { gigether-options { 802.3ad ae2; } } ge-5/0/7 { gigether-options {

28

Copyright 2009, Juniper Networks, Inc.

IMPLEMENTATION GUIDE - Enterprise Multicast Implementation Guide for Layer 2 Networks Using the EX Series Ethernet Switches and MX Series 3D Universal Edge Routers

802.3ad ae3; } } ge-5/0/8 { vlan-tagging; encapsulation extended-vlan-bridge; unit 100 { vlan-id 100; } unit 200 { vlan-id 200; } unit 300 { vlan-id 300; } unit 400 { vlan-id 400; } unit 500 { vlan-id 500; } } ge-5/0/9 { unit 0 { family inet { address 172.18.16.133/30; } } } ge-5/1/0 { unit 0 { family inet { address 172.18.16.141/30; } } } ae0 { vlan-tagging; encapsulation extended-vlan-bridge; unit 100 { vlan-id 100; } unit 200 { vlan-id 200; } unit 300 { vlan-id 300; } unit 400 { vlan-id 400; } unit 500 { vlan-id 500; } } ae1 { vlan-tagging; encapsulation extended-vlan-bridge;

Copyright 2009, Juniper Networks, Inc.

29

IMPLEMENTATION GUIDE - Enterprise Multicast Implementation Guide for Layer 2 Networks Using the EX Series Ethernet Switches and MX Series 3D Universal Edge Routers

unit 100 { vlan-id 100; } unit 200 { vlan-id 200; } unit 300 { vlan-id 300; } unit 400 { vlan-id 400; } unit 500 { vlan-id 500; } } ae2 { vlan-tagging; encapsulation extended-vlan-bridge; unit 100 { vlan-id 100; } unit 200 { vlan-id 200; } unit 300 { vlan-id 300; } unit 400 { vlan-id 400; } unit 500 { vlan-id 500; } } ae3 { vlan-tagging; encapsulation extended-vlan-bridge; unit 100 { vlan-id 100; } unit 200 { vlan-id 200; } unit 300 { vlan-id 300; } unit 400 { vlan-id 400; } unit 500 { vlan-id 500; } } irb { unit 100 { family inet { address 172.18.9.4/24 {

30

Copyright 2009, Juniper Networks, Inc.

IMPLEMENTATION GUIDE - Enterprise Multicast Implementation Guide for Layer 2 Networks Using the EX Series Ethernet Switches and MX Series 3D Universal Edge Routers

vrrp-group 1 { virtual-address 172.18.9.1; priority 254; accept-data; } } } } unit 200 { family inet { address 172.18.10.4/24 { vrrp-group 2 { virtual-address 172.18.10.1; priority 254; accept-data; } } } } unit 300 { family inet { address 172.18.11.4/24 { vrrp-group 3 { virtual-address 172.18.11.1; priority 254; accept-data; } } } } unit 400 { family inet { address 172.18.13.4/24 { vrrp-group 4 { virtual-address 172.18.13.1; priority 254; accept-data; } } } } unit 500 { family inet { address 172.18.14.4/24 { vrrp-group 5 { virtual-address 172.18.14.1; priority 254; accept-data; } } } } } lo0 { unit 0 { family inet { address 172.18.19.1/32 { primary;

Copyright 2009, Juniper Networks, Inc.

31

IMPLEMENTATION GUIDE - Enterprise Multicast Implementation Guide for Layer 2 Networks Using the EX Series Ethernet Switches and MX Series 3D Universal Edge Routers

# Loopback address used as shared anycast address } } } } routing-options { graceful-restart; static { route 200.0.1.0/24 reject; route 200.0.2.0/24 reject; } router-id 172.18.19.1; } protocols { ospf { export stat; area 0.0.0.0 { interface ge-5/0/9.0 { authentication { md5 10 key $9$aPGjqTz6uORmfORhSMWJGDj.P; ## SECRET-DATA } } interface lo0.0 { passive; } interface fxp0.0 { disable; } interface ge-5/1/0.0 { passive; } } } pim { rp { # Configuration of anycast-PIM on RP devices local { family inet { address 172.18.19.254; # Anycast-PIM address shared by the RPs anycast-pim { rp-set { address 172.18.19.2; # Local address of the other RP } local-address 172.18.19.1; # Local address of this RP } } } } interface all { # Sets all interfaces to PIM sparse mode mode sparse; } interface fxp0.0 { # Explicitly disables PIM on the management interface disable; }

} address 172.18.19.254/32;

32

Copyright 2009, Juniper Networks, Inc.

IMPLEMENTATION GUIDE - Enterprise Multicast Implementation Guide for Layer 2 Networks Using the EX Series Ethernet Switches and MX Series 3D Universal Edge Routers

} rstp { bridge-priority 4k; interface ge-5/0/8 { mode point-to-point; } interface ae0 { mode point-to-point; } interface ae1 { mode point-to-point; } interface ae2 { mode point-to-point; } interface ae3 { mode point-to-point; } } } policy-options { policy-statement stat { from protocol static; then accept; } } bridge-domains { ENG { domain-type bridge; vlan-id 200; interface ae0.200; interface ae1.200; interface ae2.200; interface ae3.200; interface ge-5/0/8.200; routing-interface irb.200; } FINANCE { domain-type bridge; vlan-id 500; interface ae0.500; interface ae1.500; interface ae2.500; interface ae3.500; interface ge-5/0/8.500; routing-interface irb.500; } HR { domain-type bridge; vlan-id 100; interface ae0.100; interface ae1.100; interface ae2.100; interface ae3.100; interface ge-5/0/8.100; routing-interface irb.100; } SALES {

Copyright 2009, Juniper Networks, Inc.

33

IMPLEMENTATION GUIDE - Enterprise Multicast Implementation Guide for Layer 2 Networks Using the EX Series Ethernet Switches and MX Series 3D Universal Edge Routers

domain-type bridge; vlan-id 300; interface ae0.300; interface ae1.300; interface ae2.300; interface ae3.300; interface ge-5/0/8.300; routing-interface irb.300; } SUPPORT { domain-type bridge; vlan-id 400; interface ae0.400; interface ae1.400; interface ae2.400; interface ae3.400; interface ge-5/0/8.400; routing-interface irb.400; } }

34

Copyright 2009, Juniper Networks, Inc.

IMPLEMENTATION GUIDE - Enterprise Multicast Implementation Guide for Layer 2 Networks Using the EX Series Ethernet Switches and MX Series 3D Universal Edge Routers

MX-B Configuration

# truncated chassis { redundancy { graceful-switchover; } aggregated-devices { ethernet { device-count 4; } } fpc 2 { # Needed to create tunnel interface to de-encapsulate PIM register messages pic 0 { tunnel-services { bandwidth 1g; } } } } interfaces { ge-2/0/0 { gigether-options { 802.3ad ae0; } } ge-2/0/1 { gigether-options { 802.3ad ae1; } } ge-2/0/2 { gigether-options { 802.3ad ae2; } } ge-2/0/3 { gigether-options { 802.3ad ae3; } } ge-2/0/4 { gigether-options { 802.3ad ae0; } } ge-2/0/5 { gigether-options { 802.3ad ae1; } } ge-2/0/6 { gigether-options { 802.3ad ae2; } } ge-2/0/7 { gigether-options { 802.3ad ae3; }
Copyright 2009, Juniper Networks, Inc.

35

IMPLEMENTATION GUIDE - Enterprise Multicast Implementation Guide for Layer 2 Networks Using the EX Series Ethernet Switches and MX Series 3D Universal Edge Routers

} ge-2/0/8 { vlan-tagging; encapsulation extended-vlan-bridge; unit 100 { vlan-id 100; } unit 200 { vlan-id 200; } unit 300 { vlan-id 300; } unit 400 { vlan-id 400; } unit 500 { vlan-id 500; } } ge-2/0/9 { unit 0 { family inet { address 172.18.16.137/30; } } } ae0 { vlan-tagging; encapsulation extended-vlan-bridge; unit 100 { vlan-id 100; } unit 200 { vlan-id 200; } unit 300 { vlan-id 300; } unit 400 { vlan-id 400; } unit 500 { vlan-id 500; } } ae1 { vlan-tagging; encapsulation extended-vlan-bridge; unit 100 { vlan-id 100; } unit 200 { vlan-id 200; } unit 300 { vlan-id 300; } unit 400 { vlan-id 400;
36
Copyright 2009, Juniper Networks, Inc.

IMPLEMENTATION GUIDE - Enterprise Multicast Implementation Guide for Layer 2 Networks Using the EX Series Ethernet Switches and MX Series 3D Universal Edge Routers

} unit 500 { vlan-id 500; } } ae2 { vlan-tagging; encapsulation extended-vlan-bridge; unit 100 { vlan-id 100; } unit 200 { vlan-id 200; } unit 300 { vlan-id 300; } unit 400 { vlan-id 400; } unit 500 { vlan-id 500; } } ae3 { vlan-tagging; encapsulation extended-vlan-bridge; unit 100 { vlan-id 100; } unit 200 { vlan-id 200; } unit 300 { vlan-id 300; } unit 400 { vlan-id 400; } unit 500 { vlan-id 500; } } irb { unit 100 { family inet { address 172.18.9.3/24 { vrrp-group 1 { virtual-address 172.18.9.1; accept-data; } } } } unit 200 { family inet { address 172.18.10.3/24 { vrrp-group 2 { virtual-address 172.18.10.1; accept-data;
Copyright 2009, Juniper Networks, Inc.

37

IMPLEMENTATION GUIDE - Enterprise Multicast Implementation Guide for Layer 2 Networks Using the EX Series Ethernet Switches and MX Series 3D Universal Edge Routers

} } } } unit 300 { family inet { address 172.18.11.3/24 { vrrp-group 3 { virtual-address 172.18.11.1; accept-data; } } } } unit 400 { family inet { address 172.18.13.3/24 { vrrp-group 4 { virtual-address 172.18.13.1; accept-data; } } } } unit 500 { family inet { address 172.18.14.3/24 { vrrp-group 5 { virtual-address 172.18.14.1; accept-data; } } } } } lo0 { unit 0 { family inet { address 172.18.19.2/32 { primary; } address 172.18.19.254/32; # Loopback address used as shared anycast address } } } } routing-options { graceful-restart; static { route 200.0.1.0/24 reject; route 200.0.2.0/24 reject; } router-id 172.18.19.2; } protocols { ospf { export stat; area 0.0.0.0 { interface ge-2/0/9.0 {
38
Copyright 2009, Juniper Networks, Inc.

IMPLEMENTATION GUIDE - Enterprise Multicast Implementation Guide for Layer 2 Networks Using the EX Series Ethernet Switches and MX Series 3D Universal Edge Routers

authentication { md5 10 key $9$m5z6p0IreW9AeWLxwsP5Qz/C; ## SECRET-DATA } } interface lo0.0 { passive; } interface fxp0.0 { disable; } } } pim { traceoptions { # Traceoptions for PIM troubleshooting file pim; flag join detail; flag task detail; flag state detail; flag packets detail; } rp { # Uses the shared anycast address as the RPs address local { family inet { address 172.18.19.254; # Anycast-PIM address shared by the RPs anycast-pim { rp-set { address 172.18.19.1; # Local address of the other RP } local-address 172.18.19.2; # Local address of this RP } } } } interface all { mode sparse; # Sets all interfaces to PIM sparse mode } interface fxp0.0 { disable; # Explicitly disables PIM on the management interface } } rstp { bridge-priority 8k; interface ge-2/0/8 { mode point-to-point; } interface ae0 { mode point-to-point; } interface ae1 { mode point-to-point; } interface ae2 { mode point-to-point; } interface ae3 { mode point-to-point; } }
Copyright 2009, Juniper Networks, Inc.

39

IMPLEMENTATION GUIDE - Enterprise Multicast Implementation Guide for Layer 2 Networks Using the EX Series Ethernet Switches and MX Series 3D Universal Edge Routers

} policy-options { policy-statement stat { from protocol static; then accept; } } bridge-domains { ENG { domain-type bridge; vlan-id 200; interface ae0.200; interface ae1.200; interface ae2.200; interface ae3.200; interface ge-2/0/8.200; routing-interface irb.200; } FINANCE { domain-type bridge; vlan-id 500; interface ae0.500; interface ae1.500; interface ae2.500; interface ae3.500; interface ge-2/0/8.500; routing-interface irb.500; } HR { domain-type bridge; vlan-id 100; interface ae0.100; interface ae1.100; interface ae2.100; interface ae3.100; interface ge-2/0/8.100; routing-interface irb.100; } SALES { domain-type bridge; vlan-id 300; interface ae0.300; interface ae1.300; interface ae2.300; interface ae3.300; interface ge-2/0/8.300; routing-interface irb.300; } SUPPORT { domain-type bridge; vlan-id 400; interface ae0.400; interface ae1.400; interface ae2.400; interface ae3.400; interface ge-2/0/8.400; routing-interface irb.400; } }

40

Copyright 2009, Juniper Networks, Inc.

IMPLEMENTATION GUIDE - Enterprise Multicast Implementation Guide for Layer 2 Networks Using the EX Series Ethernet Switches and MX Series 3D Universal Edge Routers

Juniper Networks M120 Multiservice Edge Router Configuration

# truncated chassis { redundancy { graceful-switchover; } } interfaces { ge-5/0/0 { unit 0 { family inet { address 172.18.16.134/30; } } } ge-5/0/1 { unit 0 { family inet { address 172.18.16.138/30; } } } lo0 { unit 0 { family inet { address 172.18.19.3/32 { primary; } } } } } routing-options { graceful-restart; router-id 172.18.19.3; } protocols { ospf { area 0.0.0.0 { interface ge-5/0/0.0 { authentication { md5 10 key $9$aLGjqTz6uORmfORhSMWJGDj.P; ## SECRET-DATA } } interface ge-5/0/1.0 { authentication { md5 10 key $9$.fQntu1ylM/ClM8XbwmfTQ69; ## SECRET-DATA } } interface lo0.0 { passive; } interface fxp0.0 { disable; } } }

Copyright 2009, Juniper Networks, Inc.

41

IMPLEMENTATION GUIDE - Enterprise Multicast Implementation Guide for Layer 2 Networks Using the EX Series Ethernet Switches and MX Series 3D Universal Edge Routers

pim { rp { # Configuration of anycast-PIM on non-RP devices static { address 172.18.19.254; # Uses the shared anycast address as the RP address } } interface all { mode sparse; # Sets all interfaces to PIM sparse mode } interface fxp0.0 { disable; # Explicitly disables PIM on the management interface } } }

Verification
This section lists some commands that can be used to verify this setup along with sample outputs:

IGMP Snooping
The following commands were executed on the EX Series switches to verify IGMP snooping:

Show IGMP Snooping Membership


The IGMP snooping cache can be displayed through the show igmp-snooping membership command as shown below:

lab@ex-vc-1> show igmp-snooping membership VLAN: HR 225.0.0.1 * 171 secs Interfaces: ge-0/0/23.0 {master:0}
Show IGMP Snooping Route Ethernet-Switching
The forwarding state that is generated can be seen through the show igmp-snooping route ethernet-switching:

lab@ex-vc-5> show igmp-snooping route ethernet-switching detail VLAN Group Next-hop ENG 224.0.0.0, * 1303 Interfaces: ae0.0 VLAN Group Next-hop ENG 225.0.0.2, * 1313 Interfaces: ae0.0, ge-2/0/0.0, ge-0/0/23.0 VLAN Group Next-hop SALES 224.0.0.0, * 1303 Interfaces: ae0.0 VLAN Group Next-hop SALES 225.0.0.2, * 1314 Interfaces: ae0.0, ge-0/0/0.0, ge-2/0/23.0 {master:0}

42

Copyright 2009, Juniper Networks, Inc.

IMPLEMENTATION GUIDE - Enterprise Multicast Implementation Guide for Layer 2 Networks Using the EX Series Ethernet Switches and MX Series 3D Universal Edge Routers

Show IGMP Snooping Statistics


This command shows message and error counts related to IGMP snooping:

lab@ex-vc-5> show igmp-snooping statistics Bad length: 0 Bad checksum: 0 Invalid interface: 0 Not local: 0 Receive unknown: 0 Timed out: 0 IGMP Type Received Transmited Recv Errors Queries: 7125 10 0 Reports: 14254 14252 0 Leaves: 0 0 0 Other: 0 0 0 {master:0}
Show IGMP Snooping VLANs

lab@ex-vc-5> show igmp-snooping vlans detail VLAN: ENG, Tag: 200 Membership timeout: 260, Querier timeout: 255 Interface: ae0.0, tagged, Groups: 0, Reporters: 0, Interface: ae1.0, tagged, Groups: 0, Reporters: 0 Interface: ge-0/0/23.0, untagged, Groups: 1, Reporters: 1 Interface: ge-2/0/0.0, untagged, Groups: 1, Reporters: 1 Interface: ge-2/0/1.0, tagged, Groups: 0, Reporters: 0 VLAN: SALES, Tag: 300 Membership timeout: 260, Querier timeout: 255 Interface: ae0.0, tagged, Groups: 0, Reporters: 0, Interface: ae1.0, tagged, Groups: 0, Reporters: 0 Interface: ge-0/0/0.0, untagged, Groups: 1, Reporters: 1 Interface: ge-2/0/1.0, tagged, Groups: 0, Reporters: 0 Interface: ge-2/0/23.0, untagged, Groups: 1, Reporters: 1 {master:0} lab@ex-vc-5>
IGMP
The following commands were executed on the MX Series routers to verify IGMP:

Show IGMP Interface


This command lists information about the interfaces running IGMP including their state, the IGMP querier address, the IGMP version, and the number of groups currently active. It also lists the derived and configured timer and counter parameters for IGMP (all use the default values in the example below).

lab@Madras-MX-A> show igmp interface Interface: irb.100 Querier: 172.18.9.3 State: Up Timeout: 237 Version: 2 Groups: 1 Immediate leave: Off Promiscuous mode: Off Interface: irb.200 Querier: 172.18.10.3 State: Up Timeout: 220 Version: 2 Groups: 1 Immediate leave: Off Promiscuous mode: Off Interface: irb.300 Querier: 172.18.11.3

Copyright 2009, Juniper Networks, Inc.

43

IMPLEMENTATION GUIDE - Enterprise Multicast Implementation Guide for Layer 2 Networks Using the EX Series Ethernet Switches and MX Series 3D Universal Edge Routers

State: Up Timeout: 254 Version: 2 Groups: 1 Immediate leave: Off Promiscuous mode: Off Interface: irb.400 Querier: 172.18.13.3 State: Up Timeout: 146 Version: 2 Groups: 2 Immediate leave: Off Promiscuous mode: Off Interface: ge-5/0/9.0 Querier: 172.18.16.133 State: Up Timeout: None Version: 2 Groups: 0 Immediate leave: Off Promiscuous mode: Off Interface: ge-5/1/0.0 Querier: 172.18.16.141 State: Up Timeout: None Version: 2 Groups: 0 Immediate leave: Off Promiscuous mode: Off Interface: irb.500 Querier: 172.18.14.3 State: Up Timeout: 163 Version: 2 Groups: 0 Immediate leave: Off Promiscuous mode: Off 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 {master}
Show IGMP Group
Use this command to show the groups joined by directly connected hosts and other routers. Note that if IGMP is explicitly enabled but PIM is not enabled on an interface, the status of that interface will be shown as Up but it is omitted from the output of the show igmp group.

lab@Madras-MX-A> show igmp group Interface: irb.100 Group: 225.0.0.1 Source: 0.0.0.0 Last reported by: 172.18.9.2 Timeout: 178 Type: Dynamic Interface: irb.200 Group: 225.0.0.2 Source: 0.0.0.0 Last reported by: 172.18.10.2 Timeout: 165 Type: Dynamic Interface: irb.300 Group: 225.0.0.2 Source: 0.0.0.0 Last reported by: 172.18.11.2 Timeout: 197 Type: Dynamic

44

Copyright 2009, Juniper Networks, Inc.

IMPLEMENTATION GUIDE - Enterprise Multicast Implementation Guide for Layer 2 Networks Using the EX Series Ethernet Switches and MX Series 3D Universal Edge Routers

Interface: irb.400 Group: 225.0.0.2 Source: 0.0.0.0 Last reported by: 172.18.13.2 Timeout: 210 Type: Dynamic Group: 225.0.0.3 Source: 0.0.0.0 Last reported by: 172.18.13.2 Timeout: 217 Type: Dynamic Interface: local Group: 224.0.0.2 Source: 0.0.0.0 Last reported by: Local Timeout: 0 Type: Dynamic Group: 224.0.0.5 Source: 0.0.0.0 Last reported by: Local Timeout: 0 Type: Dynamic Group: 224.0.0.6 Source: 0.0.0.0 Last reported by: Local Timeout: 0 Type: Dynamic Group: 224.0.0.18 Source: 0.0.0.0 Last reported by: Local Timeout: 0 Type: Dynamic Group: 224.0.0.22 Source: 0.0.0.0 Last reported by: Local Timeout: 0 Type: Dynamic {master
Show IGMP Statistics
This command displays IGMP-related messages and error counts as shown in the example below:

lab@Madras-MX-A> show igmp statistics IGMP packet statistics for all interfaces IGMP Message type Received Sent Rx errors Membership Query 6 2 0 V1 Membership Report 0 0 0 DVMRP 0 0 0 PIM V1 0 0 0 Cisco Trace 0 0 0 V2 Membership Report 7 0 0 Group Leave 0 0 0 Mtrace Response 0 0 0 Mtrace Request 0 0 0 Domain Wide Report 0 0 0 V3 Membership Report 0 0 0 Other Unknown types 0 IGMP v3 unsupported type 0 IGMP v3 source required for SSM 0 IGMP v3 mode not applicable for SSM 0

Copyright 2009, Juniper Networks, Inc.

45

IMPLEMENTATION GUIDE - Enterprise Multicast Implementation Guide for Layer 2 Networks Using the EX Series Ethernet Switches and MX Series 3D Universal Edge Routers

IGMP Global Statistics Bad Length 0 Bad Checksum 0 Bad Receive If 14 Rx non-local 0 Timed out 824 Rejected Report 0 Total Interfaces 7 {master}

Troubleshooting
Clearing Statistics and Usage
Clear IGMP statistics Clear IGMP snooping membership (for EX Series platforms) Clear IGMP snooping statistics (for EX Series platforms)

Restarting Processes
Restart multicast snooping Restart Ethernet switching (for EX Series platforms)

Trace Options
Set protocols IGMP traceoptions flag query detail Set protocols igmp traceoptions flag report detail Set protocols igmp traceoptions flag leave detail (IGMP version 2 only) Set protocols igmp traceoptions flag packets detail Set protocols igmp traceoptions flag route detail Set protocols igmp-snooping traceoptions flag query detail Set protocols igmp-snooping traceoptions flag report detail Set protocols igmp-snooping traceoptions flag leave detail (IGMP version 2 only) Set protocols igmp-snooping traceoptions flag packets detail Set protocols igmp-snooping traceoptions flag route detail Set protocols igmp-snooping traceoptions flag vlan detail

Summary
Juniper Networks provides enterprise customers with a variety of solutions to implement multicast forwarding based on their specific requirements to deliver applications such as interactive distance learning, corporate video conferencing, inventory updates, software, and content distribution. This document gave a brief overview of IGMP support in Junos operating system. It then presented implementation guidelines for Layer 2 multicast deployments in enterprise networks using the EX Series and MX Series. Finally, an implementation example was presented with detailed configurations, verifications, and troubleshooting procedures.

46

Copyright 2009, Juniper Networks, Inc.

IMPLEMENTATION GUIDE - Enterprise Multicast Implementation Guide for Layer 2 Networks Using the EX Series Ethernet Switches and MX Series 3D Universal Edge Routers

Appendix: Conventions/Glossary
DPC DVMRP FPC IGMP MSDP MVPN OSPF P2P PIC PIM PIM SM PFE RE RP SFP SPT SSM VLAN VRRP Dense Port Concentrator Distance Vector Multicast Routing Protocol Flexible PIC Concentrator Internet Group Management Protocol Multicast Source Discovery Protocol Multicast Virtual Private Network Open Shortest Path First Point to Point Physical Interface Card Protocol Independent Multicast PIM sparse mode Packet Forwarding Engine Routing Engine Rendezvous Point Small form-factor pluggable transceiver Shortest Path Tree Source-specific multicast Virtual LAN Virtual Router Redundancy Protocol

About Juniper Networks


Juniper Networks, Inc. is the leader in high-performance networking. Juniper offers a high-performance network infrastructure that creates a responsive and trusted environment for accelerating the deployment of services and applications over a single network. This fuels high-performance businesses. Additional information can be found at www.juniper.net.

Corporate and Sales Headquarters Juniper Networks, Inc. 1194 North Mathilda Avenue Sunnyvale, CA 94089 USA Phone: 888.JUNIPER (888.586.4737) or 408.745.2000 Fax: 408.745.2100 www.juniper.net

APAC Headquarters Juniper Networks (Hong Kong) 26/F, Cityplaza One 1111 Kings Road Taikoo Shing, Hong Kong Phone: 852.2332.3636 Fax: 852.2574.7803

EMEA Headquarters Juniper Networks Ireland Airside Business Park Swords, County Dublin, Ireland Phone: 35.31.8903.600 EMEA Sales: 00800.4586.4737 Fax: 35.31.8903.601

To purchase Juniper Networks solutions, please contact your Juniper Networks representative at 1-866-298-6428 or authorized reseller.

Copyright 2009 Juniper Networks, Inc. All rights reserved. Juniper Networks, the Juniper Networks logo, Junos, NetScreen, and ScreenOS are registered trademarks of Juniper Networks, Inc. in the United States and other countries. All other trademarks, service marks, registered marks, or registered service marks are the property of their respective owners. Juniper Networks assumes no responsibility for any inaccuracies in this document. Juniper Networks reserves the right to change, modify, transfer, or otherwise revise this publication without notice.

8010061-001-EN

Dec 2009

Printed on recycled paper

Copyright 2009, Juniper Networks, Inc.

47

You might also like