idnits 2.17.1 draft-shen-dhc-client-port-01.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (July 7, 2016) is 2843 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) ** Obsolete normative reference: RFC 3315 (Obsoleted by RFC 8415) Summary: 1 error (**), 0 flaws (~~), 1 warning (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Networking Working Group N. Shen 3 Internet-Draft E. Chen 4 Intended status: Standards Track Cisco Systems 5 Expires: January 8, 2017 July 7, 2016 7 Generalized Source UDP Port of DHCP Relay 8 draft-shen-dhc-client-port-01 10 Abstract 12 This document extends the DHCP and DHCPv6 protocols for the UDP 13 transport from relay agent to server and allows the port to be any 14 valid number on the DHCP relay system. 16 Status of This Memo 18 This Internet-Draft is submitted in full conformance with the 19 provisions of BCP 78 and BCP 79. 21 Internet-Drafts are working documents of the Internet Engineering 22 Task Force (IETF). Note that other groups may also distribute 23 working documents as Internet-Drafts. The list of current Internet- 24 Drafts is at http://datatracker.ietf.org/drafts/current/. 26 Internet-Drafts are draft documents valid for a maximum of six months 27 and may be updated, replaced, or obsoleted by other documents at any 28 time. It is inappropriate to use Internet-Drafts as reference 29 material or to cite them other than as "work in progress." 31 This Internet-Draft will expire on January 8, 2017. 33 Copyright Notice 35 Copyright (c) 2016 IETF Trust and the persons identified as the 36 document authors. All rights reserved. 38 This document is subject to BCP 78 and the IETF Trust's Legal 39 Provisions Relating to IETF Documents 40 (http://trustee.ietf.org/license-info) in effect on the date of 41 publication of this document. Please review these documents 42 carefully, as they describe your rights and restrictions with respect 43 to this document. Code Components extracted from this document must 44 include Simplified BSD License text as described in Section 4.e of 45 the Trust Legal Provisions and are provided without warranty as 46 described in the Simplified BSD License. 48 Table of Contents 50 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 51 1.1. Requirements Language . . . . . . . . . . . . . . . . . . 3 52 2. Changes to DHCP and DHCPv6 Specifications . . . . . . . . . . 3 53 2.1. Changes to DHCP in RFC 2131 . . . . . . . . . . . . . . . 3 54 2.2. Changes to DHCPv6 in RFC 3315 . . . . . . . . . . . . . . 3 55 3. Relay Agent Source Port Sub-option and Option . . . . . . . . 3 56 3.1. DHCP Relay Agent Source Port Sub-option . . . . . . . . . 3 57 3.2. DHCPv6 Relay Agent Source Port Option . . . . . . . . . . 4 58 4. Compatibility . . . . . . . . . . . . . . . . . . . . . . . . 5 59 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 5 60 6. Security Considerations . . . . . . . . . . . . . . . . . . . 5 61 7. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 5 62 8. Document Change Log . . . . . . . . . . . . . . . . . . . . . 5 63 8.1. Changes to draft-shen-dhc-client-port-01 . . . . . . . . 6 64 8.2. Changes to draft-shen-dhc-client-port-00 . . . . . . . . 6 65 9. Normative References . . . . . . . . . . . . . . . . . . . . 6 66 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 6 68 1. Introduction 70 RFC 2131 [RFC2131] and RFC 3315 [RFC3315] specify the DHCP transport 71 protocol as UDP. They also define both the server side and client 72 side port numbers. The DHCP server port is UDP number (67) and the 73 client port is UDP number (68); for DHCPv6 the server port is (546) 74 and the client port is (547). 76 This fixed client port number of DHCP protocol scheme creates 77 problems in certain DHCP relay operations and environments. For 78 instance, in a large scale DHCP relay implementation on a single 79 switch node, the DHCP relay functionality may be partitioned among 80 multiple relay processes running under different CPUs. All those 81 DHCP relay processes may share the same IP address of the switch 82 node. If the UDP source port has to be a fixed number, the transport 83 socket operation of DHCP packets needs to go through a central 84 location or process which defeats the purpose of distributed DHCP 85 relay functionality. 87 This document proposes to relax the fixed source port requirement for 88 the DHCP relay agents. This extension requires the DHCP server or 89 relay agent, in the case of relay chaining [RFC3315], to remember the 90 inbound packet's UDP port number along with the IP/IPv6 address. The 91 DHCP server MUST use the UDP port number that the incoming relay 92 agent uses instead of blindly setting the DHCP fixed port number. 94 1.1. Requirements Language 96 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 97 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 98 document are to be interpreted as described in RFC 2119 [RFC2119]. 100 2. Changes to DHCP and DHCPv6 Specifications 102 2.1. Changes to DHCP in RFC 2131 104 Section 4.1 of RFC 2131 [RFC2131] asserts that: DHCP uses UDP as its 105 transport protocol. DHCP messages from a client to a server are sent 106 to the 'DHCP server' port (67), and DHCP messages from a server to a 107 client are sent to the 'DHCP client' port (68). 109 This specification adds to the above paragraph in the paragraph 110 below. 112 DHCP messages from a relay agent to a server are sent to the 'DHCP 113 server' port (67), and the UDP source port it uses can be any valid 114 UDP port available on the relay system, including the DHCP port 67. 116 2.2. Changes to DHCPv6 in RFC 3315 118 Section 5.2 of RFC 3315 [RFC3315] asserts that: Clients listen for 119 DHCP messages on UDP port 546. Servers and relay agents listen for 120 DHCP messages on UDP port 547. 122 This specification adds to the above paragraph in the paragraph 123 below. 125 DHCP relay agents can listen for DHCP messages from server or another 126 relay agent on any valid UDP port available on the relay system 127 including the DHCP UDP port 547. 129 3. Relay Agent Source Port Sub-option and Option 131 Although the DHCP or DHCPv6 server can implicitly detect a source UDP 132 port that is different from the standard DHCP port number when it 133 receives an inbound message from relay agents, this sub-option makes 134 the request explicit for the server to use a non-DHCP UDP port in the 135 reply message. 137 3.1. DHCP Relay Agent Source Port Sub-option 139 The Relay Agent Source Port sub-option is part of the relay-agent- 140 information option for DHCPv4 [RFC3046]. It SHOULD be used by the 141 relay agent that uses a non-DHCP UDP port communicating with the DHCP 142 server. 144 The format of the DHCPv4 Relay Agent Source Port Sub-option is shown 145 below: 147 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 148 | SubOpt Code | Len | 149 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 151 Where: 153 SubOpt Code: TBD. 8 bits value, to be assigned by IANA. 155 Len: 8 bits value to be set to 0. 157 When a DHCP server receives a message from relay agent with this 158 Relay Source Port sub-option, it MUST remember the inbound message 159 UDP source port from the relay agent and use the same port number for 160 the UDP destination port that sends the reply message to the same 161 relay agent. 163 3.2. DHCPv6 Relay Agent Source Port Option 165 The Relay Agent Source Port Option is a new DHCPv6 option. It SHOULD 166 be used by the DHCPv6 relay agent that uses a non-DHCP UDP port 167 communicating with the DHCP server and upstream relay agent. 169 The format of the DHCPv6 Relay Agent Source Port Option is shown 170 below: 172 0 1 2 3 173 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 174 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 175 | Option-Code | Option-Len | 176 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 178 Where: 180 Option-Code: TBD. 16 bits value, to be assigned by IANA. 182 Option-Len: 16 bits value to be set to 0. 184 When a DHCPv6 server or relay agent receives a message from a 185 downstream relay agent with this Relay Source Port Option, it MUST 186 remember the inbound message UDP source port from the relay agent and 187 use the same port number for the UDP destination port sending the 188 reply message to the same relay agent. 190 4. Compatibility 192 With this extension of DHCP and DHCPv6 source port generalization, 193 the server behavior is compatible with the relay agent that uses the 194 DHCP fixed UDP port. The DHCP server will reflect back the UDP well- 195 known port number (67/547) that the client uses when relaying back to 196 the relay agent. It is recommended to upgrade the server side first. 198 The implementation is advised to allow the configuration for 199 specifying a fixed DHCP relay port number. This is for the case 200 where the DHCP relay agent is upgraded with this extension before the 201 server side upgrade. 203 5. IANA Considerations 205 A new sub-option, DHCP Relay Agent Source Port, is defined in this 206 document within the DHCPv4 Relay Agent Information Option. It needs 207 to be assigned by IANA from the DHCP Relay Agent sub-options space 208 [RFC3046]. 210 A new option, DHCPv6 Relay Source Port, is defined in this document 211 for DHCPv6 and it needs to be assigned by IANA for the DHCPv6 option 212 code. 214 6. Security Considerations 216 If the network uses firewall to block or allow DHCP packets with both 217 static UDP source and destination port numbers, this may no longer 218 match the packets from new DHCP relay agent and server software. The 219 firewall rules need to be modified only to match the DHCP server side 220 of the UDP port number, and if necessary, IP addresses and other 221 attributes. 223 7. Acknowledgments 225 TBD. 227 8. Document Change Log 228 8.1. Changes to draft-shen-dhc-client-port-01 230 o Submitted July 2016 232 o Changed the document title from "Generalize Client UDP Port Number 233 of DHCP Relay" to "Generalized Source UDP Port of DHCP Relay". 235 o Changed the document text such that the source port extension is 236 only applied for DHCP and DHCPv6 relay agents. 238 o Defined the DHCPv4 Relay Agent Source Port sub-option and the 239 DHCPv6 Relay Agent Source Port option. 241 8.2. Changes to draft-shen-dhc-client-port-00 243 o Initial version of the draft is published in June 2016. 245 9. Normative References 247 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 248 Requirement Levels", BCP 14, RFC 2119, 249 DOI 10.17487/RFC2119, March 1997, 250 . 252 [RFC2131] Droms, R., "Dynamic Host Configuration Protocol", 253 RFC 2131, DOI 10.17487/RFC2131, March 1997, 254 . 256 [RFC3046] Patrick, M., "DHCP Relay Agent Information Option", 257 RFC 3046, DOI 10.17487/RFC3046, January 2001, 258 . 260 [RFC3315] Droms, R., Ed., Bound, J., Volz, B., Lemon, T., Perkins, 261 C., and M. Carney, "Dynamic Host Configuration Protocol 262 for IPv6 (DHCPv6)", RFC 3315, DOI 10.17487/RFC3315, July 263 2003, . 265 Authors' Addresses 267 Naiming Shen 268 Cisco Systems 269 560 McCarthy Blvd. 270 Milpitas, CA 95035 271 US 273 Email: naiming@cisco.com 274 Enke Chen 275 Cisco Systems 276 560 McCarthy Blvd. 277 Milpitas, CA 95035 278 US 280 Email: enkechen@cisco.com