Subject: [port-srv-reg] Draft deadline is approaching

From: Magnus Westerlund <[email-masked]>
Date: Thu, 03 Jul 2008 10:24:56 +0200

Hi,

We need to submit the draft no later than Monday as this is now a TSVWG 
item. What should happen before Monday and what can we manage to do?

Cheers

Magnus Westerlund

IETF Transport Area Director & TSVWG Chair
----------------------------------------------------------------------
Multimedia Technologies, Ericsson Research EAB/TVM
----------------------------------------------------------------------
Ericsson AB                | Phone +46 8 4048287
Färögatan 6                | Fax   +46 8 7575550
S-164 80 Stockholm, Sweden | mailto: [email-masked]
----------------------------------------------------------------------

_______________________________________________
Port-srv-reg mailing list
[email-masked]
https://www.ietf.org/mailman/listinfo/port-srv-reg

---

From: Joe Touch <[email-masked]>
Date: Thu, 03 Jul 2008 08:45:04 -0700

Hi, all,

I updated the original draft, based on a long conversation with Michelle 
about two weeks ago. Notice the new title and updated structure; the 
goal is to complete a companion document as follows:

draft-touch-tsvwg-port-guidelines
- to be titled:
     Guidelines for Transport Port Use
e.g.,
	history of ports
	do you need a new port?
		use of the experimental space
		use of existing services, e.g., telnet, web
	which protocol do you need?
		TCP/UDP/SCTP/DCCP, privileged vs. not
	concerns
		version numbers (should NOT appear on service names)
		secure/nonsecure (should share one port)
		discovery vs. transport (should not share port nums)
		load balancing (not a good reason for UDP disc. per se)
		1 port of a given type is enough
	potential need for some new tools
		generic UDP device discovery protocol
		generic TCP device command port

The new doc focuses on how programmers should decide what to ask for, 
and what concerns to address, from my personal point of view - I expect 
that to generate more controversy. I hope the WG will want to converge 
on its content as a WG doc, but felt it was better offered as individual 
initially.

If anyone can conveniently convert the attached to .txt, please do and 
repost. It's a draft, I circulated it to Michelle on 6/26, but haven't 
heard back yet... A 'diff' would be nice too, if possible.

Joe

