Guest

IP Multicast

IPv6 Multicast Configuration for Cisco IOS Software

Table Of Contents

IPv6 Multicast Configuration in Cisco IOS Software

Introduction

Abbreviations

IPv6 Multicast Basics

Group Concept

IPv6 Multicast Addressing

Multicast Address Examples

Multicast Listener Discovery

Protocol Independent Multicast-Sparse Mode

PIMv6 Source Specific Multicast

Demonstration Overview

Cisco IOS Software

Configuration

Show Commands

Microsoft Software

.NET Server 2003

Media Player 9

Media Server 9

DNS Configuration

Web Server Configuration

Standards

References


White Paper

IPv6 Multicast Configuration in Cisco IOS Software


Introduction

Multicast is a major building block of IPv6 development and deployment. Similarly to IPv4, the availability of applications on IPv6 hosts is primordial to the market's acceptance. Several applications are available today from free Mbone-based or commercials tools. In an attempt to understand IPv6 Multicast and its configuration, this document will summarize IPv6 Multicast protocols and its Cisco IOS® Software configuration, associated with Microsoft Media Server and Player version 9.

Support for IPv6 Multicast originated in Cisco IOS Software Releases 12.3(2)T, Release 12.2(18)S, and Release 12.0(26)S for the Cisco 12000 Series Internet Router.

Refer to the IPv6 Start Here documentation for details about specific IPv6 Multicast features:

http://www.cisco.com/univercd/cc/td/doc/product/software/ios123/123cgcr/ipv6_c/ftipv6s.htm

Abbreviations

BSR

Bootstrap Router

MLD

Multicast Listener Discovery

PIM

Protocol Independent Multicast

PIM-SM

PIM Sparse Mode

PIM-SSM

PIM Source Specific Mode

RP

RendezVous Point


IPv6 Multicast Basics

Group Concept

Multicast is based on the concept of a group. A multicast group is an arbitrary group of receivers that expresses an interest in receiving a particular data stream. This group has no physical or geographical boundaries—the receivers can be located anywhere on the Internet or in a private network. Receivers that are interested in receiving data flowing to a particular group must join the group by signaling their local router. This signaling is achieved with MLD protocol, which is the IPv6 equivalent of the IGMP protocol on IPv4. The network then delivers data to potentially unlimited receivers, using only one copy of the multicast data per subnet.

IPv6 Multicast Addressing

IPv6 uses a 16bytes/128 bits address length. There are 3 types of address in IPv6:

Unicast: one-to-one with various scopes (i.e.: Global, Link, Unique Local, Compatible)

Anycast: one-to-nearest (allocated from unicast)

Multicast: one-to-many

There is no longer a Broadcast address.

Figure 1

IPv6 Multicast Address Format

Following is the current IPv6 address allocation prefixed:

PF = 1111 1111 : Multicast Addresses

Group Addresses (Multicast),

Example:

FF02::9 for RIPv6

FF02::5 for OSPF speaker

FF02::6 for OSPF DR and BDR

Multicast Address Examples

Interface Scope

FF01:0:0:0:0:0:0:1 or FF01::1 All Nodes Address

FF01:0:0:0:0:0:0:2 or FF01::2 All Routers Address

Link Scope

FF02:0:0:0:0:0:0:1 or FF02::1 All Nodes Address

FF02:0:0:0:0:0:0:2 or FF02::2 All Routers Address

FF02:0:0:0:0:0:0:D or FF02::D All PIM Routers

Multicast Listener Discovery

Multicast Listener Discovery (MLD)v1 performs the functions and is derived from version IGMPv2, while MLDv2 is equivalent to IGMPv3 and requires working with PIM-SSM. Unlike IGMP on IPv4, MLD uses ICMPv6 to carry its messages. All MLD messages are local to the link with a hop Limit of 1, and have enabled the Router Alert option.

There are three types of MLD messages:

1. Query

2. Report

3. Done

1. Query (Type = decimal 130)

General and Group Specific

In a Query message, the Multicast Address field is set to zero when it sends a General Query, which learns which Multicast addresses have listener on an attached link.

