ALTO                                                L. M. Contreras, Ed.
Internet-Draft                                                Telefonica
Intended status: Informational                            S. Randriamasy
Expires: 14 September 2023                               Nokia Bell Labs
                                                                  X. Liu
                                                         IBM Corporation
                                                           13 March 2023


             ALTO extensions for handling Service Functions
                  draft-lcsr-alto-service-functions-02

Abstract

   This document proposes the usage of ALTO (and its extensions) to
   provide information about service functions to clients (e.g.,
   external systems) that could consume such information for decisions
   requiring network information (service composition, traffic steering
   to service chains, etc).

Status of This Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at https://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   This Internet-Draft will expire on 14 September 2023.

Copyright Notice

   Copyright (c) 2023 IETF Trust and the persons identified as the
   document authors.  All rights reserved.










Contreras, et al.       Expires 14 September 2023               [Page 1]


Internet-Draft         ALTO for Service Functions             March 2023


   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents (https://trustee.ietf.org/
   license-info) in effect on the date of publication of this document.
   Please review these documents carefully, as they describe your rights
   and restrictions with respect to this document.  Code Components
   extracted from this document must include Revised BSD License text as
   described in Section 4.e of the Trust Legal Provisions and are
   provided without warranty as described in the Revised BSD License.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  Service Function information  . . . . . . . . . . . . . . . .   3
     2.1.  Cases relevant for exposing information related to Service
           Functions . . . . . . . . . . . . . . . . . . . . . . . .   3
     2.2.  Retrieval of Service Function information . . . . . . . .   5
   3.  Usage of ALTO for retrieving information relative to service
           functions . . . . . . . . . . . . . . . . . . . . . . . .   5
     3.1.  Information of interest . . . . . . . . . . . . . . . . .   5
     3.2.  ALTO mechanisms to support the requests about service
           functions . . . . . . . . . . . . . . . . . . . . . . . .   6
   4.  ALTO architecture for service function information
           retrieval . . . . . . . . . . . . . . . . . . . . . . . .   6
   5.  Proposed ALTO extensions  . . . . . . . . . . . . . . . . . .   7
   6.  Security Considerations . . . . . . . . . . . . . . . . . . .   8
   7.  Informative References  . . . . . . . . . . . . . . . . . . .   8
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .   9

1.  Introduction

   Network services are commonly formed by means of the concatenation of
   several atomic service functions (SF), resulting in a connected graph
   of functions.  Those functions can be topologically spread across the
   network.  In addition to that, there will be typically more than one
   instance of any particular atomic service function in the network for
   different purposes such as load balancing, redundancy, traffic
   optimization, etc.














Contreras, et al.       Expires 14 September 2023               [Page 2]


Internet-Draft         ALTO for Service Functions             March 2023


   During the definition phase of a network service there will be a
   process for defining the type of service functions needed to
   implement a given network service, as well as the way in which they
   should be connected to steer the traffic flows through them.  The
   type of a SF can be for instance a User Plane Function (UPF) of the
   mobile packet core, a cache of a Content Delivery Network (CDN), etc.
   Thus when having multiple instances of a function (i.e., multiple
   UPFs or multiple caches as in the example before), a decision process
   should be in place to determine the particular instances for each
   type of service function (i.e., what instance of UPF and CDN cache)
   that will be part of the realization of the network service, that we
   refer to as network service instance in this document.

   Information on the SFs and their instances is available from entities
   such as Service Orchestrators.  Examples of such information are SF
   type, service instance ID, SF locator, etc.  Information about a
   network service instance can be more comprehensively defined in terms
   of performace and resources efficiency if this information is
   complemented with network capabilities.  This draft proposes to
   complement information available on SF or their instances with
   information on the paths that interconnect them.

   At this point of network service realization, having timely
   information of the characteristics of the interconnection paths among
   SFs can be crucial.  Aspects such as number of hops, associated
   performance metrics, etc., can enrich (or even determine) the
   decision of which instances of the service function consider as final
   election.

   This document proposes the usage of ALTO [RFC7285] and its extensions
   to provide information about service functions or their
   interconnection paths to clients (e.g., external systems) that could
   consume such information for decisions requiring network information.

2.  Service Function information

