YANG Data Model for Composed VPN Service Delivery
draft-evenwu-opsawg-yang-composed-vpn-00
The information below is for an old version of the document.
Document | Type |
This is an older version of an Internet-Draft whose latest revision state is "Expired".
|
|
---|---|---|---|
Authors | Roni Even , Qin Wu , Ying Cheng | ||
Last updated | 2018-09-27 | ||
RFC stream | (None) | ||
Formats | |||
Additional resources | |||
Stream | Stream state | (No stream defined) | |
Consensus boilerplate | Unknown | ||
RFC Editor Note | (None) | ||
IESG | IESG state | I-D Exists | |
Telechat date | (None) | ||
Responsible AD | (None) | ||
Send notices to | (None) |
draft-evenwu-opsawg-yang-composed-vpn-00
Internet-Draft Composed VPN YANG Model September 2018 type string{length "0..100";} description "specify the action value."; } } grouping PwSpec { description "PwSpec Grouping."; leaf control-word { type boolean; default false; description "control Word."; } leaf vlan-action { type PWTagMode; description "pw Vlan Action."; } } grouping IpSpec { description "IpSpec Grouping."; leaf ip-address { type inet:ip-address; description "master IP address"; } leaf mtu { type uint64; description "mtu for ip layer,scope:46~9600"; } } grouping VxlanSpec { description "VxlanSpec Grouping."; leaf vni { type uint32; description "vni"; } leaf vtep-ip { type inet:ip-address; description "vtep ip"; } } grouping FlowAndBehavior { description "FlowAndBehavior Grouping."; leaf class-id { type yang:uuid; description "flowClassifierId"; } list flow-behavior { key index; uses FlowBehavior; description "flowBehaviors"; Even, et al. Expires March 31, 2019 [Page 30] Internet-Draft Composed VPN YANG Model September 2018 } } grouping FlowBehavior { description "FlowAndBehavior Grouping."; leaf index { type uint32; description "index"; } leaf color-type { type color-type; description "Color Type."; } leaf action-type { type action-type; description "action Type"; } leaf action { type string; description "action"; } } grouping VPNBasicInfo { description "VPNBasicInfo Grouping."; leaf topo { type topology; description "current support for full-mesh and hub-spoke, others is reserved for future extensions." ; } leaf service-type { type service-type; description "current support for mpls l3vpn/vxlan/L2VPN overlay, others is reserved for future extensions." ; } leaf technology { type tunnel-type; description "mpls|vxlan overlay l3vpn|eth over sdh|nop"; } leaf admin-state { type admin-state; description "administrative status." ; } leaf oper-state { type oper-state; config false; description "Operational status." ; } leaf sync-state { Even, et al. Expires March 31, 2019 [Page 31] Internet-Draft Composed VPN YANG Model September 2018 type sync-state; config false; description "Sync status." ; } } grouping VPN { description "VPN Grouping."; leaf vpn-id { type yang:uuid ; description "VPN Identifier." ; } leaf vpn-name { type string {length "0..200";} description "Human-readable name for the VPN service." ; } uses VPNBasicInfo; list access-point { key "tp-id"; description "TP list of the access links which associated with CE and PE"; uses termination-point; } } grouping termination-point { description "grouping for termination points."; leaf tp-id { type yang:uuid; description "An identifier for termination point on a node."; } container peer-ce-node { description "CE TP Information."; uses CeTp; } container tp-basic { description "Termination point basic info."; uses TPBasicInfo; } list route-protocol { key "type"; description "route protocol spec."; uses RouteProtocolSpec; } leaf admin-state { type admin-state; description "administrative status."; } leaf oper-state { type oper-state; Even, et al. Expires March 31, 2019 [Page 32] Internet-Draft Composed VPN YANG Model September 2018 config false; description "Operational status." ; } } grouping segment-vpn { description "SegmentVPN Grouping."; leaf index { type uint32; description "index of segment VPN in a composed VPN."; } leaf protect-role { type protection-role; description "The protection role of segment VPN, by default it is set as nop role."; } container vpn-info { description "vpn information"; choice vpn-type { description "vpn type."; case wan-vpn { container vpn { description "vpn."; uses VPN; } } } } } container segment-vpns { list segment-vpn { key "index"; description "Segment Vpn list."; uses segment-vpn; } description "Container for Segment VPN."; } } <CODE ENDS> 9. Service Model Usage Example This section provides an example of how a management system can use this model to configure an IP VPN service on network elements. Even, et al. Expires March 31, 2019 [Page 33] Internet-Draft Composed VPN YANG Model September 2018 +-----------------------------------------------------------------------+ | ------- PE2----- Spoke_Site1 | | | | | Hub_Site -----PE1------ASBR1-------- ASBR2 | | | | | --------PE3 ---- Spoke_Site2 | +----------------|----------|--------------|--------|-------------------+ | | | | |<SegVPN1> | <SegVPN2> |<SegVPN3> | | | | | | | | | Intra-AS | Inter-AS |Intra-AS| | | |<--------Composed VPN ----------->| In this example, we want to achieve the provisioning of a end to end VPN service for three sites using a Hub-and-Spoke VPN service topology. The end to end VPN service is stitched by three segmented VPN, two are within intra-AS domain, one is within inter AS domain. The following XML snippet describes the overall simplified service configuration of this composed VPN. <?xml version="1.0"?> <composed-vpns xmlns="urn:ietf:params:xml:ns:yang:ietf-composed-vpn-svc"> <composed-vpn> <vpn-id>12456487</vpn-id> <topo>hub-spoke</topo> <service-type>hybrid-vpn</service-type> <seg-vpns> <index>1</index> <vpn-info> <vpn-id>111<vpn-id> <topo>hub-spoke</topo> <service-type>l2vpn</service-type> <access-point> <node-id>ASBR1</node-id> <peer-ce-node> <ce-node-id>PE1</ce-node-id> </peer-ce-node> <tp-basic> <topo-role>hub</topo-role> <flow-serices> <in-template-id>TEMPLATE-A</in-template-id> <out-template-id>TEMPLATE-B</out-template-id> </flow-services> </tp-basic> <routing-protocol> Even, et al. Expires March 31, 2019 [Page 34] Internet-Draft Composed VPN YANG Model September 2018 <bgp> <as-no>AS1</as-no> </bgp> <routing-protocol> </access-point> </vpn-info <seg-vpns> <seg-vpns> <index>2</index> <vpn-info> <vpn-id>222<vpn-id> <topo>hub-spoke</topo> <service-type>l3vpn</service-type> <access-point> <node-id>ASBR2</node-id> <peer-ce-node> <ce-node-id>ASBR1</ce-node-id> </peer-ce-node> <tp-basic> <topo-role>hub</topo-role> <flow-serices> <in-template-id>TEMPLATE-B</in-template-id> <out-template-id>TEMPLATE-C</out-template-id> </flow-services> </tp-basic> <routing-protocol> <bgp> <as-no>interAS-1</as-no> </bgp> <routing-protocol> </access-point> </vpn-info <seg-vpns> <seg-vpns> <index>3</index> <vpn-info> <vpn-id>333<vpn-id> <topo>hub-spoke</topo> <service-type>l2vpn</service-type> <access-point> <node-id>PE2</node-id> <peer-ce-node> <ce-node-id>ASBR2</ce-node-id> </peer-ce-node> <tp-basic> <topo-role>spoke</topo-role> <flow-serices> <in-template-id>TEMPLATE-B</in-template-id> Even, et al. Expires March 31, 2019 [Page 35] Internet-Draft Composed VPN YANG Model September 2018 <out-template-id>TEMPLATE-D</out-template-id> </flow-services> </tp-basic> <routing-protocol> <bgp> <as-no>AS2</as-no> </bgp> <routing-protocol> </access-point> </vpn-info <seg-vpns> </composed-vpn> </composed-vpns> 10. Interaction with other YANG models As expressed in Section 4, this composed VPN service model is intended to be instantiated in a management system and not directly on network elements. The management system's role will be to configure the network elements. The management system may be modular and distinguish the component instantiating the service model (let's call it "service component") from the component responsible for network element configuration (let's call it "configuration component"). The service is built from a combination of networkelements and protocols configuration which also include various aspects of the underlying network infrastructure, including functions/devices and their subsystems, and relevant protocols operating at the link and network layers across multiple device. Therfore there will be a strong relationship between the abstracted view provided by this service model and the detailed configuration view that will be provided by specific configuration models for network elements. The service component will take input from customer service model such as L3SM service model or composed VPN service model and translate it into segment VPN in each domain and then further break down the segment VPN into detailed configuration view that will be provided by specific configuration models for network elements. 11. Security Considerations The YANG module specified in this document defines a schema for data that is designed to be accessed via network management protocols such as NETCONF [RFC6241] or RESTCONF [RFC8040]. The lowest NETCONF layer is the secure transport layer, and the mandatory-to-implement secure transport is Secure Shell (SSH) [RFC6242]. The lowest RESTCONF layer Even, et al. Expires March 31, 2019 [Page 36] Internet-Draft Composed VPN YANG Model September 2018 is HTTPS, and the mandatory-to-implement secure transport is TLS [RFC5246]. The NETCONF access control model [RFC6536] provides the means to restrict access for particular NETCONF or RESTCONF users to a preconfigured subset of all available NETCONF or RESTCONF protocol operations and content. There are a number of data nodes defined in this YANG module that are writable/creatable/deletable (i.e., config true, which is the default). These data nodes may be considered sensitive or vulnerable in some network environments. Write operations (e.g., edit-config) to these data nodes without proper protection can have a negative effect on network operations. These are the subtrees and data nodes and their sensitivity/vulnerability: o /composed-vpns/composed-vpn The entries in the list above include the whole composed vpn service configurations which the customer subscribes, and indirectly create or modify the PE,CE and ASBR device configurations. Unexpected changes to these entries could lead to service disruption and/or network misbehavior. o /composed-vpns/composed-vpn/seg-vpns The entries in the list above include the access points configurations. As above, unexpected changes to these entries could lead to service disruption and/or network misbehavior. o /composed-vpns/composed-vpn/access-points The entries in the list above include the access points configurations. As above, unexpected changes to these entries could lead to service disruption and/or network misbehavior. 12. IANA Considerations This document registers a URI in the IETF XML registry [RFC3688]. Following the format in [RFC3688], the following registrations are requested to be made: Even, et al. Expires March 31, 2019 [Page 37] Internet-Draft Composed VPN YANG Model September 2018 --------------------------------------------------------------------- URI: urn:ietf:params:xml:ns:yang:ietf-composed-vpn-svc Registrant Contact: The IESG XML: N/A; the requested URI is an XML namespace. URI: urn:ietf:params:xml:ns:yang:ietf-segmented-vpn Registrant Contact: The IESG XML: N/A; the requested URI is an XML namespace. --------------------------------------------------------------------- This document registers two YANG modules in the YANG Module Names registry [RFC6020]. --------------------------------------------------------------------- Name: ietf-composite-vpn-svc Namespace: urn:ietf:params:xml:ns:yang:ietf-composed-vpn-svc Prefix: composite-svc Reference: RFC xxxx Name: ietf-segmented-vpn Namespace: urn:ietf:params:xml:ns:yang:ietf-segmented-vpn Prefix: segment-vpn Reference: RFC xxxx --------------------------------------------------------------------- 13. Normative References [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", March 1997. [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, DOI 10.17487/RFC3688, January 2004, <https://www.rfc-editor.org/info/rfc3688>. [RFC4364] Rosen, E. and Y. Rekhter, "BGP/MPLS IP Virtual Private Networks (VPNs)", RFC 4364, DOI 10.17487/RFC4364, February 2006, <https://www.rfc-editor.org/info/rfc4364>. [RFC5246] Dierks, T. and E. Rescorla, "The Transport Layer Security (TLS) Protocol Version 1.2", RFC 5246, DOI 10.17487/RFC5246, August 2008, <https://www.rfc-editor.org/info/rfc5246>. [RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for the Network Configuration Protocol (NETCONF)", RFC 6020, DOI 10.17487/RFC6020, October 2010, <https://www.rfc-editor.org/info/rfc6020>. Even, et al. Expires March 31, 2019 [Page 38] Internet-Draft Composed VPN YANG Model September 2018 [RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed., and A. Bierman, Ed., "Network Configuration Protocol (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011, <https://www.rfc-editor.org/info/rfc6241>. [RFC6242] Wasserman, M., "Using the NETCONF Protocol over Secure Shell (SSH)", RFC 6242, DOI 10.17487/RFC6242, June 2011, <https://www.rfc-editor.org/info/rfc6242>. [RFC6370] Bocci, M., Swallow, G., and E. Gray, "MPLS Transport Profile (MPLS-TP) Identifiers", RFC 6370, DOI 10.17487/RFC6370, September 2011, <https://www.rfc-editor.org/info/rfc6370>. [RFC6536] Bierman, A. and M. Bjorklund, "Network Configuration Protocol (NETCONF) Access Control Model", RFC 6536, DOI 10.17487/RFC6536, March 2012, <https://www.rfc-editor.org/info/rfc6536>. [RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language", RFC 7950, DOI 10.17487/RFC7950, August 2016, <https://www.rfc-editor.org/info/rfc7950>. [RFC8040] Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF Protocol", RFC 8040, DOI 10.17487/RFC8040, January 2017, <https://www.rfc-editor.org/info/rfc8040>. [RFC8309] Wu, Q., Liu, W., and A. Farrel, "Service Models Explained", RFC 8309, DOI 10.17487/RFC8309, January 2018, <https://www.rfc-editor.org/info/rfc8309>. Appendix A. Acknowledges Geng Liang,Congfeng Xie, Chen Rui, LiYa Zhang,Hui Deng contributed to an earlier version of [I-D.chen-opsawg-composite-vpn-dm]. We would like to thank the authors of that document on the operators' view for the PE-based VPN service configuration for material that assisted in thinking about this document. Authors' Addresses Roni Even Huawei Technologies,Co.,Ltd Tel Aviv Israel Email: roni.even@huawei.com Even, et al. Expires March 31, 2019 [Page 39] Internet-Draft Composed VPN YANG Model September 2018 Qin Wu Huawei 101 Software Avenue, Yuhua District Nanjing, Jiangsu 210012 China Email: bill.wu@huawei.com YingCheng China Unicom No.21 Financial Street, XiCheng District Beijing 100033 China Email: chengying10@chinaunicom.cn Even, et al. Expires March 31, 2019 [Page 40]