| draft-arkko-arch-virtualization-00.txt | draft-arkko-arch-virtualization.txt | |||
|---|---|---|---|---|
| Internet Engineering Task Force J. Arkko | Internet Engineering Task Force J. Arkko | |||
| Internet-Draft Ericsson | Internet-Draft Ericsson | |||
| Intended status: Informational J. Tantsura | Intended status: Informational J. Tantsura | |||
| Expires: May 20, 2018 Futurewei, Future Networks | Expires: September 20, 2018 Nuagenetworks | |||
| J. Halpern | J. Halpern | |||
| B. Varga | B. Varga | |||
| Ericsson | Ericsson | |||
| November 16, 2017 | March 19, 2018 | |||
| Considerations on Network Virtualization and Slicing | Considerations on Network Virtualization and Slicing | |||
| draft-arkko-arch-virtualization-00.txt | draft-arkko-arch-virtualization-02 | |||
| Abstract | Abstract | |||
| This document makes some observations on the effects virtualization | This document makes some observations on the effects of | |||
| on Internet architecture, as well as provides some guidelines for | virtualization on Internet architecture, as well as provides some | |||
| further work at the IETF relating to virtualization. | guidelines for further work at the IETF relating to virtualization. | |||
| This document also provides a summary of IETF technologies that | This document also provides a summary of IETF technologies that | |||
| relate to network virtualization. An understanding of what current | relate to network virtualization. An understanding of what current | |||
| technologies there exist and what they can or cannot do is the first | technologies there exist and what they can or cannot do is the first | |||
| step in developing plans for possible extensions. | step in developing plans for possible extensions. | |||
| Status of This Memo | Status of This Memo | |||
| This Internet-Draft is submitted in full conformance with the | This Internet-Draft is submitted in full conformance with the | |||
| provisions of BCP 78 and BCP 79. | provisions of BCP 78 and BCP 79. | |||
| skipping to change at page 1, line 41 ¶ | skipping to change at page 1, line 41 ¶ | |||
| Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
| Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
| working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
| Drafts is at http://datatracker.ietf.org/drafts/current/. | Drafts is at http://datatracker.ietf.org/drafts/current/. | |||
| Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
| and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
| time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
| material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
| This Internet-Draft will expire on May 20, 2018. | This Internet-Draft will expire on September 20, 2018. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2017 IETF Trust and the persons identified as the | Copyright (c) 2018 IETF Trust and the persons identified as the | |||
| document authors. All rights reserved. | document authors. All rights reserved. | |||
| This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
| Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
| (http://trustee.ietf.org/license-info) in effect on the date of | (http://trustee.ietf.org/license-info) in effect on the date of | |||
| publication of this document. Please review these documents | publication of this document. Please review these documents | |||
| carefully, as they describe your rights and restrictions with respect | carefully, as they describe your rights and restrictions with respect | |||
| to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
| include Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
| the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
| described in the Simplified BSD License. | described in the Simplified BSD License. | |||
| Table of Contents | Table of Contents | |||
| 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | |||
| 2. Definitions . . . . . . . . . . . . . . . . . . . . . . . . . 3 | 2. Definitions . . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 3. General Observations . . . . . . . . . . . . . . . . . . . . 4 | 3. Other Work . . . . . . . . . . . . . . . . . . . . . . . . . 4 | |||
| 4. Overview of IETF Virtualization Technologies . . . . . . . . 5 | 4. General Observations . . . . . . . . . . . . . . . . . . . . 4 | |||
| 4.1. Lower layers . . . . . . . . . . . . . . . . . . . . . . 5 | 5. Virtualization in 5G Networks . . . . . . . . . . . . . . . . 6 | |||
| 4.2. Traffic Separation in VPNs . . . . . . . . . . . . . . . 6 | 6. Overview of IETF Virtualization Technologies . . . . . . . . 7 | |||
| 4.3. Traffic Engineering and QoS . . . . . . . . . . . . . . . 7 | 6.1. Selection of Virtual Instances . . . . . . . . . . . . . 8 | |||
| 4.4. Service Chaining . . . . . . . . . . . . . . . . . . . . 8 | 6.2. Traffic Separation in VPNs . . . . . . . . . . . . . . . 8 | |||
| 4.5. Management Frameworks and Data Models . . . . . . . . . . 8 | 6.3. Traffic Engineering and QoS . . . . . . . . . . . . . . . 10 | |||
| 5. Architectural Observations . . . . . . . . . . . . . . . . . 10 | 6.4. Service Chaining . . . . . . . . . . . . . . . . . . . . 10 | |||
| 6. Further Work . . . . . . . . . . . . . . . . . . . . . . . . 12 | 6.5. Management Frameworks and Data Models . . . . . . . . . . 11 | |||
| 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 14 | 7. Architectural Observations . . . . . . . . . . . . . . . . . 13 | |||
| 8. Informative References . . . . . . . . . . . . . . . . . . . 14 | 8. Further Work . . . . . . . . . . . . . . . . . . . . . . . . 15 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 16 | 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 18 | |||
| 10. Informative References . . . . . . . . . . . . . . . . . . . 18 | ||||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 21 | ||||
| 1. Introduction | 1. Introduction | |||
| Network virtualization is network management pertaining to treating | Network virtualization is network management pertaining to treating | |||
| different traffic categories in separate virtual networks, with | different traffic categories in separate virtual networks, with | |||
| independent lifecycle management and resource, technology, and | independent lifecycle management and resource, technology, and | |||
| topology choices. | topology choices. | |||
| This document makes some observations on the effects virtualization | This document makes some observations on the effects of | |||
| on Internet architecture, as well as provides some guidelines for | virtualization on Internet architecture, as well as provides some | |||
| further work at the IETF relating to virtualization. | guidelines for further work at the IETF relating to virtualization. | |||
| This document also provides a summary of IETF technologies that | This document also provides a summary of IETF technologies that | |||
| relate to network virtualization. An understanding of what current | relate to network virtualization. An understanding of what current | |||
| technologies there exist and what they can or cannot do is the first | technologies there exist and what they can or cannot do is the first | |||
| step in developing plans for possible extensions. | step in developing plans for possible extensions. | |||
| In particular, many IETF discussions earlier in the summer of 2017 | In particular, many IETF discussions earlier in the summer of 2017 | |||
| started from a top-down view of new virtualization technologies, but | started from a top-down view of new virtualization technologies, but | |||
| were often unable to explain the necessary delta to the wealth of | were often unable to explain the necessary delta to the wealth of | |||
| existing IETF technology in this space. This document takes a | existing IETF technology in this space. This document takes a | |||
| skipping to change at page 4, line 5 ¶ | skipping to change at page 4, line 12 ¶ | |||
| relationship between different layers, bottom up. A VPN (Virtual | relationship between different layers, bottom up. A VPN (Virtual | |||
| Private Network) [RFC4026] is the most common form of network | Private Network) [RFC4026] is the most common form of network | |||
| virtualization. The general benefits and desirability of VPNs have | virtualization. The general benefits and desirability of VPNs have | |||
| been described many times and in many places ([RFC4110] and | been described many times and in many places ([RFC4110] and | |||
| [RFC4664]). | [RFC4664]). | |||
| The only immutable infrastructure is the "physical" medium, that | The only immutable infrastructure is the "physical" medium, that | |||
| could be dedicated or "sliced" to provide services(VPNs) in a multi- | could be dedicated or "sliced" to provide services(VPNs) in a multi- | |||
| tenant environment. | tenant environment. | |||
| 3. Other Work | ||||
| The term slicing has been used to describe a virtualization concept | The term slicing has been used to describe a virtualization concept | |||
| in planned 5G networks. The 3GPP architecture specification | in planned 5G networks. The 3GPP architecture specification | |||
| [TS-3GPP.23.501] defines network slices as having potentially | [TS-3GPP.23.501] defines network slices as having potentially | |||
| different "supported features and network functions optimisations", | different "supported features and network functions optimisations", | |||
| and spanning functions from core network to radio access networks. | and spanning functions from core network to radio access networks. | |||
| [I-D.irtf-nfvrg-gaps-network-virtualization] is a good overview of | ||||
| the underlying technologies and software bases relating to | ||||
| virtualization. It also discusses current research and practical | ||||
| problems that need further work in this space. | ||||
| [I-D.qiang-netslices-gap-analysis] discusses network slicing and | ||||
| suggests IETF work in the areas of data models, cross-domain | ||||
| coordination, performance guarantees, isolation, and operations and | ||||
| maintenance. | ||||
| [I-D.king-teas-applicability-actn-slicing] defined slicing as "an | [I-D.king-teas-applicability-actn-slicing] defined slicing as "an | |||
| approach to network operations that builds on the concept of network | approach to network operations that builds on the concept of network | |||
| abstraction to provide programmability, flexibility, and modularity. | abstraction to provide programmability, flexibility, and modularity. | |||
| It may use techniques such as Software Defined Networking (SDN) and | It may use techniques such as Software Defined Networking (SDN) and | |||
| Network Function Virtualization (NFV) to create multiple logical | Network Function Virtualization (NFV) to create multiple logical | |||
| (virtual) networks, each tailored for a set of services that are | (virtual) networks, each tailored for a set of services that are | |||
| sharing the same set of requirements, on top of a common network. | sharing the same set of requirements, on top of a common network. | |||
| And, [I-D.geng-coms-problem-statement] defines slicing as a | And, [I-D.geng-coms-problem-statement] defines slicing as a | |||
| management mechanism that an service provider can use to allocate | management mechanism that an service provider can use to allocate | |||
| dedicated network resources from shared network infrastructures to a | dedicated network resources from shared network infrastructures to a | |||
| tenant. | tenant. | |||
| 3. General Observations | [I-D.netslices-usecases] discusses how 5G networks employing the | |||
| concept of slicing, and how slicing relates network virtualization. | ||||
| 4. General Observations | ||||
| Software vs. Protocols | Software vs. Protocols | |||
| Many of the necessary tools for using virtualization are software, | Many of the necessary tools for using virtualization are software, | |||
| e.g., tools that enable running processes or entire machines in a | e.g., tools that enable running processes or entire machines in a | |||
| virtual environment decoupled from physical machines and isolated | virtual environment decoupled from physical machines and isolated | |||
| from each other, virtual switches that connect systems together, | from each other, virtual switches that connect systems together, | |||
| management tools to set up virtual environments, and so on. From | management tools to set up virtual environments, and so on. From | |||
| a communications perspective these tools operate largely in the | a communications perspective these tools operate largely in the | |||
| same fashion as their real-world counterparts do, except that | same fashion as their real-world counterparts do, except that | |||
| skipping to change at page 5, line 10 ¶ | skipping to change at page 5, line 31 ¶ | |||
| networks have Virtual LAN (VLAN) tags and mobile networks have a | networks have Virtual LAN (VLAN) tags and mobile networks have a | |||
| choice of Access Point Names (APNs). These techniques allow users | choice of Access Point Names (APNs). These techniques allow users | |||
| and traffic to be put on specific networks, which in turn may | and traffic to be put on specific networks, which in turn may | |||
| comprise of virtual components. | comprise of virtual components. | |||
| Other examples of protocols providing helpful techniques include | Other examples of protocols providing helpful techniques include | |||
| virtual private networking mechanisms or management mechanisms and | virtual private networking mechanisms or management mechanisms and | |||
| data models that can assist in setting up and administering | data models that can assist in setting up and administering | |||
| virtualized systems. | virtualized systems. | |||
| There may also be situations where scaling demands changes in | ||||
| protocols. An ability to replicate many instances may push the | ||||
| limits of protocol mechanisms that were designed primarily or | ||||
| originally for physical networks. | ||||
| Selection vs. Creation and Orchestration | ||||
| Two primary tasks in virtualization should be differentiated: | ||||
| selection of a particular virtual instance, and the tasks related | ||||
| to how that virtual instance was created and continues to be | ||||
| managed. | ||||
| Selection involves choosing a particular virtual instance, or an | ||||
| entrypoint to a virtual network. In its simplest form, a customer | ||||
| could be hardwired by configuration to a particular virtual | ||||
| instance. In more complex cases, the connecting devices may have | ||||
| some settings that affect the choice. In the general case, both | ||||
| the connecting devices and the network they are connecting to it | ||||
| have a say in the choice. | ||||
| The selection choice may even be dynamic in some cases. For | ||||
| instance, traffic pattern analysis may affect the selection. | ||||
| Typically, however, connecting devices do not have a say in what | ||||
| the virtual instance does. This is directed by the network | ||||
| operator and its customers. An instance is specified, created, | ||||
| and needs to be continously managed and orchestrated. The | ||||
| creation can be manual and occur rarely, or be more dynamic, e.g., | ||||
| an instance can actually be instantiated automatically, and only | ||||
| when the first connecting device connects to it. | ||||
| Protocols vs. Representations of Virtual Networks | Protocols vs. Representations of Virtual Networks | |||
| Some of virtualization technology benefits from protocol support | Some of virtualization technology benefits from protocol support | |||
| either in the data or control plane. But there are also | either in the data or control plane. But there are also | |||
| management constructs, such as data models representing virtual | management constructs, such as data models representing virtual | |||
| services or networks and data models useful in the construction of | services or networks and data models useful in the construction of | |||
| such services. There are also conceptual definitions that may be | such services. | |||
| needed when constructing either protocols or data models or when | ||||
| discussing service agreements between providers and consumers. | ||||
| 4. Overview of IETF Virtualization Technologies | There are also conceptual definitions that may be needed when | |||
| constructing either protocols or data models or when discussing | ||||
| service agreements between providers and consumers. | ||||
| 5. Virtualization in 5G Networks | ||||
| Goals for the support of virtualization in 5G relate to both the use | ||||
| of virtualized network functions to build the 5G network, and to | ||||
| enabling the separation of different user or traffic classes into | ||||
| separate network constructs called slices. | ||||
| While slighly different terms are used in 5G, the authors of this | ||||
| memo believe that 5G and other networks all benefit from the use of a | ||||
| set of virtualization, traffic separation, management and other | ||||
| tools. | ||||
| From a 5G perspective, slices enable a separation of concerns, allow | ||||
| the creation of dedicated services for special traffic types, allow | ||||
| faster evolution of the network mechanisms by easing gradual | ||||
| migration to new functionality, and enable faster time to market for | ||||
| new new functionality. | ||||
| In 5G, slice selection happens as a combination of settings in the | ||||
| User Equipment (UE) and the network. Settings in the UE include, for | ||||
| instance, the Access Point Name (APN), Dedicated Core Network | ||||
| Indicator (DCN-ID) [TS-3GPP.23.401], and, with 5G, a slice indicator | ||||
| (Network Slice Selection Assistance Information or NSSAI) | ||||
| [TS-3GPP.23.501]. This information is combined with the information | ||||
| configured in the network for a given subscriber and the policies of | ||||
| the networks involved. Ultimately, a slice is selected. | ||||
| A 5G access network carries a user's connection attempt to the 5G | ||||
| core network and the Access Management Function (AMF) network | ||||
| function. This function collects information provided by the UE and | ||||
| the subscriber database from home network, and consults the Network | ||||
| Slice Selection Function (NSSF) to make a decision of the slice | ||||
| selected for the user. When the selection has been made, this may | ||||
| also mean that the connection is moved to a different AMF; enabling | ||||
| separate networks to have entirely different network-level service. | ||||
| The creation and orchestration of slices does not happen at this | ||||
| signalling plane, but rather the slices are separately specified, | ||||
| created, and managed, typically with the help of an orchestrator | ||||
| function. | ||||
| The exact mechanisms for doing this continue to evolve, but in any | ||||
| case involve multiple layers of technology, ranging from underlying | ||||
| virtualization software to network component configuration mechanisms | ||||
| and models (often in YANG) to higher abstraction level descriptions | ||||
| (often in TOSCA), to orchestrator software. | ||||
| 6. Overview of IETF Virtualization Technologies | ||||
| General networking protocols are largely agnostic to virtualization. | General networking protocols are largely agnostic to virtualization. | |||
| TCP/IP does not care whether it runs on a physical wire or on a | TCP/IP does not care whether it runs on a physical wire or on a | |||
| computer-created connection between virtual devices. | computer-created connection between virtual devices. | |||
| As a result, virtualization generally does not affect TCP/IP itself | As a result, virtualization generally does not affect TCP/IP itself | |||
| or applications running on top. There are some exceptions, though, | or applications running on top. There are some exceptions, though, | |||
| such as when the need to virtualize has caused previously held | such as when the need to virtualize has caused previously held | |||
| assumptions to break, and the Internet community has had to provide | assumptions to break, and the Internet community has had to provide | |||
| new solutions. For instance, early versions of the HTTP protocol | new solutions. For instance, early versions of the HTTP protocol | |||
| skipping to change at page 5, line 49 ¶ | skipping to change at page 8, line 16 ¶ | |||
| implementations is at lower layers, the physical and MAC layers, the | implementations is at lower layers, the physical and MAC layers, the | |||
| systems that deal with the delivery of IP packets to the right | systems that deal with the delivery of IP packets to the right | |||
| destination, management frameworks controlling these systems, and | destination, management frameworks controlling these systems, and | |||
| data models designed to help the creation, monitoring, or management | data models designed to help the creation, monitoring, or management | |||
| of virtualized services. | of virtualized services. | |||
| What follows is an overview of existing technologies and technologies | What follows is an overview of existing technologies and technologies | |||
| currently under development that support virtualization in its | currently under development that support virtualization in its | |||
| various forms. | various forms. | |||
| 4.1. Lower layers | 6.1. Selection of Virtual Instances | |||
| Some L2 technology allows the identification of traffic belonging to | Some L2 technology allows the identification of traffic belonging to | |||
| a particular virtual network or connection. For instance, Ethernet | a particular virtual network or connection. For instance, Ethernet | |||
| VLAN tags. There are some IETF technologies that also allow similar | VLAN tags. | |||
| There are some IETF technologies that also allow similar | ||||
| identification of connections setup with the help of IETF protocols. | identification of connections setup with the help of IETF protocols. | |||
| For instance, Network Access Identifiers may identify a particular | For instance, Network Access Identifiers may identify a particular | |||
| customer or virtual service within AAA, EAP or IKEv2 VPN connections. | customer or virtual service within AAA, EAP or IKEv2 VPN connections. | |||
| 4.2. Traffic Separation in VPNs | 6.2. Traffic Separation in VPNs | |||
| Technologies that assist separation and engineering of networks | Technologies that assist separation and engineering of networks | |||
| include both end-point and provider-based VPNs. End-point VPN | include both end-point and provider-based VPNs. End-point VPN | |||
| tehchnologies include, for instance, IPsec-based VPNs [RFC4301]. | tehchnologies include, for instance, IPsec-based VPNs [RFC4301]. | |||
| For providing virtualized services, however, provider-based solutions | For providing virtualized services, however, provider-based solutions | |||
| are often the most relevant ones. L1VPN facilitates virtualization | are often the most relevant ones. L1VPN facilitates virtualization | |||
| of the underlying L0 "physical" medium. L2[IEEE802.1Q] facilitates | of the underlying L0 "physical" medium. L2[IEEE802.1Q] facilitates | |||
| virtualization of the underlying Ethernet network Tunneling over IP | virtualization of the underlying Ethernet network Tunneling over IP | |||
| (MPLS, GRE, VxLAN, IPinIP, L2TP, etc) facilitates virtualization of | (MPLS, GRE, VxLAN, IPinIP, L2TP, etc) facilitates virtualization of | |||
| skipping to change at page 7, line 40 ¶ | skipping to change at page 10, line 9 ¶ | |||
| Ethernet multipoint service without a need to flood unkown- | Ethernet multipoint service without a need to flood unkown- | |||
| destination Ethernet packets. | destination Ethernet packets. | |||
| In theory, the BGP mechanisms can also be used to support other | In theory, the BGP mechanisms can also be used to support other | |||
| tunnels such as keyed GRE. That is not widely practiced. | tunnels such as keyed GRE. That is not widely practiced. | |||
| There are also hybrid variations, such as adding an ARP / ND proxy | There are also hybrid variations, such as adding an ARP / ND proxy | |||
| service so that an L3VPN can be used with an L2 Access, when the only | service so that an L3VPN can be used with an L2 Access, when the only | |||
| desired service is IP. | desired service is IP. | |||
| 4.3. Traffic Engineering and QoS | 6.3. Traffic Engineering and QoS | |||
| Traffic Engineering (TE) is the term used to refer to techniques that | Traffic Engineering (TE) is the term used to refer to techniques that | |||
| enable operators to control how specific traffic flows are treated | enable operators to control how specific traffic flows are treated | |||
| within their networks. | within their networks. | |||
| The TEAS working group works on enhancements to traffic-engineering | The TEAS working group works on enhancements to traffic-engineering | |||
| capabilities for MPLS and GMPLS networks: | capabilities for MPLS and GMPLS networks: | |||
| TE is applied to packet networks via MPLS TE tunnels and LSPs. | TE is applied to packet networks via MPLS TE tunnels and LSPs. | |||
| The MPLS-TE control plane was generalized to additionally support | The MPLS-TE control plane was generalized to additionally support | |||
| skipping to change at page 8, line 25 ¶ | skipping to change at page 10, line 38 ¶ | |||
| * Definition of protocol-independent metrics and parameters. | * Definition of protocol-independent metrics and parameters. | |||
| * Functional specification of extensions for routing (OSPF, | * Functional specification of extensions for routing (OSPF, | |||
| ISIS), for path computation (PCE), and RSVP-TE to provide | ISIS), for path computation (PCE), and RSVP-TE to provide | |||
| general enablers of traffic-engineering systems. | general enablers of traffic-engineering systems. | |||
| * Definition of control plane mechanisms and extensions to allow | * Definition of control plane mechanisms and extensions to allow | |||
| the setup and maintenance of TE paths and TE tunnels that span | the setup and maintenance of TE paths and TE tunnels that span | |||
| multiple domains and/or switching technologies. | multiple domains and/or switching technologies. | |||
| A good example of work that is currently considered in the TEAS WG is | ||||
| the set of models that detail earlier IETF-developed topology models | ||||
| with both traffic engineering information and connection to what | ||||
| services are running on top of the network | ||||
| [I-D.bryskin-teas-use-cases-sf-aware-topo-model] | ||||
| [I-D.bryskin-teas-sf-aware-topo-model]. These models enable | ||||
| reasoning about the state of the network with respect to those | ||||
| services, and to set up services with optimal network connectivity. | ||||
| Traffic engineering is a common requirement for many routing systems, | Traffic engineering is a common requirement for many routing systems, | |||
| and also discussed, e.g., in the context of LISP. | and also discussed, e.g., in the context of LISP. | |||
| 4.4. Service Chaining | 6.4. Service Chaining | |||
| The SFC working group has defined the concept of Service Chaining: | The SFC working group has defined the concept of Service Chaining: | |||
| Today, common deployment models have service functions inserted on | Today, common deployment models have service functions inserted on | |||
| the data-forwarding path between communicating peers. Going | the data-forwarding path between communicating peers. Going | |||
| forward, however, there is a need to move to a different model, | forward, however, there is a need to move to a different model, | |||
| where service functions, whether physical or virtualized, are not | where service functions, whether physical or virtualized, are not | |||
| required to reside on the direct data path and traffic is instead | required to reside on the direct data path and traffic is instead | |||
| steered through required service functions, wherever they are | steered through required service functions, wherever they are | |||
| deployed. | deployed. | |||
| For a given service, the abstracted view of the required service | For a given service, the abstracted view of the required service | |||
| functions and the order in which they are to be applied is called | functions and the order in which they are to be applied is called | |||
| a Service Function Chain (SFC). An SFC is instantiated through | a Service Function Chain (SFC). An SFC is instantiated through | |||
| selection of specific service function instances on specific | selection of specific service function instances on specific | |||
| network nodes to form a service graph: this is called a Service | network nodes to form a service graph: this is called a Service | |||
| Function Path (SFP). The service functions may be applied at any | Function Path (SFP). The service functions may be applied at any | |||
| layer within the network protocol stack (network layer, transport | layer within the network protocol stack (network layer, transport | |||
| layer, application layer, etc.). | layer, application layer, etc.). | |||
| 4.5. Management Frameworks and Data Models | 6.5. Management Frameworks and Data Models | |||
| There have been two working groups at the IETF, focusing on data | There have been two working groups at the IETF, focusing on data | |||
| models describing VPNs. The IETF and the industry in general is | models describing VPNs. The IETF and the industry in general is | |||
| currently specifying a set of YANG models for network element and | currently specifying a set of YANG models for network element and | |||
| protocol configuration [RFC6020]. | protocol configuration [RFC6020]. | |||
| YANG is a powerful and versatile data modeling language that was | YANG is a powerful and versatile data modeling language that was | |||
| designed from the requirements of network operators for an easy to | designed from the requirements of network operators for an easy to | |||
| use and robust mechanism for provisioning devices and services across | use and robust mechanism for provisioning devices and services across | |||
| networks. It was originally designed at the Internet Engineering | networks. It was originally designed at the Internet Engineering | |||
| Task Force (IETF) and has been so successful that it has been adopted | Task Force (IETF) and has been so successful that it has been adopted | |||
| as the standard for modeling design in many other standards bodies | as the standard for modeling design in many other standards bodies | |||
| such as the Metro Ethernet Forum, OpenDaylight, OpenConfig, and | such as the Metro Ethernet Forum, OpenDaylight, OpenConfig, and | |||
| others. The number of YANG modules being implemented for interfaces, | others. The number of YANG modules being implemented for interfaces, | |||
| devices, and service is exploding. | devices, and service is growing rapidly. | |||
| (It should be noted that there are also other description formats, | ||||
| e.g., Topology and Orchestration Specification for Cloud Applications | ||||
| (TOSCA) [TOSCA-1.0] [TOSCA-Profile-1.1], common in many higher | ||||
| abstract level network service descriptions. The ONAP open source | ||||
| project plans to employ it for abstract mobile network slicing | ||||
| models, for instance.) | ||||
| A service model is an abstract model, at a higher level than network | A service model is an abstract model, at a higher level than network | |||
| element or protocol configuration. A service model for VPN service | element or protocol configuration. A service model for VPN service | |||
| describes a VPN in a manner that a customer of the VPN service would | describes a VPN in a manner that a customer of the VPN service would | |||
| see it. | see it. | |||
| It needs to be clearly understood that such a service model is not a | It needs to be clearly understood that such a service model is not a | |||
| configuration model. That is, it does not provide details for | configuration model. That is, it does not provide details for | |||
| configuring network elements or protocols: that work is expected to | configuring network elements or protocols: that work is expected to | |||
| be carried out in other protocol-specific working groups. Instead, | be carried out in other protocol-specific working groups. Instead, | |||
| service models contain the characteristics of the service as | service models contain the characteristics of the service as | |||
| discussed between the operators and their customers. A separate | discussed between the operators and their customers. A separate | |||
| process is responsible for mapping this customer service model onto | process is responsible for mapping this customer service model onto | |||
| the protocols and network elements depending on how the network | the protocols and network elements depending on how the network | |||
| operator chooses to realise the service. | operator chooses to realise the service. | |||
| An excellent cateogorization of different data models can be found | ||||
| from [I-D.wu-model-driven-management-virtualization]. | ||||
| The L2SM WG specifies a service model for L2-based VPNs: | The L2SM WG specifies a service model for L2-based VPNs: | |||
| The Layer Two Virtual Private Network Service Model (L2SM) working | The Layer Two Virtual Private Network Service Model (L2SM) working | |||
| group is a short-lived WG. It is tasked to create a YANG data | group is a short-lived WG. It is tasked to create a YANG data | |||
| model that describes a L2VPN service (a L2VPN customer service | model that describes a L2VPN service (a L2VPN customer service | |||
| model). The model can be used for communication between customers | model). The model can be used for communication between customers | |||
| and network operators, and to provide input to automated control | and network operators, and to provide input to automated control | |||
| and configuration applications. | and configuration applications. | |||
| It is recognized that it would be beneficial to have a common base | It is recognized that it would be beneficial to have a common base | |||
| skipping to change at page 10, line 28 ¶ | skipping to change at page 13, line 10 ¶ | |||
| model that describes a L3VPN service (a L3VPN service model) that | model that describes a L3VPN service (a L3VPN service model) that | |||
| can be used for communication between customers and network | can be used for communication between customers and network | |||
| operators, and to provide input to automated control and | operators, and to provide input to automated control and | |||
| configuration applications. | configuration applications. | |||
| It needs to be clearly understood that this L3VPN service model is | It needs to be clearly understood that this L3VPN service model is | |||
| not an L3VPN configuration model. That is, it does not provide | not an L3VPN configuration model. That is, it does not provide | |||
| details for configuring network elements or protocols. Instead it | details for configuring network elements or protocols. Instead it | |||
| contains the characteristics of the service. | contains the characteristics of the service. | |||
| 5. Architectural Observations | 7. Architectural Observations | |||
| This section makes some observations about architectural trends and | This section makes some observations about architectural trends and | |||
| issues. | issues. | |||
| Role of Software | Role of Software | |||
| An obvious trend is that bigger and bigger parts of the | An obvious trend is that bigger and bigger parts of the | |||
| functionality in a network is driven by software, e.g., | functionality in a network is driven by software, e.g., | |||
| orchestration or management tools that figure out how to control | orchestration or management tools that figure out how to control | |||
| relatively simple network element functionality. The software | relatively simple network element functionality. The software | |||
| skipping to change at page 12, line 15 ¶ | skipping to change at page 14, line 37 ¶ | |||
| differing users that data models are being designed for, it seems | differing users that data models are being designed for, it seems | |||
| difficult to provide a single-level model. It seems preferable to | difficult to provide a single-level model. It seems preferable to | |||
| construct a layered set of models, for instance abstract, user- | construct a layered set of models, for instance abstract, user- | |||
| facing models that specify services that can then be mapped to | facing models that specify services that can then be mapped to | |||
| concrete configuration model for networks. And these can in turn | concrete configuration model for networks. And these can in turn | |||
| be mapped to individual network element configuration models. | be mapped to individual network element configuration models. | |||
| Getting this layered design right is crucial for our ability to | Getting this layered design right is crucial for our ability to | |||
| evolve a useful set of data models. | evolve a useful set of data models. | |||
| Ability to evolve modelling tools and mapping systems | ||||
| The networks and their models are complex, and mapping from high | ||||
| abstraction level specifications to concrete network | ||||
| configurations is a hard problem. | ||||
| It is important that each of the components can evolve on its own. | ||||
| It should be possible to plug in a new language that represents | ||||
| network models better. Or replace a software component that | ||||
| performs mapping between layers to one that works better. | ||||
| While this should normally be possible, there's room to avoid too | ||||
| tight binding between the different aspects of a system. For | ||||
| instance, abstraction layers within software can shield the | ||||
| software from being too closely tied with a particular | ||||
| representation language. | ||||
| Similarly, it would be an advantage to develop algorithms and | ||||
| mapping approaches separately from the software that actually does | ||||
| that, so that another piece of software could easily follow the | ||||
| same guidelines and provide an alternate implementation. Perhaps | ||||
| there's an opportunity for specification work to focus more on | ||||
| processing rules than protocol behaviours, for instance. | ||||
| General over specific | General over specific | |||
| In the quick pace of important developments, it is tempting to | In the quick pace of important developments, it is tempting to | |||
| focus on specific concepts and service offerings such as 5G | focus on specific concepts and service offerings such as 5G | |||
| slicing. | slicing. | |||
| But a preferrable approach seems to provide general-purpose tools | But a preferrable approach seems to provide general-purpose tools | |||
| that can be used by 5G and other networks, and whose longetivity | that can be used by 5G and other networks, and whose longetivity | |||
| exceeds that of a version of a specific offering. The quick | exceeds that of a version of a specific offering. The quick | |||
| development pace is likely driving the evolution of concepts in | development pace is likely driving the evolution of concepts in | |||
| any case, and building IETF tools that provide the ability to deal | any case, and building IETF tools that provide the ability to deal | |||
| with different technologies is most useful. | with different technologies is most useful. | |||
| 6. Further Work | 8. Further Work | |||
| There may be needs for further work in this area at the IETF. Before | There may be needs for further work in this area at the IETF. Before | |||
| discussing the specific needs, it may be useful to classify the types | discussing the specific needs, it may be useful to classify the types | |||
| of useful work that might come to question. And perhaps also outline | of useful work that might come to question. And perhaps also outline | |||
| some types of work that is not appropriate for the IETF. | some types of work that is not appropriate for the IETF. | |||
| The IETF works primarily on protocols, but in many cases also with | The IETF works primarily on protocols, but in many cases also with | |||
| data models that help manage systems, as well as operational guidance | data models that help manage systems, as well as operational guidance | |||
| documents. But the IETF does not work on software, such as | documents. But the IETF does not work on software, such as | |||
| abstractions that only need to exist inside computers or ones that do | abstractions that only need to exist inside computers or ones that do | |||
| skipping to change at page 14, line 11 ¶ | skipping to change at page 17, line 14 ¶ | |||
| o The ability to specify "statistical" rather than hard performance | o The ability to specify "statistical" rather than hard performance | |||
| parameters. In some networks -- notably with wireless technology | parameters. In some networks -- notably with wireless technology | |||
| -- recent advances have made very high peak rates possible, but | -- recent advances have made very high peak rates possible, but | |||
| with increased bursty-ness of traffic and with potential | with increased bursty-ness of traffic and with potential | |||
| bottlenecks on the aggregation parts of the networks. The ability | bottlenecks on the aggregation parts of the networks. The ability | |||
| to specify statistical performance in data models and in VPN | to specify statistical performance in data models and in VPN | |||
| configuration would be important, over different timescales and | configuration would be important, over different timescales and | |||
| probabilities. | probabilities. | |||
| o Mapping from high abstraction level specifications to concrete | ||||
| network configurations. | ||||
| There is a lot of work on data models and templates at various | ||||
| levels and in different representations. There are also many | ||||
| systems built to manage these models and orchestrate network | ||||
| configuration. But the mapping of the abstract models to concrete | ||||
| network configurations remains a hard problem, and it certainly | ||||
| will need more work. | ||||
| There are even some questions about how to go about this. Is it | ||||
| enough that we specify models, and leave the mapping to "magic" of | ||||
| the software? Are the connections something that different | ||||
| vendors compete in producing good products in? Or are the mapping | ||||
| algorithms something that needs to be specified together, and | ||||
| their ability to work with different types of network equipment | ||||
| verified in some manner? | ||||
| o Cross-domain: A big problem is that we have little tools for | o Cross-domain: A big problem is that we have little tools for | |||
| cross-domain management of virtualized networks and resources. | cross-domain management of virtualized networks and resources. | |||
| Finally, there is a question of where all this work should reside. | Finally, there is a question of where all this work should reside. | |||
| There's an argument that IETF-based virtualization technologies | There's an argument that IETF-based virtualization technologies | |||
| deserve proper management tools, including data models. | deserve proper management tools, including data models. | |||
| And there's another argument that with the extensive use of | And there's another argument that with the extensive use of | |||
| virtualization technology, solutions that can manage many different | virtualization technology, solutions that can manage many different | |||
| networks should be general, and as such, potential IETF work | networks should be general, and as such, potential IETF work | |||
| material. Yet, the IETF is not and should not be in the space of | material. Yet, the IETF is not and should not be in the space of | |||
| replacing various tools and open source toolkits that have been | replacing various tools and open source toolkits that have been | |||
| created for managing virtualization. It seems though that work on | created for managing virtualization. It seems though that work on | |||
| commonly usable data models at several layers of abstraction would be | commonly usable data models at several layers of abstraction would be | |||
| good work at the IETF. | good work at the IETF. | |||
| 7. Acknowledgements | Nevertheless, the IETF should understand where the broader community | |||
| is and what tools they use for what purpose, and try to help by | ||||
| building on those components. Virtualization and slicing are | ||||
| sometimes represented as issues needing a single solution. In | ||||
| reality, they are an interworking of a number of different tools. | ||||
| 9. Acknowledgements | ||||
| The authors would like to thank Gonzalo Camarillo, Gabriel | The authors would like to thank Gonzalo Camarillo, Gabriel | |||
| Montenegro, Alex Galis, Adrian Farrell, Liang Geng, Yi Zhao, Hannu | Montenegro, Alex Galis, Adrian Farrell, Liang Geng, Yi Zhao, Hannu | |||
| Flinck, Yi Zhao, Barry Leiba, Georg Mayer, Benoit Claise, Warren | Flinck, Yi Zhao, Barry Leiba, Georg Mayer, Benoit Claise, Daniele | |||
| Kumari, Ted Hardie, and many others for interesting discussions in | Ceccarelli, Warren Kumari, Kiran Makhijani, Ted Hardie, and many | |||
| this problem space. | others for interesting discussions in this problem space. | |||
| 8. Informative References | 10. Informative References | |||
| [CC2015] claffy, kc. and D. Clark, "Adding Enhanced Services to the | [CC2015] claffy, kc. and D. Clark, "Adding Enhanced Services to the | |||
| Internet: Lessons from History", September 2015 (https:// | Internet: Lessons from History", September 2015 (https:// | |||
| www.caida.org/publications/papers/2015/ | www.caida.org/publications/papers/2015/ | |||
| adding_enhanced_services_internet/ | adding_enhanced_services_internet/ | |||
| adding_enhanced_services_internet.pdf). | adding_enhanced_services_internet.pdf). | |||
| [I-D.bryskin-teas-sf-aware-topo-model] | ||||
| Bryskin, I. and X. Liu, "SF Aware TE Topology YANG Model", | ||||
| draft-bryskin-teas-sf-aware-topo-model-01 (work in | ||||
| progress), March 2018. | ||||
| [I-D.bryskin-teas-use-cases-sf-aware-topo-model] | ||||
| Bryskin, I., Liu, X., Guichard, J., Lee, Y., Contreras, | ||||
| L., and D. Ceccarelli, "Use Cases for SF Aware Topology | ||||
| Models", draft-bryskin-teas-use-cases-sf-aware-topo- | ||||
| model-02 (work in progress), March 2018. | ||||
| [I-D.geng-coms-problem-statement] | [I-D.geng-coms-problem-statement] | |||
| 67, 4., Slawomir, S., Qiang, L., Matsushima, S., Galis, | 67, 4., Slawomir, S., Qiang, L., Matsushima, S., Galis, | |||
| A., and L. Contreras, "Problem Statement of Supervised | A., and L. Contreras, "Problem Statement of Supervised | |||
| Heterogeneous Network Slicing", draft-geng-coms-problem- | Heterogeneous Network Slicing", draft-geng-coms-problem- | |||
| statement-00 (work in progress), September 2017. | statement-00 (work in progress), September 2017. | |||
| [I-D.ietf-sfc-nsh] | [I-D.ietf-sfc-nsh] | |||
| Quinn, P., Elzur, U., and C. Pignataro, "Network Service | Quinn, P., Elzur, U., and C. Pignataro, "Network Service | |||
| Header (NSH)", draft-ietf-sfc-nsh-28 (work in progress), | Header (NSH)", draft-ietf-sfc-nsh-28 (work in progress), | |||
| November 2017. | November 2017. | |||
| [I-D.irtf-nfvrg-gaps-network-virtualization] | ||||
| Bernardos, C., Rahman, A., Zuniga, J., Contreras, L., | ||||
| Aranda, P., and P. Lynch, "Network Virtualization Research | ||||
| Challenges", draft-irtf-nfvrg-gaps-network- | ||||
| virtualization-09 (work in progress), February 2018. | ||||
| [I-D.king-teas-applicability-actn-slicing] | [I-D.king-teas-applicability-actn-slicing] | |||
| King, D. and Y. Lee, "Applicability of Abstraction and | King, D. and Y. Lee, "Applicability of Abstraction and | |||
| Control of Traffic Engineered Networks (ACTN) to Network | Control of Traffic Engineered Networks (ACTN) to Network | |||
| Slicing", draft-king-teas-applicability-actn-slicing-01 | Slicing", draft-king-teas-applicability-actn-slicing-01 | |||
| (work in progress), July 2017. | (work in progress), July 2017. | |||
| [I-D.netslices-usecases] | ||||
| kiran.makhijani@huawei.com, k., Qin, J., Ravindran, R., | ||||
| 67, 4., Qiang, L., Peng, S., Foy, X., Rahman, A., Galis, | ||||
| A., and G. Fioccola, "Network Slicing Use Cases: Network | ||||
| Customization and Differentiated Services", draft- | ||||
| netslices-usecases-02 (work in progress), October 2017. | ||||
| [I-D.qiang-netslices-gap-analysis] | ||||
| Qiang, L., Martinez-Julia, P., 67, 4., Dong, J., | ||||
| kiran.makhijani@huawei.com, k., Galis, A., Hares, S., and | ||||
| S. Slawomir, "Gap Analysis for Transport Network Slicing", | ||||
| draft-qiang-netslices-gap-analysis-01 (work in progress), | ||||
| July 2017. | ||||
| [I-D.wu-model-driven-management-virtualization] | ||||
| Wu, Q. and M. Boucadair, "An Architecture for Data Model | ||||
| Driven Network Management: the Network Virtualization | ||||
| Case", draft-wu-model-driven-management-virtualization-00 | ||||
| (work in progress), March 2018. | ||||
| [RFC2616] Fielding, R., Gettys, J., Mogul, J., Frystyk, H., | [RFC2616] Fielding, R., Gettys, J., Mogul, J., Frystyk, H., | |||
| Masinter, L., Leach, P., and T. Berners-Lee, "Hypertext | Masinter, L., Leach, P., and T. Berners-Lee, "Hypertext | |||
| Transfer Protocol -- HTTP/1.1", RFC 2616, DOI 10.17487/ | Transfer Protocol -- HTTP/1.1", RFC 2616, DOI 10.17487/ | |||
| RFC2616, June 1999, <https://www.rfc-editor.org/info/ | RFC2616, June 1999, <https://www.rfc-editor.org/info/ | |||
| rfc2616>. | rfc2616>. | |||
| [RFC4026] Andersson, L. and T. Madsen, "Provider Provisioned Virtual | [RFC4026] Andersson, L. and T. Madsen, "Provider Provisioned Virtual | |||
| Private Network (VPN) Terminology", RFC 4026, DOI 10.17487 | Private Network (VPN) Terminology", RFC 4026, DOI 10.17487 | |||
| /RFC4026, March 2005, <https://www.rfc-editor.org/info/ | /RFC4026, March 2005, <https://www.rfc-editor.org/info/ | |||
| rfc4026>. | rfc4026>. | |||
| skipping to change at page 16, line 20 ¶ | skipping to change at page 20, line 35 ¶ | |||
| [RFC7432] Sajassi, A., Ed., Aggarwal, R., Bitar, N., Isaac, A., | [RFC7432] Sajassi, A., Ed., Aggarwal, R., Bitar, N., Isaac, A., | |||
| Uttaro, J., Drake, J., and W. Henderickx, "BGP MPLS-Based | Uttaro, J., Drake, J., and W. Henderickx, "BGP MPLS-Based | |||
| Ethernet VPN", RFC 7432, DOI 10.17487/RFC7432, February | Ethernet VPN", RFC 7432, DOI 10.17487/RFC7432, February | |||
| 2015, <https://www.rfc-editor.org/info/rfc7432>. | 2015, <https://www.rfc-editor.org/info/rfc7432>. | |||
| [RFC8049] Litkowski, S., Tomotaki, L., and K. Ogaki, "YANG Data | [RFC8049] Litkowski, S., Tomotaki, L., and K. Ogaki, "YANG Data | |||
| Model for L3VPN Service Delivery", RFC 8049, DOI 10.17487/ | Model for L3VPN Service Delivery", RFC 8049, DOI 10.17487/ | |||
| RFC8049, February 2017, <https://www.rfc-editor.org/info/ | RFC8049, February 2017, <https://www.rfc-editor.org/info/ | |||
| rfc8049>. | rfc8049>. | |||
| [TOSCA-1.0] | ||||
| OASIS, "Topology and Orchestration Specification for Cloud | ||||
| Applications Version 1.0", OASIS OASIS Standard, http:// | ||||
| docs.oasis-open.org/tosca/TOSCA/v1.0/os/ | ||||
| TOSCA-v1.0-os.html, November 2013. | ||||
| [TOSCA-Profile-1.1] | ||||
| OASIS, "TOSCA Simple Profile in YAML Version 1.1", OASIS | ||||
| OASIS Standard, http://docs.oasis-open.org/tosca/TOSCA- | ||||
| Simple-Profile-YAML/v1.1/TOSCA-Simple-Profile- | ||||
| YAML-v1.1.html, January 2018. | ||||
| [TS-3GPP.23.401] | ||||
| 3GPP, "3rd Generation Partnership Project; Technical | ||||
| Specification Group Services and System Aspects; General | ||||
| Packet Radio Service (GPRS) enhancements for Evolved | ||||
| Universal Terrestrial Radio Access Network (E-UTRAN) | ||||
| access; (Release 15)", 3GPP Technical Specification | ||||
| 23.401, December 2017. | ||||
| [TS-3GPP.23.501] | [TS-3GPP.23.501] | |||
| 3GPP, "3rd Generation Partnership Project; Technical | 3GPP, "3rd Generation Partnership Project; Technical | |||
| Specification Group Services and System Aspects; System | Specification Group Services and System Aspects; 3G | |||
| Architecture for the 5G System; Stage 2 (Release 15)", | Security; Security architecture and procedures for 5G | |||
| 3GPP Technical Specification 23.501, July 2017. | System; (Release 15)", 3GPP Technical Specification | |||
| 23.501, December 2017. | ||||
| [VirtualHosting] | [VirtualHosting] | |||
| Wikipedia, "Virtual Hosting", Wikipedia article https:// | Wikipedia, "Virtual Hosting", Wikipedia article https:// | |||
| en.wikipedia.org/wiki/Virtual_hosting, August 2017. | en.wikipedia.org/wiki/Virtual_hosting, August 2017. | |||
| Authors' Addresses | Authors' Addresses | |||
| Jari Arkko | Jari Arkko | |||
| Ericsson | Ericsson | |||
| Kauniainen 02700 | Kauniainen 02700 | |||
| Finland | Finland | |||
| Email: jari.arkko@piuha.net | Email: jari.arkko@piuha.net | |||
| Jeff Tantsura | Jeff Tantsura | |||
| Futurewei, Future Networks | Nuagenetworks | |||
| Email: jefftant.ietf@gmail.com | Email: jefftant.ietf@gmail.com | |||
| Joel Halpern | Joel Halpern | |||
| Ericsson | Ericsson | |||
| Email: joel.halpern@ericsson.com | Email: joel.halpern@ericsson.com | |||
| Balazs Varga | Balazs Varga | |||
| Ericsson | Ericsson | |||
| Budapest 1097 | Budapest 1097 | |||
| Hungary | Hungary | |||
| Email: balazs.a.varga@ericsson.com | Email: balazs.a.varga@ericsson.com | |||
| End of changes. 37 change blocks. | ||||
| 46 lines changed or deleted | 271 lines changed or added | |||
This html diff was produced by rfcdiff 1.46. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||