RFC 6757

Access Network Identifier (ANI) Option for Proxy Mobile IPv6

πŸ“… published October 2012, from ietf

πŸŽ€ RFC 6757: Access Network Identifier (ANI) Option for Proxy Mobile IPv6 πŸ¦‹

Okay bestie, this one is written by S. Gundavelli, Ed. of Cisco, J. Korhonen, Ed. of Nokia Siemens Networks, and M. Grayson, K. Leung, and R. Pazhyannur (all Cisco) πŸ’…. It's published as a Standards Track document, which means it's an actual Internet standard, not a vibes-only suggestion 😭. The ISSN is 2070-1721, and the date is October 2012 🌸. The header doesn't list anything it obsoletes or updates, so it's standing on its own ✨.

Internet Engineering Task Force (IETF)                S. Gundavelli, Ed.
Request for Comments: 6757                                         Cisco

Abstract ✨

So the local mobility anchor in a Proxy Mobile IPv6 (PMIPv6) domain can do access-network- and access-operator-specific handling or policing of mobile node traffic πŸ”₯. It does this by using info about the access network the mobile node is attached to, which is so iconic. This spec defines a mechanism and a related mobility option for carrying the access network identifier and the access operator identification info from the mobile access gateway to the local mobility anchor over PMIPv6 🧚.

Status of This Memo ✨

Quick vibe check: this is an Internet Standards Track document πŸ’–. It's a product of the Internet Engineering Task Force (IETF), it represents the consensus of the IETF community, it got public review, and the Internet Engineering Steering Group (IESG) approved it for publication 🫢. If you want more info on Internet Standards, check Section 2 of RFC 5741 🌈.

For the current status, any errata, and how to send feedback, go to http://www.rfc-editor.org/info/rfc6757 πŸ“.

Copyright (c) 2012 IETF Trust and the persons identified as the document authors. All rights reserved πŸ’œ.

This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents, which you can find at http://trustee.ietf.org/license-info as of the publication date πŸ“œ. Please actually read these, because they spell out your rights and restrictions for this document πŸ™ˆ. Code components pulled from this document must include Simplified BSD License text, as described in Section 4.e of the Trust Legal Provisions, and they come without warranty, same as the Simplified BSD License says πŸ’€.

Table of Contents 🧚

1. Introduction ....................................................3
2. Conventions and Terminology .....................................5
   2.1. Conventions ................................................5
   2.2. Terminology ................................................5
3. Access Network Identifier Option ................................5
   3.1. Format of the Access Network Identifier Sub-Option .........6
        3.1.1. Network-Identifier Sub-Option .......................7
        3.1.2. Geo-Location Sub-Option .............................8
        3.1.3. Operator-Identifier Sub-Option ......................9
4. Protocol Considerations ........................................10
   4.1. Mobile Access Gateway Considerations ......................10
   4.2. Local Mobility Anchor Considerations ......................13
5. IANA Considerations ............................................14
6. Protocol Configuration Variables ...............................15
7. Security Considerations ........................................16
8. Acknowledgements ...............................................17
9. References .....................................................17
   9.1. Normative References ......................................17
   9.2. Informative References ....................................18

1. Introduction ✨

Okay so Proxy Mobile IPv6 [RFC5213] handles network-based mobility management in all kinds of network deployments 🌸. Setups like service provider Wi-Fi access aggregation, or a Wireless Local Area Network (WLAN) integrated with a mobile packet core, are examples where PMIPv6 is one piece of the bigger architecture πŸ¦‹. Some of these need the local mobility anchor (LMA) [RFC5213] to give differentiated services and to police traffic to mobile nodes based on which access network they're attached to πŸ”₯. Policy systems like the Policy and Charging Control (PCC) Framework [TS23203] and the Access Network Discovery and Selection Function (ANDSF) [TS23402] in Third Generation Partnership Project (3GPP) systems let you set up policy rules with conditions based on access network info πŸ’….

For example, the service treatment for a mobile node's traffic might be different when it's on an access network owned by the home operator versus one owned by a roaming partner πŸ‘€. It can also change based on the configured Service Set Identifiers (SSIDs) when the access networks are based on IEEE 802.11 πŸ“. Other location services include the operator showing a location-specific web page or applying tariffs based on location 🌈.

Now here's the tea πŸ«–. The Proxy Mobile IPv6 specification [RFC5213] requires the Access Technology Type (ATT) option to be carried from the mobile access gateway (MAG) to the local mobility anchor. This is a mandatory option πŸ’–. But the Access Technology Type alone isn't always enough for a suitable policy to be applied at the local mobility anchor 😭. So there's a need for extra access-network-related info to be available at the local mobility anchor 🫢. The LMA may not be able to learn who the access network operator is without an extra policy framework that gives it that info out of band πŸ™ˆ. That policy framework isn't required for every PMIPv6 deployment, so we need an alternative, optional way to carry this info so the extra access-network details are available when they're needed ✨.

This document defines a new mobility option, the Access Network Identifier (ANI) option, plus its sub-options for Proxy Mobile IPv6 πŸŽ€. The mobile access gateway can use it to signal access network info to the local mobility anchor 🧚. How the LMA actually uses the ANI option is out of scope here πŸ™…β€β™€οΈ. This info is meant for use between infrastructure nodes that provide mobility management, and it isn't exposed to outside entities. That keeps the location of the network the mobile node is attached to, plus any other access-network-specific info, from being revealed to other mobile nodes in the PMIPv6 domain or to nodes outside it 🌸. Still, the location and access info MAY be exposed to specific parties outside the PMIPv6 domain, but only based on an agreement approved by the subscriber πŸ’œ. Otherwise, this info MUST NOT be exposed without such agreements πŸ”’. If location info does go outside the PMIPv6 domain, it MUST be done using a Presence Information Data Format Location Object (PIDF-LO) [RFC5139] that carries the usage rules the subscriber agreed to πŸ¦‹. This mobility option is optional and not mandatory for the Proxy Mobile IPv6 protocol 🌈. The Access Technology Type option, though, is still a mandatory option and always needs to be carried in the Proxy Mobile IPv6 signaling messages πŸ’–.

Here's the picture πŸ“Έ:

       SSID: IETF-1
       Geo-Location: 37o49'11"N 122o28'43"W
       Operator-Identifier: provider1.example.com
       +--+
       |AP|-------.                        {Access-Specific Policies)
       +--+       |             _-----_             |
                +-----+       _(       )_        +-----+
                | MAG |-=====(   PMIPv6  )======-| LMA |-
                +-----+       (_ Tunnel_)        +-----+
       +--+       |             '-----'
       |AP|-------'
       +--+
       SSID: IETF-2
       Geo-Location: 59o19'40.21"N  18o 3'18.36"E
       Operator-Identifier: provider2.example.com

                 Figure 1: Access Networks Attached to MAG

Figure 1 shows an example PMIPv6 deployment where the mobile access gateway delivers access-network info to the local mobility anchor through PMIPv6 signaling messages πŸ§šβ€β™€οΈ. In this example, the extra info could include the SSID of the IEEE 802.11 network in use, the geo-location of the network the mobile node is attached to, and the identities of the operators running that IEEE 802.11 access network infrastructure 🫢.

2. Conventions and Terminology ✨

2.1. Conventions πŸ’…

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 [RFC2119] πŸ“š.

2.2. Terminology 🧠

All the mobility-related terms in this document should be read the way they're defined in the Proxy Mobile IPv6 specifications [RFC5213] and [RFC5844] 🌸. This doc also uses these abbreviations:

Service Set Identifier

Service Set Identifier (SSID) is the name of the IEEE 802.11 network πŸ“Ά. It's how one network gets told apart from another πŸ¦‹.

Operator-Identifier