> IETF Transport Area Director & TSVWG Chair
<?xml version="1.0" encoding="US-ASCII"?>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd">
<?rfc toc="yes"?>
<?rfc strict="yes"?>
<?rfc tocompact="yes"?>
<?rfc compact="yes"?>
<?rfc subcompact="no"?>
<?rfc tocdepth="2"?>
<?rfc symrefs="yes"?>
<?rfc comments="yes" ?>
<!--<?rfc rfcedstyle="yes"?>-->
<?rfc sortrefs="yes" ?>
<rfc category="bcp" docName="draft-cotton-tsvwg-iana-ports-00" ipr="full3978"
     updates="2780">
  <front>
    <title abbrev="IANA Port Number Managment">IANA Procedures for Transport
    Port Number Management</title>

    <!-- AUTHORS ALPHABETICAL -->

    <author fullname="Michelle Cotton" initials="M." surname="Cotton">
      <organization abbrev="ICANN">Internet Corporation for Assigned Names and
      Numbers</organization>

      <address>
        <postal>
          <street>4676 Admiralty Way, Suite 330</street>

          <code>90292</code>

          <city>Marina del Rey</city>

          <region>CA</region>

          <country>USA</country>
        </postal>

        <phone>+1 310 823 9358</phone>

        <email>[email-masked]</email>

        <uri>http://www.iana.org/</uri>
      </address>
    </author>

    <author fullname="Lars Eggert" initials="L." surname="Eggert">
      <organization abbrev="Nokia">Nokia Research Center</organization>

      <address>
        <postal>
          <street>P.O. Box 407</street>

          <code>00045</code>

          <city>Nokia Group</city>

          <country>Finland</country>
        </postal>

        <phone>+358 50 48 24461</phone>

        <email>[email-masked]</email>

        <uri>http://research.nokia.com/people/lars_eggert/</uri>
      </address>
    </author>

    <author fullname="Allison Mankin" initials="A." surname="Mankin">
      <organization abbrev="NSF">National Science Foundation</organization>

      <address>
        <postal>
          <street>4102 Wilson Boulevard</street>

          <city>Arlington</city>

          <region>VA</region>

          <code>22230</code>

          <country>USA</country>
        </postal>

        <phone>+1 301 728 7199</phone>

        <email>[email-masked]</email>

        <uri>http://www.psg.com/~mankin/</uri>
      </address>
    </author>

    <author fullname="Magnus Westerlund" initials="M. " surname="Westerlund">
      <organization>Ericsson</organization>

      <address>
        <postal>
          <street>Torshamsgatan 23</street>

          <city>Stockholm</city>

          <code>164 80</code>

          <country>Sweden</country>
        </postal>

        <phone>+46 8 719 0000</phone>

        <email>[email-masked]</email>
      </address>
    </author>

    <date day="June" month="19" year="2008" />

    <area>Transport Area</area>

    <workgroup>Transport Area Working Group</workgroup>

    <keyword>IANA</keyword>

    <keyword>transport</keyword>

    <keyword>ports</keyword>

    <keyword>port numbers</keyword>

    <keyword>allocation</keyword>

    <keyword>procedures</keyword>

    <abstract>
      <t>This document defines the IANA procedures for registering port number
      values for use with the various transport protocols, including TCP, UDP,
      DCCP, and SCTP. It provides clear processes for management of port
      number registries, important for their long-term management. It updates
      <!-- can't have an xref in the abstract, else would use: <xref target="RFC2780"/> -->
      RFC2780 by replacing Sections 8 and 9.1 of that RFC.</t>
    </abstract>
  </front>

  <middle>
    <section anchor="intro" title="Introduction">
      <t>The Transmission Control Protocol (TCP) <xref
      target="RFC0793"></xref> and the User Datagram Protocol (UDP) <xref
      target="RFC0768"></xref> have enjoyed a remarkable success over the
      decades as the two most widely used transport protocols on the Internet.
      They introduced the concept of ports as logical entities that serve two
      purposes - they provide a demultiplexing identifier to differentiate
      transport sessions between the same pair of endpoints, and they also
      identify the application protocol and associated service to which
      processes bind <xref target="I-D.touch-tsvwg-port-guidelines"></xref>.
      Newer transport protocols, such as the Stream Control Transmission
      Protocol (SCTP) <xref target="RFC4960"></xref> and the Datagram
      Congestion Control Protocol (DCCP) <xref target="RFC4342"></xref> have
      adopted the concept of ports for their communication sessions and use
      port numbers in the same way as TCP and UDP.</t>

      <t>Port numbers are the original and most widely used means for
      application and service identification on the Internet. Ports are 16-bit
      numbers, and the combination of source and destination port numbers
      together with the IP addresses communicating end systems uniquely
      identifies a session of a given transport protocol. Ports are also known
      by their corresponding service names, such as DNS and FTP. Hosts running
      services, hosts accessing services on other hosts, and intermediate
      devices (such as firewalls and NATs) that restrict services, need to
      agree on which service corresponds to a particular destination port.
      Although this can be a local decision between the endpoints of a
      connection, most Internet components use a single, shared view of this
      association, provided by the Internet Assigned Numbers Authority
      (IANA).</t>

      <t>Designers of applications and application-level protocols may apply
      to the Internet Assigned Numbers Authority (IANA) for a registered port
      number for a specific application, and may after successful registration
      assume that no other application will use that port number for its
      communication sessions. It is important to note that ownership of
      registered port numbers remains with IANA. For many years, the
      allocation and registration of new port number values for use with TCP
      and UDP have had less than clear guidelines. Information about the
      registration procedures for the port namespace existed in three
      locations: the forms for requesting port number registrations on the
      IANA web site <xref target="SYSFORM"></xref><xref
      target="USRFORM"></xref>, an introductory text section in the file
      listing the port number registrations themselves <xref
      target="REGISTRY"></xref>, and two brief sections of <xref
      target="RFC2780"></xref>.</t>

      <t>This document aggregates this scattered information into a single
      reference and at the same time clarifies the guidelines for the
      management of the port number space. It gives more detailed guidance to
      prospective requesters of ports than the existing documentation, and it
      streamlines the IANA procedures for the management of the port number
      space, so that management requests can complete in a timely manner. A
      key factor of this streamlining is to establish identical registration
      procedures for transport protocol ports, independent of a specific
      transport protocol. This document brings the IANA procedures for TCP and
      UDP in line with those already in effect for SCTP and DCCP, resulting in
      a single process that requesters and IANA follow for all port number
      requests for all transport protocols, including those not yet
      defined.</t>

      <t>A second purpose of this document is to describe the principles that
      guide the IETF and IANA in their role as the long-term joint stewards of
      the port number space. TCP and UDP have been a remarkable success over
      the last decades. Thousands of applications and application-level
      protocols have registered ports for their use, and there is every reason
      to believe that this trend will continue into the future. It is hence
      extremely important that management of the port number space follow
      principles that ensure its long-term usefulness as a shared resource.
      <xref target="principles"></xref> discusses these principles in detail.
      Guidelines for users seeking port numbers, as well as a detailed history
      of the port number issue and alternate means for coordinating host
      agreement on service to port number mappings, is provided in a companion
      document <xref target="I-D.touch-tsvwg-port-guidelines">.</xref></t>

      <t>In addition to detailing the IANA procedures for the initial
      assignment of port numbers, this document also specifies post-assignment
      procedures that until now have been handled in an ad hoc manner. These
      include procedures to de-register a port number that is no longer in
      use, to re-use a port number allocated for one application that is no
      longer in use for another application, and procedure by which IANA can
      unilaterally revoke a prior port number registration. <xref
      target="iana-procedures"></xref> discusses the specifics of these
      procedures.</t>

      <t><!--Unsure how to handle the following paragraph...O-->Finally, this
      document also addresses two technical issues with ports registry that
      are tangential to long-term stewardship. First, it clarifies that a
      method for the early allocation of TCP and UDP ports for IETF working
      group documents is available, in line with <xref
      target="RFC4020"></xref>. Second, it discusses how the use of the
      symbolic names for assigned ports (the "keyword" field in <xref
      target="REGISTRY"></xref>) for Service Resource Records (SRV RRs) in the
      Domain Name System (DNS) <xref target="RFC2782"></xref> relates to the
      use of SRV RRs for applications without an assigned port.</t>

      <t>This document updates <xref target="RFC2780"></xref> by replacing
      Sections 8 and 9.1 of that RFC. Note that <xref
      target="I-D.arkko-rfc2780-proto-update"></xref> updates a different
      subset of the IANA allocation guidelines originally given in <xref
      target="RFC2780"></xref> (specifically, the policies on the namespace of
      the IP protocol number and IPv6 next header).</t>
    </section>

    <section anchor="term" title="Terminology">
      <t>sThe key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
      "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
      document are to be interpreted as described in BCP 14, RFC 2119 <xref
      target="RFC2119"></xref>.</t>
    </section>

    <section anchor="types" title="Port Number Types">
      <t>TCP and UDP use 16-bit namespaces for their port number registries,
      as do SCTP and DCCP. For all these transport protocols, ports registries
      are subdivided into three number ranges, and <xref
      target="requests"></xref> describes the IANA procedures for each range
      in detail: <list style="symbols">
          <t>the Well Known Ports, i.e., the System Ports, from 0-1023
          (assigned by IANA)</t>

          <t>the Registered Ports, i.e., the User Ports, from 1024-49151
          (assigned by IANA)</t>

          <t>the Dynamic Ports, i.e., the Private Ports, from 49152-65535
          (never assigned)</t>
        </list></t>

      <t>Of the assigned port ranges (Well Known and Registered, i.e., ports
      0-49151), individual port numbers are in one of three states at any
      given time:</t>

      <t><list style="symbols">
          <t>Assigned</t>

          <t>Unassigned</t>

          <t>Reserved</t>
        </list>Assigned port numbers have been previously allocated for an
      indicated service. Unassigned port numbers remain available for
      assignment upon request, as per the procedures outlined in this
      document. Reserved port numbers are not yet assigned, with the current
      intent that they remain so. Such numbers include values at the edges of
      each range, e.g., 0, 1023, 1024, etc., which may be used to extend the
      meaning or range of the port number space in the future, or for other
      signalling purposes. When this document was written, approximately 76%
      of TCP and UDP's Well Known Ports were assigned, as were a significant
      fraction of the Registered Ports. As noted, Dynamic Ports are never
      assigned.</t>

      <t>Of the assigned ports, a pair (1021 and 1022) are assigned for TCP
      and UDP as Experimental <xref target="RFC4727"></xref>. Experimental
      ports SHOULD be used for local experiments only in controlled
      environments. Unfortunately, it can be difficult to limit access to
      these ports. Users SHOULD take measures to ensure that experimental
      ports are connecting to the intended process. For example, users of
      these 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 bytestream (e.g., TCP), which is used to confirm that the
      port is being used as intended. Such confirmation of intended use is
      especially important when these ports are associated with privileged
      (e.g., system or administrator) processes.<!--Check whether 1021 and 1022 are assigned for SCTP and DCCP as well as TCP and UDP. Also revise if privilege is no longer associated with the well-known ports.--></t>
    </section>

    <section anchor="principles"
             title="Principles for the Port Number Space Management">
      <t>Managing the port number space includes allocating port numbers upon
      request, as well as coordinating information on existing allocations.
      The latter includes maintaining contact and description information on
      assigned ports, revoking abandoned ports, and redefining ports where
      needed. Of these issues, allocation is most critical because of the
      highly limited number of remaining port numbers.</t>

      <!--Insert some statistics here on port allocation.-->

      <t>Previous principles of port number space allocation followed some
      simple, undocumented guidelines:</t>

      <t><list style="symbols">
          <t>TCP and UDP ports were simultaneously allocated when either was
          requested</t>

          <t>Port numbers were the primary allocation; service names were
          informative only, and did not need to be unique</t>

          <t>Port numbers were conserved informally, and sometimes
          inconsistently (e.g., some services were allocated ranges of many
          port numbers even where not strictly necessary)</t>

          <t>SCTP and DCCP port number and service name spaces were managed
          separately from the TCP/UDP spaces</t>
        </list>This document attempts to update these guidelines to more
      conservatively manage the limited TCP and UDP port number space
      remaining, and to recognize the potential use of service names in the
      absence of corresponding port number allocations, such as in SCTP and
      DCCP.</t>

      <!--Verify that both SCTP and DCCP use service names without assigned port numbers.-->

      <t>The basic principle of port number space management is to conserve
      the space where possible. Revisions to support larger port number spaces
      would require revisions to TCP and UDP, the core protocols of the
      current Internet, requiring extensions that would not be backward
      compatibe that would interfere with both current and legacy
      applications. Port numbers are intended to indicate a service and enable
      process demultiplexing at an endpoint; uses beyond those basic
      requirements should be avoided <xref
      target="I-D.touch-tsvwg-port-guidelines">.</xref>. Finally, this
      document focuses on service names as a unique identifier, to increase
      the space available (from 4 bytes to 14), and to enable their use in the
      absence of corresponding port number assignments.</t>

      <section title="Basic Principles of Port Conservation">
        <t>This section summarizes the basic principles by which IANA attempts
        to conserve the port number space. This description is intended to
        inform applicants requesting port numbers. IANA decisions are not
        required to be bound to these principles, however; other factors may
        come into play, and exceptions may occur where deemed in the best
        interest of the Internet.</t>

        <t>Conservation of the port number space recognizes that because this
        space is a limited resource, processes are expected to participate in
        the demultiplexing process where feasible. The port numbers are
        expected to encode as little as possible to enable a separate process
        to perform further demultiplexing. In particular, there should be:</t>

        <t><list style="symbols">
            <t>one port per service</t>

            <t>one port per version of a service</t>

            <t>one port for different devices using the same service</t>
          </list>A given service is expected to further demultiplex messages
        where possible. For example, current allocations for protocols are
        expected to include in-band version information, so that future
        versions of the protocol can share the port. Current allocations are
        expected to efficiently use a single port, either demultiplexing
        multiple streams within one port, or using the allocated port to
        coordinate dynamic ports for subsequent exchanges (e.g., in the spirit
        of FTP [REF??]).</t>

        <t>These principles of port conservation are explained in <xref
        target="I-D.touch-tsvwg-port-guidelines">.</xref>. That document
        explains in further detail how ports are used in various ways,
        notably:</t>

        <t><list style="symbols">
            <t>Endpoint process identifier</t>

            <t>Application protocol identifier</t>

            <t>Firewall filtering</t>
          </list>The process and protocol identifier use suggests that
        anything a single process can demultiplex, or that can be encoded into
        a single protocol, should be. The firewall filtering use suggests that
        some uses that could be demultiplexed or encoded must be separated to
        allow for firewall management. Note that this latter use is much less
        sound, because port numbers have meaning only for the two endpoints of
        a connection (again, as discussed in detail in <xref
        target="I-D.touch-tsvwg-port-guidelines"></xref>.</t>
      </section>

      <section title="Principles Specific to Various Port Number Ranges">
        <t>It is important to note that different IANA procedures apply to
        different ranges of the port number registry. <xref
        target="requests"></xref> discusses the details of these procedures;
        this section outlines the rationale for these differences:<list
            style="symbols">
            <t>Ports in the Dynamic Ports range (49152-65535) have been
            specifically set aside for local and dynamic use and cannot be
            registered through IANA. Applications may simply use them for
            communication without any sort of registration. On the other hand,
            applications must not assume that a specific port number in the
            Dynamic Ports range will always be available for communication at
            all times, and a port number in that range hence cannot be used as
            a service identifier.</t>

            <t>Ports in the Registered Ports range (1024-49151) are available
            for registration through IANA, and can be used as service
            identifiers upon successful registration. Because registering a
            port number for a specific application consumes a fraction of the
            shared resource that is the port number registry, IANA will
            require the requester to document the intended use of the port
            number, and have a technical expert review this documentation to
            determine whether to grant the registration request. This
            documentation must explain why a port number in the Dynamic Ports
            range is unsuitable for the given application.</t>

            <t>Ports in the Well Known Ports range (0-1023) are also available
            for registration through IANA. Because the Well Known Ports range
            is both the smallest and the most densely allocated one, the bar
            for new allocations is higher than that for the Registered Ports
            range (1024-49551). A request for a Well Known port number must
            document why a port number in the Registered Ports of Dynamic
            Ports ranges are unsuitable.</t>
          </list></t>
      </section>

      <section title="New Principles">
        <t>Several new practices stem from the conservation principle that
        guides management of the port numbers registry, and will take effect
        with the approval of this document:</t>

        <t><list style="symbols">
            <t>IANA will allocate port numbers only to the transport protocol
            requested</t>

            <t>IANA will recover port numbers where unused, via new procedures
            of de-registration, revocation, and transfer</t>
          </list></t>

        <t>IANA will begin assigning protocol numbers only for those transport
        protocols explicitly included in the registration request. This ends
        the long-standing practice of automatically assigning a port number to
        an application for both TCP and a UDP, even if the request is only for
        one of these transport protocols. The new allocation procedure
        conserves resources by only allocating a port number to an application
        for those transport protocols (TCP, UDP, SCTP and/or DCCP) it actually
        uses. The port number will be marked as reserved - instead of assigned
        - in the port number registries of the other transport protocols. When
        applications start supporting the use of some of those additional
        transport protocols, they must request IANA to convert the reservation
        to an assignment. An application must not assume that it can use a
        port number assigned to it for use with one transport protocol with
        another transport protocol without a registration with IANA.</t>

        <t>Conservation for the port numbers registry is improved by
        procedures that allow previously allocated port numbers to become
        unassigned, either through de-registration or revocation, and by a
        procedure that lets application designers transfer an unused port
        number to a new application. <xref target="supplemental"></xref>
        describes these procedures, which so far were undocumented.</t>
      </section>

      <t></t>
    </section>

    <section anchor="iana-procedures"
             title="IANA Procedures for Managing the Port Number Space">
      <t>IANA supports various procedures to manage the port number space that
      enable ports to be registered, de-registered, reused, and revoked. This
      section explains these procedures, as well as other related issues.</t>

      <section anchor="registration" title="Port Number Registration">
        <t>Registration refers to the allocation of port numbers to
        applicants. All such registrations are made from port numbers that are
        Unassigned or Reserved at the tine of the allocation. Unassigned
        numbers are allocated as needed, and without further explanation.
        Reserved numbers are assigned only after review by IANA and the IETF,
        and are accompanied by a statement explaining the reason Reserved
        space is appropriate for this action.</t>

        <t>When a registration for only TCP or UDP is approved, the port
        number for the other transport protocol will remain unassigned but is
        marked as reserved. However, IANA SHOULD NOT assign that port number
        to any other application or service until no port numbers exist in the
        request range that are u for both protocols. The current registration
        owner of a port number MAY register the same port number for other
        transport protocols when needed.</t>

        <t>A port number registration consists of the following tuple:</t>

        <t><list style="hanging">
            <t hangText="Registration Contact:">Name and email address of the
            contact for the registration. This is mandatory. Additional
            address information may be provided. For registrations done
            through IETF-published RFCs, one or more technical contact persons
            shall be provided. In addition, in this case the registration
            ownership will belong to the IETF and not the technical contact
            persons.</t>

            <t hangText="Transport Protocol:">The transport protocol(s) for
            which the port is allocated, currently limited to TCP, UDP, SCTP,
            and DCCP</t>

            <t hangText="Broadcast or Multicast:">Indicates whether the
            protocol supports eithe broadcast or multicast network layer
            addresses.</t>

            <t hangText="Port Name:">The long name (description) of the port.
            It should avoid all but the most well known acronyms.</t>

            <t hangText="Service Name:">This short name for the port number,
            used in various service selection and discovery mechanisms,
            currently including TCPMUX <xref target="RFC1078"></xref> and DNS
            SRV resource records <xref target="RFC2052"></xref>. This name is
            limited to 14 bytes, case-insensitive ASCII letters, numbers, and
            dashes. It must not conflict with already-allocated names in the
            service name registry [TBD].</t>

            <t hangText="Port Number">The port number(s) allocated for this
            registration.</t>

            <t hangText="Reference">A reference document defining the protocol
            using this port.</t>
          </list>The following rules apply to the port number registry
        database:</t>

        <t><list style="symbols">
            <t>Service Names MUST be unique</t>

            <t>Service Name MUST exist for all transport protocols</t>

            <t>Port Number MUST exist for TCP and UDP; it MAY exist for for
            SCTP and DCCP</t>

            <t>Transport Protocol MUST exist for all entries</t>

            <t>Service Code MUST NOT occur for TCP or UDP; it MUST occur for
            SCTP, and MAY occur for DCCP</t>

            <t>Port Name MUST exist for all entries</t>

            <t>Currently valid Registration Contact SHOULD exist for all
            entries; it MUST exist for all new entries</t>

            <t>Reference SHOULD exist for all entries</t>
          </list></t>
      </section>

      <section anchor="deregistration" title="Port Number De-Registration">
        <t>The original requesters of a granted port number assignment can
        return the port number to IANA at any time if there no longer is a
        need for it. The port number will be de-registered and will be marked
        as unassigned. IANA will not assign port numbers that have been
        de-registered until all other available port numbers in the specific
        range have been assigned.</t>

        <t>Before proceeding with a de-registration, IANA needs to confirm
        that the port number is actually no longer in use.</t>
      </section>

      <section anchor="reuse" title="Port Number Re-Use">
        <t>If the original requesters of a granted port number assignment no
        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 to
        do so.</t>

        <t>Logically, port number re-use is to be thought of as a
        de-registration followed by an immediate re-registration of the same
        port number for a new application. Consequently, the information that
        needs to be provided about the proposed new use of the port number is
        identical to what would need to be provided for a new port number
        allocation for the specific ports range.</t>

        <t>IANA needs to carefully review such requests before approving them.
        In some instances, the Expert Reviewer will determine that the
        application that the port number was assigned to has found usage
        beyond the original requester, or that there is a concern that it may
        have such users. This determination MUST be made quickly. A community
        call concerning revocation of a port number (see below) MAY be
        considered, if a broader use of the port number is suspected.</t>
      </section>

      <section anchor="revocation" title="Port Number Revocation">
        <t>Often, 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 unassigned. But at
        other times, it may be unclear whether a given assigned port number is
        still in use somewhere in the Internet. In those cases, despite the
        requester's wish to de-register, IANA must consider the consequences
        that de-registering the port number.</t>

        <t>With the help of their IESG-appointed Expert Reviewer, IANA SHALL
        formulate a request to the IESG to issue a four-week community call
        concerning the pending port number revocation. The IESG and IANA, with
        the Expert Reviewer's support, SHALL determine promptly after the end
        of the community call whether de-registration should proceed and then
        communicate their decision to the community. This procedure typically
        involves similar steps to De-Registration except that it is initated
        by IANA.</t>
      </section>

      <section anchor="transfer" title="Port Number Transfer">
        <t>. The value of port numbers is defined by their careful management
        as a shared Internet resource, whereas enabling transfer allows the
        potential for associated monetary exchanges to motivate this
        management. As a result, current IANA procedures to not permit port
        number assignements to be transferred between parties, even when
        mutually consenting. The appropriate alternate procedure is for the
        new party to request its own port number registration (i.e., to
        Register) and for the previous party to release its registration via
        the de-registration procedure outlined above.</t>
      </section>

      <section title="Maintenance Issues">
        <t>The previous procedures help IANA manage defining properties of the
        port name space. There are additional procedures which are
        administrative, and help IANA maintain non-defining information in a
        registration. This includes changes to the Port Name (i.e.,
        description), and changes to contact information. These changes are
        coordinated by IANA in an informal manner, and may be initiated by
        either the registrant or by IANA, e.g., the latter when requesting an
        update to current contact information.</t>
      </section>
    </section>

    <section anchor="requests" title="Port Number Space Requests">
      <t>This section describes the process for requests associated with
      IANA's management of the the port number space. Such requests include
      initial registration, de-registration, re-use, changes to the service
      name, as well as updates to the contact information or port name
      (description). Revocation is initiated by IANA.</t>

      <!--Does this include changes to the service name? that seems semantic, and should require the form, IMO (as noted above).-->

      <section title="Request Procedure">
        <t>All registration requests for a TCP and/or UDP ports must contain
        the following pieces of information:</t>

        <t><list style="hanging">
            <t hangText="Port number tuple:">A port number tuple, as described
            in <xref target="registration"></xref>. The port number would
            typically be omitted; when provided, it indicates a preference for
            requesting a currently unassigned value.</t>

            <t hangText="Port Range">Indicates the port range desired (e.g.,
            WELL-KNOWN or REGISTERED) requested.</t>

            <t hangText="Requested Action">One of REGISTER, DEREGISTER, REUSE,
            SVC_NAME_CHANGE, or UPDATE_INFO (port name, registration
            contact).</t>

            <!--What characters are allowed in service names?-->
          </list><!--Are service names supposed to be unique? does this document define that requirement?--></t>

        <t>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 or by programs executed by privileged users. Registration
        requests for a Well Known port number MUST follow the "IETF Review"
        policy of <xref
        target="I-D.narten-iana-considerations-rfc2434bis"></xref>.
        Registrations for a port number in this range MUST document why a port
        number in the Registered Ports range will not fulfill the application
        needs.</t>

        <t><!--[JT - IMO, this is an outdated artifact; since some systems allow all users to attach listening processes to these ports, clients cannot assume that such ports are run by privileged process. The only difference remaining is IETF review vs. expert review. Why do we care?]-->The
        Registered Ports are assigned by IANA and on most systems can be used
        by ordinary user processes or programs executed by ordinary users. The
        Registered Ports are in the range 1024-49151. Registration requests
        for a Registered Port number MUST follow the "Expert Review" policy of
        <xref target="I-D.narten-iana-considerations-rfc2434bis"></xref>.</t>
      </section>
    </section>

    <section anchor="seccons" title="Security Considerations">
      <t>The IANA guidelines described in this document do not change the
      security properties of either TCP or UDP.</t>

      <t><!-- disclaimer from http://www.iana.org/assignments/port-numbers -->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 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. Firewall
      and system administrators should choose how to configure their systems
      based on their knowledge of the traffic in question, not whether there
      is a port number registered or not.</t>
    </section>

    <section anchor="ianacons" title="IANA Considerations">
      <!-- put all changes from 2780 into this section
-->

      <t>This document obsoletes Sections 8 and 9.1 of <xref
      target="RFC2780"></xref>. Upon approval of this document, IANA is
      requested to adopt the procedures described herein.</t>

      <t>IANA should take immediate actions to resolve inconsistencies raised
      by requirements of this document, notably [UNIQUE KEYS].</t>

      <t><!--[IS well-known deprecated?]--></t>
    </section>

    <section anchor="ack" title="Acknowledgments">
      <t>Lars Eggert is partly funded by <xref target="TRILOGY"></xref>, a
      research project supported by the European Commission under its Seventh
      Framework Program.</t>
    </section>
  </middle>

  <!-- REFERENCE TEMPLATE
       <reference anchor="reference.XXX">
               <front>
                       <title>XXX</title>
                       <author initials="X." surname="XXX" fullname="XXX">
                               <organization abbrev="XXX">XXX</organization>
                               <address>
                                       <postal>
                                               <street>XXX</street>
                                               <city>XXX</city>
                                               <region>XXX</region>
                                               <code>XXX</code>
                                               <country>XXX</country>
                                       </postal>
                                       <phone>XXX</phone>
                                       <facsimile>XXX</facsimile>
                                       <email>XXX</email>
                                       <uri>XXX</uri>
                               </address>

                       </author>
                       <date month="XXX" year="XXX"/>
               </front>
               <seriesInfo name="XXX" value="XXX"/>
               <format type="XXX" target="XXX"/>                       
       </reference>
       -->

  <back>
    <references title="Normative References">
      <?rfc include="reference.RFC.0768" ?>

      <?rfc include="reference.RFC.0793" ?>

      <?rfc include="reference.RFC.2119" ?>

      <?rfc include="reference.RFC.2780" ?>

      <?rfc include="reference.RFC.4020" ?>

      <?rfc include="reference.RFC.4727" ?>

      <?rfc include='reference.I-D.narten-iana-considerations-rfc2434bis'?>
    </references>

    <references title="Informative References">
      <?rfc include="reference.RFC.1078" ?>

      <?rfc include="reference.RFC.2052" ?>

      <?rfc include="reference.RFC.2782" ?>

      <?rfc include="reference.RFC.3692" ?>

      <?rfc include="reference.RFC.4342" ?>

      <?rfc include="reference.RFC.4960" ?>

      <?rfc include="reference.I-D.arkko-rfc2780-proto-update" ?>

      <?rfc include="reference.I-D.touch-tsvwg-port-guidelines" ?>

      <reference anchor="SYSFORM">
        <front>
          <title>Application for System (Well Known) Port Number</title>

          <author surname="Internet Assigned Numbers Authority (IANA)">
            <organization />
          </author>
        </front>

        <seriesInfo name=""
                    value="http://www.iana.org/cgi-bin/sys-port-number.pl" />
      </reference>

      <reference anchor="USRFORM">
        <front>
          <title>Application for User (Registered) Port Number</title>

          <author surname="Internet Assigned Numbers Authority (IANA)">
            <organization />
          </author>
        </front>

        <seriesInfo name=""
                    value="http://www.iana.org/cgi-bin/usr-port-number.pl" />
      </reference>

      <reference anchor="REGISTRY">
        <front>
          <title>Port Numbers</title>

          <author surname="Internet Assigned Numbers Authority (IANA)">
            <organization />
          </author>
        </front>

        <seriesInfo name=""
                    value="http://www.iana.org/assignments/port-numbers" />
      </reference>

      <reference anchor="TRILOGY">
        <front>
          <title>Trilogy Project</title>

          <author>
            <organization />
          </author>
        </front>

        <seriesInfo name="" value="http://www.trilogy-project.org/" />
      </reference>
    </references>

    <section title="Open Issues">
      <t>This document is an initial version submitted for discussion at
      IETF-71 in Philadelphia, PA, USA. Expect nearly all sections of this
      document to see significant revisions in the near future. Nothing in
      here is final.</t>

      <!--     
     
     has several open issues, including but unlikely to be limited to:</t>

     <t><list style="numbers">
         <t>How to handle the normative reference to the service name
         registry, as well as the absence of an IANA service name registry in the first place.</t>

         <t>Which additional questions will be required to answer in a
         registration request. </t>
-->

      <!-- Don't know what this means. - Lars 
         <t>Whether the port number preference rule applies to more than UDP and TCP,
         i.e. also for SCTP and DCCP?</t>
       </list></t>
-->
    </section>
  </back>
</rfc>

---

From: Michelle Cotton <[email-masked]>
Date: Fri, 4 Jul 2008 08:46:24 -0700

Thanks for sending this on Joe.  My vacation plans got completely changed around due to husband coming down sick. I had no connectivity for days...

I'll try to look at this between today and tomorrow, however the groups input is also important as Joe and I have already discussed most of this.

I'll be online the rest of the weekend.  If everyone is happy I can submit this before Monday.....Is the deadline on Monday or before Monday?

Thanks,

Michelle

On 7/3/08 8:45 AM, "Joe Touch" <[email-masked]> wrote:

Hi, all,

Joe

---

From: Joe Touch <[email-masked]>
Date: Fri, 04 Jul 2008 08:49:58 -0700

The deadline for this to go in as a WG -00 doc is this Monday, July 7.

Joe

Michelle Cotton wrote:
> Thanks for sending this on Joe.  My vacation plans got completely 
> changed around due to husband coming down sick. I had no connectivity 
> for days...
> 
> I’ll try to look at this between today and tomorrow, however the groups 
> input is also important as Joe and I have already discussed most of this.
> 
> I’ll be online the rest of the weekend.  If everyone is happy I can 
> submit this before Monday.....Is the deadline on Monday or before Monday?
> 
> Thanks,
> 
> Michelle
> 
> 
>

---

From: Michelle Cotton <[email-masked]>
Date: Sun, 6 Jul 2008 15:27:13 -0700

Have not seen any comments from anyone yet...I'm thinking we'll have to do
this as the next version of the current draft string and submit it this
week.

Michelle

On 7/4/08 8:49 AM, "Joe Touch" <[email-masked]> wrote:

>> I¹ll try to look at this between today and tomorrow, however the groups
>> I¹ll be online the rest of the weekend.  If everyone is happy I can

---

From: Lars Eggert <[email-masked]>
Date: Mon, 7 Jul 2008 11:02:46 +0300

> this as the next version of the current draft string and submit it  

I'll go through Joe's updates and see if there's anything I'd like to  
change in the new version, too.

I'll email the update (and check it into SVN). Is anyone else planning  
on doing updates? Otherwise, I'll submit it, too.

Lars

---

From: Lars Eggert <[email-masked]>
Date: Mon, 7 Jul 2008 16:42:30 +0300

On 2008-7-7, at 11:02, ext Lars Eggert wrote:
> I'll email the update (and check it into SVN). Is anyone else  
> planning on doing updates? Otherwise, I'll submit it, too.

Attached and in SVN is the new version. Should I submit this, or is  
anyone going to do any more work on this today?

Lars

---

From: Magnus Westerlund <[email-masked]>
Date: Mon, 07 Jul 2008 16:58:10 +0200

Hi,

Here is a somewhat updated version. Found one more topic needing 
discussion for which I have added a comment.

Cheers

Magnus Westerlund

IETF Transport Area Director & TSVWG Chair
----------------------------------------------------------------------
Multimedia Technologies, Ericsson Research EAB/TVM
----------------------------------------------------------------------
Ericsson AB                | Phone +46 8 4048287
Färögatan 6                | Fax   +46 8 7575550
S-164 80 Stockholm, Sweden | mailto: [email-masked]
----------------------------------------------------------------------
<?xml version="1.0" encoding="US-ASCII"?>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd">
<?rfc toc="yes"?>
<?rfc strict="yes"?>
<?rfc tocompact="yes"?>
<?rfc compact="yes"?>
<?rfc subcompact="no"?>
<?rfc tocdepth="2"?>
<?rfc symrefs="yes"?>
<?rfc comments="yes" ?>
<!--<?rfc rfcedstyle="yes"?>-->
<?rfc sortrefs="yes" ?>
<rfc category="bcp" docName="draft-ietf-tsvwg-iana-ports-00" ipr="full3978"
     updates="2780, 4340">
  <front>
    <title abbrev="IANA Port Number Space Procedures">IANA Procedures for the
    Transport Protocol Port Number Space</title>

      <address>
        <postal>

          <code>90292</code>

          <region>CA</region>

          <country>USA</country>
        </postal>

      <address>
        <postal>

          <code>00045</code>

          <city>Nokia Group</city>

      <address>
        <postal>

          <city>Arlington</city>

          <region>VA</region>

          <code>22230</code>

          <country>USA</country>
        </postal>

      <address>
        <postal>

          <city>Stockholm</city>

          <code>164 80</code>

    <author fullname="Joe Touch" initials="J." surname="Touch">
      <organization>USC/ISI</organization>

      <address>
        <postal>
          <street>4676 Admiralty Way</street>

          <code>90292</code>

          <region>CA</region>

          <country>USA</country>
        </postal>

        <phone>+1 310 448 9151</phone>

        <email>[email-masked]</email>

        <uri>http://www.isi.edu/touch</uri>
      </address>
    </author>

    <date year="2008" />

    <keyword>IANA</keyword>

    <keyword>ports</keyword>

    <abstract>
      <t>This document defines the IANA procedures for registering port number
      values for use with the various IETF transport protocols, including TCP,
      UDP, DCCP, and SCTP. It provides clear procedures for the management of
      the port number registry, which is important for its long-term
      management. It updates RFC2780 by obsoleting Sections 8 and 9.1 of that
      RFC, and it updates the IANA allocation procedures for DCCP as defined
      in RFC4340.</t>
    </abstract>
  </front>

  <middle>
    <section anchor="intro" title="Introduction">
      <t>The Transmission Control Protocol (TCP) <xref
      target="RFC0793"></xref> and the User Datagram Protocol (UDP) <xref
      target="RFC0768"></xref> have enjoyed a remarkable success over the
      decades as the two most widely used transport protocols on the Internet.
      They have introduced the concept of "ports" as logical entities for
      Internet communication. Ports serve two purposes: first, they provide a
      demultiplexing identifier to differentiate transport sessions between
      the same pair of endpoints, and second, they also identify the
      application protocol and associated service to which processes bind
      <xref target="I-D.touch-tsvwg-port-guidelines"></xref>. Newer transport
      protocols, such as the Stream Control Transmission Protocol (SCTP) <xref
      target="RFC4960"></xref> and the Datagram Congestion Control Protocol
      (DCCP) <xref target="RFC4342"></xref> have adopted the concept of ports
      for their communication sessions and use port numbers in the same way as
      TCP and UDP.</t>

      <t>Port numbers are the original and most widely used means for
      application and service identification on the Internet. Ports are 16-bit
      numbers, and the combination of source and destination port numbers
      together with the IP addresses of the communicating end systems uniquely
      identifies a session of a given transport protocol. Port numbers are
      also known by their corresponding service names, such as "telnet" for
      port number 23 and "http" for port number 80.</t>

      <t>Hosts running services, hosts accessing services on other hosts, and
      intermediate devices (such as firewalls and NATs) that restrict services
      need to agree on which service corresponds to a particular destination
      port. Although this can be a local decision between the endpoints of a
      connection, most Internet components use a single, shared view of this
      association, provided by the Internet Assigned Numbers Authority (IANA)
      through the port number registry <xref target="REGISTRY"></xref>.</t>

      <t>Designers of applications and application-level protocols may apply
      to IANA for a registered port number for a specific application, and may
      - after successful registration - assume that no other application will
      use that port number for its communication sessions. It is important to
      note that ownership of registered port numbers remains with IANA. For
      many years, the allocation and registration of new port number values
      for use with TCP and UDP have had less than clear guidelines.
      Information about the registration procedures for the port namespace
      existed in three locations: the forms for requesting port number
      registrations on the IANA web site <xref target="SYSFORM"></xref><xref
      target="USRFORM"></xref>, an introductory text section in the file
      listing the port number registrations themselves <xref
      target="REGISTRY"></xref>, and two brief sections of <xref
      target="RFC2780"></xref>.</t>

      <t>A second purpose of this document is to describe the principles that
      guide the IETF and IANA in their role as the long-term joint stewards of
      the port number space. TCP and UDP have been a remarkable success over
      the last decades. Thousands of applications and application-level
      protocols have registered ports for their use, and there is every reason
      to believe that this trend will continue into the future. It is hence
      extremely important that management of the port number space follow
      principles that ensure its long-term usefulness as a shared resource.
      <xref target="principles"></xref> discusses these principles in detail.
      Guidelines for users seeking port numbers, as well as a detailed history
      of the port number registry and alternate means for coordinating host
      agreement on service-to-port-number mappings, is provided in a <xref
      target="I-D.touch-tsvwg-port-guidelines">companion document</xref>.</t>

      <t><!--Unsure how to handle the following paragraph...O-->This document
      also addresses two technical issues related to the ports registry that
      are tangential to long-term stewardship. First, it clarifies that a
      method for the early allocation of port numbers is available for IETF
      working groups, in line with <xref target="RFC4020"></xref>. Second, it
      discusses how the use of symbolic names for assigned ports (the
      "keyword" field in <xref target="REGISTRY"></xref>) for Service Resource
      Records (SRV RRs) in the Domain Name System (DNS) <xref
      target="RFC2782"></xref> relates to the use of SRV RRs for applications
      without an assigned port.</t>

      <t>This document updates <xref target="RFC2780"></xref> by obsoleting
      Sections 8 and 9.1 of that RFC. Note that <xref target="RFC5237"></xref>
      updates a different subset of the IANA allocation guidelines originally
      given in <xref target="RFC2780"></xref> (specifically, the policies on
      the namespace of the IP protocol number and IPv6 next header).</t>
    </section>

      <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",

    <section anchor="types" title="Port Number Types">
      <t>TCP, UDP, SCTP and DCCP use 16-bit namespaces for their port number
      registries. The port registries for all these transport protocols are
      subdivided into three ranges of numbers, and <xref
      target="requests"></xref> describes the IANA procedures for each range
      in detail: <list style="symbols">
          <t>the Well Known Ports, i.e., the System Ports, from 0-1023
          (assigned by IANA)</t>

      <t>Of the assignable port ranges (Well Known and Registered, i.e., port
      numbers 0-49151), individual port numbers are in one of three states at
      any given time:</t>

      <t><list style="numbers">
          <t>Assigned: Assigned port numbers are currently allocated to the
          service indicated in the registry.</t>

          <t>Unassigned: Unassigned port numbers are currently available for
          assignment upon request, as per the procedures outlined in this
          document.</t>

          <t>Reserved: Reserved port numbers are not available for regular
          assignment; they are "assigned to IANA" for special purposes.
          Reserved port numbers include values at the edges of each range,
          e.g., 0, 1023, 1024, etc., which may be used to extend these ranges
          or the overall port number space in the future.</t>
        </list></t>

      <t>When this document was written, approximately 76% of the TCP and UDP
      Well Known Ports were assigned, as were a significant fraction of the
      Registered Ports. (As noted, Dynamic Ports are never assigned.)</t>

      <section anchor="exp" title="Assigned Port Numbers for Experimentation">
        <t>Of the Registered Ports, two TCP and UDP port numbers (1021 and
        1022) have been assigned for experimentation with new applications and
        application-layer protocols that require a port number in the
        Registered Ports range <xref target="RFC4727"></xref>. <cref
        anchor="sctp-dccp-exp" source="Lars">This document should register
        ports 1021 and 1022 for DCCP and SCTP.</cref></t>

        <t>The experimental ports 1021 and 1022 SHOULD be used for local
        experiments only in controlled environments, and they SHOULD NOT be
        used on the global Internet. Many new applications and
        application-layer protocols can be experimented with without requiring
        a port in the Registered Ports range, and port numbers in the Dynamic
        Ports range can be also used.</t>

        <t>Unfortunately, it can be difficult to limit access to these ports.
        Users SHOULD take measures to ensure that experimental ports are
        connecting to the intended process. For example, users of these
        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 byte-stream (e.g., TCP), which is used to confirm that the port is
        being used as intended. Such confirmation of intended use is
        especially important when these ports are associated with privileged
        (e.g., system or administrator) processes.</t>
      </section>
    </section>

    <section anchor="principles"
             title="Principles for Port Number Space Management">
      <t>Management procedures for the port number space include allocation of
      port numbers upon request, as well as coordination of information about
      existing allocations. The latter includes maintaining contact and
      description information about assigned ports, revoking abandoned ports,
      and redefining port allocations when needed. Of these procedures, port
      number allocation is most critical, because of the limited number of
      remaining port numbers.</t>

      <t>Before the publication of this document, the principles of port
      number space allocation followed some simple, undocumented
      guidelines:</t>

          <t>SCTP and DCCP port number and service name spaces were managed
          separately from the TCP/UDP spaces</t>
        </list>This document attempts to update these guidelines to more
      conservatively manage the limited remaining TCP and UDP port number
      spaces, recognizes the potential use of service names in the absence of
      corresponding port number allocations, such as in SCTP and DCCP.</t>

      <t>The basic principle of port number registry management is to conserve
      the space where possible. Extensions to support larger port number
      spaces would require changing many core protocols of the current
      Internet in a way that would not be backward compatible and interfere
      with both current and legacy applications.</t>

      <t>Port numbers are intended to indicate a service and enable process
      demultiplexing at an endpoint; uses beyond those basic requirements
      should be avoided <xref
      target="I-D.touch-tsvwg-port-guidelines"></xref>. This document also
      focuses on service names as a unique identifier, to increase the space
      available (from 4 bytes to 14), and to enable their use in the absence
      of corresponding port number assignments.</t>

        <t>Conservation of the port number space recognizes that because this
        space is a limited resource, applications are expected to participate
        in the demultiplexing process where feasible. The port numbers are
        expected to encode as little information as possible that will enable
        an application to perform further demultiplexing by itself. In
        particular, there should be:</t>

        <t><list style="symbols">
            <t>only one port per service</t>

            <t>one port for all versions of a service</t>

            <t>the same port for different types of devices using the same
            service</t>
          </list>A given service is expected to further demultiplex messages
        where possible. For example, applications and protocols are expected
        to include in-band version information, so that future versions of the
        application or protocol can share the same allocated port.
        Applications and protocols are also expected to be able to efficiently
        use a single allocated port, either by demultiplexing multiple streams
        within one port, or using the allocated port to coordinate using
        dynamic ports for subsequent exchanges (e.g., in the spirit of FTP
        <xref target="RFC0959"></xref>).</t>

        <t>These principles of port conservation are explained in <xref
        target="I-D.touch-tsvwg-port-guidelines"></xref>. That document
        explains in further detail how ports are used in various ways,
        notably:</t>

            <t>Firewall filtering</t>
          </list>The process and protocol identifier use suggests that
        anything a single process can demultiplex, or that can be encoded into
        a single protocol, should be. The firewall filtering use suggests that
        some uses that could be de-multiplexed or encoded must be separated to
        allow for firewall management. Note that this latter use is much less
        sound, because port numbers have meaning only for the two endpoints of
        a connection (again, as discussed in detail in <xref
        target="I-D.touch-tsvwg-port-guidelines"></xref>).</t>
      </section>

      <section title="Principles Specific to Individual Port Number Ranges">
        <t>It is important to note that different IANA procedures apply to
        different ranges of the port number registry. <xref
        target="requests"></xref> discusses the details of these procedures;
        this section outlines the rationale for these differences:<list
            style="symbols">
            <t>Ports in the Dynamic Ports range (49152-65535) have been
            specifically set aside for local and dynamic use and cannot be
            registered through IANA. Applications may simply use them for
            communication without any sort of registration. On the other hand,
            applications MUST NOT assume that a specific port number in the
            Dynamic Ports range will always be available for communication at
            all times, and a port number in that range hence MUST NOT be used
            as a service identifier.</t>

            for registration through IANA, and MAY be used as service
            documentation MUST explain why a port number in the Dynamic Ports

            <t>Ports in the Well Known Ports range (0-1023) are also available
            for registration through IANA. Because the Well Known Ports range
            is both the smallest and the most densely allocated one, the bar
            for new allocations is higher than that for the Registered Ports
            range (1024-49551). A request for a Well Known port number MUST
            document why a port number in the Registered Ports or Dynamic
            Ports ranges is unsuitable.</t>
          </list></t>
      </section>

        <t><list style="symbols">
            <t>IANA will allocate port numbers only to the transport protocols
            requested</t>

            <t>IANA will recover unused port numbers, via the new procedures
            of de-registration, revocation, and transfer</t>
          </list></t>

        <t>IANA will begin assigning protocol numbers only for those transport
        protocols explicitly included in a registration request. This ends the
        long-standing practice of automatically assigning a port number to an
        application for both TCP and a UDP, even if the request is only for
        one of these transport protocols. The new allocation procedure
        conserves resources by only allocating a port number to an application
        for those transport protocols (TCP, UDP, SCTP and/or DCCP) it actually
        uses. The port number will be marked as reserved - instead of assigned
        - in the port number registries of the other transport protocols. When
        applications start supporting the use of some of those additional
        transport protocols, they must request IANA to convert the reservation
        into an assignment. An application MUST NOT assume that it can use a
        port number assigned to it for use with one transport protocol with
        another transport protocol without another registration with IANA. The
        reason for this procedure is to allow allocation of reserved port
        numbers on the day the range has no more unassigend values.<cref
        anchor="port-reserv">The usage of for the above reason reserved port
        numbers should probably not have the same rules as the other reserved
        ports. Needs discussion if we should separate this properly. I think
        the IETF consultation part will make it difficult the day one registry
        runs out of unassigned ones.</cref> </t>

        <t>Conservation for the port numbers registry is improved by
        procedures that allow previously allocated port numbers to become
        unassigned, either through de-registration or through revocation, and
        by a procedure that lets application designers transfer an allocated
        but unused port number to a new application. <xref
        target="iana-procedures"></xref> describes these procedures, which so
        far were undocumented.</t>
      </section>
    </section>

      <section anchor="registration" title="Port Number Registration">
        <t>Registration refers to the allocation of port numbers to
        applicants. All such registrations are made from port numbers that are
        Unassigned or Reserved at the tine of the allocation. Unassigned
        numbers are allocated as needed, and without further explanation.
        Reserved numbers are assigned only after review by IANA and the IETF,
        and are accompanied by a statement explaining the reason a reserved
        number is appropriate for this action.</t>

        <t>When a registration for one or more (but not all) transport
        protocols is approved, the port number for the non-requested transport
        protocol(s) will remain unassigned but is marked as reserved. However,
        IANA SHOULD NOT assign that port number to any other application or
        service until no port numbers remain unassigned in the request range.
        The current registration owner of a port number MAY register the same
        port number for other transport protocols when needed.</t>

        <t><list style="hanging">
            <t hangText="Registration Contact:">Name and email address of the
            contact person for the registration. This is REQUIRED. Additional
            address information MAY be provided. For registrations done
            through IETF-published RFCs, one or more technical contact persons
            SHALL be provided. In addition, in this case the registration
            ownership will belong to the IETF and not the technical contact
            persons.</t>

            <t hangText="Transport Protocol:">The transport protocol(s) for
            which the port allocation is requested, currently limited to one
            or more of TCP, UDP, SCTP, and DCCP</t>

            <t hangText="Port Number:">The currently unassigned port number(s)
            the requester suggests for allocation. If specified and when
            possible, IANA is encouraged to allocate the suggested number. If
            not specified, IANA will choose a suitable number from the
            Registered Ports range.</t>

            <t hangText="Broadcast, Multicast or Anycast:">Indicates whether
            the protocol supports either broadcast, multicast or anycast
            network layer addresses.</t>

            <t hangText="Service Name:">This short name for the port number,
            used in various service selection and discovery mechanisms,
            currently including TCPMUX <xref target="RFC1078"></xref> and DNS
            SRV resource records <xref target="RFC2782"></xref>. This name is
            limited to 14 bytes, case-insensitive US-ASCII letters, digits,
            and dashes. It MUST NOT conflict with already allocated names in
            the service name registry <cref anchor="serv-nam-reg"
            source="Lars">Add citation to the service name registry draft,
            when it exists</cref>.</t>

            <t hangText="Reference:">A reference document describing the
            protocol or application using this port. For registration requests
            for Registered Ports, this documentation MUST explain why a port
            number in the Dynamic Ports range is unsuitable for the given
            application. For registration requests for Well Known Ports, this
            documentation MUST explain why a port number in the Registered
            Ports or Dynamic Ports ranges is unsuitable.</t>
          </list>The following rules apply to the port number registry
        database maintained by IANA: <cref anchor="database-rules"
        source="Lars">Some of these rules below allow entries that aren't in
        full alignment with the procedures in this document. I assume that is,
        because the rules attempt to describe the state of the IANA database
        including all existing entries? If so, we should make that
        clearer.</cref></t>

            <t>Port Number MUST exist for TCP and UDP; it MAY exist for SCTP
            and DCCP</t>

            <t>Service Code MUST NOT occur for TCP, UDP or SCTP, and MUST
            occur for DCCP</t>

      <section anchor="deregistration" title="Port Number De-Registration">
        <t>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
        need for it. The port number will be de-registered and will be marked
        as reserved <cref anchor="res-vs-unass" source="Lars">This used to say
        "unassigned" instead of "reserved". I suggest "reserved", so that IANA
        has an indication in their list that they need to be careful when
        re-assigning a previously de-registered port.</cref> IANA should not
        re-assign port numbers that have been de-registered until all other
        available port numbers in the specific range have been assigned.</t>

      <section anchor="revocation" title="Port Number Revocation">
        <t>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
        <cref anchor="res-vs-unass2" source="Lars">See [res-vs-unass].</cref>
        But at other times, it may be unclear whether a given assigned port
        number is still in use somewhere in the Internet. In those cases,
        despite the requester's wish to de-register, IANA must consider the
        consequences that de-registering the port number.</t>

        <t>With the help of their IESG-appointed Expert Reviewer, IANA SHALL
        formulate a request to the IESG to issue a four-week community call
        concerning the pending port number revocation. The IESG and IANA, with
        the Expert Reviewer's support, SHALL determine promptly after the end
        of the community call whether revocation should proceed and then
        communicate their decision to the community. This procedure typically
        involves similar steps to de-registration except that it is initiated
        by IANA.</t>
      </section>

      <section anchor="transfer" title="Port Number Transfer">
        <t>The value of port numbers is defined by their careful management as
        a shared Internet resource, whereas enabling transfer allows the
        potential for associated monetary exchanges to motivate this
        management. As a result, current IANA procedures do not permit port
        number assignments to be transferred between parties, even when they
        are mutually consenting. The appropriate alternate procedure is for
        the new party to request its own port number registration and for the
        previous party to release its registration via the de-registration
        procedure outlined above.</t>
      </section>

      <section title="Request Procedure">
        <t>All registration requests for a TCP, SCTP, DCCP and/or UDP ports
        must contain the following pieces of information:</t>

            <t hangText="Port Range:">Indicates the port range desired (i.e.,
            Well Known Ports or Registered Ports).</t>

            <t hangText="Requested Action:">One of REGISTER, DEREGISTER,
            REUSE, SVC_NAME_CHANGE, or UPDATE_INFO (port name, registration
            contact).</t>

        <t>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 or by programs executed by privileged users. Registration
        requests for a Well Known port number MUST follow the "IETF Review"
        policy of <xref target="RFC5226"></xref>. Registrations for a port
        number in this range MUST document why a port number in the Registered
        Ports range will not fulfill the application needs.</t>

        <xref target="RFC5226"></xref>.</t>
      </section>
    </section>

    <section anchor="seccons" title="Security Considerations">
      <t>The IANA guidelines described in this document do not change the
      security properties of either TCP, SCTP, DCCP or UDP.</t>

      <t>IANA should take immediate actions to resolve inconsistencies raised
      by requirements of this document.<!--, notably [UNIQUE KEYS].--></t>

    <section anchor="ack" title="Acknowledgments">
      <t>The text in <xref target="dccp"></xref> is based on a suggestion by
      Tom Phelan.</t>

  <!-- REFERENCE TEMPLATE

                      </author>

  <back>

      <?rfc include="reference.RFC.4340" ?>

      <?rfc include="reference.RFC.5226" ?>
    </references>

    <references title="Informative References">
      <?rfc include="reference.RFC.0959" ?>

      <?rfc include="reference.RFC.5237" ?>

      <reference anchor="I-D.touch-tsvwg-port-guidelines">
        <front>
          <title>Guidelines for Transport Port Use</title>

          <author fullname="Joe Touch" initials="J" surname="Touch">
            <organization></organization>
          </author>

          <date month="July" year="2008" />
        </front>

        <seriesInfo name="" value="Work in Progress" />
      </reference>

        <seriesInfo name=""

        <seriesInfo name=""

        <seriesInfo name=""

          <author>
            <organization />
          </author>
        </front>

    <section anchor="dccp" title="Updates to DCCP Registries">
      <t>This document updates the IANA allocation procedures for the DCCP
      Port Number and DCCP Service Codes Registries as defined in <xref
      target="RFC4340"></xref>.</t>

      <section title="DCCP Service Code Registry">
        <t>Service Codes are allocated first-come-first-served according to
        Section 19.8 of <xref target="RFC4340"></xref>. This document updates
        Section 19.8 of <xref target="RFC4340"></xref> by extending the
        guidelines given there in the following ways:</t>

        <t><list style="symbols">
            <t>IANA MAY assign new Service Codes without seeking Expert Review
            using their discretion, but SHOULD seek expert review when a
            request seeks an appreciable number of Service Codes (e.g., more
            than five).</t>

            <t>IANA should feel free to contact the DCCP Expert Reviewer with
            questions on any registry, regardless of the registry policy, for
            clarification or if there is a problem with a request <xref
            target="RFC4340"></xref>.</t>
          </list></t>
      </section>

      <section title="DCCP Port Numbers Registry">
        <t>The DCCP ports registry is defined by <xref
        target="RFC4340"></xref> in Section 19.9. Allocations in this registry
        require prior allocation of a Service Code. Not all Service Codes
        require IANA-registered ports. This document updates Section 19.9 of
        <xref target="RFC4340"></xref> by extending the guidelines given there
        in the following way:</t>

        <t><list style="symbols">
            <t>IANA should normally assign a value in the range 1024-49151 to
            a DCCP server port. IANA allocation requests to allocate port
            numbers in the Well Known Ports range (0 through 1023), require
            IETF Action prior to allocation by IANA <xref
            target="RFC4340"></xref>.</t>
          </list></t>

        <t>Section 19.9 of <xref target="RFC4340"></xref> requires each DCCP
        server port assignment to be associated with at least one Service Code
        value. This document updates <xref target="RFC4340"></xref> in the
        following way:</t>

        <t><list style="symbols">
            <t>IANA MUST NOT allocate a single Service Code value to more than
            one DCCP server port.</t>

            <t>The set of Service Code values associated with a DCCP server
            port should be recorded in the ports registry.</t>

            <t>A request for additional Service Codes to be associated with an
            already allocated Port Number requires Expert Review. These
            requests will normally be accepted when they originate from the
            contact associated with the port registration. In other cases,
            these applications will be expected to use an unallocated port,
            when this is available.</t>
          </list></t>

        <t><xref target="RFC4340"></xref> notes that a short port name MUST be
        associated with each DCCP server port that has been registered. This
        document requires that this name MUST be unique.</t>
      </section>
    </section>
  </back>
</rfc>

Transport Area Working Group                                   M. Cotton
Internet-Draft                                                     ICANN
Updates: 2780, 4340                                            L. Eggert
(if approved)                                                      Nokia
Intended status: BCP                                           A. Mankin
Expires: January 8, 2009                                             NSF
                                                           M. Westerlund
                                                                Ericsson
                                                                J. Touch
                                                                 USC/ISI
                                                            July 7, 2008

      IANA Procedures for the Transport Protocol Port Number Space
                     draft-ietf-tsvwg-iana-ports-00

Status of this Memo

   By submitting this Internet-Draft, each author represents that any
   applicable patent or other IPR claims of which he or she is aware
   have been or will be disclosed, and any of which he or she becomes
   aware will be disclosed, in accordance with Section 6 of BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF), its areas, and its working groups.  Note that
   other groups may also distribute working documents as Internet-
   Drafts.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   The list of current Internet-Drafts can be accessed at
   http://www.ietf.org/ietf/1id-abstracts.txt.

   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html.

   This Internet-Draft will expire on January 8, 2009.

