2 Service Communication Proxy Architecture

This section explains the Service Communication Proxy system architecture.

The Service Communication Proxy is a decentralized solution and composed of control plane and data plane. This solution is deployed along side of 5G Network Functions (NF) for providing routing control, resiliency, and observability to the core network.

Figure 2-1 Service Communication Proxy Architecture

Service Communication Proxy Architecture

Note:

SCP SDS App service is optional component.

The Service Communication Proxy solution is deployed either as a default outbound proxy to NF instances or as a router model where SCP is configured as http2 outbound proxy at each NFs in cloud native environments. SCP provides the following benefits to the 5G core network architecture:

Improved Load Balancing

The 5G core network is a service based architecture which does not lend itself to an efficient load balancing of provider NFs and by introducing a Service Communication Proxy in the midst, load balancing across available NFs can be significantly improved. The Service Communication Proxy has a complete view of all the messages arriving for a given NF type and supports traffic distribution schemes such as round robin based on capacity and its availability.

Routing Control

Service Communication Proxy provides better routing control and bring resiliency to the network. It relieves user NFs from remembering and interpreting complex routing rules associated with next hop selection and at the same time makes re-routing decisions based on load conditions and health status of NF providers within configuration time-period.

In the absence of an alternate route, the Service Communication Proxy rejects requests destined to a failed or degraded NF, thereby acting as a circuit breaker. This prevents valuable resources at the user NFs from being tied up waiting for responses from providers. The Service Communication Proxy retries on behalf of the service user there by relieving the service user from this burden and leaving it to focus on the application.

Message Priority Assignment/Override

3gpp-Sbi-Message-Priority header is defined to carry the message priority of 5G messages. The SCP includes or modifies the header based on the configuration parameters. See Configuring MessagePriority Options.

Circuit Breaking and Outlier Detection

Service Communication Proxy tracks the status of each individual endpoint of the producer NFs/NF Services. Upstream producer EndPoints that continually return 5xx errors for service requests are ejected from the routing pool for a pre-defined period of time. Outlier detection is a form of passive health checking of producer NFs. Outlier detection is per endpoint (of producer NF instance) and triggers when SCP receives consecutively 5xx error response and exceeds the configurable number of consecutive 5xx errors.

Circuit breaking is triggered on a per FQDN basis when its outstanding transactions exceeds a configurable value. When circuit breaking is activated, requests are alternate routed if possible or rejected.

Overload Control

The overload control protects the pod (server) from overload with respect to various system resources such as memory, CPU, or file descriptors due to several client connections or requests.

The SCP worker supports overload control based on the usage of the memory.

The SCP worker considers itself to be overloaded if the usage associated with memory exceeds the operator configured threshold values.

In the event of overload, the SCP performs the below configured actions:

  • Refuse new connections
  • Respond to new ingress requests with a configurable Error (http status) and code (Default Error code - 503).

Observability

The following are available in observability.

  • Metrics

    Metrics services requests are proxied through the Service Communication Proxy, the Service Proxy Controller collects Metrics and KPIs related to message processing. With this information, the Service Communication Proxy is in a unique position to provide a view of health status the network at a given time. See Alerts, Metrics and Traces.

  • Tracing

    Compliant with open API tracing

  • Logging

    Compliant with EFK stack

Static Configuration

Static configuration fallback feature provides static configuration of NF profiles when geo-redundant NRFs in the network fails. Under normal conditions, SCP learns the 5G topology from NRF and uses it for creating the routing rules. Under failure conditions or when NRF is not configured or when static configurable routing is preferred, SCP uses the user configured/updated NF profiles. SCP retains the 5G topology info from NRF for further operations. It allows fallback to a static mode of operation for modifying the previously discovered NF Producers profiles (via NRF) as well as add any new NF Producer profiles while the NRFs are still unavailable. The following configurations are used for static configuration fallback feature:
  • TopologySourceInfo - This is the configuration which is used by SCP to determine the 5G topology source. SCP learns and creates the routing rules accordingly.
  • 5G NF topology Info - This is the information available at the SCP after learning the 5G topology from the defined source as per previous section configuration (either from NRF or static method).
  • User can create/get/update/delete the 5G NF Profile information.

SCP Microservices

Following is the list of SCP microservices:

Table 2-1 SCP Microservices

Microservices Description
SCPC-Pilot SCPC-Pilot keep track on Service registry and CRDs for any change and updates the route rules/configuration and translates them into low-level Envoy configuration & provide to Worker, when requested
SCPC-Notification It configures routing rules as per 5G NF topology information gathered from NRF or as result of Audit.
SCPC-Audit it does periodic audit with NRF to synchronize the 5G NF topology information and updates routing rules via notification, if needed.
SCPC-Config It provides configuration interface for SCP configuration.
SCPC-Subscription It performs NRF management and NRF discovery service operation for SCP registration and subscription for NF change notification.
SCP-Worker SCP-Worker receives 5G signaling traffic and controls communication/routing between 5G NFs/Services.
SCP-SDS (optional) Subscriber Data/DB Service, which maintains the serving AMF and SMF info for an UE.