| rfc8979xml2.original.xml | rfc8979.xml | |||
|---|---|---|---|---|
| <?xml version="1.0" encoding="US-ASCII"?> | <?xml version="1.0" encoding="UTF-8"?> | |||
| <!DOCTYPE rfc SYSTEM "rfc2629.dtd"> | ||||
| <?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-sfc-serviceid-header-14" | ||||
| ipr="trust200902"> | ||||
| <front> | ||||
| <title abbrev="NSH Subscriber/Performance Policy TLVs">Service Function | ||||
| Chaining: Subscriber and Performance Policy Identification Variable-Length | ||||
| Network Service Header (NSH) Context Headers</title> | ||||
| <author fullname="Behcet Sarikaya" initials="B.S." surname="Sarikaya"> | <!DOCTYPE rfc SYSTEM "rfc2629-xhtml.ent"> | |||
| <organization></organization> | ||||
| <rfc xmlns:xi="http://www.w3.org/2001/XInclude" docName="draft-ietf-sfc-servicei | ||||
| d-header-14" | ||||
| number="8979" ipr="trust200902" obsoletes="" updates="" submissionType="IETF" ca | ||||
| tegory="std" | ||||
| consensus="true" xml:lang="en" tocInclude="true" tocDepth="3" symRefs="true" sor | ||||
| tRefs="true" | ||||
| version="3"> | ||||
| <front> | ||||
| <title abbrev="Subscriber/Performance Policy Headers">Subscriber and Perform | ||||
| ance Policy Identifier Context Headers in the Network Service Header (NSH)</titl | ||||
| e> | ||||
| <seriesInfo name="RFC" value="8979"/> | ||||
| <author fullname="Behcet Sarikaya" initials="B." surname="Sarikaya"> | ||||
| <organization/> | ||||
| <address> | <address> | |||
| <postal> | <postal> | |||
| <street></street> | <street/> | |||
| <street/> | ||||
| <street></street> | <city/> | |||
| <region/> | ||||
| <city></city> | <code/> | |||
| <region></region> | ||||
| <code></code> | ||||
| </postal> | </postal> | |||
| <email>sarikaya@ieee.org</email> | <email>sarikaya@ieee.org</email> | |||
| </address> | </address> | |||
| </author> | </author> | |||
| <author fullname="Dirk von Hugo" initials="D." surname="von Hugo"> | ||||
| <author fullname="Dirk von Hugo" initials="D.H." surname="von Hugo"> | ||||
| <organization abbrev="Deutsche Telekom">Deutsche Telekom</organization> | <organization abbrev="Deutsche Telekom">Deutsche Telekom</organization> | |||
| <address> | <address> | |||
| <postal> | <postal> | |||
| <street>Deutsche-Telekom-Allee 9</street> | <street>Deutsche-Telekom-Allee 9</street> | |||
| <city>Darmstadt</city> | ||||
| <city>D-64295 Darmstadt</city> | <code>D-64295</code> | |||
| <code></code> | ||||
| <country>Germany</country> | <country>Germany</country> | |||
| </postal> | </postal> | |||
| <phone/> | ||||
| <phone></phone> | ||||
| <email>Dirk.von-Hugo@telekom.de</email> | <email>Dirk.von-Hugo@telekom.de</email> | |||
| </address> | </address> | |||
| </author> | </author> | |||
| <author fullname="Mohamed Boucadair" initials="M." surname="Boucadair"> | <author fullname="Mohamed Boucadair" initials="M." surname="Boucadair"> | |||
| <organization>Orange</organization> | <organization>Orange</organization> | |||
| <address> | <address> | |||
| <postal> | <postal> | |||
| <street></street> | <street/> | |||
| <street/> | ||||
| <street></street> | <city>Rennes</city> | |||
| <region/> | ||||
| <city>Rennes 3500</city> | <code>3500</code> | |||
| <region></region> | ||||
| <code></code> | ||||
| <country>France</country> | <country>France</country> | |||
| </postal> | </postal> | |||
| <phone/> | ||||
| <phone></phone> | ||||
| <email>mohamed.boucadair@orange.com</email> | <email>mohamed.boucadair@orange.com</email> | |||
| </address> | </address> | |||
| </author> | </author> | |||
| <date year="2021" month="February" /> | ||||
| <date year="2020" /> | ||||
| <workgroup>SFC</workgroup> | <workgroup>SFC</workgroup> | |||
| <keyword>subscriber policy</keyword> | <keyword>subscriber policy</keyword> | |||
| <keyword>policy enforcement</keyword> | <keyword>policy enforcement</keyword> | |||
| <keyword>subscriber</keyword> | <keyword>subscriber</keyword> | |||
| <keyword>policy</keyword> | <keyword>policy</keyword> | |||
| <keyword>quota</keyword> | <keyword>quota</keyword> | |||
| <keyword>identification</keyword> | <keyword>identification</keyword> | |||
| <keyword>implicit identification</keyword> | <keyword>implicit identification</keyword> | |||
| <keyword>service chain</keyword> | <keyword>service chain</keyword> | |||
| <keyword>service function chain</keyword> | <keyword>service function chain</keyword> | |||
| <keyword>sfc</keyword> | <keyword>sfc</keyword> | |||
| <keyword>SFP</keyword> | <keyword>SFP</keyword> | |||
| <keyword>service function path</keyword> | <keyword>service function path</keyword> | |||
| <keyword>classification</keyword> | <keyword>classification</keyword> | |||
| <keyword>5G</keyword> | <keyword>5G</keyword> | |||
| <keyword>traffic steering</keyword> | <keyword>traffic steering</keyword> | |||
| <abstract> | <abstract> | |||
| <t>This document defines two Variable-Length Context Headers that can be | <t>This document defines the Subscriber and Performance Policy Identifier | |||
| carried in the Network Service Header: the Subscriber and Performance | Context Headers. These Variable-Length Context Headers can be | |||
| Policy Identifiers. These Context Headers are used to inform Service | carried in the Network Service Header (NSH) and are used to inform Service | |||
| Functions of subscriber- and performance-related information for the | Functions (SFs) of subscriber- and performance-related information for the | |||
| sake of policy enforcement and appropriate service function chaining | sake of policy enforcement and appropriate Service Function Chaining (SFC) | |||
| operations. The structure of each Context Header, and their use and | operations. The structure of each Context Header and their use and | |||
| processing by NSH-aware nodes, are described.</t> | processing by NSH-aware nodes are described.</t> | |||
| </abstract> | </abstract> | |||
| </front> | </front> | |||
| <middle> | <middle> | |||
| <section title="Introduction"> | <section numbered="true" toc="default"> | |||
| <t>This document discusses how to inform Service Functions (SFs) <xref | <name>Introduction</name> | |||
| target="RFC7665"></xref> about subscriber and service policy | <t>This document discusses how to inform Service Functions (SFs) <xref tar | |||
| information, when required for the sake of policy enforcement within a | get="RFC7665" format="default"/> about subscriber and service policy | |||
| information when required for the sake of policy enforcement within a | ||||
| single administrative domain. In particular, subscriber-related | single administrative domain. In particular, subscriber-related | |||
| information may be required to enforce subscriber-specific SFC-based | information may be required to enforce subscriber-specific SFC-based | |||
| traffic policies. However, the information carried in packets may not be | traffic policies. However, the information carried in packets may not be | |||
| sufficient to unambiguously identify a subscriber. This document fills | sufficient to unambiguously identify a subscriber. | |||
| this void by specifying a new Network Service Header (NSH) <xref | ||||
| target="RFC8300"></xref> Context Header to convey and disseminate such | This document fills | |||
| this void by specifying a new Network Service Header (NSH) <xref target="R | ||||
| FC8300" format="default"/> Context Header to convey and disseminate such | ||||
| information within the boundaries of a single administrative domain. As | information within the boundaries of a single administrative domain. As | |||
| discussed in <xref target="solutions"></xref>, the use of obfuscated and | discussed in <xref target="solutions" format="default"/>, the use of obfus cated and | |||
| non-persistent identifiers is recommended.</t> | non-persistent identifiers is recommended.</t> | |||
| <t>Also, traffic steering by means of SFC may be driven, for example, by | <t>Also, traffic steering by means of SFC may be driven, for example, by | |||
| QoS (Quality of Service) considerations. Typically, QoS information may | Quality of Service (QoS) considerations. Typically, QoS information may | |||
| serve as an input for the computation, establishment, and selection of | serve as an input for the computation, establishment, and selection of | |||
| the Service Function Path (SFP). Furthermore, the dynamic structuring of | the Service Function Path (SFP). Furthermore, the dynamic structuring of | |||
| service function chains and their subsequent SFPs may be conditioned by | Service Function Chains and their subsequent SFPs may be conditioned by | |||
| QoS requirements that will affect SF instance(s) identification, | QoS requirements that will affect the identification, | |||
| location, and sequencing. Hence, the need arises to provide downstream | location, and sequencing of SF instances. | |||
| Hence, the need arises to provide downstream | ||||
| SFs with a performance policy identifier in order for them to | SFs with a performance policy identifier in order for them to | |||
| appropriately meet the QoS service requirements. This document also | appropriately meet the QoS requirements. This document also | |||
| specifies a new NSH Context Header (<xref target="sol2"></xref>) to | specifies a new NSH Context Header (<xref target="sol2" format="default"/> | |||
| ) to | ||||
| convey such policy identifiers.</t> | convey such policy identifiers.</t> | |||
| <t>The context information defined in this document can be applicable in | <t>The context information defined in this document can be applicable in | |||
| the context of mobile networks (particularly, in the 3GPP defined (S)Gi | the context of mobile networks (particularly in the 3GPP-defined (S)Gi | |||
| Interface) <xref target="I-D.ietf-sfc-use-case-mobility"></xref>. | interface) <xref target="I-D.ietf-sfc-use-case-mobility" format="default"/ | |||
| >. | ||||
| Typically, because of the widespread use of private IPv4 addresses in | Typically, because of the widespread use of private IPv4 addresses in | |||
| those networks, if the SFs to be invoked are located after a NAT | those networks, if the SFs to be invoked are located after a NAT | |||
| function, the identification based on the internal IPv4 address is not | function, the identification based on the internal IPv4 address is not | |||
| possible once the NAT has been crossed. NAT functionality can reside in | possible once the NAT has been crossed. NAT functionality can reside in | |||
| a distinct node. For a 4G 3GPP network, that node can be the Packet Data | a distinct node. For a 4G 3GPP network, that node can be the Packet Data | |||
| Network (PDN) Gateway (PGW) as specified in <xref | Network (PDN) Gateway (PGW) as specified in <xref target="TS23401" format= | |||
| target="TS23401"></xref>. For a 5G 3GPP network, it can be the User | "default"/>. For a 5G 3GPP network, it can be the User | |||
| Plane Function (UPF) facing the external Data Network (DN) <xref | Plane Function (UPF) facing the external Data Network (DN) <xref target="T | |||
| target="TS23501"></xref>. As such, a mechanism to pass the internal | S23501" format="default"/>. As such, a mechanism to pass the internal | |||
| information past the NAT boundary may optimise packet traversal within | information past the NAT boundary may optimize packet traversal within | |||
| an SFC-enabled mobile network domain. Furthermore, some SFs that are not | an SFC-enabled mobile network domain. Furthermore, some SFs that are not | |||
| enabled on the PGW/UPF may require a subscriber identifier to properly | enabled on the PGW/UPF may require a subscriber identifier to properly | |||
| operate (see, for example, those listed in <xref | operate (see, for example, those listed in <xref target="RFC8371" format=" | |||
| target="RFC8371"></xref>). It is outside the scope of this document to | default"/>). It is outside the scope of this document to | |||
| include a comprehensive list of deployments which may make use of the | include a comprehensive list of deployments that may make use of the | |||
| Context Headers defined in the document.</t> | Context Headers defined in the document.</t> | |||
| <t>Since subscriber identifiers are distinct from those used to identify | <t>Since subscriber identifiers are distinct from those used to identify | |||
| a performance policy and given that multiple policies may be associated | a performance policy and given that multiple policies may be associated | |||
| with a single subscriber within a service function chain, these | with a single subscriber within a Service Function Chain, these | |||
| identifiers are carried in distinct Context Headers rather than | identifiers are carried in distinct Context Headers rather than | |||
| multiplexing them in one single Context Header. This approach avoids a | being multiplexed in one single Context Header. This approach avoids a | |||
| requirement for additional internal structure in the Context Headers to | requirement for additional internal structure in the Context Headers to | |||
| specify whether an identifier refers to a subscriber or to a policy.</t> | specify whether an identifier refers to a subscriber or to a policy.</t> | |||
| <t>This document does not make any assumptions about the structure of | ||||
| <t>This document does not make any assumption about the structure of | ||||
| subscriber or performance policy identifiers; each such identifier is | subscriber or performance policy identifiers; each such identifier is | |||
| treated as an opaque value. The semantics and validation of these | treated as an opaque value. The semantics and validation of these | |||
| identifiers are policies local to each SFC-enabled domain. This document | identifiers are policies local to each SFC-enabled domain. This document | |||
| focuses on the data plane behaviour. Control plane considerations are | focuses on the data plane behavior. Control plane considerations are | |||
| out of the scope.</t> | out of the scope.</t> | |||
| <t>This document adheres to the SFC data plane architecture defined in | <t>This document adheres to the SFC data plane architecture defined in | |||
| <xref target="RFC7665"></xref>. This document assumes the reader is | <xref target="RFC7665" format="default"/>. This document assumes the reade | |||
| familiar with <xref target="RFC8300"></xref>.</t> | r is | |||
| familiar with <xref target="RFC8300" format="default"/>.</t> | ||||
| <t>This document assumes the NSH is used exclusively within a single | <t>This document assumes the NSH is used exclusively within a single | |||
| administrative domain. This document follows the recommendations in | administrative domain. This document follows the recommendations in | |||
| <xref target="RFC8300"></xref> for handling the Context Headers at both | <xref target="RFC8300" format="default"/> for handling the Context Headers at both | |||
| ingress and egress SFC boundary nodes (i.e., to strip the entire NSH, | ingress and egress SFC boundary nodes (i.e., to strip the entire NSH, | |||
| including Context Headers). Revealing any subscriber-related information | including Context Headers). Revealing any subscriber-related information | |||
| to parties outside the SFC-enabled domain is avoided by design. | to parties outside the SFC-enabled domain is avoided by design. | |||
| Accordingly, the scope for privacy breaches and user tracking is limited | Accordingly, the scope for privacy breaches and user tracking is limited | |||
| to within the SFC-enabled domain where the NSH is used. It is assumed | to within the SFC-enabled domain where the NSH is used. It is assumed | |||
| that appropriate mechanisms to monitor and audit an SFC-enabled domain | that appropriate mechanisms to monitor and audit an SFC-enabled domain | |||
| to detect misbehavior and to deter misuse are in place.</t> | to detect misbehavior and to deter misuse are in place.</t> | |||
| <t>MTU considerations are discussed in <xref target="MTU" format="default" | ||||
| <t>MTU considerations are discussed in <xref target="MTU"></xref>.</t> | />.</t> | |||
| </section> | </section> | |||
| <section numbered="true" toc="default"> | ||||
| <name>Conventions and Terminology</name> | ||||
| <t> | ||||
| The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQU | ||||
| IRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL | ||||
| NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14> | ||||
| RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>", | ||||
| "<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to | ||||
| be interpreted as | ||||
| described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> | ||||
| when, and only when, they appear in all capitals, as shown here. | ||||
| </t> | ||||
| <section title="Conventions and Terminology"> | <t>The reader should be familiar with the terms defined in <xref target="R | |||
| <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | FC7665" format="default"/>.</t> | |||
| "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | <t>"SFC Control Element" refers to a logical entity that instructs one or | |||
| "OPTIONAL" in this document are to be interpreted as described in BCP 14 | ||||
| <xref target="RFC2119"></xref><xref target="RFC8174"></xref> when, and | ||||
| only when, they appear in all capitals, as shown here.</t> | ||||
| <t>The reader should be familiar with the terms defined in <xref | ||||
| target="RFC7665"></xref>.</t> | ||||
| <t>SFC Control Element refers to a logical entity that instructs one or | ||||
| more SFC data plane functional elements on how to process packets within | more SFC data plane functional elements on how to process packets within | |||
| an SFC-enabled domain.</t> | an SFC-enabled domain.</t> | |||
| </section> | </section> | |||
| <section anchor="solutions" numbered="true" toc="default"> | ||||
| <section anchor="solutions" | <name>Subscriber Identifier NSH Variable-Length Context Header</name> | |||
| title="Subscriber Identification NSH Variable-Length Context Header | <t>Subscriber Identifier is defined as an optional Variable-Length NSH | |||
| "> | Context Header. Its structure is shown in <xref target="arch7" format="def | |||
| <t>Subscriber Identifier is defined as an optional variable-length NSH | ault"/>. | |||
| Context Header. Its structure is shown in <xref target="arch7"></xref>. | </t> | |||
| <figure anchor="arch7" | <figure anchor="arch7"> | |||
| title="Subscriber Identifier Variable-Length Context Header"> | <name>Subscriber Identifier Variable-Length Context Header</name> | |||
| <artwork><![CDATA[ | <artwork name="" type="" align="left" alt=""><![CDATA[ | |||
| 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 | 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 | | | Metadata Class | Type |U| Length | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | | | | | | |||
| ~ Subscriber Identifier ~ | ~ Subscriber Identifier ~ | |||
| | | | | | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| ]]></artwork> | ]]></artwork> | |||
| </figure></t> | </figure> | |||
| <t>The fields are described as follows:</t> | ||||
| <t>The description of the fields is as follows:</t> | <dl spacing="normal"> | |||
| <dt>Metadata Class:</dt><dd><bcp14>MUST</bcp14> be set to 0x0 <xref targ | ||||
| <t><list style="symbols"> | et="RFC8300" format="default"/>.</dd> | |||
| <t>Metadata Class: MUST be set to 0x0 <xref | <dt>Type:</dt><dd>0x00 (see <xref target="IANA" format="default"/>).</dd | |||
| target="RFC8300"></xref>.</t> | > | |||
| <dt>U bit:</dt><dd>Unassigned bit (see <xref target="RFC8300" sectionFor | ||||
| <t>Type: TBD1 (See <xref target="IANA"></xref>).</t> | mat="of" section="2.5.1"/>).</dd> | |||
| <dt>Length:</dt><dd>Indicates the length of the Subscriber Identifier, i | ||||
| <t>U bit: Unassigned bit (see Section 2.5.1 of <xref | n | |||
| target="RFC8300"></xref>).</t> | bytes (see <xref target="RFC8300" sectionFormat="of" section="2.5.1"/> | |||
| ).</dd> | ||||
| <t>Length: Indicates the length of the Subscriber Identifier, in | ||||
| bytes (see Section 2.5.1 of <xref target="RFC8300"></xref>).</t> | ||||
| <t>Subscriber Identifier: Carries an opaque local identifier that is | <dt>Subscriber Identifier:</dt><dd><t>Carries an opaque local identifi | |||
| assigned to a subscriber by a network operator.<vspace | er that is | |||
| blankLines="1" />While this document does not specify an internal | assigned to a subscriber by a network operator.</t> | |||
| <t>While this document does not specify an internal | ||||
| structure for these identifiers, it also does not provide any | structure for these identifiers, it also does not provide any | |||
| cryptographic protection for them; any internal structure to the | cryptographic protection for them; any internal structure to the | |||
| identifier values chosen will thus be visible on the wire if no | identifier values chosen will thus be visible on the wire if no | |||
| secure transport encapsulation is used. Accordingly, in alignment | secure transport encapsulation is used. Accordingly, in alignment | |||
| with Section 8.2.2 of <xref target="RFC8300"></xref>, identifier | with <xref target="RFC8300" sectionFormat="of" section="8.2.2"/>, iden | |||
| values SHOULD be obfuscated.</t> | tifier | |||
| </list></t> | values <bcp14>SHOULD</bcp14> be obfuscated.</t> | |||
| </dd> | ||||
| <t>The Subscriber Identifier Context Header is used by service functions | </dl> | |||
| <t>The Subscriber Identifier Context Header is used by SFs | ||||
| to enforce per-subscriber policies (e.g., resource quota, customized | to enforce per-subscriber policies (e.g., resource quota, customized | |||
| filtering profile, accounting). To that aim, network operators may rely | filtering profile, accounting). To that aim, network operators may rely | |||
| on identifiers that are generated from those used in legacy deployments | on identifiers that are generated from those used in legacy deployments | |||
| (e.g., Section 3.3 of <xref | (e.g., <xref target="I-D.ietf-sfc-use-case-mobility" sectionFormat="of" se | |||
| target="I-D.ietf-sfc-use-case-mobility"></xref>). Alternatively, network | ction="3.3"/>). Alternatively, network | |||
| operators may use identifiers that are associated with customized policy | operators may use identifiers that are associated with customized policy | |||
| profiles that are preconfigured on SFs using an out of band mechanism. | profiles that are preconfigured on SFs using an out-of-band mechanism. | |||
| Such mechanism can be used to rotate the identifiers allowing thus for | Such a mechanism can be used to rotate the identifiers, thus allowing for | |||
| better unlinkability (Section 3.2 of <xref target="RFC6973"></xref>). | better unlinkability (<xref target="RFC6973" sectionFormat="of" section="3 | |||
| .2"/>). | ||||
| Such alternative methods may be suboptimal (e.g., scalability issues | Such alternative methods may be suboptimal (e.g., scalability issues | |||
| induced by maintaining and processing finer granular profiles) or | induced by maintaining and processing finer granular profiles) or | |||
| inadequate to provide some per-subscriber policies. The assessment of | inadequate for providing some per-subscriber policies. The assessment of | |||
| whether a method for defining a subscriber identifier provides the | whether a method for defining a subscriber identifier provides the | |||
| required functionality and whether | required functionality and whether | |||
| it is compatible with the capabilities of the SFs to | it is compatible with the capabilities of the SFs at | |||
| the intended performance level, is deployment specific.</t> | the intended performance level is deployment specific.</t> | |||
| <t>The classifier and NSH-aware SFs <bcp14>MAY</bcp14> inject a Subscriber | ||||
| <t>The classifier and NSH-aware SFs MAY inject a Subscriber Identifier | Identifier | |||
| Context Header as a function of a local policy. This local policy should | Context Header as a function of a local policy. This local policy should | |||
| indicate the SFP(s) for which the Subscriber Identifier Context Header | indicate the SFP(s) for which the Subscriber Identifier Context Header | |||
| will be added. In order to prevent interoperability issues, the type and | will be added. In order to prevent interoperability issues, the type and | |||
| format of the identifiers to be injected in a Subscriber Identifier | format of the identifiers to be injected in a Subscriber Identifier | |||
| Context Header should be configured to nodes authorized to inject and | Context Header should be configured to nodes authorized to inject and | |||
| consume such headers. For example, a node can be instructed to insert | 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 | such data following a type/set scheme (e.g., node X should inject | |||
| subscriber ID type Y). Other schemes may be envisaged.</t> | subscriber ID type Y). Other schemes may be envisaged.</t> | |||
| <t>Failures to inject such headers should be logged locally, while a | ||||
| <t>Failures to inject such headers should be logged locally while a | ||||
| notification alarm may be sent to a Control Element. The details of | notification alarm may be sent to a Control Element. The details of | |||
| sending notification alarms (i.e., the parameters affecting the | sending notification alarms (i.e., the parameters affecting the | |||
| transmission of the notification alarms) might depend on the nature of | transmission of the notification alarms) might depend on the nature of | |||
| the information in the Context Header. Parameters for sending alarms, | the information in the Context Header. Parameters for sending alarms, | |||
| such as frequency, thresholds, and content of the alarm, should be | such as frequency, thresholds, and content of the alarm, should be | |||
| configurable.</t> | configurable.</t> | |||
| <t>The default behavior of intermediary NSH-aware nodes is to preserve | <t>The default behavior of intermediary NSH-aware nodes is to preserve | |||
| Subscriber Identifier Context Headers (i.e., the information can be | Subscriber Identifier Context Headers (i.e., the information can be | |||
| passed to next hop NSH-aware nodes), but local policy may require an | passed to next-hop NSH-aware nodes), but local policy may require an | |||
| intermediary NSH-aware node to strip a Subscriber Identifier Context | intermediary NSH-aware node to strip a Subscriber Identifier Context | |||
| Header after processing it.</t> | Header after processing it.</t> | |||
| <t>NSH-aware SFs <bcp14>MUST</bcp14> ignore Context Headers carrying unkno | ||||
| <t>NSH-aware SFs MUST ignore Context Headers carrying unknown subscriber | wn subscriber | |||
| identifiers.</t> | identifiers.</t> | |||
| <t>Local policies at NSH-aware SFs may require running additional | <t>Local policies at NSH-aware SFs may require running additional | |||
| validation checks on the content of these Context Headers (e.g., accept | validation checks on the content of these Context Headers (e.g., accepting | |||
| only some lengths or types). These policies may also indicate the | 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 | behavior to be followed by an NSH-aware SF if the validation checks fail | |||
| (e.g., remove the Context Header from the packet). These additional | (e.g., removing the Context Header from the packet). These additional | |||
| validation checks are deployment-specific. If validation checks fail on | validation checks are deployment specific. If validation checks fail on | |||
| a Subscriber Identifier Context Header, an NSH-aware SF MUST ignore that | a Subscriber Identifier Context Header, an NSH-aware SF <bcp14>MUST</bcp14 | |||
| Context Header. The event should be logged locally while a notification | > 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 | 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 | to do so. For example, an SF will discard Subscriber Identifier | |||
| Context Headers conveying identifiers in all formats different from the | Context Headers conveying identifiers in all formats that are different fr om the | |||
| one the SF is instructed to expect.</t> | one the SF is instructed to expect.</t> | |||
| <t>Multiple Subscriber Identifier Context Headers <bcp14>MAY</bcp14> be pr | ||||
| <t>Multiple Subscriber Identifier Context Headers MAY be present in the | esent in the | |||
| NSH, each carrying a distinct opaque value but all pointing to the same | NSH, each carrying a distinct opaque value but all pointing to the same | |||
| subscriber. This may be required, e.g., by policy enforcement mechanisms | subscriber. This may be required, e.g., by policy enforcement mechanisms | |||
| in a mobile network where some SFs rely on IP addresses as subscriber | in a mobile network where some SFs rely on IP addresses as subscriber | |||
| Identifiers, while others use non-IP specific identifiers such as those | identifiers, while others use non-IP-specific identifiers such as those | |||
| listed in <xref target="RFC8371"></xref> and Section 3.3.2 of <xref | listed in <xref target="RFC8371" format="default"/> and <xref target="I-D. | |||
| target="I-D.ietf-sfc-use-case-mobility"></xref>. When multiple | ietf-sfc-use-case-mobility" sectionFormat="of" section="3.3.2"/>. When multiple | |||
| subscriber identifier Context Headers are present and an SF is | Subscriber Identifier Context Headers are present and an SF is | |||
| instructed to strip the Subscriber Identifier Context Header, that SF | instructed to strip the Subscriber Identifier Context Header, that SF | |||
| MUST remove all Subscriber Identifier Context Headers.</t> | <bcp14>MUST</bcp14> remove all Subscriber Identifier Context Headers.</t> | |||
| </section> | </section> | |||
| <section anchor="sol2" numbered="true" toc="default"> | ||||
| <section anchor="sol2" | <name>Performance Policy Identifier NSH Variable-Length Context Headers</n | |||
| title="Performance Policy Identification NSH Variable-Length Contex | ame> | |||
| t Headers"> | ||||
| <t>Dedicated service-specific performance identifiers are defined to | <t>Dedicated service-specific performance identifiers are defined to | |||
| differentiate between services that require specific treatment in order | differentiate between services that require specific treatment in order | |||
| to exhibit a performance characterized by, e.g., ultra-low latency (ULL) | to exhibit a performance characterized by, e.g., ultra-low latency (ULL) | |||
| or ultra-high reliability (UHR). Other policies can be considered when | or ultra-high reliability (UHR). Other policies can be considered when | |||
| instantiating a service function chain within an SFC-enabled domain. | instantiating a Service Function Chain within an SFC-enabled domain. | |||
| They are conveyed in the Performance Policy Identifier Context | They are conveyed in the Performance Policy Identifier Context | |||
| Header.</t> | Header.</t> | |||
| <t>The Performance Policy Identifier Context Header is inserted in an | <t>The Performance Policy Identifier Context Header is inserted in an NSH | |||
| NSH packet so that downstream NSH-aware nodes can make use of the | packet so that downstream NSH-aware nodes can make use of the performance inform | |||
| performance information for proper distributed SFC path selection, SF | ation for proper selection of suitably distributed SFC paths, SF instances, or a | |||
| instance selection, or policy selection at SFs. Note that the use of the | pplicable policy at SFs. Note that the use of the performance policy identifier | |||
| Performance Policy Identifier is not helpful if the path computation is | is not helpful if the path computation is | |||
| centralized and a strict SFP is presented as local policy to SF | centralized and a strict SFP is presented as local policy to SF | |||
| Forwarders (SFFs).</t> | Forwarders (SFFs).</t> | |||
| <t>The Performance Policy Identifier Context Header allows for the distrib | ||||
| <t>The Performance Policy Identifier allows for the distributed | uted | |||
| enforcement of a per-service policy such as requiring | enforcement of a per-service policy such as requiring | |||
| a service function path to | an SFP to | |||
| only include specific SFs instances (e.g., SFs located within the same | only include specific SF instances (e.g., SFs located within the same | |||
| DC or those that are exposing the shortest delay from an SFF). Details | Data Center (DC) or those that are exposing the shortest delay from an SFF | |||
| of this process are implementation-specific. For illustration purposes, | ). Details | |||
| of this process are implementation specific. For illustration purposes, | ||||
| an SFF may retrieve the details of usable SFs based upon the | an SFF may retrieve the details of usable SFs based upon the | |||
| corresponding performance policy identifier. Typical criteria for | corresponding performance policy identifier. Typical criteria for | |||
| instantiating specific SFs include location, performance, or proximity | instantiating specific SFs include location, performance, or proximity | |||
| considerations. For the particular case of UHR services, the stand-by | considerations. For the particular case of UHR services, the standby | |||
| operation of back-up capacity or the presence of SFs deployed in | operation of backup capacity or the presence of SFs deployed in | |||
| multiple instances may be requested.</t> | multiple instances may be requested.</t> | |||
| <t>In an environment characterized by frequent changes of link and path | ||||
| <t>In an environment characterised by frequent changes of link and path | behavior (for example, due to variable load or availability caused by | |||
| behaviour, for example due to variable load or availability caused by | propagation conditions on a wireless link), the SFP may have to be | |||
| propagation conditions on a wireless link, the SFP may have to be | ||||
| adapted dynamically by on-the-move SFC path and SF instance | adapted dynamically by on-the-move SFC path and SF instance | |||
| selection.</t> | selection.</t> | |||
| <t>Performance Policy Identifier is defined as an optional Variable-Length | ||||
| <t>Performance Policy Identifier is defined as an optional variable | Context Header. Its structure is shown in <xref target="arch9" format="default" | |||
| length Context Header. Its structure is shown in <xref | />.</t> | |||
| target="arch9"></xref>.</t> | ||||
| <t>The default behavior of intermediary NSH-aware nodes is to preserve | <t>The default behavior of intermediary NSH-aware nodes is to preserve | |||
| such Context Headers (i.e., the information can be passed to next hop | such Context Headers (i.e., the information can be passed to next-hop | |||
| NSH-aware nodes), but local policy may require an intermediary NSH-aware | NSH-aware nodes), but local policy may require an intermediary NSH-aware | |||
| node to strip one after processing it.</t> | node to strip one Context Header after processing it.</t> | |||
| <t>Multiple Performance Policy Identifier Context Headers <bcp14>MAY</bcp1 | ||||
| <t>Multiple Performance Policy Identifier Context Headers MAY be present | 4> be present | |||
| in the NSH, each carrying an opaque value for a distinct policy that | in the NSH, each carrying an opaque value for a distinct policy that | |||
| need to be enforced for a flow. Supplying conflicting policies may | needs to be enforced for a flow. Supplying conflicting policies may | |||
| complicate the SFP computation and SF instance location. Corresponding | complicate the SFP computation and SF instance location. Corresponding | |||
| rules to detect conflicting policies may be provided as a local policy | rules to detect conflicting policies may be provided as a local policy | |||
| to the NSH-aware nodes. When such conflict is detected by an NSH-aware | to the NSH-aware nodes. When such conflict is detected by an NSH-aware | |||
| node, the default behavior of the node is to discard the packet and send | node, the default behavior of the node is to discard the packet and send | |||
| a notification alarm to a Control Element.</t> | a notification alarm to a Control Element.</t> | |||
| <figure anchor="arch9"> | ||||
| <figure anchor="arch9" | <name>Performance Policy Identifier Variable-Length Context Header</name | |||
| title="Performance Policy Identifier Variable-Length Context Heade | > | |||
| r"> | <artwork name="" type="" align="left" alt=""><![CDATA[ | |||
| <artwork><![CDATA[ | ||||
| 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 | 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 | | | Metadata Class | Type |U| Length | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | | | | | | |||
| ~ Performance Policy Identifier ~ | ~ Performance Policy Identifier ~ | |||
| | | | | | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| ]]></artwork> | ]]></artwork> | |||
| </figure> | </figure> | |||
| <t>The fields are described as follows:</t> | ||||
| <t>The description of the fields is as follows:<list style="symbols"> | <dl spacing="normal"> | |||
| <t>Metadata Class: MUST be set to 0x0 <xref | <dt>Metadata Class:</dt><dd><bcp14>MUST</bcp14> be set to 0x0 <xref targ | |||
| target="RFC8300"></xref>.</t> | et="RFC8300" format="default"/>.</dd> | |||
| <dt>Type:</dt><dd>0x01 (see <xref target="IANA" format="default"/>).</dd | ||||
| <t>Type: TBD2 (See <xref target="IANA"></xref>).</t> | > | |||
| <dt>U bit:</dt><dd>Unassigned bit (see <xref target="RFC8300" sectionFor | ||||
| <t>U bit: Unassigned bit (see Section 2.5.1 of <xref | mat="of" section="2.5.1"/>).</dd> | |||
| target="RFC8300"></xref>).</t> | <dt>Length:</dt><dd>Indicates the length of the Performance Policy | |||
| Identifier, in bytes (see <xref target="RFC8300" sectionFormat="of" se | ||||
| <t>Length: Indicates the length of the Performance Policy | ction="2.5.1"/>).</dd> | |||
| Identifier, in bytes (see Section 2.5.1 of <xref | <dt>Performance Policy Identifier:</dt><dd>Represents an opaque value | |||
| target="RFC8300"></xref>).</t> | pointing to a specific performance policy to be enforced. The | |||
| structure and semantics of this field are deployment specific.</dd> | ||||
| <t>Performance Policy Identifier: Represents an opaque value | </dl> | |||
| pointing to specific performance policy to be enforced. The | ||||
| structure and semantics of this field are deployment-specific.</t> | ||||
| </list></t> | ||||
| </section> | </section> | |||
| <section anchor="MTU" numbered="true" toc="default"> | ||||
| <section anchor="MTU" title="MTU Considerations"> | <name>MTU Considerations</name> | |||
| <t>As discussed in Section 5.6 of <xref target="RFC7665"></xref>, the | <t>As discussed in <xref target="RFC7665" sectionFormat="of" section="5.6" | |||
| />, the | ||||
| SFC architecture prescribes that additional information be added to | SFC architecture prescribes that additional information be added to | |||
| packets to: <list style="symbols"> | packets to: </t> | |||
| <t>Identify SFPs: this is typically the NSH Base Header (Section 2.2 | <ul spacing="normal"> | |||
| of <xref target="RFC8300"></xref>) and Service Path Header (Section | <li>Identify SFPs. This is typically the NSH Base Header (<xref target=" | |||
| 2.3 of <xref target="RFC8300"></xref>).</t> | RFC8300" sectionFormat="of" section="2.2"/>) and Service Path Header (<xref targ | |||
| et="RFC8300" sectionFormat="of" section="2.3"/>).</li> | ||||
| <t>Carry metadata such those defined in Sections <xref | <li>Carry metadata such those defined in Sections <xref format="counter" | |||
| format="counter" target="solutions"></xref> and <xref | target="solutions"/> and <xref format="counter" target="sol2"/>.</li> | |||
| format="counter" target="sol2"></xref>.</t> | <li>Steer the traffic along the SFPs: This is realized by means of trans | |||
| port encapsulation.</li> | ||||
| <t>Steer the traffic along the SFPs: transport encapsulation.</t> | </ul> | |||
| </list></t> | ||||
| <t>This added information increases the size of the packet to be carried | <t>This added information increases the size of the packet to be carried | |||
| along an SFP.</t> | along an SFP.</t> | |||
| <t>Aligned with <xref target="RFC8300" sectionFormat="of" section="5"/>, i | ||||
| <t>Aligned with Section 5 of <xref target="RFC8300"></xref>, it is | t is | |||
| RECOMMENDED for network operators to increase the underlying MTU so that | <bcp14>RECOMMENDED</bcp14> for network operators to increase the underlyin | |||
| g MTU so that | ||||
| NSH traffic is forwarded within an SFC-enabled domain without | NSH traffic is forwarded within an SFC-enabled domain without | |||
| fragmentation. The available underlying MTU should be taken into account | fragmentation. The available underlying MTU should be taken into account | |||
| by network operators when providing SFs with the required Context | by network operators when providing SFs with the required Context | |||
| Headers to be injected per SFP and the size of the data to be carried in | Headers to be injected per SFP and the size of the data to be carried in | |||
| these Context Headers.</t> | these Context Headers.</t> | |||
| <t>If the underlying MTU cannot be increased to accommodate the NSH | <t>If the underlying MTU cannot be increased to accommodate the NSH | |||
| overhead, network operators may rely upon a transport encapsulation | overhead, network operators may rely upon a transport encapsulation | |||
| protocol with the required fragmentation handling. The impact of | protocol with the required fragmentation handling. The impact of | |||
| activating such feature on SFFs should be carefully assessed by network | activating such feature on SFFs should be carefully assessed by network | |||
| operators (Section 5.6 of <xref target="RFC7665"></xref>).</t> | operators (<xref target="RFC7665" sectionFormat="of" section="5.6"/>).</t> | |||
| <t>When dealing with MTU issues, network operators should consider the | <t>When dealing with MTU issues, network operators should consider the | |||
| limitations of various transport encapsulations such as those discussed | limitations of various transport encapsulations such as those discussed | |||
| in <xref target="I-D.ietf-intarea-tunnels"></xref>.</t> | in <xref target="I-D.ietf-intarea-tunnels" format="default"/>.</t> | |||
| </section> | </section> | |||
| <section anchor="IANA" numbered="true" toc="default"> | ||||
| <section anchor="IANA" title="IANA Considerations "> | <name>IANA Considerations</name> | |||
| <t>This document requests IANA to assign the following types from the | <t>IANA has assigned the following types from the | |||
| "NSH IETF- Assigned Optional Variable-Length Metadata Types" (0x0000 | "NSH IETF-Assigned Optional Variable-Length Metadata Types" subregistry (0 | |||
| IETF Base NSH MD Class) registry available at: | x0000 | |||
| https://www.iana.org/assignments/nsh/nsh.xhtml#optional-variable-length-me | IETF Base NSH MD Class) available at: | |||
| tadata-types.</t> | <eref brackets="angle" target="https://www.iana.org/assignments/nsh"/>.</t | |||
| > | ||||
| <texttable> | <table align="center"> | |||
| <ttcol>Value</ttcol> | <name>NSH IETF-Assigned Optional Variable-Length Metadata Types Additions | |||
| </name> | ||||
| <ttcol>Description</ttcol> | <thead> | |||
| <tr> | ||||
| <ttcol>Reference</ttcol> | <th align="left">Value</th> | |||
| <th align="left">Description</th> | ||||
| <c>TBD1</c> | <th align="left">Reference</th> | |||
| </tr> | ||||
| <c>Subscriber Identifier</c> | </thead> | |||
| <tbody> | ||||
| <c>[ThisDocument]</c> | <tr> | |||
| <td align="left">0x00</td> | ||||
| <c>TBD2</c> | <td align="left">Subscriber Identifier</td> | |||
| <td align="left">[RFC8979]</td> | ||||
| <c>Performance Policy Identifier</c> | </tr> | |||
| <tr> | ||||
| <c>[ThisDocument]</c> | <td align="left">0x01</td> | |||
| </texttable> | <td align="left">Performance Policy Identifier</td> | |||
| <td align="left">[RFC8979]</td> | ||||
| </tr> | ||||
| </tbody> | ||||
| </table> | ||||
| </section> | </section> | |||
| <section anchor="Security" numbered="true" toc="default"> | ||||
| <section anchor="Security" title="Security Considerations"> | <name>Security Considerations</name> | |||
| <t>Data plane SFC-related security considerations, including privacy, | <t>Data plane SFC-related security considerations, including privacy, | |||
| are discussed in Section 6 of <xref target="RFC7665"></xref> and Section | are discussed in <xref target="RFC7665" sectionFormat="of" section="6"/> a | |||
| 8 of <xref target="RFC8300"></xref>. In particular, Section 8.2.2 of | nd <xref target="RFC8300" sectionFormat="of" section="8"/>. In particular, <xref | |||
| <xref target="RFC8300"></xref> states that attached metadata (i.e., | target="RFC8300" sectionFormat="of" section="8.2.2"/> states that attached meta | |||
| data (i.e., | ||||
| Context Headers) should be limited to that necessary for correct | Context Headers) should be limited to that necessary for correct | |||
| operation of the SFP. That section indicates that metadata | operation of the SFP. <xref target="RFC8300" sectionFormat="of" section="8 .2.2"/> indicates that metadata | |||
| considerations that operators can take into account when using NSH are | considerations that operators can take into account when using NSH are | |||
| discussed in <xref target="RFC8165"></xref>.</t> | discussed in <xref target="RFC8165" format="default"/>.</t> | |||
| <t>As specified in <xref target="RFC8300" format="default"/>, means to pre | ||||
| <t>As specified in <xref target="RFC8300"></xref>, means to prevent | vent | |||
| leaking privacy-related information outside an SFC-enabled domain are | leaking privacy-related information outside an SFC-enabled domain are | |||
| natively supported by the NSH given that the last SFF of an SFP will | natively supported by the NSH given that the last SFF of an SFP will | |||
| systematically remove the NSH (and therefore the identifiers defined in | systematically remove the NSH (and therefore the identifiers defined in | |||
| this specification) before forwarding a packet exiting the SFP.</t> | this specification) before forwarding a packet exiting the SFP.</t> | |||
| <t>Nodes that are involved in an SFC-enabled domain are assumed to be | <t>Nodes that are involved in an SFC-enabled domain are assumed to be | |||
| trusted (Section 1.1 of <xref target="RFC8300"> </xref>). Means to check | trusted (<xref target="RFC8300" sectionFormat="of" section="1.1"> </xref>) . Discussion of means to check | |||
| that only authorized nodes are traversed when a packet is crossing an | that only authorized nodes are traversed when a packet is crossing an | |||
| SFC-enabled domain are out of scope of this document.</t> | SFC-enabled domain is out of scope of this document.</t> | |||
| <t>Both Subscriber Identifier and Performance Policy Context Headers | <t>Both Subscriber Identifier and Performance Policy Identifier Context He | |||
| carry opaque data. This identifier is locally assigned by a network | aders | |||
| carry opaque data. In particular, the Subscriber Identifier Context Header | ||||
| is locally assigned by a network | ||||
| provider and can be generated from some of the information that is | provider and can be generated from some of the information that is | |||
| already conveyed in the original packets from a host (e.g., internal IP | already conveyed in the original packets from a host (e.g., internal IP | |||
| address) or other information that is collected from various sources | address) or other information that is collected from various sources | |||
| within an SFC-enabled domain (e.g., line identifier). The structure of | within an SFC-enabled domain (e.g., line identifier). The structure of | |||
| the identifiers conveyed in these Context Headers is communicated only | the identifiers conveyed in these Context Headers is communicated only | |||
| to entitled NSH-aware nodes. Nevertheless, some structures may be easily | to entitled NSH-aware nodes. Nevertheless, some structures may be easily | |||
| inferred from the headers if trivial structures are used (e.g., IP | inferred from the headers if trivial structures are used (e.g., IP | |||
| addresses). As persistent identifiers facilitate tracking over time, the | addresses). As persistent identifiers facilitate tracking over time, the | |||
| use of indirect and non-persistent identification is thus | use of indirect and non-persistent identification is thus | |||
| RECOMMENDED.</t> | <bcp14>RECOMMENDED</bcp14>.</t> | |||
| <t>Moreover, the presence of multiple Subscriber Identifier Context | <t>Moreover, the presence of multiple Subscriber Identifier Context | |||
| Headers in the same NSH allows a misbehaving node from within the | Headers in the same NSH allows a misbehaving node from within the | |||
| SFC-enabled domain to bind these identifiers to the same subscriber. | SFC-enabled domain to bind these identifiers to the same subscriber. | |||
| This can be used to track that subscriber more effectively. | This can be used to track that subscriber more effectively. | |||
| The use of non persistent (e.g., regularly randomized) identifiers as | ||||
| The use of non-persistent (e.g., regularly randomized) identifiers as | ||||
| well as the removal of the Subscriber Identifier Context Headers from | well as the removal of the Subscriber Identifier Context Headers from | |||
| the NSH by the last SF making use of such headers soften this issue | the NSH by the last SF making use of such headers soften this issue | |||
| (see "data minimization" discussed in Section 3 of [RFC8165]). | (see "data minimization" discussed in <xref | |||
| Such behavior is especially strongly recommended, in case no | target="RFC8165" sectionFormat="of" section="3"/>). | |||
| Such behavior is especially strongly recommended in case no | ||||
| encryption is enabled.</t> | encryption is enabled.</t> | |||
| <t>A misbehaving node from within the SFC-enabled domain may alter the | <t>A misbehaving node from within the SFC-enabled domain may alter the | |||
| content of Subscriber Identifier and Performance Policy Context Headers | content of Subscriber Identifier and Performance Policy Identifier Context | |||
| which may lead to service disruption. Such attack is not unique to the | Headers, | |||
| Context Headers defined in this document; measures discussed in Section | which may lead to service disruption. Such an attack is not unique to the | |||
| 8 of <xref target="RFC8300"></xref> are to be followed. A mechanism for | Context Headers defined in this document; measures discussed in <xref | |||
| NSH integrity is specified in <xref | target="RFC8300" sectionFormat="of" section="8"/> are to be followed. A mechanis | |||
| target="I-D.ietf-sfc-nsh-integrity"></xref>.</t> | m for | |||
| NSH integrity is specified in <xref target="I-D.ietf-sfc-nsh-integrity" fo | ||||
| rmat="default"/>.</t> | ||||
| <t>If no secure transport encapsulation is enabled, the use of trivial | <t>If no secure transport encapsulation is enabled, the use of trivial | |||
| subscriber identifier structures together with the presence of specific | subscriber identifier structures, together with the presence of specific | |||
| SFs in a service function chain may reveal sensitive information to | SFs in a Service Function Chain, may reveal sensitive information to | |||
| every on-path device. Also operational staff in | every on-path device. Also, operational staff in | |||
| teams managing these | teams managing these | |||
| devices could gain access to such user privacy affecting data. | devices could gain access to such user privacy-affecting data. | |||
| Such | Such | |||
| disclosure can be a violation of legal requirements because such | disclosure can be a violation of legal requirements because such | |||
| information should be available to very few network operator personnel. | information should be available to very few network operator personnel. | |||
| Furthermore, access to subscriber data usually requires specific access | Furthermore, access to subscriber data usually requires specific access | |||
| privilege levels. To maintain that protection, an SF keeping operational | privilege levels. To maintain that protection, an SF keeping operational | |||
| logs should not log the content of a Subscriber and Performance Policy | logs should not log the content of Subscriber and Performance Policy | |||
| Context Headers unless the SF actually uses the content of these headers | Identifier Context Headers unless the SF actually uses the content of thes | |||
| for its operation. As discussed in Section 8.2.2 of <xref | e headers | |||
| target="RFC8300"></xref>, subscriber-identifying information should be | for its operation. As discussed in <xref target="RFC8300" sectionFormat="o | |||
| obfuscated and, if an operator deems cryptographic integrity protection | f" section="8.2.2"/>, subscriber-identifying information should be | |||
| needed, security features in the transport encapsulation protocol (such | obfuscated, and, if an operator deems cryptographic integrity protection i | |||
| s needed, security features in the transport encapsulation protocol (such | ||||
| as IPsec) must be used. A mechanism for encrypting sensitive NSH data is | as IPsec) must be used. A mechanism for encrypting sensitive NSH data is | |||
| specified in <xref target="I-D.ietf-sfc-nsh-integrity"></xref>. This | specified in <xref target="I-D.ietf-sfc-nsh-integrity" format="default"/>. This | |||
| mechanism can be considered by network operators when enhanced SF-to-SF | mechanism can be considered by network operators when enhanced SF-to-SF | |||
| security protection of NSH metadata is required (e.g., protect against | security protection of NSH metadata is required (e.g., to protect against | |||
| compromised SFFs).</t> | compromised SFFs).</t> | |||
| <t>Some events are logged locally with notification alerts sent by | <t>Some events are logged locally with notification alerts sent by | |||
| NSH-aware nodes to a Control Element. These events SHOULD be rate | NSH-aware nodes to a Control Element. These events <bcp14>SHOULD</bcp14> b e rate | |||
| limited.</t> | limited.</t> | |||
| </section> | </section> | |||
| <section title="Acknowledgements"> | ||||
| <t>Comments from Joel Halpern on a previous version and by Carlos | ||||
| Bernardos are appreciated.</t> | ||||
| <t>Contributions and review by Christian Jacquenet, Danny Lachos, | ||||
| Debashish Purkayastha, Christian Esteve Rothenberg, Kyle Larose, Donald | ||||
| Eastlake, Qin Wu, Shunsuke Homma, and Greg Mirsky are thankfully | ||||
| acknowledged.</t> | ||||
| <t>Many thanks to Robert Sparks for the secdir review.</t> | ||||
| <t>Thanks to Barry Leiba, Erik Kline, Eric Vyncke, Robert Wilton, and | ||||
| Magnus Westerlund for the IESG review.</t> | ||||
| <t>Special thanks to Benjamin Kaduk for the careful review and | ||||
| suggestions that enhanced this specification.</t> | ||||
| </section> | ||||
| </middle> | </middle> | |||
| <back> | <back> | |||
| <references title="Normative References"> | ||||
| <?rfc include="reference.RFC.2119"?> | ||||
| <?rfc include='reference.RFC.8300'?> | ||||
| <?rfc include='reference.RFC.7665'?> | ||||
| <?rfc include='reference.RFC.8174'?> | ||||
| </references> | ||||
| <references title="Informative References"> | ||||
| <?rfc include='reference.RFC.8371'?> | ||||
| <?rfc include='reference.RFC.6973'?> | ||||
| <?rfc include='reference.RFC.8165'?> | ||||
| <?rfc include='reference.I-D.ietf-intarea-tunnels'?> | <displayreference target="I-D.ietf-intarea-tunnels" to="INTAREA-TUNNELS"/> | |||
| <displayreference target="I-D.ietf-sfc-use-case-mobility" to="CASE-MOBILITY"/> | ||||
| <?rfc include='reference.I-D.ietf-sfc-use-case-mobility'?> | <displayreference target="I-D.ietf-sfc-nsh-integrity" to="NSH-INTEGRITY"/> | |||
| <?rfc include='reference.I-D.ietf-sfc-nsh-integrity'?> | ||||
| <reference anchor="TS23401"> | <references> | |||
| <front> | <name>References</name> | |||
| <title>General Packet Radio Service (GPRS) enhancements for Evolved | <references> | |||
| Universal Terrestrial Radio Access Network (E-UTRAN) access,</title> | <name>Normative References</name> | |||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
| FC.2119.xml"/> | ||||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
| FC.8300.xml"/> | ||||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
| FC.7665.xml"/> | ||||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
| FC.8174.xml"/> | ||||
| </references> | ||||
| <references> | ||||
| <name>Informative References</name> | ||||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
| FC.8371.xml"/> | ||||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
| FC.6973.xml"/> | ||||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
| FC.8165.xml"/> | ||||
| <author> | <xi:include href="https://datatracker.ietf.org/doc/bibxml3/reference.I-D | |||
| <organization>3GPP 23.401 16.5.0</organization> | .ietf-intarea-tunnels.xml"/> | |||
| </author> | ||||
| <date month="December" year="2019" /> | <xi:include href="https://datatracker.ietf.org/doc/bibxml3/reference.I-D | |||
| </front> | .ietf-sfc-use-case-mobility.xml"/> | |||
| </reference> | ||||
| <reference anchor="TS23501"> | <xi:include href="https://datatracker.ietf.org/doc/bibxml3/reference.I-D | |||
| <front> | .ietf-sfc-nsh-integrity-03.xml"/> | |||
| <title>System architecture for the 5G System (5GS),</title> | ||||
| <author> | <reference anchor="TS23401"> | |||
| <organization>3GPP 23.501 16.3.0</organization> | <front> | |||
| </author> | <title>General Packet Radio Service (GPRS) enhancements for Evolved | |||
| Universal Terrestrial Radio Access Network (E-UTRAN) access, Release 1 | ||||
| 6</title> | ||||
| <author> | ||||
| <organization>3GPP</organization> | ||||
| </author> | ||||
| <date month="December" year="2019"/> | ||||
| </front> | ||||
| <seriesInfo name="Version" value="16.5.0"/> | ||||
| <seriesInfo name="TS" value="23.401"/> | ||||
| </reference> | ||||
| <date month="December" year="2019" /> | <reference anchor="TS23501"> | |||
| </front> | <front> | |||
| </reference> | <title>System architecture for the 5G System (5GS), Release 16</titl | |||
| e> | ||||
| <author> | ||||
| <organization>3GPP</organization> | ||||
| </author> | ||||
| <date month="December" year="2019"/> | ||||
| </front> | ||||
| <seriesInfo name="Version" value="16.3.0"/> | ||||
| <seriesInfo name="TS" value="23.501"/> | ||||
| </reference> | ||||
| </references> | ||||
| </references> | </references> | |||
| <section numbered="false" toc="default"> | ||||
| <name>Acknowledgements</name> | ||||
| <t>Comments from <contact fullname="Joel Halpern"/> on a previous draft ve | ||||
| rsion and from <contact fullname="Carlos | ||||
| Bernardos"/> are appreciated.</t> | ||||
| <t>Contributions and review by <contact fullname="Christian Jacquenet"/>, | ||||
| <contact fullname="Danny Lachos"/>, | ||||
| <contact fullname="Debashish Purkayastha"/>, <contact fullname="Christian | ||||
| Esteve Rothenberg"/>, <contact fullname="Kyle Larose"/>, <contact fullname="Dona | ||||
| ld | ||||
| Eastlake"/>, <contact fullname="Qin Wu"/>, <contact fullname="Shunsuke Hom | ||||
| ma"/>, and <contact fullname="Greg Mirsky"/> are thankfully | ||||
| acknowledged.</t> | ||||
| <t>Many thanks to <contact fullname="Robert Sparks"/> for the secdir revie | ||||
| w.</t> | ||||
| <t>Thanks to <contact fullname="Barry Leiba"/>, <contact fullname="Erik Kl | ||||
| ine"/>, <contact fullname="Éric Vyncke"/>, <contact fullname="Robert Wilton"/>, | ||||
| and | ||||
| <contact fullname="Magnus Westerlund"/> for the IESG review.</t> | ||||
| <t>Special thanks to <contact fullname="Benjamin Kaduk"/> for the careful | ||||
| review and | ||||
| suggestions that enhanced this specification.</t> | ||||
| </section> | ||||
| </back> | </back> | |||
| </rfc> | </rfc> | |||
| End of changes. 124 change blocks. | ||||
| 398 lines changed or deleted | 379 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||