Abstract

   This document defines the IANA procedures for registering port number
   values for use with the various IETF transport protocols, including
   TCP, UDP, DCCP, and SCTP.  It provides clear procedures for the
   management of the port number registry, which is important for its
   long-term management.  It updates RFC2780 by obsoleting Sections 8

Cotton, et al.           Expires January 8, 2009                [Page 1]

Internet-Draft      IANA Port Number Space Procedures          July 2008

   and 9.1 of that RFC, and it updates the IANA allocation procedures
   for DCCP as defined in RFC4340.

Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  3
   2.  Terminology  . . . . . . . . . . . . . . . . . . . . . . . . .  5
   3.  Port Number Types  . . . . . . . . . . . . . . . . . . . . . .  5
     3.1.  Assigned Port Numbers for Experimentation  . . . . . . . .  6
   4.  Principles for Port Number Space Management  . . . . . . . . .  6
     4.1.  Basic Principles of Port Conservation  . . . . . . . . . .  7
     4.2.  Principles Specific to Individual Port Number Ranges . . .  8
     4.3.  New Principles . . . . . . . . . . . . . . . . . . . . . .  9
   5.  IANA Procedures for Managing the Port Number Space . . . . . . 10
     5.1.  Port Number Registration . . . . . . . . . . . . . . . . . 10
     5.2.  Port Number De-Registration  . . . . . . . . . . . . . . . 12
     5.3.  Port Number Re-Use . . . . . . . . . . . . . . . . . . . . 12
     5.4.  Port Number Revocation . . . . . . . . . . . . . . . . . . 12
     5.5.  Port Number Transfer . . . . . . . . . . . . . . . . . . . 13
     5.6.  Maintenance Issues . . . . . . . . . . . . . . . . . . . . 13
   6.  Port Number Space Requests . . . . . . . . . . . . . . . . . . 13
     6.1.  Request Procedure  . . . . . . . . . . . . . . . . . . . . 13
   7.  Security Considerations  . . . . . . . . . . . . . . . . . . . 14
   8.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 14
   9.  Acknowledgments  . . . . . . . . . . . . . . . . . . . . . . . 15
   10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 15
     10.1. Normative References . . . . . . . . . . . . . . . . . . . 15
     10.2. Informative References . . . . . . . . . . . . . . . . . . 15
   Editorial Comments . . . . . . . . . . . . . . . . . . . . . . . .
   Appendix A.  Updates to DCCP Registries  . . . . . . . . . . . . . 17
     A.1.  DCCP Service Code Registry . . . . . . . . . . . . . . . . 17
     A.2.  DCCP Port Numbers Registry . . . . . . . . . . . . . . . . 17
   Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 18
   Intellectual Property and Copyright Statements . . . . . . . . . . 20

