<?xml version="1.0" encoding="US-ASCII"?>

<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>

<?rfc toc="yes"?>
<?rfc tocdepth="3"?>
<?rfc tocindent="yes"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes"?>
<?rfc compact="yes"?>
<?rfc subcompact="no"?>
<?rfc rfcedstyle="yes"?>

<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
  <!ENTITY rfc2119 PUBLIC ''   'reference.RFC.2119.xml'>
  <!ENTITY rfc5213 PUBLIC ''   'reference.RFC.5213.xml'>
  <!ENTITY rfc5844 PUBLIC ''   'reference.RFC.5844.xml'>
  <!ENTITY rfc6463 PUBLIC ''   'reference.RFC.6463.xml'>
  <!ENTITY rfc6757 PUBLIC ''   'reference.RFC.6757.xml'>
  <!ENTITY rfc4776 PUBLIC ''   'reference.RFC.4776.xml'>
  <!ENTITY rfc5415 PUBLIC ''   'reference.RFC.5415.xml'>
  <!ENTITY rfc5416 PUBLIC ''   'reference.RFC.5416.xml'>
  <!ENTITY rfc5139 PUBLIC ''   'reference.RFC.5139.xml'>
  <!ENTITY rfc5808 PUBLIC ''   'reference.RFC.5808.xml'>
  <!ENTITY rfc7222 PUBLIC ''   'reference.RFC.7222.xml'>
]>

<rfc number="7563"
     category="std" 
     updates = "6757" 
     ipr="trust200902" 
     submissionType="IETF"
     consensus="yes">

<front>

<title abbrev="Extensions to ANI">
Extensions to the Proxy Mobile IPv6 (PMIPv6) Access Network Identifier Option
</title>



<author fullname="Rajesh S. Pazhyannur" initials="R.P" surname="Pazhyannur">
<organization>Cisco Systems</organization>
<address>
<postal>
<street>170 West Tasman Drive</street>
<city>San Jose</city>
<region>California</region>
<code>95134</code>
<country>United States</country>
</postal>
<email>rpazhyan@cisco.com</email>
</address>
</author>

<author fullname="Sebastian Speicher" initials="S." surname="Speicher">
<organization>Cisco Systems</organization>
<address>
<postal>
<street>Richtistrasse 7</street>
<city>Wallisellen, Zurich</city>
<region></region>
<code>8304</code>
<country>Switzerland</country>
</postal>
<email>sespeich@cisco.com</email>      
</address>
</author>


<author initials="S" surname="Gundavelli" fullname="Sri Gundavelli">
<organization abbrev="">Cisco Systems</organization>
<address>
<postal>
<street>170 West Tasman Drive</street>
<city>San Jose</city> 
<region>California</region>
<code>95134</code>
<country>United States</country>
</postal>
<email>sgundave@cisco.com</email>
</address>
</author>

  <author initials="J" surname="Korhonen" fullname="Jouni Korhonen">
      <organization abbrev="">Broadcom Corporation</organization>
      <address>
        <postal>
          <street>3151 Zanker Road</street>
          <city>San Jose</city>
          <region>California</region>
          <code>95134</code>
          <country>United States</country>
        </postal>
        <email>jouni.nospam@gmail.com</email>
      </address>
    </author>

     <author initials="J" surname="Kaippallimalil" fullname="John Kaippallimalil">
      <organization abbrev="">Huawei</organization>
      <address>
        <postal>
          <street>5340 Legacy Drive, Suite 175</street>
          <city>Plano</city>
          <region>Texas</region>
          <code>75024</code>
          <country>United States</country>
        </postal>
        <email>john.kaippallimalil@huawei.com</email>
      </address>
    </author>


<date month="June" year="2015" />
<area>Internet</area>
<workgroup>NETEXT WG</workgroup>

<!-- [rfced] Please insert any keywords (beyond those that appear in the
title) for use on http://www.rfc-editor.org/search/rfc_search.php. -->
<keyword>example</keyword>


<abstract>
<t>
The Access Network Identifier (ANI) mobility option was introduced in RFC
6757, "Access Network Identifier (ANI) Option for Proxy Mobile IPv6". 
This enables a Mobile Access Gateway (MAG) to 
convey identifiers like the network identifier, geolocation, and operator identifier. 
This specification extends the Access Network Identifier mobility option 
with sub-options to carry the civic location and the MAG group identifier. 
This specification also defines an ANI Update-Timer sub-option that determines  
when and how often the ANI option will be updated.   
</t>
   
</abstract>

</front>
<middle>

