<?xml version="1.0" encoding="US-ASCII"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!-- One method to get references from the online citation libraries.
     There has to be one entity for each item to be referenced. 
     An alternate method (rfc include) is described in the references. -->
<!ENTITY RFC2119 SYSTEM "http://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY RFC2131 SYSTEM "http://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2131.xml">
<!ENTITY RFC2132 SYSTEM "http://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2132.xml">
<!ENTITY RFC3315 SYSTEM "http://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.3315.xml">
<!ENTITY RFC5213 SYSTEM "http://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.5213.xml">
<!ENTITY RFC5844 SYSTEM "http://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.5844.xml">
<!ENTITY RFC4649 SYSTEM "http://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.4649.xml">
<!ENTITY RFC3046 SYSTEM "http://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.3046.xml">
<!ENTITY RFC6225 SYSTEM "http://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.6255.xml">
<!ENTITY RFC2939 SYSTEM "http://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2939.xml">
<!ENTITY RFC1035 SYSTEM "http://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.1035.xml">
<!ENTITY RFC2434 SYSTEM "http://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2434.xml">
<!ENTITY RFC3118 SYSTEM "http://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.3118.xml">
<!ENTITY RFC6757 SYSTEM "http://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.6757.xml">
<!ENTITY RFC4030 SYSTEM "http://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.4030.xml">
<!ENTITY RFC4301 SYSTEM "http://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.4301.xml">
<!ENTITY RFC3629 SYSTEM "http://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.3629.xml">
<!ENTITY RFC6991 SYSTEM "http://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.6991.xml">
<!ENTITY DHCPv6-IANA-Registry SYSTEM "http://www.iana.org/assignments/dhcpv6-parameters/dhcpv6-parameters.xml">
<!ENTITY DHCPv4-IANA-Registry SYSTEM "http://www.iana.org/assignments/bootp-dhcp-parameters/bootp-dhcp-parameters.xml">
]>
<?rfc toc="yes"?>
<?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-ietf-dhc-access-network-identifier-13"
     ipr="trust200902">
  <front>
    <title abbrev="ANI Options for DHCPv4 and DHCPv6">Access Network
    Identifier Option in DHCP</title>





    <author fullname="Shwetha Bhandari" initials="S." surname="Bhandari">
      <organization>Cisco Systems</organization>

      <address>
        <postal>
          <street>Cessna Business Park, Sarjapura Marathalli Outer Ring
          Road</street>

          <city>Bangalore</city>

          <region>KARNATAKA</region>

          <code>560 087</code>

          <country>India</country>
        </postal>

        <phone>+91 80 4426 0474</phone>

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

    <author fullname="Sri Gundavelli" initials="S." surname="Gundavelli">
      <organization>Cisco Systems</organization>

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

          <city>San Jose</city>

          <region>CA</region>

          <code>95134</code>

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

        <email>sgundave@cisco.com</email>

        <!-- uri and facsimile elements may also be added -->
      </address>
    </author>

    <author fullname="Mark Grayson" initials="M." surname="Grayson">
      <organization>Cisco Systems</organization>

      <address>
        <postal>
          <street>11 New Square Park</street>

          <city>Bedfont Lakes</city>

          <region>FELTHAM</region>

          <code>TW14 8HA</code>

          <country>England</country>
        </postal>

        <email>mgrayson@cisco.com</email>

        <!-- uri and facsimile elements may also be added -->
      </address>
    </author>

    <author fullname="Bernie Volz" initials="B." surname="Volz">
      <organization>Cisco Systems</organization>

      <address>
        <postal>
          <street>1414 Massachusetts Ave</street>

          <city>Boxborough,</city>

          <region>MA</region>

          <code>01719</code>

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

        <email>volz@cisco.com</email>

        <!-- uri and facsimile elements may also be added -->
      </address>
    </author>

    <author fullname="Jouni Korhonen " initials="J." surname="Korhonen">
      <organization>Broadcom Communications</organization>

      <address>
        <postal>
          <street>Porkkalankatu 24</street>

          <city>FIN-00180 Helsinki</city>

          <region></region>

          <code></code>

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

        <phone></phone>

        <email>jouni.nospam@gmail.com</email>
      </address>
    </author>

    <date day="01" month="February" year="2016" />

    <abstract>
      <t>This document specifies the format and mechanism that is to be used
      for encoding access network identifiers in DHCPv4 and DHCPv6 messages by
      defining new access network identifier options and sub-options.</t>
    </abstract>
  </front>

  <middle>
    <section title="Introduction">
      <t>Access network identification (ANI) of a network device has a range
      of applications. For example the local mobility anchor in a Proxy Mobile
      IPv6 domain is able to provide access network and access operator
      specific handling or policing of the mobile node traffic using
      information about the access network to which the mobile node is
      attached.</t>

      <t>This document specifies Dynamic Host Configuration Protocol for IPv4
      (DHCPv4) <xref target="RFC2131"></xref> and Dynamic Host Configuration
      Protocol for IPv6 (DHCPv6) <xref target="RFC3315"></xref> options for
      access network identification that is added by Relay agent in the DHCPv4
      or DHCPv6 messages towards the Server. The scope of applicability for this
      option is between a DHCP relay agent and a mobile access gateway where the 
      same operator typically operates both these functions
      </t>

      <t>Dynamic Host Configuration Protocol (DHCP) relay agent aware of the
      access network and access operator add this information in the DHCP
      messages. This information can be used to provide differentiated
      services and policing of traffic based on the access network to which a
      client is attached. Examples of how this information can be used in
      mobile networks can be found in <xref target="RFC6757"></xref>.</t>
    </section>

    <section title="Motivation">
      <t>Proxy mobile IPv6 <xref target="RFC5213"></xref> can be used for
      supporting network-based mobility management in various types of network
      deployments. The network architectures, such as Service provider Wi-Fi
      access aggregation or, WLAN integrated mobile packet core are examples
      where Proxy Mobile IPv6 is a component of the overall architecture. Some
      of these architectures require the ability of the local mobility anchor
      (LMA) <xref target="RFC5213"></xref> to provide differentiated services
      and policing of traffic to the mobile nodes based on the access network
      to which they are attached. Policy systems in mobility architectures
      such as PCC <xref target="TS23203"></xref> and ANDSF <xref
      target="TS23402"></xref> in 3GPP system allow configuration of policy
      rules with conditions based on the access network information. For
      example, the service treatment for the mobile node's traffic may be
      different when they are attached to a access network owned by the home
      operator than when owned by a roaming partner. The service treatment can
      also be different based on the configured Service Set Identifiers (SSID)
      in case of IEEE 802.11 based access networks. Other examples of services
      include the operator's ability to apply tariff based on the
      location.</t>

      <t>The PMIPv6 extension as specified in <xref target="RFC6757"></xref>
      defines PMIPv6 options to carry access network identifiers in PMIPv6
      signaling from Mobile Access Gateway (MAG) to LMA. MAG can learn this
      information from DHCP options as inserted by DHCP Relay agent before
      MAG. If MAG relays DHCP messages to LMA as specified in <xref
      target="RFC5844"></xref> this information can be inserted by MAG towards
      LMA in the forwarded DHCP messages.</t>

      <t>
      Figure 1, illustrates an example Proxy Mobile IPv6 deployment. In this example,
      the access network is IEEE 802.11 based access-network, the DHCP Relay Agent
      function is located on the access point (AP), and the DHCP Server function is
      located on the MAG. The MAG delivers the information elements related to the access
      network to the LMA over Proxy Mobile IPv6 signaling messages. The MAG obtains
      these information elements from the DHCP Relay Agent as per this specification.
      The informational elements related to the access network include the SSID of
      the used IEEE 802.11 network, the geo-location of the access-network to which
      the mobile node is attached, and the identity of the operator running the IEEE
      802.11 access network infrastructure.
      </t>

      <t><figure title="Access Networks attached to MAG">
          <artwork><![CDATA[
       SSID: IETF-1
       Operator-Id: provider1.example
       
       +--+
       |AP|-----------.                    {Access Specific Policies)
       +--+           | (DHCP Server)   _-----_             |
       (DHCP Relay) +-----+           _(       )_        +-----+
                    | MAG |-=========(   PMIPv6  )======-| LMA |-
                    +-----+           (_ Tunnel_)        +-----+
       +--+           |                 '-----'
       |AP|-----------'
       +--+
       (DHCP Relay)
       
       SSID: IETF-2
       Operator-Id: provider2.example
]]></artwork>
        </figure></t>
    </section>

    <!-- SECTION 3: TERMINOLOGY   			                               -->

    <section anchor="sec3" title="Terminology">
      <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"></xref>.</t>

      <t>All the DHCP related terms used in this document are to be
      interpreted as defined in the Dynamic Host Configuration Protocol
      (DHCPv4) <xref target="RFC2131"></xref> and Dynamic Host Configuration
      Protocol for IPv6 (DHCPv6) <xref target="RFC3315"></xref>
      specifications. DHCP message refers to both DHCPv4 and DHCPv6 messages
      throughout this document.</t>

      <t>All the mobility related terms used in this document are to be
      interpreted as defined in the Proxy Mobile IPv6 specifications <xref
      target="RFC5213"></xref> and <xref target="RFC5844"></xref>.
      Additionally, this document uses the following abbreviations:</t>

      <t>Service Set Identifier (SSID)</t>

      <t><list style="empty">
          <t>Service Set Identifier (SSID) identifies the name of the IEEE
          802.11 network. SSID differentiates from one network to the
          other.</t>
        </list></t>
      
      <t>Operator-Identifier</t>

      <t><list style="empty">
          <t>The Operator-Identifier is the Structure of Management
          Information (SMI) Network Management Private Enterprise Code of the
          IANA- maintained "Private Enterprise Numbers" registry <xref
          target="SMI"></xref>. It identifies the operator running the
          access-network where the client is attached. </t>
        </list></t>
    </section>

    <!--  SECTION 4: DHCPv4 Access-Network-Identifier Option  -->

    <section anchor="sec4" title="DHCPv4 Access-Network-Identifier Option">
      <t>The Access Network Identifier carries information to identify the
      access network to which the client is attached. This information
      includes access technology type, network identifier, and access-network
      operator identifiers.</t>

      <t>Relay agents that include Access Network Identifier information
      include one or more sub-options (see Section 4.1) in the Relay Agent
      Information option <xref target="RFC3046"></xref>.</t>

      <!--  SECTION 4.1: DHCPv4 Access-Network-Identifier Sub-options  -->

      <section anchor="sec_4-1"
               title="DHCPv4 Access-Network-Identifier Sub-options">
        <t>The access network identifier information will be defined in
        multiple sub-options, allocated from the DHCP Relay Agent Sub-Option
        Codes.</t>

        <t>ANI Sub-options: The ANI Sub-options consists of a sequence of
        Sub-Option Code, Length, and Value tuples for each sub-option, encoded
        in the following manner:</t>

        <t><figure>
            <artwork><![CDATA[
    SubOpt  Len     Sub-option Data
   +------+------+------+------+------+------+--...-+------+
   | code |   N  |  s1  |  s2  |  s3  |  s4  |      |  sN  |
   +------+------+------+------+------+------+--...-+------+
]]></artwork>
          </figure></t>

        <t><list style="hanging">
            <t hangText="Subopt code"><vspace blankLines="0" /> The 1-octet
            code for the sub-options defined in the following sections.</t>

            <t hangText="Len"><vspace blankLines="0" />An unsigned 8-bit
            integer giving the length of the Sub-option Data field in this
            sub-option in octets.</t>

            <t hangText="Sub-option Data (s1 to sN)"><vspace blankLines="0" />
            The data area for the sub-option.</t>
          </list></t>

        <t>The initial assignment of DHCP access network identifier
        sub-options is as follows: <figure suppress-title="true">
            <artwork><![CDATA[  
   +=================+=======================================+
   | SUB-OPTION CODE |      SUB-OPTION DESCRIPTION           |              
   +=================+=======================================+
   |    <IANA-1>     | Access Technology Type Sub-option     | 
   +=========================================================+
   |    <IANA-2>     | Access Network Name Sub-option        |
   +=========================================================+
   |    <IANA-3>     | Access Point Name Sub-option          |
   +=========================================================+
   |    <IANA-4>     | Access Point BSSID Sub-option         |
   +=========================================================+
   |    <IANA-5>     | Operator-Identifier Sub-option        |
   +=========================================================+
   |    <IANA-6>     | Operator-Realm Sub-option             |
   +=========================================================+
]]></artwork>
          </figure></t>
      </section>

      <!--  SECTION 4.2: DHCPv4 Access-Network-Type Option  -->

      <section anchor="sec_4-2"
               title="DHCPv4 Access-Technology-Type Sub-option">
        <t>This sub-option is used for exchanging the type of the access
        technology of the network to which the client is attached. Its format
        is as follows:</t>

        <t><figure>
            <artwork><![CDATA[
    0                   1                   2                   3
    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |  Subopt Code  |     Length    |   Reserved    |      ATT      |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
          </figure></t>

        <t><list style="hanging">
            <t hangText="Subopt Code"><vspace blankLines="0" />
            &lt;IANA-1&gt;.</t>

            <t hangText="Length"><vspace blankLines="0" />2.</t>

            <t hangText="Reserved"><vspace blankLines="0" />An 8-bit field
            that is unused for now. The value MUST be initialized to 0 by the
            sender and MUST be ignored by the receiver.</t>

            <t hangText="Access-Technology-Type (ATT)"><vspace
            blankLines="0" /> An 8-bit field that specifies the access
            technology through which the client is connected to the access
            link from the IANA name space Access Technology Type Option type
            value registry defined in <xref target="RFC5213"></xref>.
            
            
            </t>
          </list></t>
      </section>

      <!--  SECTION 4.3: Network-Identifier BSSID sub-option  -->

      <section anchor="sec_4-3" title="DHCPv4 Network-Identifier Sub-options">
        <t>These sub-options are used for carrying the name of the access
        network (e.g., a SSID in case of IEEE 802.11 Access Network, or PLMN
        Identifier <xref target="TS23003"></xref> in case of 3GPP access) and
        Access Point name to which the client is attached. The format of these
        sub-options is defined the following sections. The Network-Identifier
        sub-options are only for the currently known access technology types.
        </t>

        <!--  SECTION 4.3-1: Network name sub-option  -->

        <section anchor="sec_4-3-1" title="DHCPv4 Network Name Sub-option">
          <t><figure suppress-title="true">
              <artwork><![CDATA[
    0                   1                   2                   3
    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |  Subopt Code  |     Length    |                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               |
   .                                                               .
   .                     Network Name (e.g., SSID or PLMNID)       .
   .                                                               .
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
            </figure></t>

          <t><list style="hanging">
              <t hangText="Subopt Code"><vspace blankLines="0" />
              &lt;IANA-2&gt;.</t>

              <t hangText="Length"><vspace blankLines="0" /> The length of the
              Network Name field.</t>

              <t hangText="Network Name"><vspace blankLines="0" /> The name of
              the access network to which the mobile node is attached. The
              encoding MUST be UTF-8 as described in <xref
              target="RFC3629"></xref>.</t>

              <t>The type of the Network Name is dependent on the access
              technology to which the mobile node is attached. For IEEE 802.11
              based networks, the network name will be the SSID of the
              network. For 3GPP access based it is the PLMN Identifier of the
              access network and for 3GPP2 access, the Network Name is the
              Access Network Identifier<xref target="ANI"> </xref>.</t>

              <t>When encoding the PLMN Identifier, both the Mobile Network
              Code (MNC) [TS23003] and Mobile Country Code (MCC) [TS23003]
              MUST be 3 digits. If the MNC in use only has 2 digits, then it
              MUST be preceded with a '0'.</t>
            </list></t>
        </section>

        <!--  SECTION 4.3.2: Access-Point name sub-option  -->

        <section anchor="sec_4-3-2"
                 title="DHCPv4 Access-Point Name Sub-option">
          <t><figure suppress-title="true">
              <artwork><![CDATA[    
    0                   1                   2                   3
    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |  Subopt Code  |     Length    |                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               |
   .                                                               .
   .                        Access-Point Name                      .
   .                                                               .
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 ]]></artwork>
            </figure></t>

          <t><list style="hanging">
              <t hangText="Subopt Code"><vspace blankLines="0" />
              &lt;IANA-3&gt;.</t>

              <t hangText="Length"><vspace blankLines="0" /> The length of the
              Access-Point Name field.</t>

              <t hangText="Access-Point Name"><vspace blankLines="0" /> The
              name of the access point (physical device name) to which the
              mobile node is attached. This is the identifier that uniquely
              identifies the access point. While Network Name (e.g., SSID)
              identifies the operator's access network, Access-Point Name
              identifies a specific network device in the network to which the
              mobile node is attached. In some deployments, the Access-Point
              Name can be set to the string representation of the Media Access
              Control (MAC) address as specified in <xref
              target="RFC6991"></xref> mac-address string type of the device
              or some unique identifier that can be used by the policy systems
              in the operator network to unambiguously identify the device.
              The encoding MUST be UTF-8 as described in <xref
              target="RFC3629"></xref>.</t>
            </list></t>
        </section>

        <!--  SECTION 4.3.3: Access-Point BSSID sub-option  -->

        <section anchor="sec_4-3-3"
                 title="DHCPv4 Access-Point BSSID Sub-option">
          <t><figure suppress-title="true">
              <artwork><![CDATA[    
    0                   1                   2                   3
    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |  Subopt Code  |     Length    |                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               |
   |                        Access-Point BSSID                     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
            </figure></t>

          <t><list style="hanging">
              <t hangText="Subopt Code"><vspace blankLines="0" />
              &lt;IANA-4&gt;.</t>

              <t hangText="Length"><vspace blankLines="0" /> 6.</t>

              <t hangText="Access-Point BSSID "><vspace blankLines="0" /> The
              48-bit Basic Service Set Identification (BSSID) of the access
              point to which the mobile node is attached.</t>
            </list></t>
        </section>
      </section>





      <!--  SECTION 4.4: Operator identifier sub-options  -->

      <section anchor="sec_4-4" title="DHCPv4 Operator Identifier Sub-options">
        <t>The Operator identifier sub-options can be used for carrying the
        operator identifiers of the access network to which the client is
        attached. The format of these sub-options is defined below.</t>
        
        
        
        

        <!--  SECTION 4.4.1: Operator Identifier Sub-option  -->

        <section anchor="sec_4-4-1"
                 title="DHCPv4 Operator-Identifier Sub-option">
          <t><figure>
              <artwork><![CDATA[    
    0                   1                   2                   3
    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 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |  Subopt Code  |     Length    |                               .
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   .      Operator-Identifier      |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
            </figure></t>

          <t><list style="hanging">
              <t hangText="Subopt Code">&lt;IANA-5&gt;.</t>

              <t hangText="Length"><vspace blankLines="0" /> 4.</t>

              <t hangText="Operator-Identifier">Operator-Identifier as a variable-length Private Enterprise
              Number (PEN) <xref target="SMI"/> encoded in a network-byte order. Please refer to (section 3.1.3 of
              <xref target="RFC6757"/>) for additional details.
              </t>
              
            </list></t>
        </section>




        <!--  SECTION 4.4.2: Operator Realm Sub-option  -->

        <section anchor="sec_4-4-2" title="DHCPv4 Operator-Realm Sub-option">
          <t><figure>
              <artwork><![CDATA[
    0                   1                   2                   3
    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 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |  Subopt Code  |     Length    |                               |
   |-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               |
   .                                                               .
   .                        Operator-Realm                         .
   .                                                               .
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
            </figure></t>

          <t><list style="hanging">
              <t hangText="Subopt Code"><vspace blankLines="0" />
              &lt;IANA-6&gt;.</t>

              <t hangText="Length"><vspace blankLines="0" /> The length of the
              Operator Realm field.</t>

              <t hangText="Operator-Realm"><vspace blankLines="0" />Realm of
               the operator (e.g., EXAMPLE.COM). Please refer to (section 3.1.3 of
               <xref target="RFC6757"/>) for additional details.</t>

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

    <!--  SECTION 5: DHCPv6 Access-Network-Identifier options  -->

    <section anchor="sec_5" title="DHCPv6 Access-Network-Identifier Options">
      <t>The Access Network Identifier options defined here may be added by
      the DHCPv6 Relay agent in Relay-forward messages.</t>

      <t><figure suppress-title="true">
          <artwork><![CDATA[
   +=================+=======================================+
   |    OPTION CODE  |      OPTION DESCRIPTION               |              
   +=================+=======================================+
   |    <IANA-7>     | OPTION_ANI_ATT                        | 
   +=========================================================+
   |    <IANA-8>     | OPTION_ANI_NETWORK_NAME               |
   +=========================================================+
   |    <IANA-9>     | OPTION_ANI_AP_NAME                    |
   +=========================================================+
   |    <IANA-10>    | OPTION_ANI_AP_BSSID                   |
   +=========================================================+
   |    <IANA-11>    | OPTION_ANI_OPERATOR_ID                |
   +=========================================================+
   |    <IANA-12>    | OPTION_ANI_OPERATOR_REALM             |
   +=========================================================+
]]></artwork>
        </figure></t>

      <!--  SECTION 5.1: DHCPv6 Access-Network-Type option  -->

      <section anchor="sec_5-1" title="DHCPv6 Access-Technology-Type Option">
        <t>This option is used for exchanging the type of the access
        technology the client is attached to the network. Its format is as
        follows:</t>

        <t><figure>
            <artwork><![CDATA[   
     0                   1                   2                   3
     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_ANI_ATT        |           Option-Len          |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |   Reserved    |       ATT     |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
          </figure></t>

        <t><list style="hanging">
            <t hangText="Option-Code"><vspace blankLines="0" /> OPTION_ANI_ATT
            (&lt;IANA-7&gt;).</t>

            <t hangText="Option-Len"><vspace blankLines="0" /> 2.</t>

            <t hangText="Reserved"><vspace blankLines="0" />An 8-bit field
            that is unused for now. The value MUST be initialized to 0 by the
            sender and MUST be ignored by the receiver.</t>

            <t hangText="Access Technology Type (ATT):"><vspace
            blankLines="0" /> The contents of this field is the same as the
            ATT field described in <xref target="sec_4-2"></xref>.</t>
          </list></t>
      </section>

      <!--  SECTION 5.2: DHCPv6 Network-Identifier options  -->

      <section anchor="sec_5-2" title="DHCPv6 Network-Identifier Options">
        <t>These options can be used for carrying the name of the access
        network (e.g., a SSID in case of IEEE 802.11 Access Network, or PLMN
        Identifier <xref target="TS23003"></xref> in case of 3GPP access) and
        Access Point name to which the client is attached. The format of these
        options is defined below.</t>

        <!--  SECTION 5.2.1: Network Name option  -->

        <section anchor="sec_5-2-1" title="DHCPv6 Network Name Option">
          <t><figure suppress-title="true">
              <artwork><![CDATA[   
    0                   1                   2                   3
    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_ANI_NETWORK_NAME    |           Option-Len          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   .                                                               .
   .                     Network Name (e.g., SSID or PLMNID)       .
   .                                                               .
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 ]]></artwork>
            </figure></t>

          <t><list style="hanging">
              <t hangText="Option-Code"><vspace blankLines="0" />
              OPTION_ANI_NETWORK_NAME (&lt;IANA-8&gt;).</t>

              <t hangText="Option-Len"><vspace blankLines="0" /> The length of
              the Network Name field.</t>

              <t hangText="Network Name"><vspace blankLines="0" /> The
              contents of this field is the same as the Network Name field
              described in <xref target="sec_4-3-1"></xref>.</t>
            </list></t>
        </section>

        <!--  SECTION 5.2.2.  Access-Point Name option  -->

        <section anchor="sec_5-2-2" title="DHCPv6 Access-Point Name Option">
          <t><figure suppress-title="true">
              <artwork><![CDATA[   
    0                   1                   2                   3
    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_ANI_AP_NAME      |           Option-Len          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   .                                                               .
   .                        Access-Point Name                      .
   .                                                               .
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
            </figure></t>

          <t><list style="hanging">
              <t hangText="Option-Code"><vspace blankLines="0" />
              OPTION_ANI_AP_NAME (&lt;IANA-9&gt;).</t>

              <t hangText="Option-Len"><vspace blankLines="0" /> The length of
              the Access-Point Name field.</t>

              <t hangText="Access-Point Name"><vspace blankLines="0" /> The
              contents of this field is the same as the Access-Point Name
              field described in <xref target="sec_4-3-2"></xref>.</t>
            </list></t>
        </section>

        <!--  SECTION 5.2.3 Access-Point BSSID option  -->

        <section anchor="sec_5-2-3" title="DHCPv6 Access-Point BSSID Option">
          <t><figure suppress-title="true">
              <artwork><![CDATA[   
    0                   1                   2                   3
    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_ANI_AP_BSSID     |           Option-Len          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+   
   |                        Access-Point BSSID                     |
   +                               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
            </figure></t>

          <t><list style="hanging">
              <t hangText="Option-Code"><vspace blankLines="0" />
              OPTION_ANI_AP_BSSID (&lt;IANA-10&gt;).</t>

              <t hangText="Option-Len"><vspace blankLines="0" />6.</t>

              <t hangText="Access-Point BSSID"><vspace blankLines="0" /> The
              contents of this field is the same as the Access-Point BSSID
              field described in <xref target="sec_4-3-3"></xref>.</t>
            </list></t>
        </section>
      </section>




      <!--  SECTION 5.3 Operator identifier options  -->

      <section anchor="sec_5-3" title="DHCPv6 Operator Identifier Options">
        <t>The Operator Identifier options can be used for carrying the
        operator identifier of the access network to which the client is
        attached. The format of these options is defined below.</t>



        <!--  SECTION 5.3.1 Operator Identifier option  -->

        <section anchor="sec_5-3-1"
                 title="DHCPv6 Operator-Identifier Option">
          <t><figure>
              <artwork><![CDATA[ 
    0                   1                   2                   3
    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_ANI_OPERATOR_ID    |           Option-Len          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  
   |                      Operator-Identifier                      |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
            </figure></t>

          <t><list style="hanging">
              <t hangText="Option-Code"><vspace blankLines="0" />
              OPTION_ANI_OPERATOR_ID (&lt;IANA-11&gt;).</t>

              <t hangText="Option-Len"><vspace blankLines="0" /> 4.</t>

              <t hangText="Operator-Identifier"><vspace blankLines="0" />
               The contents of this field is the same as the
               DHCPv4 Operator-Identifier Sub-option field described in
               <xref target="sec_4-4-1"></xref>.</t>
               </list></t>
        </section>

        <!--  SECTION 5.3.2 Operator Realm Option  -->

        <section anchor="sec_5-3-2" title="DHCPv6 Operator-Realm Option">
          <t><figure>
              <artwork><![CDATA[   
    0                   1                   2                   3
    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_ANI_OPERATOR_REALM   |           Option-Len          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   .                                                               .
   .                        Operator-Realm                         .
   .                                                               .
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
            </figure></t>

          <t><list style="hanging">
              <t hangText="Option-Code"><vspace blankLines="0" />
              OPTION_ANI_OPERATOR_REALM (&lt;IANA-12&gt;).</t>

              <t hangText="Option-Len"><vspace blankLines="0" /> The length of
              the Operator Realm field.</t>

              <t hangText="Operator-Realm"><vspace blankLines="0" /> The
              contents of this field is the same as the Operator-Realm field
              described in <xref target="sec_4-4-2"></xref>.</t>
            </list></t>
        </section>
      </section>
    </section>


    <!--  SECTION 6 RA Behavior  -->

    <section anchor="sec_rabehavior" title="Relay Agent Behavior">
      <t>DHCPv4 Relay Agents MAY include sub-options defined in section 4.2
      through 4.4 in the Relay Agent Information option as defined in <xref
      target="RFC3046"></xref> for providing
      information about the access network over which DHCP messages from the
      client is received.</t>

      <t>
      The DHCPv4 Relay Agent when including any of these sub-options in the DHCP message, 
      DHCPv4 Network Name Sub-option (<xref target="sec_4-3-1"></xref>),
      DHCPv4 Access-Point Name Sub-option (<xref target="sec_4-3-2"></xref>),
      DHCPv4 Access-Point BSSID Sub-option (<xref target="sec_4-3-3"></xref>),  
      MUST include the DHCPv4 Access-Technology-Type Sub-option (<xref target="sec_4-2"></xref>)
      </t>
      
      <t>DHCPv6 Relay Agents MAY include options defined in Section 5 in
       Relay-forward message when forwarding any DHCPv6 message type from
       clients to the servers to provide information about the access network
       over which DHCPv6 messages from the client is received.</t>

      <t>
      The DHCPv6 Relay Agent when including any of these options in the DHCP message, 
      DHCPv6 Network Name Option (<xref target="sec_5-2-1"></xref>),
      DHCPv6 Access-Point Name Option (<xref target="sec_5-2-2"></xref>),
      DHCPv6 Access-Point BSSID Option (<xref target="sec_5-2-3"></xref>),  
      MUST include the DHCPv6 Access-Technology-Type Option (<xref target="sec_5-1"></xref>)
      </t>





    </section>

    <!--  SECTION 7 Server  Behavior  -->

    <section anchor="sec_serverbehavior" title="Server Behavior">
      <t>
      DHCPv4 base specification <xref target="RFC2131"></xref> requires that the 
      DHCPv4 server ignore the DHCPv4 Access Network Identifier option if it does not 
      understand the option.</t>
      
      <t>
      If the DHCPv4 server does not understand the received
      sub-option defined in sections 4.1 through 4.4 in the DHCPv4 Relay Agent Information option
      (82) it MUST ignore those sub-options only. If DHCPv4 Server is able to
      process the DHCPv4 Access Network Identifier sub-options defined in
      sections 4.1 through 4.4 received in DHCPv4 Relay Agent Information
      option, it MAY use this information obtained from the sub-option for 
      address pool selection, or for policy decisions as per its configured policy.
      This information obtained from the sub-option SHOULD NOT be stored unless
      it is absolutely needed, However, if it is stored, the information MUST be 
      deleted as quickly as possible to eliminate any possibility of 
      the information getting exposed to an intruder.
      </t>

     <t>If the received DHCPv4 message does not include
      DHCPv4 Access-Technology-Type Sub-option (<xref target="sec_4-2"></xref>), but
      if it includes any one of these other options,
      DHCPv4 Network Name Sub-option (<xref target="sec_4-3-1"></xref>),
      DHCPv4 Access-Point Name Sub-option (<xref target="sec_4-3-2"></xref>),
      or DHCPv4 Access-Point BSSID Sub-option (<xref target="sec_4-3-3"></xref>),  
      then the DHCPv4 server MUST ignore the received DHCPv4 Access-Network-Identifier 
      option and process the rest of the message as per the base DHCPv4 specifications
      </t>

      <t>
      DHCPv6 base specification <xref target="RFC3315"></xref> requires that the 
      DHCPv6 server ignore the DHCPv6 Access-Network-Identifier option if it does not 
      understand the option.</t>

      <t>If the DHCPv6 server receives the options defined in Section 5 and is
      configured to use the options defined in Section 5, it SHOULD
      look for the DHCPv6 Access Network identifier options in the
      Relay-forward message of the DHCPv6 relay agent(s) based on its
      configured policy. The server MAY use received ANI options for its
      address pool selection policy decisions as per its configured
      policy.  This information obtained from the options SHOULD NOT be stored unless
      it is absolutely needed, However, if it is stored, the information MUST be
      deleted as quickly as possible to eliminate any possibility of
      the information getting exposed to an intruder.
      </t>

      <t>
      If the received DHCPv6 message does not include
      DHCPv6 Access-Technology-Type Option (<xref target="sec_5-1"></xref>), but
      it includes any one of these other options,
      DHCPv6 Network Name Option (<xref target="sec_5-2-1"></xref>),
      DHCPv6 Access-Point Name Option (<xref target="sec_5-2-2"></xref>),
      or DHCPv6 Access-Point BSSID Option (<xref target="sec_5-2-3"></xref>),  
      then the DHCPv6 server MUST ignore the received DHCPv6 Access-Network-Identifier 
      option and process the rest of the message as per the base DHCPv6 specifications.
      </t>




    </section>

    <!--  SECTION 9 IANA Considerations  -->

    <section anchor="IANA" title="IANA Considerations">
      <t>IANA is requested to assign Sub-option codes for the following DHCPv4
      Sub-options from the "DHCP Relay Agent Sub-Option Codes" registry,
      &lt;http://www.iana.org/assignments/bootp-dhcp-parameters&gt;:</t>

      <t><figure suppress-title="true">
          <artwork><![CDATA[
   +=================+=======================================+
   | SUB-OPTION CODE |     SUB-OPTION DESCRIPTION            |              
   +=================+=======================================+
   |    <IANA-1>     | Access Technology Type Sub-option     | 
   +=========================================================+
   |    <IANA-2>     | Access Network Name Sub-option        |
   +=========================================================+
   |    <IANA-3>     | Access Point Name Sub-option          |
   +=========================================================+
   |    <IANA-4>     | Access Point BSSID Sub-option         |
   +=========================================================+
   |    <IANA-5>     | Operator Identifier Sub-option        |
   +=========================================================+
   |    <IANA-6>     | Operator Realm Sub-option             |
   +=========================================================+
 ]]></artwork>
        </figure></t>

      <t>IANA is requested to assign option codes for the following DHCPv6
      options from the "Option Codes registry for DHCPv6" registry
      &lt;http://www.iana.org/assignments/dhcpv6-parameters&gt;, as specified
      in <xref target="RFC3315"></xref>:</t>

      <t><figure>
          <artwork><![CDATA[       
   +=================+=======================================+
   |   OPTION CODE   |      OPTION DESCRIPTION               |              
   +=================+=======================================+
   |    <IANA-7>     | OPTION_ANI_ATT                        | 
   +=========================================================+
   |    <IANA-8>     | OPTION_ANI_NETWORK_NAME               |
   +=========================================================+
   |    <IANA-9>     | OPTION_ANI_AP_NAME                    |
   +=========================================================+
   |    <IANA-10>    | OPTION_ANI_AP_BSSID                   |
   +=========================================================+
   |    <IANA-11>    | OPTION_ANI_OPERATOR_ID                |
   +=========================================================+
   |    <IANA-12>    | OPTION_ANI_OPERATOR_REALM             |
   +=========================================================+
 ]]></artwork>
        </figure></t>
    </section>

    <!--  SECTION 10:  Security Considerations   	-->

    <section anchor="sec_seccons" title="Security Considerations">
      <t>Since there is no privacy protection for DHCP messages, an
      eavesdropper who can monitor the link between the DHCP server and relay
      agent can discover access network information.</t>

      <t><xref target="RFC3118"></xref> and <xref target="RFC3315"></xref>
      describe many of the threats in using DHCP. <xref
      target="RFC3118"></xref> and <xref target="RFC3315"></xref> each provide
      a solution, the Authentication Option for DHCPv4 and DHCPv6
      (respectively). However, neither of these options are in active use and
      therefore are not a viable mitigation option. DHCP itself is inherently
      insecure and thus link-layer confidentiality and integrity protection
      SHOULD be employed to reduce the risk of disclosure and tampering.</t>

      <t>It is possible for a rogue DHCP relay agent to insert or overwrite
      with incorrect access network identifier options for malicious purposes.
      A DHCP client can also pose as a rogue DHCP relay agent by sending
      incorrect access network identifier options. While the introduction of
      fraudulent DHCP relay agent information options can be prevented by a
      perimeter defense that blocks these options unless the DHCP relay agent
      is trusted, a deeper defense using the authentication sub-option for
      DHCPv4 relay agent information option <xref target="RFC4030"></xref>
      SHOULD be deployed as well. Administrators SHOULD configure DHCP servers 
      that use this option to communicate with their relay agents using IPsec, 
      as described in Section 21.1 of <xref target="RFC3315"></xref>.
      </t>

      <t>The information elements that this draft is exposing is the
      client&rsquo;s access-network information. These pertain to the access
      network to which the client is attached, such as Access Technology Type
      (Ex: WLAN, Ethernet&hellip;etc), Access Point Identity (Name, BSSID),
      Operator Id/Realm. In deployments where this information cannot be secured 
      using IPsec <xref target="RFC4301"></xref> or other security protocols, 
      administrators SHOULD disable the capability specified in this document on 
      the DHCP entities. </t>
    </section>

    <!-- SECTION 11: ACKNOWLEDGEMENTS -->

    <section anchor="Acknowledgements" title="Acknowledgments">
      <t>The authors would like to thank Kim Kinnear, Ted Lemon, Gaurav
      Halwasia, Hidetoshi Yokota, Sheng Jiang and Francis Dupont for their
      valuable inputs. And, to Tomek Mrugalski for a thorough review of the
      document.</t>
    </section>
  </middle>

  <back>
    <!-- SECTION 13: REFERENCES -->

    <!-- SECTION 13.1: NORMATIVE REFERENCES -->

    <references title="Normative References">
      &RFC2119;

      &RFC2131;

      &RFC3315;

      &RFC3046;
    </references>

    <!-- SECTION 13.2: INFNORMATIVE REFERENCES -->

    <references title="Informative References">
      &RFC3118;

      &RFC4030;

      &RFC5213;

      &RFC5844;

      &RFC6757;

      &RFC3629;

      &RFC6991;

      &RFC4301;

      <reference anchor="ANI">
        <front>
          <title>Interoperability Specification (IOS) for High Rate Packet
          Data (HRPD) Radio Access Network Interfaces with Session Control in
          the Access Network, A.S0008-A v3.0</title>

          <author fullname="3GPP2" surname="">
            <organization></organization>
          </author>

          <date month="October" year="2008" />
        </front>
      </reference>

      <reference anchor="SMI">
        <front>
          <title>PRIVATE ENTERPRISE NUMBERS, SMI Network Management Private
          Enterprise Codes</title>

          <author fullname="IANA" surname="">
            <organization></organization>
          </author>

          <date month="February " year="2011" />
        </front>
      </reference>

      <reference anchor="TS23003">
        <front>
          <title>Numbering, addressing and identification</title>

          <author fullname="3GPP" surname="">
            <organization></organization>
          </author>

          <date month="" year="2011" />
        </front>
      </reference>

      <reference anchor="TS23203">
        <front>
          <title>Policy and Charging Control Architecture</title>

          <author fullname="3GPP" surname="">
            <organization></organization>
          </author>

          <date month="" year="2012" />
        </front>
      </reference>

      <reference anchor="TS23402">
        <front>
          <title>Architecture enhancements for non-3GPP accesses</title>

          <author fullname="3GPP" surname="">
            <organization></organization>
          </author>

          <date month="" year="2012" />
        </front>
      </reference>
    </references>
  </back>
</rfc>