Cotton, et al.           Expires January 8, 2009                [Page 2]

Internet-Draft      IANA Port Number Space Procedures          July 2008

1.  Introduction

   The Transmission Control Protocol (TCP) [RFC0793] and the User
   Datagram Protocol (UDP) [RFC0768] have enjoyed a remarkable success
   over the decades as the two most widely used transport protocols on
   the Internet.  They have introduced the concept of "ports" as logical
   entities for Internet communication.  Ports serve two purposes:
   first, they provide a demultiplexing identifier to differentiate
   transport sessions between the same pair of endpoints, and second,
   they also identify the application protocol and associated service to
   which processes bind [I-D.touch-tsvwg-port-guidelines].  Newer
   transport protocols, such as the Stream Control Transmission Protocol
   (SCTP) [RFC4960] and the Datagram Congestion Control Protocol (DCCP)
   [RFC4342] have adopted the concept of ports for their communication
   sessions and use port numbers in the same way as TCP and UDP.

   Port numbers are the original and most widely used means for
   application and service identification on the Internet.  Ports are
   16-bit numbers, and the combination of source and destination port
   numbers together with the IP addresses of the communicating end
   systems uniquely identifies a session of a given transport protocol.
   Port numbers are also known by their corresponding service names,
   such as "telnet" for port number 23 and "http" for port number 80.

   Hosts running services, hosts accessing services on other hosts, and
   intermediate devices (such as firewalls and NATs) that restrict
   services need to agree on which service corresponds to a particular
   destination port.  Although this can be a local decision between the
   endpoints of a connection, most Internet components use a single,
   shared view of this association, provided by the Internet Assigned
   Numbers Authority (IANA) through the port number registry [REGISTRY].

   Designers of applications and application-level protocols may apply
   to IANA for a registered port number for a specific application, and
   may - after successful registration - assume that no other
   application will use that port number for its communication sessions.
   It is important to note that ownership of registered port numbers
   remains with IANA.  For many years, the allocation and registration
   of new port number values for use with TCP and UDP have had less than
   clear guidelines.  Information about the registration procedures for
   the port namespace existed in three locations: the forms for
   requesting port number registrations on the IANA web site
   [SYSFORM][USRFORM], an introductory text section in the file listing
   the port number registrations themselves [REGISTRY], and two brief
   sections of [RFC2780].

   This document aggregates this scattered information into a single
   reference and at the same time clarifies the guidelines for the

