Sommario

Introduzione

Prerequisiti

Requisiti

Componenti usati

Premesse

Panoramica dell'architettura e della soluzione

Configurazioni richieste in AMF/SMF

Snap di esempio dei pacchetti

Configurazione e POD DNS di base richiesti al livello SMI

Introduzione

Questo documento descrive l'approccio di comunicazione SCP-D tra Cisco AMF/SMF e NF di terze parti.

Prerequisiti

Requisiti

Cisco raccomanda la conoscenza dei seguenti argomenti:

- Funzionalità della funzione di gestione degli accessi e della mobilità (AMF)

- Funzionalità della funzione di gestione delle sessioni (SMF)

- Funzionalità di Service Communication Proxy (SCP)

Componenti usati

Il documento può essere consultato per tutte le versioni software o hardware.

Le informazioni discusse in questo documento fanno riferimento a dispositivi usati in uno specifico ambiente di emulazione. Su tutti i dispositivi menzionati nel documento la configurazione è stata ripristinata ai valori predefiniti. Se la rete è operativa, valutare attentamente eventuali conseguenze derivanti dall'uso dei comandi.

Premesse

Gli operatori di tutto il mondo possono scegliere tra diversi modelli di comunicazione utilizzando SCP per il rilevamento della funzione di rete (NF) e le successive comunicazioni da NF a NF. In questo argomento vengono illustrati i concetti relativi ai diversi modelli di comunicazione e le modifiche al flusso di chiamata e alla configurazione necessarie in Subscriber Microservices Infrastructure (SMI), AMF/SMF per consentire la comunicazione basata su SCP Model-D.

Panoramica dell'architettura e della soluzione

Nell'architettura SBA (Service Based Architecture), SCP funge da intermediario, facilitando la comunicazione indiretta tra le NF gestendo routing, bilanciamento del carico e individuazione dei servizi, semplificando in ultima analisi l'architettura basata sui servizi.

3GPP 23.501 L'Allegato-E descrive i quattro modelli di comunicazione tra NF in una distribuzione 5GC.

Figura A: (Diversi modelli di comunicazione con SCP)

Modello A - Comunicazione diretta senza interazione NRF (Network Repository Function): I consumatori sono configurati con i "profili NF" dei produttori e comunicano direttamente con un produttore di loro scelta. Si tratta di un tipo di selezione statica in cui non vengono utilizzati NRF o SCP.

Modello B - Comunicazione diretta con interazione NRF: I consumatori eseguono il discovery interrogando il NRF. In base al risultato del rilevamento, il consumatore effettua la selezione. Il consumatore invia la richiesta al produttore selezionato.

Modello C - Comunicazione indiretta senza individuazione delegata: I consumatori lo scoprono interrogando il NRF. In base al risultato del rilevamento, il consumer seleziona un set NF o un'istanza NF specifica del set NF. Il consumatore invia la richiesta all'SCP contenente l'indirizzo del produttore del servizio scelto che punta a un'istanza del servizio NF o a un set di istanze del servizio NF. In quest'ultimo caso, l'SCP sceglie un'istanza del servizio NF. Se possibile, l'SCP interagisce con l'NRF per ottenere parametri di selezione quali posizione, capacità e così via. L'SCP instrada la richiesta all'istanza del produttore di servizi NF prescelta.

Modello D - Comunicazione indiretta con individuazione delegata: I consumatori non sono coinvolti nell'individuazione o nella selezione. Il consumatore aggiunge tutti i parametri di individuazione e selezione necessari per trovare un produttore idoneo alla richiesta di assistenza. L'SCP utilizza l'indirizzo della richiesta e i parametri di individuazione e selezione nel messaggio di richiesta per instradare la richiesta a un'istanza del producer appropriata. SCP può eseguire il rilevamento con un NRF e ottenere un risultato del rilevamento.

Approfondimento sulla comunicazione basata sul modello D: Quando si utilizza Call Model-D, il consumer NF non invia direttamente una richiesta al NRF, ma delega al SCP questa individuazione. Il client NF invia un messaggio all'SCP e concatena per ciascuno di questi fattori di rilevamento la stringa '3gpp-sbi-discovery' con il nome del fattore di rilevamento che verrà utilizzato se il rilevamento NF verrà eseguito tramite l'NRF.