Group Specific or Multicast-Address-Specific Query, the address field is set to a specific IPv6 Multicast address. This query learns whether a particular Multicast address has any listeners on an attached link.

2. Report (Type = decimal 131)

In a Report message, the Multicast Address field is that of the specific IPv6 Multicast address to which the sender is listening.

3. Done (Type = decimal 132)

In a Done message, the Multicast Address field is that of the specific IPv6 Multicast address to which the sender is ceasing to listen, respectively.

Protocol Independent Multicast-Sparse Mode

Protocol Independent Multicast-Sparse Mode (PIM-SM) uses a pull model to deliver multicast traffic. Only network segments with active receivers, which explicitly request the data, will receive the traffic.

PIM-SM distributes information about active sources by forwarding data packets on the shared tree. PIM-SM initially uses shared trees, so it requires the use of a rendezvous point, which must be administratively configured in the network.

Sources register with the rendezvous point, and subsequently forward data down the shared tree to the receivers. The edge routers learn about a particular source when they receive data packets on the shared tree from that source through the rendezvous point. The edge router then sends PIM (S, G) join messages towards that source.

Each router along the reverse path compares the unicast routing metric of the rendezvous point address to the metric of the source address. If the metric for the source address is better, it will forward a PIM (S, G) join message towards the source. If the metric for the rendezvous point is equal or better, then the PIM (S, G) join message will be sent in the same direction as the rendezvous point. In this case, the shared tree and the source tree will be the same.

PIMv6 Source Specific Multicast

PIM Source Specific Multicast (SSM) bypasses the Shared Tree of PIM SM and immediately creates the Shortest Path Tree. PIMv6 SSM can accomplish this for two reasons:

1. MLDv2 can specify the source in its request to the local router

2. Sources must be able to inform receivers of their existence via a method other than registering with the network (i.e.: web page).

Demonstration Overview

This illustration compiles the minimum hardware equipments to demonstrate the feature. It is clearly expandable as more hardware is available. Typically a "Y" topology is desirable. Cisco IOS Software Release 12.3(7)T and above allows multicast topologies where the core network is enabled with IPv6, but not with IPv6 Multicast. IPv6 Multicast packets are encapsulated over IPv6 or IPv4 in the core network.

In the proposed demonstration, two routers are connected in order to rely on PIM-SM for group membership exchange. If only one router is available, MLD is solely demonstrated, as no PIM adjacency can be created. Figure 2 includes one source and one client.

Figure 2

IPv6 Multicast Setup

Cisco IOS Software

It is necessary to run a minimum of Releases 12.3(2)T, 12.2(18)S, or 12.0(26)S on the Cisco 12000 Series Internet Routers in order to take advantage of IPv6 Multicast features. The following configuration files are valid for the three aforementioned Cisco IOS Software releases.

Configuration

Following are the configurations for both client and source attached routers. The multicast-specific commands have been underscored. It should be noted that, in contrast to IPv4, the command "IPv6 Multicast-Routing" enables all interfaces for IP multicast.

Source Router

ip cef
!
ipv6 unicast-routing
ipv6 cef
ipv6 multicast-routing
!
interface FastEthernet2/0
description to the other router
 ip address 172.18.18.1 255.255.255.0
 ipv6 address 3FFE:FFFF:90::1/64
 ipv6 rip PS1 enable
!
interface FastEthernet2/1
description to the source
 ip address 172.17.17.254 255.255.255.0
 ipv6 address 3FFE:FFFF:78::78/64
 !
ipv6 router rip PS1
 redistribute connected
!
ipv6 pim rp-address 3FFE:FFFF:78::78
!
router rip
 version 2
 redistribute connected 
 network 172.18.0.0
 no auto-summary
5.1.2 Client router
ip cef
!
ipv6 unicast-routing
ipv6 cef
ipv6 multicast-routing
!
interface FastEthernet2/0
description to the other router
 ip address 172.18.18.2 255.255.255.0
ipv6 address 3FFE:FFFF:90::2/64
 ipv6 rip PS1 enable