Cotton, et al.           Expires January 8, 2009                [Page 3]

Internet-Draft      IANA Port Number Space Procedures          July 2008

   management of the port number space.  It gives more detailed guidance
   to prospective requesters of ports than the existing documentation,
   and it streamlines the IANA procedures for the management of the port
   number space, so that management requests can complete in a timely
   manner.  A key factor of this streamlining is to establish identical
   registration procedures for transport protocol ports, independent of
   a specific transport protocol.  This document brings the IANA
   procedures for TCP and UDP in line with those already in effect for
   SCTP and DCCP, resulting in a single process that requesters and IANA
   follow for all port number requests for all transport protocols,
   including those not yet defined.

   A second purpose of this document is to describe the principles that
   guide the IETF and IANA in their role as the long-term joint stewards
   of the port number space.  TCP and UDP have been a remarkable success
   over the last decades.  Thousands of applications and application-
   level protocols have registered ports for their use, and there is
   every reason to believe that this trend will continue into the
   future.  It is hence extremely important that management of the port
   number space follow principles that ensure its long-term usefulness
   as a shared resource.  Section 4 discusses these principles in
   detail.  Guidelines for users seeking port numbers, as well as a
   detailed history of the port number registry and alternate means for
   coordinating host agreement on service-to-port-number mappings, is
   provided in a companion document [I-D.touch-tsvwg-port-guidelines].

   In addition to detailing the IANA procedures for the initial
   assignment of port numbers, this document also specifies post-
   assignment procedures that until now have been handled in an ad hoc
   manner.  These include procedures to de-register a port number that
   is no longer in use, to re-use a port number allocated for one
   application that is no longer in use for another application, and
   procedure by which IANA can unilaterally revoke a prior port number
   registration.  Section 5 discusses the specifics of these procedures.

   This document also addresses two technical issues related to the
   ports registry that are tangential to long-term stewardship.  First,
   it clarifies that a method for the early allocation of port numbers
   is available for IETF working groups, in line with [RFC4020].
   Second, it discusses how the use of symbolic names for assigned ports
   (the "keyword" field in [REGISTRY]) for Service Resource Records (SRV
   RRs) in the Domain Name System (DNS) [RFC2782] relates to the use of
   SRV RRs for applications without an assigned port.

   This document updates [RFC2780] by obsoleting Sections 8 and 9.1 of
   that RFC.  Note that [RFC5237] updates a different subset of the IANA
   allocation guidelines originally given in [RFC2780] (specifically,
   the policies on the namespace of the IP protocol number and IPv6 next

Cotton, et al.           Expires January 8, 2009                [Page 4]

Internet-Draft      IANA Port Number Space Procedures          July 2008

   header).