<section anchor="sec:introduction"  title="Introduction">
    <t>
     "Access Network Identifier (ANI) Option for Proxy Mobile IPv6" <xref target="RFC6757"/> introduced the ANI mobility 
     option. This enabled a Mobile Access Gateway (MAG) to provide the Network-Identifier, Geo-Location, and Operator-Identifier 
     sub-options. When the access network is WLAN, the Network-Identifier
     sub-option may contain the Service Set Identifier (SSID) and the Basic Service Set Identifier (BSSID)
     of the Access Point (AP) and the geolocation of the AP, and the 
     Operator-Identifier may contain the realm of the operator managing the WLAN. 
     The MAG sends the above information to the Local Mobility Anchor (LMA). The LMA may use this information to determine 
     access-network-specific policies (in terms of Quality of Service (QoS), Deep Packet Inspection (DPI), etc.). Further, the LMA may make this 
     information available to location-based applications.  
   </t> 
	
   <t>
    While the above mentioned sub-options provide a rich set of information, in this document we describe the
    need for extending the ANI sub-options that are particularly useful in WLAN deployments. 
 In WLAN deployments 
    (especially indoor AP deployments), it is difficult to provide geospatial
    coordinates of APs.  At the same time, for many location-based
    applications the civic location is sufficient. This motivates the need for
    an ANI Civic-Location sub-option. In many deployments, operators tend to create groups of APs into "AP-Groups". These groups have a group
    identifier. The group identifier is used as a proxy for coarse location
    (such as the floor of a building or a small building). 
    The group identifier may also be used to provide a common policy (e.g., QoS, charging, DPI) for all APs in that group. 
    This specification provides a sub-option for the MAG to convey a group identifier to the LMA. The provisioning of 
    the group identifier is outside the scope of this specification and is typically done via a configuration mechanism 
    such as CLI (Command-line Interface) or via Control and Provisioning of
    Wireless Access Points (CAPWAP) <xref target = "RFC5415"/> <xref target="RFC5416"/>. 
</t>

<t>
	This document also provides a new sub-option
    that determines how often the MAG will update the ANI. In typical deployments, it is expected that the MAG will update 
    the ANI as soon as it changes. This is certainly true when the MAG is co-located with the AP. When a client roams from one 
    AP to another AP, the MAG on the roamed (or sometimes referred to as the
    target) AP will provide the new ANI (for example, the network identifier and geolocation of the new AP). 
    However, if the MAG is co-located with an Access Controller (also known as Wireless LAN Controller (WLC)), then a client
    roaming from one AP to another AP does not necessarily perform an ANI
    update. The WLC handles client mobility between APs and as a result,
    intra-WLC mobility is hidden from the LMA.</t>

<t>	In such deployments, the information conveyed in the ANI sub-options
(e.g., location) becomes stale and is only refreshed at the time of lifetime
expiry. The MAG could deal with this by sending a Proxy Binding Update (PBU) whenever a client moves between APs just for the
      purpose of updating the ANI sub-option. Alternately, this document allows the
      LMA to determine how often it wants to know about the changes in the ANI
      sub-option; for example, in some cases the LMA may not care about the ANI
      sub-option except at the time of initial binding, or in some cases it
      may care about every AP transition. The sub-option allows the LMA to tell
      the MAG the desired update frequency. As always, mobility events or
      re-registration events will update the ANI sub-options. The LMA can use
      the ANI Update-Timer option to
      set the maximum frequency at which it wants to receive ANI updates.
      This is particularly useful in environments where a MAG covers a
      large number of Wi-Fi APs and there is high client mobility between
      the APs; for example, in a stadium Wi-Fi deployment, if a
      LMA does not want ANI updates any more often than 100 seconds, then
      it can propose 100 seconds as the value for ANI Update-Timer.
   </t> 


<t>
	<xref target="RFC6757"/> provides ANI sub-options to carry geolocation information.
  In this document, we provide additional sub-options to carry the civic location 
  and group identifier.  This document also defines an ANI sub-option to enable a MAG to
  communicate how often the MAG will update the ANI information.  
</t>

</section>

<section anchor="sec:conventions_terminology" title="Conventions and Terminology">

<section anchor="sec:conventions" title="Conventions">
<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 RFC 2119 <xref target="RFC2119"/>.
</t>
</section> <!-- conventions -->