The Operator-Identifier is the Structure of Management Information (SMI) Network Management Private Enterprise Code from the "Private Enterprise Numbers" registry, which IANA maintains [SMI] 🏒. It identifies the operator running the network attached to a specific interface of the mobile access gateway πŸ’œ.

3. Access Network Identifier Option πŸŽ€

The Access Network Identifier option is a mobility header option that's used to swap access-network info between a local mobility anchor and a mobile access gateway 🧚. You can include it in both Proxy Binding Update (PBU) and Proxy Binding Acknowledgement (PBA) messages πŸ’–. There MUST NOT be more than a single instance of this mobility option in one mobility message πŸ™…β€β™€οΈ. The Access Network Identifier mobility option MUST contain one or more Access Network Identifier sub-options 🫢. The sub-option is described in Section 3.1 🌈.

The alignment requirement for this option is 4n [RFC2460] πŸ“.

    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |      Type     |   Length      |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                  ...      ANI Sub-option(s) ...                   ~
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                Figure 2: Access Network Identifier Option

Here are the fields πŸ‘‘:

  • Type: MUST be set to the value of 52, indicating that it is a Network-Identifier option πŸ”₯.
  • Length: This is an 8-bit unsigned integer that tells you the length in octets of the option, excluding the Type and Length fields πŸ“.

3.1. Format of the Access Network Identifier Sub-Option πŸŽ€

okay so this is where the sub-options get their actual shape πŸ’… The Access Network Identifier sub-options carry info about the access network your mobile node is hooked up to. They can be included in the Access Network Identifier option from Section 3. Here's the layout:

    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   | ANI Length    |         Option Data           ~
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Figure 3: Access Network Identifier Sub-Option

  • ANI Type: an 8-bit unsigned integer that tells you what kind of sub-option this is πŸ¦‹ The spec defines these types:
    • 0 - Reserved
    • 1 - Network-Identifier sub-option
    • 2 - Geo-Location sub-option
    • 3 - Operator-Identifier sub-option
  • ANI Length: an 8-bit unsigned integer counting the octets needed for the Option Data. It doesn't include the ANI Type and ANI Length fields themselves 🧚

3.1.1. Network-Identifier Sub-Option 🌸

the Network-Identifier is a mobility sub-option riding inside the Access Network Identifier option from Section 3 πŸ’– It carries the name of the access network your mobile node is attached to. For example, that's an SSID on IEEE 802.11 or a PLMN Identifier [TS23003] for 3GPP access. There MUST be no more than a single instance of this specific sub-option in any Access Network Identifier option. Here's the format:

    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=1    |  ANI Length   |E|   Reserved  | Net-Name Len  |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                     Network Name (e.g., SSID or PLMNID)       ~
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | AP-Name Len   |        Access-Point Name                      ~
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Figure 4: Network-Identifier Sub-Option

  • ANI Type: MUST be set to the value of (1), which means it's the Network-Identifier sub-option 🎯
  • ANI Length: the total length of this sub-option in octets, not counting the ANI Type and ANI Length fields. It can range from 5 to 32 octets πŸ“
  • E: a 1-bit flag saying whether the Network Name is encoded in UTF-8 [RFC3629]. If it's set to one (1), the Network Name is UTF-8. If it's set to zero (0), the encoding is undefined and is figured out by out-of-band mechanisms πŸ€·β€β™€οΈ Implementations SHOULD use UTF-8 encoding. the vibe is UTF-8, periodt ✨
  • Reserved: MUST be set to zero when sending and ignored when received πŸ™ˆ
  • Net-Name Length: an 8-bit field for the length of the Network Name in octets. This field MUST NOT be set to zero 🚫
  • Network Name: the name of the access network the mobile node is attached to. Its type depends on the access technology:
    • If it's 802.11 access, the Network Name MUST be the SSID of the network πŸ“Ά
    • If it's 3GPP access, the Network Name is the PLMN Identifier of the network πŸ“±
    • If it's 3GPP2 access, the Network Name is the Access Network Identifier [ANI] 🌐

When you encode 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'. Encoding MUST be UTF-8. this part is so detail-oriented and I'm obsessed 😭

  • AP-Name Len: an 8-bit field for the length of the Access-Point Name in octets. If the Access-Point Name isn't included, this length MUST be set to a value of zero πŸ“
  • Access-Point Name: the name of the access point (the physical device name) the mobile node is attached to. This is the identifier that uniquely pins down the access point. The Network Name (like an SSID) tells you which operator's access network it is, while the Access-Point Name points at one specific network device. In some deployments, the Access-Point Name can be set to the Media Access Control (MAC) address of the device, or some unique identifier that policy systems in the operator network can use to unambiguously identify the device. The string is carried in UTF-8 representation πŸ’œ

3.1.2. Geo-Location Sub-Option πŸ¦‹

the Geo-Location is another mobility sub-option in the Access Network Identifier option from Section 3 🌍 It carries the geo-location of the network the mobile node is attached to, as far as the mobile access gateway knows. There MUST be no more than a single instance of this specific sub-option in any Access Network Identifier option. The format encodes the coordinates of an ellipsoid point, based on the coordinate reference system from the World Geodetic System 1984 [WGS84].

    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=2   | ANI Length=6  |       Latitude Degrees
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                   |              Longitude Degrees                |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Figure 5: Geo-Location ANI Sub-Option

  • ANI Type: MUST be set to the value of (2), which means it's the Geo-Location sub-option πŸ—ΊοΈ
  • ANI Length: the total length of this sub-option in octets, not counting the ANI Type and ANI Length fields. It MUST be set to a value of (6) ✨
  • Latitude Degrees: a 24-bit latitude degree value, encoded as a two's complement fixed point number with 9 whole bits. Positive degrees mean the Northern Hemisphere, and negative degrees mean the Southern Hemisphere. The value ranges from -90 to +90 degrees 🌏
  • Longitude Degrees: a 24-bit longitude degree value, encoded as a two's complement fixed point number with 9 whole bits. The value ranges from -180 to +180 degrees 🧭

3.1.3. Operator-Identifier Sub-Option πŸ‘‘

the Operator-Identifier is a mobility sub-option carried in the Access Network Identifier option from Section 3 🫢 It carries the Operator-Identifier of the access network the mobile node is attached to. There MUST be no more than a single instance of this specific sub-option in any Access Network Identifier option. Here's the format:

    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=3    |    ANI Length   |   Op-ID Type  |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                            Operator-Identifier                    ~
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Figure 6: Operator-Identifier Sub-Option

  • ANI Type: It MUST be set to the value of (3), which means it's the Operator-Identifier sub-option πŸŽ€
  • ANI Length: the total length of this sub-option in octets, not counting the ANI Type and ANI Length fields πŸ“
  • Op-ID Type: an 8-bit unsigned integer for the type of the Operator-Identifier. These types are defined right now:
    • 0 - Reserved.
    • 1 - Operator-Identifier as a variable-length Private Enterprise Number (PEN) [SMI], encoded in network-byte order. The maximum PEN depends on the ANI Length and is calculated with this formula: maximum PEN = 2^((ANI_length-1)*8)-1. For example, an ANI Length of 4 allows PENs from 0 to 2^24-1, i.e., from 0 to 16777215, and uses 3 octets of Operator-Identifier space πŸ”’
    • 2 - Realm of the operator. Realm names are required to be unique, and they're piggybacked on the administration of the DNS namespace. Realms meet the syntactic requirements of the "Preferred Name Syntax" defined in Section 2.3.1 of [RFC1035]. They're encoded as US-ASCII. 3GPP specifications also define realm names that can convey PLMN Identifiers [TS23003] 🌈
  • Operator-Identifier: up to 253 octets of the Operator-Identifier. How it's encoded depends on the Operator-Identifier Type being used. For Operator-Identifiers defined in this specification, the Operator-Identifier MUST NOT be empty πŸ™…β€β™€οΈ