2.  Terminology

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in BCP 14, RFC 2119
   [RFC2119].

3.  Port Number Types

   TCP, UDP, SCTP and DCCP use 16-bit namespaces for their port number
   registries.  The port registries for all these transport protocols
   are subdivided into three ranges of numbers, and Section 6 describes
   the IANA procedures for each range in detail:

   o  the Well Known Ports, i.e., the System Ports, from 0-1023
      (assigned by IANA)

   o  the Registered Ports, i.e., the User Ports, from 1024-49151
      (assigned by IANA)

   o  the Dynamic Ports, i.e., the Private Ports, from 49152-65535
      (never assigned)

   Of the assignable port ranges (Well Known and Registered, i.e., port
   numbers 0-49151), individual port numbers are in one of three states
   at any given time:

   1.  Assigned: Assigned port numbers are currently allocated to the
       service indicated in the registry.

   2.  Unassigned: Unassigned port numbers are currently available for
       assignment upon request, as per the procedures outlined in this
       document.

   3.  Reserved: Reserved port numbers are not available for regular
       assignment; they are "assigned to IANA" for special purposes.
       Reserved port numbers include values at the edges of each range,
       e.g., 0, 1023, 1024, etc., which may be used to extend these
       ranges or the overall port number space in the future.

   When this document was written, approximately 76% of the TCP and UDP
   Well Known Ports were assigned, as were a significant fraction of the
   Registered Ports.  (As noted, Dynamic Ports are never assigned.)

Cotton, et al.           Expires January 8, 2009                [Page 5]

Internet-Draft      IANA Port Number Space Procedures          July 2008

3.1.  Assigned Port Numbers for Experimentation

   Of the Registered Ports, two TCP and UDP port numbers (1021 and 1022)
   have been assigned for experimentation with new applications and
   application-layer protocols that require a port number in the
   Registered Ports range [RFC4727]. [sctp-dccp-exp]

   The experimental ports 1021 and 1022 SHOULD be used for local
   experiments only in controlled environments, and they SHOULD NOT be
   used on the global Internet.  Many new applications and application-
   layer protocols can be experimented with without requiring a port in
   the Registered Ports range, and port numbers in the Dynamic Ports
   range can be also used.

   Unfortunately, it can be difficult to limit access to these ports.
   Users SHOULD take measures to ensure that experimental ports are
   connecting to the intended process.  For example, users of these
   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 byte-stream (e.g., TCP), which is used to confirm that the port
   is being used as intended.  Such confirmation of intended use is
   especially important when these ports are associated with privileged
   (e.g., system or administrator) processes.

4.  Principles for Port Number Space Management

   Management procedures for the port number space include allocation of
   port numbers upon request, as well as coordination of information
   about existing allocations.  The latter includes maintaining contact
   and description information about assigned ports, revoking abandoned
   ports, and redefining port allocations when needed.  Of these
   procedures, port number allocation is most critical, because of the
   limited number of remaining port numbers.

   Before the publication of this document, the principles of port
   number space allocation followed some simple, undocumented
   guidelines:

   o  TCP and UDP ports were simultaneously allocated when either was
      requested

   o  Port numbers were the primary allocation; service names were
      informative only, and did not need to be unique

   o  Port numbers were conserved informally, and sometimes
      inconsistently (e.g., some services were allocated ranges of many
      port numbers even where not strictly necessary)

Cotton, et al.           Expires January 8, 2009                [Page 6]

Internet-Draft      IANA Port Number Space Procedures          July 2008

   o  SCTP and DCCP port number and service name spaces were managed
      separately from the TCP/UDP spaces

   This document attempts to update these guidelines to more
   conservatively manage the limited remaining TCP and UDP port number
   spaces, recognizes the potential use of service names in the absence
   of corresponding port number allocations, such as in SCTP and DCCP.

   The basic principle of port number registry management is to conserve
   the space where possible.  Extensions to support larger port number
   spaces would require changing many core protocols of the current
   Internet in a way that would not be backward compatible and interfere
   with both current and legacy applications.

   Port numbers are intended to indicate a service and enable process
   demultiplexing at an endpoint; uses beyond those basic requirements
   should be avoided [I-D.touch-tsvwg-port-guidelines].  This document
   also focuses on service names as a unique identifier, to increase the
   space available (from 4 bytes to 14), and to enable their use in the
   absence of corresponding port number assignments.

4.1.  Basic Principles of Port Conservation

   This section summarizes the basic principles by which IANA attempts
   to conserve the port number space.  This description is intended to
   inform applicants requesting port numbers.  IANA decisions are not
   required to be bound to these principles, however; other factors may
   come into play, and exceptions may occur where deemed in the best
   interest of the Internet.

   Conservation of the port number space recognizes that because this
   space is a limited resource, applications are expected to participate
   in the demultiplexing process where feasible.  The port numbers are
   expected to encode as little information as possible that will enable
   an application to perform further demultiplexing by itself.  In
   particular, there should be:

   o  only one port per service

   o  one port for all versions of a service

   o  the same port for different types of devices using the same
      service

   A given service is expected to further demultiplex messages where
   possible.  For example, applications and protocols are expected to
   include in-band version information, so that future versions of the
   application or protocol can share the same allocated port.