<section anchor="sec:terminology" title="Terminology">
<t>
All of the mobility-related terms used in this document are to be interpreted as defined in
<xref target="RFC5213"/> and <xref target="RFC5844"/>. In this document, Civic
Location is defined as follows. 
<list>
<t>
		Civic Location: There are two common ways to identify the location of an object,
		   either through geospatial coordinates or by so-called civic
		   addresses.  Geospatial coordinates indicate longitude, latitude, and
		   altitude, while civic addresses indicate a street address
		   or sometimes the location within a building (such as a room
		   number). Civic location refers to the civic address.
</t></list></t>
</section> <!-- Terminology -->
</section> <!-- Conventions & Terminology -->








<section title="Protocol Extension " anchor="sec:protocol">
<section title="Civic-Location Sub-Option" anchor="sec:civic-format">
<t>
The Civic-Location is a mobility sub-option carried in the Access
Network Identifier option defined in <xref target="RFC6757"/>. This 
sub-option carries the civic location information of the mobile node as known
to the MAG. The format of this option is defined below.
</t>

<figure anchor='fig:Civic-Location' title="Civic-Location Sub-Option" >
<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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|ANI Type=4     |  ANI Length   |   Format      | Reserved      |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|            civic location                                     ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+   
]]>
</artwork>
</figure> 

<t>
<list style="hanging">
<t hangText="ANI Type:">4
</t> 
 
<t hangText="ANI Length:">Total length of this sub-option in octets, excluding the ANI Type and
	ANI Length fields. 
</t>

<t hangText="Format:"> 
This specifies the encoding format of the civic location.
The value 0 is defined in this specification as described below.
The remaining values (1 through 255) are reserved.

<list style="hanging" hangIndent="6"><t>
0: This value denotes Binary Encoding. The location format is
based on the encoding format defined in Section 3.1 of
<xref target="RFC4776"/>, whereby the first 3 octets are not put into the
civic location field (i.e., the code for the DHCP option, the
length of the DHCP option, and the 'what' element are not
included). What is included is the two-octet country code field,
followed  by one or more civic address elements. The country-code
is a two-letter ISO 3166 country code in capital ASCII letters, e.g.,
US. The structure of the  civic address elements that follow the
country code field is as defined in Section 3.3 of <xref target="RFC4776"/>.
</t>
</list>
</t>
<t hangText="Reserved:"> 
This MUST be set to zero when sending and ignored when
received.
</t>

<t hangText="civic location:"> 
This field will contain the civic location. The
format (encoding) type is specified in the format field of this
sub-option. Note that the length SHALL NOT exceed 253 bytes.
</t>

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



<section title="MAG-Group-Identifier Sub-Option" anchor="sec:group-id">
<t>
The MAG group identifier is a mobility sub-option carried in the Access
Network Identifier option defined in <xref target="RFC6757"/>. The MAG
group identifier identifies the group affiliation of the MAG 
within that Proxy Mobile IPv6 domain. The group identifier is not assumed to be globally unique 
across different network operators. However, the group identifier should be unique
within an operator network. In domains spanning multiple operators, it is
recommended that 
the Operator-Identifier sub-option (defined in <xref target="RFC6757"/>) be
used in addition to the MAG-Group-Identifier sub-option to ensure uniqueness.
When the MAG is configured with a group identifier, the MAG should send its 
group identifier in the PBU. Note that the configuration of this identifier is
outside the scope of this specification; the usage of the identifier by the LMA is left 
to implementation. The format of this sub-option is defined below.
</t>
<figure anchor='fig:group-id' title="MAG-Group-Identifier Sub-Option" >
<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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|ANI Type=5     |  ANI Length   |  group identifier             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]>
</artwork>
</figure> 

<t>
<list style="hanging">
<t hangText="ANI Type:">5
</t> 
 
<t hangText="ANI Length:">Total length of this sub-option in octets, excluding the ANI Type and
	ANI Length fields. The value is always 2.  
</t>

<t hangText="group identifier:"> This is a 3-octet unsigned integer value
assigned to a group of MAGs. 
</t>
</list>
</t>
</section>



<section title="ANI Update-Timer Sub-Option" anchor="sec:ani-u-f-format">
<t>
The ANI Update-Timer is a mobility sub-option carried in the 
ANI option defined in <xref target="RFC6757"/>.  <xref target="sec:considerations"/>
describes how the MAG and LMA use this sub-option.
</t>


<figure anchor='fig:Update-Timer' title="ANI Update-Timer Sub-Option" >
<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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|ANI Type=6     |  ANI Length   |       Update-Timer            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]>
</artwork>
</figure> 

<t>
<list style="hanging">
<t hangText="ANI Type:">6
</t> 
 
