One document matched: draft-cheshire-pcp-unsupp-family-01.xml


<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd">
<?rfc toc="no"?>
<?rfc tocompact="yes"?>
<?rfc tocdepth="3"?>
<?rfc tocindent="yes"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes"?>
<?rfc comments="yes"?>
<?rfc inline="yes"?>
<?rfc compact="yes"?>
<?rfc subcompact="no"?>
<rfc category="std" docName="draft-cheshire-pcp-unsupp-family-01" ipr="trust200902" updates="6887">
  <front>
    <title abbrev="PCP UNSUPP_FAMILY">PCP Unsupported Family Error</title>

    <author fullname="Stuart Cheshire" initials="S." surname="Cheshire">
      <organization abbrev="Apple">Apple Inc.</organization>
      <address>
        <postal>
          <street>1 Infinite Loop</street>
          <city>Cupertino</city>
          <region>California</region>
          <code>95014</code>
          <country>USA</country>
        </postal>
        <phone>+1 408 974 3207</phone>
        <email>cheshire@apple.com</email>
      </address>
    </author>

    <date day='29' month='May' year='2013'/>

    <workgroup>PCP working group</workgroup>

    <abstract>
      <t>The Port Control Protocol allows clients to request
      mappings in NAT gateways and firewalls. The PCP UNSUPP_FAMILY
      error code enables PCP servers to inform clients when the
      requested external address family is not supported.</t>
    </abstract>
  </front>

  <middle>

    <section anchor="terminology" title="Terminology">
      <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
      "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY",
      and "OPTIONAL" in this document are to be interpreted as described in
      <xref target="RFC2119">"Key words for use in RFCs to Indicate Requirement Levels"</xref>.</t>
    </section>

    <?rfc needLines="8" ?>
    <section anchor="intro" title="Introduction">
      <t><xref target="RFC6887">The Port Control Protocol</xref> allows
      clients to request mappings in NAT gateways and firewalls. A
      client can request a mapping to an external IPv4 address or to an
      external IPv6 address. The client signifies which family of
      external address it desires by the type of address it puts into
      the Suggested External Address field.</t>

      <t>If the client wants an external IPv4 address, then it populates
      the Suggested External Address field with an IPv4-mapped IPv6
      address (the first 80 bits set to zero, the next 16 set to one).
      This includes the case of the all-zeros IPv4 address (::ffff:0:0).</t>

      <t>If the client wants an external IPv6 address, then it populates
      the Suggested External Address field with a native IPv6 address.
      This includes the case of the all-zeros IPv6 address (::).</t>

      <t>However, some devices may not be able to provide the requested
      external address family. For example, an IPv4-only NAT cannot
      provide an external IPv6 address.</t>

      <t>Note that while the specific address placed in the Suggested
      External Address field is merely a suggestion that the PCP server
      is free to ignore, the address family is not. If the suggested
      address *family* cannot be provided by this PCP server, then it MUST
      return a PCP error reply containing the UNSUPP_FAMILY error code.</t>

      <t>The ability to provide the requested external address family may depend
      on the client's internal address. For example, a gateway that supports
      traditional NAT44, and native IPv6, but not NAT64, is able to provide
      mappings from an internal IPv4 address to an external IPv4 address, and
      mappings from an internal IPv6 address to an external IPv6 address, but not
      mappings from an internal IPv6 address to an external IPv4 address.
      When such a gateway receives a request to map an
      internal IPv4 address to an external IPv4 address it MUST return
      an external IPv4 address, if available, but when it receives a
      request to map
      an internal IPv6 address to an external IPv4 address it MUST return
      an UNSUPP_FAMILY error.</t>
    </section>

    <section anchor="iana" title="IANA Considerations">
      <t>IANA should allocate the following PCP Result Code:<list style="hanging">
        <t hangText="14">UNSUPP_FAMILY: Unsupported external address
        family, e.g., IPv6 in a NAT that handles only IPv4.  This is a
        long lifetime error.</t>
      </list></t>
    </section>

    <section anchor="security" title="Security Considerations">
      <t>This new error code leaks no sensitive information and creates no
      new security vulnerabilities.</t>
    </section>

  </middle>

  <back>
    <references title="Normative References">
      <?rfc include="reference.RFC.2119"?>
      <?rfc include="reference.RFC.6887"?>
    </references>
  </back>
</rfc>

PAFTECH AB 2003-20262026-04-24 03:03:21