4. Protocol Considerations ✨

the following considerations apply to the local mobility anchor and the mobile access gateway πŸ’œ

4.1. Mobile Access Gateway Considerations πŸŽ€

  • okay so the conceptual Binding Update List entry data structure the mobile access gateway keeps, described in Section 6.1 of [RFC5213], MUST be extended to store the access-network-related information elements tied to the current session πŸ’–. Specifically, the following parameters MUST be defined:
    • Network-Identifier
    • Operator-Identifier
    • Geo-Location
  • if the mobile access gateway is set up to support the Access Network Information option, it SHOULD include this option with the specific sub-options in all Proxy Binding Update messages πŸ“¨ (including Proxy Binding Updates for lifetime extension and for deregistration) that it sends to the local mobility anchor. The Access Network Information option MUST be constructed as specified in Section 3. It SHOULD include the ANI sub-option(s) that the mobile access gateway is configured to carry in the Proxy Mobile IPv6 messages ✨.
  • the access network information elements, such as Network-Identifier, Geo-Location, and Operator-Identifier, are typically statically configured on the mobile access gateway on a per-interface basis 🌸 (for example, access point (AP-1) is attached through interface-1, and the SSID is X, Geo-Location is Y). In some deployments, this information can also be dynamically obtained, such as through DHCP Option (82), which is the DHCP Relay Agent Information option [RFC3046]. When the mobile node sends a DHCP Request, the access points typically add the SSID information to the Option 82 of the DHCP request, and when the mobile access gateway receives this request, it can parse the Option 82 of the DHCP request and obtain the SSID name. The mobility access gateway can also obtain this information from the DHCPv6 GeoLoc Option [RFC6225]. The specific details on how the mobile access gateway obtains these information elements are access technology and deployment specific and are outside the scope of this document. It is possible those information elements are configured on the MAG on a per-interface basis or dynamically obtained through some out-of-band means, such as based on the Control and Provisioning of Wireless Access Points (CAPWAP) protocol 🧚.
  • if the protocol configuration variable EnableANISubOptNetworkIdentifier (Section 6) is set to a value of (1), the mobile access gateway SHOULD include the Network-Identifier sub-option in the Access Network Identifier option carried in the Proxy Binding Update πŸ’œ. However, if the mobile access gateway is unable to obtain the Network-Identifier, then it MUST NOT include this sub-option. For including the Network-Identifier sub-option, the mobile access gateway needs to be aware of the Network Name of the access network (e.g., SSID in the case of a WLAN access network) to which the mobile node is attached.

This sub-option also includes the Access-Point Name for carrying the name of the access point to which the mobile node is attached. The Access-Point Name is specially important for applying location services, given that the Network Name (e.g., SSID) may not provide the needed uniqueness for identifying a location. When included, this sub-option MUST be constructed as described in Section 3.1.1.

  • if the protocol configuration variable EnableANISubOptGeoLocation (Section 6) is set to a value of (1), the mobile access gateway SHOULD include the Geo-Location sub-option in the Access Network Identifier option carried in the Proxy Binding Update 🌍. However, if the mobile access gateway is unable to obtain the Geo-location, then it MUST NOT include this sub-option. For including the Geo-Location sub-option, the mobile access gateway needs to be aware of the GPS coordinates of the network to which the mobile node is attached. When included, this sub-option MUST be constructed as described in Section 3.1.2.
  • if the protocol configuration variable EnableANISubOptOperatorIdentifier (Section 6) is set to a value of (1), the mobile access gateway SHOULD include the Operator-Identifier sub-option in the Access Network Identifier option carried in the Proxy Binding Update πŸ”₯. For including the Operator-Identifier sub-option, the mobile access gateway needs to be aware of the operator identity of that access network. The access network operator SHOULD obtain an identifier from the "Private Enterprise Number" registry, in order for the mobile access gateway to carry the Operator-Identifier. If a given access network operator has not obtained an identifier from the "Private Enterprise Number" registry or if the mobile access gateway is unable to learn the operator identity for any other administrative reasons, then it MUST NOT include this sub-option. When included, this sub-option MUST be constructed as described in Section 3.1.3.