2.1.  Cases relevant for exposing information related to Service
      Functions

   Several initiatives in IETF deal with the interconnection of service
   functions.

   [RFC7665] defines the Service Function Chain (SFC) architecture.
   There, the traffic is steered through SFC domains with the objective
   of making the flow passing through a number of service functions to
   run a service.  When entering the domain, the traffic is classified
   and assigned to an SFC Path.  Specific information is added to the
   packet flows within the domain, being this SFC encapsulation



Contreras, et al.       Expires 14 September 2023               [Page 3]


Internet-Draft         ALTO for Service Functions             March 2023


   containing metadata and contextual information useful for the
   processing of the flows by the service functions and other components
   in the architecture.  In all this process, there is no explicit
   identification of the service function to direct the traffic to, as
   it is implicit in the definition of a specific SFC Path.

   Similarly, in [RFC8986] the Segment Identifiers of SRv6 structures
   the 128 bits of the IPv6 address in the form LOC:FUNCT:ARG.  LOC is
   the locator used to route a packet to the endpoint and encoded in the
   L most significant bits of the Segment Identifier (SID).  FUNCT
   represents a Function ID and uses F bits.  ARG represents optional
   parameters to be interpreted by the function, and uses A bits.
   Furthermore, [I-D.ietf-spring-sr-service-programming] defines data
   plane functionalities required to implement service segments, in a
   similar way as [RFC7665] for SFC.

   Moreover, [I-D.ietf-teas-sf-aware-topo-model] defines a YANG data
   model able to integrate both network topology and service location on
   the same traffic engineering topology.  In this model, the service
   functions are represented by service-function-id and sf-connection-
   point-id.

   Finally, [I-D.ldbc-cats-framework] proposes a framework in which the
   metrics associated to different service instances of the same service
   function type are used for taking traffic steering decisions using
   overlay connections.  The metrics considered in such decision are
   expected to be a combination of networking and computing metrics.

   In all these previous cases, the information relative to the service
   functions can be limited, if present.  Richer information could be
   needed for an integration between the control systems responsible for
   the service operation and the control systems responsible for the
   network actions that could optimize the delivery of services relying
   on network information (that is, acting in an integrated fashion).

   For instance, taking as example OpenStack [OpenStack], a network
   service relies on descriptors providing information about Virtual
   Deployment Units (VDUs), Connection Points (CPs) and Virtual Links
   (VLs).

   A VDU describes the properties of the virtual construct that hosts
   the service function.  Important information is the function
   identifier and its type.  The CPs contain the IP and MAC addresses
   for such function, showing the binding as well between a VDU and a
   VL.  Finally, the VL identifies the connectivity between VDUs.






Contreras, et al.       Expires 14 September 2023               [Page 4]


Internet-Draft         ALTO for Service Functions             March 2023


   The level of information is not the same in all the solutions
   overviewed, however a solution like ALTO could help to reconcile all
   these different approaches by mapping and matching information on the
   service and the network planes.

2.2.  Retrieval of Service Function information

   Different options can be considered, in some cases being
   complementary and in some other cases being actual alternatives.

   One option is the retrieval of information as provided by Service
   Function Orchestration systems, as described by [OpenStack] or
   similar solutions.

   In addition to that, or as an alternative, different routing protocol
   extensions can provide information about existing Service Functions
   in the network.  For instance [RFC9015] can advertise using BGP the
   Service Function Type and Service Function Instances in a network.
   Furthermore, [I-D.xu-lsr-isis-service-function-adv] and
   [I-D.xu-lsr-ospf-service-function-adv] can advertise at IGP level the
   Service Function Identifier as unique identifier representing a
   service function within a domain.

3.  Usage of ALTO for retrieving information relative to service
    functions

   ALTO can expose combined information of the service overlay together
   with the underlying network characteristics.  This section details
   the potential usage of ALTO in this respect.

3.1.  Information of interest

   There can be several kinds of ALTO exposure information in response
   to client requests that can be taken into consideration.  Some
   examples are listed below:

   *  Path characteristics, from a PID, to any instance of a service
      function type.

   *  Path characteristics, from a PID, to a specific instance of a
      service function type.

   *  Path characteristics among any instance of a service function type
      X to any other instance of a service function type Y.

   *  Path characteristics among a specific instance of a service
      function type X to any other instance of a service function type
      Y.



Contreras, et al.       Expires 14 September 2023               [Page 5]


