Internet Engineering Task Force (IETF) C. Zhou
Request for Comments: 7678 Huawei Technologies
Category: Standards Track T. Taylor
ISSN: 2070-1721 PT Taylor Consulting
Q. Sun
China Telecom
M. Boucadair
France Telecom
October 2015
Attribute-Value Pairs for Provisioning Customer Equipment Supporting
IPv4-Over-IPv6 Transitional Solutions
Abstract
During the transition from IPv4 to IPv6, customer equipment may have
to support one of the various transition methods that have been
defined for carrying IPv4 packets over IPv6. This document
enumerates the information that needs to be provisioned on a customer
edge router to support a list of transition techniques based on
tunneling IPv4 in IPv6, with a view to defining reusable components
for a reasonable transition path between these techniques. To the
extent that the provisioning is done dynamically, Authentication,
Authorization, and Accounting (AAA) support is needed to provide the
information to the network server responsible for passing the
information to the customer equipment. This document specifies
Diameter (RFC 6733) Attribute-Value Pairs (AVPs) to be used for that
purpose.
Status of This Memo
This is an Internet Standards Track document.
This document is a product of the Internet Engineering Task Force
(IETF). It represents the consensus of the IETF community. It has
received public review and has been approved for publication by the
Internet Engineering Steering Group (IESG). Further information on
Internet Standards is available in Section 2 of RFC 5741.
Information about the current status of this document, any errata,
and how to provide feedback on it may be obtained at
http://www.rfc-editor.org/info/rfc7678.
Zhou, et al. Standards Track [Page 1]
RFC 7678 AVPs for 4over6 CPE Provisioning October 2015
Copyright Notice
Copyright (c) 2015 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
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.
Zhou, et al. Standards Track [Page 2]
RFC 7678 AVPs for 4over6 CPE Provisioning October 2015
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 4
1.1. Requirements Language . . . . . . . . . . . . . . . . . . 5
2. Description of the Parameters Required by Each Transition
Method . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.1. Parameters for Dual-Stack Lite (DS-Lite) . . . . . . . . 6
2.2. Lightweight 4over6 (lw4o6) . . . . . . . . . . . . . . . 6
2.3. Port Set Specification . . . . . . . . . . . . . . . . . 7
2.4. Mapping of Address and Port with Encapsulation (MAP-E) . 7
2.5. Parameters for Multicast . . . . . . . . . . . . . . . . 8
2.6. Summary and Discussion . . . . . . . . . . . . . . . . . 9
3. Attribute-Value Pair Definitions . . . . . . . . . . . . . . 9
3.1. IP-Prefix-Length AVP . . . . . . . . . . . . . . . . . . 10
3.2. Border-Router-Name AVP . . . . . . . . . . . . . . . . . 10
3.3. 64-Multicast-Attributes AVP . . . . . . . . . . . . . . . 10
3.3.1. ASM-mPrefix64 AVP . . . . . . . . . . . . . . . . . . 11
3.3.2. SSM-mPrefix64 AVP . . . . . . . . . . . . . . . . . . 11
3.3.3. Delegated-IPv6-Prefix AVP as uPrefix64 . . . . . . . 12
3.4. Tunnel-Source-Pref-Or-Addr AVP . . . . . . . . . . . . . 12
3.4.1. Delegated-IPv6-Prefix as the IPv6 Binding Prefix . . 12
3.4.2. Tunnel-Source-IPv6-Address AVP . . . . . . . . . . . 12
3.5. Port-Set-Identifier . . . . . . . . . . . . . . . . . . . 13
3.6. Lw4o6-Binding AVP . . . . . . . . . . . . . . . . . . . . 13
3.6.1. Lw4o6-External-IPv4-Addr AVP . . . . . . . . . . . . 14
3.7. MAP-E-Attributes . . . . . . . . . . . . . . . . . . . . 14
3.8. MAP-Mesh-Mode . . . . . . . . . . . . . . . . . . . . . . 15
3.9. MAP-Mapping-Rule . . . . . . . . . . . . . . . . . . . . 15
3.9.1. Rule-IPv4-Addr-Or-Prefix AVP . . . . . . . . . . . . 16
3.9.2. Rule-IPv6-Prefix AVP . . . . . . . . . . . . . . . . 16
3.9.3. EA-Field-Length AVP . . . . . . . . . . . . . . . . . 17
4. Attribute-Value Pair Flag Rules . . . . . . . . . . . . . . . 18
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 19
6. Security Considerations . . . . . . . . . . . . . . . . . . . 19
6.1. Man-In-The-Middle (MITM) Attacks . . . . . . . . . . . . 19
6.2. Privacy . . . . . . . . . . . . . . . . . . . . . . . . . 20
7. References . . . . . . . . . . . . . . . . . . . . . . . . . 20
7.1. Normative References . . . . . . . . . . . . . . . . . . 20
7.2. Informative References . . . . . . . . . . . . . . . . . 21
Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 22
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 23
Zhou, et al. Standards Track [Page 3]
RFC 7678 AVPs for 4over6 CPE Provisioning October 2015
1. Introduction
A number of transition techniques have been defined to allow IPv4
packets to pass between hosts and IPv4 networks over an intervening
IPv6 network while minimizing the number of public IPv4 addresses
that need to be consumed by the hosts. Different operators will
deploy different technologies, and sometimes one operator will use
more than one technology depending on what is supported by the
available equipment and upon other factors both technical and
economic.
Each technique requires the provisioning of some subscriber-specific
information on the customer edge device. The provisioning may be by
DHCPv6 [RFC3315] or by some other method. This document is
indifferent to the specific provisioning technique used but assumes a
deployment in which that information is managed by AAA
(Authentication, Authorization, and Accounting) servers. It further
assumes that this information is delivered to intermediate network
nodes for onward provisioning using the Diameter protocol [RFC6733].
As described below, in the particular case where the Lightweight
4over6 (lw4o6) [RFC7596] transition method has been deployed, per-
subscriber-site information almost identical to that passed to the
subscriber site [RFC7598] also needs to be delivered to the border
router serving that site. The Diameter protocol may be used for this
purpose too.
This document analyzes the information required to configure the
customer edge equipment for the following set of transition methods:
o Dual-Stack Lite (DS-Lite) [RFC6333],
o Lightweight 4over6 (lw4o6) [RFC7596], and
o Mapping of Address and Port with Encapsulation (MAP-E) [RFC7597].
[DSLITE-MULTICAST] specifies a generic solution for delivery of IPv4
multicast services to IPv4 clients over an IPv6 multicast network.
The solution was developed with DS-Lite in mind but it is not limited
to DS-Lite. As such, it applies also for lw4o6 and MAP-E. This
document analyzes the information required to configure the customer
edge equipment for the support of multicast in the context of DS-
Lite, MAP-E, and lw4o6 in particular.
On the basis of those analyses, it specifies a number of Attribute-
Value Pairs (AVPs) to allow the necessary subscriber-site-specific
configuration information to be carried in Diameter.
Zhou, et al. Standards Track [Page 4]
RFC 7678 AVPs for 4over6 CPE Provisioning October 2015
This document doesn't specify any new commands or Application IDs.
The specified AVPs could be used for any Diameter application
suitable for provisioning.
1.1. Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in [RFC2119].
The abbreviation CPE stands for Customer Premise Equipment. It
denotes the equipment at the customer edge that terminates the
customer end of an IPv6 transitional tunnel. This will usually be a
router but could be a host directly connected to the network. In
some documents (e.g., [RFC7597]), this functional entity is called CE
(Customer Edge).
The term "tunnel source address" is used to denote the IPv6 source
address used in the outer header of packets sent from the CPE through
an lw4o6 transitional tunnel to the border router.
2. Description of the Parameters Required by Each Transition Method
This section reviews the parameters that need to be provisioned for
each of the transition methods listed above. This enumeration
provides the justification for the AVPs defined in the next section.
A means is required to indicate which transition method(s) a given
subscriber wants to use. The approach taken in this document is to
specify Grouped AVPs specific to lw4o6 and MAP-E. The operator can
control which of these two transition methods a given subscriber uses
by ensuring that AAA passes only the Grouped AVP relevant to that
method. A Grouped AVP is unnecessary for DS-Lite since AAA has only
to provide the Fully Qualified Domain Name (FQDN) of the DS-Lite
Address Family Transition Router (AFTR) (see Section 2.1). Hence,
when no Grouped AVP is provided either for lw4o6 or MAP-E and only
the AFTR's FQDN is present, this indicates that the subscriber
equipment will use the DS-Lite transition method. Provisioning of
multicast is an orthogonal activity since it is independent of the
transition method.
Zhou, et al. Standards Track [Page 5]
RFC 7678 AVPs for 4over6 CPE Provisioning October 2015
2.1. Parameters for Dual-Stack Lite (DS-Lite)
DS-Lite is documented in [RFC6333]. The Basic Bridging BroadBand
(B4) element at the customer premises needs to discover the IPv6
address of the AFTR (border router). For the reasons discussed in
Section 3.2, the AAA server provisions the B4 element with the AFTR's
FQDN that is passed to a B4's IP resolution library. The AFTR's FQDN
is contained in the Border-Router-Name AVP (see Section 3.2).
The B4 element could also be configured with the IPv4 address of the
B4 interface facing the tunnel, with valid values from 192.0.0.2 to
192.0.0.7 and the default value of 192.0.0.2 in the absence of
provisioning. Provisioning such information through AAA is
problematic because it is most likely used in a case where multiple
B4 instances occupy the same device. This document therefore assumes
that the B4 interface address is determined by other means than AAA
(implementation dependent or static assignment).
2.2. Lightweight 4over6 (lw4o6)
Lightweight 4over6 (lw4o6) is documented in [RFC7596]. Lw4o6
requires four items to be provisioned to the customer equipment:
o an IPv6 address of the border router.
o an IPv6 prefix used by the CPE to construct the tunnel source
address. In the terminology of [RFC7596], this is the IPv6
Binding Prefix.
o an IPv4 address to be used on the external side of the CPE.
o if the IPv4 address is shared, a specification of the port set the
subscriber site is allowed to use. Please see the description in
Section 2.3. For lw4o6, all three of the parameters 'a', 'k', and
the Port Set Identifier (PSID) described in that section are
required. The default value of the offset parameter 'a' is 0.
As discussed in Section 4 of [RFC7596], it is necessary to
synchronize this configuration with corresponding per-subscriber
configuration at the border router. The border router information
consists of the same public IPv4 address and port set parameters that
are passed to the CPE, bound together with the full /128 IPv6 address
(not just the Binding Prefix) configured as the tunnel source address
at the CPE.
Zhou, et al. Standards Track [Page 6]
RFC 7678 AVPs for 4over6 CPE Provisioning October 2015
2.3. Port Set Specification
When an external IPv4 address is shared, lw4o6 and MAP-E restrict the
CPE to use of a subset of all available ports on the external side.
Both transition methods use the algorithm defined in Appendix B of
[RFC7597] to derive the values of the port numbers in the port set.
This algorithm features three parameters, describing the positioning
and value of the PSID within each port number of the generated set:
o an offset 'a' from the beginning of the port number to the first
bit of the PSID;
o the length 'k' of the PSID within the port number, in bits; and
o the value of the PSID itself.
2.4. Mapping of Address and Port with Encapsulation (MAP-E)
Mapping of Address and Port with Encapsulation (MAP-E) is described
in [RFC7597]. MAP-E requires the provisioning of the following per-
subscriber information at the customer edge device:
o the IPv6 address of one or more border routers, or in MAP-E
terminology, MAP-E border relays.
o the unique end-user IPv6 prefix for the customer edge device.
This may be provided by AAA or acquired by other means.
o the Basic Mapping Rule for the customer edge device. This
includes the following parameters:
* the Rule IPv6 prefix and length.
* the Rule IPv4 prefix and length. A prefix length of 0
indicates that the entire IPv4 address or prefix is coded in
the Extended Address (EA) bits of the end-user IPv6 prefix
rather than in the mapping rule.
* the number of EA bits included in the end-user IPv6 prefix.
* port set parameters giving the set of ports the CPE is allowed
to use when the IPv4 address is shared. Please see the
description of these parameters in Section 2.3. At a minimum,
the offset parameter 'a' is required. For MAP-E, this has the
default value 6. The parameters 'k' and PSID are needed if
they cannot be derived from the mapping rule information and
the EA bits (final case of Section 5.2 of [RFC7597]).
Zhou, et al. Standards Track [Page 7]
RFC 7678 AVPs for 4over6 CPE Provisioning October 2015
o whether the device is to operate in Mesh or Hub-and-Spoke mode.
o in mesh mode only, zero or more Forwarding Mapping Rules described
by the same set of parameters as the Basic Mapping Rule.
As indicated in the first bullet in Section 5 of [RFC7597], a MAP CPE
can be provisioned with multiple end-user IPv6 prefixes, each
associated with its own Basic Mapping Rule. This does not change the
basic requirement for representation of the corresponding information
in the form of Diameter AVPs, but adds a potential requirement for
multiple instances of this information to be present in the Diameter
message, differing in the value of the end-user IPv6 prefix (in
contrast to the Forward Mapping Rule instances).
The border router needs to be configured with the superset of the
Mapping Rules passed to the customer sites it serves. Since this
requirement does not require direct coordination with CPE
configuration in the way lw4o6 does, it is out of scope of the
present document. However, the AVPs defined here may be useful if a
separate Diameter application is used to configure the border router.
2.5. Parameters for Multicast
[DSLITE-MULTICAST] specifies a generic solution for delivery of IPv4
multicast services to IPv4 clients over an IPv6 multicast network.
In particular, the solution can be deployed in a DS-Lite context but
is also adaptable to lw4o6 and MAP-E. For example, [PREFIX-OPTION]
specifies how DHCPv6 [RFC3315] can be used to provision multicast-
related information. The following lists the multicast-related
information that needs to be provisioned:
o ASM-mPrefix64: the IPv6 multicast prefix to be used to synthesize
the IPv4-embedded IPv6 addresses of the multicast groups in the
Any-Source Multicast (ASM) mode. This is achieved by
concatenating the ASM-mPrefix64 and an IPv4 multicast address; the
IPv4 multicast address is inserted in the last 32 bits of the
IPv4-embedded IPv6 multicast address.
o SSM-mPrefix64: the IPv6 multicast prefix to be used to synthesize
the IPv4-embedded IPv6 addresses of the multicast groups in the
Source-Specific Multicast (SSM) [RFC4607] mode. This is achieved
by concatenating the SSM-mPrefix64 and an IPv4 multicast address;
the IPv4 multicast address is inserted in the last 32 bits of the
IPv4-embedded IPv6 multicast address.
Zhou, et al. Standards Track [Page 8]
RFC 7678 AVPs for 4over6 CPE Provisioning October 2015
o uPrefix64: the IPv6 unicast prefix to be used in SSM mode for
constructing the IPv4-embedded IPv6 addresses representing the
IPv4 multicast sources in the IPv6 domain. uPrefix64 may also be
used to extract the IPv4 address from the received multicast data
flows. The address mapping follows the guidelines documented in
[RFC6052].
2.6. Summary and Discussion
There are two items that are common to the different transition
methods, and the corresponding AVPs to carry them can be reused:
o a representation of the IPv6 address of a border router.
o a set of prefixes for delivery of multicast services to IPv4
clients over an IPv6 multicast network.
[RFC6519] sets a precedent for representation of the IPv6 address of
a border router as an FQDN. This can be dereferenced to one or more
IP addresses by the provisioning system before being passed to the
customer equipment or left as an FQDN as it is in [RFC6334].
The remaining requirements are transition-method specific:
o for lw4o6, a representation of a binding between (1) either the
IPv6 Binding Prefix or a full /128 IPv6 address, (2) a public IPv4
address, and (3) (if the IPv4 address is shared) a port set
identifier.
o for MAP-E, a representation of the unique end-user IPv6 prefix for
the CPE, if not provided by other means.
o for MAP-E, a representation of a Mapping Rule.
o for MAP-E, an indication of whether Mesh mode or Hub-and-Spoke
mode is to be used.
3. Attribute-Value Pair Definitions
This section provides the specifications for the AVPs needed to meet
the requirements summarized in Section 2.6.
Zhou, et al. Standards Track [Page 9]
RFC 7678 AVPs for 4over6 CPE Provisioning October 2015
3.1. IP-Prefix-Length AVP
The IP-Prefix-Length AVP (AVP code 632) is of type Unsigned32. It
provides the length of an IPv4 or IPv6 prefix. Valid values are from
0 to 32 for IPv4 and from 0 to 128 for IPv6. Tighter limits are
given below for particular contexts of use of this AVP.
Note that the IP-Prefix-Length AVP is only relevant when associated
with an IP-Address AVP in a Grouped AVP.
3.2. Border-Router-Name AVP
Following on the precedent set by [RFC6334] and [RFC6519], this
document identifies a border router using an FQDN rather than an
address. The Border-Router-Name AVP (AVP Code 633) is of type
OctetString. The FQDN encoding MUST follow the Name Syntax defined
in [RFC1035], [RFC1123], and [RFC2181] and are represented in ASCII
form. Note, if Internationalized Domain Names (IDNs) are used,
A-labels defined in [RFC5891] must be used (see Appendix D of
[RFC6733]).
3.3. 64-Multicast-Attributes AVP
The 64-Multicast-Attributes AVP (AVP Code 634) is of type Grouped.
It contains the multicast-related IPv6 prefixes needed for providing
IPv4 multicast over IPv6 using DS-Lite, MAP-E, or lw4o6, as mentioned
in Section 2.5.
The syntax is shown in Figure 1.
64-Multicast-Attributes ::= < AVP Header: 634 >
[ ASM-mPrefix64 ]
[ SSM-mPrefix64 ]
[ Delegated-IPv6-Prefix ]
*[ AVP ]
Figure 1: 64-Multicast-Attributes AVP
The 64-Multicast-Attributes AVP MUST include the ASM-mPrefix64 AVP or
the SSM-mPrefix64 AVP, and it MAY include both.
The Delegated-IPv6-Prefix AVP MUST be present when the SSM-mPrefix64
AVP is present. The Delegated-IPv6-Prefix AVP MAY be present when
the ASM-mPrefix64 AVP is present.
Zhou, et al. Standards Track [Page 10]
RFC 7678 AVPs for 4over6 CPE Provisioning October 2015
3.3.1. ASM-mPrefix64 AVP
The ASM-mPrefix64 AVP (AVP Code 635) conveys the value of ASM-
mPrefix64 as mentioned in Section 2.5. The ASM-mPrefix64 AVP is of
type Grouped, as shown in Figure 2.
ASM-mPrefix64 ::= < AVP Header: 635 >
{ IP-Address }
{ IP-Prefix-Length }
*[ AVP ]
Figure 2: ASM-mPrefix64 AVP
IP-Address (AVP code 518) is defined in [RFC5777] and is of type
Address. Within the ASM-mPrefix64 AVP, it provides the value of an
IPv6 prefix. The AddressType field in IP-Address MUST have value 2
(IPv6). The conveyed multicast IPv6 prefix MUST belong to the ASM
range. Unused bits in IP-Address beyond the actual prefix MUST be
set to zeroes by the sender and ignored by the receiver.
The IP-Prefix-Length AVP (AVP code 632) provides the actual length of
the prefix contained in the IP-Address AVP. Within the ASM-mPrefix64
AVP, valid values of the IP-Prefix-Length AVP are from 24 to 96.
3.3.2. SSM-mPrefix64 AVP
The SSM-mPrefix64 AVP (AVP Code 636) conveys the value of SSM-
mPrefix64 as mentioned in Section 2.5. The SSM-mPrefix64 AVP is of
type Grouped, as shown in Figure 3.
SSM-mPrefix64 ::= < AVP Header: 636 >
{ IP-Address }
{ IP-Prefix-Length }
*[ AVP ]
Figure 3: SSM-mPrefix64 AVP
IP-Address (AVP code 518) provides the value of an IPv6 prefix. The
AddressType field in IP-Address MUST have value 2 (IPv6). The
conveyed multicast IPv6 prefix MUST belong to the SSM range. Unused
bits in IP-Address beyond the actual prefix MUST be set to zeroes by
the sender and ignored by the receiver.
The IP-Prefix-Length AVP (AVP code 632) provides the actual length of
the prefix contained in the IP-Address AVP.
Zhou, et al. Standards Track [Page 11]
RFC 7678 AVPs for 4over6 CPE Provisioning October 2015
3.3.3. Delegated-IPv6-Prefix AVP as uPrefix64
Within the 64-Multicast-Attributes AVP, the Delegated-IPv6-Prefix AVP
(AVP Code 123) conveys the value of uPrefix64, a unicast IPv6 prefix,
as mentioned in Section 2.5. The Delegated-IPv6-Prefix AVP is
defined in [RFC4818]. As specified by [RFC6052], the value in the
Prefix-Length field MUST be one of 32, 48, 56, 64, or 96.
3.4. Tunnel-Source-Pref-Or-Addr AVP
The Tunnel-Source-Pref-Or-Addr AVP (AVP Code 637) conveys either the
IPv6 Binding Prefix or the tunnel source address on the CPE, as
described in Section 2.2. The Tunnel-Source-Pref-Or-Addr AVP is of
type Grouped with syntax as shown in Figure 4. The Tunnel-Source-
Pref-Or-Addr AVP MUST contain either the Delegated-IPv6-Prefix AVP or
the Tunnel-Source-IPv6-Address AVP, not both.
Tunnel-Source-Pref-Or-Addr ::= < AVP Header: 637 >
[ Delegated-IPv6-Prefix ]
[ Tunnel-Source-IPv6-Address ]
*[ AVP ]
Figure 4: Tunnel-Source-Pref-Or-Addr AVP
This AVP is defined separately from the lw4o6-Binding AVP (which
includes it) to provide flexibility in the transport of the tunnel
source address from the provisioning system to AAA while also
supporting the provision of a complete binding to the lw4o6 border
router.
3.4.1. Delegated-IPv6-Prefix as the IPv6 Binding Prefix
The Delegated-IPv6-Prefix AVP (AVP code 123) is of type OctetString
and is defined in [RFC4818]. Within the Tunnel-Source-Pref-Or-Addr
AVP, it conveys the IPv6 Binding Prefix assigned to the CPE. Valid
values in the Prefix-Length field are from 0 to 128 (full address).
3.4.2. Tunnel-Source-IPv6-Address AVP
The Tunnel-Source-IPv6-Address AVP (AVP code 638) is of type Address.
It provides the address assigned by the CPE to identify its local end
of an lw4o6 tunnel. The AddressType field in this AVP MUST be set to
2 (IPv6).
Zhou, et al. Standards Track [Page 12]
RFC 7678 AVPs for 4over6 CPE Provisioning October 2015
3.5. Port-Set-Identifier
The Port-Set-Identifier AVP (AVP Code 639) is a structured
OctetString with four octets of data, hence a total AVP length of 12.
The description of the structure that follows refers to the
parameters described in Section 2.3 (see Figure 5).
o The first (high-order) octet is the Offset field. It is
interpreted as an 8-bit unsigned integer giving the offset 'a'
from the beginning of a port number to the beginning of the PSID
to which that port belongs. Valid values are from 0 to 15.
o The next octet, the PSIDLength, is also interpreted as an 8-bit
unsigned integer and gives the length 'k' in bits of the PSID.
Valid values are from 0 to (16 - a). A value of 0 indicates that
the PSID is not present (probable case for MAP-E, see
Section 2.4), and the PSIDValue field MUST be ignored.
o The final two octets contain the PSIDValue field. They give the
value of the PSID itself, right justified within the field. That
is, the value of the PSID occupies the 'k' lowest-order bits of
the PSIDValue field.
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 2
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Offset | Length | PSID Value |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 5: Port Set
3.6. Lw4o6-Binding AVP
The Lw4o6-Binding AVP (AVP Code 640) is of type Grouped. It contains
the elements of configuration that constitute the binding between an
lw4o6 tunnel and IPv4 packets sent through that tunnel, as described
in Section 2.2.
Lw4o6-Binding ::= < AVP Header: 640 >
{ Tunnel-Source-Pref-Or-Addr }
{ Lw4o6-External-IPv4-Addr }
[ Port-Set-Identifier ]
*[ AVP ]
Figure 6: Lw4o6-Binding AVP
Zhou, et al. Standards Track [Page 13]
RFC 7678 AVPs for 4over6 CPE Provisioning October 2015
The Tunnel-Source-Pref-Or-Addr AVP is defined in Section 3.4 and
provides either the Binding Prefix or the full IPv6 tunnel source
address.
The Lw4o6-External-IPv4-Addr AVP is defined in Section 3.6.1.
The Port-Set-Identifier AVP is defined in Section 3.5. It identifies
the specific set of ports assigned to the lw4o6 tunnel when the IPv4
address is being shared.
3.6.1. Lw4o6-External-IPv4-Addr AVP
The Lw4o6-External-IPv4-Addr AVP (AVP Code 641) uses the Address
derived data format defined in Section 4.3.1 of [RFC6733]. It
provides the CPE's external IPv4 address within the lw4o6 tunnel
associated with the given binding. The AddressType field MUST be set
to 1 (IPv4), and the total length of the AVP MUST be 14 octets.
3.7. MAP-E-Attributes
The MAP-E-Attributes AVP (AVP Code 642) is of type Grouped. It
contains the configuration data identified in Section 2.4 for all of
the mapping rules (Basic and Forwarding) in a single MAP domain.
Multiple instances of this AVP will be present if the CPE belongs to
multiple MAP domains.
MAP-E-Attributes ::= < AVP Header: 642 >
1*{ Border-Router-Name }
1*{ MAP-Mapping-Rule }
[ MAP-Mesh-Mode ]
[ Delegated-IPv6-Prefix ]
*[ AVP ]
Figure 7: MAP-E-Attributes AVP
The Border-Router-Name AVP is defined in Section 3.2. It provides
the FQDN of a MAP border relay at the edge of the MAP domain to which
the containing MAP-E-Attributes AVP relates. At least one instance
of this AVP MUST be present.
The MAP-Mapping-Rule AVP is defined in Section 3.9. At least one
instance of this AVP MUST be present. If the MAP-E domain supports
Mesh mode (indicated by the presence of the MAP-Mesh-Mode AVP),
additional MAP-Mapping-Rule instances MAY be present. If the MAP-E
domain is operating in Hub-and-Spoke mode; additional MAP-Mapping-
Rule instances MUST NOT be present.
Zhou, et al. Standards Track [Page 14]
RFC 7678 AVPs for 4over6 CPE Provisioning October 2015
The MAP-Mesh-Mode AVP is defined in Section 3.8. The absence of the
Mesh mode indicator attribute indicates that the CPE is required to
operate in Hub-and-Spoke mode.
The Delegated-IPv6-Prefix AVP (AVP Code 123) provides the end-user
IPv6 prefix assigned to the CPE for the MAP domain to which the
containing MAP-E-Attributes AVP relates. The AVP is defined in
[RFC4818]. Valid values of the Prefix-Length field range from 0 to
128.
The Delegated-IPv6-Prefix AVP is optional because, depending on
deployment, the end-user IPv6 prefix may be provided by AAA or by
other means. If multiple instances of the MAP-E-Attributes AVP
containing the Delegated-IPv6-Prefix AVP are present, each instance
of the latter MUST have a different value.
3.8. MAP-Mesh-Mode
The MAP-Mesh-Mode AVP (AVP Code 643) is of type Enumerated and
indicates whether the CPE has to operate in Mesh or Hub-and-Spoke
mode when using MAP-E. The following values are supported:
0 MESH
1 HUB_AND_SPOKE
The absence of the Mesh mode indicator attribute indicates that the
CPE is required to operate in Hub-and-Spoke mode.
3.9. MAP-Mapping-Rule
The MAP-Mapping-Rule AVP (AVP Code 644) is of type Grouped and is
used only in conjunction with MAP-based transition methods. Mapping
rules are required both by the MAP border relay and by the CPE. The
components of the MAP-Mapping-Rule AVP provide the contents of a
mapping rule as described in Section 2.4.
The syntax of the MAP-Mapping-Rule AVP is as follows:
MAP-Mapping-Rule ::= < AVP Header: 644 >
{ Rule-IPv4-Addr-Or-Prefix }
{ Rule-IPv6-Prefix }
{ EA-Field-Length }
{ Port-Set-Identifier }
*[ AVP ]
Figure 8: MAP-Mapping-Rule AVP
Zhou, et al. Standards Track [Page 15]
RFC 7678 AVPs for 4over6 CPE Provisioning October 2015
The Rule-IPv4-Addr-Or-Prefix, Rule-IPv6-Prefix, EA-Field-Length, and
Port-Set-Identifier AVPs MUST all be present.
The Port-Set-Identifier AVP provides information to identify the
specific set of ports assigned to the CPE. For more information, see
Sections 2.4 and 2.3. The Port-Set-Identifier AVP is defined in
Section 3.5.
3.9.1. Rule-IPv4-Addr-Or-Prefix AVP
The Rule-IPv4-Addr-Or-Prefix AVP (AVP Code 645) conveys the Rule IPv4
prefix and length as described in Section 2.4. The Rule-IPv4-Addr-
Or-Prefix AVP is of type Grouped, as shown in Figure 9.
Rule-IPv4-Addr-Or-Prefix ::= < AVP Header: 645 >
{ IP-Address }
{ IP-Prefix-Length }
*[ AVP ]
Figure 9: Rule-IPv4-Addr-Or-Prefix AVP
IP-Address (AVP code 518) is defined in [RFC5777] and is of type
Address. Within the Rule-IPv4-Addr-Or-Prefix AVP, it provides the
value of a unicast IPv4 address or prefix. The AddressType field in
IP-Address MUST have value 1 (IPv4). Unused bits in IP-Address
beyond the actual prefix MUST be set to zeroes by the sender and
ignored by the receiver.
The IP-Prefix-Length AVP (AVP code 632) provides the actual length of
the prefix contained in the IP-Address AVP. Within the Rule-IPv4-
Addr-Or-Prefix AVP, valid values of the IP-Prefix-Length AVP are from
0 to 32 (full address) based on the different cases identified in
Section 5.2 of [RFC7597].
3.9.2. Rule-IPv6-Prefix AVP
The Rule-IPv6-Prefix AVP (AVP Code 646) conveys the Rule IPv6 prefix
and length as described in Section 2.4. The Rule-IPv6-Prefix AVP is
of type Grouped, as shown in Figure 10.
Rule-IPv6-Prefix ::= < AVP Header: 646 >
{ IP-Address }
{ IP-Prefix-Length }
*[ AVP ]
Figure 10: Rule-IPv6-Prefix AVP
Zhou, et al. Standards Track [Page 16]
RFC 7678 AVPs for 4over6 CPE Provisioning October 2015
IP-Address (AVP code 518) is defined in [RFC5777] and is of type
Address. Within the Rule-IPv6-Prefix AVP, it provides the value of a
unicast IPv6 prefix. The AddressType field in IP-Address MUST have
value 2 (IPv6). Unused bits in IP-Address beyond the actual prefix
MUST be set to zeroes by the sender and ignored by the receiver.
The IP-Prefix-Length AVP (AVP code 632) provides the actual length of
the prefix contained in the IP-Address AVP. Within the Rule-
IPv6-Prefix AVP, the minimum valid prefix length is 0. The maximum
value is bounded by the length of the end-user IPv6 prefix associated
with the mapping rule, if present in the form of the Delegated-
IPv6-Prefix AVP in the enclosing MAP-E-Attributes AVP. Otherwise,
the maximum value is 128.
3.9.3. EA-Field-Length AVP
The EA-Field-Length AVP (AVP Code 647) is of type Unsigned32. Valid
values range from 0 to 48. See Section 5.2 of [RFC7597] for a
description of the use of this parameter in deriving IPv4 address and
port number configuration.
Zhou, et al. Standards Track [Page 17]
RFC 7678 AVPs for 4over6 CPE Provisioning October 2015
4. Attribute-Value Pair Flag Rules
+---------+
|AVP flag |
|rules |
+----+----+
AVP Section | |MUST|
Attribute Name Code Defined Value Type |MUST| NOT|
+-------------------------------------------------------+----+----+
|IP-Prefix-Length 632 3.1 Unsigned32 | | V |
+-------------------------------------------------------+----+----+
|Border-Router-Name 633 3.2 OctetString | | V |
+-------------------------------------------------------+----+----+
|64-Multicast-Attributes 634 3.3 Grouped | | V |
+-------------------------------------------------------+----+----+
|ASM-mPrefix64 635 3.3.1 Grouped | | V |
+-------------------------------------------------------+----+----+
|SSM-mPrefix64 636 3.3.2 Grouped | | V |
+-------------------------------------------------------+----+----+
|Tunnel-Source-Pref-Or-Addr 637 3.4 Grouped | | V |
+-------------------------------------------------------+----+----+
|Tunnel-Source-IPv6-Address 638 3.4.2 Address | | V |
+-------------------------------------------------------+----+----+
|Port-Set-Identifier 639 3.5 OctetString | | V |
+-------------------------------------------------------+----+----+
|Lw4o6-Binding 640 3.6 Grouped | | V |
+-------------------------------------------------------+----+----+
|Lw4o6-External-IPv4-Addr 641 3.6.1 Address | | V |
+-------------------------------------------------------+----+----+
|MAP-E-Attributes 642 3.7 Grouped | | V |
+-------------------------------------------------------+----+----+
|MAP-Mesh-Mode 643 3.8 Enumerated | | V |
+-------------------------------------------------------+----+----+
|MAP-Mapping-Rule 644 3.9 Grouped | | V |
+-------------------------------------------------------+----+----+
|Rule-IPv4-Addr-Or-Prefix 645 3.9.1 Grouped | | V |
+-------------------------------------------------------+----+----+
|Rule-IPv6-Prefix 646 3.9.2 Grouped | | V |
+-------------------------------------------------------+----+----+
|EA-Field-Length 647 3.9.3 Unsigned32 | | V |
+-------------------------------------------------------+----+----+
As described in the Diameter base protocol [RFC6733], the M-bit usage
for a given AVP in a given command may be defined by the application.
Zhou, et al. Standards Track [Page 18]
RFC 7678 AVPs for 4over6 CPE Provisioning October 2015
5. IANA Considerations
IANA has registered the following Diameter AVP codes in the "AVP
Codes" registry:
+------+----------------------------+---------------+
| Code | Attribute Name | Reference |
+------+----------------------------+---------------+
| 632 | IP-Prefix-Length | This document |
| 633 | Border-Router-Name | This document |
| 634 | 64-Multicast-Attributes | This document |
| 635 | ASM-mPrefix64 | This document |
| 636 | SSM-mPrefix64 | This document |
| 637 | Tunnel-Source-Pref-Or-Addr | This document |
| 638 | Tunnel-Source-IPv6-Address | This document |
| 639 | Port-Set-Identifier | This document |
| 640 | Lw4o6-Binding | This document |
| 641 | Lw4o6-External-IPv4-Addr | This document |
| 642 | MAP-E-Attributes | This document |
| 643 | MAP-Mesh-Mode | This document |
| 644 | MAP-Mapping-Rule | This document |
| 645 | Rule-IPv4-Addr-Or-Prefix | This document |
| 646 | Rule-IPv6-Prefix | This document |
| 647 | EA-Field-Length | This document |
+------+----------------------------+---------------+
Table 1: Diameter AVP Codes
6. Security Considerations
6.1. Man-In-The-Middle (MITM) Attacks
The AVPs defined in this document face two threats, both dependent on
man-in-the-middle (MITM) attacks on the Diameter delivery path.
The first threat is denial-of-service (DoS) through modification of
the AVP contents leading to misconfiguration; e.g., a subscriber may
fail to access its connectivity service if an invalid IP address was
configured, the subscriber's traffic can be intercepted by a
misbehaving node if a fake Border Node has been configured, etc.
The second threat is that Diameter security is currently provided on
a hop-by-hop basis (see Section 2.2 of [RFC6733]). At the time of
writing, the Diameter end-to-end security problem has not been
solved, so MITM attacks by Diameter peers along the path are
possible. Diameter-related security considerations are discussed in
Section 13 of [RFC6733].
Zhou, et al. Standards Track [Page 19]
RFC 7678 AVPs for 4over6 CPE Provisioning October 2015
6.2. Privacy
Given that the AVPs defined in this document reveal privacy-related
information (e.g., subscriber addresses) that can be used for
tracking proposes, all these AVPs are considered to be security
sensitive. Therefore, the considerations discussed in Section 13.3
of [RFC6733] MUST be followed for Diameter messages containing these
AVPs.
7. References
7.1. Normative References
[RFC1035] Mockapetris, P., "Domain names - implementation and
specification", STD 13, RFC 1035, DOI 10.17487/RFC1035,
November 1987, <http://www.rfc-editor.org/info/rfc1035>.
[RFC1123] Braden, R., Ed., "Requirements for Internet Hosts -
Application and Support", STD 3, RFC 1123,
DOI 10.17487/RFC1123, October 1989,
<http://www.rfc-editor.org/info/rfc1123>.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997,
<http://www.rfc-editor.org/info/rfc2119>.
[RFC2181] Elz, R. and R. Bush, "Clarifications to the DNS
Specification", RFC 2181, DOI 10.17487/RFC2181, July 1997,
<http://www.rfc-editor.org/info/rfc2181>.
[RFC4818] Salowey, J. and R. Droms, "RADIUS Delegated-IPv6-Prefix
Attribute", RFC 4818, DOI 10.17487/RFC4818, April 2007,
<http://www.rfc-editor.org/info/rfc4818>.
[RFC5777] Korhonen, J., Tschofenig, H., Arumaithurai, M., Jones, M.,
Ed., and A. Lior, "Traffic Classification and Quality of
Service (QoS) Attributes for Diameter", RFC 5777,
DOI 10.17487/RFC5777, February 2010,
<http://www.rfc-editor.org/info/rfc5777>.
[RFC5891] Klensin, J., "Internationalized Domain Names in
Applications (IDNA): Protocol", RFC 5891,
DOI 10.17487/RFC5891, August 2010,
<http://www.rfc-editor.org/info/rfc5891>.
Zhou, et al. Standards Track [Page 20]
RFC 7678 AVPs for 4over6 CPE Provisioning October 2015
[RFC6333] Durand, A., Droms, R., Woodyatt, J., and Y. Lee, "Dual-
Stack Lite Broadband Deployments Following IPv4
Exhaustion", RFC 6333, DOI 10.17487/RFC6333, August 2011,
<http://www.rfc-editor.org/info/rfc6333>.
[RFC6733] Fajardo, V., Ed., Arkko, J., Loughney, J., and G. Zorn,
Ed., "Diameter Base Protocol", RFC 6733,
DOI 10.17487/RFC6733, October 2012,
<http://www.rfc-editor.org/info/rfc6733>.
[RFC7596] Cui, Y., Sun, Q., Boucadair, M., Tsou, T., Lee, Y., and I.
Farrer, "Lightweight 4over6: An Extension to the Dual-
Stack Lite Architecture", RFC 7596, DOI 10.17487/RFC7596,
July 2015, <http://www.rfc-editor.org/info/rfc7596>.
[RFC7597] Troan, O., Ed., Dec, W., Li, X., Bao, C., Matsushima, S.,
Murakami, T., and T. Taylor, Ed., "Mapping of Address and
Port with Encapsulation (MAP-E)", RFC 7597,
DOI 10.17487/RFC7597, July 2015,
<http://www.rfc-editor.org/info/rfc7597>.
7.2. Informative References
[DSLITE-MULTICAST]
Qin, J., Boucadair, M., Jacquenet, C., Lee, Y., and Q.
Wang, "Delivery of IPv4 Multicast Services to IPv4 Clients
over an IPv6 Multicast Network", Work in Progress,
draft-ietf-softwire-dslite-multicast-10, August 2015.
[PREFIX-OPTION]
Boucadair, M., Qin, J., Tsou, T., and X. Deng, "DHCPv6
Option for IPv4-Embedded Multicast and Unicast IPv6
Prefixes", Work in Progress, draft-ietf-softwire-
multicast-prefix-option-09, August 2015.
[RFC3315] Droms, R., Ed., Bound, J., Volz, B., Lemon, T., Perkins,
C., and M. Carney, "Dynamic Host Configuration Protocol
for IPv6 (DHCPv6)", RFC 3315, DOI 10.17487/RFC3315, July
2003, <http://www.rfc-editor.org/info/rfc3315>.
[RFC4607] Holbrook, H. and B. Cain, "Source-Specific Multicast for
IP", RFC 4607, DOI 10.17487/RFC4607, August 2006,
<http://www.rfc-editor.org/info/rfc4607>.
[RFC6052] Bao, C., Huitema, C., Bagnulo, M., Boucadair, M., and X.
Li, "IPv6 Addressing of IPv4/IPv6 Translators", RFC 6052,
DOI 10.17487/RFC6052, October 2010,
<http://www.rfc-editor.org/info/rfc6052>.
Zhou, et al. Standards Track [Page 21]
RFC 7678 AVPs for 4over6 CPE Provisioning October 2015
[RFC6334] Hankins, D. and T. Mrugalski, "Dynamic Host Configuration
Protocol for IPv6 (DHCPv6) Option for Dual-Stack Lite",
RFC 6334, DOI 10.17487/RFC6334, August 2011,
<http://www.rfc-editor.org/info/rfc6334>.
[RFC6519] Maglione, R. and A. Durand, "RADIUS Extensions for Dual-
Stack Lite", RFC 6519, DOI 10.17487/RFC6519, February
2012, <http://www.rfc-editor.org/info/rfc6519>.
[RFC7598] Mrugalski, T., Troan, O., Farrer, I., Perreault, S., Dec,
W., Bao, C., Yeh, L., and X. Deng, "DHCPv6 Options for
Configuration of Softwire Address and Port-Mapped
Clients", RFC 7598, DOI 10.17487/RFC7598, July 2015,
<http://www.rfc-editor.org/info/rfc7598>.
Acknowledgements
Huawei Technologies funded Tom Taylor's work on earlier draft
versions of this document.
Special thanks to Lionel Morand for the detailed review.
Many thanks to Russ Housley, Tim Chown, Spencer Dawkins, and Ben
Campbell for the review and comments.
Zhou, et al. Standards Track [Page 22]
RFC 7678 AVPs for 4over6 CPE Provisioning October 2015
Authors' Addresses
Cathy Zhou
Huawei Technologies
Bantian, Longgang District
Shenzhen 518129
China
Email: cathy.zhou@huawei.com
Tom Taylor
PT Taylor Consulting
Ottawa
Canada
Email: tom.taylor.stds@gmail.com
Qiong Sun
China Telecom
China
Phone: 86 10 58552936
Email: sunqiong@ctbri.com.cn
Mohamed Boucadair
France Telecom
Rennes 35000
France
Email: mohamed.boucadair@orange.com
Zhou, et al. Standards Track [Page 23]