draft-ietf-tsvwg-iana-ports-00.txt   draft-ietf-tsvwg-iana-ports-01.txt 
Transport Area Working Group M. Cotton Transport Area Working Group M. Cotton
Internet-Draft ICANN Internet Draft ICANN
Updates: 2780, 4340 L. Eggert Updates: 2780, 4340 (if approved) L. Eggert
(if approved) Nokia Intended status: BCP Nokia
Intended status: BCP A. Mankin Expires: May 2009 A. Mankin
Expires: January 8, 2009 NSF Johns Hopkins Univ.
M. Westerlund M. Westerlund
Ericsson Ericsson
J. Touch J. Touch
USC/ISI USC/ISI
July 7, 2008 November 3, 2008
IANA Procedures for the Transport Protocol Port Number Space IANA Procedures for the Transport Protocol Port Number Space
draft-ietf-tsvwg-iana-ports-00 draft-ietf-tsvwg-iana-ports-01.txt
Status of this Memo Status of this Memo
By submitting this Internet-Draft, each author represents that any By submitting this Internet-Draft, each author represents that
applicable patent or other IPR claims of which he or she is aware any applicable patent or other IPR claims of which he or she is
have been or will be disclosed, and any of which he or she becomes aware have been or will be disclosed, and any of which he or she
aware will be disclosed, in accordance with Section 6 of BCP 79. becomes aware will be disclosed, in accordance with Section 6 of
BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet- other groups may also distribute working documents as Internet-
Drafts. Drafts.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt. http://www.ietf.org/ietf/1id-abstracts.txt
The list of Internet-Draft Shadow Directories can be accessed at The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html. http://www.ietf.org/shadow.html
This Internet-Draft will expire on January 8, 2009. This Internet-Draft will expire on May 3, 2009.
Abstract Abstract
This document defines the IANA procedures for registering port number This document defines the IANA procedures for registering port number
values for use with the various IETF transport protocols, including values for use with the various IETF transport protocols, including
TCP, UDP, DCCP, and SCTP. It provides clear procedures for the TCP, UDP, DCCP, and SCTP. It provides clear procedures for the
management of the port number registry, which is important for its management of the port number registry, which is important for its
long-term management. It updates RFC2780 by obsoleting Sections 8 long-term management. It updates RFC2780 by obsoleting Sections 8
and 9.1 of that RFC, and it updates the IANA allocation procedures and 9.1 of that RFC, and it updates the IANA allocation procedures
for DCCP as defined in RFC4340. for DCCP as defined in RFC4340.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction...................................................2
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 5 2. Conventions used in this document..............................4
3. Port Number Types . . . . . . . . . . . . . . . . . . . . . . 5 3. Port Number Types..............................................5
3.1. Assigned Port Numbers for Experimentation . . . . . . . . 6 3.1. Assigned Port Numbers for Experimentation.................5
4. Principles for Port Number Space Management . . . . . . . . . 6 4. Principles for Port Number Space Management....................6
4.1. Basic Principles of Port Conservation . . . . . . . . . . 7 4.1. Basic Principles of Port Conservation.....................7
4.2. Principles Specific to Individual Port Number Ranges . . . 8 4.2. Principles Specific to Individual Port Number Ranges......8
4.3. New Principles . . . . . . . . . . . . . . . . . . . . . . 9 4.3. New Principles............................................9
5. IANA Procedures for Managing the Port Number Space . . . . . . 10 5. IANA Procedures for Managing the Port Number Space............10
5.1. Port Number Registration . . . . . . . . . . . . . . . . . 10 5.1. Port Number Registration.................................10
5.2. Port Number De-Registration . . . . . . . . . . . . . . . 12 5.2. Port Number De-Registration..............................12
5.3. Port Number Re-Use . . . . . . . . . . . . . . . . . . . . 12 5.3. Port Number Re-Use.......................................12
5.4. Port Number Revocation . . . . . . . . . . . . . . . . . . 12 5.4. Port Number Revocation...................................12
5.5. Port Number Transfer . . . . . . . . . . . . . . . . . . . 13 5.5. Port Number Transfer.....................................13
5.6. Maintenance Issues . . . . . . . . . . . . . . . . . . . . 13 5.6. Maintenance Issues.......................................13
6. Port Number Space Requests . . . . . . . . . . . . . . . . . . 13 6. Port Number Space Requests....................................13
6.1. Request Procedure . . . . . . . . . . . . . . . . . . . . 13 6.1. Request Procedure........................................13
7. Security Considerations . . . . . . . . . . . . . . . . . . . 14 7. Security Considerations.......................................14
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 14 8. IANA Considerations...........................................14
9. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 15 9. Acknowledgments...............................................15
10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 15 10. References...................................................16
10.1. Normative References . . . . . . . . . . . . . . . . . . . 15 10.1. Normative References....................................16
10.2. Informative References . . . . . . . . . . . . . . . . . . 15 10.2. Informative References..................................16
Editorial Comments . . . . . . . . . . . . . . . . . . . . . . . . APPENDIX A: Updates to DCCP Registries...........................19
Appendix A. Updates to DCCP Registries . . . . . . . . . . . . . 17 A.1. DCCP Service Code Registry...............................19
A.1. DCCP Service Code Registry . . . . . . . . . . . . . . . . 17 A.1. DCCP Port Numbers Registry.....Error! Bookmark not defined.
A.2. DCCP Port Numbers Registry . . . . . . . . . . . . . . . . 17
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 18
Intellectual Property and Copyright Statements . . . . . . . . . . 20
1. Introduction 1. Introduction
The Transmission Control Protocol (TCP) [RFC0793] and the User The Transmission Control Protocol (TCP) [RFC0793] and the User
Datagram Protocol (UDP) [RFC0768] have enjoyed a remarkable success Datagram Protocol (UDP) [RFC0768] have enjoyed a remarkable success
over the decades as the two most widely used transport protocols on over the decades as the two most widely used transport protocols on
the Internet. They have introduced the concept of "ports" as logical the Internet. They have introduced the concept of "ports" as logical
entities for Internet communication. Ports serve two purposes: entities for Internet communication. Ports serve two purposes:
first, they provide a demultiplexing identifier to differentiate first, they provide a demultiplexing identifier to differentiate
transport sessions between the same pair of endpoints, and second, transport sessions between the same pair of endpoints, and second,
skipping to change at page 3, line 26 skipping to change at page 3, line 14
transport protocols, such as the Stream Control Transmission Protocol transport protocols, such as the Stream Control Transmission Protocol
(SCTP) [RFC4960] and the Datagram Congestion Control Protocol (DCCP) (SCTP) [RFC4960] and the Datagram Congestion Control Protocol (DCCP)
[RFC4342] have adopted the concept of ports for their communication [RFC4342] have adopted the concept of ports for their communication
sessions and use port numbers in the same way as TCP and UDP. sessions and use port numbers in the same way as TCP and UDP.
Port numbers are the original and most widely used means for Port numbers are the original and most widely used means for
application and service identification on the Internet. Ports are application and service identification on the Internet. Ports are
16-bit numbers, and the combination of source and destination port 16-bit numbers, and the combination of source and destination port
numbers together with the IP addresses of the communicating end numbers together with the IP addresses of the communicating end
systems uniquely identifies a session of a given transport protocol. systems uniquely identifies a session of a given transport protocol.
Port numbers are also known by their corresponding service names, Port numbers are also known by their corresponding service names such
such as "telnet" for port number 23 and "http" for port number 80. as "telnet" for port number 23 and "http" for port number 80.
Hosts running services, hosts accessing services on other hosts, and Hosts running services, hosts accessing services on other hosts, and
intermediate devices (such as firewalls and NATs) that restrict intermediate devices (such as firewalls and NATs) that restrict
services need to agree on which service corresponds to a particular services need to agree on which service corresponds to a particular
destination port. Although this can be a local decision between the destination port. Although this can be a local decision between the
endpoints of a connection, most Internet components use a single, endpoints of a connection, most Internet components use a single,
shared view of this association, provided by the Internet Assigned shared view of this association, provided by the Internet Assigned
Numbers Authority (IANA) through the port number registry [REGISTRY]. Numbers Authority (IANA) through the port number registry [REGISTRY].
Designers of applications and application-level protocols may apply Designers of applications and application-level protocols may apply
to IANA for a registered port number for a specific application, and to IANA for a registered port number for a specific application, and
may - after successful registration - assume that no other may - after successful registration - assume that no other
application will use that port number for its communication sessions. application will use that service port number for its communication
It is important to note that ownership of registered port numbers sessions. It is important to note that ownership of registered port
remains with IANA. For many years, the allocation and registration numbers remains with IANA. For many years, the allocation and
of new port number values for use with TCP and UDP have had less than registration of new port number values for use with TCP and UDP have
clear guidelines. Information about the registration procedures for had less than clear guidelines. Information about the registration
the port namespace existed in three locations: the forms for procedures for the port namespace existed in three locations: the
requesting port number registrations on the IANA web site forms for requesting port number registrations on the IANA web site
[SYSFORM][USRFORM], an introductory text section in the file listing [SYSFORM][USRFORM], an introductory text section in the file listing
the port number registrations themselves [REGISTRY], and two brief the port number registrations themselves [REGISTRY], and two brief
sections of [RFC2780]. sections of [RFC2780].
This document aggregates this scattered information into a single This document aggregates this scattered information into a single
reference and at the same time clarifies the guidelines for the reference and at the same time clarifies the guidelines for the
management of the port number space. It gives more detailed guidance management of the port number space. It gives more detailed guidance
to prospective requesters of ports than the existing documentation, to prospective requesters of ports than the existing documentation,
and it streamlines the IANA procedures for the management of the port and it streamlines the IANA procedures for the management of the port
number space, so that management requests can complete in a timely number space, so that management requests can complete in a timely
skipping to change at page 4, line 49 skipping to change at page 4, line 40
This document also addresses two technical issues related to the This document also addresses two technical issues related to the
ports registry that are tangential to long-term stewardship. First, ports registry that are tangential to long-term stewardship. First,
it clarifies that a method for the early allocation of port numbers it clarifies that a method for the early allocation of port numbers
is available for IETF working groups, in line with [RFC4020]. is available for IETF working groups, in line with [RFC4020].
Second, it discusses how the use of symbolic names for assigned ports Second, it discusses how the use of symbolic names for assigned ports
(the "keyword" field in [REGISTRY]) for Service Resource Records (SRV (the "keyword" field in [REGISTRY]) for Service Resource Records (SRV
RRs) in the Domain Name System (DNS) [RFC2782] relates to the use of RRs) in the Domain Name System (DNS) [RFC2782] relates to the use of
SRV RRs for applications without an assigned port. SRV RRs for applications without an assigned port.
This document updates [RFC2780] by obsoleting Sections 8 and 9.1 of This document updates [RFC2780] by obsoleting Sections 8 and 9.1 of
that RFC. Note that [RFC5237] updates a different subset of the IANA RFC. Note that [RFC5237] updates a different subset of the IANA
allocation guidelines originally given in [RFC2780] (specifically, allocation guidelines originally given in [RFC2780] (specifically,
the policies on the namespace of the IP protocol number and IPv6 next the policies on the namespace of the IP protocol number and IPv6 next
header). header).
2. Terminology 2. Conventions used in this document
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 BCP 14, RFC 2119 document are to be interpreted as described in RFC-2119 [RFC2119].
[RFC2119].
3. Port Number Types 3. Port Number Types
TCP, UDP, SCTP and DCCP use 16-bit namespaces for their port number TCP, UDP (and UDP-Lite), SCTP and DCCP use 16-bit namespaces for
registries. The port registries for all these transport protocols their port number registries. The port registries for all these
are subdivided into three ranges of numbers, and Section 6 describes transport protocols are subdivided into three ranges of numbers, and
the IANA procedures for each range in detail: Section 6 describes the IANA procedures for each range in detail:
o the Well Known Ports, i.e., the System Ports, from 0-1023 o the Well Known Ports, i.e., the System Ports, from 0-1023
(assigned by IANA) (assigned by IANA)
o the Registered Ports, i.e., the User Ports, from 1024-49151 o the Registered Ports, i.e., the User Ports, from 1024-49151
(assigned by IANA) (assigned by IANA)
o the Dynamic Ports, i.e., the Private Ports, from 49152-65535 o the Dynamic Ports, i.e., the Private Ports, from 49152-65535
(never assigned) (never assigned)
skipping to change at page 6, line 7 skipping to change at page 5, line 44
Reserved port numbers include values at the edges of each range, Reserved port numbers include values at the edges of each range,
e.g., 0, 1023, 1024, etc., which may be used to extend these e.g., 0, 1023, 1024, etc., which may be used to extend these
ranges or the overall port number space in the future. ranges or the overall port number space in the future.
When this document was written, approximately 76% of the TCP and UDP When this document was written, approximately 76% of the TCP and UDP
Well Known Ports were assigned, as were a significant fraction of the Well Known Ports were assigned, as were a significant fraction of the
Registered Ports. (As noted, Dynamic Ports are never assigned.) Registered Ports. (As noted, Dynamic Ports are never assigned.)
3.1. Assigned Port Numbers for Experimentation 3.1. Assigned Port Numbers for Experimentation
Of the Registered Ports, two TCP and UDP port numbers (1021 and 1022) Of the Well-Known Ports, two TCP and UDP port numbers (1021 and 1022)
have been assigned for experimentation with new applications and have been assigned for experimentation with new applications and
application-layer protocols that require a port number in the application-layer protocols that require a port number in the
Registered Ports range [RFC4727]. [sctp-dccp-exp] assigned ports ranges [RFC4727]. [sctp-dccp-exp]
The experimental ports 1021 and 1022 SHOULD be used for local The experimental ports 1021 and 1022 SHOULD be used for local
experiments only in controlled environments, and they SHOULD NOT be experiments only in controlled environments, and they SHOULD NOT be
used on the global Internet. Many new applications and application- used on the global Internet. Many new applications and application-
layer protocols can be experimented with without requiring a port in layer protocols can be experimented with without requiring a port in
the Registered Ports range, and port numbers in the Dynamic Ports the Well-Known or Registered Ports range, and port numbers in the
range can be also used. Dynamic Ports range can be also used.
Unfortunately, it can be difficult to limit access to these ports. Unfortunately, it can be difficult to limit access to these ports.
Users SHOULD take measures to ensure that experimental ports are Users SHOULD take measures to ensure that experimental ports are
connecting to the intended process. For example, users of these connecting to the intended process. For example, users of these
experimental ports might include a 64-bit nonce, once on each segment experimental ports might include a 64-bit nonce, once on each segment
of a message-oriented channel (e.g., UDP), or once at the beginning of a message-oriented channel (e.g., UDP), or once at the beginning
of a byte-stream (e.g., TCP), which is used to confirm that the port of a byte-stream (e.g., TCP), which is used to confirm that the port
is being used as intended. Such confirmation of intended use is is being used as intended. Such confirmation of intended use is
especially important when these ports are associated with privileged especially important when these ports are associated with privileged
(e.g., system or administrator) processes. (e.g., system or administrator) processes.
skipping to change at page 7, line 38 skipping to change at page 7, line 31
to conserve the port number space. This description is intended to to conserve the port number space. This description is intended to
inform applicants requesting port numbers. IANA decisions are not inform applicants requesting port numbers. IANA decisions are not
required to be bound to these principles, however; other factors may required to be bound to these principles, however; other factors may
come into play, and exceptions may occur where deemed in the best come into play, and exceptions may occur where deemed in the best
interest of the Internet. interest of the Internet.
Conservation of the port number space recognizes that because this Conservation of the port number space recognizes that because this
space is a limited resource, applications are expected to participate space is a limited resource, applications are expected to participate
in the demultiplexing process where feasible. The port numbers are in the demultiplexing process where feasible. The port numbers are
expected to encode as little information as possible that will enable expected to encode as little information as possible that will enable
an application to perform further demultiplexing by itself. In an application to perform further multiplexing by itself. In
particular, there should be: particular, there should be:
o only one port per service o only one port per service
o one port for all versions of a service o one port for all versions of a service
o the same port for different types of devices using the same o the same port for different types of devices using the same
service service
A given service is expected to further demultiplex messages where A given service is expected to further demultiplex messages where
possible. For example, applications and protocols are expected to possible. For example, applications and protocols are expected to
include in-band version information, so that future versions of the include in-band version information, so that future versions of the
application or protocol can share the same allocated port. application or protocol can share the same allocated port.
Applications and protocols are also expected to be able to Applications and protocols are also expected to be able to
efficiently use a single allocated port, either by demultiplexing efficiently use a single allocated port, either by demultiplexing
multiple streams within one port, or using the allocated port to multiple streams within one port, or using the allocated port to
skipping to change at page 8, line 11 skipping to change at page 8, line 5
possible. For example, applications and protocols are expected to possible. For example, applications and protocols are expected to
include in-band version information, so that future versions of the include in-band version information, so that future versions of the
application or protocol can share the same allocated port. application or protocol can share the same allocated port.
Applications and protocols are also expected to be able to Applications and protocols are also expected to be able to
efficiently use a single allocated port, either by demultiplexing efficiently use a single allocated port, either by demultiplexing
multiple streams within one port, or using the allocated port to multiple streams within one port, or using the allocated port to
coordinate using dynamic ports for subsequent exchanges (e.g., in the coordinate using dynamic ports for subsequent exchanges (e.g., in the
spirit of FTP [RFC0959]). spirit of FTP [RFC0959]).
These principles of port conservation are explained in These principles of port conservation are explained in [I-D.touch-
[I-D.touch-tsvwg-port-guidelines]. That document explains in further tsvwg-port-guidelines]. That document explains in further detail how
detail how ports are used in various ways, notably: ports are used in various ways, notably:
o Endpoint process identifier o Endpoint process identifier
o Application protocol identifier o Application protocol identifier
o Firewall filtering o Firewall filtering
The process and protocol identifier use suggests that anything a The process and protocol identifier use suggests that anything a
single process can demultiplex, or that can be encoded into a single single process can demultiplex, or that can be encoded into a single
protocol, should be. The firewall filtering use suggests that some protocol, should be. The firewall filtering use suggests that some
uses that could be de-multiplexed or encoded must be separated to uses that could be de-multiplexed or encoded must be separated to
allow for firewall management. Note that this latter use is much allow for firewall management. Note that this latter use is much
less sound, because port numbers have meaning only for the two less sound, because port numbers have meaning only for the two
endpoints of a connection (again, as discussed in detail in endpoints of a connection (again, as discussed in detail in [I-
[I-D.touch-tsvwg-port-guidelines]). D.touch-tsvwg-port-guidelines]).
4.2. Principles Specific to Individual Port Number Ranges 4.2. Principles Specific to Individual Port Number Ranges
It is important to note that different IANA procedures apply to It is important to note that different IANA procedures apply to
different ranges of the port number registry. Section 6 discusses different ranges of the port number registry. Section 6 discusses
the details of these procedures; this section outlines the rationale the details of these procedures; this section outlines the rationale
for these differences: for these differences:
o Ports in the Dynamic Ports range (49152-65535) have been o Ports in the Dynamic Ports range (49152-65535) have been
specifically set aside for local and dynamic use and cannot be specifically set aside for local and dynamic use and cannot be
skipping to change at page 10, line 16 skipping to change at page 10, line 16
IANA supports various procedures to manage the port number space that IANA supports various procedures to manage the port number space that
enable ports to be registered, de-registered, reused, and revoked. enable ports to be registered, de-registered, reused, and revoked.
This section explains these procedures, as well as other related This section explains these procedures, as well as other related
issues. issues.
5.1. Port Number Registration 5.1. Port Number Registration
Registration refers to the allocation of port numbers to applicants. Registration refers to the allocation of port numbers to applicants.
All such registrations are made from port numbers that are Unassigned All such registrations are made from port numbers that are Unassigned
or Reserved at the tine of the allocation. Unassigned numbers are or Reserved at the time of the allocation. Unassigned numbers are
allocated as needed, and without further explanation. Reserved allocated as needed, and without further explanation. Reserved
numbers are assigned only after review by IANA and the IETF, and are numbers are assigned only after review by IANA and the IETF, and are
accompanied by a statement explaining the reason a reserved number is accompanied by a statement explaining the reason a reserved number is
appropriate for this action. appropriate for this action.
When a registration for one or more (but not all) transport protocols When a registration for one or more (but not all) transport protocols
is approved, the port number for the non-requested transport is approved, the port number for the non-requested transport
protocol(s) will remain unassigned but is marked as reserved. protocol(s) will remain unassigned but is marked as reserved.
However, IANA SHOULD NOT assign that port number to any other However, IANA SHOULD NOT assign that port number to any other
application or service until no port numbers remain unassigned in the application or service until no port numbers remain unassigned in the
request range. The current registration owner of a port number MAY request range. The current registration owner of a port number MAY
register the same port number for other transport protocols when register the same port number for other transport protocols when
needed. needed.
A port number registration consists of the following tuple: A port number registration consists of the following tuple:
Registration Contact: Name and email address of the contact person o Registration Technical Contact: Name and email address of the
for the registration. This is REQUIRED. Additional address technical contact person for the registration. This is REQUIRED.
information MAY be provided. For registrations done through IETF- Additional address information MAY be provided. For registrations
published RFCs, one or more technical contact persons SHALL be done through IETF-published RFCs, one or more technical contact
provided. In addition, in this case the registration ownership persons SHALL be provided.
will belong to the IETF and not the technical contact persons.
Transport Protocol: The transport protocol(s) for which the port o Registration Owner: Name and email address of the owner of the
registration. This is REQUIRED. For individuals, this is the same
as the registration technical contact; for organizations, this is
a point of contact at that organization. For registrations done
through IETF-published RFCs, the registration ownership will
belong to the IETF and not the technical contact persons.
o Transport Protocol: The transport protocol(s) for which the port
allocation is requested, currently limited to one or more of TCP, allocation is requested, currently limited to one or more of TCP,
UDP, SCTP, and DCCP UDP, SCTP, and DCCP.
Port Number: The currently unassigned port number(s) the requester o Port Number: The currently unassigned port number(s) the
suggests for allocation. If specified and when possible, IANA is requester suggests for allocation. If specified and when
encouraged to allocate the suggested number. If not specified, possible, IANA is encouraged to allocate the suggested number. If
IANA will choose a suitable number from the Registered Ports not specified, IANA will choose a suitable number from the
range. Registered Ports range. Note that the applicant MUST NOT use the
suggested ports prior to the completion of registration.
Broadcast, Multicast or Anycast: Indicates whether the protocol o Broadcast, Multicast or Anycast: Indicates whether the protocol
supports either broadcast, multicast or anycast network layer supports either broadcast, multicast, or anycast network layer
addresses. addresses.
Port Name: The long name (description) of the port. It should avoid o Port Name: The long name (description) of the port. It should
all but the most well known acronyms. avoid all but the most well known acronyms.
Service Name: This short name for the port number, used in various o Service Name: This short name for the port number, used in
service selection and discovery mechanisms, currently including various service selection and discovery mechanisms, currently
TCPMUX [RFC1078] and DNS SRV resource records [RFC2782]. This including TCPMUX [RFC1078] and DNS SRV resource records [RFC2782].
name is limited to 14 bytes, case-insensitive US-ASCII letters, This name is limited to 14 bytes, case-insensitive US-ASCII
digits, and dashes. It MUST NOT conflict with already allocated letters, digits, and dashes. It MUST NOT conflict with already
names in the service name registry [serv-nam-reg]. allocated names in the service name registry [serv-nam-reg].
Reference: A reference document describing the protocol or o Reference: A reference document describing the protocol or
application using this port. For registration requests for application using this port. For registration requests for
Registered Ports, this documentation MUST explain why a port Registered Ports, this documentation MUST explain why a port
number in the Dynamic Ports range is unsuitable for the given number in the Dynamic Ports range is unsuitable for the given
application. For registration requests for Well Known Ports, this application. For registration requests for Well Known Ports, this
documentation MUST explain why a port number in the Registered documentation MUST explain why a port number in the Registered
Ports or Dynamic Ports ranges is unsuitable. Ports or Dynamic Ports ranges is unsuitable.
The following rules apply to the port number registry database The following rules apply to the port number registry database
maintained by IANA: [database-rules] maintained by IANA: [database-rules]
o Service Names MUST be unique o Service Names MUST be unique.
o Service Name MUST exist for all transport protocols o Service Name MUST exist for all transport protocols.
o Port Number MUST exist for TCP and UDP; it MAY exist for SCTP and o Port Number MUST exist for TCP and UDP; it MAY exist for SCTP and
DCCP DCCP.
o Transport Protocol MUST exist for all entries o Transport Protocol MUST exist for all entries.
o Service Code MUST NOT occur for TCP, UDP or SCTP, and MUST occur o Service Code MUST NOT occur for TCP, UDP or SCTP, and MUST occur
for DCCP for DCCP.
o Port Name MUST exist for all entries o Port Name MUST exist for all entries.
o Currently valid Registration Contact SHOULD exist for all entries; o Currently valid Registration Contact SHOULD exist for all entries;
it MUST exist for all new entries it MUST exist for all new entries.
o Reference SHOULD exist for all entries o Reference SHOULD exist for all entries.
5.2. Port Number De-Registration 5.2. Port Number De-Registration
The original requesters of a granted port number assignment can The original requesters of a granted port number assignment can
return the port number to IANA at any time if they no longer have a return the port number to IANA at any time if they no longer have a
need for it. The port number will be de-registered and will be need for it. The port number will be de-registered and will be
marked as reserved [res-vs-unass] IANA should not re-assign port marked as reserved [res-vs-unass]. IANA should not re-assign port
numbers that have been de-registered until all other available port numbers that have been de-registered until all other available port
numbers in the specific range have been assigned. numbers in the specific range have been assigned.
Before proceeding with a de-registration, IANA needs to confirm that Before proceeding with a de-registration, IANA needs to reasonably
the port number is actually no longer in use. establish that the port number is no longer in use.
5.3. Port Number Re-Use 5.3. Port Number Re-Use
If the original requesters of a granted port number assignment no If the original requesters of a granted port number assignment no
longer have a need for the registered number, but would like to re- longer have a need for the registered number, but would like to re-
use it for a different application, they can submit a request to IANA use it for a different application, they can submit a request to IANA
to do so. to do so.
Logically, port number re-use is to be thought of as a de- Logically, port number re-use is to be thought of as a de-
registration followed by an immediate re-registration of the same registration followed by an immediate re-registration of the same
skipping to change at page 12, line 43 skipping to change at page 12, line 48
application that the port number was assigned to has found usage application that the port number was assigned to has found usage
beyond the original requester, or that there is a concern that it may beyond the original requester, or that there is a concern that it may
have such users. This determination MUST be made quickly. A have such users. This determination MUST be made quickly. A
community call concerning revocation of a port number (see below) MAY community call concerning revocation of a port number (see below) MAY
be considered, if a broader use of the port number is suspected. be considered, if a broader use of the port number is suspected.
5.4. Port Number Revocation 5.4. Port Number Revocation
Sometimes, it will be clear that a specific port number is no longer Sometimes, it will be clear that a specific port number is no longer
in use and that IANA can de-register it and mark it as reserved [res- in use and that IANA can de-register it and mark it as reserved [res-
vs-unass2] But at other times, it may be unclear whether a given vs-unass2]. At other times, it may be unclear whether a given
assigned port number is still in use somewhere in the Internet. In assigned port number is still in use somewhere in the Internet. In
those cases, despite the requester's wish to de-register, IANA must those cases, despite the requester's wish to de-register, IANA must
consider the consequences that de-registering the port number. consider the consequences that de-registering the port number.
With the help of their IESG-appointed Expert Reviewer, IANA SHALL With the help of their IESG-appointed Expert Reviewer, IANA SHALL
formulate a request to the IESG to issue a four-week community call formulate a request to the IESG to issue a four-week community call
concerning the pending port number revocation. The IESG and IANA, concerning the pending port number revocation. The IESG and IANA,
with the Expert Reviewer's support, SHALL determine promptly after with the Expert Reviewer's support, SHALL determine promptly after
the end of the community call whether revocation should proceed and the end of the community call whether revocation should proceed and
then communicate their decision to the community. This procedure then communicate their decision to the community. This procedure
skipping to change at page 13, line 44 skipping to change at page 14, line 5
IANA's management of the the port number space. Such requests IANA's management of the the port number space. Such requests
include initial registration, de-registration, re-use, changes to the include initial registration, de-registration, re-use, changes to the
service name, as well as updates to the contact information or port service name, as well as updates to the contact information or port
name (description). Revocation is initiated by IANA. name (description). Revocation is initiated by IANA.
6.1. Request Procedure 6.1. Request Procedure
All registration requests for a TCP, SCTP, DCCP and/or UDP ports must All registration requests for a TCP, SCTP, DCCP and/or UDP ports must
contain the following pieces of information: contain the following pieces of information:
Port number tuple: A port number tuple, as described in Section 5.1. o Port number tuple: A port number tuple, as described in Section
The port number would typically be omitted; when provided, it 5.1. The port number would typically be omitted; when provided, it
indicates a preference for requesting a currently unassigned indicates a preference for requesting a currently unassigned
value. value.
Port Range: Indicates the port range desired (i.e., Well Known Ports o Port Range: Indicates the port range desired (i.e., Well Known
or Registered Ports). Ports or Registered Ports).
Requested Action: One of REGISTER, DEREGISTER, REUSE, o Requested Action: One of REGISTER, DEREGISTER, REUSE,
SVC_NAME_CHANGE, or UPDATE_INFO (port name, registration contact). SVC_NAME_CHANGE, or UPDATE_INFO (port name, registration contact).
The Well Known Ports are assigned by IANA and cover the range 0-1023. The Well Known Ports are assigned by IANA and cover the range 0-1023.
On many systems, they can only be used by system (or root) processes On many systems, they can only be used by system (or root) processes
or by programs executed by privileged users. Registration requests or by programs executed by privileged users. Registration requests
for a Well Known port number MUST follow the "IETF Review" policy of for a Well Known port number MUST follow the "IETF Review" policy of
[RFC5226]. Registrations for a port number in this range MUST [RFC5226]. Registrations for a port number in this range MUST
document why a port number in the Registered Ports range will not document why a port number in the Registered Ports range will not
fulfill the application needs. fulfill the application needs.
skipping to change at page 14, line 33 skipping to change at page 14, line 38
"Expert Review" policy of [RFC5226]. "Expert Review" policy of [RFC5226].
7. Security Considerations 7. Security Considerations
The IANA guidelines described in this document do not change the The IANA guidelines described in this document do not change the
security properties of either TCP, SCTP, DCCP or UDP. security properties of either TCP, SCTP, DCCP or UDP.
Assignment of a port number does not in any way imply an endorsement Assignment of a port number does not in any way imply an endorsement
of an application or product, and the fact that network traffic is of an application or product, and the fact that network traffic is
flowing to or from a registered port number does not mean that it is flowing to or from a registered port number does not mean that it is
"good" traffic, or even that the it is used by the assigned service. "good" traffic, or even that it is used by the assigned service.
Firewall and system administrators should choose how to configure Firewall and system administrators should choose how to configure
their systems based on their knowledge of the traffic in question, their systems based on their knowledge of the traffic in question,
not whether there is a port number registered or not. not whether there is a port number registered or not.
8. IANA Considerations 8. IANA Considerations
This document obsoletes Sections 8 and 9.1 of [RFC2780]. Upon This document obsoletes Sections 8 and 9.1 of [RFC2780]. Upon
approval of this document, IANA is requested to adopt the procedures approval of this document, IANA is requested to adopt the procedures
described herein. described herein.
skipping to change at page 15, line 13 skipping to change at page 15, line 13
by requirements of this document. by requirements of this document.
9. Acknowledgments 9. Acknowledgments
The text in Appendix A is based on a suggestion by Tom Phelan. The text in Appendix A is based on a suggestion by Tom Phelan.
Lars Eggert is partly funded by [TRILOGY], a research project Lars Eggert is partly funded by [TRILOGY], a research project
supported by the European Commission under its Seventh Framework supported by the European Commission under its Seventh Framework
Program. Program.
This document was prepared using 2-Word-v2.0.template.dot.
10. References 10. References
10.1. Normative References 10.1. Normative References
[RFC0768] Postel, J., "User Datagram Protocol", STD 6, RFC 768, [RFC0768] Postel, J., "User Datagram Protocol", STD 6, RFC 768,
August 1980. August 1980.
[RFC0793] Postel, J., "Transmission Control Protocol", STD 7, [RFC0793] Postel, J., "Transmission Control Protocol", STD 7, RFC
RFC 793, September 1981. 793, September 1981.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997. Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC2780] Bradner, S. and V. Paxson, "IANA Allocation Guidelines For [RFC2780] Bradner, S. and V. Paxson, "IANA Allocation Guidelines For
Values In the Internet Protocol and Related Headers", Values In the Internet Protocol and Related Headers", BCP
BCP 37, RFC 2780, March 2000. 37, RFC 2780, March 2000.
[RFC4020] Kompella, K. and A. Zinin, "Early IANA Allocation of [RFC4020] Kompella, K. and A. Zinin, "Early IANA Allocation of
Standards Track Code Points", BCP 100, RFC 4020, Standards Track Code Points", BCP 100, RFC 4020, February
February 2005. 2005.
[RFC4340] Kohler, E., Handley, M., and S. Floyd, "Datagram [RFC4340] Kohler, E., Handley, M., and S. Floyd, "Datagram Congestion
Congestion Control Protocol (DCCP)", RFC 4340, March 2006. Control Protocol (DCCP)", RFC 4340, March 2006.
[RFC4727] Fenner, B., "Experimental Values In IPv4, IPv6, ICMPv4, [RFC4727] Fenner, B., "Experimental Values In IPv4, IPv6, ICMPv4,
ICMPv6, UDP, and TCP Headers", RFC 4727, November 2006. ICMPv6, UDP, and TCP Headers", RFC 4727, November 2006.
[RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an [RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an
IANA Considerations Section in RFCs", BCP 26, RFC 5226, IANA Considerations Section in RFCs", BCP 26, RFC 5226, May
May 2008. 2008.
10.2. Informative References 10.2. Informative References
[I-D.touch-tsvwg-port-guidelines] [I-D.touch-tsvwg-port-guidelines] Touch, J., "Guidelines for
Touch, J., "Guidelines for Transport Port Use", Work in Transport Port Use", Work in Progress, Nov. 2008.
Progress, July 2008.
[REGISTRY] [REGISTRY] Internet Assigned Numbers Authority (IANA), "Port
Internet Assigned Numbers Authority (IANA), "Port
Numbers", http://www.iana.org/assignments/port-numbers. Numbers", http://www.iana.org/assignments/port-numbers.
[RFC0959] Postel, J. and J. Reynolds, "File Transfer Protocol", [RFC0959] Postel, J. and J. Reynolds, "File Transfer Protocol", STD
STD 9, RFC 959, October 1985. 9, RFC 959, October 1985.
[RFC1078] Lottor, M., "TCP port service Multiplexer (TCPMUX)", [RFC1078] Lottor, M., "TCP port service Multiplexer (TCPMUX)", RFC
RFC 1078, November 1988. 1078, November 1988.
[RFC2782] Gulbrandsen, A., Vixie, P., and L. Esibov, "A DNS RR for [RFC2782] Gulbrandsen, A., Vixie, P., and L. Esibov, "A DNS RR for
specifying the location of services (DNS SRV)", RFC 2782, specifying the location of services (DNS SRV)", RFC 2782,
February 2000. February 2000.
[RFC4342] Floyd, S., Kohler, E., and J. Padhye, "Profile for [RFC4342] Floyd, S., Kohler, E., and J. Padhye, "Profile for Datagram
Datagram Congestion Control Protocol (DCCP) Congestion Congestion Control Protocol (DCCP) Congestion Control ID 3:
Control ID 3: TCP-Friendly Rate Control (TFRC)", RFC 4342, TCP-Friendly Rate Control (TFRC)", RFC 4342, March 2006.
March 2006.
[RFC4960] Stewart, R., "Stream Control Transmission Protocol", [RFC4960] Stewart, R., "Stream Control Transmission Protocol", RFC
RFC 4960, September 2007. 4960, September 2007.
[RFC5237] Arkko, J. and S. Bradner, "IANA Allocation Guidelines for [RFC5237] Arkko, J. and S. Bradner, "IANA Allocation Guidelines for
the Protocol Field", BCP 37, RFC 5237, February 2008. the Protocol Field", BCP 37, RFC 5237, February 2008.
[SYSFORM] Internet Assigned Numbers Authority (IANA), "Application [SYSFORM] Internet Assigned Numbers Authority (IANA), "Application
for System (Well Known) Port Number", for System (Well Known) Port Number",
http://www.iana.org/cgi-bin/sys-port-number.pl. http://www.iana.org/cgi-bin/sys-port-number.pl.
[TRILOGY] "Trilogy Project", http://www.trilogy-project.org/. [TRILOGY] "Trilogy Project", http://www.trilogy-project.org/.
[USRFORM] Internet Assigned Numbers Authority (IANA), "Application [USRFORM] Internet Assigned Numbers Authority (IANA), "Application
for User (Registered) Port Number", for User (Registered) Port Number",
http://www.iana.org/cgi-bin/usr-port-number.pl. http://www.iana.org/cgi-bin/usr-port-number.pl.
Editorial Comments Editorial Comments
[database-rules] Lars: Some of these rules below allow entries that [database-rules] Lars: Some of these rules below allow entries that
aren't in full alignment with the procedures in aren't in full alignment with the procedures in this document. I
this document. I assume that is, because the rules assume that is, because the rules attempt to describe the state of
attempt to describe the state of the IANA database the IANA database including all existing entries? If so, we should
including all existing entries? If so, we should
make that clearer. make that clearer.
[port-reserv] Magnus: The usage of for the above reason reserved [port-reserv] Magnus: The usage of for the above reason reserved port
port numbers should probably not have the same numbers should probably not have the same rules as the other reserved
rules as the other reserved ports. Needs discussion ports. Needs discussion if we should separate this properly. I think
if we should separate this properly. I think the the IETF consultation part will make it difficult the day one
IETF consultation part will make it difficult the registry runs out of unassigned ones.
day one registry runs out of unassigned ones.
[res-vs-unass] Lars: This used to say "unassigned" instead of [res-vs-unass] Lars: This used to say "unassigned" instead of
"reserved". I suggest "reserved", so that IANA has "reserved". I suggest "reserved", so that IANA has an indication in
an indication in their list that they need to be their list that they need to be careful when re-assigning a
careful when re-assigning a previously de- previously de-registered port.
registered port.
[res-vs-unass2] Lars: See [res-vs-unass]. [res-vs-unass2] Lars: See [res-vs-unass].
[sctp-dccp-exp] Lars: This document should register ports 1021 and [sctp-dccp-exp] Lars: This document should register ports 1021 and
1022 for DCCP and SCTP. 1022 for DCCP and SCTP. Joe: and potentially for all new protocols,
as suggested by Alfred?
[serv-nam-reg] Lars: Add citation to the service name registry [serv-nam-reg] Lars: Add citation to the service name registry
draft, when it exists draft, when it exists
Appendix A. Updates to DCCP Registries APPENDIX A: Updates to DCCP Registries
This document updates the IANA allocation procedures for the DCCP This document updates the IANA allocation procedures for the DCCP
Port Number and DCCP Service Codes Registries as defined in Port Number and DCCP Service Codes Registries as defined in
[RFC4340]. [RFC4340].
A.1. DCCP Service Code Registry A.1. DCCP Service Code Registry
Service Codes are allocated first-come-first-served according to Service Codes are allocated first-come-first-served according to
Section 19.8 of [RFC4340]. This document updates Section 19.8 of Section 19.8 of [RFC4340]. This document updates Section 19.8 of
[RFC4340] by extending the guidelines given there in the following [RFC4340] by extending the guidelines given there in the following
skipping to change at page 18, line 4 skipping to change at page 19, line 38
The DCCP ports registry is defined by [RFC4340] in Section 19.9. The DCCP ports registry is defined by [RFC4340] in Section 19.9.
Allocations in this registry require prior allocation of a Service Allocations in this registry require prior allocation of a Service
Code. Not all Service Codes require IANA-registered ports. This Code. Not all Service Codes require IANA-registered ports. This
document updates Section 19.9 of [RFC4340] by extending the document updates Section 19.9 of [RFC4340] by extending the
guidelines given there in the following way: guidelines given there in the following way:
o IANA should normally assign a value in the range 1024-49151 to a o IANA should normally assign a value in the range 1024-49151 to a
DCCP server port. IANA allocation requests to allocate port DCCP server port. IANA allocation requests to allocate port
numbers in the Well Known Ports range (0 through 1023), require numbers in the Well Known Ports range (0 through 1023), require
IETF Action prior to allocation by IANA [RFC4340]. IETF action prior to allocation by IANA [RFC4340]. Such action
typically requires confirmation that the protocol indicated is in
the standards track of the IETF.
Section 19.9 of [RFC4340] requires each DCCP server port assignment Section 19.9 of [RFC4340] requires each DCCP server port assignment
to be associated with at least one Service Code value. This document to be associated with at least one Service Code value. This document
updates [RFC4340] in the following way: updates [RFC4340] in the following way:
o IANA MUST NOT allocate a single Service Code value to more than o IANA MUST NOT allocate a single Service Code value to more than
one DCCP server port. one DCCP server port.
o The set of Service Code values associated with a DCCP server port o The set of Service Code values associated with a DCCP server port
should be recorded in the ports registry. should be recorded in the ports registry.
o A request for additional Service Codes to be associated with an o A request for additional Service Codes to be associated with an
already allocated Port Number requires Expert Review. These already allocated Port Number requires Expert Review. These
requests will normally be accepted when they originate from the requests will normally be accepted when they originate from the
contact associated with the port registration. In other cases, contact associated with the port registration. In other cases,
these applications will be expected to use an unallocated port, these applications will be expected to use an unallocated port,
when this is available. when this is available.
[RFC4340] notes that a short port name MUST be associated with each RFC4340] notes that a short port name MUST be associated with each
DCCP server port that has been registered. This document requires DCCP server port that has been registered. This document requires
that this name MUST be unique. that this name MUST be unique.
Authors' Addresses Authors' Addresses
Michelle Cotton Michelle Cotton
Internet Corporation for Assigned Names and Numbers Internet Corporation for Assigned Names and Numbers
4676 Admiralty Way, Suite 330 4676 Admiralty Way, Suite 330
Marina del Rey, CA 90292 Marina del Rey, CA 90292
USA USA
skipping to change at page 19, line 4 skipping to change at page 21, line 26
Lars Eggert Lars Eggert
Nokia Research Center Nokia Research Center
P.O. Box 407 P.O. Box 407
Nokia Group 00045 Nokia Group 00045
Finland Finland
Phone: +358 50 48 24461 Phone: +358 50 48 24461
Email: lars.eggert@nokia.com Email: lars.eggert@nokia.com
URI: http://research.nokia.com/people/lars_eggert/ URI: http://research.nokia.com/people/lars_eggert/
Allison Mankin Allison Mankin
National Science Foundation Johns Hopkins Univ.
4102 Wilson Boulevard
Arlington, VA 22230
USA USA
Phone: +1 301 728 7199 Phone: +1 301 728 7199
Email: mankin@psg.com Email: mankin@psg.com
URI: http://www.psg.com/~mankin/ URI: http://www.psg.com/~mankin/
Magnus Westerlund Magnus Westerlund
Ericsson Ericsson
Torshamsgatan 23 Torshamsgatan 23
Stockholm 164 80 Stockholm 164 80
skipping to change at page 20, line 21 skipping to change at page 22, line 26
retain all their rights. retain all their rights.
This document and the information contained herein are provided on an This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND
THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Intellectual Property Intellectual Property Statement
The IETF takes no position regarding the validity or scope of any The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights 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 might or might not be available; nor does it represent that it has
made any independent effort to identify any such rights. Information made any independent effort to identify any such rights. Information
on the procedures with respect to rights in RFC documents can be on the procedures with respect to rights in RFC documents can be
found in BCP 78 and BCP 79. found in BCP 78 and BCP 79.
 End of changes. 68 change blocks. 
161 lines changed or deleted 163 lines changed or added

This html diff was produced by rfcdiff 1.35. The latest version is available from http://tools.ietf.org/tools/rfcdiff/