draft-ietf-nfsv4-rpc-netid-06.txt | rfc5665.txt | |||
---|---|---|---|---|
NFSv4 M. Eisler | Internet Engineering Task Force (IETF) M. Eisler | |||
Internet-Draft NetApp | Request for Comments: 5665 NetApp | |||
Updates: 1833 (if approved) January 30, 2009 | Updates: 1833 January 2010 | |||
Intended status: Standards Track | Category: Standards Track | |||
Expires: August 3, 2009 | ISSN: 2070-1721 | |||
IANA Considerations for RPC Net Identifiers and Universal Address | ||||
Formats | ||||
draft-ietf-nfsv4-rpc-netid-06.txt | ||||
Status of this Memo | IANA Considerations for Remote Procedure Call (RPC) | |||
Network Identifiers and Universal Address Formats | ||||
This Internet-Draft is submitted to IETF in full conformance with the | Abstract | |||
provisions of BCP 78 and BCP 79. | ||||
Internet-Drafts are working documents of the Internet Engineering | This document lists IANA Considerations for Remote Procedure Call | |||
Task Force (IETF), its areas, and its working groups. Note that | (RPC) Network Identifiers (netids) and RPC Universal Network | |||
other groups may also distribute working documents as Internet- | Addresses (uaddrs). This document updates, but does not replace, RFC | |||
Drafts. | 1833. | |||
Internet-Drafts are draft documents valid for a maximum of six months | Status of This Memo | |||
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 | This is an Internet Standards Track document. | |||
http://www.ietf.org/ietf/1id-abstracts.txt. | ||||
The list of Internet-Draft Shadow Directories can be accessed at | This document is a product of the Internet Engineering Task Force | |||
http://www.ietf.org/shadow.html. | (IETF). It represents the consensus of the IETF community. It has | |||
received public review and has been approved for publication by the | ||||
Internet Engineering Steering Group (IESG). Further information on | ||||
Internet Standards is available in Section 2 of RFC 5741. | ||||
This Internet-Draft will expire on August 3, 2009. | Information about the current status of this document, any errata, | |||
and how to provide feedback on it may be obtained at | ||||
http://www.rfc-editor.org/info/rfc5665. | ||||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2009 IETF Trust and the persons identified as the | Copyright (c) 2010 IETF Trust and the persons identified as the | |||
document authors. All rights reserved. | document authors. All rights reserved. | |||
This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
(http://trustee.ietf.org/license-info) in effect on the date of | (http://trustee.ietf.org/license-info) in effect on the date of | |||
publication of this document. Please review these documents | publication of this document. Please review these documents | |||
carefully, as they describe your rights and restrictions with respect | carefully, as they describe your rights and restrictions with respect | |||
to this document. | to this document. Code Components extracted from this document must | |||
include Simplified BSD License text as described in Section 4.e of | ||||
Abstract | the Trust Legal Provisions and are provided without warranty as | |||
described in the Simplified BSD License. | ||||
This Internet-Draft lists IANA Considerations for RPC Network | ||||
Identifiers (netids) and RPC Universal Network Addresses (uaddrs). | ||||
This Internet-Draft updates, but does not replace, RFC1833. | ||||
Requirements Language | ||||
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 RFC 2119 [1]. | ||||
Table of Contents | Table of Contents | |||
1. Introduction and Motivation . . . . . . . . . . . . . . . . . 3 | 1. Introduction and Motivation .....................................3 | |||
2. Considerations for the Netid of the SCTP Protocol . . . . . . 3 | 2. Requirements Language ...........................................3 | |||
3. Security Considerations . . . . . . . . . . . . . . . . . . . 3 | 3. Considerations for the Netid of the Stream Control | |||
4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 3 | Transmission Protocol ...........................................3 | |||
4.1. IANA Considerations for Netids . . . . . . . . . . . . . . 3 | 4. Security Considerations .........................................3 | |||
4.1.1. Initial Registry . . . . . . . . . . . . . . . . . . . 6 | 5. IANA Considerations .............................................3 | |||
4.1.2. Updating Registrations . . . . . . . . . . . . . . . . 8 | 5.1. IANA Considerations for Netids .............................4 | |||
4.2. IANA Considerations for Uaddr Formats . . . . . . . . . . 8 | 5.1.1. Initial Registry ....................................6 | |||
4.2.1. Initial Registry . . . . . . . . . . . . . . . . . . . 9 | 5.1.2. Updating Registrations ..............................8 | |||
4.2.2. Updating Registrations . . . . . . . . . . . . . . . . 9 | 5.2. IANA Considerations for Uaddr Formats ......................8 | |||
4.2.3. Uaddr Formats . . . . . . . . . . . . . . . . . . . . 10 | 5.2.1. Initial Registry ....................................9 | |||
4.3. Cross Referencing Between the Netid and Format Registry . 11 | 5.2.2. Updating Registrations .............................10 | |||
4.4. Port Assignment for NFS over SCTP . . . . . . . . . . . . 11 | 5.2.3. Uaddr Formats ......................................10 | |||
5. References . . . . . . . . . . . . . . . . . . . . . . . . . . 11 | 5.2.3.1. Uaddr Format for System V Release | |||
5.1. Normative References . . . . . . . . . . . . . . . . . . . 11 | 4 Loopback Transports .....................10 | |||
5.2. Informative References . . . . . . . . . . . . . . . . . . 11 | 5.2.3.2. Uaddr Format for Netid "-" ................10 | |||
Appendix A. Acknowledgements . . . . . . . . . . . . . . . . . . 12 | 5.2.3.3. Uaddr Format for Most IPv4 Transports .....11 | |||
Appendix B. RFC Editor Notes . . . . . . . . . . . . . . . . . . 12 | 5.2.3.4. Uaddr Format for Most IPv6 Transports .....11 | |||
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 13 | 5.2.3.5. Uaddr Format for ICMP over IPv4 and IPv6 ..11 | |||
5.3. Cross Referencing between the Netid and Format Registry ...12 | ||||
5.4. Port Assignment for NFS over SCTP .........................12 | ||||
6. References .....................................................12 | ||||
6.1. Normative References ......................................12 | ||||
6.2. Informative References ....................................12 | ||||
Appendix A. Acknowledgments ......................................14 | ||||
1. Introduction and Motivation | 1. Introduction and Motivation | |||
The concepts of an RPC (defined in RFC1831 [4]) Network Identifier | The concepts of an RPC (defined in RFC 5531 [4]) Network Identifier | |||
(netid) and an RPC Universal Address (uaddr) were introduced in | (netid) and an RPC Universal Address (uaddr) were introduced in RFC | |||
RFC1833 [2] for distinguishing network addresses of multiple | 1833 [1] for distinguishing network addresses of multiple protocols | |||
protocols and representing those addresses in a canonical form. | and representing those addresses in a canonical form. RFC 1833 | |||
RFC1833 states that a netid ``is defined by a system administrator | states that a netid "is defined by a system administrator based on | |||
based on local conventions, and cannot be depended on to have the | local conventions, and cannot be depended on to have the same value | |||
same value on every system.'' (The netid is contained in the field | on every system". (The netid is contained in the field r_netid of | |||
r_netid of the data type rpcb_entry, and the uaddr is contained in | the data type rpcb_entry, and the uaddr is contained in the field | |||
the field r_addr of the same data type, where rpcb_entry is defined | r_addr of the same data type, where rpcb_entry is defined in RFC | |||
in RFC1833.) Since the publication of RFC1833, it has been found | 1833.) Since the publication of RFC 1833, it has been found that | |||
that protocols like NFSv4.0 [5] and RPC/RDMA [6] depend on consistent | protocols like Network File System version 4 (NFSv4.0) [5] and RPC/ | |||
values of netids and representations of uaddrs. Current practices | RDMA (Remote Direct Memory Access) [6] depend on consistent values of | |||
tend to ensure this consistency. Thus, this document identifies the | netids and representations of uaddrs. Current practices tend to | |||
ensure this consistency. Thus, this document identifies the | ||||
considerations for IANA to establish registries of netids and uaddr | considerations for IANA to establish registries of netids and uaddr | |||
formats for RPC and specifies the initial content of the two | formats for RPC and specifies the initial content of the two | |||
registries. | registries. | |||
2. Considerations for the Netid of the SCTP Protocol | 2. Requirements Language | |||
The SCTP protocol (described in RFC4960 [7]) is a connection-oriented | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
protocol that supports both byte-streamed and record-oriented data | "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | |||
transfer. When the "sctp" and "sctp6" netids are used, the ONC RPC | document are to be interpreted as described in RFC 2119 [2]. | |||
Record Marking standard (see Section 10 of RFC1831 [4]) are not used; | ||||
3. Considerations for the Netid of the Stream Control Transmission | ||||
Protocol | ||||
The Stream Control Transmission Protocol (SCTP) (described in RFC | ||||
4960 [7]) is a connection-oriented protocol that supports both byte- | ||||
streamed and record-oriented data transfer. When the "sctp" and | ||||
"sctp6" netids are used, the Open Network Computing (ONC) RPC Record | ||||
Marking standard (see Section 11 of RFC 5531 [4]) is not used; | ||||
instead, SCTP's native record-oriented data transfer is used. | instead, SCTP's native record-oriented data transfer is used. | |||
3. Security Considerations | 4. Security Considerations | |||
Since this document is only concerned with the IANA management of the | Since this document is only concerned with the IANA management of the | |||
Network Identifier (netid) and Universal Network Addresses (uaddrs) | Network Identifier (netid) and Universal Network Addresses (uaddrs) | |||
format registry, it raises no new security issues. | format registry, it raises no new security issues. | |||
4. IANA Considerations | 5. IANA Considerations | |||
This section uses terms that are defined in RFC5226 [8]. | This section uses terms that are defined in RFC 5226 [8]. | |||
4.1. IANA Considerations for Netids | 5.1. IANA Considerations for Netids | |||
IANA will create a registry called "ONC RPC Netids". The remainder | IANA has created a registry called "ONC RPC Netids". The remainder | |||
of this section describes the registry. | of this section describes the registry. | |||
All assignments to the ONC RPC Netids registry are made on one of two | All assignments to the ONC RPC Netids registry are made on one of two | |||
bases: | bases: | |||
o A First Come First Served basis subregistry per section 4.1 of | o A First Come First Served basis subregistry per Section 4.1 of RFC | |||
RFC5226. | 5226. | |||
o A Standards Action basis subregistry per section 4.1 of RFC5226. | o A Standards Action basis subregistry per Section 4.1 of RFC 5226. | |||
The XDR encoding allows netids to be up to 2^32 - 1 octets in length, | The eXternal Data Representation (XDR) encoding allows netids to be | |||
but the registry will only allow a much shorter length. Assignments | up to 2^32 - 1 octets in length, but the registry will only allow a | |||
made on a Standards Action basis should be assigned netids one to | much shorter length. Assignments made on a Standards Action basis | |||
eight octets long. Assignments made on a First Come First Served | should be assigned netids 1 to 8 octets long. Assignments made on a | |||
basis should be assigned netids nine to 128 octets long. Some | First Come First Served basis should be assigned netids 9 to 128 | |||
exceptions are listed in Table 2. | octets long. Some exceptions are listed in Table 2. | |||
Some portion of the netid name space is Reserved: | Some portion of the netid name space is Reserved: | |||
o All netids, regardless of length, that start with the prefixes | o All netids, regardless of length, that start with the prefixes | |||
"STDS" or "FCFS" are Reserved, in order to extend the name space | "STDS" or "FCFS" are Reserved, in order to extend the name space | |||
of either Standards Action or First Come First Served bases. | of either Standards Action or First Come First Served bases. | |||
o To give IESG the flexibility in the future to permit Private and | o To give the IESG the flexibility in the future to permit Private | |||
Experimental Uses, all netids with the prefixes "PRIV" or "EXPE" | and Experimental Uses, all netids with the prefixes "PRIV" or | |||
are Reserved. | "EXPE" are Reserved. | |||
o To prevent confusion with the control protocol by the same name | o To prevent confusion with the control protocol by the same name | |||
[9], netids with the prefix "ICMP" are Reserved. | [9], netids with the prefix "ICMP" are Reserved. | |||
o Since netids are not constructed in an explicit hierarchical | o Since netids are not constructed in an explicit hierarchical | |||
manner, this document does not provide for Hierarchical Allocation | manner, this document does not provide for Hierarchical Allocation | |||
of netids. Nonetheless, all netids containing the octet "." are | of netids. Nonetheless, all netids containing the octet "." are | |||
Reserved for future possible provision of Hierarchical Allocation. | Reserved for future possible provision of Hierarchical Allocation. | |||
o The zero length netid is Reserved. | o The zero length netid is Reserved. | |||
A recommended convention for netids corresponding to transports that | A recommended convention for netids corresponding to transports that | |||
work over the IPv6 protocol is to have "6" as the last character in | work over the IPv6 protocol is to have "6" as the last character in | |||
the netid's name. | the netid's name. | |||
There are two subregistries of netids, one for Standards Action | There are two subregistries of netids: one for Standards Action | |||
assignments, and one for First Come First Serve assignments. Each | assignments and one for First Come First Served assignments. Each | |||
registry of netids is a list of assignments, each containing five | registry of netids is a list of assignments, each containing five | |||
fields for each assignment. | fields for each assignment. | |||
1. A US-ASCII string name that is the actual netid. The netid | 1. A US-ASCII string name that is the actual netid. The netid | |||
should be one to eight octets long for the Standards Action | should be 1 to 8 octets long for the Standards Action | |||
subregistry, and should be nine to 128 octets long for the First | subregistry, and 9 to 128 octets long for the First Come First | |||
Come First Served subregistry. The netid MUST NOT conflict with | Served subregistry. The netid MUST NOT conflict with any other | |||
any other registered netid. Despite the fact that netids are | registered netid. Despite the fact that netids are case | |||
case sensitive, the netid, when mapped to all upper case MUST NOT | sensitive, the netid, when mapped to all upper case, MUST NOT | |||
conflict with the value of any other registered netid after the | conflict with the value of any other registered netid after the | |||
registered netid is mapped to upper case. In addition, when | registered netid is mapped to upper case. In addition, when | |||
mapped to upper case, the prefix of the netid MUST NOT be equal | mapped to upper case, the prefix of the netid MUST NOT be equal | |||
to a Reserved prefix. | to a Reserved prefix. | |||
2. A constant name that can be used for software programs that wish | 2. A constant name that can be used for software programs that wish | |||
to use the transport protocol associated with protocol. The name | to use the transport protocol associated with the netid. The | |||
of the constant typically has the prefix: "NC_", and a suffix | name of the constant typically has the prefix "NC_", and a suffix | |||
equal to the upper case version of the netid. This constant name | equal to the upper-case version of the netid. This constant name | |||
should be a constant that is valid in the 'C' programming | should be a constant that is valid in the 'C' programming | |||
language. This constant name MUST NOT conflict with any other | language. This constant name MUST NOT conflict with any other | |||
netid constant name. Constant names with the prefix "NC_STDS", | netid constant name. Constant names with the prefix "NC_STDS", | |||
"NC_FCFS", "NC_PRIV", "NC_EXPE", and "NC_ICMP" are Reserved. | "NC_FCFS", "NC_PRIV", "NC_EXPE", and "NC_ICMP" are Reserved. | |||
Constant names with a prefix of "NC_" and a total length of 11 | Constant names with a prefix of "NC_" and a total length of 11 | |||
characters or less should be for assignments made on the | characters or less should be for assignments made on the | |||
Standards Action basis. The constant "NC_" is Reserved. The | Standards Action basis. The constant "NC_" is Reserved. The | |||
constant name can be one to 131 octets long. | constant name can be 1 to 131 octets long. | |||
Given the typical derivation of the constant name from the netid, | Given the typical derivation of the constant name from the netid, | |||
the registration of the constant might be considered redundant. | the registration of the constant might be considered redundant. | |||
This is not always true. For example, a netid might use a | This is not always true. For example, a netid might use a | |||
character than is not valid in the programming language. The | character that is not valid in the programming language. The | |||
first entry of Table 1 provides such an example. | first entry of Table 1 provides such an example. | |||
3. A description and/or a reference to a description of the how the | 3. A description and/or a reference to a description of how the | |||
netid will be used. For assignments made on a First Come First | netid will be used. For assignments made on a First Come First | |||
Served basis the description should include, if applicable, a | Served basis, the description should include, if applicable, a | |||
reference to the transport and network protocols corresponding to | reference to the transport and network protocols corresponding to | |||
the netid. For assignments made on a Standards Action basis, the | the netid. For assignments made on a Standards Action basis, the | |||
description field must include the RFC numbers of the protocol | description field must include the RFC numbers of the protocol | |||
associated with the netid, including if applicable, RFC numbers | associated with the netid, including, if applicable, RFC numbers | |||
of the transport and network protocols. | of the transport and network protocols. | |||
4. A point of contact of the registrant. For assignments made on a | 4. A point of contact of the registrant. For assignments made on a | |||
First Come First Served basis, | First Come First Served basis: | |||
* the point of contact should include an email address. | * the point of contact should include an email address. | |||
* subject to authorization by a Designated Expert, the point of | * subject to authorization by a Designated Expert, the point of | |||
contact may be omitted for extraordinary situations, such as | contact may be omitted for extraordinary situations, such as | |||
the registration of a commonly used netid where the owner is | the registration of a commonly used netid where the owner is | |||
unknown. | unknown. | |||
For assignments made on a Standards Action basis the point of | For assignments made on a Standards Action basis, the point of | |||
contact is always determined by IESG. | contact is always determined by IESG. | |||
5. A numerical value, used to cross reference the netid assignment | 5. A numerical value, used to cross reference the netid assignment | |||
with an assignment in the uaddr format registry (see | with an assignment in the uaddr format registry (see | |||
Section 4.2). If the registrant is registering a netid that | Section 5.2). If the registrant is registering a netid that | |||
cross references an existing assignment in the uaddr format | cross references an existing assignment in the uaddr format | |||
registry, then the registrant provides the actual value of the | registry, then the registrant provides the actual value of the | |||
cross reference along with the date the registrant retrieved the | cross reference along with the date the registrant retrieved the | |||
cross reference value from the uaddr format registry. If the | cross reference value from the uaddr format registry. If the | |||
registrant is registering both a new netid and new uaddr format, | registrant is registering both a new netid and new uaddr format, | |||
then the registrant provides a value of TBD1 in the netid | then the registrant provides a value of TBD1 in the netid | |||
request, and uses TBD1 in the the uaddr format request. IANA | request, and uses TBD1 in the uaddr format request. IANA will | |||
will then substitute TBD1 for cross reference number IANA | then substitute TBD1 for the cross reference number IANA | |||
allocates. Note that if a document requests multiple netid and | allocates. Note that if a document requests multiple netid and | |||
uaddr assignments, each additional uaddr format cross reference | uaddr assignments, each additional uaddr format cross reference | |||
will be identified as TBD2, TBD3, ..., etc. | will be identified as TBD2, TBD3, ..., etc. | |||
4.1.1. Initial Registry | 5.1.1. Initial Registry | |||
The initial list of netids is broken into two subregistries: those | The initial list of netids is broken into two subregistries: those | |||
assigned on a First Come First Serve basis in Table 1 and those | assigned on a First Come First Served basis in Table 1 and those | |||
assigned on a Standards Action basis in Table 2. These lists will | assigned on a Standards Action basis in Table 2. These lists will | |||
change when IANA registers additional netids as needed, and the | change as IANA registers additional netids as needed, and the | |||
authoritative list of registered netids will always live with IANA. | authoritative list of registered netids will always live with IANA. | |||
+-------------+--------------+---------------------------+-----+----+ | +-------------+--------------+---------------------------+-----+----+ | |||
| Netid | Constant | Description and/or | PoC | CR | | | Netid | Constant | Description and/or | PoC | CR | | |||
| | Name | Reference | | | | | | Name | Reference | | | | |||
+-------------+--------------+---------------------------+-----+----+ | +-------------+--------------+---------------------------+-----+----+ | |||
| "-" | NC_NOPROTO | RFC1833 [2], | | 1 | | | "-" | NC_NOPROTO | RFC1833 [1], | | 1 | | |||
| | | Section 4.2.3.2 of | | | | | | | Section 5.2.3.2 of RFC | | | | |||
| | | RFCTBD2 | | | | | | | 5665 | | | | |||
| "ticlts" | NC_TICLTS | The loop back | | 0 | | | "ticlts" | NC_TICLTS | The loop back | | 0 | | |||
| | | connectionless transport | | | | | | | connectionless transport | | | | |||
| | | used in System V Release | | | | | | | used in System V Release | | | | |||
| | | 4 and other operating | | | | | | | 4 and other operating | | | | |||
| | | systems. Although this | | | | | | | systems. Although this | | | | |||
| | | assignment is made on a | | | | | | | assignment is made on a | | | | |||
| | | First Come First Served | | | | | | | First Come First Served | | | | |||
| | | basis and is fewer than | | | | | | | basis and is fewer than | | | | |||
| | | nine characters long, the | | | | | | | nine characters long, the | | | | |||
| | | exception is authorized. | | | | | | | exception is authorized. | | | | |||
| | | See [10]. | | | | | | | See [10]. | | | | |||
| "ticots" | NC_TICOTS | The loop back | | 0 | | | "ticots" | NC_TICOTS | The loop back | | 0 | | |||
| | | connection-oriented | | | | | | | connection-oriented | | | | |||
| | | transport used in System | | | | | | | transport used in System | | | | |||
| | | V Release 4 and other | | | | | | | V Release 4 and other | | | | |||
| | | operating systems. See | | | | | | | operating systems. See | | | | |||
| | | [10]. Although this | | | | | | | [10]. Although this | | | | |||
| | | assignment is made on a | | | | | | | assignment is made on a | | | | |||
| | | First Come First Served | | | | | | | First Come First Served | | | | |||
| | | basis and is fewer than | | | | | | | basis and is fewer than | | | | |||
| | | nine characters long, the | | | | | | | nine characters long, the | | | | |||
| | | exception is authorized. | | | | | | | exception is authorized. | | | | |||
| "ticotsord" | NC_TICOTSORD | The loop back | | 0 | | | "ticotsord" | NC_TICOTSORD | The loop back | | 0 | | |||
| | | connection-oriented with | | | | | | | connection-oriented with | | | | |||
| | | orderly-release transport | | | | | | | orderly-release transport | | | | |||
| | | used in System V Release | | | | | | | used in System V Release | | | | |||
| | | 4 and other operating | | | | | | | 4 and other operating | | | | |||
| | | systems. See [10]. | | | | | | | systems. See [10]. | | | | |||
+-------------+--------------+---------------------------+-----+----+ | +-------------+--------------+---------------------------+-----+----+ | |||
Table 1: Initial First Come First Serve Netid Assignments | Table 1: Initial First Come First Served Netid Assignments | |||
PoC: Point of Contact. CR: Cross Reference to the Uaddr Format | PoC: Point of Contact. | |||
Registry. | ||||
+---------+-----------+---------------------------------+------+----+ | CR: Cross Reference to the Uaddr Format Registry. | |||
| Netid | Constant | RFC(s) and Description (if | PoC | CR | | ||||
| | Name | needed) | | | | +---------+----------+----------------------------------+------+----+ | |||
+---------+-----------+---------------------------------+------+----+ | | Netid | Constant | RFC(s) and Description (if | PoC | CR | | |||
| "rdma" | NC_RDMA | RFCTBD1 [6] RFC0791 [11] | IESG | 2 | | | | Name | needed) | | | | |||
| "rdma6" | NC_RDMA6 | RFCTBD1 [6] RFC2460 [12] | IESG | 3 | | +---------+----------+----------------------------------+------+----+ | |||
| "sctp" | NC_SCTP | RFC4960 [7] RFC0791 [11] | IESG | 2 | | | "rdma" | NC_RDMA | RFC 5666 [6], RFC 791 [11] | IESG | 2 | | |||
| | | Section 2 of RFCTBD2 | | | | | "rdma6" | NC_RDMA6 | RFC 5666 [6], RFC 2460 [12] | IESG | 3 | | |||
| "sctp6" | NC_SCTP6 | RFC4960 [7] RFC2460 [12] | IESG | 3 | | | "sctp" | NC_SCTP | RFC 4960 [7], RFC 791 [11], | IESG | 2 | | |||
| | | Section 2 of RFCTBD2 | | | | | | | Section 3 of RFC 5665 | | | | |||
| "tcp" | NC_TCP | RFC0793 [13] RFC0791 [11] | IESG | 2 | | | "sctp6" | NC_SCTP6 | RFC 4960 [7], RFC 2460 [12], | IESG | 3 | | |||
| | | Section 10 of RFC1831 [4] | | | | | | | Section 3 of RFC 5665 | | | | |||
| "tcp6" | NC_TCP6 | RFC0793 [13] RFC2460 [12] | IESG | 3 | | | "tcp" | NC_TCP | RFC 793 [13], RFC 791 [11], | IESG | 2 | | |||
| | | Section 10 of RFC1831 [4] | | | | | | | Section 11 of RFC 5531 [4] | | | | |||
| "udp" | NC_UDP | RFC0768 [14] RFC0791 [11] | IESG | 2 | | | "tcp6" | NC_TCP6 | RFC 793 [13], RFC 2460 [12], | IESG | 3 | | |||
| "udp6" | NC_UDP6 | RFC0768 [14] RFC2460 [12] | IESG | 3 | | | | | Section 11 of RFC 5531 [4] | | | | |||
+---------+-----------+---------------------------------+------+----+ | | "udp" | NC_UDP | RFC 768 [14], RFC 791 [11] | IESG | 2 | | |||
| "udp6" | NC_UDP6 | RFC 768 [14], RFC 2460 [12] | IESG | 3 | | ||||
+---------+----------+----------------------------------+------+----+ | ||||
Table 2: Initial Standards Action Netid Assignments | Table 2: Initial Standards Action Netid Assignments | |||
4.1.2. Updating Registrations | 5.1.2. Updating Registrations | |||
Per section 5.2 of RFC5226 the registrant is always permitted to | Per Section 5.2 of RFC 5226, the registrant is always permitted to | |||
update a registration made on a First Come First Served basis | update a registration made on a First Come First Served basis | |||
"subject to the same constraints and review as with new | "subject to the same constraints and review as with new | |||
registrations." IESG or a Designated Expert is permitted to update | registrations". The IESG or a Designated Expert is permitted to | |||
any registration made on a First Come First Served basis, which | update any registration made on a First Come First Served basis, | |||
normally is done when the PoC cannot be reached in order to make | which normally is done when the PoC cannot be reached in order to | |||
necessary updates. Examples where an update would be needed include, | make necessary updates. Examples where an update would be needed | |||
but are not limited to: the email address or other contact | include, but are not limited to: the email address or other contact | |||
information becomes invalid; the reference to the corresponding | information becomes invalid; the reference to the corresponding | |||
protocol becomes obsolete or unavailable; and RFC1833 is updated or | protocol becomes obsolete or unavailable; RFC 1833 is updated or | |||
replaced in such a way that the scope of netids changes, requiring | replaced in such a way that the scope of netids changes, requiring | |||
additional fields in the assignment. | additional fields in the assignment. | |||
Only IESG, on the advice of a Designated Expert, can update a | Only the IESG, on the advice of a Designated Expert, can update a | |||
registration made on a Standards Action basis. | registration made on a Standards Action basis. | |||
4.2. IANA Considerations for Uaddr Formats | 5.2. IANA Considerations for Uaddr Formats | |||
IANA will create a registry called "ONC RPC Uaddr Format Registry" | IANA has created a registry called "ONC RPC Uaddr Format Registry" | |||
(called the "format registry" for the remainder of this document). | (called the "format registry" for the remainder of this document). | |||
The remainder of this section describes the registry. | The remainder of this section describes the registry. | |||
All assignments to the format registry are made on one of two bases: | All assignments to the format registry are made on one of two bases: | |||
o First Come First Served basis per section 4.1 of RFC5226. | o First Come First Served basis per Section 4.1 of RFC 5226. | |||
o Standards Action per section 4.1 of RFC5226. | o Standards Action per Section 4.1 of RFC 5226. | |||
The registry of formats is a list of assignments, each containing | The registry of formats is a list of assignments, each containing | |||
four fields for each assignment. | four fields for each assignment. | |||
1. The basis for the assignment, which can be either FCFS for First | 1. The basis for the assignment, which can be either FCFS for First | |||
Come First Served assignments, or STDS for Standards Action | Come First Served assignments or STDS for Standards Action | |||
assignments. | assignments. | |||
2. A description and/or reference to a description of the actual | 2. A description and/or reference to a description of the actual | |||
uaddr format. Assignments made on a Standards Action basis | uaddr format. Assignments made on a Standards Action basis | |||
always have a reference to an RFC. | always have a reference to an RFC. | |||
3. For assignments made on a First Come First Served basis, a point | 3. For assignments made on a First Come First Served basis, a point | |||
of contact, including an email address. Subject to authorization | of contact, including an email address. Subject to authorization | |||
by a Designated Expert, the point of contact may be omitted for | by a Designated Expert, the point of contact may be omitted for | |||
extraordinary situations, such as the registration of a commonly | extraordinary situations, such as the registration of a commonly | |||
used format where the owner is unknown. For assignments made on | used format where the owner is unknown. For assignments made on | |||
a Standards Action basis, the point of contact is always | a Standards Action basis, the point of contact is always | |||
determined by IESG. | determined by the IESG. | |||
4. A numerical value, used to cross reference the format assignment | 4. A numerical value, used to cross reference the format assignment | |||
with an assignment in the netid registry. The registrant | with an assignment in the netid registry. The registrant | |||
provides a value of TBD1 for the cross reference field when | provides a value of TBD1 for the cross reference field when | |||
requesting an assignment. IANA will assign TBD1 to a real value. | requesting an assignment. IANA will assign TBD1 to a real value. | |||
Note that if a document requests multiple uaddr assignments, each | Note that if a document requests multiple uaddr assignments, each | |||
additional uaddr format cross reference will be identified as | additional uaddr format cross reference will be identified as | |||
TBD2, TBD3, ..., etc. | TBD2, TBD3, ..., etc. | |||
All requests for assignments to the format registry on a Standards | All requests for assignments to the format registry on a Standards | |||
Action basis are only for Standards Track RFCs approved by the IESG. | Action basis are only for Standards Track RFCs approved by the IESG. | |||
4.2.1. Initial Registry | 5.2.1. Initial Registry | |||
The initial list of formats is in Table 3. This lists will change | The initial list of formats is in Table 3. This list will change as | |||
when IANA registers additional formats as needed, and the | IANA registers additional formats as needed, and the authoritative | |||
authoritative list of registered formats will always live with IANA. | list of registered formats will always live with IANA. | |||
+-------+-----------------------------------------------+------+----+ | +-------+-----------------------------------------------+------+----+ | |||
| Basis | Description and/or Reference | PoC | CR | | | Basis | Description and/or Reference | PoC | CR | | |||
+-------+-----------------------------------------------+------+----+ | +-------+-----------------------------------------------+------+----+ | |||
| FCFS | System V Release 4 loopback transport uaddr | | 0 | | | FCFS | System V Release 4 loopback transport uaddr | | 0 | | |||
| | format. Section 4.2.3.1 of RFCTBD2 | | | | | | format. Section 5.2.3.1 of RFC 5665 | | | | |||
| FCFS | Uaddr format for NC_NOPROTO. Section 4.2.3.2 | | 1 | | | FCFS | Uaddr format for NC_NOPROTO. Section 5.2.3.2 | | 1 | | |||
| | of RFCTBD2 | | | | | | of RFC 5665 | | | | |||
| STDS | Uaddr format for IPv4 transports. | IESG | 2 | | | STDS | Uaddr format for IPv4 transports. | IESG | 2 | | |||
| | Section 4.2.3.3 of RFCTBD2 | | | | | | Section 5.2.3.3 of RFC 5665 | | | | |||
| STDS | Uaddr format for IPv6 transports. | IESG | 3 | | | STDS | Uaddr format for IPv6 transports. | IESG | 3 | | |||
| | Section 4.2.3.4 of RFCTBD2 | | | | | | Section 5.2.3.4 of RFC 5665 | | | | |||
+-------+-----------------------------------------------+------+----+ | +-------+-----------------------------------------------+------+----+ | |||
Table 3: Initial Format Assignments | Table 3: Initial Format Assignments | |||
4.2.2. Updating Registrations | 5.2.2. Updating Registrations | |||
The registrant is always permitted to update a registration made on a | The registrant is always permitted to update a registration made on a | |||
First Come First Served basis "subject to the same constraints and | First Come First Served basis "subject to the same constraints and | |||
review as with new registrations." IESG is permitted to update any | review as with new registrations." The IESG is permitted to update | |||
registration made on a First Come First Served basis, which normally | any registration made on a First Come First Served basis, which | |||
is done when the PoC cannot be reached in order to make necessary | normally is done when the PoC cannot be reached in order to make | |||
updates. Examples where an update would be needed include, but are | necessary updates. Examples where an update would be needed include, | |||
not limited to: the email address or other contact information | but are not limited to: the email address or other contact | |||
becomes invalid; the reference to the format description becomes | information becomes invalid; the reference to the format description | |||
obsolete or unavailable; and RFC1833 is updated or replaced in such a | becomes obsolete or unavailable; RFC 1833 is updated or replaced in | |||
way that the scope of uaddr formats changes, requiring additional | such a way that the scope of uaddr formats changes, requiring | |||
fields in the assignment. | additional fields in the assignment. | |||
Only IESG, on the advice of a Designated Expert, can update a | Only the IESG, on the advice of a Designated Expert, can update a | |||
registration made on a Standards Action basis. | registration made on a Standards Action basis. | |||
4.2.3. Uaddr Formats | 5.2.3. Uaddr Formats | |||
4.2.3.1. Uaddr Format for System V Release 4 Loopback Transports | 5.2.3.1. Uaddr Format for System V Release 4 Loopback Transports | |||
Although RFC1833 specifies the uaddr as the XDR data type string | Although RFC 1833 specifies the uaddr as the XDR data type string | |||
(hence, limited to US-ASCII), implementations of the System V Release | (hence, limited to US-ASCII), implementations of the System V Release | |||
4 loopback transports will use an opaque string of octets. Thus the | 4 loopback transports will use an opaque string of octets. Thus, the | |||
format of a loopback transport address is any non-zero length array | format of a loopback transport address is any non-zero length array | |||
of octets. | of octets. | |||
4.2.3.2. Uaddr Format for Netid "-" | 5.2.3.2. Uaddr Format for Netid "-" | |||
There is no address format for netid "-". This netid is apparently | There is no address format for netid "-". This netid is apparently | |||
for internal use for supporting some implementations of RFC1833. | for internal use for supporting some implementations of RFC 1833. | |||
4.2.3.3. Uaddr Format for Most IPv4 Transports | 5.2.3.3. Uaddr Format for Most IPv4 Transports | |||
Most transport protocols that operate over IPv4 use 16 bit port | Most transport protocols that operate over IPv4 use 16-bit port | |||
numbers, including RDMA [6], SCTP [7], TCP [13], and UDP [14]. The | numbers, including RDMA [6], SCTP [7], TCP [13], and UDP [14]. The | |||
format of the uaddr for the above 16 bit port transports (when used | format of the uaddr for the above 16-bit port transports (when used | |||
over IPv4) is the US-ASCII string: | over IPv4) is the US-ASCII string: | |||
h1.h2.h3.h4.p1.p2 | h1.h2.h3.h4.p1.p2 | |||
The prefix, "h1.h2.h3.h4", is the standard textual form for | The prefix "h1.h2.h3.h4" is the standard textual form for | |||
representing an IPv4 address, which is always four octets long. | representing an IPv4 address, which is always four octets long. | |||
Assuming big-endian ordering, h1, h2, h3, and h4, are respectively, | Assuming big-endian ordering, h1, h2, h3, and h4 are, respectively, | |||
the first through fourth octets each converted to ASCII-decimal. The | the first through fourth octets each converted to ASCII-decimal. The | |||
suffix, "p1.p2", is a textual form for representing a service port. | suffix "p1.p2" is a textual form for representing a service port. | |||
Assuming big-endian ordering, p1 and p2 are, respectively, the first | Assuming big-endian ordering, p1 and p2 are, respectively, the first | |||
and second octets each converted to ASCII-decimal. For example, if a | and second octets each converted to ASCII-decimal. For example, if a | |||
host, in big-endian order, has an address in hexadecimal of | host, in big-endian order, has an address in hexadecimal of | |||
0xC0000207 and there is a service listening on, in big endian order, | 0xC0000207 and there is a service listening on, in big-endian order, | |||
port 0xCB51 (decimal 52049) then the complete uaddr is | port 0xCB51 (decimal 52049), then the complete uaddr is | |||
"192.0.2.7.203.81". | "192.0.2.7.203.81". | |||
4.2.3.4. Uaddr Format for Most IPv6 Transports | 5.2.3.4. Uaddr Format for Most IPv6 Transports | |||
Most transport protocols that operate over IPv6 use 16 bit port | Most transport protocols that operate over IPv6 use 16-bit port | |||
numbers, including RDMA [6], SCTP [7], TCP [13], and UDP [14]. The | numbers, including RDMA [6], SCTP [7], TCP [13], and UDP [14]. The | |||
format of the uaddr for the above 16 bit port transports (when used | format of the uaddr for the above 16-bit port transports (when used | |||
over IPv6) is the US-ASCII string: | over IPv6) is the US-ASCII string: | |||
x1:x2:x3:x4:x5:x6:x7:x8.p1.p2 | x1:x2:x3:x4:x5:x6:x7:x8.p1.p2 | |||
The suffix "p1.p2" is the service port, and is computed the same way | The suffix "p1.p2" is the service port, and is computed the same way | |||
as with uaddrs for transports over IPv4 (see Section 4.2.3.3). The | as with uaddrs for transports over IPv4 (see Section 5.2.3.3). The | |||
prefix, "x1:x2:x3:x4:x5:x6:x7:x8", is the preferred textual form for | prefix "x1:x2:x3:x4:x5:x6:x7:x8" is the preferred textual form for | |||
representing an IPv6 address as defined in Section 2.2 of RFC4291 | representing an IPv6 address as defined in Section 2.2 of RFC 4291 | |||
[3]. Additionally, the two alternative forms specified in Section | [3]. Additionally, the two alternative forms specified in Section | |||
2.2 of RFC4291 are also acceptable. | 2.2 of RFC 4291 are also acceptable. | |||
4.2.3.5. Uaddr Format for ICMP over IPv4 and IPv6 | 5.2.3.5. Uaddr Format for ICMP over IPv4 and IPv6 | |||
As ICMP is not a true transport, there is no uaddr format for ICMP. | As ICMP is not a true transport, there is no uaddr format for ICMP. | |||
The netid assignments "icmp" and "icmp6" and their shared uaddr | The netid assignments "icmp" and "icmp6" and their shared uaddr | |||
"format" are listed to prevent any registrant from allocating the | "format" are listed to prevent any registrant from allocating the | |||
netids "icmp" and "icmp6" for a purpose that would likely cause | netids "icmp" and "icmp6" for a purpose that would likely cause | |||
confusion. | confusion. | |||
4.3. Cross Referencing Between the Netid and Format Registry | 5.3. Cross Referencing between the Netid and Format Registry | |||
The last field of the netids registry is used to cross reference with | The last field of the netids registry is used to cross reference with | |||
the last field of the format registry. IANA is under no obligation | the last field of the format registry. IANA is under no obligation | |||
to maintain same numeric value in cross references when updating each | to maintain the same numeric values in cross references when updating | |||
registry; i.e. IANA is free to "re-number" these corresponding | each registry; i.e., IANA is free to "re-number" these corresponding | |||
fields. However, if IANA does so, both the netid and format | fields. However, if IANA does so, both the netid and format | |||
registries must be updated atomically. | registries must be updated atomically. | |||
4.4. Port Assignment for NFS over SCTP | 5.4. Port Assignment for NFS over SCTP | |||
Port TBD100 is assigned to NFS over SCTP for the sctp and sctp6 | ||||
netids. | ||||
5. References | Port 2049 is assigned to NFS over SCTP for the sctp and sctp6 netids. | |||
5.1. Normative References | 6. References | |||
[1] Bradner, S., "Key words for use in RFCs to Indicate Requirement | 6.1. Normative References | |||
Levels", RFC 2119, March 1997. | ||||
[2] Srinivasan, R., "Binding Protocols for ONC RPC Version 2", | [1] Srinivasan, R., "Binding Protocols for ONC RPC Version 2", | |||
RFC 1833, August 1995. | RFC 1833, August 1995. | |||
[2] Bradner, S., "Key words for use in RFCs to Indicate Requirement | ||||
Levels", BCP 14, RFC 2119, March 1997. | ||||
[3] Hinden, R. and S. Deering, "IP Version 6 Addressing | [3] Hinden, R. and S. Deering, "IP Version 6 Addressing | |||
Architecture", RFC 4291, February 2006. | Architecture", RFC 4291, February 2006. | |||
5.2. Informative References | 6.2. Informative References | |||
[4] Srinivasan, R., "RPC: Remote Procedure Call Protocol | [4] Thurlow, R., "RPC: Remote Procedure Call Protocol Specification | |||
Specification Version 2", RFC 1831, August 1995. | Version 2", RFC 5531, May 2009. | |||
[5] Shepler, S., Callaghan, B., Robinson, D., Thurlow, R., Beame, | [5] Shepler, S., Callaghan, B., Robinson, D., Thurlow, R., Beame, | |||
C., Eisler, M., and D. Noveck, "Network File System (NFS) | C., Eisler, M., and D. Noveck, "Network File System (NFS) | |||
version 4 Protocol", RFC 3530, April 2003. | version 4 Protocol", RFC 3530, April 2003. | |||
[6] Talpey, T. and B. Callaghan, "Remote Direct Memory Access | [6] Talpey, T. and B. Callaghan, "Remote Direct Memory Access | |||
Transport for Remote Procedure Call", | Transport for Remote Procedure Call", RFC 5666, January 2010. | |||
draft-ietf-nfsv4-rpcrdma-09 (work in progress), December 2008. | ||||
[7] Stewart, R., "Stream Control Transmission Protocol", RFC 4960, | [7] Stewart, R., Ed., "Stream Control Transmission Protocol", | |||
September 2007. | RFC 4960, September 2007. | |||
[8] Narten, T. and H. Alvestrand, "Guidelines for Writing an IANA | [8] Narten, T. and H. Alvestrand, "Guidelines for Writing an IANA | |||
Considerations Section in RFCs", BCP 26, RFC 5226, May 2008. | Considerations Section in RFCs", BCP 26, RFC 5226, May 2008. | |||
[9] Postel, J., "Internet Control Message Protocol", STD 5, | [9] Postel, J., "Internet Control Message Protocol", STD 5, | |||
RFC 792, September 1981. | RFC 792, September 1981. | |||
[10] American Telephone and Telegraph Company, "UNIX System V, | [10] American Telephone and Telegraph Company, "UNIX System V, | |||
Release 4 Programmer's Guide: Networking Interfaces, ISBN | Release 4 Programmer's Guide: Networking Interfaces, ISBN | |||
0139470786", 1990. | 0139470786", 1990. | |||
skipping to change at page 12, line 34 | skipping to change at page 14, line 5 | |||
[12] Deering, S. and R. Hinden, "Internet Protocol, Version 6 (IPv6) | [12] Deering, S. and R. Hinden, "Internet Protocol, Version 6 (IPv6) | |||
Specification", RFC 2460, December 1998. | Specification", RFC 2460, December 1998. | |||
[13] Postel, J., "Transmission Control Protocol", STD 7, RFC 793, | [13] Postel, J., "Transmission Control Protocol", STD 7, RFC 793, | |||
September 1981. | September 1981. | |||
[14] Postel, J., "User Datagram Protocol", STD 6, RFC 768, | [14] Postel, J., "User Datagram Protocol", STD 6, RFC 768, | |||
August 1980. | August 1980. | |||
Appendix A. Acknowledgements | Appendix A. Acknowledgments | |||
Lisa Dusseault, Lars Eggert, Pasi Eronen, Tim Polk, Juergen | Lisa Dusseault, Lars Eggert, Pasi Eronen, Tim Polk, Juergen | |||
Schoenwaelder, and Robert Sparks reviewed the document and gave | Schoenwaelder, and Robert Sparks reviewed the document and gave | |||
valuable feed back. | valuable feedback. | |||
Appendix B. RFC Editor Notes | ||||
[RFC Editor: please remove this section prior to publication.] | ||||
[RFC Editor: Please replace occurrences of RFCTBD1 with the RFCxxxx | ||||
where xxxx is the RFC number assigned to the document referenced in | ||||
[6].] | ||||
[RFC Editor: Please replace occurrences of RFCTBD2 with the RFCyyyy | ||||
where yyyy is the RFC number assigned to this document.] | ||||
[IANA: Please use port 2049 for NFS/SCTP, as this is consistent with | ||||
NFS/TCP and NFS/UDP.] | ||||
[RFC Editor: Please replace occurrences of TBD100 with port assigned | ||||
to SCTP over NFS.] | ||||
Author's Address | Author's Address | |||
Mike Eisler | Mike Eisler | |||
NetApp | NetApp | |||
5765 Chase Point Circle | 5765 Chase Point Circle | |||
Colorado Springs, CO 80919 | Colorado Springs, CO 80919 | |||
US | US | |||
Phone: +1-719-599-9026 | Phone: +1-719-599-9026 | |||
Email: mike@eisler.com | EMail: mike@eisler.com | |||
End of changes. 98 change blocks. | ||||
238 lines changed or deleted | 223 lines changed or added | |||
This html diff was produced by rfcdiff 1.37b. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |