Subscriber Identifier is defined as an optional Variable-Length NSH Context Header. Its structure is shown in
Figure 1.
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Metadata Class | Type |U| Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
~ Subscriber Identifier ~
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The fields are described as follows:
-
Metadata Class:
-
MUST be set to 0x0 [RFC 8300].
-
Type:
-
0x00 (see Section 6).
-
U bit:
-
Unassigned bit (see Section 2.5.1 of RFC 8300).
-
Length:
-
Indicates the length of the Subscriber Identifier, in bytes (see Section 2.5.1 of RFC 8300).
-
Subscriber Identifier:
-
Carries an opaque local identifier that is assigned to a subscriber by a network operator.
While this document does not specify an internal structure for these identifiers, it also does not provide any cryptographic protection for them; any internal structure to the identifier values chosen will thus be visible on the wire if no secure transport encapsulation is used. Accordingly, in alignment with Section 8.2.2 of RFC 8300, identifier values SHOULD be obfuscated.
The Subscriber Identifier Context Header is used by SFs to enforce per-subscriber policies (e.g., resource quota, customized filtering profile, accounting). To that aim, network operators may rely on identifiers that are generated from those used in legacy deployments (e.g., [
CASE-MOBILITY]). Alternatively, network operators may use identifiers that are associated with customized policy profiles that are preconfigured on SFs using an out-of-band mechanism. Such a mechanism can be used to rotate the identifiers, thus allowing for better unlinkability (
Section 3.2 of
RFC 6973). Such alternative methods may be suboptimal (e.g., scalability issues induced by maintaining and processing finer granular profiles) or inadequate for providing some per-subscriber policies. The assessment of whether a method for defining a subscriber identifier provides the required functionality and whether it is compatible with the capabilities of the SFs at the intended performance level is deployment specific.
The classifier and NSH-aware SFs
MAY inject a Subscriber Identifier Context Header as a function of a local policy. This local policy should indicate the SFP(s) for which the Subscriber Identifier Context Header will be added. In order to prevent interoperability issues, the type and format of the identifiers to be injected in a Subscriber Identifier Context Header should be configured to nodes authorized to inject and consume such headers. For example, a node can be instructed to insert such data following a type/set scheme (e.g., node X should inject subscriber ID type Y). Other schemes may be envisaged.
Failures to inject such headers should be logged locally, while a notification alarm may be sent to a Control Element. The details of sending notification alarms (i.e., the parameters affecting the transmission of the notification alarms) might depend on the nature of the information in the Context Header. Parameters for sending alarms, such as frequency, thresholds, and content of the alarm, should be configurable.
The default behavior of intermediary NSH-aware nodes is to preserve Subscriber Identifier Context Headers (i.e., the information can be passed to next-hop NSH-aware nodes), but local policy may require an intermediary NSH-aware node to strip a Subscriber Identifier Context Header after processing it.
NSH-aware SFs
MUST ignore Context Headers carrying unknown subscriber identifiers.
Local policies at NSH-aware SFs may require running additional validation checks on the content of these Context Headers (e.g., accepting only some lengths or types). These policies may also indicate the behavior to be followed by an NSH-aware SF if the validation checks fail (e.g., removing the Context Header from the packet). These additional validation checks are deployment specific. If validation checks fail on a Subscriber Identifier Context Header, an NSH-aware SF
MUST ignore that Context Header. The event should be logged locally, while a notification alarm may be sent to a Control Element if the NSH-aware SF is instructed to do so. For example, an SF will discard Subscriber Identifier Context Headers conveying identifiers in all formats that are different from the one the SF is instructed to expect.
Multiple Subscriber Identifier Context Headers
MAY be present in the NSH, each carrying a distinct opaque value but all pointing to the same subscriber. This may be required, e.g., by policy enforcement mechanisms in a mobile network where some SFs rely on IP addresses as subscriber identifiers, while others use non-IP-specific identifiers such as those listed in [
RFC 8371] and [
CASE-MOBILITY]. When multiple Subscriber Identifier Context Headers are present and an SF is instructed to strip the Subscriber Identifier Context Header, that SF
MUST remove all Subscriber Identifier Context Headers.