<t hangText="ANI Length:">Total length of this sub-option in octets, excluding the ANI 
Type and ANI Length fields. The value is always 2.
</t>

<t hangText="Update-Timer:"> Update-Timer is a 16-bit unsigned integer. The
unit of time is 4 seconds (time unit of 4 seconds ensures consistency with the
time units for the binding lifetime). A value of 0 indicates that the MAG will
send an updated ANI mobility option as soon as it discovers a change in ANI
values. A non-zero value indicates that the MAG may not send ANI values
immediately after they have changed but rather send ANI updates when the
Update&nbhy;Timer expires.
</t>
</list>
</t>
</section>
</section>


   
<section anchor="sec:considerations"  title="Protocol Considerations">
	<t> 
    The following considerations apply to the LMA and
   the MAG. 
	</t>
	<section anchor="secc:mag_considerations"  title="MAG Considerations">
       <t>
	       <list style = "symbols" >
  <t> 
      The conceptual Binding Update List entry data structure maintained
      by the mobile access gateway, described in Section 6.1 of
      <xref target="RFC5213"/>, is extended to store the access-network-related
      information elements associated with the current session.
      Specifically, the following parameters are defined:  
	      <list> 
		 <t> civic location </t>
		 <t> MAG group identifier</t>
		 <t> ANI Update-Timer </t>
	 </list>
 </t>
<t>
	If the mobile access gateway is configured to support the Access
	      Network Information sub-options defined in this specification, 
	     it includes this option with the
	      specific sub-options in all PBU messages
	      (including PBUs for lifetime extension and for
	      deregistration) that it sends to the LMA.  The
	      Access Network Information option is constructed as specified
	      in <xref target="sec:protocol" />.  
</t> 


<t> ANI Update-Timer Considerations: The MAG sets the Update-Timer based on an exchange of timer values with the LMA.
When the ANI Update-Timer sub-option is carried in a PBU, it is considered
as a proposed value for the Update-Timer. The LMA may change the value of the
Update-Timer received in the PBU. When the LMA-provided value for the
Update-Timer is different than what is sent by the MAG, the MAG should use the
LMA-provided value. If the MAG does not receive an ANI Update-Timer sub-option in the
Proxy Binding Acknowledgement (PBA) (in response to sending the sub-option in the PBU), then MAG behavior is in accordance to <xref target="RFC6757"/>.

When ANI parameters of a mobility session change, the MAG checks whether the Update-Timer has expired. If the Update-Timer has expired, the MAG sends a PBU with the ANI option. The ANI option reflects the updated access network parameters for that mobility session. If the Update-Timer has not expired, the MAG does not send a PBU.

When the Update-Timer for a mobility session expires, the MAG checks whether
the ANI parameters have changed. If the parameters have changed from the last
reported values, the MAG sends a PBU with an ANI option. If the parameters have not changed, the MAG does not send a PBU (and the Update-Timer remains expired).

Note that the MAG may send a PBU even before the Update-Timer expires. This could be, for example, to initiate a QoS service request to the LMA (see <xref target="RFC7222"/>). In such cases, the MAG must reset the Update-Timer when it sends a PBU.
</t>

<t>
	If the mobile access gateway had any of the Access Network Information mobility options
	included in the PBU sent
	   to an LMA, then the PBA
	   received from the LMA should contain the Access Network Information mobility option with the specific sub-options.
	   If the mobile access gateway receives a PBA
	   with a successful Status Value but without an Access Network Information mobility option,
	   then the mobile access gateway may
	   log the event and, based on its local policy, even proceed to
	   terminate the mobility session.  In this case, the mobile access gateway knows the
	   LMA does not understand the Access Network Information mobility option.
</t>
 </list>
 </t>
</section>
<section anchor="secc:lma_considerations"  title="LMA Considerations">
	<t>
	<list style = "symbols">
	<t> 
      The conceptual Binding Cache entry data structure maintained by
      the LMA, described in Section 5.1 of <xref target="RFC5213"/>,
      is extended to store the access-network-related information
      elements associated with the current session.  Specifically, the
      following parameters are defined:
          <list style = "symbols"> 
		 <t> civic location </t>
		 <t> MAG group identifier </t>
		 <t> ANI Update-Timer </t>
	 </list>
 </t>
 <t>
      On receiving a PBU message 
     from a
      MAG with the ANI option,
      the LMA must process the option and update the
      corresponding fields in the Binding Cache entry.  If the option is
      not understood by that LMA implementation, it will skip the
      option and process the PBU without these options.
 </t>
