RADIUS Delegated-IPv6-Prefix Attribute
A RADIUS attribute that hands an IPv6 prefix to a customer network to pass on further.
Salowey, J. and R. Droms, "RADIUS Delegated-IPv6-Prefix Attribute", RFC 4818, DOI 10.17487/RFC4818, April 2007, <https://www.rfc-editor.org/info/rfc4818>.
@misc{rfc4818,
series = {Request for Comments},
number = 4818,
howpublished = {RFC 4818},
publisher = {RFC Editor},
doi = {10.17487/RFC4818},
url = {https://www.rfc-editor.org/info/rfc4818},
author = {J. Salowey and R. Droms},
title = {{RADIUS Delegated-IPv6-Prefix Attribute}},
pagetotal = 7,
year = 2007,
month = apr,
} RFC text
Contents
Network Working Group J. Salowey
Request for Comments: 4818 R. Droms
Category: Standards Track Cisco Systems, Inc.
April 2007
RADIUS Delegated-IPv6-Prefix Attribute
Status of This Memo
This document specifies an Internet standards track protocol for the
Internet community, and requests discussion and suggestions for
improvements. Please refer to the current edition of the "Internet
Official Protocol Standards" (STD 1) for the standardization state
and status of this protocol. Distribution of this memo is unlimited.
Copyright Notice
Copyright (C) The IETF Trust (2007).
Abstract
This document defines a RADIUS (Remote Authentication Dial In User
Service) attribute that carries an IPv6 prefix that is to be
delegated to the user. This attribute is usable within either RADIUS
or Diameter.
1. Introduction
This document defines the Delegated-IPv6-Prefix attribute as a RADIUS
[1] attribute that carries an IPv6 prefix to be delegated to the
user, for use in the user's network. For example, the prefix in a
Delegated-IPv6-Prefix attribute can be delegated to another node
through DHCP Prefix Delegation [2].
The Delegated-IPv6-Prefix attribute can be used in DHCP Prefix
Delegation between the delegating router and a RADIUS server, as
illustrated in the following message sequence.
Requesting Router Delegating Router RADIUS Server
| | |
|-Solicit------------>| |
| |-Request------------------------>|
| |<--Accept(Delegated-IPv6-Prefix)-|
|<--Advertise(Prefix)-| |
|-Request(Prefix)---->| |
|<--Reply(Prefix)-----| |
| | |
DHCP PD RADIUS
The Framed-IPv6-Prefix attribute [4] is not designed to support
delegation of IPv6 prefixes to be used in the user's network, and
therefore Framed-IPv6-Prefix and Delegated-IPv6-Prefix attributes may
be included in the same RADIUS packet.
2. Terminology
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 RFC 2119 [3].
3. Attribute Format
The format of the Delegated-IPv6-Prefix is:
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 | Prefix-Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Prefix
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Prefix
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Prefix
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Prefix |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type
123 for Delegated-IPv6-Prefix
Length
The length of the entire attribute, in bytes. At least 4 (to
hold Type/Length/Reserved/Prefix-Length for a 0-bit prefix),
and no larger than 20 (to hold Type/Length/ Reserved/Prefix-
Length for a 128-bit prefix)
Reserved
Always set to zero by sender; ignored by receiver
Prefix-Length
The length of the prefix being delegated, in bits. At least
0 and no larger than 128 bits (identifying a single IPv6
address)
Note that the prefix field is only required to be long enough to hold
the prefix bits and can be shorter than 16 bytes. Any bits in the
prefix field that are not part of the prefix MUST be zero.
The Delegated-IPv6-Prefix MAY appear in an Access-Accept packet, and
can appear multiple times. It MAY appear in an Access-Request packet
as a hint by the NAS to the server that it would prefer these
prefix(es), but the server is not required to honor the hint.
The Delegated-IPv6-Prefix attribute MAY appear in an Accounting-
Request packet.
The Delegated-IPv6-Prefix MUST NOT appear in any other RADIUS
packets.
4. Table of Attributes
The following table provides a guide to which attributes may be found
in which kinds of packets, and in what quantity.
+-------------------------------------------------------------------+
| Request Accept Reject Challenge Accounting # Attribute |
| Request |
| 0+ 0+ 0 0 0+ 123 Delegated-IPv6- |
| Prefix |
+-------------------------------------------------------------------+
The meaning of the above table entries is as follows:
0 This attribute MUST NOT be present.
0+ Zero or more instances of this attribute MAY be present.
0-1 Zero or one instance of this attribute MAY be present.
1 Exactly one instance of this attribute MUST be present.
1+ One or more of these attributes MUST be present.
5. Diameter Considerations
When used in Diameter, the attribute defined in this specification
can be used as a Diameter AVP from the Code space 1-255, i.e., RADIUS
attribute compatibility space. No additional Diameter Code values
are therefore allocated. The data types of the attributes are as
follows:
Delegated-IPv6-Prefix OctetString
The attribute in this specification has no special translation
requirements for Diameter to RADIUS or RADIUS to Diameter gateways,
i.e., the attribute is copied as is, except for changes relating to
headers, alignment, and padding. See also RFC 3588 [5], Section 4.1,
and RFC 4005 [6], Section 9.
The text in this specification describing the applicability of the
Delegated-IPv6-Prefix attribute for RADIUS Access-Request applies in
Diameter to AA-Request [6] or Diameter-EAP-Request [7].
The text in this specification describing the applicability of the
Delegated-IPv6-Prefix attribute for RADIUS Access-Accept applies in
Diameter to AA-Answer or Diameter-EAP-Answer that indicates success.
The text in this specification describing the applicability of the
Delegated-IPv6-Prefix attribute for RADIUS Accounting-Request applies
to Diameter Accounting-Request [6] as well.
The AVP flag rules [5] for the Delegated-IPv6-Prefix attribute are:
+---------------------+
| AVP Flag rules |
|----+-----+----+-----|----+
AVP | | |SHLD| MUST| |
Attribute Name Code Value Type |MUST| MAY | NOT| NOT|Encr|
---------------------------------|----+-----+----+-----|----|
Delegated-IPv6- 123 OctetString| M | P | | V | Y |
Prefix | | | | | |
---------------------------------|----+-----+----+-----|----|
6. IANA Considerations
IANA assigned a Type value, 123, for this attribute from the RADIUS
Attribute Types registry.
7. Security Considerations
Known security vulnerabilities of the RADIUS protocol are discussed
in RFC 2607 [8], RFC 2865 [1], and RFC 2869 [9]. Use of IPsec [10]
for providing security when RADIUS is carried in IPv6 is discussed in
RFC 3162.
Security considerations for the Diameter protocol are discussed in
RFC 3588 [5].
8. References
8.1. Normative References
[1] Rigney, C., Willens, S., Rubens, A., and W. Simpson, "Remote
Authentication Dial In User Service (RADIUS)", RFC 2865, June
2000.
[2] Troan, O. and R. Droms, "IPv6 Prefix Options for Dynamic Host
Configuration Protocol (DHCP) version 6", RFC 3633, December
2003.
[3] Bradner, S., "Key words for use in RFCs to Indicate Requirement
Levels", BCP 14, RFC 2119, March 1997.
9.2. Informative References
[4] Aboba, B., Zorn, G., and D. Mitton, "RADIUS and IPv6", RFC 3162,
August 2001.
[5] Calhoun, P., Loughney, J., Guttman, E., Zorn, G., and J. Arkko,
"Diameter Base Protocol", RFC 3588, September 2003.
[6] Calhoun, P., Zorn, G., Spence, D., and D. Mitton, "Diameter
Network Access Server Application", RFC 4005, August 2005.
[7] Eronen, P., Hiller, T., and G. Zorn, "Diameter Extensible
Authentication Protocol (EAP) Application", RFC 4072, August
2005.
[8] Aboba, B. and J. Vollbrecht, "Proxy Chaining and Policy
Implementation in Roaming", RFC 2607, June 1999.
[9] Rigney, C., Willats, W., and P. Calhoun, "RADIUS Extensions",
RFC 2869, June 2000.
[10] Kent, S. and K. Seo, "Security Architecture for the Internet
Protocol", RFC 4301, December 2005.
Authors' Addresses
Joe Salowey
Cisco Systems, Inc.
2901 Third Avenue
Seattle, WA 98121
USA
Phone: +1 206.310.0596
EMail: jsalowey@cisco.com
Ralph Droms
Cisco Systems, Inc.
1414 Massachusetts Avenue
Boxborough, MA 01719
USA
Phone: +1 978.936.1674
EMail: rdroms@cisco.com
Full Copyright Statement
Copyright (C) The IETF Trust (2007).
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.
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, THE IETF TRUST 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.
Intellectual Property
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.
Acknowledgement
Funding for the RFC Editor function is currently provided by the
Internet Society.
ISO Plain Language
On this page
§1What the Attribute Is For
This document defines the Delegated-IPv6-Prefix attribute as a RADIUS attribute that carries an IPv6 prefix to be delegated to the user, for use in the user's network. For example, the prefix in a Delegated-IPv6-Prefix attribute can be delegated to another node through DHCP Prefix Delegation.
The attribute can be used in DHCP Prefix Delegation between the delegating router and a RADIUS server, as the message sequence in the RFC shows: a requesting router sends a Solicit to the delegating router, the delegating router sends a Request to the RADIUS server and receives an Accept that carries the Delegated-IPv6-Prefix, then it advertises the prefix to the requesting router, the requesting router asks for it with a Request and receives a Reply that carries the prefix, and the delegating router passes the prefix on to the RADIUS server in an Accounting-Request.
The Framed-IPv6-Prefix attribute is not designed to support delegation of IPv6 prefixes to be used in the user's network, and therefore the Framed-IPv6-Prefix and Delegated-IPv6-Prefix attributes may be included in the same RADIUS packet.
The attribute carries an IPv6 prefix to be delegated to the user, for use in the user's network. For example, the prefix can be delegated to another node through DHCP Prefix Delegation. The Framed-IPv6-Prefix attribute is not designed to support delegation of IPv6 prefixes to be used in the user's network, so the two attributes may appear in the same RADIUS packet.
§1The Exchange It Takes Part In
The RFC draws the exchange that the attribute takes part in. A requesting router sends a Solicit to the delegating router. The delegating router sends a Request to the RADIUS server, and the RADIUS server returns an Accept carrying the Delegated-IPv6-Prefix. The delegating router then advertises the prefix to the requesting router with an Advertise message that carries the prefix. The requesting router sends a Request carrying the prefix to the delegating router, which answers with a Reply carrying the prefix, and the prefix is also passed to the RADIUS server in an Accounting-Request.
In other words, the attribute appears on the RADIUS side of the exchange, between the delegating router and the RADIUS server, while DHCP prefix delegation carries the same prefix on the DHCP side, between the delegating router and the requesting router.
The RFC shows the exchange. A router that wants a prefix sends a Solicit to the delegating router. The delegating router sends a RADIUS Request to the RADIUS server and gets back an Accept that carries the Delegated-IPv6-Prefix. It then advertises the prefix to the requesting router with an Advertise message. The requesting router asks for it with a Request and gets a Reply carrying the prefix, and the delegating router passes the same prefix on to the RADIUS server in an Accounting-Request.
- Solicit
- Request
- Accept (Delegated-IPv6-Prefix)
- Advertise (Prefix)
- Request (Prefix)
- Reply (Prefix)
§3The Format of the Attribute
The Delegated-IPv6-Prefix attribute has a four-byte header followed by the prefix. The Type is 123. The Length is the length of the entire attribute in bytes, at least 4, to hold Type, Length, Reserved and Prefix-Length for a 0-bit prefix, and no larger than 20, to hold those fields for a 128-bit prefix.
The Reserved field is always set to zero by the sender and ignored by the receiver. The Prefix-Length field is the length of the prefix being delegated, in bits: at least 0 and no larger than 128 bits, where 128 bits identifies a single IPv6 address.
The prefix field is only required to be long enough to hold the prefix bits, and can be shorter than 16 bytes. Any bits in the prefix field that are not part of the prefix MUST be zero.
The attribute has four fixed bytes and then the prefix itself. The Type is 123. The Length is the size of the whole attribute, at least 4 bytes and at most 20. The Reserved field is set to zero and ignored. The Prefix-Length gives the length of the prefix in bits, from 0 to 128, where 128 identifies a single IPv6 address. The prefix field only has to be long enough to hold the prefix bits, and any bits that are not part of the prefix must be zero.
| Field | Name | Size | Value | Description |
|---|---|---|---|---|
TYPE | Type | 1 byte | 123 | 123 for Delegated-IPv6-Prefix. |
LENGTH | Length | 1 byte | The length of the entire attribute in bytes, at least 4 and no larger than 20. | |
RESERVED | Reserved | 1 byte | Always set to zero by the sender and ignored by the receiver. | |
PREFIX-LENGTH | Prefix-Length | 1 byte | The length of the prefix being delegated, in bits, from 0 to 128. | |
PREFIX | Prefix | 16 bytes | The prefix bits. The field only has to be long enough to hold them, and any bits that are not part of the prefix must be zero. |
§4Where the Attribute May Appear
The Delegated-IPv6-Prefix attribute MAY appear in an Access-Accept packet, and it can appear multiple times. It MAY appear in an Access-Request packet as a hint by the network access server to the server that it would prefer these prefixes, but the server is not required to honour the hint. The attribute MAY also appear in an Accounting-Request packet. It MUST NOT appear in any other RADIUS packets.
The table of attributes in the RFC records the same thing. The attribute is marked 0+ for Request, Accept, Reject, Challenge and Accounting-Request, where 0+ means zero or more instances of the attribute may be present, and 0 for the Reject and Challenge packets, where 0 means the attribute must not be present. The table is a guide to which attributes may be found in which kinds of packets and in what quantity.
The attribute may appear in an Access-Accept packet, and can appear more than once there. It may also appear in an Access-Request packet as a hint from the access server saying which prefixes it would prefer, though the server is not required to honour the hint. It may appear in an Accounting-Request packet. It must not appear in any other RADIUS packet.
§5Using It in Diameter
When used in Diameter, the attribute defined in this specification can be used as a Diameter AVP from the Code space 1-255, that is, the RADIUS attribute compatibility space. No additional Diameter Code values are therefore allocated. The data type of the attribute is an OctetString.
The attribute has no special translation requirements for Diameter to RADIUS or RADIUS to Diameter gateways: it is copied as is, except for changes relating to headers, alignment and padding. The text describing the applicability of the attribute for RADIUS Access-Request applies in Diameter to AA-Request or Diameter-EAP-Request, and the text describing the applicability for RADIUS Access-Accept applies in Diameter to AA-Answer or Diameter-EAP-Answer that indicates success. The text describing the applicability for RADIUS Accounting-Request applies to Diameter Accounting-Request as well.
The AVP flag rules for the attribute are that it MUST be present, MAY be present, MUST NOT be present and MUST be encrypted. In the table those flags are marked M, P, a blank for must not and V for must not be present, and Y for encryption.
In Diameter the same attribute is used as an AVP with code 123, taken from the code space 1 to 255 that mirrors RADIUS attributes, so no new Diameter code is allocated, and its value type is an octet string. There are no special translation rules for gateways between RADIUS and Diameter: the attribute is copied as is, apart from header, alignment and padding changes. The rules about which RADIUS packets may carry the attribute apply to the matching Diameter packets.
§7Security Considerations
The known security vulnerabilities of the RADIUS protocol are discussed in the proxy chaining document, in the RADIUS specification and in the RADIUS extensions document. The use of IPsec for providing security when RADIUS is carried in IPv6 is discussed in the RADIUS and IPv6 document. Security considerations for the Diameter protocol are discussed in the Diameter base protocol.
The attribute itself adds nothing new to that picture: it carries a prefix, and the strength of the protection around it is the strength of the RADIUS or Diameter session that carries it.
The RFC points at the known security weaknesses of RADIUS and says nothing new is added by this attribute. It notes that IPsec can be used to secure RADIUS when it is carried over IPv6, and that the security considerations of Diameter are described in the Diameter base specification.