RFC 4649
Dynamic Host Configuration Protocol for IPv6 (DHCPv6) Relay Agent Remote-ID Option
RFC 4649: Dynamic Host Configuration Protocol for IPv6 (DHCPv6) Relay Agent Remote-ID Option ๐
Okay bestie, here's the deal โจ This is RFC 4649, written by Bernard Volz of Cisco Systems, Inc. in August 2006 ๐ It's on the Standards Track, so it's an actual Internet standards-track protocol spec, not just a chill FYI doc. ๐ The header doesn't list any RFCs it obsoletes or updates, so it's a standalone new thing ๐ธ
Status of This Memo โญ
This document specifies an Internet standards track protocol for the Internet community, and asks for discussion and suggestions for improvements. For the 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 Notice ๐ฅ
Copyright (C) The Internet Society (2006).
Abstract ๐ง
This memo defines a brand new Relay Agent Remote-ID option for DHCPv6 ๐ It's basically the DHCPv6 version of the Remote-ID suboption from the DHCPv4 Relay Agent Option, which is specified in RFC 3046. Iconic glow-up energy ๐
Table of Contents ๐
1. Introduction ....................................................2
2. Requirements Terminology ........................................2
3. The Relay Agent Remote-ID Option ................................2
4. DHCPv6 Relay Agent Behavior .....................................3
5. DHCPv6 Server Behavior ..........................................3
6. Security Considerations .........................................3
7. IANA Considerations .............................................4
8. Acknowledgements ................................................4
9. References ......................................................4
9.1. Normative References .......................................4
9.2. Informative References .....................................4
1. Introduction ๐ธ
Okay so DHCPv6 [1] is the thing that hands out IP addresses and config info to IPv6 clients ๐ It has a relay agent capability, where processes in the network infrastructure catch multicast messages from clients and forward them to DHCPv6 servers. Sometimes it's super useful for the relay agent to slip extra info into the DHCPv6 message before it gets relayed โจ
That info can also help the server make choices about the addresses, the delegated prefixes [4], and the configuration parameters the client ends up getting. Main character decision-making ๐
This memo defines the DHCPv6 version of the DHCPv4 Relay Agent option's Remote-ID suboption, which is specified in [2]. The motivation and usage scenarios for it are also in [2] ๐ฆ
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 [3] ๐ซถ
3. The Relay Agent Remote-ID Option ๐ง
This option may be added by DHCPv6 relay agents that terminate switched or permanent circuits and have mechanisms to identify the remote host end of the circuit. Like, if you're the one ending the circuit and you can tell who's on the other side, this is your moment ๐
Here's what the DHCPv6 Relay Agent Remote-ID option looks like on the wire ๐
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| OPTION_REMOTE_ID | option-len |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| enterprise-number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
. .
. remote-id .
. .
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Here's what each field means ๐
option-code: OPTION_REMOTE_ID (37) ๐ฅoption-len: 4 plus the length, in octets, of the remote-id field. The minimum option-len is 5 octets ๐enterprise-number: the vendor's registered Enterprise Number, as registered with IANA [5] ๐ธremote-id: the opaque value for the remote-id ๐ฆ
The definition of the remote-id in this option is vendor specific, and the vendor is indicated in the enterprise-number field. The remote-id can be used to encode stuff like:
- a "caller ID" telephone number for dial-up connections ๐
- a "user name" prompted for by a Remote Access Server ๐
- a remote caller ATM address ๐
- a "modem ID" of a cable data modem ๐
- the remote IP address of a point-to-point link ๐
- a remote X.25 address for X.25 connections โจ
- an interface or port identifier ๐
Each vendor must make sure the remote-id is unique for its enterprise-number, since the octet sequence of enterprise-number followed by remote-id must be globally unique ๐ซถ One way to get there might be to include the relay agent's DHCP Unique Identifier (DUID) [1] in the remote-id. Iykyk ๐ง
4. DHCPv6 Relay Agent Behavior ๐
DHCPv6 relay agents may be configured to include a Remote-ID option in relayed (RELAY-FORW) DHCPv6 messages ๐ธ
5. DHCPv6 Server Behavior ๐
This option gives the DHCPv6 server extra info ๐ If the server is configured to support it, it can use this info to pick parameters for specific users, hosts, or subscriber modems โจ
The combined enterprise-number and remote-id SHOULD be considered an opaque value, with policies based on exact string match only. In other words, the remote-id field SHOULD NOT be parsed internally by the server ๐
There's no requirement that a server return this option and its data in a RELAY-REPLY message ๐ฆ
6. Security Considerations ๐ฅ
Okay, this section is serious, so listen up ๐ See [1] section 21.1 for securing DHCPv6 messages sent between servers and relay agents, and section 23 for general DHCPv6 security considerations. [2] talks about how this information can be used to boost trust in some environments ๐ซถ
Even if the DHCP server trusts the relay agent not to modify the info in this option, the confidence it can have in that info is no higher than the confidence the relay agent has in what it puts in the option. Like, the whole chain is only as strong as its weakest link ๐ญ For example, in some protocols a DHCP client might be able to spoof or otherwise choose port identifiers, caller ID information, or other info carried in this option. Sites should think about that possible spoofing, and how likely it is in their environment, when deciding which uses of this option are appropriate ๐
7. IANA Considerations ๐
IANA has assigned the DHCPv6 option code 37 for the Relay Agent Remote-ID Option โจ
8. Acknowledgements ๐ซถ
Thanks to Michael Patrick for [2], from which Bernard liberally borrowed text ๐
9. References ๐
9.1. Normative References ๐ธ
- [1] Droms, R., Bound, J., Volz, B., Lemon, T., Perkins, C., and M. Carney, "Dynamic Host Configuration Protocol for IPv6 (DHCPv6)", RFC 3315, July 2003. ๐
- [2] Patrick, M., "DHCP Relay Agent Information Option", RFC 3046, January 2001. ๐ฆ
- [3] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. โจ
9.2. Informative References ๐ง
- [4] Troan, O. and R. Droms, "IPv6 Prefix Options for Dynamic Host Configuration Protocol (DHCP) version 6", RFC 3633, December 2003. ๐
- [5] IANA, "Private Enterprise Numbers",
http://www.iana.org/assignments/enterprise-numbers. ๐
Author's Address ๐ฎ
Bernard Volz
Cisco Systems, Inc.
1414 Massachusetts Ave.
Boxborough, MA 01719
USA
Phone: +1 978 936 0382
EMail: volz@cisco.com
Full Copyright Statement ๐
Copyright (C) The Internet Society (2006).
This document is subject to the rights, licenses and restrictions in BCP 78. Except as set forth there, the authors keep all their rights ๐ฅ
This document and the info in it are provided "AS IS". The contributor, the organization they represent or are sponsored by (if any), the Internet Society, and the Internet Engineering Task Force all disclaim every warranty, express or implied. That includes, but isn't limited to, any warranty that using the info here won't infringe any rights, and any implied warranties of merchantability or fitness for a particular purpose ๐
Intellectual Property ๐
The IETF takes no position on the validity or scope of any Intellectual Property Rights or other rights that might be claimed to apply to implementing or using the technology in this document. It also doesn't say whether any license under those rights might be available, and it doesn't claim to have independently looked for any such rights ๐ซถ Info on how rights work for RFC documents is in BCP 78 and BCP 79.
Copies of IPR disclosures made to the IETF Secretariat, any assurances of licenses to be made available, and the results of any attempt to get a general license or permission to use such proprietary rights for implementers or users of this spec can all be found in the IETF online IPR repository at http://www.ietf.org/ipr ๐
The IETF invites anyone interested to bring to its attention any copyrights, patents, patent applications, or other proprietary rights that may cover technology needed to implement this standard. Send that info to the IETF at ietf-ipr@ietf.org ๐ง
Acknowledgement ๐ธ
Funding for the RFC Editor function is provided by the IETF Administrative Support Activity (IASA) โจ
That's the whole RFC, bestie! ๐ฆ๐
๐ฆ where this page comes from
- ietf: rfc4649 2006-08
- ๐ girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms