[previous] Clear Spacer [next]

IP Multicast Routing

This chapter provides conceptual information, configuration options, and implementation guidelines for IP multicast routing on Switch 4007 Multilayer Switching Modules. This chapter covers these topics:


IP Multicast Overview

The easiest way to begin to understand multicasting is to compare it against two other address types and their communication models.

Unicast Model

A unicast address is designed to transmit a packet from a source to a single destination. Unicast transmissions are for one-to-one communication. If multiple users need to receive the same communication, the source operating in unicast mode generates and sends each copy separately.

Broadcast Model

A broadcast address is used to send a datagram from a source to multiple destinations - an entire subnetwork, for example. Broadcast transmissions produce one-to-many communication, but some of the receivers may not want or need to receive the communication.

Multicast Model

A multicast address is used for one-to-many and many-to-many communication in an environment where users and network devices either explicitly or implicitly communicate their desire to receive the communication.

In contrast to unicast, a source that uses IP multicast generates and sends only one copy of the information that is desired by multiple receivers. At point where the delivery path that reaches group members diverges, network devices replicate and forward the packets. This approach makes efficient use of both source processing power and network bandwidth.

When using the Internet Protocol (IP) as the basis for multicast communication, the requests for and delivery of the communication is fundamentally controlled by referencing certain IP addresses or their MAC-based equivalents. These addresses are called group addresses or groups and hosts that reference these addresses are called group members.

IP multicast group members can be scattered across multiple subnetworks; thus, successful transmission from a source to group members can occur within a campus LAN, a MAN, or over a WAN.

As an extension to the standard IP network-level protocol, IP multicast was first defined in 1985 in RFC 966. Certain other protocols are used to support IP multicast processes. These are explained later in this chapter.

Benefits of IP Multicast

New applications that are designed to increase productivity within and across organizations are driving the need for network infrastructures to support IP multicast. When the application content is time-sensitive or requires significant bandwidth (for example, a video stream), the IP multicast process provides an efficient delivery mechanism.

The business benefits of using IP multicast are that it:


How a Network Supports IP Multicast

To support IP multicast, the sending and receiving nodes, as well as the network infrastructure between them, must be multicast-enabled. Specifically, there must be cohesive support for IP multicast in the following components: TCP/IP protocol stack, operating systems, application software, NICs, and Layer 3 devices. Support for IP multicast in Layer 2 devices is not required by the standard, but is desirable, as explained later in this section.

IP Multicast Routing

IP multicast transmissions fundamentally depend on multicast-enabled Layer 3 devices (traditional routers or Layer 3 switches; hereafter both are called routers) to direct packets on an efficient path from sources to destinations.

As shown in Figure 50, routers that support IP multicast must accomplish two important tasks:

Figure 50 IP Multicast Communication Processes

Supporting Protocols in Your Module

To communicate with other routers, Switch 4007 Multilayer Switching Modules support the Distance-Vector Multicast Routing Protocol (DVMRP) version 3.6. DVMRP functions and configuration options are explained later in this chapter.

To communicate with group members on directly attached subnetworks, Switch 4007 Multilayer Switching Modules support the Internet Group Management Protocol (IGMP) version 1 and version 2. IGMP functions are covered later in this chapter.

IP Multicast Tunnels

IP multicast routers are key connection points for delivering IP multicast traffic between sources and multicast group members. In the event that some routers in your network only transmit unicast packets, you can configure a transitional technique called tunneling to extend the service area. Tunnels provide a virtual point-to-point link between two multicast routers, where the path between them includes one or more routers that do not support multicast routing (unicast routers).

Figure 51 DVMRP Tunnel Example

Figure 51 depicts a network configuration that requires an tunnel in order for the PC to receive the IP multicast application. The multicast routers support DVMRP, thus the tunnel is also configured with that protocol.

