RADIUS VLAN attributes: RADIUS Attributes for Virtual LAN and Priority Support
Four new RADIUS attributes that let an authentication server hand out VLAN memberships and priority mappings per port.
Congdon, P., Sanchez, M., and B. Aboba, "RADIUS Attributes for Virtual LAN and Priority Support", RFC 4675, DOI 10.17487/RFC4675, September 2006, <https://www.rfc-editor.org/info/rfc4675>.
@misc{rfc4675,
series = {Request for Comments},
number = 4675,
howpublished = {RFC 4675},
publisher = {RFC Editor},
doi = {10.17487/RFC4675},
url = {https://www.rfc-editor.org/info/rfc4675},
author = {P. Congdon and M. Sanchez and B. Aboba},
title = {{RADIUS Attributes for Virtual LAN and Priority Support}},
pagetotal = 15,
year = 2006,
month = sep,
} RFC text
Contents
Network Working Group P. Congdon
Request for Comments: 4675 M. Sanchez
Category: Standards Track Hewlett-Packard Company
B. Aboba
Microsoft Corporation
September 2006
RADIUS Attributes for Virtual LAN and Priority Support
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 Internet Society (2006).
Abstract
This document proposes additional Remote Authentication Dial-In User
Service (RADIUS) attributes for dynamic Virtual LAN assignment and
prioritization, for use in provisioning of access to IEEE 802 local
area networks. These attributes are usable within either RADIUS or
Diameter.
Table of Contents
1. Introduction ....................................................3
1.1. Terminology ................................................3
1.2. Requirements Language ......................................3
1.3. Attribute Interpretation ...................................3
2. Attributes ......................................................4
2.1. Egress-VLANID ..............................................4
2.2. Ingress-Filters ............................................6
2.3. Egress-VLAN-Name ...........................................7
2.4. User-Priority-Table ........................................8
3. Table of Attributes ............................................10
4. Diameter Considerations ........................................10
5. IANA Considerations ............................................11
6. Security Considerations ........................................11
7. References .....................................................12
7.1. Normative References ......................................12
7.2. Informative References ....................................13
8. Acknowledgements ...............................................13
1. Introduction
This document describes Virtual LAN (VLAN) and re-prioritization
attributes that may prove useful for provisioning of access to IEEE
802 local area networks [IEEE-802] with the Remote Authentication
Dial-In User Service (RADIUS) or Diameter.
While [RFC3580] enables support for VLAN assignment based on the
tunnel attributes defined in [RFC2868], it does not provide support
for a more complete set of VLAN functionality as defined by
[IEEE-802.1Q]. The attributes defined in this document provide
support within RADIUS and Diameter analogous to the management
variables supported in [IEEE-802.1Q] and MIB objects defined in
[RFC4363]. In addition, this document enables support for a wider
range of [IEEE-802.1X] configurations.
1.1. Terminology
This document uses the following terms:
Network Access Server (NAS)
A device that provides an access service for a user to a
network. Also known as a RADIUS client.
RADIUS server
A RADIUS authentication server is an entity that provides an
authentication service to a NAS.
RADIUS proxy
A RADIUS proxy acts as an authentication server to the NAS, and
a RADIUS client to the RADIUS server.
1.2. 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].
1.3. Attribute Interpretation
The attributes described in this document apply to a single instance
of a NAS port, or more specifically an IEEE 802.1Q bridge port.
[IEEE-802.1Q], [IEEE-802.1D], and [IEEE-802.1X] do not recognize
finer management granularity than "per port". In some cases, such as
with IEEE 802.11 wireless LANs, the concept of a "virtual port" is
used in place of the physical port. Such virtual ports are typically
based on security associations and scoped by station, or Media Access
Control (MAC) address.
The attributes defined in this document are applied on a per-user
basis and it is expected that there is a single user per port;
however, in some cases that port may be a "virtual port". If a NAS
implementation conforming to this document supports "virtual ports",
it may be possible to provision those "virtual ports" with unique
values of the attributes described in this document, allowing
multiple users sharing the same physical port to each have a unique
set of authorization parameters.
If a NAS conforming to this specification receives an Access-Accept
packet containing an attribute defined in this document that it
cannot apply, it MUST act as though it had received an Access-Reject.
[RFC3576] requires that a NAS receiving a Change of Authorization
Request (CoA-Request) reply with a CoA-NAK if the Request contains an
unsupported attribute. It is recommended that an Error-Cause
attribute with the value set to "Unsupported Attribute" (401) be
included in the CoA-NAK. As noted in [RFC3576], authorization
changes are atomic so that this situation does not result in session
termination and the preexisting configuration remains unchanged. As
a result, no accounting packets should be generated.
2. Attributes
2.1. Egress-VLANID
Description
The Egress-VLANID attribute represents an allowed IEEE 802 Egress
VLANID for this port, indicating if the VLANID is allowed for
tagged or untagged frames as well as the VLANID.
As defined in [RFC3580], the VLAN assigned via tunnel attributes
applies both to the ingress VLANID for untagged packets (known as
the PVID) and the egress VLANID for untagged packets. In
contrast, the Egress-VLANID attribute configures only the egress
VLANID for either tagged or untagged packets. The Egress-VLANID
attribute MAY be included in the same RADIUS packet as [RFC3580]
tunnel attributes; however, the Egress-VLANID attribute is not
necessary if it is being used to configure the same untagged
VLANID included in tunnel attributes. To configure an untagged
VLAN for both ingress and egress, the tunnel attributes of
[RFC3580] MUST be used.
Multiple Egress-VLANID attributes MAY be included in Access-
Request, Access-Accept, CoA-Request, or Accounting-Request
packets; this attribute MUST NOT be sent within an Access-
Challenge, Access-Reject, Disconnect-Request, Disconnect-ACK,
Disconnect-NAK, CoA-ACK, or CoA-NAK. Each attribute adds the
specified VLAN to the list of allowed egress VLANs for the port.
The Egress-VLANID attribute is shown below. The fields are
transmitted from left to right:
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Value (cont) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type
56
Length
6
Value
The Value field is four octets. The format is described below:
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Tag Indic. | Pad | VLANID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The Tag Indication field is one octet in length and indicates
whether the frames on the VLAN are tagged (0x31) or untagged
(0x32). The Pad field is 12 bits in length and MUST be 0 (zero).
The VLANID is 12 bits in length and contains the [IEEE-802.1Q]
VLAN VID value.
2.2. Ingress-Filters
Description
The Ingress-Filters attribute corresponds to the Ingress Filter
per-port variable defined in [IEEE-802.1Q] clause 8.4.5. When the
attribute has the value "Enabled", the set of VLANs that are
allowed to ingress a port must match the set of VLANs that are
allowed to egress a port. Only a single Ingress-Filters attribute
MAY be sent within an Access-Request, Access-Accept, CoA-Request,
or Accounting-Request packet; this attribute MUST NOT be sent
within an Access-Challenge, Access-Reject, Disconnect-Request,
Disconnect-ACK, Disconnect-NAK, CoA-ACK, or CoA-NAK.
The Ingress-Filters attribute is shown below. The fields are
transmitted from left to right:
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Value (cont) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type
57
Length
6
Value
The Value field is four octets. Supported values include:
1 - Enabled
2 - Disabled
2.3. Egress-VLAN-Name
Description
Clause 12.10.2.1.3 (a) in [IEEE-802.1Q] describes the
administratively assigned VLAN Name associated with a VLAN-ID
defined within an IEEE 802.1Q bridge. The Egress-VLAN-Name
attribute represents an allowed VLAN for this port. It is similar
to the Egress-VLANID attribute, except that the VLAN-ID itself is
not specified or known; rather, the VLAN name is used to identify
the VLAN within the system.
The tunnel attributes described in [RFC3580] and the Egress-VLAN-
Name attribute both can be used to configure the egress VLAN for
untagged packets. These attributes can be used concurrently and
MAY appear in the same RADIUS packet. When they do appear
concurrently, the list of allowed VLANs is the concatenation of
the Egress-VLAN-Name and the Tunnel-Private-Group-ID (81)
attributes. The Egress-VLAN-Name attribute does not alter the
ingress VLAN for untagged traffic on a port (also known as the
PVID). The tunnel attributes from [RFC3580] should be relied upon
instead to set the PVID.
The Egress-VLAN-Name attribute contains two parts; the first part
indicates if frames on the VLAN for this port are to be
represented in tagged or untagged format, the second part is the
VLAN name.
Multiple Egress-VLAN-Name attributes MAY be included within an
Access-Request, Access-Accept, CoA-Request, or Accounting-Request
packet; this attribute MUST NOT be sent within an Access-
Challenge, Access-Reject, Disconnect-Request, Disconnect-ACK,
Disconnect-NAK, CoA-ACK, or CoA-NAK. Each attribute adds the
named VLAN to the list of allowed egress VLANs for the port. The
Egress-VLAN-Name attribute is shown below. The fields are
transmitted from left to right:
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 | Tag Indic. | String...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type
58
Length
>=4
Tag Indication
The Tag Indication field is one octet in length and indicates
whether the frames on the VLAN are tagged (0x31, ASCII '1') or
untagged (0x32, ASCII '2'). These values were chosen so as to
make them easier for users to enter.
String
The String field is at least one octet in length and contains the
VLAN Name as defined in [IEEE-802.1Q] clause 12.10.2.1.3 (a).
[RFC3629] UTF-8 encoded 10646 characters are RECOMMENDED, but a
robust implementation SHOULD support the field as undistinguished
octets.
2.4. User-Priority-Table
Description
[IEEE-802.1D] clause 7.5.1 discusses how to regenerate (or re-map)
user priority on frames received at a port. This per-port
configuration enables a bridge to cause the priority of received
traffic at a port to be mapped to a particular priority.
[IEEE-802.1D] clause 6.3.9 describes the use of remapping:
The ability to signal user priority in IEEE 802 LANs allows
user priority to be carried with end-to-end significance across
a Bridged Local Area Network. This, coupled with a consistent
approach to the mapping of user priority to traffic classes and
of user priority to access_priority, allows consistent use of
priority information, according to the capabilities of the
Bridges and MACs in the transmission path...
Under normal circumstances, user priority is not modified in
transit through the relay function of a Bridge; however,
network management can control how user priority is propagated.
Table 7-1 provides the ability to map incoming user priority
values on a per-Port basis. By default, the regenerated user
priority is identical to the incoming user priority.
This attribute represents the IEEE 802 prioritization that will be
applied to frames arriving at this port. There are eight possible
user priorities, according to the [IEEE-802] standard.
[IEEE-802.1D] clause 14.6.2.3.3 specifies the regeneration table
as 8 values, each an integer in the range 0-7. The management
variables are described in clause 14.6.2.2.
A single User-Priority-Table attribute MAY be included in an
Access-Accept or CoA-Request packet; this attribute MUST NOT be
sent within an Access-Request, Access-Challenge, Access-Reject,
Disconnect-Request, Disconnect-ACK, Disconnect-NAK, CoA-ACK, CoA-
NAK or Accounting-Request. Since the regeneration table is only
maintained by a bridge conforming to [IEEE-802.1D], this attribute
should only be sent to a RADIUS client supporting that
specification.
The User-Priority-Table attribute is shown below. The fields are
transmitted from left to right:
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 | String
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
String
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
String |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type
59
Length
10
String
The String field is 8 octets in length and includes a table that
maps the incoming priority (if it is set -- the default is 0) into
one of eight regenerated priorities. The first octet maps to
incoming priority 0, the second octet to incoming priority 1, etc.
The values in each octet represent the regenerated priority of the
frame.
It is thus possible to either remap incoming priorities to more
appropriate values; to honor the incoming priorities; or to
override any incoming priorities, forcing them to all map to a
single chosen priority.
The [IEEE-802.1D] specification, Annex G, provides a useful
description of traffic type - traffic class mappings.
3. Table of Attributes
The following table provides a guide to which attributes may be found
in which kinds of packets, and in what quantity.
Access- Access- Access- Access- CoA- Acct-
Request Accept Reject Challenge Req Req # Attribute
0+ 0+ 0 0 0+ 0+ 56 Egress-VLANID
0-1 0-1 0 0 0-1 0-1 57 Ingress-Filters
0+ 0+ 0 0 0+ 0+ 58 Egress-VLAN-Name
0 0-1 0 0 0-1 0 59 User-Priority-Table
The following table defines the meaning of the above table entries.
0 This attribute MUST NOT be present in the packet.
0+ Zero or more instances of this attribute MAY be
present in the packet.
0-1 Zero or one instance of this attribute MAY be
present in the packet.
4. Diameter Considerations
When used in Diameter, the attributes defined in this specification
can be used as Diameter attribute-value pair (AVPs) from the Code
space 1-255 (RADIUS attribute compatibility space). No additional
Diameter Code values are therefore allocated. The data types and
flag rules for the attributes are as follows:
+---------------------+
| AVP Flag rules |
|----+-----+----+-----|----+
| | |SHLD| MUST| |
Attribute Name Value Type |MUST| MAY | NOT| NOT|Encr|
-------------------------------|----+-----+----+-----|----|
Egress-VLANID OctetString| M | P | | V | Y |
Ingress-Filters Enumerated | M | P | | V | Y |
Egress-VLAN-Name UTF8String | M | P | | V | Y |
User-Priority-Table OctetString| M | P | | V | Y |
-------------------------------|----+-----+----+-----|----|
The attributes in this specification have no special translation
requirements for Diameter to RADIUS or RADIUS to Diameter gateways;
they are copied as is, except for changes relating to headers,
alignment, and padding. See also [RFC3588] Section 4.1 and [RFC4005]
Section 9.
What this specification says about the applicability of the
attributes for RADIUS Access-Request packets applies in Diameter to
AA-Request [RFC4005] or Diameter-EAP-Request [RFC4072]. What is said
about Access-Challenge applies in Diameter to AA-Answer [RFC4005] or
Diameter-EAP-Answer [RFC4072] with Result-Code AVP set to
DIAMETER_MULTI_ROUND_AUTH.
What is said about Access-Accept applies in Diameter to AA-Answer or
Diameter-EAP-Answer messages that indicate success. Similarly, what
is said about RADIUS Access-Reject packets applies in Diameter to
AA-Answer or Diameter-EAP-Answer messages that indicate failure.
What is said about COA-Request applies in Diameter to Re-Auth-Request
[RFC4005].
What is said about Accounting-Request applies to Diameter
Accounting-Request [RFC4005] as well.
5. IANA Considerations
This specification does not create any new registries.
This document uses the RADIUS [RFC2865] namespace; see
<http://www.iana.org/assignments/radius-types>. Allocation of four
updates for the section "RADIUS Attribute Types" has been made by the
IANA. The RADIUS attributes are:
56 - Egress-VLANID
57 - Ingress-Filters
58 - Egress-VLAN-Name
59 - User-Priority-Table
6. Security Considerations
This specification describes the use of RADIUS and Diameter for
purposes of authentication, authorization, and accounting in IEEE 802
local area networks. RADIUS threats and security issues for this
application are described in [RFC3579] and [RFC3580]; security issues
encountered in roaming are described in [RFC2607]. For Diameter, the
security issues relating to this application are described in
[RFC4005] and [RFC4072].
This document specifies new attributes that can be included in
existing RADIUS packets, which are protected as described in
[RFC3579] and [RFC3576]. In Diameter, the attributes are protected
as specified in [RFC3588]. See those documents for a more detailed
description.
The security mechanisms supported in RADIUS and Diameter are focused
on preventing an attacker from spoofing packets or modifying packets
in transit. They do not prevent an authorized RADIUS/Diameter server
or proxy from inserting attributes with malicious intent.
VLAN attributes sent by a RADIUS/Diameter server or proxy may enable
access to unauthorized VLANs. These vulnerabilities can be limited
by performing authorization checks at the NAS. For example, a NAS
can be configured to accept only certain VLANIDs from a given
RADIUS/Diameter server/proxy.
Similarly, an attacker gaining control of a RADIUS/Diameter server or
proxy can modify the user priority table, causing either degradation
of quality of service (by downgrading user priority of frames
arriving at a port), or denial of service (by raising the level of
priority of traffic at multiple ports of a device, oversubscribing
the switch or link capabilities).
7. References
7.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC2865] Rigney, C., Willens, S., Rubens, A., and W. Simpson,
"Remote Authentication Dial In User Service (RADIUS)",
RFC 2865, June 2000.
[RFC3588] Calhoun, P., Loughney, J., Guttman, E., Zorn, G., and
J. Arkko, "Diameter Base Protocol", RFC 3588, September
2003.
[RFC3629] Yergeau, F., "UTF-8, a transformation format of ISO
10646", STD 63, RFC 3629, November 2003.
[RFC4363] Levi, D. and D. Harrington, "Definitions of Managed
Objects for Bridges with Traffic Classes, Multicast
Filtering, and Virtual LAN Extensions", RFC 4363,
January 2006.
[IEEE-802] IEEE Standards for Local and Metropolitan Area
Networks: Overview and Architecture, ANSI/IEEE Std
802, 1990.
[IEEE-802.1D] IEEE Standards for Local and Metropolitan Area
Networks: Media Access Control (MAC) Bridges, IEEE Std
802.1D-2004, June 2004.
[IEEE-802.1Q] IEEE Standards for Local and Metropolitan Area
Networks: Draft Standard for Virtual Bridged Local Area
Networks, P802.1Q-2003, January 2003.
7.2. Informative References
[IEEE-802.1X] IEEE Standards for Local and Metropolitan Area
Networks: Port based Network Access Control, IEEE Std
802.1X-2004, December 2004.
[RFC2607] Aboba, B. and J. Vollbrecht, "Proxy Chaining and Policy
Implementation in Roaming", RFC 2607, June 1999.
[RFC2868] Zorn, G., Leifer, D., Rubens, A., Shriver, J.,
Holdrege, M., and I. Goyret, "RADIUS Attributes for
Tunnel Protocol Support", RFC 2868, June 2000.
[RFC3576] Chiba, M., Dommety, G., Eklund, M., Mitton, D., and B.
Aboba, "Dynamic Authorization Extensions to Remote
Authentication Dial In User Service (RADIUS)", RFC
3576, July 2003.
[RFC3579] Aboba, B. and P. Calhoun, "RADIUS (Remote
Authentication Dial In User Service) Support For
Extensible Authentication Protocol (EAP)", RFC 3579,
September 2003.
[RFC3580] Congdon, P., Aboba, B., Smith, A., Zorn, G., and J.
Roese, "IEEE 802.1X Remote Authentication Dial In User
Service (RADIUS) Usage Guidelines", RFC 3580, September
2003.
[RFC4005] Calhoun, P., Zorn, G., Spence, D., and D. Mitton,
"Diameter Network Access Server Application", RFC 4005,
August 2005.
[RFC4072] Eronen, P., Hiller, T., and G. Zorn, "Diameter
Extensible Authentication Protocol (EAP) Application",
RFC 4072, August 2005.
8. Acknowledgements
The authors would like to acknowledge Joseph Salowey of Cisco, David
Nelson of Enterasys, Chuck Black of Hewlett-Packard, and Ashwin
Palekar of Microsoft.
Authors' Addresses
Paul Congdon
Hewlett-Packard Company
HP ProCurve Networking
8000 Foothills Blvd, M/S 5662
Roseville, CA 95747
Phone: +1 916 785 5753
Fax: +1 916 785 8478
EMail: paul.congdon@hp.com
Mauricio Sanchez
Hewlett-Packard Company
HP ProCurve Networking
8000 Foothills Blvd, M/S 5559
Roseville, CA 95747
Phone: +1 916 785 1910
Fax: +1 916 785 1815
EMail: mauricio.sanchez@hp.com
Bernard Aboba
Microsoft Corporation
One Microsoft Way
Redmond, WA 98052
Phone: +1 425 706 6605
Fax: +1 425 936 7329
EMail: bernarda@microsoft.com
Full 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.
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.
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 provided by the IETF
Administrative Support Activity (IASA).
AI ELI5
On this page
§1Why More VLAN Attributes
RFC 4675 describes Virtual LAN (VLAN) and re-prioritization attributes for provisioning access to IEEE 802 local area networks with RADIUS or Diameter. RFC 3580 already supports VLAN assignment through the tunnel attributes of RFC 2868, but not the fuller VLAN functionality of IEEE 802.1Q.
The new attributes are analogous to the management variables of IEEE 802.1Q and the MIB objects of RFC 4363. They also support a wider range of IEEE 802.1X configurations.
The old way could only say which one room you belong to. The new attributes let the doorman describe a whole set of rooms and rules.
§2Per-Port, Per-User Scope
The attributes apply to a single NAS port, more precisely an IEEE 802.1Q bridge port, because the IEEE specifications do not recognize finer management than per port. The attributes are applied per user, with one user expected per port. On media such as IEEE 802.11 wireless LANs a "virtual port", usually scoped by station MAC address, may stand in for the physical port.
A NAS that receives an Access-Accept with one of these attributes it cannot apply MUST act as though it had received an Access-Reject. For a CoA-Request (RFC 3576), the NAS replies with a CoA-NAK, and an Error-Cause attribute of "Unsupported Attribute" (401) is recommended. Authorization changes are atomic, so the existing configuration stays unchanged.
The rules are for one door at a time. If the doorman gives an instruction the door cannot follow, the door stays shut rather than guessing.
§3VLAN Membership Attributes
- 56Egress-VLANID — Allowed egress VLAN by ID, tagged or untagged.
- 57Ingress-Filters — Enabled (1) or Disabled (2).
- 58Egress-VLAN-Name — Allowed egress VLAN by name.
- 59User-Priority-Table — Eight-entry priority regeneration table.
Egress-VLANID (type 56, length 6) names one VLAN allowed for egress on the port. Its four-octet value has a Tag Indication octet (0x31 tagged, 0x32 untagged), a 12-bit Pad that MUST be zero, and a 12-bit VLANID. Multiple instances may appear, each adding a VLAN to the allowed egress list. Unlike the RFC 3580 tunnel attributes, it sets only egress, not the ingress VLAN for untagged packets (the PVID). To configure an untagged VLAN for both ingress and egress, the tunnel attributes MUST be used.
Ingress-Filters (type 57, length 6) maps to the Ingress Filter variable of IEEE 802.1Q. Value 1 is Enabled and 2 is Disabled. When Enabled, the VLANs allowed to ingress a port must match those allowed to egress it. Only one may be sent per packet.
Egress-VLAN-Name (type 58, length at least 4) works like Egress-VLANID but identifies the VLAN by name. It has a Tag Indication octet (0x31 or 0x32, the ASCII characters '1' and '2') followed by a string. UTF-8 is RECOMMENDED for the name, and a robust implementation SHOULD accept undistinguished octets. When used with the RFC 3580 tunnel attributes, the allowed list is the concatenation of this attribute and Tunnel-Private-Group-ID (81).
Egress-VLANID is a hall pass listing a room number and whether you wear a name tag there. Egress-VLAN-Name is the same pass, but written with the room's name. Ingress-Filters is a switch that decides if you may only enter rooms you may also leave.
§4Re-mapping Priority
User-Priority-Table (type 59, length 10) carries the IEEE 802.1D regeneration table for a port. IEEE 802 defines eight user priorities, and the table has 8 octets, each an integer from 0 to 7. The first octet gives the regenerated priority for incoming priority 0, the second for incoming priority 1, and so on. The default incoming priority is 0.
This lets a bridge remap incoming priorities, honor them, or override them by forcing all to one chosen priority. A single instance may appear in an Access-Accept or CoA-Request, and it should only be sent to a RADIUS client that supports IEEE 802.1D.
Imagine mail with a number 0 to 7 for how urgent it is. This attribute is a little chart that says, for each urgency number on arrival, what number to stamp on it instead.
§5Which Packets Carry Them, and Diameter
Egress-VLANID and Egress-VLAN-Name may appear zero or more times in Access-Request, Access-Accept, CoA-Request and Accounting-Request. Ingress-Filters may appear zero or one time in those same packets. User-Priority-Table may appear zero or one time, only in Access-Accept and CoA-Request. None of them may appear in Access-Reject or Access-Challenge.
In Diameter the attributes are AVPs from the RADIUS compatibility code space 1-255, so no new Diameter codes are allocated. Their value types are OctetString (Egress-VLANID and User-Priority-Table), Enumerated (Ingress-Filters) and UTF8String (Egress-VLAN-Name). Gateways between Diameter and RADIUS copy them as is, apart from headers, alignment and padding.
IANA allocated the four attribute numbers 56 to 59 in the existing RADIUS namespace and created no new registries.
Each note may only be put in certain kinds of envelopes. The same notes also work in the other mail system, Diameter, without changing.
§6Security Considerations
The attributes ride inside existing RADIUS packets, protected as described in RFC 3579 and RFC 3576, or in Diameter as specified in RFC 3588. Those protections target spoofing and modification in transit. They do not stop an authorized server or proxy from inserting attributes with malicious intent.
VLAN attributes from such a server or proxy may enable access to unauthorized VLANs. The NAS can limit this with authorization checks, for example accepting only certain VLANIDs from a given server or proxy. A compromised server could also change the user priority table, degrading quality of service by lowering priorities, or causing denial of service by raising priority at many ports and oversubscribing the switch or links.
The lock on the mailbox keeps strangers out, but not a dishonest doorman. So the building should double-check which rooms any doorman is allowed to hand out.