Cotton, et al.           Expires January 8, 2009                [Page 7]

Internet-Draft      IANA Port Number Space Procedures          July 2008

   Applications and protocols are also expected to be able to
   efficiently use a single allocated port, either by demultiplexing
   multiple streams within one port, or using the allocated port to
   coordinate using dynamic ports for subsequent exchanges (e.g., in the
   spirit of FTP [RFC0959]).

   These principles of port conservation are explained in
   [I-D.touch-tsvwg-port-guidelines].  That document explains in further
   detail how ports are used in various ways, notably:

   o  Endpoint process identifier

   o  Application protocol identifier

   o  Firewall filtering

   The process and protocol identifier use suggests that anything a
   single process can demultiplex, or that can be encoded into a single
   protocol, should be.  The firewall filtering use suggests that some
   uses that could be de-multiplexed or encoded must be separated to
   allow for firewall management.  Note that this latter use is much
   less sound, because port numbers have meaning only for the two
   endpoints of a connection (again, as discussed in detail in
   [I-D.touch-tsvwg-port-guidelines]).

4.2.  Principles Specific to Individual Port Number Ranges

   It is important to note that different IANA procedures apply to
   different ranges of the port number registry.  Section 6 discusses
   the details of these procedures; this section outlines the rationale
   for these differences:

   o  Ports in the Dynamic Ports range (49152-65535) have been
      specifically set aside for local and dynamic use and cannot be
      registered through IANA.  Applications may simply use them for
      communication without any sort of registration.  On the other
      hand, applications MUST NOT assume that a specific port number in
      the Dynamic Ports range will always be available for communication
      at all times, and a port number in that range hence MUST NOT be
      used as a service identifier.

   o  Ports in the Registered Ports range (1024-49151) are available for
      registration through IANA, and MAY be used as service identifiers
      upon successful registration.  Because registering a port number
      for a specific application consumes a fraction of the shared
      resource that is the port number registry, IANA will require the
      requester to document the intended use of the port number, and
      have a technical expert review this documentation to determine

Cotton, et al.           Expires January 8, 2009                [Page 8]

Internet-Draft      IANA Port Number Space Procedures          July 2008

      whether to grant the registration request.  This documentation
      MUST explain why a port number in the Dynamic Ports range is
      unsuitable for the given application.

   o  Ports in the Well Known Ports range (0-1023) are also available
      for registration through IANA.  Because the Well Known Ports range
      is both the smallest and the most densely allocated one, the bar
      for new allocations is higher than that for the Registered Ports
      range (1024-49551).  A request for a Well Known port number MUST
      document why a port number in the Registered Ports or Dynamic
      Ports ranges is unsuitable.

4.3.  New Principles

   Several new practices stem from the conservation principle that
   guides management of the port numbers registry, and will take effect
   with the approval of this document:

   o  IANA will allocate port numbers only to the transport protocols
      requested

   o  IANA will recover unused port numbers, via the new procedures of
      de-registration, revocation, and transfer

   IANA will begin assigning protocol numbers only for those transport
   protocols explicitly included in a registration request.  This ends
   the long-standing practice of automatically assigning a port number
   to an application for both TCP and a UDP, even if the request is only
   for one of these transport protocols.  The new allocation procedure
   conserves resources by only allocating a port number to an
   application for those transport protocols (TCP, UDP, SCTP and/or
   DCCP) it actually uses.  The port number will be marked as reserved -
   instead of assigned - in the port number registries of the other
   transport protocols.  When applications start supporting the use of
   some of those additional transport protocols, they must request IANA
   to convert the reservation into an assignment.  An application MUST
   NOT assume that it can use a port number assigned to it for use with
   one transport protocol with another transport protocol without
   another registration with IANA.  The reason for this procedure is to
   allow allocation of reserved port numbers on the day the range has no
   more unassigend values.[port-reserv]

   Conservation for the port numbers registry is improved by procedures
   that allow previously allocated port numbers to become unassigned,
   either through de-registration or through revocation, and by a
   procedure that lets application designers transfer an allocated but
   unused port number to a new application.  Section 5 describes these
   procedures, which so far were undocumented.

Cotton, et al.           Expires January 8, 2009                [Page 9]

Internet-Draft      IANA Port Number Space Procedures          July 2008

5.  IANA Procedures for Managing the Port Number Space

   IANA supports various procedures to manage the port number space that
   enable ports to be registered, de-registered, reused, and revoked.
   This section explains these procedures, as well as other related
   issues.

5.1.  Port Number Registration

   Registration refers to the allocation of port numbers to applicants.
   All such registrations are made from port numbers that are Unassigned
   or Reserved at the tine of the allocation.  Unassigned numbers are
   allocated as needed, and without further explanation.  Reserved
   numbers are assigned only after review by IANA and the IETF, and are
   accompanied by a statement explaining the reason a reserved number is
   appropriate for this action.

   When a registration for one or more (but not all) transport protocols
   is approved, the port number for the non-requested transport
   protocol(s) will remain unassigned but is marked as reserved.
   However, IANA SHOULD NOT assign that port number to any other
   application or service until no port numbers remain unassigned in the
   request range.  The current registration owner of a port number MAY
   register the same port number for other transport protocols when
   needed.

   A port number registration consists of the following tuple:

   Registration Contact:  Name and email address of the contact person
      for the registration.  This is REQUIRED.  Additional address
      information MAY be provided.  For registrations done through IETF-
      published RFCs, one or more technical contact persons SHALL be
      provided.  In addition, in this case the registration ownership
      will belong to the IETF and not the technical contact persons.

   Transport Protocol:  The transport protocol(s) for which the port
      allocation is requested, currently limited to one or more of TCP,
      UDP, SCTP, and DCCP

   Port Number:  The currently unassigned port number(s) the requester
      suggests for allocation.  If specified and when possible, IANA is
      encouraged to allocate the suggested number.  If not specified,
      IANA will choose a suitable number from the Registered Ports
      range.

Cotton, et al.           Expires January 8, 2009               [Page 10]

Internet-Draft      IANA Port Number Space Procedures          July 2008

   Broadcast, Multicast or Anycast:  Indicates whether the protocol
      supports either broadcast, multicast or anycast network layer
      addresses.

   Port Name:  The long name (description) of the port.  It should avoid
      all but the most well known acronyms.

   Service Name:  This short name for the port number, used in various
      service selection and discovery mechanisms, currently including
      TCPMUX [RFC1078] and DNS SRV resource records [RFC2782].  This
      name is limited to 14 bytes, case-insensitive US-ASCII letters,
      digits, and dashes.  It MUST NOT conflict with already allocated
      names in the service name registry [serv-nam-reg].

   Reference:  A reference document describing the protocol or
      application using this port.  For registration requests for
      Registered Ports, this documentation MUST explain why a port
      number in the Dynamic Ports range is unsuitable for the given
      application.  For registration requests for Well Known Ports, this
      documentation MUST explain why a port number in the Registered
      Ports or Dynamic Ports ranges is unsuitable.

   The following rules apply to the port number registry database
   maintained by IANA: [database-rules]

   o  Service Names MUST be unique

   o  Service Name MUST exist for all transport protocols

   o  Port Number MUST exist for TCP and UDP; it MAY exist for SCTP and
      DCCP

   o  Transport Protocol MUST exist for all entries

   o  Service Code MUST NOT occur for TCP, UDP or SCTP, and MUST occur
      for DCCP

   o  Port Name MUST exist for all entries

   o  Currently valid Registration Contact SHOULD exist for all entries;
      it MUST exist for all new entries

   o  Reference SHOULD exist for all entries

Cotton, et al.           Expires January 8, 2009               [Page 11]

Internet-Draft      IANA Port Number Space Procedures          July 2008

5.2.  Port Number De-Registration

   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
   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
   numbers that have been de-registered until all other available port
   numbers in the specific range have been assigned.

   Before proceeding with a de-registration, IANA needs to confirm that
   the port number is actually no longer in use.

5.3.  Port Number Re-Use

   If the original requesters of a granted port number assignment no
   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
   to do so.

   Logically, port number re-use is to be thought of as a de-
   registration followed by an immediate re-registration of the same
   port number for a new application.  Consequently, the information
   that needs to be provided about the proposed new use of the port
   number is identical to what would need to be provided for a new port
   number allocation for the specific ports range.

   IANA needs to carefully review such requests before approving them.
   In some instances, the Expert Reviewer will determine that the
   application that the port number was assigned to has found usage
   beyond the original requester, or that there is a concern that it may
   have such users.  This determination MUST be made quickly.  A
   community call concerning revocation of a port number (see below) MAY
   be considered, if a broader use of the port number is suspected.

5.4.  Port Number Revocation

   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-
   vs-unass2] But at other times, it may be unclear whether a given
   assigned port number is still in use somewhere in the Internet.  In
   those cases, despite the requester's wish to de-register, IANA must
   consider the consequences that de-registering the port number.

   With the help of their IESG-appointed Expert Reviewer, IANA SHALL
   formulate a request to the IESG to issue a four-week community call
   concerning the pending port number revocation.  The IESG and IANA,
   with the Expert Reviewer's support, SHALL determine promptly after
   the end of the community call whether revocation should proceed and

Cotton, et al.           Expires January 8, 2009               [Page 12]

Internet-Draft      IANA Port Number Space Procedures          July 2008

   then communicate their decision to the community.  This procedure
   typically involves similar steps to de-registration except that it is
   initiated by IANA.

5.5.  Port Number Transfer

   The value of port numbers is defined by their careful management as a
   shared Internet resource, whereas enabling transfer allows the
   potential for associated monetary exchanges to motivate this
   management.  As a result, current IANA procedures do not permit port
   number assignments to be transferred between parties, even when they
   are mutually consenting.  The appropriate alternate procedure is for
   the new party to request its own port number registration and for the
   previous party to release its registration via the de-registration
   procedure outlined above.

5.6.  Maintenance Issues

   The previous procedures help IANA manage defining properties of the
   port name space.  There are additional procedures which are
   administrative, and help IANA maintain non-defining information in a
   registration.  This includes changes to the Port Name (i.e.,
   description), and changes to contact information.  These changes are
   coordinated by IANA in an informal manner, and may be initiated by
   either the registrant or by IANA, e.g., the latter when requesting an
   update to current contact information.

6.  Port Number Space Requests

   This section describes the process for requests associated with
   IANA's management of the the port number space.  Such requests
   include initial registration, de-registration, re-use, changes to the
   service name, as well as updates to the contact information or port
   name (description).  Revocation is initiated by IANA.

6.1.  Request Procedure

   All registration requests for a TCP, SCTP, DCCP and/or UDP ports must
   contain the following pieces of information:

   Port number tuple:  A port number tuple, as described in Section 5.1.
      The port number would typically be omitted; when provided, it
      indicates a preference for requesting a currently unassigned
      value.

Cotton, et al.           Expires January 8, 2009               [Page 13]

Internet-Draft      IANA Port Number Space Procedures          July 2008

   Port Range:  Indicates the port range desired (i.e., Well Known Ports
      or Registered Ports).

   Requested Action:  One of REGISTER, DEREGISTER, REUSE,
      SVC_NAME_CHANGE, or UPDATE_INFO (port name, registration contact).

   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
   or by programs executed by privileged users.  Registration requests
   for a Well Known port number MUST follow the "IETF Review" policy of
   [RFC5226].  Registrations for a port number in this range MUST
   document why a port number in the Registered Ports range will not
   fulfill the application needs.

   The Registered Ports are assigned by IANA and on most systems can be
   used by ordinary user processes or programs executed by ordinary
   users.  The Registered Ports are in the range 1024-49151.
   Registration requests for a Registered Port number MUST follow the
   "Expert Review" policy of [RFC5226].

7.  Security Considerations

   The IANA guidelines described in this document do not change the
   security properties of either TCP, SCTP, DCCP or UDP.

   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
   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.
   Firewall and system administrators should choose how to configure
   their systems based on their knowledge of the traffic in question,
   not whether there is a port number registered or not.

8.  IANA Considerations

   This document obsoletes Sections 8 and 9.1 of [RFC2780].  Upon
   approval of this document, IANA is requested to adopt the procedures
   described herein.

   IANA should take immediate actions to resolve inconsistencies raised
   by requirements of this document.