A multicast router is required at each end of the tunnel. At each tunnel entrance, the router encapsulates the IP multicast packets in standard IP unicast packets - that is, it puts them in a format that the unicast routers can understand. When these packets reach the end of the tunnel, the router strips the encapsulation away and returns the packet to its native IP multicast format.

Supporting Protocol in Your Module

Switch 4007 Multilayer Switching Modules use the Distance-Vector Multicast Routing Protocol (DVMRP) to form IP multicast tunnels. Specific aspects of tunnel configuration are described later in this chapter.

IP Multicast Filtering

When a router discovers that at least one IP multicast group member resides on a directly attached subnetwork, it forwards group traffic on that interface until it determines that group members no longer require the traffic. If multiple ports are configured in an interface, a router sends copies of the group traffic to all ports, even if only one port of those ports leads to group members. This is because the multicast routing protocol does not track exactly where group members reside on that interface.

The ability to filter IP multicast traffic on ports within a routing interface that do not lead to group members is highly desirable (although it is not required in the IP multicast standard) because it allows you to further optimize the LAN environment. Through targeted filtering, a router can conserve even more network bandwidth and minimize unnecessary interruptions to endstation CPUs.

It is also important to have a similar IP multicast filtering capability in Layer 2 switches. See Chapter 11 to learn about this capability in Switch 4007 Layer 2 Switching Modules.

Supporting Protocol in Your Multilayer Switching Module

Your module supports the Internet Group Management Protocol (IGMP) version 1 and version 2. to track exactly which ports in an interface require IP multicast group traffic. IGMP covers two main functions: querying and snooping. These are explained later in this chapter.

Internet Support for IP Multicast

The MBONE is the Internet's experimental multicast backbone network. It is an interconnected set of Internet routers, subnetworks, and tunnels that support the delivery of IP multicast traffic.

The MBONE was first configured in 1992 as a test zone to enable IP multicast applications to be deployed without waiting for multicast routers to replace unicast routers across the entire Internet. The MBONE is actually a virtual network located within portions of the physical Internet. Its construction reflects several multicast zones connected together via IP multicast tunnels. When it was created in 1992, the MBONE spanned four countries and 40 subnetworks; today it spans over 25 countries and thousands of subnetworks.

You can connect to the MBONE through most Internet service providers (ISPs). You can use it to test multicast applications and technology or to connect private multicast LANs. Some organizations broadcast public information over the MBONE; examples include IETF (Internet Engineering Task Force) meetings and NASA (National Aeronautics and Space Administration, United States) space shuttle launches.


Key Concepts

This section describes several terms and concepts related to IP multicast routing.

Traffic Movement

Application sources generate the majority of IP multicast packets, but group members and routers that are communicating (DVMRP and IGMP messages) to establish the delivery path also generate IP multicast packets.

Traffic from application sources always travels in one direction - downstream from the source to group members. Using various protocols, network devices are responsible for determining where group members exist and coordinating a loop-free delivery path from the source to them.

Traffic that relates to the delivery path can travel both upstream and downstream - between routers and between routers and group members.

IP Multicast Groups

Users can join or leave an IP multicast group at any time. Users request and cancel membership through mechanisms built into their desktop application - perhaps visible to the user as Go and Quit buttons. There are no restrictions on the physical location or number of members in a group. A user may belong to one or more groups at any time.

Source-Group Pairs

Each IP multicast transmission can be linked to a unique pairing of a source address and multicast group address (destination address). In addition, network devices form a unique delivery path for each source-group pair. Multicast routers and switches track information about each source-group pair - mainly, the location of group members - and dynamically adjust the delivery path to ensure that IP multicast packets are delivered only where they need to go.

Multicast Addresses

A multicast packet differs from a unicast packet by the presence of a multicast group address in the destination address field of the IP header. IP multicast uses a Class D destination address format, which has the high-order four bits set to 1-1-1-0 followed by a 28-bit multicast group identifier.

Registered Groups

