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. |