In uno scenario in cui SMF cercherà Unified Data Management (UDM) con i nomi di servizio nudm-sdm, i fattori di rilevamento verranno passati all'SCP:

- Intestazione autorità: l'autorità dispone del nome di dominio completo (FQDN) o dell'indirizzo IP, con priorità assegnata alla configurazione dell'indirizzo IP.

- tipo 3gpp-sbi-discovery-requester-nf: SMF

- 3gpp-sbi-discovery-target-nf-type: UDM

- 3gpp-Sbi-discovery-service-name: nudm-sdm

Figura B: ( Comunicazione SMF-UDM tramite SCP modello D)

Nota: Il formato del nome del servizio 3gpp-sbi-discovery è in formato di stringa semplice e non in formato di array come in 3gpp 29.510 e nelle definizioni API aperte (4.7.12.4 Style). Nel 29.510 3gpp-sbi-discovery-service-name è indicato come formato di array.

Figura C: (Snapshot da Spec. 29.510)

Tuttavia, style:form ed explode:false converte l'array in una stringa semplice che viene spiegata prendendo un esempio da OpenAPI.

Figura D: (Snapshot da API aperta: (4.7.12.4 Esempi di stile)

È possibile controllare la CLI sia in AMF che in SMF per inviare il parametro 3gpp-sbi-discovery-service, in quanto opzionale (a seconda dell'ambiente di distribuzione).

Nel caso del modello B, se si prende l'esempio della comunicazione AMF e Authentication Server Function (AUSF), una volta individuato AUSF, l'AMF invia il POST ad AUSF con IP/FQDN e porta AUSF.

POST http://<ausf-fqdn>:<porta>/nausf-auth/v1/ue-authentication.

Figura E: (Comunicazione AMF-AUSF tramite modello B)

In Model-D, poiché il rilevamento viene eseguito dall'SCP, invece di POST http(s)://<ausf-fqdn>:<ausf-port>/nausf-auth/v1/ue-authentication l'AMF invia la richiesta POST modificata, ovvero:

POST http(s)://<scp-fqdn>:<porta-scp>/nausf-auth/v1/ue-authentication

O

POST http(s)://<scp-fqdn>:<porta-scp>/nscp-route/nausf-auth/v1/ue-authentication(se apiroot=nscp-route)

Con

3gpp-Sbi-Discovery-target-nf-type: AUSF

3gpp-Sbi-Discovery-Preferred-locality: LOC1

3gpp-Sbi-Discovery-service-name

Come si può notare, AMF ha sostituito la radice api (<ausf-fqdn>:<ausf-port>) dell'AUSF con la radice api dell'SCP.

Figura F: ( Comunicazione AMF-AUSF tramite SCP-modello D)

I parametri 3gpp-sbi-discovery consentono all'SCP di recuperare l'NF migliore e inoltrare la richiesta POST dove sostituisce l'api-root dell'SCP con l'api-root ricevuta dall'NRF dopo aver ricevuto la risposta alla sua richiesta di rilevamento.

Configurazioni richieste in AMF/SMF

Per indicare per ogni NF (ad esempio, UDM) quale modello di chiamata deve essere utilizzato, la configurazione del modello di selezione nf viene utilizzata nell'elemento di rete del profilo associato.

profile network-element udm prf-udm-scp

[...]

nf-selection-model priority <>[local | nrf-query | nrf-query-peer-input | nrf-query-and-scp | scp]

exit

Dopo aver scelto Model-D, i parametri di query configurati per l'elemento di rete associato vengono ancora utilizzati e passati all'SCP nel formato '3gpp-Sbi-Discovery-<query-param>'.

[smf] smf(config)# profile network-element udm prf-udm-scp

[smf] smf(config-udm-udm1)# query-params

Possible completions:

[  chf-supported-plmn  dnn  requester-snssais  tai  target-nf-instance-id  target-plmn ]

Infine, l'elemento di rete del profilo viene mappato al nome della rete di dati (dnn) del profilo.

profile dnn ims

network-element-profiles udm prf-udm-scp

network-element-profiles scp prf-scp

exit

Gli SCP sono definiti come elementi di rete.

nf-client-profile e un profilo di gestione degli errori sono mappati con l'elemento di rete.

profile network-element scp <>

nf-client-profile        <>

failure-handling-profile <>

exit

Il profilo client-nf di tipo profilo-scp descrive in dettaglio le caratteristiche dell'endpoint SCP.

In questo caso, è possibile aggiungere nscp-route in api-root.

profile nf-client nf-type scp

scp-profile <>

locality LOC1

priority 30

service name type <>

responsetimeout 4000

endpoint-profile EP1

capacity   30

api-root   nscp-route

priority   10

uri-scheme http

endpoint-name scp-customer.com

priority 10

capacity 50

primary ip-address ipv4

primary ip-address port

fqdn name <>

fqdn port <>

exit

Il nome di dominio completo (FQDN) di SMF è configurato nell'interfaccia SBI (Southbound Interface) dell'endpoint.

endpoint sbi

relicas 2

nodes 2

fqdn <>

Snap di esempio dei pacchetti

Figura G: ( AMF- SMF nsmf-pdusession communication via SCP modello D)

Dal profilo dnn è necessario fare riferimento all'elemento di rete SCP appena configurato.

profile dnn <>

network-element-profiles udm <>

network-element-profiles scp <>

exit

Se la gestione degli errori SCP è configurata con l'azione Riprova, SMF tenta di eseguire un SCP alternativo in base alla configurazione SCP e al conteggio dei tentativi.

Se la gestione degli errori SCP è configurata con l'azione retry-and-fallback per un particolare nome di servizio e tipo di messaggio, si verifica il fallback al modello A.

Questo profilo di gestione degli errori per SCP (FHSCP) viene utilizzato se l'errore viene generato dall'SCP (intestazione server che indica SCP) e se è presente la configurazione client NF per il peer.

profile nf-client-failure nf-type scp

profile failure-handling <>

service name type npcf-smpolicycontrol

responsetimeout 1800

message type PcfSmpolicycontrolCreate

status-code httpv2 0,307,429,500,503-504

retry  1

action retry-and-fallback

exit

Esempio del profilo nf-client per la funzione di controllo dei criteri (PCF) per lo scenario in cui i tentativi di azione e il fallback sono configurati per il tipo di messaggio PcfSmpolicycontrolCreate:

profile nf-client nf-type pcf

pcf-profile <>

locality LOC1

priority 1

service name type npcf-smpolicycontrol

endpoint-profile epprof

capacity   10

priority   1

uri-scheme http

endpoint-name ep1

priority 1

capacity 10

primary ip-address ipv4 <>

primary ip-address port <>

exit

endpoint-name ep2

priority 1

capacity 10

primary ip-address ipv4 <>

primary ip-address port <>

exit

Configurazione e POD DNS di base richiesti al livello SMI

I pod CoreDNS, che fanno parte dello spazio dei nomi kube-system, vengono distribuiti come replicaset a 2 pod. Questi pod possono essere pianificati su uno qualsiasi dei due nodi master/di controllo e non dipendono dalla posizione in cui è configurato l'indirizzo IP del server dei nomi in Gestione cluster.

Tuttavia, si consiglia di configurare l'indirizzo IP del server dei nomi in tutti i nodi di controllo/master in quanto non si dispone di un controllo di etichettatura per la rotazione dei pod CoreDNS secondo le proprie esigenze. Se la route ai server dei nomi non è presente in nessuno dei master in cui viene distribuito CoreDNS, la sincronizzazione del cluster SMF/AMF non riesce.

Al momento, CoreDNS inoltra le richieste DNS al server dei nomi specificato nel file resolv.conf dei nodi.

'kubectl edit configmap coredns -n kube-system' si dispone di:

{

forward ./etc/resolv.conf{

max_concurrent 1000

}

Quando si seleziona /etc/resolv.conf nel nodo master in cui viene avviato il servizio, è necessario che contenga:

name server <>

name server <>

Esempio di configurazione del server dei nomi nel nodo master/controllo:

nodes <>

initial-boot netplan vlans <>

dhcp4 false

dhcp6 false

addresses [<>]

nameserver addresses [<>]

id <>

link <>

exit