The Internet Assigned Numbers Authority (IANA) maintains a list of registered IP multicast groups. Expressed in standard dotted decimal notation, group addresses range from 224.0.0.0 - 239.255.255.255 and are classified by IANA as follows:

Table 78 Examples of Class D Permanent Address Assignments

Address

Meaning

224.0.0.0

Base Address (Reserved)

224.0.0.1

All systems on this subnet

224.0.0.2

All routers on this subnet

224.0.0.4

All DVMRP routers

224.0.0.5

All OSPF routers

224.0.0.6

All OSPF designated routers

224.0.0.7

All ST routers

224.0.0.8

All ST hosts

224.0.0.9

All RIP version 2 routers

224.0.0.11

Mobile agents

224.0.0.12

DHCP server/relay agent

224.0.0.13

All PIM routers

224.0.0.14

RSVP, Encapsulation

224.0.0.15

All CBT routers

Reserved MAC Addresses

IANA also controls a reserved portion of the IEEE-802 MAC-layer multicast address space. All addresses in this block use hexadecimal format and begin with 01-00-5E. A simple procedure maps Class D addresses to this block, so that IP multicasting can take advantage of the hardware-level multicasting supported by network interface cards (NICs).

The mapping process involves placing the low-order 23 bits of the Class D address (binary format) into the low-order 23 bits of the MAC address (hexadecimal format). For example, the Layer 3 address 224.10.8.5 maps to the Layer 2 MAC address 01-00-5E-0A-08-05.

To send a multicast packet, a source station inserts the Class D address in the IP packet, the network interface card maps that address to a IEEE-802 Ethernet multicast MAC address, and sends the frame. A host that wants to receive packets that are addressed to this group notifies its IP layer as such.


How IGMP Supports IP Multicast

IGMP provides a way for routers and switches to learn where group members exist on a network, and thus provides a critical function in the IP multicast packet delivery process.

Electing the Querier

On each subnetwork or broadcast domain (VLAN), the communication between routers, switches, and group members begins with one IGMP-capable device being elected as the querier - that is, the device that asks all hosts to respond with a report of the IP multicast groups that they wish to join or to which they already belong. The querier is always the device with the lowest IP address in the subnetwork. It can be a router or a Layer 2 switch. The network traffic flows most efficiently if the querier is the closest device to the sources of IP multicast traffic.

Query Messages

The querier normally sends messages called IGMP Host Membership Query Messages, or queries, every 125 seconds. All the hosts hear the query because it is addressed to 224.0.0.1, the all systems on this subnetwork Class D address. A query is not forwarded beyond the subnetwork from which it originates.

Host Messages

Hosts use IGMP to build their own types of IP multicast messages, as described in this section.

Response to Queries

Hosts respond to queries with IGMP Host Membership Report messages, or simply IGMP reports. These reports do not travel beyond their origin subnetworks, and hosts send them at random intervals to prevent the querier from being overwhelmed.

A host sends a separate report for each group that it wants to join or to which it currently belongs. Hosts do not send reports if they are not group members.

If a router does not receive at least one host report for a particular group after two queries, the router assumes that members no longer exist and it prunes the interface for that source-group spanning tree.

Join Message

Rather than wait for a query, a host can also send an IGMP report on its own initiative to inform the querier that it wants to begin receiving a transmission for a specific group (perhaps by clicking a Go or Start button on the client interface). This is called a join message. The benefit is faster transmission linkages, especially if the host is the first group member on the subnetwork.

Leave-Group Messages

Leave-group messages are a type of host message defined in IGMP version 2. If a host wants to leave an IP multicast group, it issues a leave-group message addressed to 224.0.0.2, the all routers in this subnetwork Class D address. Upon receiving such a message, the querier determines whether that host is the last group member on the subnetwork by issuing a group-specific query.

Leave-group messages lower leave latency - that is, the time between when the last group member on a given subnetwork sends a report and when a router stops forwarding traffic for that group onto the subnetwork. This process conserves bandwidth. The alternative is for the router to wait for at least two queries to go unanswered before pruning that subnetwork from the delivery tree.