Cotton, et al.           Expires January 8, 2009               [Page 14]

Internet-Draft      IANA Port Number Space Procedures          July 2008

9.  Acknowledgments

   The text in Appendix A is based on a suggestion by Tom Phelan.

   Lars Eggert is partly funded by [TRILOGY], a research project
   supported by the European Commission under its Seventh Framework
   Program.

10.  References

10.1.  Normative References

   [RFC0768]  Postel, J., "User Datagram Protocol", STD 6, RFC 768,
              August 1980.

   [RFC0793]  Postel, J., "Transmission Control Protocol", STD 7,
              RFC 793, September 1981.

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119, March 1997.

   [RFC2780]  Bradner, S. and V. Paxson, "IANA Allocation Guidelines For
              Values In the Internet Protocol and Related Headers",
              BCP 37, RFC 2780, March 2000.

   [RFC4020]  Kompella, K. and A. Zinin, "Early IANA Allocation of
              Standards Track Code Points", BCP 100, RFC 4020,
              February 2005.

   [RFC4340]  Kohler, E., Handley, M., and S. Floyd, "Datagram
              Congestion Control Protocol (DCCP)", RFC 4340, March 2006.

   [RFC4727]  Fenner, B., "Experimental Values In IPv4, IPv6, ICMPv4,
              ICMPv6, UDP, and TCP Headers", RFC 4727, November 2006.

   [RFC5226]  Narten, T. and H. Alvestrand, "Guidelines for Writing an
              IANA Considerations Section in RFCs", BCP 26, RFC 5226,
              May 2008.

10.2.  Informative References

   [I-D.touch-tsvwg-port-guidelines]
              Touch, J., "Guidelines for Transport Port Use",  Work in
              Progress, July 2008.

   [REGISTRY]
              Internet Assigned Numbers Authority (IANA), "Port

Cotton, et al.           Expires January 8, 2009               [Page 15]

Internet-Draft      IANA Port Number Space Procedures          July 2008

              Numbers",  http://www.iana.org/assignments/port-numbers.

   [RFC0959]  Postel, J. and J. Reynolds, "File Transfer Protocol",
              STD 9, RFC 959, October 1985.

   [RFC1078]  Lottor, M., "TCP port service Multiplexer (TCPMUX)",
              RFC 1078, November 1988.

   [RFC2782]  Gulbrandsen, A., Vixie, P., and L. Esibov, "A DNS RR for
              specifying the location of services (DNS SRV)", RFC 2782,
              February 2000.

   [RFC4342]  Floyd, S., Kohler, E., and J. Padhye, "Profile for
              Datagram Congestion Control Protocol (DCCP) Congestion
              Control ID 3: TCP-Friendly Rate Control (TFRC)", RFC 4342,
              March 2006.

   [RFC4960]  Stewart, R., "Stream Control Transmission Protocol",
              RFC 4960, September 2007.

   [RFC5237]  Arkko, J. and S. Bradner, "IANA Allocation Guidelines for
              the Protocol Field", BCP 37, RFC 5237, February 2008.

   [SYSFORM]  Internet Assigned Numbers Authority (IANA), "Application
              for System (Well Known) Port Number",
               http://www.iana.org/cgi-bin/sys-port-number.pl.

   [TRILOGY]  "Trilogy Project",  http://www.trilogy-project.org/.

   [USRFORM]  Internet Assigned Numbers Authority (IANA), "Application
              for User (Registered) Port Number",
               http://www.iana.org/cgi-bin/usr-port-number.pl.

Editorial Comments

   [database-rules]  Lars: Some of these rules below allow entries that
                     aren't in full alignment with the procedures in
                     this document. I assume that is, because the rules
                     attempt to describe the state of the IANA database
                     including all existing entries? If so, we should
                     make that clearer.

   [port-reserv]     The usage of for the above reason reserved port
                     numbers should probably not have the same rules as
                     the other reserved ports. Needs discussion if we
                     should separate this properly. I think the IETF
                     consultation part will make it difficult the day
                     one registry runs out of unassigned ones.

Cotton, et al.           Expires January 8, 2009               [Page 16]

Internet-Draft      IANA Port Number Space Procedures          July 2008

   [res-vs-unass]    Lars: This used to say "unassigned" instead of
                     "reserved". I suggest "reserved", so that IANA has
                     an indication in their list that they need to be
                     careful when re-assigning a previously de-
                     registered port.

   [res-vs-unass2]   Lars: See [res-vs-unass].

   [sctp-dccp-exp]   Lars: This document should register ports 1021 and
                     1022 for DCCP and SCTP.

   [serv-nam-reg]    Lars: Add citation to the service name registry
                     draft, when it exists

Appendix A.  Updates to DCCP Registries

   This document updates the IANA allocation procedures for the DCCP
   Port Number and DCCP Service Codes Registries as defined in
   [RFC4340].

A.1.  DCCP Service Code Registry

   Service Codes are allocated first-come-first-served according to
   Section 19.8 of [RFC4340].  This document updates Section 19.8 of
   [RFC4340] by extending the guidelines given there in the following
   ways:

   o  IANA MAY assign new Service Codes without seeking Expert Review
      using their discretion, but SHOULD seek expert review when a
      request seeks an appreciable number of Service Codes (e.g., more
      than five).

   o  IANA should feel free to contact the DCCP Expert Reviewer with
      questions on any registry, regardless of the registry policy, for
      clarification or if there is a problem with a request [RFC4340].

A.2.  DCCP Port Numbers Registry

   The DCCP ports registry is defined by [RFC4340] in Section 19.9.
   Allocations in this registry require prior allocation of a Service
   Code.  Not all Service Codes require IANA-registered ports.  This
   document updates Section 19.9 of [RFC4340] by extending the
   guidelines given there in the following way:

   o  IANA should normally assign a value in the range 1024-49151 to a
      DCCP server port.  IANA allocation requests to allocate port
      numbers in the Well Known Ports range (0 through 1023), require

Cotton, et al.           Expires January 8, 2009               [Page 17]

Internet-Draft      IANA Port Number Space Procedures          July 2008

      IETF Action prior to allocation by IANA [RFC4340].

   Section 19.9 of [RFC4340] requires each DCCP server port assignment
   to be associated with at least one Service Code value.  This document
   updates [RFC4340] in the following way:

   o  IANA MUST NOT allocate a single Service Code value to more than
      one DCCP server port.

   o  The set of Service Code values associated with a DCCP server port
      should be recorded in the ports registry.

   o  A request for additional Service Codes to be associated with an
      already allocated Port Number requires Expert Review.  These
      requests will normally be accepted when they originate from the
      contact associated with the port registration.  In other cases,
      these applications will be expected to use an unallocated port,
      when this is available.

   [RFC4340] notes that a short port name MUST be associated with each
   DCCP server port that has been registered.  This document requires
   that this name MUST be unique.

Authors' Addresses

   Michelle Cotton
   Internet Corporation for Assigned Names and Numbers
   4676 Admiralty Way, Suite 330
   Marina del Rey, CA  90292
   USA

   Phone: +1 310 823 9358
   Email: [email-masked]
   URI:   http://www.iana.org/

   Lars Eggert
   Nokia Research Center
   P.O. Box 407
   Nokia Group  00045
   Finland

   Phone: +358 50 48 24461
   Email: [email-masked]
   URI:   http://research.nokia.com/people/lars_eggert/

Cotton, et al.           Expires January 8, 2009               [Page 18]

Internet-Draft      IANA Port Number Space Procedures          July 2008

   Allison Mankin
   National Science Foundation
   4102 Wilson Boulevard
   Arlington, VA  22230
   USA

   Phone: +1 301 728 7199
   Email: [email-masked]
   URI:   http://www.psg.com/~mankin/

   Magnus Westerlund
   Ericsson
   Torshamsgatan 23
   Stockholm  164 80
   Sweden

   Phone: +46 8 719 0000
   Email: [email-masked]

   Joe Touch
   USC/ISI
   4676 Admiralty Way
   Marina del Rey, CA  90292
   USA

   Phone: +1 310 448 9151
   Email: [email-masked]
   URI:   http://www.isi.edu/touch

Cotton, et al.           Expires January 8, 2009               [Page 19]

Internet-Draft      IANA Port Number Space Procedures          July 2008

Full Copyright Statement

   Copyright (C) The IETF Trust (2008).

   This document is subject to the rights, licenses and restrictions
   contained in BCP 78, and except as set forth therein, the authors
   retain all their rights.

   This document and the information contained herein are provided on an
   "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
   OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND
   THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS
   OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
   THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
   WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

Intellectual Property

   The IETF takes no position regarding the validity or scope of any
   Intellectual Property Rights or other rights that might be claimed to
   pertain to the implementation or use of the technology described in
   this document or the extent to which any license under such rights
   might or might not be available; nor does it represent that it has
   made any independent effort to identify any such rights.  Information
   on the procedures with respect to rights in RFC documents can be
   found in BCP 78 and BCP 79.

   Copies of IPR disclosures made to the IETF Secretariat and any
   assurances of licenses to be made available, or the result of an
   attempt made to obtain a general license or permission for the use of
   such proprietary rights by implementers or users of this
   specification can be obtained from the IETF on-line IPR repository at
   http://www.ietf.org/ipr.

   The IETF invites any interested party to bring to its attention any
   copyrights, patents or patent applications, or other proprietary
   rights that may cover technology that may be required to implement
   this standard.  Please address the information to the IETF at
   [email-masked].

Cotton, et al.           Expires January 8, 2009               [Page 20]

---

From: Lars Eggert <[email-masked]>
Date: Mon, 7 Jul 2008 18:08:27 +0300

> discussion for which I have added a comment.

Unless someone yells, I'll submit this before I leave work today  
(i.e., in the next hour.)

Lars

---

From: Michelle Cotton <[email-masked]>
Date: Mon, 7 Jul 2008 08:12:32 -0700

Gorry did have some dccp updates.  I have not reviewed them in detail yet.
If we don't get those in this time we can get them in the next version.

Michelle

---

This document updates the IANA allocation procedures for the DCCP Port
Number and DCCP Service Codes Registries as defined in RFC 4340.

A.1. Service Code Registry

Service Codes are allocated first-come-first-served (19.8. [RFC4340]).
This document updates RFC4340 in the following way:

o    "The IANA MAY assign new Service Codes without seeking Expert
Review using their discretion, but SHOULD seek expert review when a
request seeks an appreciable number of Service Codes (e.g. more than five)."

The IANA should feel free to contact the DCCP Expert Reviewer with
questions on any registry, regardless of the registry policy, for
clarification or if there is a problem with a request [RFC4340].

The DCCP ports registry is defined by RFC4340 in section 19.9.
Allocations in this registry require prior allocation of a Service Code.
  Not all Service Codes require IANA-registered ports. This document
updates RFC4340 in the following way:

o    "IANA should normally assign a value in the range 1024-49151 to a
DCCP server port. IANA allocation requests to allocate port numbers in
the Well Known Ports range (0 through 1023), require IETF Action prior
to allocation by IANA [RFC4340]."

RFC4340 requires each DCCP server port assignment to be associated with
at least one Service Code value. This document updates RFC4340 in the
following way:

o    "IANA MUST NOT allocate a single Service Code value to more than
one DCCP server port.
o    The set of Service Code values associated with a DCCP server port
should be recorded in the ports registry.
o    A request for additional Service Codes to be associated with an
already allocated Port Number requires Expert Review. These requests
will normally be accepted when they originate from the contact
associated with the port registration. In other cases, these
applications will be expected to use an unallocated port, when this is
available."

RFC 4340 notes that a short port name MUST be associated with each DCCP
server port that has been registered. This name MUST be unique [ID.IANA].

On 7/7/08 8:08 AM, "Lars Eggert" <[email-masked]> wrote:

Lars

---

From: Lars Eggert <[email-masked]>
Date: Mon, 7 Jul 2008 18:25:33 +0300

I stuck those into an appendix.

---

From: Joe Touch <[email-masked]>
Date: Tue, 08 Jul 2008 07:26:07 -0700

PS - presumably this will be presented/updated to TSVWG?

---

From: Lars Eggert <[email-masked]>
Date: Tue, 8 Jul 2008 17:28:33 +0300

> PS - presumably this will be presented/updated to TSVWG?

Yes.

Lars