Internet-Draft | Service Routing Based on Databases | October 2022 |
Zhou, et al. | Expires 27 April 2023 | [Page] |
This draft proposes a unified method to perceive and advertise the running status of computing resources in a Service Awareness Network by introducing a distributed database. The forwarding operation in a fine-grained service routing policy is correspondingly defined which is completely decoupled from conventional IP routing. In the scheme proposed, the impact of high frequency changes of computing resources is avoided and the compatibility of the network is enhanced.¶
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 27 April 2023.¶
Copyright (c) 2022 IETF Trust and the persons identified as the document authors. All rights reserved.¶
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.¶
With computing resource continuously migrating to edges, services residing distributedly turns to be delivered in a dynamic way. More fine-grained networking policies awaring of service SLA requirements are urgently required.¶
As illustrated in [I-D.huang-service-aware-network-framework], a typical SAN framework consists of service client, service server, SAN ingress, SAN relay and SAN egress. A fine-grained networking policy can be achieved through successive procedures:¶
The mentioned procedures are shown in Figure 1:¶
(1)Perception<---------------------+ | | v | (2)Advertisement | | Status of| +---------------+--------------+ Computing| | | | Resources| v v v | | (3)Service Routing | +-------+ --------> +-------+ |Service| +-----------+ +----------+ +----------+ |Service| | +----+SAN Ingress+---+SAN Relay+---+SAN egress+---+ | |Client | +-----------+ +----------+ +----------+ |Server | +-------+ | +-------+ | | | | | | | |<-----SAN Fowarding and Routing Domain---->| | | | | |<---------------Service Identification Domain------------>|
Since the perception and advertisement procedures are the premises to achieve service routing, enabling the network to be aware of the running status timely is regarded to be a significant problem.¶
Currently, the perception of computing resources can be commonly achieved by application protocols, FTP for instance. With the connection between clients and the server establishd, the cloud side is required to spontaneously upload the running status of computing resources. The process of advertising computing resource information is commonly fulfilled by extending IGP or BGP. Packets with a designated format carrying information of computing resources flood in the network to complete the learning process.¶
In current schemes, service routing is strongly coupled with traditional IP routing which results in the following deficiencies:¶
According to the analysis above, the following problems are required to be solved:¶
This draft proposes computing resources perception and advertisement method by introducing a distributed database to fulfill service routing decoupled from conventional IP routing.¶
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.¶
The computing resources information of the cloud-side server is used to reflect the performance and a running status of resource pools. It is obtained to facilitate unified collaborative invocation of computing power resources.¶
It is noted that identical services can be provided by multiple resource pools which connects to different gateways and status of resource pools varies from each other. Thus, the description of computing resource may include the following attributes as shown in Figure 2:¶
+------------+-----------------+-----------------------------------+ | SAN ID | Service Gateway | Service Descriptions Index(1-n) | +------------+-----------------+-----------+-----------+-----------+ | Service 1 | GW1 | CPU 1 | Memory 1 | O/I 1 | +------------+-----------------+-----------+-----------+-----------+ | Service 2 | GW2 | CPU 2 | Memory 2 | O/I 2 | +------------+-----------------+-----------+-----------+-----------+ | Service 3 | GW2 | CPU 3 | Memory 3 | O/I 3 | +------------+-----------------+-----------+-----------+-----------+ | Service 3 | GW3 | CPU 4 | Memory 4 | O/I 4 | +------------+-----------------+-----------+-----------+-----------+ | Service 1 | GW3 | CPU 5 | Memory 5 | O/I 5 | +------------+-----------------+-----------+-----------+-----------+
Since the status of computing resources can be modeled as a collection of key-value pairs with keys as unique identifiers, this draft introduced a distributed database to store and update the running status. As shown in Figure 2, a service identification defined as a SAN ID(Service ID) in [I-D.ma-intarea-identification-header-of-san] to represent a globally unique service semantic identification and its connected gateway should be configured as the key for the extracted data model.¶
A distributed system has the advantages of advanced performance, high availability and simple extensibility. It is highly partitionable and allows horizontal scaling which satisfies the practical scenarios of large scale of service instances. Also, both keys and values can be anything from simple objects to complex compound objects, and thus heterogeneous computing resources can be described and stored.¶
After the key-value pairs are extracted and further written into the database by the cloud side as multiple DB-Agents, the perception of the status of computing resources is fulfilled.¶
+-------------+ | +--------+| +-----------------------------+ |VM |Database||<---------------------| DB-Agent | | +--------+| Write | | +-------------+ | +---------+ | | Read | +--------+Service 1| | v | | +---------+ | +----------------------+ | +------+------+ | | DB-Agent | | |Load Balancer| ...... | | | | +------+------+ | | +----+ +----+ | | | +---------+ | | |PE 1| ...... |PE n| | | +--------+Service n| | | +----+ +----+ | | +---------+ | | | | | | Network Edge Devices | | Cloud | +----------------------+ +-----------------------------+
With the introduction of a distributed database, the data of the computing resources can be stored in hierarchically organized directories. A typical form is described as below:¶
As shown in Figure 3, a group of edge devices in the network domain observes the key value information through a publish-subscribe mechanism. Specific keys or directories can be watched for changes and multiple clients can react to changes in values. Since multiple edge devices simultaneously observe the variations, the running status is advertised to all edge devices. It is concluded that, by introducing a database, functions of perception and advertisement are unified.¶
It can be understood that in the mentioned writing and reading process, there is no necessity to perform additional authentication on a management protocol and network layer protocols, thereby simplifying the overall procedure.¶
+-----------------------------+ | DB-Agent | |+---------------------------+| || Computing Resource & || || Network Information || || Perception Module || |+---------------------------+| +-----------------------------+ | +-------------------------+ |<-------------------| Networking Policy | | +-------------------------+ | +-------------------------+ |<-------------------|Service Addressing Policy| | +-------------------------+ v +-----------------------+ +------------------+ | Service Routing Table +<------------------>+ IP Routing Table | +-----------------------+ +------------------+
As shown in Figure 4, after the current computing status is obtained, a proper resource pool can be selected to satisfy the service SLA requirements, so as to quickly and accurately guide data forwarding. Together with path metrics in the network, a specific service routing table is formulated.¶
Since the service routing table is generated additionally, it is completely decoupled from the conventional IP routing table. As shown in Figure 5, for services with requirements for computing resources, the service routing table maps to the IP routing table to complete a forwarding operation. With the service gateway determined, an Interface IP or an SRv6 policy can be indexed. For conventional services which are not sensitive to computing resources, a forwarding operation can be implemented simply in the original way.¶
Service Routing Table IP Routing Table +------------+-----------------+ +---------------+--------------+ | Service ID | Service Gateway | |Prefix(Gateway)| Next Hop | +------------+-----------------+ +---------------+--------------+ | Service 1 | GW1 (Node SID1) |<-->| GW1 | Interface IP | +------------+-----------------+ +---------------+--------------+ | Service 2 | GW2 (Node SID2) | | | SRv6 Policy | +------------+-----------------+<-->| GW2 | (Endpoint+ | | Service 3 | GW2 (Node SID2) | | | Color) | +------------+-----------------+ +---------------+--------------+
With the introduction of a distributed database, the service routing procedure is decoupled from traditonal IP routing which enhances the compatibility of different services carried in the network.¶
As shown in Figure 6, suppose CPU load is a sample attribute and 70% is configured to be a threshold. If the CPU load beyonds 70%, the traffic needs to be steered to another satisfied resource pool .¶
The procedure of learning and processing updated computing resource status is described as follows:¶
Network Domain Cloud Domain +-------------------------+ +-----------------------+ |+------------+ +--------+| +--------+ |+--------+ +----------+| ||Edge Devices| |DB-Agent|| |Database| ||DB-Agent| |Cloud Side|| |+------------+ +--------+| +--------+ |+--------+ +----------+| +-------------------------+ +-----------------------+ | | |<-------------| | | | | | | | | watch | (/Service | | | | (/Service | Instances/ | | | | Instances | CPU Load 70) | | | | prefix/) | | | | |------------>| | | | | | | | | |<------------| | | | | notify | | | |notify | (/Service | | | |(/Service | Instances | | | |Instances/ | prefix/) | | | |SAN ID/ | | | | |CPU Load 70)| | | | |<-----------| | | | | | | | |
TBA¶
TBA¶