idnits 2.17.1 draft-ietf-tsvwg-iana-ports-01.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- ** It looks like you're using RFC 3978 boilerplate. You should update this to the boilerplate described in the IETF Trust License Policy document (see https://trustee.ietf.org/license-info), which is required now. -- Found old boilerplate from RFC 3978, Section 5.1 on line 22. -- Found old boilerplate from RFC 3978, Section 5.5, updated by RFC 4748 on line 876. -- Found old boilerplate from RFC 3979, Section 5, paragraph 1 on line 887. -- Found old boilerplate from RFC 3979, Section 5, paragraph 2 on line 894. -- Found old boilerplate from RFC 3979, Section 5, paragraph 3 on line 900. 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 : ---------------------------------------------------------------------------- -- The draft header indicates that this document updates RFC4340, but the abstract doesn't seem to directly say this. It does mention RFC4340 though, so this could be OK. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust Copyright Line does not match the current year (Using the creation date from RFC2780, updated by this document, for RFC5378 checks: 1999-07-19) -- 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.) -- The document date (November 3, 2008) is 5652 days in the past. Is this intentional? Checking references for intended status: Best Current Practice ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) ** Obsolete normative reference: RFC 793 (Obsoleted by RFC 9293) ** Obsolete normative reference: RFC 4020 (Obsoleted by RFC 7120) ** Obsolete normative reference: RFC 5226 (Obsoleted by RFC 8126) -- No information found for draft-touch-tsvwg-port-guidelines - is the name correct? -- Obsolete informational reference (is this intentional?): RFC 1078 (Obsoleted by RFC 7805) -- Obsolete informational reference (is this intentional?): RFC 4960 (Obsoleted by RFC 9260) Summary: 4 errors (**), 0 flaws (~~), 1 warning (==), 11 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 1 Transport Area Working Group M. Cotton 2 Internet Draft ICANN 3 Updates: 2780, 4340 (if approved) L. Eggert 4 Intended status: BCP Nokia 5 Expires: May 2009 A. Mankin 6 Johns Hopkins Univ. 7 M. Westerlund 8 Ericsson 9 J. Touch 10 USC/ISI 11 November 3, 2008 13 IANA Procedures for the Transport Protocol Port Number Space 14 draft-ietf-tsvwg-iana-ports-01.txt 16 Status of this Memo 18 By submitting this Internet-Draft, each author represents that 19 any applicable patent or other IPR claims of which he or she is 20 aware have been or will be disclosed, and any of which he or she 21 becomes aware will be disclosed, in accordance with Section 6 of 22 BCP 79. 24 Internet-Drafts are working documents of the Internet Engineering 25 Task Force (IETF), its areas, and its working groups. Note that 26 other groups may also distribute working documents as Internet- 27 Drafts. 29 Internet-Drafts are draft documents valid for a maximum of six months 30 and may be updated, replaced, or obsoleted by other documents at any 31 time. It is inappropriate to use Internet-Drafts as reference 32 material or to cite them other than as "work in progress." 34 The list of current Internet-Drafts can be accessed at 35 http://www.ietf.org/ietf/1id-abstracts.txt 37 The list of Internet-Draft Shadow Directories can be accessed at 38 http://www.ietf.org/shadow.html 40 This Internet-Draft will expire on May 3, 2009. 42 Abstract 44 This document defines the IANA procedures for registering port number 45 values for use with the various IETF transport protocols, including 46 TCP, UDP, DCCP, and SCTP. It provides clear procedures for the 47 management of the port number registry, which is important for its 48 long-term management. It updates RFC2780 by obsoleting Sections 8 49 and 9.1 of that RFC, and it updates the IANA allocation procedures 50 for DCCP as defined in RFC4340. 52 Table of Contents 54 1. Introduction...................................................2 55 2. Conventions used in this document..............................4 56 3. Port Number Types..............................................5 57 3.1. Assigned Port Numbers for Experimentation.................5 58 4. Principles for Port Number Space Management....................6 59 4.1. Basic Principles of Port Conservation.....................7 60 4.2. Principles Specific to Individual Port Number Ranges......8 61 4.3. New Principles............................................9 62 5. IANA Procedures for Managing the Port Number Space............10 63 5.1. Port Number Registration.................................10 64 5.2. Port Number De-Registration..............................12 65 5.3. Port Number Re-Use.......................................12 66 5.4. Port Number Revocation...................................12 67 5.5. Port Number Transfer.....................................13 68 5.6. Maintenance Issues.......................................13 69 6. Port Number Space Requests....................................13 70 6.1. Request Procedure........................................13 71 7. Security Considerations.......................................14 72 8. IANA Considerations...........................................14 73 9. Acknowledgments...............................................15 74 10. References...................................................16 75 10.1. Normative References....................................16 76 10.2. Informative References..................................16 77 APPENDIX A: Updates to DCCP Registries...........................19 78 A.1. DCCP Service Code Registry...............................19 79 A.1. DCCP Port Numbers Registry.....Error! Bookmark not defined. 81 1. Introduction 83 The Transmission Control Protocol (TCP) [RFC0793] and the User 84 Datagram Protocol (UDP) [RFC0768] have enjoyed a remarkable success 85 over the decades as the two most widely used transport protocols on 86 the Internet. They have introduced the concept of "ports" as logical 87 entities for Internet communication. Ports serve two purposes: 88 first, they provide a demultiplexing identifier to differentiate 89 transport sessions between the same pair of endpoints, and second, 90 they also identify the application protocol and associated service to 91 which processes bind [I-D.touch-tsvwg-port-guidelines]. Newer 92 transport protocols, such as the Stream Control Transmission Protocol 93 (SCTP) [RFC4960] and the Datagram Congestion Control Protocol (DCCP) 94 [RFC4342] have adopted the concept of ports for their communication 95 sessions and use port numbers in the same way as TCP and UDP. 97 Port numbers are the original and most widely used means for 98 application and service identification on the Internet. Ports are 99 16-bit numbers, and the combination of source and destination port 100 numbers together with the IP addresses of the communicating end 101 systems uniquely identifies a session of a given transport protocol. 102 Port numbers are also known by their corresponding service names such 103 as "telnet" for port number 23 and "http" for port number 80. 105 Hosts running services, hosts accessing services on other hosts, and 106 intermediate devices (such as firewalls and NATs) that restrict 107 services need to agree on which service corresponds to a particular 108 destination port. Although this can be a local decision between the 109 endpoints of a connection, most Internet components use a single, 110 shared view of this association, provided by the Internet Assigned 111 Numbers Authority (IANA) through the port number registry [REGISTRY]. 113 Designers of applications and application-level protocols may apply 114 to IANA for a registered port number for a specific application, and 115 may - after successful registration - assume that no other 116 application will use that service port number for its communication 117 sessions. It is important to note that ownership of registered port 118 numbers remains with IANA. For many years, the allocation and 119 registration of new port number values for use with TCP and UDP have 120 had less than clear guidelines. Information about the registration 121 procedures for the port namespace existed in three locations: the 122 forms for requesting port number registrations on the IANA web site 123 [SYSFORM][USRFORM], an introductory text section in the file listing 124 the port number registrations themselves [REGISTRY], and two brief 125 sections of [RFC2780]. 127 This document aggregates this scattered information into a single 128 reference and at the same time clarifies the guidelines for the 129 management of the port number space. It gives more detailed guidance 130 to prospective requesters of ports than the existing documentation, 131 and it streamlines the IANA procedures for the management of the port 132 number space, so that management requests can complete in a timely 133 manner. A key factor of this streamlining is to establish identical 134 registration procedures for transport protocol ports, independent of 135 a specific transport protocol. This document brings the IANA 136 procedures for TCP and UDP in line with those already in effect for 137 SCTP and DCCP, resulting in a single process that requesters and IANA 138 follow for all port number requests for all transport protocols, 139 including those not yet defined. 141 A second purpose of this document is to describe the principles that 142 guide the IETF and IANA in their role as the long-term joint stewards 143 of the port number space. TCP and UDP have been a remarkable success 144 over the last decades. Thousands of applications and application- 145 level protocols have registered ports for their use, and there is 146 every reason to believe that this trend will continue into the 147 future. It is hence extremely important that management of the port 148 number space follow principles that ensure its long-term usefulness 149 as a shared resource. Section 4 discusses these principles in 150 detail. Guidelines for users seeking port numbers, as well as a 151 detailed history of the port number registry and alternate means for 152 coordinating host agreement on service-to-port-number mappings, is 153 provided in a companion document [I-D.touch-tsvwg-port-guidelines]. 155 In addition to detailing the IANA procedures for the initial 156 assignment of port numbers, this document also specifies post- 157 assignment procedures that until now have been handled in an ad hoc 158 manner. These include procedures to de-register a port number that 159 is no longer in use, to re-use a port number allocated for one 160 application that is no longer in use for another application, and 161 procedure by which IANA can unilaterally revoke a prior port number 162 registration. Section 5 discusses the specifics of these procedures. 164 This document also addresses two technical issues related to the 165 ports registry that are tangential to long-term stewardship. First, 166 it clarifies that a method for the early allocation of port numbers 167 is available for IETF working groups, in line with [RFC4020]. 168 Second, it discusses how the use of symbolic names for assigned ports 169 (the "keyword" field in [REGISTRY]) for Service Resource Records (SRV 170 RRs) in the Domain Name System (DNS) [RFC2782] relates to the use of 171 SRV RRs for applications without an assigned port. 173 This document updates [RFC2780] by obsoleting Sections 8 and 9.1 of 174 RFC. Note that [RFC5237] updates a different subset of the IANA 175 allocation guidelines originally given in [RFC2780] (specifically, 176 the policies on the namespace of the IP protocol number and IPv6 next 177 header). 179 2. Conventions used in this document 181 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 182 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 183 document are to be interpreted as described in RFC-2119 [RFC2119]. 185 3. Port Number Types 187 TCP, UDP (and UDP-Lite), SCTP and DCCP use 16-bit namespaces for 188 their port number registries. The port registries for all these 189 transport protocols are subdivided into three ranges of numbers, and 190 Section 6 describes the IANA procedures for each range in detail: 192 o the Well Known Ports, i.e., the System Ports, from 0-1023 193 (assigned by IANA) 195 o the Registered Ports, i.e., the User Ports, from 1024-49151 196 (assigned by IANA) 198 o the Dynamic Ports, i.e., the Private Ports, from 49152-65535 199 (never assigned) 201 Of the assignable port ranges (Well Known and Registered, i.e., port 202 numbers 0-49151), individual port numbers are in one of three states 203 at any given time: 205 1. Assigned: Assigned port numbers are currently allocated to the 206 service indicated in the registry. 208 2. Unassigned: Unassigned port numbers are currently available for 209 assignment upon request, as per the procedures outlined in this 210 document. 212 3. Reserved: Reserved port numbers are not available for regular 213 assignment; they are "assigned to IANA" for special purposes. 214 Reserved port numbers include values at the edges of each range, 215 e.g., 0, 1023, 1024, etc., which may be used to extend these 216 ranges or the overall port number space in the future. 218 When this document was written, approximately 76% of the TCP and UDP 219 Well Known Ports were assigned, as were a significant fraction of the 220 Registered Ports. (As noted, Dynamic Ports are never assigned.) 222 3.1. Assigned Port Numbers for Experimentation 224 Of the Well-Known Ports, two TCP and UDP port numbers (1021 and 1022) 225 have been assigned for experimentation with new applications and 226 application-layer protocols that require a port number in the 227 assigned ports ranges [RFC4727]. [sctp-dccp-exp] 229 The experimental ports 1021 and 1022 SHOULD be used for local 230 experiments only in controlled environments, and they SHOULD NOT be 231 used on the global Internet. Many new applications and application- 232 layer protocols can be experimented with without requiring a port in 233 the Well-Known or Registered Ports range, and port numbers in the 234 Dynamic Ports range can be also used. 236 Unfortunately, it can be difficult to limit access to these ports. 237 Users SHOULD take measures to ensure that experimental ports are 238 connecting to the intended process. For example, users of these 239 experimental ports might include a 64-bit nonce, once on each segment 240 of a message-oriented channel (e.g., UDP), or once at the beginning 241 of a byte-stream (e.g., TCP), which is used to confirm that the port 242 is being used as intended. Such confirmation of intended use is 243 especially important when these ports are associated with privileged 244 (e.g., system or administrator) processes. 246 4. Principles for Port Number Space Management 248 Management procedures for the port number space include allocation of 249 port numbers upon request, as well as coordination of information 250 about existing allocations. The latter includes maintaining contact 251 and description information about assigned ports, revoking abandoned 252 ports, and redefining port allocations when needed. Of these 253 procedures, port number allocation is most critical, because of the 254 limited number of remaining port numbers. 256 Before the publication of this document, the principles of port 257 number space allocation followed some simple, undocumented 258 guidelines: 260 o TCP and UDP ports were simultaneously allocated when either was 261 requested 263 o Port numbers were the primary allocation; service names were 264 informative only, and did not need to be unique 266 o Port numbers were conserved informally, and sometimes 267 inconsistently (e.g., some services were allocated ranges of many 268 port numbers even where not strictly necessary) 270 o SCTP and DCCP port number and service name spaces were managed 271 separately from the TCP/UDP spaces 273 This document attempts to update these guidelines to more 274 conservatively manage the limited remaining TCP and UDP port number 275 spaces, recognizes the potential use of service names in the absence 276 of corresponding port number allocations, such as in SCTP and DCCP. 278 The basic principle of port number registry management is to conserve 279 the space where possible. Extensions to support larger port number 280 spaces would require changing many core protocols of the current 281 Internet in a way that would not be backward compatible and interfere 282 with both current and legacy applications. 284 Port numbers are intended to indicate a service and enable process 285 demultiplexing at an endpoint; uses beyond those basic requirements 286 should be avoided [I-D.touch-tsvwg-port-guidelines]. This document 287 also focuses on service names as a unique identifier, to increase the 288 space available (from 4 bytes to 14), and to enable their use in the 289 absence of corresponding port number assignments. 291 4.1. Basic Principles of Port Conservation 293 This section summarizes the basic principles by which IANA attempts 294 to conserve the port number space. This description is intended to 295 inform applicants requesting port numbers. IANA decisions are not 296 required to be bound to these principles, however; other factors may 297 come into play, and exceptions may occur where deemed in the best 298 interest of the Internet. 300 Conservation of the port number space recognizes that because this 301 space is a limited resource, applications are expected to participate 302 in the demultiplexing process where feasible. The port numbers are 303 expected to encode as little information as possible that will enable 304 an application to perform further multiplexing by itself. In 305 particular, there should be: 307 o only one port per service 309 o one port for all versions of a service 311 o the same port for different types of devices using the same 313 service 315 A given service is expected to further demultiplex messages where 316 possible. For example, applications and protocols are expected to 317 include in-band version information, so that future versions of the 318 application or protocol can share the same allocated port. 320 Applications and protocols are also expected to be able to 321 efficiently use a single allocated port, either by demultiplexing 322 multiple streams within one port, or using the allocated port to 323 coordinate using dynamic ports for subsequent exchanges (e.g., in the 324 spirit of FTP [RFC0959]). 326 These principles of port conservation are explained in [I-D.touch- 327 tsvwg-port-guidelines]. That document explains in further detail how 328 ports are used in various ways, notably: 330 o Endpoint process identifier 332 o Application protocol identifier 334 o Firewall filtering 336 The process and protocol identifier use suggests that anything a 337 single process can demultiplex, or that can be encoded into a single 338 protocol, should be. The firewall filtering use suggests that some 339 uses that could be de-multiplexed or encoded must be separated to 340 allow for firewall management. Note that this latter use is much 341 less sound, because port numbers have meaning only for the two 342 endpoints of a connection (again, as discussed in detail in [I- 343 D.touch-tsvwg-port-guidelines]). 345 4.2. Principles Specific to Individual Port Number Ranges 347 It is important to note that different IANA procedures apply to 348 different ranges of the port number registry. Section 6 discusses 349 the details of these procedures; this section outlines the rationale 350 for these differences: 352 o Ports in the Dynamic Ports range (49152-65535) have been 353 specifically set aside for local and dynamic use and cannot be 354 registered through IANA. Applications may simply use them for 355 communication without any sort of registration. On the other 356 hand, applications MUST NOT assume that a specific port number in 357 the Dynamic Ports range will always be available for communication 358 at all times, and a port number in that range hence MUST NOT be 359 used as a service identifier. 361 o Ports in the Registered Ports range (1024-49151) are available for 362 registration through IANA, and MAY be used as service identifiers 363 upon successful registration. Because registering a port number 364 for a specific application consumes a fraction of the shared 365 resource that is the port number registry, IANA will require the 366 requester to document the intended use of the port number, and 367 have a technical expert review this documentation to determine 368 whether to grant the registration request. This documentation 369 MUST explain why a port number in the Dynamic Ports range is 370 unsuitable for the given application. 372 o Ports in the Well Known Ports range (0-1023) are also available 373 for registration through IANA. Because the Well Known Ports range 374 is both the smallest and the most densely allocated one, the bar 375 for new allocations is higher than that for the Registered Ports 376 range (1024-49551). A request for a Well Known port number MUST 377 document why a port number in the Registered Ports or Dynamic 378 Ports ranges is unsuitable. 380 4.3. New Principles 382 Several new practices stem from the conservation principle that 383 guides management of the port numbers registry, and will take effect 384 with the approval of this document: 386 o IANA will allocate port numbers only to the transport protocols 387 requested 389 o IANA will recover unused port numbers, via the new procedures of 390 de-registration, revocation, and transfer 392 IANA will begin assigning protocol numbers only for those transport 393 protocols explicitly included in a registration request. This ends 394 the long-standing practice of automatically assigning a port number 395 to an application for both TCP and a UDP, even if the request is only 396 for one of these transport protocols. The new allocation procedure 397 conserves resources by only allocating a port number to an 398 application for those transport protocols (TCP, UDP, SCTP and/or 399 DCCP) it actually uses. The port number will be marked as reserved - 400 instead of assigned - in the port number registries of the other 401 transport protocols. When applications start supporting the use of 402 some of those additional transport protocols, they must request IANA 403 to convert the reservation into an assignment. An application MUST 404 NOT assume that it can use a port number assigned to it for use with 405 one transport protocol with another transport protocol without 406 another registration with IANA. The reason for this procedure is to 407 allow allocation of reserved port numbers on the day the range has no 408 more unassigend values. [port-reserv] 410 Conservation for the port numbers registry is improved by procedures 411 that allow previously allocated port numbers to become unassigned, 412 either through de-registration or through revocation, and by a 413 procedure that lets application designers transfer an allocated but 414 unused port number to a new application. Section 5 describes these 415 procedures, which so far were undocumented. 417 5. IANA Procedures for Managing the Port Number Space 419 IANA supports various procedures to manage the port number space that 420 enable ports to be registered, de-registered, reused, and revoked. 421 This section explains these procedures, as well as other related 422 issues. 424 5.1. Port Number Registration 426 Registration refers to the allocation of port numbers to applicants. 427 All such registrations are made from port numbers that are Unassigned 428 or Reserved at the time of the allocation. Unassigned numbers are 429 allocated as needed, and without further explanation. Reserved 430 numbers are assigned only after review by IANA and the IETF, and are 431 accompanied by a statement explaining the reason a reserved number is 432 appropriate for this action. 434 When a registration for one or more (but not all) transport protocols 435 is approved, the port number for the non-requested transport 436 protocol(s) will remain unassigned but is marked as reserved. 437 However, IANA SHOULD NOT assign that port number to any other 438 application or service until no port numbers remain unassigned in the 439 request range. The current registration owner of a port number MAY 440 register the same port number for other transport protocols when 441 needed. 443 A port number registration consists of the following tuple: 445 o Registration Technical Contact: Name and email address of the 446 technical contact person for the registration. This is REQUIRED. 447 Additional address information MAY be provided. For registrations 448 done through IETF-published RFCs, one or more technical contact 449 persons SHALL be provided. 451 o Registration Owner: Name and email address of the owner of the 452 registration. This is REQUIRED. For individuals, this is the same 453 as the registration technical contact; for organizations, this is 454 a point of contact at that organization. For registrations done 455 through IETF-published RFCs, the registration ownership will 456 belong to the IETF and not the technical contact persons. 458 o Transport Protocol: The transport protocol(s) for which the port 459 allocation is requested, currently limited to one or more of TCP, 460 UDP, SCTP, and DCCP. 462 o Port Number: The currently unassigned port number(s) the 463 requester suggests for allocation. If specified and when 464 possible, IANA is encouraged to allocate the suggested number. If 465 not specified, IANA will choose a suitable number from the 466 Registered Ports range. Note that the applicant MUST NOT use the 467 suggested ports prior to the completion of registration. 469 o Broadcast, Multicast or Anycast: Indicates whether the protocol 470 supports either broadcast, multicast, or anycast network layer 471 addresses. 473 o Port Name: The long name (description) of the port. It should 474 avoid all but the most well known acronyms. 476 o Service Name: This short name for the port number, used in 477 various service selection and discovery mechanisms, currently 478 including TCPMUX [RFC1078] and DNS SRV resource records [RFC2782]. 479 This name is limited to 14 bytes, case-insensitive US-ASCII 480 letters, digits, and dashes. It MUST NOT conflict with already 481 allocated names in the service name registry [serv-nam-reg]. 483 o Reference: A reference document describing the protocol or 484 application using this port. For registration requests for 485 Registered Ports, this documentation MUST explain why a port 486 number in the Dynamic Ports range is unsuitable for the given 487 application. For registration requests for Well Known Ports, this 488 documentation MUST explain why a port number in the Registered 489 Ports or Dynamic Ports ranges is unsuitable. 491 The following rules apply to the port number registry database 492 maintained by IANA: [database-rules] 494 o Service Names MUST be unique. 496 o Service Name MUST exist for all transport protocols. 498 o Port Number MUST exist for TCP and UDP; it MAY exist for SCTP and 499 DCCP. 501 o Transport Protocol MUST exist for all entries. 503 o Service Code MUST NOT occur for TCP, UDP or SCTP, and MUST occur 504 for DCCP. 506 o Port Name MUST exist for all entries. 508 o Currently valid Registration Contact SHOULD exist for all entries; 509 it MUST exist for all new entries. 511 o Reference SHOULD exist for all entries. 513 5.2. Port Number De-Registration 515 The original requesters of a granted port number assignment can 516 return the port number to IANA at any time if they no longer have a 517 need for it. The port number will be de-registered and will be 518 marked as reserved [res-vs-unass]. IANA should not re-assign port 519 numbers that have been de-registered until all other available port 520 numbers in the specific range have been assigned. 522 Before proceeding with a de-registration, IANA needs to reasonably 523 establish that the port number is no longer in use. 525 5.3. Port Number Re-Use 527 If the original requesters of a granted port number assignment no 528 longer have a need for the registered number, but would like to re- 529 use it for a different application, they can submit a request to IANA 530 to do so. 532 Logically, port number re-use is to be thought of as a de- 533 registration followed by an immediate re-registration of the same 534 port number for a new application. Consequently, the information 535 that needs to be provided about the proposed new use of the port 536 number is identical to what would need to be provided for a new port 537 number allocation for the specific ports range. 539 IANA needs to carefully review such requests before approving them. 540 In some instances, the Expert Reviewer will determine that the 541 application that the port number was assigned to has found usage 542 beyond the original requester, or that there is a concern that it may 543 have such users. This determination MUST be made quickly. A 544 community call concerning revocation of a port number (see below) MAY 545 be considered, if a broader use of the port number is suspected. 547 5.4. Port Number Revocation 549 Sometimes, it will be clear that a specific port number is no longer 550 in use and that IANA can de-register it and mark it as reserved [res- 551 vs-unass2]. At other times, it may be unclear whether a given 552 assigned port number is still in use somewhere in the Internet. In 553 those cases, despite the requester's wish to de-register, IANA must 554 consider the consequences that de-registering the port number. 556 With the help of their IESG-appointed Expert Reviewer, IANA SHALL 557 formulate a request to the IESG to issue a four-week community call 558 concerning the pending port number revocation. The IESG and IANA, 559 with the Expert Reviewer's support, SHALL determine promptly after 560 the end of the community call whether revocation should proceed and 561 then communicate their decision to the community. This procedure 562 typically involves similar steps to de-registration except that it is 563 initiated by IANA. 565 5.5. Port Number Transfer 567 The value of port numbers is defined by their careful management as a 568 shared Internet resource, whereas enabling transfer allows the 569 potential for associated monetary exchanges to motivate this 570 management. As a result, current IANA procedures do not permit port 571 number assignments to be transferred between parties, even when they 572 are mutually consenting. The appropriate alternate procedure is for 573 the new party to request its own port number registration and for the 574 previous party to release its registration via the de-registration 575 procedure outlined above. 577 5.6. Maintenance Issues 579 The previous procedures help IANA manage defining properties of the 580 port name space. There are additional procedures which are 581 administrative, and help IANA maintain non-defining information in a 582 registration. This includes changes to the Port Name (i.e., 583 description), and changes to contact information. These changes are 584 coordinated by IANA in an informal manner, and may be initiated by 585 either the registrant or by IANA, e.g., the latter when requesting an 586 update to current contact information. 588 6. Port Number Space Requests 590 This section describes the process for requests associated with 591 IANA's management of the the port number space. Such requests 592 include initial registration, de-registration, re-use, changes to the 593 service name, as well as updates to the contact information or port 594 name (description). Revocation is initiated by IANA. 596 6.1. Request Procedure 598 All registration requests for a TCP, SCTP, DCCP and/or UDP ports must 599 contain the following pieces of information: 601 o Port number tuple: A port number tuple, as described in Section 602 5.1. The port number would typically be omitted; when provided, it 603 indicates a preference for requesting a currently unassigned 604 value. 606 o Port Range: Indicates the port range desired (i.e., Well Known 607 Ports or Registered Ports). 609 o Requested Action: One of REGISTER, DEREGISTER, REUSE, 610 SVC_NAME_CHANGE, or UPDATE_INFO (port name, registration contact). 612 The Well Known Ports are assigned by IANA and cover the range 0-1023. 613 On many systems, they can only be used by system (or root) processes 614 or by programs executed by privileged users. Registration requests 615 for a Well Known port number MUST follow the "IETF Review" policy of 616 [RFC5226]. Registrations for a port number in this range MUST 617 document why a port number in the Registered Ports range will not 618 fulfill the application needs. 620 The Registered Ports are assigned by IANA and on most systems can be 621 used by ordinary user processes or programs executed by ordinary 622 users. The Registered Ports are in the range 1024-49151. 623 Registration requests for a Registered Port number MUST follow the 624 "Expert Review" policy of [RFC5226]. 626 7. Security Considerations 628 The IANA guidelines described in this document do not change the 629 security properties of either TCP, SCTP, DCCP or UDP. 631 Assignment of a port number does not in any way imply an endorsement 632 of an application or product, and the fact that network traffic is 633 flowing to or from a registered port number does not mean that it is 634 "good" traffic, or even that it is used by the assigned service. 635 Firewall and system administrators should choose how to configure 636 their systems based on their knowledge of the traffic in question, 637 not whether there is a port number registered or not. 639 8. IANA Considerations 641 This document obsoletes Sections 8 and 9.1 of [RFC2780]. Upon 642 approval of this document, IANA is requested to adopt the procedures 643 described herein. 645 IANA should take immediate actions to resolve inconsistencies raised 646 by requirements of this document. 648 9. Acknowledgments 650 The text in Appendix A is based on a suggestion by Tom Phelan. 652 Lars Eggert is partly funded by [TRILOGY], a research project 653 supported by the European Commission under its Seventh Framework 654 Program. 656 This document was prepared using 2-Word-v2.0.template.dot. 658 10. References 660 10.1. Normative References 662 [RFC0768] Postel, J., "User Datagram Protocol", STD 6, RFC 768, 663 August 1980. 665 [RFC0793] Postel, J., "Transmission Control Protocol", STD 7, RFC 666 793, September 1981. 668 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 669 Requirement Levels", BCP 14, RFC 2119, March 1997. 671 [RFC2780] Bradner, S. and V. Paxson, "IANA Allocation Guidelines For 672 Values In the Internet Protocol and Related Headers", BCP 673 37, RFC 2780, March 2000. 675 [RFC4020] Kompella, K. and A. Zinin, "Early IANA Allocation of 676 Standards Track Code Points", BCP 100, RFC 4020, February 677 2005. 679 [RFC4340] Kohler, E., Handley, M., and S. Floyd, "Datagram Congestion 680 Control Protocol (DCCP)", RFC 4340, March 2006. 682 [RFC4727] Fenner, B., "Experimental Values In IPv4, IPv6, ICMPv4, 683 ICMPv6, UDP, and TCP Headers", RFC 4727, November 2006. 685 [RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an 686 IANA Considerations Section in RFCs", BCP 26, RFC 5226, May 687 2008. 689 10.2. Informative References 691 [I-D.touch-tsvwg-port-guidelines] Touch, J., "Guidelines for 692 Transport Port Use", Work in Progress, Nov. 2008. 694 [REGISTRY] Internet Assigned Numbers Authority (IANA), "Port 695 Numbers", http://www.iana.org/assignments/port-numbers. 697 [RFC0959] Postel, J. and J. Reynolds, "File Transfer Protocol", STD 698 9, RFC 959, October 1985. 700 [RFC1078] Lottor, M., "TCP port service Multiplexer (TCPMUX)", RFC 701 1078, November 1988. 703 [RFC2782] Gulbrandsen, A., Vixie, P., and L. Esibov, "A DNS RR for 704 specifying the location of services (DNS SRV)", RFC 2782, 705 February 2000. 707 [RFC4342] Floyd, S., Kohler, E., and J. Padhye, "Profile for Datagram 708 Congestion Control Protocol (DCCP) Congestion Control ID 3: 709 TCP-Friendly Rate Control (TFRC)", RFC 4342, March 2006. 711 [RFC4960] Stewart, R., "Stream Control Transmission Protocol", RFC 712 4960, September 2007. 714 [RFC5237] Arkko, J. and S. Bradner, "IANA Allocation Guidelines for 715 the Protocol Field", BCP 37, RFC 5237, February 2008. 717 [SYSFORM] Internet Assigned Numbers Authority (IANA), "Application 718 for System (Well Known) Port Number", 719 http://www.iana.org/cgi-bin/sys-port-number.pl. 721 [TRILOGY] "Trilogy Project",http://www.trilogy-project.org/. 723 [USRFORM] Internet Assigned Numbers Authority (IANA), "Application 724 for User (Registered) Port Number", 725 http://www.iana.org/cgi-bin/usr-port-number.pl. 727 Editorial Comments 729 [database-rules] Lars: Some of these rules below allow entries that 730 aren't in full alignment with the procedures in this document. I 731 assume that is, because the rules attempt to describe the state of 732 the IANA database including all existing entries? If so, we should 733 make that clearer. 735 [port-reserv] Magnus: The usage of for the above reason reserved port 736 numbers should probably not have the same rules as the other reserved 737 ports. Needs discussion if we should separate this properly. I think 738 the IETF consultation part will make it difficult the day one 739 registry runs out of unassigned ones. 741 [res-vs-unass] Lars: This used to say "unassigned" instead of 742 "reserved". I suggest "reserved", so that IANA has an indication in 743 their list that they need to be careful when re-assigning a 744 previously de-registered port. 746 [res-vs-unass2] Lars: See [res-vs-unass]. 748 [sctp-dccp-exp] Lars: This document should register ports 1021 and 749 1022 for DCCP and SCTP. Joe: and potentially for all new protocols, 750 as suggested by Alfred? 752 [serv-nam-reg] Lars: Add citation to the service name registry 753 draft, when it exists 755 APPENDIX A: Updates to DCCP Registries 757 This document updates the IANA allocation procedures for the DCCP 758 Port Number and DCCP Service Codes Registries as defined in 759 [RFC4340]. 761 A.1. DCCP Service Code Registry 763 Service Codes are allocated first-come-first-served according to 764 Section 19.8 of [RFC4340]. This document updates Section 19.8 of 765 [RFC4340] by extending the guidelines given there in the following 766 ways: 768 o IANA MAY assign new Service Codes without seeking Expert Review 769 using their discretion, but SHOULD seek expert review when a 770 request seeks an appreciable number of Service Codes (e.g., more 771 than five). 773 o IANA should feel free to contact the DCCP Expert Reviewer with 774 questions on any registry, regardless of the registry policy, for 775 clarification or if there is a problem with a request [RFC4340]. 777 A.2. DCCP Port Numbers Registry 779 The DCCP ports registry is defined by [RFC4340] in Section 19.9. 780 Allocations in this registry require prior allocation of a Service 781 Code. Not all Service Codes require IANA-registered ports. This 782 document updates Section 19.9 of [RFC4340] by extending the 783 guidelines given there in the following way: 785 o IANA should normally assign a value in the range 1024-49151 to a 786 DCCP server port. IANA allocation requests to allocate port 787 numbers in the Well Known Ports range (0 through 1023), require 788 IETF action prior to allocation by IANA [RFC4340]. Such action 789 typically requires confirmation that the protocol indicated is in 790 the standards track of the IETF. 792 Section 19.9 of [RFC4340] requires each DCCP server port assignment 793 to be associated with at least one Service Code value. This document 794 updates [RFC4340] in the following way: 796 o IANA MUST NOT allocate a single Service Code value to more than 797 one DCCP server port. 799 o The set of Service Code values associated with a DCCP server port 800 should be recorded in the ports registry. 802 o A request for additional Service Codes to be associated with an 803 already allocated Port Number requires Expert Review. These 804 requests will normally be accepted when they originate from the 805 contact associated with the port registration. In other cases, 806 these applications will be expected to use an unallocated port, 807 when this is available. 809 RFC4340] notes that a short port name MUST be associated with each 810 DCCP server port that has been registered. This document requires 811 that this name MUST be unique. 813 Authors' Addresses 815 Michelle Cotton 816 Internet Corporation for Assigned Names and Numbers 817 4676 Admiralty Way, Suite 330 818 Marina del Rey, CA 90292 819 USA 821 Phone: +1 310 823 9358 822 Email: michelle.cotton@icann.org 823 URI: http://www.iana.org/ 825 Lars Eggert 826 Nokia Research Center 827 P.O. Box 407 828 Nokia Group 00045 829 Finland 831 Phone: +358 50 48 24461 832 Email: lars.eggert@nokia.com 833 URI: http://research.nokia.com/people/lars_eggert/ 835 Allison Mankin 836 Johns Hopkins Univ. 837 USA 839 Phone: +1 301 728 7199 840 Email: mankin@psg.com 841 URI: http://www.psg.com/~mankin/ 843 Magnus Westerlund 844 Ericsson 845 Torshamsgatan 23 846 Stockholm 164 80 847 Sweden 849 Phone: +46 8 719 0000 850 Email: magnus.westerlund@ericsson.com 852 Joe Touch 853 USC/ISI 854 4676 Admiralty Way 855 Marina del Rey, CA 90292 856 USA 858 Phone: +1 310 448 9151 859 Email: touch@isi.edu 860 URI: http://www.isi.edu/touch 862 Full Copyright Statement 864 Copyright (C) The IETF Trust (2008). 866 This document is subject to the rights, licenses and restrictions 867 contained in BCP 78, and except as set forth therein, the authors 868 retain all their rights. 870 This document and the information contained herein are provided on an 871 "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS 872 OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND 873 THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS 874 OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF 875 THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED 876 WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. 878 Intellectual Property Statement 880 The IETF takes no position regarding the validity or scope of any 881 Intellectual Property Rights or other rights that might be claimed to 882 pertain to the implementation or use of the technology described in 883 this document or the extent to which any license under such rights 884 might or might not be available; nor does it represent that it has 885 made any independent effort to identify any such rights. Information 886 on the procedures with respect to rights in RFC documents can be 887 found in BCP 78 and BCP 79. 889 Copies of IPR disclosures made to the IETF Secretariat and any 890 assurances of licenses to be made available, or the result of an 891 attempt made to obtain a general license or permission for the use of 892 such proprietary rights by implementers or users of this 893 specification can be obtained from the IETF on-line IPR repository at 894 http://www.ietf.org/ipr. 896 The IETF invites any interested party to bring to its attention any 897 copyrights, patents or patent applications, or other proprietary 898 rights that may cover technology that may be required to implement 899 this standard. Please address the information to the IETF at 900 ietf-ipr@ietf.org.