Role of IGMP in IP Multicast Filtering

To further refine the IP multicast delivery process and maximize bandwidth efficiency, a Layer 3 module filters IP multicast packets on appropriate ports using a process called IGMP snooping. Both bridged interfaces and routed interfaces record which ports receive host IGMP reports and then set their filters accordingly so that IP multicast traffic for particular groups is not forwarded on ports or VLANs that do not require it.


How DVMRP Supports IP Multicast

DVMRP is a distance-vector routing protocol that allows routers to establish shortest-path, source-rooted, IP multicast delivery trees. While it is similar to the Routing Information Protocol (RIP), one important difference is that DVMRP focuses on the previous hop back to a multicast source, not the next hop to a destination. Multicast routers are concerned with moving packets away from the source on a loopless path so that multicast storms do not occur.

Spanning Tree Delivery

DVMRP version 3.x uses the Reverse Path Multicast (RPM) algorithm to construct a delivery tree that begins at the source and spans out to reach group members on a loopless path through the network. Hence, DVMRP seeks to form a source-rooted spanning tree for each source-group pair. The shape of each tree changes dynamically, depending on the location of hosts that join and leave the group. As shown in Figure 52, any routing interface that contains group members is called a leaf interface.

Figure 52 Sample IP Multicast Spanning Tree

The term spanning tree applies to any loopless graph that spans intelligent nodes. The DVMRP spanning tree structure provides only one active path to connect any two multicast routers in the network. This approach provides a logical, efficient path to reach group members and prevents multicast storms from decreasing network performance.

The Spanning Tree Algorithm that is specified in the IEEE 802.1D MAC Bridges base standard is a different implementation of the spanning tree concept; it is not used with IP multicast.

Managing the Spanning Tree

RPM uses three main techniques to dynamically adjust the shape of an IP multicast spanning tree: broadcasting, pruning, and grafting. These techniques balance the goal of an efficient delivery path with the goal of effective service for all potential group members. Figure 53 shows the broadcasting, pruning, and grafting processes.

Figure 53 RPM Techniques for Managing the Multicast Spanning Tree

Interface Relationships

The interface on which a router receives source-origin traffic for a given source-group pair is called the incoming or parent interface. Each interface over which the router forwards source-group traffic is called an outgoing or child interface. A child interface on one router can:

Broadcasting

The first packet for any source-group pair is broadcast across the entire network, as far as packet time-to-live (TTL) and router TTL thresholds permit. If a packet arrives on an interface that the router determines to be the shortest path back to the source (by comparing interface metrics), then the router forwards the packet on all interfaces except the incoming interface. Downstream routers quickly send either:

Pruning

A parent interface transmits a prune message to its upstream neighboring router if there are no group members on its child interfaces. A prune message directs the upstream router not to forward packets for a particular source-group pair in the future. Prune messages always affect the entire routing interface; they cannot be targeted to prune individual port segments that belong to an interface (IGMP snooping effectively achieves this, however).

Prune messages always begin at the leaf routers and are sent one hop back toward the source. Each successive router determines whether to prune its connections.

Inside the prune message is a prune lifetime, or prune timer, which is a period of time for which the prune message is valid. When the prune lifetime expires, the interface is added back into the multicast delivery tree - that is, until it generates another prune message.

Even though routers must use memory to store membership and prune information, this approach regains the bandwidth that would have been wasted on branches that do not lead to group members.

Grafting

If a router that has previously sent a prune message discovers a new group member (from IGMP Reports) on one of its connections, it sends a graft message to the previous hop router. When an upstream router receives this message, it cancels the prune message it previously received. Hop by hop, graft messages cascade back toward the source until they reach the nearest live branch point on the IP multicast spanning tree.

DVMRP Interface Characteristics