Internet-Draft         ALTO for Service Functions             March 2023


   *  Path characteristics, from a PID, to a chain of service functions.

   *  Path characteristics, from a PID, to a chain of specific instances
      of service functions.

   Other type of requests could be further identified.  The information
   to be exposed can be a combination of network and service function
   related characteristics.

   An ALTO server could be able to provide information for a limited set
   of requests.  Thus, some indication of the possible requests to be
   served should be in place when interacting with the client.

3.2.  ALTO mechanisms to support the requests about service functions

   ALTO can determine the path characteristics between two endpoints as
   described in [RFC7285].  ALTO also can provide the view of chain of
   functions by leveraging on the path vector concept developed in
   [RFC9275], where the endpoints considered represent service
   functions.

   [RFC9275] introduces the concept of Abstract Network Element (ANE) to
   specify a component or an aggregation of components sharing some
   characteristics in a network.  Furthermore, [RFC9240] generalizes the
   concept of endpoint properties to entity properties, where entities
   may be defined in semantic domains such as as IPv4 or IPv6, or PIDs
   or ANEs.

   This draft makes use of these capabilities to support the retrieval
   of information relative to service functions.

4.  ALTO architecture for service function information retrieval

   The following logical architecture defines the usage of ALTO for the
   retrieval of information about service functions or interconnection
   of service functions.

   Figure 1 represents the information exchange of an ALTO Server for
   providing information about service functions to ALTO clients (e.g.,
   external systems) that require combined information of network and
   service functions.










Contreras, et al.       Expires 14 September 2023               [Page 6]


Internet-Draft         ALTO for Service Functions             March 2023


                           +--------+   Topological   +---------+
                           |        |   Information   |  e.g.,  |
                           |        |<--------------->|  BGP,   |
                  ALTO     |        |                 | BGP-LS  |
    +--------+  protocol   |        |                 |         |
    | Client |<----------->|  ALTO  |                 +---------+
    +--------+             | Server |
                           |        | Service Function+---------+
                           |        |   Information   |  e.g.,  |
                           |        |<--------------->| Service |
                           |        |                 | Function|
                           |        |                 |Orchestr.|
                           +--------+                 +---------+

   Figure 1.  Information exchange

   The network topological information will be complemented with
   information relative to the service functions as provided by the
   orchestration system managing and controlling that part.

   The ALTO server will integrate the information of the service
   functions based on some parameters, such as the IP address of the
   service functions.

5.  Proposed ALTO extensions

   As proposed extension to existing ALTO specifications, the following
   aspects are considered:

   *  Extension to ALTO protocol to allow ALTO clients to express
      detailed requests in line with the information of interest
      described in Section 3.1.

   *  Extensions to ALTO in order to combine and expose both service and
      network information, in line with the architecture depicted in
      Section 3.3.  These extensions can involve particularizations of
      both [RFC9275] and [RFC9240].

   *  Identification of mechanisms to be used by ALTO for collecting
      service functions' information.

   Further extensions could be required.

   Next iterations of this draft will further analyze the gap between
   existing ALTO features and requirements to support the provisioning
   of infrastructure information needed to perform efficient SF
   management.




Contreras, et al.       Expires 14 September 2023               [Page 7]


Internet-Draft         ALTO for Service Functions             March 2023


6.  Security Considerations

   To be provided.

