Difference between revisions of "RFC4390"
imported>Admin (Created page with " Network Working Group Vivek KashyapRequest for Comments: 4390 IBMCategory: Standards Track...") |
|||
(One intermediate revision by the same user not shown) | |||
Line 1: | Line 1: | ||
+ | Network Working Group Vivek Kashyap | ||
+ | Request for Comments: 4390 IBM | ||
+ | Category: Standards Track April 2006 | ||
+ | Dynamic Host Configuration Protocol (DHCP) over InfiniBand | ||
− | + | '''Status of This Memo''' | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | Status of This Memo | ||
This document specifies an Internet standards track protocol for the | This document specifies an Internet standards track protocol for the | ||
Internet community, and requests discussion and suggestions for | Internet community, and requests discussion and suggestions for | ||
improvements. Please refer to the current edition of the "Internet | improvements. Please refer to the current edition of the "Internet | ||
− | Official Protocol Standards" (STD 1) for the standardization state | + | Official Protocol Standards" ([[STD1|STD 1]]) for the standardization state |
and status of this protocol. Distribution of this memo is unlimited. | and status of this protocol. Distribution of this memo is unlimited. | ||
− | Copyright Notice | + | '''Copyright Notice''' |
Copyright (C) The Internet Society (2006). | Copyright (C) The Internet Society (2006). | ||
− | Abstract | + | '''Abstract''' |
IP over Infiniband (IPoIB) link-layer address is 20 octets long. | IP over Infiniband (IPoIB) link-layer address is 20 octets long. | ||
Line 34: | Line 31: | ||
The Dynamic Host Configuration Protocol (DHCP) provides a framework | The Dynamic Host Configuration Protocol (DHCP) provides a framework | ||
for passing configuration information to hosts on an IP network | for passing configuration information to hosts on an IP network | ||
− | [RFC2131]. DHCP is based on the Bootstrap Protocol (BOOTP) [RFC951] | + | [[RFC2131]]. DHCP is based on the Bootstrap Protocol (BOOTP) [[RFC951]] |
adding the capability of automatic allocation of reusable network | adding the capability of automatic allocation of reusable network | ||
addresses and additional configuration options [RFC2131,RFC2132]. | addresses and additional configuration options [RFC2131,RFC2132]. | ||
Line 45: | Line 42: | ||
The "chaddr" field is 16 octets in length. The IPoIB link-layer | The "chaddr" field is 16 octets in length. The IPoIB link-layer | ||
− | address is 20 octets in length [RFC4391]. Therefore, the IPoIB | + | address is 20 octets in length [[RFC4391]]. Therefore, the IPoIB |
link-layer address will not fit in the "chaddr" field making it | link-layer address will not fit in the "chaddr" field making it | ||
impossible for the DHCP server to unicast a reply to the client. | impossible for the DHCP server to unicast a reply to the client. | ||
Line 51: | Line 48: | ||
To ensure interoperability, the usage of the fields and the method | To ensure interoperability, the usage of the fields and the method | ||
for DHCP interaction must be clarified. This document describes the | for DHCP interaction must be clarified. This document describes the | ||
− | IPoIB-specific usage of some fields of DHCP. See [RFC2131] for the | + | IPoIB-specific usage of some fields of DHCP. See [[RFC2131]] for the |
mechanism of DHCP and the explanations of each field. | mechanism of DHCP and the explanations of each field. | ||
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | ||
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | ||
− | document are to be interpreted as described in [RFC2119]. | + | document are to be interpreted as described in [[RFC2119]]. |
== The DHCP over IPoIB Mechanism == | == The DHCP over IPoIB Mechanism == | ||
Line 68: | Line 65: | ||
situations where the client does not know its IP address. | situations where the client does not know its IP address. | ||
− | [RFC1542] discourages the use of a broadcast reply. But in the case | + | [[RFC1542]] discourages the use of a broadcast reply. But in the case |
of IPoIB, this is a necessity because the server does not receive the | of IPoIB, this is a necessity because the server does not receive the | ||
link-layer address. To desynchronise broadcasts at subnet startup, | link-layer address. To desynchronise broadcasts at subnet startup, | ||
− | [RFC2131] suggests that a client wait a random time (1 to 10 seconds) | + | [[RFC2131]] suggests that a client wait a random time (1 to 10 seconds) |
before initiating server discovery. The same timeout will spread out | before initiating server discovery. The same timeout will spread out | ||
the DHCP server broadcast responses generated due to the use of the | the DHCP server broadcast responses generated due to the use of the | ||
BROADCAST bit. | BROADCAST bit. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
The client hardware address, "chaddr", is unique in the subnet and | The client hardware address, "chaddr", is unique in the subnet and | ||
Line 88: | Line 78: | ||
The DHCP protocol states that the "client identifier" option may be | The DHCP protocol states that the "client identifier" option may be | ||
− | used as the unique identifying value for the client [RFC2132]. This | + | used as the unique identifying value for the client [[RFC2132]]. This |
value must be unique within the client's subnet. | value must be unique within the client's subnet. | ||
Line 111: | Line 101: | ||
The "client identifier" used in DHCP messages MUST conform to | The "client identifier" used in DHCP messages MUST conform to | ||
− | [RFC4361]. | + | [[RFC4361]]. |
=== Use of the BROADCAST flag === | === Use of the BROADCAST flag === | ||
Line 119: | Line 109: | ||
the server (or the relay agent) broadcasts its reply to the client. | the server (or the relay agent) broadcasts its reply to the client. | ||
− | + | Note: As described in [[RFC2131]], "ciaddr" MUST be filled in with the | |
client's IP address during BOUND, RENEWING or REBINDING states; | client's IP address during BOUND, RENEWING or REBINDING states; | ||
therefore, the BROADCAST flag MUST NOT be set. In these cases, | therefore, the BROADCAST flag MUST NOT be set. In these cases, | ||
Line 127: | Line 117: | ||
== Security Considerations == | == Security Considerations == | ||
− | [RFC2131] describes the security considerations relevant to DHCP. | + | [[RFC2131]] describes the security considerations relevant to DHCP. |
This document does not introduce any new issues. | This document does not introduce any new issues. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== Acknowledgement == | == Acknowledgement == | ||
− | This document borrows extensively from [RFC2855]. Roy Larsen pointed | + | This document borrows extensively from [[RFC2855]]. Roy Larsen pointed |
out the length discrepancy between the IPoIB link address and DHCP's | out the length discrepancy between the IPoIB link address and DHCP's | ||
"chaddr" field. | "chaddr" field. | ||
Line 146: | Line 130: | ||
=== Normative References === | === Normative References === | ||
− | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | + | [[RFC2119]] Bradner, S., "Key words for use in RFCs to Indicate |
− | + | Requirement Levels", [[BCP14|BCP 14]], [[RFC2119|RFC 2119]], March 1997. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
+ | [[RFC2131]] Droms, R., "Dynamic Host Configuration Protocol", RFC | ||
+ | 2131, March 1997. | ||
+ | [[RFC2132]] Alexander, S. and R. Droms, "DHCP Options and BOOTP | ||
+ | Vendor Extensions", [[RFC2132|RFC 2132]], March 1997. | ||
+ | [[RFC951]] Housley, R., Horting, T., and P. Yee, "TELNET | ||
+ | Authentication Using KEA and SKIPJACK", [[RFC2951|RFC 2951]], | ||
+ | September 2000. | ||
+ | [[RFC4391]] Chu, J. and V. Kashyap "Transmission of IP over | ||
+ | InfiniBand (IPoIB)", [[RFC4391|RFC 4391]], April 2006. | ||
+ | [ARPPARAM] http://www.iana.org/numbers.html | ||
+ | [[RFC4361]] Lemon, T. and B. Sommerfeld, "Node-specific Client | ||
+ | Identifiers for Dynamic Host Configuration Protocol | ||
+ | Version Four (DHCPv4)", [[RFC4361|RFC 4361]], February 2006. | ||
+ | === Informative References === | ||
+ | [[RFC2855]] Fujisawa, K., "DHCP for IEEE 1394", [[RFC2855|RFC 2855]], June | ||
+ | 2000. | ||
+ | [[RFC1542]] Wimer, W., "Clarifications and Extensions for the | ||
+ | Bootstrap Protocol", [[RFC1542|RFC 1542]], October 1993. | ||
Author's Address | Author's Address | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
+ | Vivek Kashyap | ||
+ | 15350, SW Koll Parkway | ||
+ | Beaverton, OR 97006 | ||
+ | USA | ||
+ | Phone: +1 503 578 3422 | ||
+ | EMail: [email protected] | ||
Full Copyright Statement | Full Copyright Statement | ||
Line 260: | Line 214: | ||
Funding for the RFC Editor function is provided by the IETF | Funding for the RFC Editor function is provided by the IETF | ||
Administrative Support Activity (IASA). | Administrative Support Activity (IASA). | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
[[Category:Standards Track]] | [[Category:Standards Track]] |
Latest revision as of 20:36, 4 October 2020
Network Working Group Vivek Kashyap Request for Comments: 4390 IBM Category: Standards Track April 2006
Dynamic Host Configuration Protocol (DHCP) over InfiniBand
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
IP over Infiniband (IPoIB) link-layer address is 20 octets long. This is larger than the 16 octets reserved for the hardware address in a Dynamic Host Configuration Protocol/Bootstrap Protocol (DHCP/BOOTP) message. The above inequality imposes restrictions on the use of the DHCP message fields when used over an IPoIB network. This document describes the use of DHCP message fields when implementing DHCP over IPoIB.
Contents
Introduction
The Dynamic Host Configuration Protocol (DHCP) provides a framework for passing configuration information to hosts on an IP network RFC2131. DHCP is based on the Bootstrap Protocol (BOOTP) RFC951 adding the capability of automatic allocation of reusable network addresses and additional configuration options [RFC2131,RFC2132].
The DHCP server receives a broadcast request from a client. The DHCP server uses the client interface's hardware address to unicast a reply when the client does not yet have an IP address assigned to it. The "chaddr" field in the DHCP message carries the client's hardware address.
The "chaddr" field is 16 octets in length. The IPoIB link-layer address is 20 octets in length RFC4391. Therefore, the IPoIB link-layer address will not fit in the "chaddr" field making it impossible for the DHCP server to unicast a reply to the client.
To ensure interoperability, the usage of the fields and the method for DHCP interaction must be clarified. This document describes the IPoIB-specific usage of some fields of DHCP. See RFC2131 for the mechanism of DHCP and the explanations of each field.
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.
The DHCP over IPoIB Mechanism
As described above, the link-layer address is unavailable to the DHCP server because the link-layer address is larger than the "chaddr" field length. As a result, the server cannot unicast its reply to the client. Therefore, a DHCP client MUST request that the server send a broadcast reply by setting the BROADCAST flag when IPoIB Address Resolution Protocol (ARP) is not possible, i.e., in situations where the client does not know its IP address.
RFC1542 discourages the use of a broadcast reply. But in the case of IPoIB, this is a necessity because the server does not receive the link-layer address. To desynchronise broadcasts at subnet startup, RFC2131 suggests that a client wait a random time (1 to 10 seconds) before initiating server discovery. The same timeout will spread out the DHCP server broadcast responses generated due to the use of the BROADCAST bit.
The client hardware address, "chaddr", is unique in the subnet and hence can be used to identify a client interface. But in the absence of a unique "chaddr", another unique client identifier must be used.
The DHCP protocol states that the "client identifier" option may be used as the unique identifying value for the client RFC2132. This value must be unique within the client's subnet.
The "client identifier" option includes a type and identifier pair. The identifier included in the "client identifier" option may consist of a hardware address or any other unique value such as the DNS name of the client. When a hardware address is used, the type field should be one of the ARP hardware types listed in [ARPPARAM].
IPoIB-specific Usage of DHCP Message Fields
A DHCP client, when working over an IPoIB interface, MUST follow the following rules:
"htype" (hardware address type) MUST be 32 [ARPPARAM].
"hlen" (hardware address length) MUST be 0.
"chaddr" (client hardware address) field MUST be zeroed.
"client-identifier" option MUST be used in DHCP messages.
The "client identifier" used in DHCP messages MUST conform to RFC4361.
Use of the BROADCAST flag
A DHCP client on IPoIB MUST set the BROADCAST flag in DHCPDISCOVER and DHCPREQUEST messages (and set "ciaddr" to zero) to ensure that the server (or the relay agent) broadcasts its reply to the client.
Note: As described in RFC2131, "ciaddr" MUST be filled in with the
client's IP address during BOUND, RENEWING or REBINDING states; therefore, the BROADCAST flag MUST NOT be set. In these cases, the DHCP server unicasts DHCPACK message to the address in "ciaddr". The link address will be resolved by ARP.
Security Considerations
RFC2131 describes the security considerations relevant to DHCP. This document does not introduce any new issues.
Acknowledgement
This document borrows extensively from RFC2855. Roy Larsen pointed out the length discrepancy between the IPoIB link address and DHCP's "chaddr" field.
References
Normative References
RFC2119 Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
RFC2131 Droms, R., "Dynamic Host Configuration Protocol", RFC
2131, March 1997.
RFC2132 Alexander, S. and R. Droms, "DHCP Options and BOOTP
Vendor Extensions", RFC 2132, March 1997.
RFC951 Housley, R., Horting, T., and P. Yee, "TELNET
Authentication Using KEA and SKIPJACK", RFC 2951, September 2000.
RFC4391 Chu, J. and V. Kashyap "Transmission of IP over
InfiniBand (IPoIB)", RFC 4391, April 2006.
[ARPPARAM] http://www.iana.org/numbers.html
RFC4361 Lemon, T. and B. Sommerfeld, "Node-specific Client
Identifiers for Dynamic Host Configuration Protocol Version Four (DHCPv4)", RFC 4361, February 2006.
Informative References
RFC2855 Fujisawa, K., "DHCP for IEEE 1394", RFC 2855, June
2000.
RFC1542 Wimer, W., "Clarifications and Extensions for the
Bootstrap Protocol", RFC 1542, October 1993.
Author's Address
Vivek Kashyap 15350, SW Koll Parkway Beaverton, OR 97006 USA
Phone: +1 503 578 3422 EMail: [email protected]
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 [email protected].
Acknowledgement
Funding for the RFC Editor function is provided by the IETF Administrative Support Activity (IASA).