One document matched: draft-ietf-pcp-dhcp-08.xml


<?xml version="1.0" encoding="US-ASCII"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd">
<?rfc toc="yes"?>
<?rfc tocompact="yes"?>
<?rfc tocdepth="5"?>
<?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-ietf-pcp-dhcp-08" ipr="trust200902">
  <front>
    <title abbrev="PCP DHCP Options">DHCP Options for the Port Control
    Protocol (PCP)</title>

    <author fullname="Mohamed Boucadair" initials="M." surname="Boucadair">
      <organization>France Telecom</organization>

      <address>
        <postal>
          <street></street>

          <city>Rennes</city>

          <region></region>

          <code>35000</code>

          <country>France</country>
        </postal>

        <email>mohamed.boucadair@orange.com</email>
      </address>
    </author>

    <author fullname="Reinaldo Penno" initials="R." surname="Penno">
      <organization>Cisco</organization>

      <address>
        <postal>
          <street></street>

          <code></code>

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

        <email>repenno@cisco.com</email>
      </address>
    </author>

    <author fullname="Dan Wing" initials="D." surname="Wing">
      <organization abbrev="Cisco">Cisco Systems, Inc.</organization>

      <address>
        <postal>
          <street>170 West Tasman Drive</street>

          <city>San Jose</city>

          <region>California</region>

          <code>95134</code>

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

        <email>dwing@cisco.com</email>
      </address>
    </author>

    <date day="05" month="August" year="2013" />

    <workgroup>PCP Working Group</workgroup>

    <keyword>PCP Server discovery, Port Mapping, Shared Address</keyword>

    <abstract>
      <t>This document specifies DHCP (IPv4 and IPv6) options to configure
      hosts with Port Control Protocol (PCP) Server IP addresses. The use of
      DHCPv4 or DHCPv6 depends on the PCP deployment scenario.</t>
    </abstract>

    <note title="Requirements Language">
      <t>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 <xref
      target="RFC2119">RFC 2119</xref>.</t>
    </note>
  </front>

  <middle>
    <section title="Introduction">
      <t>This document defines DHCPv4 <xref target="RFC2131"></xref> and
      DHCPv6 <xref target="RFC3315"></xref> options that can be used to
      provision PCP server <xref target="RFC6887"></xref> IP addresses.</t>

      <t>This specification assumes a PCP server is reachable with one or
      multiple IP addresses. As such, a list of IP addresses can be returned
      in the PCP server DHCP option.</t>

      <t>This specification allows to return one or multiple instances of the
      PCP server DHCP option. This is used as a hint to guide the PCP client
      whether it needs to send PCP requests to one or multiple PCP
      servers.</t>

      <t>When multiple instances of the PCP server DHCP option or multiple IP
      addresses are received from the DHCP server, the PCP client follows the
      behavior specified in <xref
      target="I-D.ietf-pcp-server-selection"></xref>.</t>

      <t>The use of DHCPv4 or DHCPv6 depends on the PCP deployment
      scenarios.</t>
    </section>

    <section title="Terminology">
      <t>This document makes use of the following terms:<?rfc subcompact="yes" ?></t>

      <t><list style="symbols">
          <t>PCP server denotes a functional element that receives and
          processes PCP requests from a PCP client. A PCP server can be
          co-located with or be separated from the function (e.g., NAT,
          Firewall) it controls. Refer to <xref target="RFC6887"></xref>.</t>

          <t>PCP client denotes a PCP software instance responsible for
          issuing PCP requests to a PCP server. Refer to <xref
          target="RFC6887"></xref>.</t>

          <t>DHCP refers to both DHCPv4 <xref target="RFC2131"></xref> and
          DHCPv6 <xref target="RFC3315"></xref>.</t>

          <t>DHCP client (or client) denotes a node that initiates requests to
          obtain configuration parameters from one or more DHCP servers.</t>

          <t>DHCP server (or server) refers to a node that responds to
          requests from DHCP clients.</t>
        </list><?rfc subcompact="no" ?></t>
    </section>

    <section title="DHCPv6 PCP Server Option">
      <t></t>

      <section title="Format">
        <t>The format of the DHCPv6 PCP server option is shown in <xref
        target="dhcpv6_name_option"></xref>.</t>

        <t><figure anchor="dhcpv6_name_option"
            title="PCP Server  DHCPv6 Option">
            <preamble></preamble>

            <artwork><![CDATA[    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |      OPTION_PCP_SERVER        |         Option-length         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   |                         ipv6-address                          |
   |                                                               |
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   |                         ipv6-address                          |
   |                                                               |
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                              ...                              |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

]]></artwork>

            <postamble></postamble>
          </figure>The fields of the option shown in <xref
        target="dhcpv6_name_option"></xref> are as follows:<?rfc subcompact="yes" ?></t>

        <t><list style="symbols">
            <t>Option-code: OPTION_PCP_SERVER (TBA, see <xref
            target="iana6"></xref>)</t>

            <t>Option-length: Length of the 'PCP server IP Address(es)' field
            in octets. MUST be a multiple of 16.</t>

            <t>PCP server IPv6 Address(es): Includes one or more IPv6
            addresses <xref target="RFC4291"></xref> of the PCP server(s) to
            be used by the PCP client. Note, IPv4-mapped IPv6 addresses
            (Section 2.5.5.2 of <xref target="RFC4291"></xref>) are allowed to
            be included in this option.</t>
          </list></t>

        <t><?rfc subcompact="no" ?></t>
      </section>

      <section title="Client Behavior">
        <t>To discover a PCP server <xref target="RFC6887"></xref>, the DHCPv6
        client MUST include an Option Request Option (ORO) requesting the
        DHCPv6 PCP server option as described in Section 22.7 of <xref
        target="RFC3315"></xref> (i.e., include OPTION_PCP_SERVER on its
        OPTION_ORO).</t>

        <t>The client MUST be prepared to receive multiple instances of the
        DHCPv6 PCP server option; each instance is treated as a separate PCP
        server.</t>

        <t>The client MUST be prepared to receive one or multiple IPv6
        addresses in the same PCP server option.</t>

        <t>If an IPv4-mapped IPv6 address is received in an OPTION_PCP_SERVER
        option, the PCP client issues IPv4 PCP messages to that PCP server.
        This behavior is compliant with the behavior of Windows and Mac OS as
        reported in Section 4.2 of <xref target="RFC6052"></xref>. </t>

        <t>When multiple instances of the PCP server DHCPv6 option or multiple
        IPv6 addresses are received from the DHCPv6 server, the PCP client
        follows the behavior specified in <xref
        target="I-D.ietf-pcp-server-selection"></xref>.</t>
      </section>
    </section>

    <section title="DHCPv4 PCP Option">
      <t></t>

      <section title="Format">
        <t>The PCP server DHCPv4 option can be used to configure a list of
        IPv4 addresses to be used by the PCP client to contact the PCP server.
        The format of this option is illustrated in <xref
        target="dhcppcp"></xref>.</t>

        <t><figure anchor="dhcppcp" title="PCP Server DHCPv4 Option">
            <preamble></preamble>

            <artwork><![CDATA[
    Code   Len   PCP server IPv4 Address  PCP server IPv4 Address
   +-----+-----+-----+-----+-----+-----+-----+-----+--
   | TBA |  n  |  a1 |  a2 |  a3 |  a4 |  a1 |  a2 | ...
   +-----+-----+-----+-----+-----+-----+-----+-----+--

]]></artwork>

            <postamble>This format assumes that an IPv4 address is encoded as
            a1.a2.a3.a4.</postamble>
          </figure></t>

        <t>The description of the fields is as follows:<?rfc subcompact="yes" ?><list
            style="symbols">
            <t>Code: OPTION_PCP_SERVER (TBA, see <xref
            target="iana4"></xref>);</t>

            <t>Length: Includes the length of included IP address(es) in
            octets; MUST be a multiple of 4.</t>

            <t>PCP server IPv4 Address(s): Contains one or more IPv4 addresses
            of the PCP server to be used by the PCP client.</t>
          </list></t>

        <t><?rfc subcompact="no" ?></t>
      </section>

      <section title="Client Behavior">
        <t>The DHCPv4 client expresses the intent to get OPTION_PCP_SERVER by
        specifying it in Parameter Request List Option <xref
        target="RFC2132"></xref>.</t>

        <t>The client MUST be prepared to receive multiple instances of the
        DHCPv4 PCP server option; each instance is treated as a separate PCP
        server.</t>

        <t>The client MUST be prepared to receive one or multiple IPv4
        addresses in the same PCP server option.</t>

        <t>When multiple instances of the PCP server DHCPv4 option or multiple
        IPv4 addresses are received from the DHCPv4 server, the PCP client
        follows the behavior specified in <xref
        target="I-D.ietf-pcp-server-selection"></xref>.</t>
      </section>
    </section>

    <section title="Configuration Guidelines (Server Side)">
      <t>DHCP servers supporting the DHCP PCP server option can be configured
      with a list of IP addresses of the PCP server(s). If multiple IP
      addresses are configured, the DHCP server should be explicitly
      configured whether all or some of these addresses refer to:</t>

      <t><list style="numbers">
          <t>the same PCP server: the DHCP server returns multiple addresses
          in the same instance of the DHCP PCP server option.</t>

          <t>distinct PCP servers: the DHCP server returns multiple instances
          of the DHCP PCP server option to the requesting client; each
          instance is referring to a distinct PCP server. For example,
          multiple OPTION_PCP_SERVER instances may be configured to a PCP
          client in some deployment contexts such as multi-homing. It is out
          of scope of this document to enumerate all deployment scenarios that
          require multiple OPTION_PCP_SERVER instances to be returned.</t>
        </list></t>

      <t>The DHCP server may be configured with one or multiple FQDNs of the
      PCP server(s). In such case, the DHCP server must resolve these FQDNs
      into one or a list of IP addresses from pre-configured DNS server(s). If
      multiple FQDNs are configured to the DHCP server, the DHCP server must
      include multiple OPTION_PCP_SERVER instances; each of them carries one
      or a list of IP addresses that resulted from the FQDN resolution. DHCPv4
      servers supporting PCP server option must resolve any configured FQDN
      into an IPv4 address while DHCPv6 servers may resolve any configured
      FQDN into an IPv6 and/or IPv4 address. If an IPv4 address is retrieved
      by the DHCPv6 server, the corresponding IPv4-mapped IPv6 address is
      included in the OPTION_PCP_SERVER DHPCv6 option. If both IPv4 and IPv6
      addresses are retrieved by the DHCPv6 server, these addresses are
      included in the same OPTION_PCP_SERVER DHPCv6 option (IPv4 addresses are
      represented as IPv4-mapped IPv6 addresses).<list style="empty">
          <t>Discussion: The motivation for this design is to accommodate
          deployment cases where an IPv4 connectivity service is provided
          while only DHPCv6 is in use (e.g., an IPv4-only PCP server in a
          DS-Lite context <xref target="RFC6333"></xref>).</t>
        </list></t>

      <t>For guidelines on providing context-specific configuration
      information (e.g., returning a regional-based configuration), and
      information on how a server might be configured with FQDNs that get
      resolved on demand, see <xref
      target="I-D.lemon-dhc-topo-conf"></xref>.</t>
    </section>

    <section title="Dual-Stack Hosts">
      <t>A Dual-Stack host may receive an OPTION_PCP_SERVER via both DHCPv4
      and DHCPv6. The content of these OPTION_PCP_SERVER options may refer to
      the same or distinct PCP Servers. This is deployment-specific and as
      such it is out of scope of this document. </t>
    </section>

    <section anchor="mif" title="Hosts with Multiple Interfaces">
      <t>A host may have multiple network interfaces (e.g, 3G, IEEE 802.11,
      etc.); each configured differently. Each PCP server learned MUST be
      associated with the interface via which it was learned. Refer to <xref
      target="I-D.ietf-pcp-server-selection"></xref> and Section 8.4 of <xref
      target="RFC6887"></xref> for more discussion on multi-interface
      considerations.</t>
    </section>

    <section anchor="Security" title="Security Considerations">
      <t>The security considerations in <xref target="RFC2131"></xref> and
      <xref target="RFC3315"></xref> are to be considered. PCP-related
      security considerations are discussed in <xref
      target="RFC6887"></xref>.</t>
    </section>

    <section anchor="IANA" title="IANA Considerations">
      <t></t>

      <section anchor="iana6" title="DHCPv6 Option">
        <t>IANA is requested to assign the following new DHCPv6 Option Code in
        the registry maintained in
        http://www.iana.org/assignments/dhcpv6-parameters:</t>

        <texttable style="headers">
          <ttcol align="right">Option Name</ttcol>

          <ttcol>Value</ttcol>

          <c>OPTION_PCP_SERVER</c>

          <c>TBA</c>
        </texttable>
      </section>

      <section anchor="iana4" title="DHCPv4 Option">
        <t>IANA is requested to assign the following new DHCPv4 Option Code in
        the registry maintained in
        http://www.iana.org/assignments/bootp-dhcp-parameters/:</t>

        <texttable style="headers">
          <ttcol align="right">Option Name</ttcol>

          <ttcol>Value</ttcol>

          <c>OPTION_PCP_SERVER</c>

          <c>TBA</c>
        </texttable>

        <t></t>
      </section>
    </section>

    <section anchor="Acknowledgements" title="Acknowledgements">
      <t>Many thanks to B. Volz, C. Jacquenet, R. Maglione, D. Thaler, T.
      Mrugalski, T. Reddy, S. Cheshire and M. Wasserman for their review and
      comments.</t>

      <t>Special thanks to T. Lemon for the review and his continuous effort
      to enhance this specification.</t>
    </section>
  </middle>

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

      <?rfc include='reference.RFC.3315'?>

      <?rfc include='reference.RFC.2131'?>

      <?rfc include='reference.RFC.4291'?>

      <?rfc include='reference.RFC.2132'?>

      <?rfc include='reference.I-D.ietf-pcp-server-selection'?>

      <?rfc include='reference.RFC.6887'?>
    </references>

    <references title="Informative References">
      <?rfc include='reference.I-D.lemon-dhc-topo-conf'?>

      <?rfc include='reference.RFC.6333'?>

      <?rfc include='reference.RFC.6052'?>
    </references>
  </back>
</rfc>

PAFTECH AB 2003-20262026-04-23 20:44:20