| rfc9835v4.txt | rfc9835.txt | |||
|---|---|---|---|---|
| skipping to change at line 107 ¶ | skipping to change at line 107 ¶ | |||
| 1. Introduction | 1. Introduction | |||
| Connectivity services are provided by networks to customers via | Connectivity services are provided by networks to customers via | |||
| dedicated terminating points, such as Service Functions [RFC7665], | dedicated terminating points, such as Service Functions [RFC7665], | |||
| Customer Edges (CEs), peer Autonomous System Border Routers (ASBRs), | Customer Edges (CEs), peer Autonomous System Border Routers (ASBRs), | |||
| data center gateways, or Internet Exchange Points. | data center gateways, or Internet Exchange Points. | |||
| The procedure to provision a service in a service provider network | The procedure to provision a service in a service provider network | |||
| may depend on the practices adopted by a service provider, including | may depend on the practices adopted by a service provider, including | |||
| the flow put in place for the provisioning of advanced network | the flow put in place for the provisioning of advanced network | |||
| services and how they are bound to an AC. For example, the same AC | services and how they are bound to an attachment circuit (AC). For | |||
| may host multiple services (e.g., Layer 2 VPN (L2VPN), Layer 3 VPN | example, the same AC may host multiple services (e.g., Layer 2 VPN | |||
| (L3VPN), or RFC 9543 Network Slice Service [RFC9543]). In order to | (L2VPN), Layer 3 VPN (L3VPN), or RFC 9543 Network Slice Service | |||
| avoid service interference and redundant information in various | [RFC9543]). In order to avoid service interference and redundant | |||
| locations, a service provider may expose an interface to manage ACs | information in various locations, a service provider may expose an | |||
| network-wide. Customers can then request a standalone AC to be put | interface to manage ACs network-wide. Customers can then request a | |||
| in place and refer to that AC when requesting services to be bound to | standalone AC to be put in place and refer to that AC when requesting | |||
| that AC. [RFC9834] specifies a data model for managing Attachment | services to be bound to that AC. [RFC9834] specifies a data model | |||
| Circuits as a Service (ACaaS). | for managing Attachment Circuits as a Service (ACaaS). | |||
| Section 6 specifies a network model for ACs ("ietf-ac-ntw"). The | Section 6 specifies a network model for ACs ("ietf-ac-ntw"). The | |||
| model can be used for the provisioning of ACs in a provider network | model can be used for the provisioning of ACs in a provider network | |||
| prior to or during service provisioning. For example, [RFC9836] | prior to or during service provisioning. For example, [RFC9836] | |||
| specifies augmentations to the L2VPN Network Model (L2NM) [RFC9291] | specifies augmentations to the L2VPN Network Model (L2NM) [RFC9291] | |||
| and the L3VPN Network Model (L3NM) [RFC9182] to bind LxVPNs to ACs | and the L3VPN Network Model (L3NM) [RFC9182] to bind LxVPNs to ACs | |||
| that are provisioned using the procedure defined in this document. | that are provisioned using the procedure defined in this document. | |||
| This document leverages [RFC9182] and [RFC9291] by adopting an AC | This document leverages [RFC9182] and [RFC9291] by adopting an AC | |||
| provisioning structure that uses data nodes that are defined in those | provisioning structure that uses data nodes that are defined in those | |||
| RFCs. Some refinements were introduced to cover not only | RFCs. Some refinements were introduced to cover not only | |||
| conventional service provider networks but also specifics of other | conventional service provider networks but also specifics of other | |||
| target deployments (e.g., cloud network). | target deployments (e.g., cloud network). | |||
| The AC network model is designed as augmentations of both the 'ietf- | The AC network model is designed as augmentations of both the 'ietf- | |||
| network' model [RFC8345] and the Service Attachment Point (SAP) model | network' model [RFC8345] and the Service Attachment Point (SAP) model | |||
| [RFC9408]. An AC can be bound to a single or multiple SAPs. | [RFC9408]. An AC can be bound to a single or multiple SAPs. | |||
| Likewise, the model is designed to accommodate deployments where a | Likewise, the model is designed to accommodate deployments where a | |||
| SAP can be bound to one or multiple ACs (e.g., a parent AC and its | SAP can be bound to one or multiple ACs (e.g., a Parent AC and its | |||
| child ACs). | Child ACs). | |||
| .--. | .--. | |||
| |CE6| | |CE6| | |||
| '-+' | '-+' | |||
| ac | .--. .--. | ac | .--. .--. | |||
| | |CE5+------+------+CE2| | | |CE5+------+------+CE2| | |||
| .-----+-----. '--' | '--' | .-----+-----. '--' | '--' | |||
| | | |ac | | | |ac | |||
| | | | | | | | | |||
| .+. .+. .+. | .+. .+. .+. | |||
| .-+sap+-------+sap+-. .-+sap+-------------. | .-+sap+-------+sap+-. .-+sap+-------------. | |||
| | '-' '-' | | '-' | | | '-' '-' | | '-' | | |||
| | PE1 | | PE2 | | | PE1 | | PE2 | | |||
| .--. .+. | | | | .--. .+. | | | | |||
| |CE1+--+sap| | | | | |CE1+--+sap| | | | | |||
| '--' ac '+' | | | | '--' ac '+' | | | | |||
| '-------------------' '-------------------' | '-------------------' '-------------------' | |||
| .-------------------. .-------------------. | .-------------------. .-------------------. | |||
| | | | .+. ac .--. | | | | .+. ac .--. | |||
| | PE3 | | PE4 |sap+--+CE5| | | PE3 | | PE4 |sap+--+CE7| | |||
| | | | '-' '--' | | | | '-' '--' | |||
| | | | | | | | | | | |||
| | .-. | | .-. .-. .-. | | | .-. | | .-. .-. .-. | | |||
| '-------------+sap+-' '-+sap+-+sap+-+sap+-' | '-------------+sap+-' '-+sap+-+sap+-+sap+-' | |||
| '+' '+' '+' '+' | '+' '+' '+' '+' | |||
| |ac | |ac |ac | |ac | |ac |ac | |||
| .+-. | .+-. | | .+-. | .+-. | | |||
| |CE3+-----ac-----' |CE4+---' | |CE3+-----ac-----' |CE4+---' | |||
| '--' '--' | '--' '--' | |||
| skipping to change at line 570 ¶ | skipping to change at line 570 ¶ | |||
| ACs, a set of profiles (Section 5.3) can be defined at the network | ACs, a set of profiles (Section 5.3) can be defined at the network | |||
| level and then called under the node level. The information | level and then called under the node level. The information | |||
| contained in a profile is thus inherited, unless the corresponding | contained in a profile is thus inherited, unless the corresponding | |||
| data node is refined at the AC level. In such a case, the value | data node is refined at the AC level. In such a case, the value | |||
| provided at the AC level takes precedence over the global one. | provided at the AC level takes precedence over the global one. | |||
| In contexts where the same AC is terminated by multiple peer SAPs | In contexts where the same AC is terminated by multiple peer SAPs | |||
| (e.g., an AC with multiple CEs) but a subset of them have specific | (e.g., an AC with multiple CEs) but a subset of them have specific | |||
| information, the module allows operators to: | information, the module allows operators to: | |||
| * Define a parent AC that may list all these CEs as peer SAPs. | * Define a Parent AC that may list all these CEs as peer SAPs. | |||
| * Create individual ACs that are bound to the parent AC using | * Create individual ACs that are bound to the Parent AC using | |||
| 'parent-ref'. | 'parent-ref'. | |||
| * Indicate for each individual AC one or a subset of the CEs as peer | * Indicate for each individual AC one or a subset of the CEs as peer | |||
| SAPs. All these individual ACs will inherit the properties of the | SAPs. All these individual ACs will inherit the properties of the | |||
| parent AC. | Parent AC. | |||
| Whenever a parent AC is deleted, then all child ACs of that AC MUST | Whenever a Parent AC is deleted, then all Child ACs of that AC MUST | |||
| be deleted. Child ACs are referenced using 'child-ref'. | be deleted. Child ACs are referenced using 'child-ref'. | |||
| An AC may belong to one or multiple groups [RFC9181]. For example, | An AC may belong to one or multiple groups [RFC9181]. For example, | |||
| the 'group-id' is used to associate redundancy or protection | the 'group-id' is used to associate redundancy or protection | |||
| constraints with ACs. | constraints with ACs. | |||
| The status of an AC can be tracked using 'status'. Both operational | The status of an AC can be tracked using 'status'. Both operational | |||
| status and administrative status are maintained. A mismatch between | status and administrative status are maintained. A mismatch between | |||
| the administrative status vs. the operational status can be used as a | the administrative status vs. the operational status can be used as a | |||
| trigger to detect anomalies. | trigger to detect anomalies. | |||
| skipping to change at line 4083 ¶ | skipping to change at line 4083 ¶ | |||
| "Container for BFD."; | "Container for BFD."; | |||
| uses bfd; | uses bfd; | |||
| } | } | |||
| } | } | |||
| } | } | |||
| // Parent and Child ACs | // Parent and Child ACs | |||
| grouping ac-hierarchy { | grouping ac-hierarchy { | |||
| description | description | |||
| "Container for parent and child AC references."; | "Container for Parent and Child AC references."; | |||
| container parent-ref { | container parent-ref { | |||
| description | description | |||
| "Specifies the parent AC that is inherited by an AC. | "Specifies the Parent AC that is inherited by an AC. | |||
| Parent ACs are used, e.g., in contexts where multiple | Parent ACs are used, e.g., in contexts where multiple | |||
| CEs are terminating the same AC, but some specific | CEs are terminating the same AC, but some specific | |||
| information is required for each peer SAP."; | information is required for each peer SAP."; | |||
| uses ac-ntw:attachment-circuit-reference; | uses ac-ntw:attachment-circuit-reference; | |||
| } | } | |||
| container child-ref { | container child-ref { | |||
| config false; | config false; | |||
| description | description | |||
| "Specifies a child AC that relies upon a parent AC."; | "Specifies a Child AC that relies upon a Parent AC."; | |||
| uses ac-ntw:attachment-circuit-references; | uses ac-ntw:attachment-circuit-references; | |||
| } | } | |||
| } | } | |||
| // AC network provisioning | // AC network provisioning | |||
| grouping ac { | grouping ac { | |||
| description | description | |||
| "Grouping for ACs."; | "Grouping for ACs."; | |||
| leaf description { | leaf description { | |||
| skipping to change at line 4843 ¶ | skipping to change at line 4843 ¶ | |||
| } | } | |||
| Figure 24: Example of AC Network Response to Retrieve the SAP | Figure 24: Example of AC Network Response to Retrieve the SAP | |||
| (Message Body) | (Message Body) | |||
| A.2. Parent AC | A.2. Parent AC | |||
| In reference to the topology depicted in Figure 1, PE2 has a SAP that | In reference to the topology depicted in Figure 1, PE2 has a SAP that | |||
| terminates an AC with two peer SAPs (CE2 and CE5). In order to | terminates an AC with two peer SAPs (CE2 and CE5). In order to | |||
| control data that is specific to each of these peer SAPs over the | control data that is specific to each of these peer SAPs over the | |||
| same AC, child ACs can be instantiated as depicted in Figure 25. | same AC, Child ACs can be instantiated as depicted in Figure 25. | |||
| { | { | |||
| "ietf-ac-ntw:ac":[ | "ietf-ac-ntw:ac":[ | |||
| { | { | |||
| "name":"ac-1", | "name":"ac-1", | |||
| "peer-sap-id":[ | "peer-sap-id":[ | |||
| "CE2", | "CE2", | |||
| "CE5" | "CE5" | |||
| ], | ], | |||
| "status":{ | "status":{ | |||
| skipping to change at line 4899 ¶ | skipping to change at line 4899 ¶ | |||
| }, | }, | |||
| "peer-sap-id":[ | "peer-sap-id":[ | |||
| "CE5" | "CE5" | |||
| ] | ] | |||
| } | } | |||
| ] | ] | |||
| } | } | |||
| Figure 25: Example of Child ACs | Figure 25: Example of Child ACs | |||
| Figure 26 shows how to bind the parent AC to a SAP. | Figure 26 shows how to bind the Parent AC to a SAP. | |||
| { | { | |||
| "ietf-sap-ntw:service":[ | "ietf-sap-ntw:service":[ | |||
| { | { | |||
| "service-type":"ietf-vpn-common:l3vpn", | "service-type":"ietf-vpn-common:l3vpn", | |||
| "sap":[ | "sap":[ | |||
| { | { | |||
| "sap-id":"sap#14587", | "sap-id":"sap#14587", | |||
| "description":"A SAP", | "description":"A SAP", | |||
| "parent-termination-point":"GE0/6/4", | "parent-termination-point":"GE0/6/4", | |||
| End of changes. 12 change blocks. | ||||
| 21 lines changed or deleted | 21 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. | ||||