Internet DRAFT - draft-cao-mcast-for-ipv6-ppvpn
draft-cao-mcast-for-ipv6-ppvpn
Network Working Group Wei Cao
Internet Draft Hui Liu
Huawei
Qiang He
Expires: August 2006 February 24, 2006
Multicast in MPLS/BGP IPv6 VPNs
draft-cao-mcast-for-ipv6-ppvpn-00.txt
Status of this Memo
Status of this Memo
By submitting this Internet-Draft, each author represents that any
applicable patent or other IPR claims of which he or she is aware
have been or will be disclosed, and any of which he or she becomes
aware will be disclosed, in accordance with Section 6 of BCP 79.
This document is an Internet-Draft and is in full conformance with
all provisions of RFC 3978/3979 .
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet-Drafts.
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."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.
Abstract
This document describes a method by which a Service Provider may
deploy IPv6 multicast service in BGP/MPLS IPv6 VPNs. Multicast in
IPv4 BGP/MPLS VPN has been in operation for several years and related
drafts are on RFC standard track . IPv6 infrastructure is under
construction and new application based on IPv6 is being developing
Cao, et al. Expires August 24, 2006 [Page 1]
Internet-Draft draft-cao-mcast-for-IPv6-PPVPN-00.txt February 2006
now. Multicast will act an important role in the future IPv6
environment. This document reuses and extends the method defined in
draft-ietf-l3vpn-2547bis-mcast-01 to support multicast traffic in
IPv6 VPNs. Specially, both IPv6 core and IPv4 core are considered in
this document.
The inter-working between an IPv4 site and an IPv6 sited is
outside the scope of this document.
Table of Contents
1. Introduction................................................3
1.1. Motivations............................................3
1.2. Overview...............................................3
1.3. Scope and target of this document.......................4
2. Protocols and PMSI..........................................4
2.1. Multicast Protocol supported in IPv6 VPN................4
2.2. PMSI to Transmit IPv6 Multicast Traffic.................4
2.3. Auto discovery of MVPN Members..........................5
2.4. <Sub-section 2.1 heading as appropriate>...
3. Extension for BGP and PIM messages...........................5
3.1. MDT SAFI...............................................5
3.2. BGP Connector Attribute.................................6
3.3. PIM RPF Vector.........................................6
3.4. Extensions for MTD TLV..................................7
3.5. Extensions for MDT Join TLV.............................8
4. Encapsulation...............................................8
4.1. Encapsulating IPv6 Traffic In IPv4 Multicast Packet......9
4.2. Encapsulating IPv6 Traffic In IPv6 Multicast Packet......9
5. Security Considerations......................................9
6. IANA Considerations........................................10
7. Acknowledgments............................................10
7.1. Normative References...................................11
7.2. Informative References.................................11
Author's Addresses............................................11
Intellectual Property Statement................................12
Disclaimer of Validity........................................12
Copyright Statement...........................................12
Cao, et al. Expires August 24, 2006 [Page 2]
Internet-Draft draft-cao-mcast-for-IPv6-PPVPN-00.txt February 2006
1. Introduction
This document describes a method by which a Service Provider may
deploy IPv6 multicast service in BGP/MPLS IPv6 VPNs. This document
reuses and extends the method defined in [MVPN] and [ROSEN] to
support multicast traffic in IPv6 VPNs. Specially, both IPv6 core and
Ipv4 core are discussed in this document. This document adopts the
definitions, acronyms and mechanisms defined in [MVPN], the details
of MVPN will not be re-described unless necessary.
1.1. Motivations
With the mature of techniques and more available devices IPv6 has
attracted more and more attention than before. BGP/MPLS VPN solution,
which is widely accepted and deployed in IPv4 network, has its
extension in IPv6 network and called as 6VPN. [6VPN] describes the
details of the method. Now several device vendors are planning to
provide 6VPN in near future.
IP multicast is accepted and used by more and more VPN customers
in their private infrastructures. Naturally, 6VPN customer may need
deploy multicast in their VPNs as they do in IPv4 VPNs. But in up-to-
date documents, there are still little discussions pertaining to
multicast in 6VPN.
As it is known that implementation of IPv4 MVPN is provided before
related specification had been specified, several problems (which are
mentioned in [MVPN-EXP]) appeared in deployment. So it is better to
pay some attention prior to the commencement of the deployment of
IPv6 MVPN.
1.2. Overview
[MVPN], as well as early "rosen-drafts", specifies the method to
provide multicast service in BGP/MPLS VPNS. The same method can be
used to enable multicast traffic transmitted between different IPv6
VPN sites. And form both the Service Provider and the customer
perspectives, the multicast service in IPv6 VPN should be identical
to that supported in IPv4 VPNs. The PE routers exchange the IPv6
reachability information for IPv6 VPN sites and PMSI is established
to transmit IPv6 Multicast traffic through core network. Customers
don't care and need not to know the network topology out their
private networks. It should be noted that IPv6 6VPN needs to support
both IPv4 and IPv6 core network that connect different IPv6 VPN Sites.
So IPv6 multicast traffic may be encapsulated in IPv6 or IPv4 packet
in the core network. In near future, using IPv4 core network seems
Cao, et al. Expires August 24, 2006 [Page 3]
Internet-Draft draft-cao-mcast-for-IPv6-PPVPN-00.txt February 2006
more attractive to the Service Providers. If IPv4 core network is
used all PE devices have to support IPv4/IPv6 dual stack.
1.3. Scope and target of this document
This document hopes to be helpful to the product vendors who plan to
support multicast in 6VPN, it mainly concerns the most general
problems to the implementations. This document tries to clarify some
issues that need to be updated to adapt to IPv6 environment.
Methods described in [MVPN] and [ROSEN] will not be re-stated here.
The solution details already been discussed in earlier documents,
such as RPF determination and spanning multi-as backbones, will be
accepted here. New techniques are being discussed such as reducing
PIM Join/Prune massages in backbone, using P2MP LSP as MDT tunnel are
out of the scope of this document. They will be included in later
version of this draft when needed.
2. Protocols and PMSI
2.1. Multicast Protocol supported in IPv6 VPN
Currently in IPv6 environment, PIM-SM and PIM-SSM have been widely
adopted while DVMRP and PIM-DM lost their position. Other protocols
such as Bidir-PIM and multicast MPLS have few implementations in IPv6.
No matter which multicast protocol will be widely accepted in IPv6
environment, implementation of IPv6 MVPN should not limit the
customers' choices.
2.2. PMSI to Transmit IPv6 Multicast Traffic
PMSI, also known as MDT, is used to transmit customer's multicast
traffic in IPv4 MVPNs. In theory, many techniques can be taken to
create PMSI, such as unicast tunnels (e.g. GRE tunnel) and P2MP LSP
tunnels. But in real world PMSI created by PIM-SM/PIM-SSM dominate
the available implementation. If IPv4 network is taken as 6VPN's core,
all current method to create PMSI can be used in 6VPN. As to IPv6,
since currently PIM-SM and PIM/SSM are the best candidates in IPv6
environment, this document suggests implementation chose PIM-SM or
PIM-SSM to create PMSI ( MDT ) to transmit IPv6 VPNs' multicast
traffic if IPv6 core is used. Of cause other method can be adopted
with the evolvement of related techniques.
The scenarios to create PMSI are same to that in IPv4 MVPN. If IPv6
core is used, multicast traffic packets are encapsulated in IPv6
packet ( multicast packet). If Ipv4 core is used, PE has to
Cao, et al. Expires August 24, 2006 [Page 4]
Internet-Draft draft-cao-mcast-for-IPv6-PPVPN-00.txt February 2006
encapsulate IPv6 multicast traffic in IPv4 packet at ingress and de-
capsulate those IPv6 packets at PMSI egress.
When PMSI is created by IPv4 protocol, in the view of IPv6 multicast
VPN VRF, the PMSI is an IPv6 multicast interface. But in the view of
public VRF of PE, the PMSI is a common IPv4 tunnel interface.
Both I-PMSI and S-PMSI should be supported in IPv6 Multicast PPVPN.
Packet encapsulation is discussed at section 4
2.3. Auto discovery of MVPN Members
The principle of finding MVPN Members by BGP has been described in
[MVPN]. No matter which protocol is used to establish PMSI, neighbor
relationship through PMSI can be established by sending PIM HELLO
message. However, packet loss may affect the reliability and
periodically sending PIM HELLO messages to PMSI lowers the efficiency
of the protocol. So this draft recommends BGP-based auto discovery in
IPv6 MVPN, other methods are optional. The details of auto discovery
will be discussed in later version of this draft.
3. Extension for BGP and PIM messages
Several protocol messages' format have been defined in earlier
related drafts to support MVPN. Extension of these protocol messages
is described bellow.
3.1. MDT SAFI
MDT SAFI is defined in [SAFI]. MDT SAFI contains the address of
the nexthop which will be used by the multicast source PE to send PIM
Join message for the I-PMSI ( default MDT ) address to. It is
extended to support IPv6 AFI in this draft.
The IPv6 NLRI has similar format with IPv4 NLRI, which is 8-byte-
RD: PE-Address followed by the MDT group address.
+-------------------------------+
| |
| RD:PE-Address (variable) |
| |
+-------------------------------+
| MDT Group-address (16 octets)|
+-------------------------------+
Cao, et al. Expires August 24, 2006 [Page 5]
Internet-Draft draft-cao-mcast-for-IPv6-PPVPN-00.txt February 2006
Route-Distinguisher: is the RD of the VRF to which this MDT
attribute belongs.
PE-Address : is the nexthop address. It may be an IPv6 address or
an IPv4 address corresponding to SP backbone network. Whether it is
IPv6 or IPv4 can be deduced by the length of NLRI, e.g. a length of
28 octets means IPv4 while a length of 40 octets means IPv6.
MDT Group Address : is the Group-address of the MDT-Group that a
VRF is associated to. It's length is 16 octets.
The usage is the same as of IPv4 MDT SAFI described in [SAFI].
3.2. BGP Connector Attribute
The format and usage in MVPN of BGP Connector attribute is defined
in [CONNECTOR] and [SAFI]. It is used to transport the address of the
originating PE router to the remote PE router in the same MVPN.
The attribute used in IPv6 MVPN contains one or more tuples of the
form :
+------------------------------+
| |
| Type (2 octets) |
+------------------------------+
| |
| Value (Variable) |
| |
+------------------------------+
Type : 0x0001 for IPv4 address and 0x8001 for IPv6 address.
Value : is an IPv4 address or IPv6 address defined by the Type.
If the SP backbone is an IPv4 networks, the Type field is 0x0001
with the Value field contain an IPv4 address. Or if the SP
backbone is IPv6, the Type field should be 0x8001 with an IPv6
address in the Value field. Other usage and guidelines of this
attribute is the same as defined in [BGP-CONN] and[MDT SAFI].
3.3. PIM RPF Vector
PIM RPF Vector TLV is defined in [RPF-VECTOR]. It is used in an
environment when the network's IGP does not have a route to the
source of the multicast tree. It consists of a single Vector which
Cao, et al. Expires August 24, 2006 [Page 6]
Internet-Draft draft-cao-mcast-for-IPv6-PPVPN-00.txt February 2006
identifies the exit point of the network. The usage of PIM RPF Vector
in IPv4 MVPN is pointed out in section 5.6 of [ROSEN]. Here we extend
the TLV for usage in IPv6 MVPN.
The format of PIM RFP Vector in IPv6 MVPN is as follows:
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|F|S| Type | Length | IP address
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+.......
F bit: Forward Unknown TLV. If this bit is set the TLV is forwarded
regardless if the router understands the Type.
S bit: Bottom of Stack. If this bit is set then this is the last TLV
in the stack.
Type: The Vector Attribute type is 0 for IPv4 and 1 for IPv6.
Length: Length in bytes is 4 for IPv4 and 16 for IPv6.
Value: An IPv4 address or an IPv6 address.
3.4. Extensions for MTD TLV
"MDT TLV" has the following format. It uses port 3232.
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 | Length | Value |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| . |
| . |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type (8 bits):
the type of the MDT TLV. Currently, 1 is used in IPv4 MVPN MDT Join
TLV . For IPv6 MVPN, the filed is to be defined ( 2? );
Length (16 bits):
the total number of octets in the TLV for this type, including
both the Type and Length field.
Cao, et al. Expires August 24, 2006 [Page 7]
Internet-Draft draft-cao-mcast-for-IPv6-PPVPN-00.txt February 2006
Value (variable length): the content of the TLV.
3.5. Extensions for MDT Join TLV
"MDT Join TLV" has the following format.
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 | Length | Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| IPv6 C-source |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| IPv6 C-group |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| IPv4/IPv6 P-group |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type (8 bits):
as defined above. For MDT Join TLV in IPv6 VPN, the value of the
field is 2.
Length (16 bits):
as defined above.
Reserved (8 bits):
for future use.
IPv6 C-Source (128 bits):
the IPv6 address of the traffic source in the IPv6 VPN.
IPv6 C-Group (128 bits):
the IPv6 address of the multicast traffic destination address
in the IPv6 VPN. IPv4/IPv6 P-Group (32/128 bits): the IPv4/IPv6
group address that the PE router is going to use to encapsulate the
traffic flow (C-Source, C-Group).
4. Encapsulation
IPv6 multicast traffic is encapsulated in PMSI which can be created
by different method. With different core networks used and different
Cao, et al. Expires August 24, 2006 [Page 8]
Internet-Draft draft-cao-mcast-for-IPv6-PPVPN-00.txt February 2006
protocols chosen, different encapsulation formats need to be defined.
As in IPv4 MVPN, GRE encapsulation is recommended method to send
multicast through PMSI.
4.1. Encapsulating IPv6 Traffic In IPv4 Multicast Packet
If the core network is based on IPv4, the encapsulation format should
be:
----------------------------------------------------------------
| P-IPv4 Header | GRE | C-IPv6 Header | C-Payload |
----------------------------------------------------------------
In IPv4 MVPN, the Protocol Number field in the P-IPv4 header must be
set to 47 and Protocol Type field of the GRE Header is set to be
0x800 .When IPv6 packet is encapsulated in IPv4 MGRE, the same number
may be used.
It seems that filling the GRE Header with different number may bring
some benefit. Current devices generally have control plane and packet
forwarding plane. It is easy for control plane to distinguish whether
it is IPv6 packet or IPv4 packet that is encapsulated in GRE because
the IPv4 group address (or LSP label or other tunnel identifier) used
for P-IPv4 Header is determined before the PMSI is created. But for
packet forwarding plane, distinguishing which kind of packets are
encapsulated may require looking up table or looking deeper in GRE
packet content and consume more hardware resource. This should be
discussed in latter version of this draft.
4.2. Encapsulating IPv6 Traffic In IPv6 Multicast Packet
If the core network is based on IPv6, the encapsulation format should
be:
----------------------------------------------------------------
| P-IPv6 Header | GRE | C-IPv6 Header | C-Payload |
----------------------------------------------------------------
The Protocol Number filed in the P-IPv6 head must be set to 47 and
Protocol Type field of the GRE Header must be set to be 0x800.
5. Security Considerations
This document has no known security implications.
Cao, et al. Expires August 24, 2006 [Page 9]
Internet-Draft draft-cao-mcast-for-IPv6-PPVPN-00.txt February 2006
6. IANA Considerations
This document creates no new requirements on IANA namespaces.
7. Acknowledgments
We'd like to thank Hongfei Chen for his feedback on this draft.
Cao, et al. Expires August 24, 2006 [Page 10]
Internet-Draft draft-cao-mcast-for-IPv6-PPVPN-00.txt February 2006
References
7.1. Normative References
[2547bis] "BGP/MPLS VPNs", Rosen, Rekhter, et. al., September 2003,
draft-ietf-l3vpn-rfc2547bis-01.txt
[MVPN] "Multicast in MPLS/BGP IP VPNs", Rosen, Aggarwal, May 2005,
draft-ietf-l3vpn-2547bis-mcast-03.txt
7.2. Informative References
[ROSEN-8] E. Rosen, Y. Cai, I. Wijnands, "Multicast in MPLS/BGP IP
VPNs", draft-rosen-vpn-mcast-08.txt
[MVPN-PIM] R. Aggarwal, A. Lohiya, T. Pusateri, Y. Rekhter, "Base
Specification for Multicast in MPLS/BGP VPNs", draft-
raggarwa-l3vpn-2547-mvpn-00.txt
[RAGGARWA-MCAST] R. Aggarwal, et. al., "Multicast in BGP/MPLS VPNs
and VPLS", draft-raggarwa-l3vpn-mvpn-vpls-mcast--01.txt".
[RP-MVPN] S. Yasukawa, et. al., "BGP/MPLS IP Multicast VPNs", draft-
yasukawa-l3vpn-p2mp-mcast-00.txt
[MDT SAFI] G. Nalawade, et. al., "MDT SAFI", draft-nalawade-idr-mdt-
safi-03.txt
[RPF-VECTOR ]draft-ietf-pim-rpf-vector-01
[MVPN-EXP] Yiqun Cai, Mike McBride, Chris Hall. ''Experience With
Multicast VPN'', draft-ycai-mvpn-experience-00
[BGP-CONN] Gargi Nalawade, Ruchi Kapoor, David Ward. ''BGP Connector
Attribute'', draft-nalawade-l3vpn-bgp-connector-00.txt
Author's Addresses
Wei Cao
Huawei Technologies Co., Ltd.
Email: caowayne@huawei.com
Hui Liu
Huawei Technologies Co., Ltd.
Email: liuhui47967@huawei.comm
Cao, et al. Expires August 24, 2006 [Page 11]
Internet-Draft draft-cao-mcast-for-IPv6-PPVPN-00.txt February 2006
Qiang He
Email: heqiangc@hotmail.com
Intellectual Property Statement
The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights
might or might not be available; nor does it represent that it has
made any independent effort to identify any such rights. Information
on the procedures with respect to rights in RFC documents can be
found in BCP 78 and BCP 79.
Copies of IPR disclosures made to the IETF Secretariat and any
assurances of licenses to be made available, or the result of an
attempt made to obtain a general license or permission for the use of
such proprietary rights by implementers or users of this
specification can be obtained from the IETF on-line IPR repository at
http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights that may cover technology that may be required to implement
this standard. Please address the information to the IETF at
ietf-ipr@ietf.org.
Disclaimer of Validity
This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Copyright Statement
Copyright (C) The Internet Society (2006).
This document is subject to the rights, licenses and restrictions
contained in BCP 78, and except as set forth therein, the authors
retain all their rights.
Cao, et al. Expires August 24, 2006 [Page 12]