If the mobile access gateway had any of the Access Network Information mobility options included in the Proxy Binding Update sent to a local mobility anchor, then the Proxy Binding Acknowledgement received from the local mobility anchor SHOULD contain the Access Network Information mobility option with the specific sub-options. If the mobile access gateway receives a Proxy Binding Acknowledgement with a successful Status Value but without an Access Network Information mobility option, then the mobile access gateway SHOULD log the event and, based on its local policy, MAY proceed to terminate the mobility session 😭. In this case, the mobile access gateway knows the local mobility anchor does not understand the Access Network Information mobility option and therefore MAY consider it as a misconfiguration of the Proxy Mobile IPv6 domain.


4.2. Local Mobility Anchor Considerations πŸ‘‘

  • the conceptual Binding Cache entry data structure maintained by the local mobility anchor, described in Section 5.1 of [RFC5213], MUST be extended to store the access-network-related information elements associated with the current session. Specifically, the following parameters MUST be defined:
    • Network-Identifier
    • Geo-Location
    • Operator-Identifier
  • on receiving a Proxy Binding Update message [RFC5213] from a mobile access gateway with the Access Network Information option, the local mobility anchor 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.
  • if the local mobility anchor understands the Access Network Identifier mobility option received in a Proxy Binding Update and also supports the sub-option(s), then the local mobility anchor MUST echo the Access Network Identifier mobility option with the specific sub-option(s) that it accepted back to the mobile access gateway in a Proxy Binding Acknowledgement. The Access Network Identifier sub-options defined in this specification MUST NOT be altered by the local mobility anchor πŸ¦‹.
  • if the received Proxy Binding Update message does not include the Access Network Information option, then the mobility session associated with that Proxy Binding Update MUST be updated to remove any access network information elements 🧹.
  • the local mobility anchor MAY choose to use the Access Network Information sub-options for applying any access-operator-specific handling or policing of the mobile node traffic. The specific details on how these sub-options are used is outside the scope of this document.

5. IANA Considerations 🌈

Per this document, the following IANA actions have been completed.

  • Action 1: This specification defines a new mobility header option, the Access Network Identifier. This mobility option is described in Section 3. The type value (52) for this option has been assigned from the same numbering space as allocated for the other mobility options, as defined in [RFC6275].
  • Action 2: This specification defines a new mobility sub-option format, the Access Network Information (ANI) sub-option. The format of this mobility sub-option is described in Section 3.1. This sub-option can be carried in the Access Network Information option. The type value for this sub-option is managed by IANA, under the registry "Access Network Information (ANI) Sub-Option Type Values". This specification reserves the following type values. Approval of new Access Network Information (ANI) sub-option type values are to be made through IANA Expert Review.
+=========================================================+
| 0 | Reserved                                            |
+=========================================================+
| 1 | Network-Identifier sub-option                       |
+=========================================================+
| 2 | Geo-Location sub-option                             |
+=========================================================+
| 3 | Operator-Identifier sub-option                      |
+=========================================================+
  • Action 3: This specification defines a new mobility sub-option, the Operator-Identifier sub-option. The format of this mobility sub-option is described in Section 3.1.3. The Operator-Identifier (Op-ID) Type field of this sub-option introduces a new number space. This number space is managed by IANA, under the registry "Operator-Identifier Type Registry". This specification reserves the following type values. Approval of new Operator-Identifier type values are to be made through IANA Expert Review.
+===============================================+
| 0 | Reserved                                  |
+===+===========================================+
| 1 | Operator-Identifier as a variable-length  |
|   | Private Enterprise Number (PEN)           |
+===+===========================================+
| 2 | Realm of the Operator                     |
+===+===========================================+

