idnits 2.17.1 draft-ietf-dhc-userclass-04.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- ** Cannot find the required boilerplate sections (Copyright, IPR, etc.) in this document. Expected boilerplate is as follows today (2024-03-28) according to https://trustee.ietf.org/license-info : IETF Trust Legal Provisions of 28-dec-2009, Section 6.a: This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. IETF Trust Legal Provisions of 28-dec-2009, Section 6.b(i), paragraph 2: Copyright (c) 2024 IETF Trust and the persons identified as the document authors. All rights reserved. IETF Trust Legal Provisions of 28-dec-2009, Section 6.b(i), paragraph 3: This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://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. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- ** The document seems to lack a 1id_guidelines paragraph about 6 months document validity -- however, there's a paragraph with a matching beginning. Boilerplate error? == No 'Intended status' indicated for this document; assuming Proposed Standard == The page length should not exceed 58 lines per page, but there was 1 longer page, the longest (page 1) being 343 lines Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** The document seems to lack an IANA Considerations section. (See Section 2.2 of https://www.ietf.org/id-info/checklist for how to handle the case when there are no actions for IANA.) ** The document seems to lack separate sections for Informative/Normative References. All references will be assumed normative when checking for downward references. Miscellaneous warnings: ---------------------------------------------------------------------------- == Line 184 has weird spacing: '... client due t...' == The document seems to lack the recommended RFC 2119 boilerplate, even if it appears to use RFC 2119 keywords -- however, there's a paragraph with a matching beginning. Boilerplate error? (The document does seem to have the reference to RFC 2119 which the ID-Checklist requires). -- The document seems to lack a disclaimer for pre-RFC5378 work, but may have content which was first submitted before 10 November 2008. If you have contacted all the original authors and they are all willing to grant the BCP78 rights to the IETF Trust, then this is fine, and you can ignore this comment. If not, you may need to add the pre-RFC5378 disclaimer. (See the Legal Provisions document at https://trustee.ietf.org/license-info for more information.) -- Couldn't find a document date in the document -- date freshness check skipped. Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) No issues found here. Summary: 4 errors (**), 0 flaws (~~), 4 warnings (==), 2 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 1 Internet Engineering Task Force Glenn Stump, IBM 2 INTERNET DRAFT Ralph Droms, Bucknell University 3 Date: October 1999 Ye Gu, Ramesh Vyaghrapuri, 4 Expires: April 2000 Ann Demirtjis, Microsoft 5 Burcak Beser, 3Com 6 Jerome Privat, BT 8 The User Class Option for DHCP 9 11 Status of this Memo 13 The document is an Internet-Draft and is in full conformance with all 14 of the provisions of Section 10 of RFC 2026. 16 Internet-Drafts are working documents of the Internet Engineering 17 Task Force (IETF), its areas, and its working groups. Note that 18 other groups may also distribute working documents as 19 Internet-Drafts. 21 Internet-Drafts are draft documents valid for a maximum of six months 22 and may be updated, replaced, or obsoleted by other documents at any 23 time. It is inappropriate to use Intenet-Drafts as reference 24 material or to cite them other than as "work in progress." 26 The list of current Internet-Drafts can be accessed at 27 http://www.ietf.org/ietf/1id-abstracts.txt. 29 The list of Internet-Draft Shadow Directories can be accessed at 30 http://www.ietf.org/shadow.html. 32 Abstract 34 This option is used by a DHCP client to optionally identify the 35 type or category of user or applications it represents. The 36 information contained in this option is an NVT ASCII text object 37 that represents the user class of which the client is a member. 38 Based on this class, a DHCP server selects the appropriate address 39 pool to assign an address to the client and the appropriate 40 configuration parameters. 41 This document attempts to merge draft-ietf-dhc-userclass-03.txt 42 and draft-ietf-dhc-useraddr-00.txt. 44 1. Introduction 46 It is often desirable to provide different levels of service 47 to different users of an IP network. 48 In order for an IP network to implement this service 49 differentiation, it needs a way to classify users. A simple 50 solution to this is to use source IP addresses for classification. 51 Under this scheme, network administrators first configure network 52 devices such as routers to recognize traffic from a particular 53 source IP address (or address range) and handle it specially to 54 meet the desired level of service. Next, they assign the IP 55 addresses to the hosts of the intended users so that the user will 56 receive the appropriate level of service. They can configure the 57 hosts manually with these addresses. However, they cannot use DHCP 58 for address assignment, even if they are already running a DHCP 59 server in their network. A current RFC-compliant DHCP server assigns 60 IP addresses based on the location of the DHCP Client in the network 61 topology, not the type of user it supports. 62 This document describes a simple extension of the DHCP protocol 63 that enables a DHCP server to assign IP addresses from different 64 address pools depending on the types of client from which it receives 65 DHCP requests. With this new extension, network administrators will 66 be able to use DHCP to hand out the appropriate addresses to clients. 67 An example intended usage is a corporate network subnet consisting 68 of different departments of users, such as Accounting, Legal, Staff, 69 etc. It may be desirable to allocate logical address pools to each 70 of the departments so that network policies may be implemented easily 71 on IP address ranges; and this would facilitate providing differential 72 services, such as network reachibility. 73 A DHCP server can also use the information contained in the User Class 74 to allocate other configuration parameters than the IP address. For 75 example, a DHCP server receiving a request from a client with the User 76 Class set to "accounting auditors" may return an option with the 77 address of a particular database server. 78 Indeed a DHCP server may have a single pool of addresses and only use 79 the user class to select parameters other than IP addresses. 81 2. Requirements Terminology 83 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 84 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY" and "OPTIONAL" in this 85 document are to be interpreted as described in RFC 2119 [3]. 87 3. DHCP Terminology 89 o "DHCP client" 91 A DHCP client or "client" is an Internet host using DHCP to obtain 92 configuration parameters such as a network address. 94 o "DHCP server" 96 A DHCP server of "server"is an Internet host that returns 97 configuration parameters to DHCP clients. 99 o "binding" 101 A binding is a collection of configuration parameters, including 102 at least an IP address, associated with or "bound to" a DHCP 103 client. Bindings are managed by DHCP servers. 105 4. User Class Information 107 This option is used by a DHCP client to optionally identify the 108 type or category of user or applications it represents. 109 The information contained in this option is an NVT ASCII text 110 object that represents the user class of which the client is a 111 member. 113 This option is a DHCP option [1, 2]. 115 DHCP administrators may define specific user class identifiers to 116 convey information about a client's software configuration or about 117 its user's preferences. 119 The code for this option is TBD. The minimum length for this 120 option is two. 122 Code Len text1 123 +-----+-----+-----+-----+----- 124 | TBD | N | c1 | c2 | ... 125 +-----+-----+-----+-----+----- 127 5. Server behaviour 129 Each address pool on the DHCP Server MAY be configured with a 130 set of ALLOWED USER CLASSES, specifying the category of clients 131 that can be offered addresses from the address pool; and with a 132 set of DISALLOWED USER CLASSES, specifying the category of 133 clients that must NOT be offered addresses from the address pool. 135 In this section, we consider the simple case where the user can 136 send a single User Class. Section 6 discusses potential multiple 137 classes support. 139 Servers not equipped to interpret the user class specified by 140 a client MUST ignore it (although it may be reported). 141 Otherwise, whenever any DHCP client message is seen by the DHCP 142 server, it MUST do the regular processing and if the DHCP server 143 determines that the Client is to be offered a new (or unbound) IP 144 address, the following procedure MUST be adopted: 146 If the client DHCP message does not contain a User Class 147 option, then the DHCP Server MUST attempt to choose an available 148 address pool which has both the ALLOWED and DISALLOWED USER CLASSES 149 empty. If no such address pool is available, and if the DHCP Server 150 has been specifically configured to do so, it MUST attempt to choose 151 an address from any available address pool. 153 If the Client DHCP message contains a User Class option, then 154 the DHCP server MUST attempt to choose an available address pool 155 for which the ALLOWED USER CLASSES set contains the user 156 class option present in the DHCP message. It SHOULD also check that 157 the User Class option present in the DHCP message is NOT present 158 in the DISALLOWED USER CLASS set [this is to cope with possible 159 misconfigurations in which an administrator will have by mistake put 160 a User Class in both the ALLOWED and the DISALLOWED sets]. 161 If no such address pool is available, and if the DHCP Server has been 162 specifically configured to do so, it MUST attempt to choose any 163 address pool for which the User Class options present in 164 the DHCP message is NOT present in the DISALLOWED USER CLASS set. 166 If the server responds with all the parameters corresponding to 167 the given user class, it MUST return this option (with the given 168 user class value) to the client. 170 If the DHCP server is unable to find a suitable address pool, it 171 MUST NOT offer an IP address to the Client. It MAY indicate the 172 condition to the administrator. 174 DISCUSSION: Serving Competing Option Values 176 When servicing a request from a client of a particular user class, 177 a DHCP server makes decisions about what address and what collection 178 of options to include in its response. These decisions are expected 179 to consider addresses, options and values designated for the client 180 host by virtue of its subnet/location, vendor class, user class, or 181 client id. 183 In cases where multiple addresses or option values are possible for 184 return to the client due to multiple, overlapping "affiliations", 185 DHCP server policy may dictate which values take precedence over 186 others. 187 A DHCP server implementation SHOULD provide flexibility in specifying 188 DHCP option precedence policy so that DHCP administrators can 189 customize a DHCP system to best suit their network environments. 191 If flexibility in a server's option precedence policy is not 192 implemented by a vendor (or is perhaps implemented but not exercised 193 by an administrator), a recommended default policy is that option 194 values of specific affiliations override those of less specific. 195 That is, an option value designated for a specific client -- 196 sometimes known as a "reserved binding" -- SHOULD override option 197 values designated for the client's user or vendor class, which 198 SHOULD override option values designated for the client's vendor 199 class, which SHOULD override option values for the client's subnet. 201 6. Multiple User Classes 203 This section intends to raise some of the issues associated with 204 supporting multiple user classes. Feedback from the Working Group 205 is welcome. 207 - Should we allow a client to send multiple User Classes to a 208 server? 209 If yes: 210 - Should we allow the client to send the option twice in a message 211 with each option instance containing one class or should we let the 212 user concatenate classes inside one option? 213 - How should the server behave? 214 option1: the server considers the classes to be ANDed 215 [ie. chooses an address pool for which the ALLOWED USER CLASSES set 216 contains all the User Classes present in the DHCP message and 217 the DISALLOWED USER CLASSES set contains none of the User Classes 218 in the DHCP message]. 219 option 2: the server considers the classes to be ORed 220 [ie. chooses an address pool for which the ALLOWED USER CLASSES set 221 contains one of the User Classes present in the DHCP message and 222 the DISALLOWED USER CLASSES set contains none of the User Classes 223 in the DHCP message]. 224 option 3: the server should not assume anything and the administrator 225 of the server MUST define the behaviour. 227 7. Client behaviour 229 If a client receives a response from a DHCP Server with the same User 230 Class option value as it puts in its request, then it knows that the 231 server responded with parameters corresponding to the given user 232 class. 233 Clients which do not receive all the configuration for the user class 234 requested but which received an IP address SHOULD make an attempt to 235 operate without it, although they may do so (and may announce they are 236 doing so) in a degraded mode. 237 Clients which do not receive an IP address because of the User Class 238 requested MUST announce it. 240 8. Security Considerations 242 DHCP currently provides no authentication or security 243 mechanisms. Potential exposures to attack are discussed 244 is section 7 of the protocol specification [1]. 246 9. References 248 [1] Droms, R., "Dynamic Host Configuration Protocol", RFC 2131, 249 March 1997. 251 [2] S. Alexander, R. Droms, "DHCP Options and BOOTP Vendor 252 Extensions", RFC 2132, March 1997. 254 [3] Bradner, S., "Key words for use in RFCs to Indicate Requirement 255 Levels," RFC 2119, March 1997. 257 10. Acknowledgments 259 This document attempts to merge draft-ietf-dhc-userclass-03.txt 260 (by Glen Stump and Ralph Droms) and 261 draft-ietf-dhc-useraddr-00.txt (by Ye Gu, Ramesh Vyaghrapuri and 262 Burcak Beser). 264 11. Author Information 266 Glenn Stump 267 IBM Networking Software 268 P.O. Box 12195 269 RTP, NC 27709 270 Phone: (919) 301-4277 271 Email: stumpga@us.ibm.com 273 Ralph Droms 274 Computer Science Department 275 323 Dana Engineering 276 Bucknell University 277 Lewisburg, PA 17837 278 Phone: (717) 524-1145 279 Email: droms@bucknell.edu 281 Ye Gu 282 Microsoft Corporation 283 One Microsoft Way 284 Redmond, WA 98052 285 Phone: 425 936 8601 286 Email: yegu@microsoft.com 288 Ramesh Vyaghrapuri 289 Microsoft Corporation 290 One Microsoft Way 291 Redmond, WA 98052 292 Phone: 425 703 9581 293 Email: rameshv@microsoft.com 295 Burcak Beser 296 3Com Corporation 297 3800 Golf Road 298 Rolling Meadows, IL 299 Phone: 847 262 2195 300 Email: Burcak_Beser@3com.com 302 Ann Demirtjis 303 Microsoft Corporation 304 One Microsoft Way 305 Redmond WA 98052 306 Phone: 425-705-2254 307 Email: annd@microsoft.com 309 Jerome Privat 310 BT Advanced Communications Technology Centre 311 Adastral Park, Martlesham Heath, IP5 3RE 312 UK 313 Phone: +44 1473 648910 314 Email: jerome.privat@bt.com 316 12. Expiration 318 This document will expire on April 2000.