Internet DRAFT - draft-pfister-homenet-multicast
draft-pfister-homenet-multicast
Network Working Group P. Pfister
Internet-Draft
Intended status: Standards Track October 27, 2014
Expires: April 30, 2015
Multicast enabled Home Network using PIM-SSBIDIR and HNCP
draft-pfister-homenet-multicast-00
Abstract
This document specifies a possible solution enabling multicast
routing in a home network. It relies on the Source-Specific
Bidirectional variant of the Protocol Independent Multicast routing
protocol (PIM-SSBIDIR). HNCP is used to elect the Rendezvous Point
address and a Proxy Controller connected to the Rendezvous Point
Link. Additionally, PIM-SSBIDIR routers behavior is slightly
modified on the Rendezvous Point Link so that the Proxy Controller
may know the home-wide subscription state. Note that this document
defines one single working solution to the stated problem: Inputs
regarding other possibilities are welcome.
Status of This Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
This Internet-Draft will expire on April 30, 2015.
Copyright Notice
Copyright (c) 2014 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
Pfister Expires April 30, 2015 [Page 1]
Internet-Draft homenet Prefixes October 2014
carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Problem Analysis . . . . . . . . . . . . . . . . . . . . . . 3
2.1. Requirements . . . . . . . . . . . . . . . . . . . . . . 3
2.2. Specific Problems . . . . . . . . . . . . . . . . . . . . 4
2.2.1. Uplink subscription problem . . . . . . . . . . . . . 4
2.2.2. Uplink source localization problem . . . . . . . . . 4
3. Homenet Multicast Support Specifications . . . . . . . . . . 5
3.1. General Requirements . . . . . . . . . . . . . . . . . . 5
3.2. Rendezvous Point Address Election Process . . . . . . . . 5
3.3. PIM Border Proxy behavior . . . . . . . . . . . . . . . . 6
3.4. PIM-SSBIDIR changes . . . . . . . . . . . . . . . . . . . 7
3.4.1. Router's behavior on the RP Link . . . . . . . . . . 7
3.4.2. Timing Considerations . . . . . . . . . . . . . . . . 8
4. Security Considerations . . . . . . . . . . . . . . . . . . . 8
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8
6. References . . . . . . . . . . . . . . . . . . . . . . . . . 9
6.1. Normative References . . . . . . . . . . . . . . . . . . 9
6.2. Informative References . . . . . . . . . . . . . . . . . 9
Appendix A. Acknowledgments . . . . . . . . . . . . . . . . . . 10
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 10
1. Introduction
IP multicast is used not only for link-local communications but also
for site-local exchanges (UPnP [UPnP] or TV over IP). Additionally,
we can expect new connected objects will make use of this technique
for diverse purposes. Most link types like Ethernet or 802.11
support link-local multicast natively, but a multicast routing
protocol is required when multiple links are present. The Protocol
Independent Multicast [RFC4601] is one of the most widely used
multicast routing protocol. Unfortunately, home networks have some
peculiarities that makes it unsuitable without changes.
This document lists the specificities of home networks regarding
multicast, the problems resulting from these peculiarities and
specifies how homenet routers must behave in order to enable
multicast routing for both in-home and ISP originated traffic in
multi-homed environments.
Pfister Expires April 30, 2015 [Page 2]
Internet-Draft homenet Prefixes October 2014
The solution makes use of the Source-Specific Bidirectional variant
of the Protocol Independent Multicast routing protocol (PIM-SSBIDIR -
[pim-ssbidir]) for routing multicast traffic inside the home, and PIM
Border Proxies ([pim-border-proxy]) for subscribing on all uplink
interfaces. Two new HNCP TLVs are defined. One is used in the
Rendezvous Point Address (RPA) and Proxy Controller election process,
the other is used for advertising PIM Border Proxies. In addition,
PIM-SSBIDIR behavior is slightly modified on the RP Link allowing the
Proxy Controller, connected on the RP Link, to acquire the home-wide
subscription state.
This document specifies a functional solution enabling multicast
routing in multi-homed home networks. Inputs regarding other
possibilities are very welcome and expected, so the best design may
be adopted.
2. Problem Analysis
Current home networks usually consist of a single link and therefore
support link-local multicast using MLDv2 [RFC3810] or IGMPv3
[RFC3376] for both all-source (ASM) and source-specific (SSM)
multicast. Future home networks ([I-D.ietf-homenet-arch]) will
consist of multiple links, which means multicast routing will be
required.
This section discusses home network requirements and problems related
to multicast routing.
2.1. Requirements
Future home networks should at least provide the same multicast
features as the existing home networks.
In-home traffic: Devices inside the home should be able to send and
receive multicast traffic originated inside the home.
ISP to Home traffic: Devices inside the home should be able to
receive multicast traffic coming from an ISP.
Home to ISP traffic: Although traffic originated inside the home
MUST NOT be forwarded on external interfaces by default, it
should not be precluded.
On top of that, home network environments add the following
constraints, defined in the Homenet architecture document.
Autoconfiguration: It must function without human interactions.
Pfister Expires April 30, 2015 [Page 3]
Internet-Draft homenet Prefixes October 2014
Multi-Homing: It must support multiple uplinks and therefore
multiple default routes.
This document makes no assumptions on the technique used by ISPs to
provide multicast traffic. It allows border routers to act as PIM
Border Proxies, translating the home-wide subscription state toward
every multicast enabled home uplink. Border router default behavior
SHOULD consist in using MLDv2 and IGMPv3 on all uplink interfaces.
Similarly, multicast enabled ISPs SHOULD listen to MLDv2 and IGMPv3
subscriptions coming from CPEs, and provide multicast traffic
accordingly.
Note that this document doesn't preclude the use of different
techniques. For example, an ISP-provided CPE may be specifically
configured to translate in-home multicast subscriptions into PIM
requests on the ISP link. But this is outside the scope of this
document.
2.2. Specific Problems
Both PIM Bootstrap Mechanism (PIM BSR - [RFC5059]) and the Homenet
Configuration Protocol (HNCP - [I-D.ietf-homenet-hncp]) could be used
for autoconfiguration purposes. As HNCP support is already required
in all homenet routers, this document proposes to use it instead of
its PIM equivalent.
PIM-SM [RFC4601], PIM-BIDIR [RFC5015] and PIM-SSM were designed to
function in single routed domains. Extensions allow multiple domains
to be connected one with each other, but they all require specific
PIM interactions between the domains, and a non-ambiguous knowledge
of the next hop router for any multicast source. Given homenet
constraints, we encounter the two following problems.
2.2.1. Uplink subscription problem
Initially, PIM reacts to two types of events. MLDv2/IGMPv3
subscriptions and multicast traffic origination. As receiving
traffic from the ISP requires a subscription to happen first, border
routers need some knowledge of the home-wide subscription state. In
a single-homed network, the border router could be the RP, but in a
multi-homed network, this subscription information must be shared
between all border routers.
2.2.2. Uplink source localization problem
In multi-homed networks, routers have multiple default routes (one
for each uplink). Unicast routing is achieved by looking at both
Pfister Expires April 30, 2015 [Page 4]
Internet-Draft homenet Prefixes October 2014
source and destination addresses, but this technique can't be used
when forwarding Join/Prune messages.
When multiple default routes point to different next-hop routers,
Source-Specific Join/Prune messages' next-hop cannot be reliably
determined. A possible but not very scalable solution would consist
in letting all the routers dynamically know where are every sources
located. This document proposes to makes use of PIM-SSBIDIR instead.
3. Homenet Multicast Support Specifications
3.1. General Requirements
In order to deliver multicast traffic to subscribed devices, all
homenet routers MUST implement PIM-SSBIDIR as well as the
specifications presented in the present document.
Whenever the present document doesn't conform to PIM specifications,
behavior and configuration values described in this document take
precedence.
3.2. Rendezvous Point Address Election Process
PIM-SSBIDIR and PIM-BIDIR both rely on the mapping between group
ranges and Rendezvous Point Addresses. In PIM-SSBIDIR a Rendezvous
point address doesn't need to belong to an actual router but rather
identify the Rendezvous Point Link. This is still true in the
present document, but in addition to the RP Address, HNCP is used to
elect a single Proxy Controller, directly connected to the RP Link.
In order to elect the RPA and Proxy Controller, the following HNCP
TLV is defined.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type: PIM-RPA-CANDIDATE | Length: 24 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Priority | Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
| IPv6 RP Address |
| |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
PIM RPA Candidate TLV
Pfister Expires April 30, 2015 [Page 5]
Internet-Draft homenet Prefixes October 2014
The Rendezvous Point Address is chosen among all the advertised PIM
RPA Candidate TLVs. The TLV with the highest priority is chosen
first. In case of tie, the highest RPA address is preferred. The
elected Proxy Controller is the router with the highest router ID
advertising the elected PIM RPA Candidate TLV.
A router MUST start advertising a PIM RPA Candidate TLV (and thus
candidate as Proxy Controller) whenever one of the two following
condition is met.
o There is no currently advertised PIM RPA Candidate TLV network-
wide.
o All the advertised PIM RPA Candidate TLVs have priority values
lower than the one specified in the router's configuration and it
is specifically stated by configuration that the router should try
overcoming the currently elected RP.
A router MUST stop advertising a PIM RPA Candidate TLV whenever
another advertised PIM RPA Candidate TLV takes precedence over its
own one.
A router MUST NOT advertise more than one PIM RPA Candidate TLV. An
advertised PIM RPA Candidate TLV MUST contain an IPv6 address known
by all home routers and associated with a directly connected link. A
Priority value of 0 SHOULD be used, unless stated otherwise by
dynamic (DHCP, netconf, ...) or static (file) configuration.
When the RP Address is not valid anymore, the elected Proxy
Controller MUST replace the advertised RP Address with a new, valid,
RP Address. Such an event SHOULD be avoided. Therefore, an address
with a long valid lifetime SHOULD be preferred.
3.3. PIM Border Proxy behavior
All routers with at least one uplink interface SHOULD behave as PIM
Border Proxies, as specified in [pim-border-proxy], unless specified
otherwise by static or dynamic configuration. They SHOULD proxy the
received subscription state onto uplink interfaces for all groups of
global scope.
Multicast proxying is a local operation subject to numerous
optimizations and configuration, particularly on ISP-provided CPEs.
The following list specifies the default behavior.
o All groups with non-global scope SHOULD be ignored.
Pfister Expires April 30, 2015 [Page 6]
Internet-Draft homenet Prefixes October 2014
o The home-wide subscription state SHOULD be proxied on all uplink
interfaces.
o The uplink default protocols are MLDv2 for IPv6 groups and IGMPv3
for IPv4 groups.
In addition, PIM Border Proxy routers MUST advertise the following
TLV in their HNCP Node State.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type: PIM_BORDER_PROXY | Length: 16 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
| IPv6 Proxy Address |
| |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
PIM Border Proxy TLV
The elected Proxy Controller must behave as specified in
[pim-border-proxy]. It MUST establish one peering for each address
specified in PIM Border Proxy TLVs. It MUST reflect the home-wide
subscription state toward all border proxies, computed based on all
per-interface PIM downstream state machines and on-link local
subscriptions, as if the RP was reachable on a virtual uplink
interface.
3.4. PIM-SSBIDIR changes
This section specifies the changes made to PIM-SSBIDIR, required in
the homenet context.
3.4.1. Router's behavior on the RP Link
PIM-SSBIDIR always forwards the multicast traffic toward the RP Link
and therefore never sends Join/Prune packets on the RP Link nor
requires routers to listen to local subscriptions on the RP Link.
But the elected Proxy Controller needs to know the home-wide
subscription state. Which is why router's behavior is modified on
the RP Link.
All routers MUST operate the (*,G), (S,G) and (S,G,rpt) upstream
state machines on all their interfaces, including the RP Link. On
the RP Link, no DF Election process takes place. When sending Join/
Pfister Expires April 30, 2015 [Page 7]
Internet-Draft homenet Prefixes October 2014
Prune messages on the RP Link, the DF address is replaced with the RP
Address.
The elected Proxy Controller MUST as well operate the downstream per-
interface (*,G), (S,G) and (S,G,rpt) state machines on the RP Link,
as well as enable multicast querying. Other routers connected to the
RP Link SHOULD enable both downstream state machines and multicast
querying as well in order to improve transition whenever the Proxy
Controller would change.
3.4.2. Timing Considerations
PIM is an unreliable protocol. When a Join message is lost, the
protocol waits for the next one, which by default comes after 60
seconds. A very typical use case for IP multicast is TV over IP, but
we can't expect a user to wait 60 seconds when it changes the TV
channel. Therefore, the default period between Join/Prune messages
is reduced.
t_periodic: Default = 5 secs.
Similarly, PIM sends Hello messages every 30 seconds, which means
dead neighbor detection occurs after 90 seconds. Therefore, the
Hello period is reduced.
Hello_Period: Default = 10 secs.
4. Security Considerations
This document mostly relies on HNCP and PIM-SSBIDIR and therefore
doesn't add much new threats.
The RP election process could be attacked whenever HNCP is not
protected. Similarly, an attacker could advertise numerous PIM
Border Proxy TLVs as a Deny of Service attack vector.
In order to operate securely, both HNCP and PIM-SSBIDIR should be
secured.
5. IANA Considerations
IANA is kindly requested to reserve two new HNCP TLV identifiers:
o PIM Border Proxy TLV: PIM_BORDER_PROXY
o PIM RPA Candidate TLV: PIM-RPA-CANDIDATE
Pfister Expires April 30, 2015 [Page 8]
Internet-Draft homenet Prefixes October 2014
6. References
6.1. Normative References
[RFC3810] Vida, R. and L. Costa, "Multicast Listener Discovery
Version 2 (MLDv2) for IPv6", RFC 3810, June 2004.
[RFC3376] Cain, B., Deering, S., Kouvelas, I., Fenner, B., and A.
Thyagarajan, "Internet Group Management Protocol, Version
3", RFC 3376, October 2002.
[I-D.ietf-homenet-hncp]
Stenberg, M. and S. Barth, "Home Networking Control
Protocol", draft-ietf-homenet-hncp-00 (work in progress),
April 2014.
[pim-ssbidir]
Pierre Pfister, "Source Specific support for Bidirectional
Protocol Independent Multicast", October 2014,
<http://tools.ietf.org/html/draft-pfister-pim-ssbidir-00>.
[pim-border-proxy]
Pierre Pfister, "Protocol Independent Multicast Border
Proxying", October 2014, <http://tools.ietf.org/html/
draft-pfister-pim-border-proxy-00>.
6.2. Informative References
[RFC4601] Fenner, B., Handley, M., Holbrook, H., and I. Kouvelas,
"Protocol Independent Multicast - Sparse Mode (PIM-SM):
Protocol Specification (Revised)", RFC 4601, August 2006.
[RFC5015] Handley, M., Kouvelas, I., Speakman, T., and L. Vicisano,
"Bidirectional Protocol Independent Multicast (BIDIR-
PIM)", RFC 5015, October 2007.
[RFC5059] Bhaskar, N., Gall, A., Lingard, J., and S. Venaas,
"Bootstrap Router (BSR) Mechanism for Protocol Independent
Multicast (PIM)", RFC 5059, January 2008.
[UPnP] UPnP Forum, "Internet Gateway Device (IGD) Standardized
Device Control Protocol V 1.0", November 2001.
[I-D.ietf-homenet-arch]
Chown, T., Arkko, J., Brandt, A., Troan, O., and J. Weil,
"IPv6 Home Networking Architecture Principles", draft-
ietf-homenet-arch-11 (work in progress), October 2013.
Pfister Expires April 30, 2015 [Page 9]
Internet-Draft homenet Prefixes October 2014
Appendix A. Acknowledgments
The author would like to thank Steven Barth and Mohammed Hawari for
their help in the specification and implementation process, as well
as Mark Townsley, Stig Venaas, IJsbrand Wijnands and Markus Stenberg
for their useful inputs.
Author's Address
Pierre Pfister
Paris
France
Email: pierre@darou.fr
Pfister Expires April 30, 2015 [Page 10]