!
interface FastEthernet2/1
description to the client
 ip address 172.17.18.254 255.255.255.0
 ipv6 address 3FFE:FFFF:79::79/64
!
router rip
 version 2
 redistribute connected 
 network 172.18.0.0
 no auto-summary
!
ipv6 router rip PS1
 redistribute connected
!
ipv6 pim rp-address 3FFE:FFFF:78::78
!

Show Commands

Show IPv6 PIM Neighbor

Multicast requires that all routers create a neighbor relationship this is verified with the above command. Here we see that the Neighbor is Bi-dir capable but at present we do not support Bi-dir in IP multicast for IPv6.

CLIENT#sh ipv6 pim neighbor 
Neighbor Address Interface Uptime Expires DR pri Bidir
FE80::202:FCFF:FE3C:A438 FastEthernet2/0 3d18h 00:01:28 1 B

Show IPv6 MLD Interface

As previously introduced, MLD is the IPv6 equivalent of IPv4 IGMP. Cisco IOS Software supports both MLDv1 and MLDv2.

This example uses MLDv1, despite the fact that MLDv2 is the preferred method. MLDv1, which was selected as the current Microsoft IPv6 stack, was not SSM capable; therefore, only MLDv1 capability was required. Either MLDv1 or MLDv2 will work for Any Source Multicast applications. Only MLDv2 will work with SSM applications when they become available in the near future.

CLIENT#show ipv6 mld interface FastEthernet 2/1
FastEthernet2/1 is up, line protocol is up
 Internet address is FE80::205:5FFF:FEAF:2C39/10
 MLD is enabled on interface
 Current MLD version is 1
MLD query interval is 10 seconds
 MLD querier timeout is 25 seconds
 MLD max query response time is 10 seconds
 Last member query response interval is 1 seconds
 MLD activity: 25 joins, 17 leaves
 MLD querying router is FE80::205:5FFF:FEAF:2C39 (this system)
5.2.3 Show ipv6 mld groups
Following are all the groups that are joined by this interface. These include link local 
groups used by network protocols.
CLIENT#show ipv6 mld groups FastEthernet 2/1
MLD Connected Group Membership
Group Address Interface Uptime Expires
FF02::2 FastEthernet2/1 3d18h never 
FF02::D FastEthernet2/1 3d18h never 
FF02::16 FastEthernet2/1 3d18h never 
FF02::1:FF00:1 FastEthernet2/1 3d18h 00:00:27
FF02::1:FF00:79 FastEthernet2/1 3d18h never 
FF02::1:FF23:83C2 FastEthernet2/1 3d18h 00:00:22
FF02::1:FFAF:2C39 FastEthernet2/1 3d18h never 
FF06:7777::1 FastEthernet2/1 00:00:06 00:00:26

Show IPv6 mroute

IP multicast routing information is called state. State information is transient and is reliant upon data/protocol events to create it. In this example, the source is incoming on interface Fa2/0, but it has no outgoing interface on the client router

CLIENT# show ipv6 mroute
(*, FF06:7777::1), 00:03:05/never, RP 3FFE:FFFF:78::78, flags: SCJ
 Incoming interface: FastEthernet2/0
 RPF nbr: FE80::202:FCFF:FE3C:A438
 Outgoing interface list:
 FastEthernet2/1, Forward, 00:03:05/never
 (3FFE:FFFF:78::1, FF06:7777::1), 00:03:05/00:00:24, flags: SJT
 Incoming interface: FastEthernet2/0
 RPF nbr: FE80::202:FCFF:FE3C:A438
 Outgoing interface list: Null
SOURCE# show ipv6 mroute
(*, FF06:7777::1), 00:00:22/00:03:07, RP 3FFE:FFFF:78::78, flags: S
 Incoming interface: Tunnel1
 RPF nbr: 3FFE:FFFF:78::78
 Outgoing interface list:
 FastEthernet2/0, Forward, 00:00:22/00:03:07
 (3FFE:FFFF:78::1, FF06:7777::1), 00:05:21/00:01:39, flags: SFT
 Incoming interface: FastEthernet2/1
 RPF nbr: 3FFE:FFFF:78::1
 Outgoing interface list:
 FastEthernet2/0, Forward, 00:00:22/00:03:07
 (3FFE:FFFF:78::1, FF08::1), 00:00:13/00:03:16, flags: SPF
 Incoming interface: FastEthernet2/1
 RPF nbr: 3FFE:FFFF:78::1
 Outgoing interface list: Null