<t>
If the received PBU message does not include the Access Network Information option, then the mobility session
      associated with that PBU is updated to
      remove any access network information elements.
</t>
 <t>
	 If the LMA understands/supports the Access Network Identifier mobility sub-options defined in this specification, 
	 then the LMA
      echoes the Access Network Identifier mobility option with the
      specific sub-option(s) that it accepted back to the mobile access gateway 
      in a PBA.  The Civic-Location and MAG-Group-Identifier sub-options defined in this specification should not be
      altered by the LMA.  The LMA may change the value of the ANI Update-Timer sub-option. 
     It may choose to either echo the same value or increase or decrease the timer value.
	 For example, if the LMA does not 
	 want to receive frequent updates (as implied by the timer value), 
	 it may choose to increase the value. Similarly,  
	 if the LMA needs to receive ANI updates as soon as possible, then it may 
	 set the value to zero (0) in the PBA. 
 </t> 
 </list>
 </t> 
</section>
</section>
   
   
   
<section anchor="sec:iana"  title="IANA Considerations">

<t>
IANA has registered the values described below. 
</t>

<t>
<list style="symbols">
<t>
This specification defines a new Access Network Identifier sub-option called
the Civic-Location sub-option.  This mobility sub-option is described in 
<xref target="sec:civic-format"/> and this sub-option can be carried in the
Access Network Identifier mobility option. The type value &lt;4&gt; 
has been allocated from the registry "Access Network Information (ANI)
Sub-Option Type Values".
</t>

<t>
This specification defines a new Access Network Identifier sub-option called
the MAG-Group-Identifier sub-option. This mobility sub-option is described in
<xref target="sec:group-id"/> and this sub-option can be carried in Access
Network Identifier mobility option.  The type value &lt;5&gt; 
has been allocated from the registry "Access Network Information
(ANI) Sub-Option Type Values".  
</t>

<t>
This specification defines a new Access Network Identifier sub-option called the
ANI Update-Timer sub-option.  This sub-option is described in <xref target="sec:ani-u-f-format"/>
and this sub-option can be carried in the Access Network Identifier mobility
option.  The type value &lt;6&gt; has been allocated from the registry "Access
Network Information (ANI) Sub-Option Type Values".  
</t>


</list>
</t>

</section>



<section anchor="sec:secons"  title="Security Considerations">
<t>
The Civic-Location sub-option defined in this specification is carried in the 
Access Network Identifier option defined in  <xref target="RFC6757"/>. This sub-option is carried 
in PBU and PBA messages. This sub-option is carried 
like any other Access Network Identifier sub-option as defined in <xref target="RFC6757"/>. Therefore,
it inherits its security guidelines from <xref target="RFC5213"/> and <xref
target="RFC6757"/> and
does not require any additional security considerations. 
</t>

<t>
 The Civic-Location sub-option exposes the civic location of the network to which the mobile
   node is attached.  This information is considered to be very
   sensitive, so care must be taken to secure the Proxy Mobile IPv6
   signaling messages when carrying this sub-option.  The base Proxy
   Mobile IPv6 specification <xref target="RFC5213"/> specifies the use of IPsec for
   securing the signaling messages, and those mechanisms can be enabled
   for protecting this information. Operators can potentially apply
   IPsec Encapsulating Security Payload (ESP) with confidentiality and
   integrity protection for protecting the location information.
   The other way to protect the sensitive location information of network
users is of course to not send it in the first place.  Users of the
Civic-Location sub-option should provision location values with the
highest possible level of granularity, e.g., to the province or city
level rather than provisioning specific addresses.
   </t>

   <t>
   Access-network-specific information elements that the mobile access gateway sends may have been dynamically learned over DHCP or using
   other protocols.  If proper security mechanisms are not in place, the
   exchanged information between the MAG and LMA may be compromised.  This situation may result in
   incorrect service policy enforcement at the LMA and
   impact other services that depend on this access network
   information.  This threat can be mitigated by ensuring the
   communication path between the mobile access gateway and the access points is properly secured by the use of IPsec, Transport Layer
   Security (TLS), or other security protocols.
   </t>

</section>

</middle>
<back>


<references title="Normative References">
&rfc2119;
&rfc4776;
&rfc5213;
&rfc5844;
&rfc6757;
&rfc7222;
</references>

<references title="Informative References">
&rfc5415;
&rfc5416;

</references>

<section anchor="sec:ack" title="Acknowledgements" numbered="no">
<t>This document benefited considerably from the numerous improvements
proposed by Kent Leung.</t>
</section>
</back>
</rfc>