6. Protocol Configuration Variables πŸŽ€

okay so this section is all about the config knobs for the Access Network Information sub-options πŸ’… the mobility entities, the local mobility anchor, and the mobile access gateway MUST let system management set these. and the configured values MUST survive server reboots and service restarts. like, obviously your settings shouldn't vanish when the box restarts 😭

EnableANISubOptNetworkIdentifier ✨

this flag tells you the operational state of Network-Identifier sub-option support πŸ¦‹ it's available on both the mobile access gateway and the local mobility anchor. the default is (0), which means support for the Network-Identifier sub-option is disabled by default πŸ™ˆ

when this flag on the mobile access gateway is set to (1), the mobile access gateway SHOULD include this sub-option in the Proxy Binding Update messages it sends to the local mobility anchor. otherwise, it SHOULD NOT include the sub-option. and sometimes the mobile access gateway just can't get the Network-Identifier, so it may not be able to build this sub-option at all 😭

same energy on the local mobility anchor: when this flag is set to (1), the local mobility anchor SHOULD enable support for this sub-option. otherwise, it SHOULD ignore this sub-option 🌸

EnableANISubOptGeoLocation 🌈

this flag shows the operational state of Geo-Location sub-option support 🧚 it's also available on both the mobile access gateway and the local mobility anchor, and the default is (0), so support is disabled by default πŸ’œ

when this flag on the mobile access gateway is set to (1), the mobile access gateway SHOULD include this sub-option in the Proxy Binding Update messages that it sends to the local mobility anchor. otherwise, it SHOULD NOT include the sub-option. again, the gateway might not be able to get the geo-location information, so it may not be able to construct this sub-option, and that's just life 🫢

on the local mobility anchor, when this flag is set to (1), it SHOULD enable support for this sub-option. otherwise, it SHOULD ignore this sub-option ⭐

EnableANISubOptOperatorIdentifier πŸ‘‘

last flag! this one shows the operational state of Operator-Identifier sub-option support πŸ“ it's available at both the mobile access gateway and the local mobility anchor, and the default is (0), meaning support is disabled πŸŽ€

when this flag on the mobile access gateway is set to (1), the mobile access gateway SHOULD include this sub-option in the Proxy Binding Update messages it sends to the local mobility anchor. otherwise, it SHOULD NOT include the sub-option. and if the gateway can't obtain the Operator-Identifier information, it may not be able to build this sub-option πŸ₯Ί

and when this flag on the local mobility anchor is set to (1), the local mobility anchor SHOULD enable support for this sub-option. otherwise, it SHOULD ignore this sub-option πŸ’…


7. Security Considerations πŸ”₯

okay this part is serious, bestie, so pay attention 🫢

the Access Network Information option in this spec is for use in Proxy Binding Update and Proxy Binding Acknowledgement messages. it's carried like any other mobility header option, as specified in [RFC6275], so it doesn't need any special security considerations of its own πŸ’…

BUT the Geo-Location sub-option carried in that option exposes the geo-location of the network the mobile node is attached to 😭 this info is considered very sensitive, so you have to take care to secure the Proxy Mobile IPv6 signaling messages when this sub-option is being carried. the base Proxy Mobile IPv6 spec, [RFC5213], uses IPsec to secure the signaling messages, and those mechanisms can be turned on to protect this information πŸ” operators can also potentially apply IPsec Encapsulating Security Payload (ESP) with confidentiality and integrity protection to keep the location info safe πŸ’€

now the scary part πŸ™ˆ access-network-specific information elements that the mobile access gateway sends may have been learned dynamically over DHCP or other protocols. if proper security mechanisms aren't in place, that exchanged information could get compromised, and the mobile access gateway could end up sending incorrect access network parameters to the local mobility anchor. that could lead to incorrect service policy enforcement at the local mobility anchor, and impact other services that depend on this access network information 😱