Microsoft Software

As Cisco IOS Software provides the network infrastructure, Microsoft software contributes by providing content through video streaming.

.NET Server 2003

.NET server 2003 is the platform and supports Media Server 9 natively. It includes several 32-bit editions of .NET server 2003. Only the Enterprise package supports IPv6 multicast, and it must be installed

Once .NET server 2003 is installed, IPv6 must be enabled on interfaces with the "netsh" tool. IPv6 Multicast support comes natively with IPv6. The following procedure can be followed on the command prompt:

C:\>netsh
>interface
>ipv6 install
>show interface

The server IPv6 address is configured manually to be easily accessible by clients and registered in the DNS server. The interface ID (e.g. 4) is inferred from the above "show command".

set address interface=4 address=3ffe:ffff:78::1

Media Player 9

The latest version of Media Player 9, found on the Microsoft Web site [MP] is loaded on a PC with Windows XP or with .NET server. The player is left with its default configuration.

The multicast content is accessed specifying the URL on the "File/Open URL" menu (i.e.: http://www.tme.net/cisco4.nsc). The ".nsc" file describes the location of the multicast content and is created automatically by Windows Media Server on the .NET server.

Media Server 9

Media server is one of the roles offered by .NET server. It allows, on the Enterprise edition, the creation of IPv6 multicast streams. Prior to create an IPv6 multicast stream, IPv6 must be enabled on the interface delivering the flow (follow instructions in paragraph 5.1). Streaming servers and associated players are also available from other sources: among them Digital Video Transport System [DVTS] and VideoLAN [VDOLAN].

Creating an IPv6 Multicast Stream

The .NET server interface offers a graphical tool to manage the Streaming Media server. From there, one or more IPv6 Multicast streams can be configured and launched to send IPv6 multicast packets. Detailed explanations of the configuration are available on the Microsoft Web server [MS].

DNS Configuration

The server fulfilling the DNS function must support AAAA record. To keep the demonstration simple, the DNS server is hosted on the Media server host. DNS server is one of the roles played by .NET server.

A zone is created to name the Media server host (e.g. tme.net) and 2 hosts (server and client) are added with A and AAAA records. The reverse zones are created as well.

tme.net

www     A       172.17.17.1

www AAAA       3ffe:ffff:78::1

tme2     A       172.17.18.1

tme2     AAAA       3ffe:ffff:90::1

17.17.172.arpa.addr

1           PTR       www.tme.net.

18.17.172.arpa.addr

1           PTR        tme2.tme.net.

Web Server Configuration

The .NET web server role must be enabled to allow the client to retrieve the web page that describes the content of the IPv6 Multicast stream. The procedure to perform this task can be found on the Microsoft Web server [IIS].

Standards

PIM-SM: draft-ietf-pim-sm-v2-new-08.txt

PIM-SSM: RFC3569

PIM BiDir: draft-ietf-pim-bidir-05.txt

MLDv1: RFC 2710

MLDv2: draft-vida-mld-v2-08.txt

MLD snooping: draft-ietf-magma-snoop-10.txt

Address Scoping: draft-ietf-ipngwg-addr-arch-v3-11.txt

References

[MP] http://www.microsoft.com/windows/windowsmedia/download

[DVTS] http://www.sfc.wide.ad.jp/DVTS/

[VDOLAN] http://www.videolan.org/

[MS] http://www.microsoft.com then TechNet Home > Products & Technologies > Windows Server 2003 > Product Documentation > Getting Started > Configuring Roles for Your Server.

[IIS] http://www.microsoft.com then TechNet Home > Products & Technologies > Internet Information Services > IIS 6.0 > Product Documentation > Internet Information Services > Getting Started.