Access Network Identifier (ANI) Option for Proxy Mobile IPv6
updated by
- rfc-7563 — Extensions to the Proxy Mobile IPv6 (PMIPv6) Access Network Identifier Option
Extracted elements (25)
Access network information carried in the ANI option is intended only for use between PMIPv6 infrastructure nodes (MAG and LMA) and is not exposed to mobile nodes or external parties. This design keeps location and operator identity internal to the PMIPv6 domain by default.
The ANI option is optional and not mandatory for PMIPv6, because the Access Technology Type (ATT) option in RFC 5213 already provides a baseline and not all deployments require granular access network identification. The ATT option continues to be mandatory in all PMIPv6 signaling.
If the MAG sends ANI sub-options in a PBU but receives a successful PBA without an ANI option, the MAG SHOULD log the event and MAY terminate the mobility session, treating the absence as a potential misconfiguration indicating the LMA does not understand the ANI option.
The type of Network Name depends on access technology: IEEE 802.11 networks use SSID, 3GPP access uses the PLMN Identifier, and 3GPP2 access uses the Access Network Identifier (ANI). The encoding convention must be matched to the access technology in use.
A MAG configured with a sub-option flag enabled SHOULD include the corresponding sub-option in PBU messages but MUST NOT include the sub-option if it is unable to obtain the required information (Network-Identifier, Geo-Location, or Operator-Identifier).
If a received PBU does not include the ANI option, the mobility session associated with that PBU MUST be updated to remove any previously stored access network information elements from the Binding Cache entry.
If the LMA understands the ANI mobility option received in a PBU and supports the sub-option(s), it MUST echo the ANI mobility option with the accepted sub-options back to the MAG in the PBA, and MUST NOT alter the ANI sub-options.
Location and access network information MUST NOT be exposed outside the PMIPv6 domain without a subscriber-approved agreement. If exposed, it MUST be done using a PIDF-LO carrying the subscriber's agreed usage rules.
Protocol configuration variables (EnableANISubOptNetworkIdentifier, EnableANISubOptGeoLocation, EnableANISubOptOperatorIdentifier) MUST be configurable by system management and their configured values MUST survive server reboots and service restarts.
The ANI option MUST NOT appear more than once in a single mobility message, and each specific ANI sub-option (Network-Identifier, Geo-Location, Operator-Identifier) MUST NOT appear more than once within a single ANI option.
The LMA's conceptual Binding Cache entry data structure MUST be extended to store Network-Identifier, Geo-Location, and Operator-Identifier parameters associated with the current session.
The MAG's conceptual Binding Update List entry data structure MUST be extended to store Network-Identifier, Operator-Identifier, and Geo-Location parameters associated with the current session.
When encoding a PLMN Identifier in the Network Name field, both MNC and MCC MUST be 3 digits; if MNC is only 2 digits, it MUST be preceded with a '0'. Encoding MUST be UTF-8.
The Access Network Identifier (ANI) option is a PMIPv6 mobility header option (Type 52) carried in Proxy Binding Update and Proxy Binding Acknowledgement messages to convey access network information from the MAG to the LMA. At most one instance of this option is permitted per mobility message, and it MUST contain one or more ANI sub-options.
The Geo-Location sub-option (ANI Type=2, ANI Length=6) carries the geographic coordinates of the access network as an ellipsoid point using WGS84. Latitude and Longitude are each 24-bit two's complement fixed-point values with 9 whole bits, covering ±90° and ±180° respectively.
The Network-Identifier sub-option (ANI Type=1) carries the name of the access network (SSID for 802.11, PLMN Identifier for 3GPP, ANI for 3GPP2) and optionally the Access-Point Name. ANI Length ranges from 5 to 32 octets. At most one instance is permitted per ANI option.
The Operator-Identifier sub-option (ANI Type=3) carries the identity of the access network operator via an 8-bit Op-ID Type field followed by up to 253 octets of Operator-Identifier. Op-ID Type 1 encodes a variable-length Private Enterprise Number (PEN); Op-ID Type 2 encodes a DNS realm name in US-ASCII.
IANA created the 'Access Network Information (ANI) Sub-Option Type Values' registry under Expert Review. Initially assigned: 0=Reserved, 1=Network-Identifier sub-option, 2=Geo-Location sub-option, 3=Operator-Identifier sub-option. The ANI mobility option itself is assigned type value 52 in the mobility options numbering space.
IANA created the 'Operator-Identifier Type Registry' under Expert Review for Op-ID Type values in the Operator-Identifier sub-option. Initially assigned: 0=Reserved, 1=Private Enterprise Number (PEN) as variable-length network-byte-order integer, 2=Realm of the Operator (DNS-syntax US-ASCII string).
Access network information elements may be dynamically learned via DHCP or other protocols. Without proper security on the path between the MAG and access points, a compromised MAG could send incorrect network parameters to the LMA, causing incorrect policy enforcement. Mitigation requires IPsec, TLS, or equivalent security on the MAG-to-access-point path.
The Geo-Location sub-option exposes sensitive location information. Operators MUST secure PMIPv6 signaling using IPsec Encapsulating Security Payload (ESP) with confidentiality and integrity protection when carrying this sub-option, leveraging the IPsec mechanisms already specified in RFC 5213.
Each ANI sub-option begins with an 8-bit ANI Type (0=Reserved, 1=Network-Identifier, 2=Geo-Location, 3=Operator-Identifier) and an 8-bit ANI Length indicating the number of octets in Option Data, excluding the ANI Type and ANI Length fields themselves.
The ANI option encoding consists of an 8-bit Type field (value 52), an 8-bit Length field (octets excluding Type and Length), followed by variable-length ANI sub-options. The alignment requirement is 4n octets.
The Geo-Location sub-option encoding is: ANI Type=2 (8-bit), ANI Length=6 (8-bit), Latitude Degrees (24-bit two's complement, 9 whole bits, range −90 to +90), Longitude Degrees (24-bit two's complement, 9 whole bits, range −180 to +180).
The Network-Identifier sub-option encodes: ANI Type=1, ANI Length (5–32 octets), a 1-bit E flag indicating UTF-8 encoding, 7 reserved bits, an 8-bit Net-Name Length (MUST NOT be zero), a variable-length Network Name, an 8-bit AP-Name Len, and a variable-length Access-Point Name in UTF-8.