the fix is to make sure the communication path between the mobile access gateway and the access points is properly secured, using IPsec, Transport Layer Security (TLS), or other security protocols πŸ›‘οΈβœ¨


8. Acknowledgements 🌸

the authors want to thank Basavaraj Patil, Carlos Bernardos, Gerardo Gieratta, Eric Voit, Hidetoshi Yokota, Ryuji Wakikawa, Sangram Kishore, William Wan, Stefano Faccin, and Brian Haberman for all the discussions about this topic 🫢 they also want to shout out the IESG reviewers Benoit Claise, Stephen Farrell, Pete Resnick, Robert Spark, Martin Thomson, and Ralph Droms. main character reviewers, all of them πŸ‘‘


9. References πŸ“š

9.1. Normative References 🧠

[RFC1035]  Mockapetris, P., "Domain names - implementation and
           specification", STD 13, RFC 1035, November 1987.

[RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
           Requirement Levels", BCP 14, RFC 2119, March 1997.

[RFC3629]  Yergeau, F., "UTF-8, a transformation format of ISO
           10646", STD 63, RFC 3629, November 2003.

[RFC5139]  Thomson, M. and J. Winterbottom, "Revised Civic Location
           Format for Presence Information Data Format Location
           Object (PIDF-LO)", RFC 5139, February 2008.

[RFC5213]  Gundavelli, S., Leung, K., Devarapalli, V., Chowdhury, K.,
           and B. Patil, "Proxy Mobile IPv6", RFC 5213, August 2008.

[RFC5844]  Wakikawa, R. and S. Gundavelli, "IPv4 Support for Proxy
           Mobile IPv6", RFC 5844, May 2010.

[RFC6275]  Perkins, C., Johnson, D., and J. Arkko, "Mobility Support
           in IPv6", RFC 6275, July 2011.

9.2. Informative References πŸ“–

[ANI]      3GPP2 TSG-A, "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, October 2008.

[RFC2460]  Deering, S. and R. Hinden, "Internet Protocol, Version 6
           (IPv6) Specification", RFC 2460, December 1998.

[RFC3046]  Patrick, M., "DHCP Relay Agent Information Option",
           RFC 3046, January 2001.

[RFC6225]  Polk, J., Linsner, M., Thomson, M., and B. Aboba, "Dynamic
           Host Configuration Protocol Options for Coordinate-Based
           Location Configuration Information", RFC 6225, July 2011.

[SMI]      IANA, "PRIVATE ENTERPRISE NUMBERS", SMI Network Management
           Private Enterprise Codes,
           <http://www.iana.org/assignments/enterprise-numbers>.

[TS23003]  3GPP, "Numbering, addressing and identification", 3GPP
           TS 23.003 3.15.0, 2012.

[TS23203]  3GPP, "Policy and Charging Control Architecture", 3GPP
           TS 23.203 10.7.0, 2012.

[TS23402]  3GPP, "Architecture enhancements for non-3GPP accesses",
           3GPP TS 23.402 10.7.0, 2012.

[WGS84]    NIMA, "World Geodetic System 1984", Third Edition,
           NIMA TR8350.2, June 2004.

Authors' Addresses πŸ’Œ

Sri Gundavelli (editor)
Cisco
170 West Tasman Drive
San Jose, CA  95134
USA

EMail: sgundave@cisco.com


Jouni Korhonen (editor)
Nokia Siemens Networks
Linnoitustie 6
Espoo  FIN-02600
Finland

EMail: jouni.nospam@gmail.com


Mark Grayson
Cisco
11 New Square Park
Bedfont Lakes, Feltham  TW14 8HA
England

EMail: mgrayson@cisco.com


Kent Leung
Cisco
170 West Tasman Drive
San Jose, CA  95134
USA

EMail: kleung@cisco.com


Rajesh Pazhyannur
Cisco
170 West Tasman Drive
San Jose, CA  95134
USA

EMail: rpazhyan@cisco.com
πŸ“¦ where this page comes from