All DVMRP interfaces and DVMRP tunnels have two characteristics: a metric that specifies the cost for the interface and a time-to-live (TTL) threshold.

In all cases where the multicast router drops multicast packets, the router does not provide an error notification to the source because IP multicast is a connection-less technology.


Key Guidelines for Implementation

A Switch 4007 Multilayer Switching Module needs to have IP multicast routing features enabled only if network users that sit downstream of the module (from the perspective of the source location) require access to IP multicast application traffic.

Configuration Procedure

To activate IP multicast routing and filtering capabilities in a Multilayer Switching Module, follow this general procedure:

1 .   Configure VLANs and IP routing interfaces on the module. See Chapter 14 for more information about VLANs. See Chapter 16 for more information about IP routing.

2 .   Ensure that IGMP snooping and querying functions are enabled on the module.

For general information about IGMP, see "How IGMP Supports IP Multicast" earlier in this chapter.

For information about configuring IGMP functions on a Layer 3 module, see "Configuring IGMP Options" later in this chapter.

To figure IGMP functions on Switch 4007 Layer 2 Switching Modules, see Chapter 11 in this guide.

3 .   Enable DVMRP on each interface that is to perform IP multicast routing.

You can modify the default TTL threshold and DVMRP metric values for each interface.

For general information about DVMRP see "How DVMRP Supports IP Multicast" earlier in this chapter.

For information about configuring DVMRP, see "Configuring DVMRP Interfaces" later in this chapter.

4 .   If your network requires a multicast tunnel and if a Multilayer Switching Module is to going to serve as one or more tunnel endpoints, configure the tunnels now. (Remember to configure the tunnels on the remote systems as well.)

See "Configuring DVMRP Tunnels" later in this chapter.

5 .   Configure a default route on an interface (if applicable to your network).

See "Configuring DVMRP Default Routes" later in this chapter.

6 .   View the various displays, routing table and cache to see how the module is processing IP multicast traffic.

See "Viewing the DVMRP Routing Table" and "Viewing the DVMRP Cache" later in this chapter.

7 .   Use the traceroute option for troubleshooting or to determine the traffic paths.

See "Using IP Multicast Traceroute" later in this chapter.

Impact of Multicast Limits

As described in Chapter 9, you can use the bridge port multicastLimit option to set per-port multicast limits. This optional feature can prevent segments of your network from being adversely affected by multicast or broadcast storms. If network users have trouble receiving IP multicast application traffic, verify that bridge ports are not configured with a bridge port multicast limit that is too low.

Impact of IEEE 802.1Q on Multicasts

Multicasting in 802.1Q VLAN tagging environments may have performance implications for a Multilayer Switching Module. Specifically, if you have multiple VLANs associated with a single port, the module is forced to replicate multicast packets to each VLAN that has multicast group members, even if the path to reach the members is the same physical link. To achieve wirespeed multicast performance, 3Com recommends that you configure only one VLAN per port. Contact your 3Com representative about network design options.

Protocol Interoperability

Routing protocols other than DVMRP exist to support IP multicast functions. Interoperability issues between these routing protocols mean that you should plan your routing infrastructure carefully. Contact your 3Com representative for more information.


Configuring IGMP Options

You can enable or disable IGMP snooping and querying functions, set the interface time-to-live (TTL) threshold, and obtain summary and detail displays of IGMP-related information.

Querying and Snooping Modes

Your Multilayer Switching Module divides IGMP functions into two modes:

Important Considerations


Configuring DVMRP Interfaces

DVMRP is the protocol used to develop source-rooted spanning trees between routers in the network. You can enable or disable DVMRP on individual routing interfaces.

Important Considerations

Table 79 lists conventional numeric values and network objectives.

Table 79 Conventional TTL Scope Control Values

TTL Value

Objective

0

Restricted to the same host

1

Restricted to the same subnetwork

16

Restricted to the same site

64

Restricted to the same region

128

Restricted to the same continent

