SCP

Service Communication Proxy

Core Network
Introduced in R99
A core network function that provides a centralized, secure, and scalable proxy for service-based interface (SBI) communications between network functions (NFs) in 5G. It enables discovery, load balancing, and security, simplifying service mesh management and enhancing network reliability.

Description

The Service Communication Proxy (SCP) is a fundamental architectural element within the 5G Core (5GC) network, operating within the service-based architecture (SBA). It acts as an intermediary for all HTTP/2-based service-based interface (SBI) communications between producer and consumer Network Functions (NFs). The SCP provides a centralized communication layer, abstracting the direct point-to-point connectivity. Its primary role is to manage service discovery and selection. When a consumer NF needs to invoke a service, it sends a request to the SCP. The SCP then consults the Network Repository Function (NRF) to discover suitable producer NF instances that offer the required service, considering factors like load, location, and network slice context. After discovery, the SCP can perform load balancing by selecting an appropriate producer NF instance and securely forwarding the request. This decouples service consumers from the need for direct knowledge of producer NF instances and their locations.

Architecturally, the SCP is defined as an independent network function with its own service-based interface. It supports both the request-routing model, where it acts as a proxy for all messages, and the indirect communication model, where it provides discovery information to the consumer NF, which then communicates directly. The SCP implements critical security functions such as transport layer security (TLS) termination and re-initiation, ensuring end-to-end security across the service mesh. It can also enforce access control policies, validate messages, and provide topology hiding by masking the internal network structure from external entities or between different network slices.

Beyond discovery and security, the SCP enhances network reliability and scalability. It supports message routing and forwarding based on policies, subscriber information, and network slice identifiers. It can provide resilience through mechanisms like retransmissions and alternative routing if a producer NF fails. The SCP's centralized nature simplifies network operations, as policies for load balancing, traffic steering, and security can be managed in one logical point rather than distributed across every NF. This is crucial for large-scale, cloud-native deployments where NFs are dynamically instantiated and scaled. The SCP is a key enabler for efficient network slicing, as it can route requests to NF instances belonging to a specific slice, ensuring isolation and tailored service levels.

Purpose & Motivation

The SCP was introduced to address the complexities of direct service-to-service communication in the 5G Service-Based Architecture (SBA). In earlier 3GPP architectures, like the 4G Evolved Packet Core (EPC), interfaces were primarily point-to-point and protocol-specific (e.g., GTP, Diameter). The shift to a cloud-native, microservices-based 5GC with HTTP/2-based APIs created a dynamic environment where Network Functions (NFs) are ephemeral and scalable. Direct communication would require every NF consumer to continuously discover and manage connections to all potential NF producers, leading to significant signaling overhead, complex mesh management, and reduced agility.

The SCP solves these problems by providing a centralized communication fabric. It abstracts service discovery and routing, allowing NFs to be developed and deployed independently without hard-coded dependencies. This solves the problem of NF discovery in a dynamically changing environment. Furthermore, it addresses critical security and operational needs. It provides a central point for implementing security policies (like mutual TLS), access control, and topology hiding, which is essential for operator security and when exposing network capabilities to third parties. Its creation was motivated by the need for a scalable, manageable, and secure interconnection model that supports automation, network slicing, and the efficient operation of a disaggregated, software-defined core network.

Key Features

  • Centralized service discovery and selection via interaction with the NRF
  • Load balancing and traffic steering across multiple instances of a producer NF
  • End-to-end security enforcement, including TLS mediation and authorization
  • Topology hiding to abstract internal network structure from consumers
  • Support for indirect and request-routing communication models
  • Policy-based message routing and forwarding, supporting network slicing

Evolution Across Releases

R99 Initial

The concept of a Service Communication Proxy was not formally defined in R99. This release focused on the initial UMTS architecture with traditional circuit-switched and packet-switched domains. The SCP, as a service-based architecture element, is a 5G innovation.

Introduced the SCP as a formal Network Function within the 5G Service-Based Architecture. Defined its basic roles in service discovery, message routing, and load balancing. Established the indirect communication model where the SCP provides discovery information to consumer NFs.

Enhanced SCP capabilities, including support for the request-routing communication model where the SCP acts as a full proxy. Introduced more detailed procedures for delegated discovery, improved load balancing, and support for integration with the Network Slice Selection Function (NSSF).

Further refined SCP functionalities for edge computing and access traffic steering, switching, and splitting (ATSSS). Enhanced its role in multi-access and hybrid network scenarios. Strengthened security and policy control aspects.

Defining Specifications

SpecificationTitle
TS 21.905 3GPP TS 21.905
TS 23.094 3GPP TS 23.094
TS 23.127 3GPP TS 23.127
TS 23.501 3GPP TS 23.501
TS 23.540 3GPP TS 23.540
TS 24.524 3GPP TS 24.524
TS 28.840 3GPP TS 28.840
TS 29.078 3GPP TS 29.078
TS 29.198 3GPP TS 29.198
TS 29.278 3GPP TS 29.278
TS 29.500 3GPP TS 29.500
TS 29.513 3GPP TS 29.513
TS 29.520 3GPP TS 29.520
TS 29.552 3GPP TS 29.552
TS 29.570 3GPP TS 29.570
TS 29.574 3GPP TS 29.574
TS 29.843 3GPP TS 29.843
TS 32.255 3GPP TR 32.255
TS 32.808 3GPP TR 32.808
TS 33.117 3GPP TR 33.117
TS 33.501 3GPP TR 33.501
TS 33.776 3GPP TR 33.776
TS 33.794 3GPP TR 33.794