Table Of Contents
IPv6 Multicast Configuration in Cisco IOS Software
Protocol Independent Multicast-Sparse Mode
PIMv6 Source Specific Multicast
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-routingipv6 cefipv6 multicast-routing!interface FastEthernet2/0description to the other routerip address 172.18.18.1 255.255.255.0ipv6 address 3FFE:FFFF:90::1/64ipv6 rip PS1 enable!interface FastEthernet2/1description to the sourceip address 172.17.17.254 255.255.255.0ipv6 address 3FFE:FFFF:78::78/64!ipv6 router rip PS1redistribute connected!ipv6 pim rp-address 3FFE:FFFF:78::78!router ripversion 2redistribute connectednetwork 172.18.0.0no auto-summary5.1.2 Client routerip cef!ipv6 unicast-routingipv6 cefipv6 multicast-routing!interface FastEthernet2/0description to the other routerip address 172.18.18.2 255.255.255.0ipv6 address 3FFE:FFFF:90::2/64ipv6 rip PS1 enable!interface FastEthernet2/1description to the clientip address 172.17.18.254 255.255.255.0ipv6 address 3FFE:FFFF:79::79/64!router ripversion 2redistribute connectednetwork 172.18.0.0no auto-summary!ipv6 router rip PS1redistribute 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 neighborNeighbor Address Interface Uptime Expires DR pri BidirFE80::202:FCFF:FE3C:A438 FastEthernet2/0 3d18h 00:01:28 1 BShow 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/1FastEthernet2/1 is up, line protocol is upInternet address is FE80::205:5FFF:FEAF:2C39/10MLD is enabled on interfaceCurrent MLD version is 1MLD query interval is 10 secondsMLD querier timeout is 25 secondsMLD max query response time is 10 secondsLast member query response interval is 1 secondsMLD activity: 25 joins, 17 leavesMLD querying router is FE80::205:5FFF:FEAF:2C39 (this system)5.2.3 Show ipv6 mld groupsFollowing 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/1MLD Connected Group MembershipGroup Address Interface Uptime ExpiresFF02::2 FastEthernet2/1 3d18h neverFF02::D FastEthernet2/1 3d18h neverFF02::16 FastEthernet2/1 3d18h neverFF02::1:FF00:1 FastEthernet2/1 3d18h 00:00:27FF02::1:FF00:79 FastEthernet2/1 3d18h neverFF02::1:FF23:83C2 FastEthernet2/1 3d18h 00:00:22FF02::1:FFAF:2C39 FastEthernet2/1 3d18h neverFF06:7777::1 FastEthernet2/1 00:00:06 00:00:26Show 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: SCJIncoming interface: FastEthernet2/0RPF nbr: FE80::202:FCFF:FE3C:A438Outgoing interface list:FastEthernet2/1, Forward, 00:03:05/never(3FFE:FFFF:78::1, FF06:7777::1), 00:03:05/00:00:24, flags: SJTIncoming interface: FastEthernet2/0RPF nbr: FE80::202:FCFF:FE3C:A438Outgoing interface list: NullSOURCE# show ipv6 mroute(*, FF06:7777::1), 00:00:22/00:03:07, RP 3FFE:FFFF:78::78, flags: SIncoming interface: Tunnel1RPF nbr: 3FFE:FFFF:78::78Outgoing 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: SFTIncoming interface: FastEthernet2/1RPF nbr: 3FFE:FFFF:78::1Outgoing interface list:FastEthernet2/0, Forward, 00:00:22/00:03:07(3FFE:FFFF:78::1, FF08::1), 00:00:13/00:03:16, flags: SPFIncoming interface: FastEthernet2/1RPF nbr: 3FFE:FFFF:78::1Outgoing interface list: NullMicrosoft 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 interfaceThe 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::1Media 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.