255

Unrestricted in scope


Configuring DVMRP Tunnels

A DVMRP tunnel allows IP multicast packets to traverse a portion of your network infrastructure that is not multicast-aware. In Multilayer Switching Modules, you can define tunnels, modify tunnel characteristics, display information about tunnels you have defined, and remove tunnels.

Important Considerations


Configuring DVMRP Default Routes

You can configure a default route for IP multicast traffic on any DVMRP routing interface in the module.

How Default Routes Work

If an interface is configured as a default route, it advertises source 0.0.0.0 to neighboring DVMRP routers. In their DVMRP routing tables, these neighboring routers list 0.0.0.0 as a source and list the advertising router interface as the gateway to reach that source.

Thus, if a neighboring router receives an IP multicast packet for which it has no normal routing information in its routing table, instead of filtering the packet, the router forwards it to the router which advertises the default route.

How to Configure A Default Route

To configure a default route on an interface, you

Important Considerations


Viewing the DVMRP Routing Table

Your module records DVMRP route information in a table that you can access from the management interface. Your module learns source-based route information from neighboring DVMRP routers and also advertises routes that it learns to its neighbors. The routing table does not consider group membership or prune messages. It simply records path information it has learned on its own or from other routers, including:

The module may never actually process IP multicast traffic from the sources listed in the routing table. This depends on whether group members exist on directly-attached subnetworks or on subnetworks from downstream routers.

See the Command Reference Guide for definitions of the fields of information and symbols used in the DVMRP route display.


Viewing the DVMRP Cache

Your module records information about the IP multicast group traffic it has processed. You can see this information in the DVMRP cache.

To display the DVMRP cache, the module prompts you to enter:

This process limits the cache table to displaying information for one source-group pair at a time. To display cache information for all source-group pairs, enter 255.255.255.255 at both prompts.

See the Command Reference Guide for definitions of the fields of information and symbols used in cache display.


Using IP Multicast Traceroute

You can perform an IP multicast traceroute from a Layer 3 module. The ability to trace the path of a IP multicast group packet from a source to a particular destination is desirable for troubleshooting purposes.

Unlike unicast traceroute, IP multicast traceroute requires the ability for routers to understand a special IGMP packet type and the related processes.

Beginning a trace from an IP multicast source would be difficult because, at forks in the network paths, there is no way to determine which direction to take. You would have to flood the entire tree and wait for responses (or the lack thereof) to find the path. Thus, a more efficient approach is to start at the destination and travel backwards toward the source, using the knowledge held by IP multicast routing protocols that work by calculating previous hops back toward sources.

An IP multicast traceroute proceeds as follows:

1 .   At the destination node (your module), you specify a source and group address.

2 .   The module sends a traceroute Query packet to the last-hop multicast router (the upstream router for this source-group pair).

3 .   The last-hop router turns the Query packet into a Request packet by adding a response data block containing its interface addresses and packet statistics. It then forwards the Request packet via unicast to the router that it believes is the previous hop for the given source-group pair.

4 .   Each previous hop router adds its response data to the end of the Request packet, then forwards it via unicast to the next previous hop router.

5 .   Finally, the first-hop router - that is, the router that believes that the source-group packets originate on one of its directly-attached subnetworks - adds its data, changes the Request packet to a Response packet, and sends the completed response back to the destination node that issued the traceroute query.

6 .   You see a display that shows IP addresses of the interfaces that span from your module back to the source that you specify. The display also shows the number of hops back to those interfaces, the multicast routing protocols used, and the amount of time it takes to reach each hop from the receiver.

Important Considerations


Standards, Protocols, and Related Reading

DVMRP was first defined in RFC 1075 and has been modified in various Internet drafts. IGMP was first defined in RFC 1112 and has been modified in various Internet drafts. To learn more about DVMRP and IGMP, IP multicast technology, or related events, consult the following Web resources:

[previous] Clear Spacer [next]