RFC 4818 PROPOSED STANDARD RADIUS · IPV6 · PROVISIONING

RADIUS Delegated-IPv6-Prefix Attribute

A RADIUS attribute that hands an IPv6 prefix to a customer network to pass on further.

On rfc-editor.org ↗
PUBLISHED
April 2007
AUTHORS
J. Salowey, R. Droms
STREAM
IETF
ATTRIBUTE TYPE
123
ATTRIBUTE LENGTH
At least 4 bytes and no larger than 20 bytes
PREFIX LENGTH
0 to 128 bits
DIAMETER AVP CODE
123, from the Code space 1-255
DIAMETER VALUE TYPE
OctetString
PACKETS THAT MAY CARRY IT
Access-Accept, Access-Request as a hint, and Accounting-Request
DOI
10.17487/RFC4818

RFC text

Contents
Original text · RFC Editor View on rfc-editor.org ↗
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
PROBLEMA provider that hands a customer a block of IPv6 addresses needs a way to tell the access server which block to give, and the existing Framed-IPv6-Prefix attribute was not designed for prefixes that the customer will use in its own network.
MECHANISMThe RFC defines a new RADIUS attribute, type 123, that carries a prefix length and the prefix bits. It may appear in an Access-Accept packet, as a preference hint in an Access-Request, and in an Accounting-Request packet.
WHY IT MATTERSThe attribute can be used in DHCP prefix delegation between a delegating router and a RADIUS server, and in Diameter it is used as the AVP with the same code, taken from the code space that mirrors RADIUS attributes.

§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.

THE MESSAGE SEQUENCE FROM SECTION 1
Requesting routerDelegating routerRADIUS server
  1. Solicit
  2. Request
  3. Accept (Delegated-IPv6-Prefix)
  4. Advertise (Prefix)
  5. Request (Prefix)
  6. 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.

THE DELEGATED-IPV6-PREFIX ATTRIBUTE
RADIUS attribute 123
FieldNameSizeValueDescription
TYPEType1 byte123123 for Delegated-IPv6-Prefix.
LENGTHLength1 byteThe length of the entire attribute in bytes, at least 4 and no larger than 20.
RESERVEDReserved1 byteAlways set to zero by the sender and ignored by the receiver.
PREFIX-LENGTHPrefix-Length1 byteThe length of the prefix being delegated, in bits, from 0 to 128.
PREFIXPrefix16 bytesThe 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.

§7References