7.  Informative References

   [I-D.ietf-spring-sr-service-programming]
              Clad, F., Xu, X., Filsfils, C., Bernier, D., Li, C.,
              Decraene, B., Ma, S., Yadlapalli, C., Henderickx, W., and
              S. Salsano, "Service Programming with Segment Routing",
              Work in Progress, Internet-Draft, draft-ietf-spring-sr-
              service-programming-07, 15 February 2023,
              <https://datatracker.ietf.org/doc/html/draft-ietf-spring-
              sr-service-programming-07>.

   [I-D.ietf-teas-sf-aware-topo-model]
              Bryskin, I., Liu, X., Lee, Y., Guichard, J., Contreras, L.
              M., Ceccarelli, D., Tantsura, J., and D. Shytyi, "SF Aware
              TE Topology YANG Model", Work in Progress, Internet-Draft,
              draft-ietf-teas-sf-aware-topo-model-11, 12 March 2023,
              <https://datatracker.ietf.org/doc/html/draft-ietf-teas-sf-
              aware-topo-model-11>.

   [I-D.ldbc-cats-framework]
              Li, C., Du, Z., Boucadair, M., Contreras, L. M., Drake,
              J., Huang, D., and G. S. Mishra, "A Framework for
              Computing-Aware Traffic Steering (CATS)", Work in
              Progress, Internet-Draft, draft-ldbc-cats-framework-01, 10
              March 2023, <https://datatracker.ietf.org/doc/html/draft-
              ldbc-cats-framework-01>.

   [I-D.xu-lsr-isis-service-function-adv]
              Xu, X., Huang, H., Shah, H. C., and L. M. Contreras,
              "Advertising Service Functions Using IS-IS", Work in
              Progress, Internet-Draft, draft-xu-lsr-isis-service-
              function-adv-00, 9 March 2023,
              <https://datatracker.ietf.org/doc/html/draft-xu-lsr-isis-
              service-function-adv-00>.

   [I-D.xu-lsr-ospf-service-function-adv]
              Xu, X., Huang, H., Shah, H. C., and L. M. Contreras,
              "Advertising Service Functions Using OSPF", Work in
              Progress, Internet-Draft, draft-xu-lsr-ospf-service-
              function-adv-00, 9 March 2023,
              <https://datatracker.ietf.org/doc/html/draft-xu-lsr-ospf-
              service-function-adv-00>.





Contreras, et al.       Expires 14 September 2023               [Page 8]


Internet-Draft         ALTO for Service Functions             March 2023


   [OpenStack]
              "VNF Descriptor (VNFD) Template Guide,
              https://docs.openstack.org/tacker/latest/contributor/
              vnfd_template_description.html", n.d..

   [RFC7285]  Alimi, R., Ed., Penno, R., Ed., Yang, Y., Ed., Kiesel, S.,
              Previdi, S., Roome, W., Shalunov, S., and R. Woundy,
              "Application-Layer Traffic Optimization (ALTO) Protocol",
              RFC 7285, DOI 10.17487/RFC7285, September 2014,
              <https://www.rfc-editor.org/info/rfc7285>.

   [RFC7665]  Halpern, J., Ed. and C. Pignataro, Ed., "Service Function
              Chaining (SFC) Architecture", RFC 7665,
              DOI 10.17487/RFC7665, October 2015,
              <https://www.rfc-editor.org/info/rfc7665>.

   [RFC8986]  Filsfils, C., Ed., Camarillo, P., Ed., Leddy, J., Voyer,
              D., Matsushima, S., and Z. Li, "Segment Routing over IPv6
              (SRv6) Network Programming", RFC 8986,
              DOI 10.17487/RFC8986, February 2021,
              <https://www.rfc-editor.org/info/rfc8986>.

   [RFC9015]  Farrel, A., Drake, J., Rosen, E., Uttaro, J., and L.
              Jalil, "BGP Control Plane for the Network Service Header
              in Service Function Chaining", RFC 9015,
              DOI 10.17487/RFC9015, June 2021,
              <https://www.rfc-editor.org/info/rfc9015>.

   [RFC9240]  Roome, W., Randriamasy, S., Yang, Y., Zhang, J., and K.
              Gao, "An Extension for Application-Layer Traffic
              Optimization (ALTO): Entity Property Maps", RFC 9240,
              DOI 10.17487/RFC9240, July 2022,
              <https://www.rfc-editor.org/info/rfc9240>.

   [RFC9275]  Gao, K., Lee, Y., Randriamasy, S., Yang, Y., and J. Zhang,
              "An Extension for Application-Layer Traffic Optimization
              (ALTO): Path Vector", RFC 9275, DOI 10.17487/RFC9275,
              September 2022, <https://www.rfc-editor.org/info/rfc9275>.

Authors' Addresses

   Luis M. Contreras (editor)
   Telefonica
   Ronda de la Comunicacion, s/n
   28050 Madrid
   Spain
   Email: luismiguel.contrerasmurillo@telefonica.com
   URI:   http://lmcontreras.com



Contreras, et al.       Expires 14 September 2023               [Page 9]


Internet-Draft         ALTO for Service Functions             March 2023


   Sabine Randriamasy
   Nokia Bell Labs
   Email: sabine.randriamasy@nokia-bell-labs.com


   Xufeng Liu
   IBM Corporation
   Email: xufeng.liu.ietf@gmail.com











































Contreras, et al.       Expires 14 September 2023              [Page 10]