RFC 3993

Subscriber-ID Suboption for the Dynamic Host Configuration Protocol (DHCP) Relay Agent Option

πŸ“… published March 2005, from ietf

Network Working Group Β· Request for Comments: 3993 Β· Category: Standards Track Β· Cisco Systems, Inc. Β· March 2005 πŸ“¦

Subscriber-ID Suboption for the Dynamic Host Configuration Protocol (DHCP) Relay Agent Option πŸ’–

The title block, bestie: RFC 3993 was written by Richard Johnson, Theyn Palaniappan, and Mark Stapp, all from Cisco Systems, Inc. It's a Standards Track doc from March 2005 πŸŽ€. The title block doesn't list any Obsoletes or Updates entries, so it isn't replacing or changing another RFC.

Status of This Memo πŸ“œ

This document describes an Internet standards track protocol for the Internet community, and it's asking for discussion and suggestions for improvements 🫢. For the official standardization state and status of this protocol, check the current edition of the "Internet Official Protocol Standards" (STD 1). Distribution of this memo is unlimited 🌈.

Copyright (C) The Internet Society (2005).

Abstract ✨

Okay so this memo defines a brand new Subscriber-ID suboption for the relay agent information option of the Dynamic Host Configuration Protocol (DHCP) πŸ¦‹. It lets a DHCP relay agent attach a stable "Subscriber-ID" to DHCP client messages, and the best part is that this ID doesn't depend on the client or on the physical network underneath it. Iconic, honestly πŸ’….

Table of Contents πŸ—‚οΈ

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  2
   2.  Requirements Terminology . . . . . . . . . . . . . . . . . . .  2
   3.  The Subscriber-ID Suboption  . . . . . . . . . . . . . . . . .  2
       3.1.  Suboption Format . . . . . . . . . . . . . . . . . . . .  3
   4.  Relay Agent Behavior . . . . . . . . . . . . . . . . . . . . .  3
   5.  DHCP Server Behavior . . . . . . . . . . . . . . . . . . . . .  4
   6.  Security Considerations  . . . . . . . . . . . . . . . . . . .  4
   7.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . .  5
   8.  Acknowledgements . . . . . . . . . . . . . . . . . . . . . . .  5
   9.  References . . . . . . . . . . . . . . . . . . . . . . . . . .  5
       9.1.  Normative References . . . . . . . . . . . . . . . . . .  5
       9.2.  Informative References . . . . . . . . . . . . . . . . .  5
   Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . .  6
   Full Copyright Statement . . . . . . . . . . . . . . . . . . . . .  7

1. Introduction ✨

Okay so DHCP (RFC 2131 [2]) hands out IP addresses and configuration info to IPv4 clients πŸ’–. It has a relay agent capability: processes inside the network infrastructure catch broadcast messages from clients and forward them to DHCP servers as unicast messages. In environments like DOCSIS data-over-cable and xDSL, it's proven useful for the relay agent to add info to the DHCP message before forwarding it, using the relay agent information option (RFC 3046 [3]) 🌸.

Servers that recognize the relay agent option echo it back in their replies, and some of the info relays add can help an edge device send replies back to clients efficiently πŸš€. The info relays supply can also feed into the server's decision making about which addresses and configuration parameters the client should get 🧠.

In lots of service provider environments, it's desirable to attach some provider-specific info to clients' DHCP messages πŸ’…. This is usually done with the relay agent information option, and RFC 3046 defines Remote-ID and Circuit-ID suboptions to carry that info. The catch? The values in those suboptions are usually based on a network resource, like the IP address of a network access device, an ATM Virtual Circuit identifier, or a DOCSIS cable-modem identifier 😭. So they depend on the physical network setup. If a client connects through different paths, different values end up in those network-dependent suboptions. Not ideal, bestie πŸ™ˆ.

2. Requirements 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 [1] πŸ“–.

3. The Subscriber-ID Suboption 🌸

In complex service provider environments, connecting a customer's DHCP configuration with their administrative info is necessary πŸ’Ό. The Subscriber-ID suboption carries a value that can stay independent of the physical network the subscriber connects through. This value complements the network-based relay agent option suboptions discussed in Section 2, and it might well be used alongside them 🫢. The "subscriber-id" the provider assigns is meant to stay stable as customers connect through different paths and as the network changes πŸ¦‹.

The Subscriber-ID info lets the service provider assign or activate subscriber-specific actions, like assigning a host IP address and subnet mask, setting up DNS configuration, or triggering accounting πŸ‘‘. This suboption is decoupled from the access network's physical structure. So if a subscriber moves from one access point to another, for example, the service provider's DHCP servers wouldn't need reconfiguring 🧚.

The Subscriber-ID is an ASCII string, and its encoding is defined in Section 3.1. What the Subscriber-ID string actually means is, of course, up to the provider 🌈. This specification doesn't set any semantic requirements on the data in the string πŸ’œ.

3.1. Suboption Format πŸ¦‹

This memo defines a new DHCP relay agent option suboption that carries a "Subscriber-ID" value. The value is an ASCII string. The suboption looks a lot like many other relay information option suboptions:

       0     1     2     3     4     5
       +-----+-----+-----+-----+-----+----+--
       |Code | Len | Subscriber-ID string ...
       +-----+-----+-----+-----+-----+----+--

The Code for the suboption is 6 ✨.

The one-octet Len field is the length of the ID string, measured in octets. The minimum length of the ID string is 1 octet πŸ“.

The "Subscriber-ID" is an NVT ASCII [4] string. The string MUST NOT be NULL terminated, since the length is specified in the Len field πŸ™…β€β™€οΈ.

4. Relay Agent Behavior ⭐

DHCP relay agents MAY be configured to include a Subscriber-ID suboption if they include a relay agent information option in relayed DHCP messages πŸ’–. The subscriber-id strings themselves get assigned and configured through mechanisms that are outside the scope of this memo 🫢.

5. DHCP Server Behavior πŸ‘‘

This suboption gives the DHCP server additional info 🧠. If the server is configured to support this option, it may use this info alongside other relay agent option data and other options included in the DHCP client messages, so it can assign an IP address and/or other configuration parameters to the client πŸŽ€. There's no special additional processing for this suboption, so nothing extra to worry about πŸ’….

Part 1 of 2 is done! Part 2 picks up right after this with Section 6, Security Considerations πŸ”₯.

Intellectual Property πŸ’…

Okay bestie, so the IETF is not picking a side on whether any Intellectual Property Rights might apply to the tech in this doc, or whether you can even get a license for it πŸ™ˆ It also hasn't gone looking for any of those rights itself. ✨ If you want the rules on rights in RFC docs, check out BCP 78 and BCP 79. πŸ“š

Copies of IPR disclosures sent to the IETF Secretariat are over at the IETF online IPR repository at http://www.ietf.org/ipr. You'll also find any licensing assurances there, plus what happened when someone tried to get a general license or permission for implementers or users of this spec. πŸ¦‹

The IETF also really wants to hear from you 🫢 If you know about any copyrights, patents, patent applications, or other proprietary rights that might cover tech needed to implement this standard, tell them! Send it to ietf-ipr@ietf.org. The community is literally begging for this info 🌸

Acknowledgement 🌈

Funding for the RFC Editor function is currently provided by the Internet Society. πŸ‘‘ Thank you, Internet Society, you're iconic! πŸ’–

πŸ“¦ where this page comes from