Inhoud

Inleiding

Voorwaarden

Vereisten

Gebruikte componenten

Achtergrondinformatie

Overzicht van architectuur en oplossing

Configuraties vereist bij AMF/SMF

Voorbeeld van Snap-pakketten

Core DNS-POD's en configuratie vereist op SMI-laag

Inleiding

Dit document beschrijft de diepe duik van SCP Model-D Communication-aanpak tussen Cisco AMF/SMF en NF van derden.

Voorwaarden

Vereisten

Cisco raadt kennis van de volgende onderwerpen aan:

- Functionaliteit van de Access and Mobility Management Function (AMF)

- Functionaliteit van de Sessiebeheerfunctie (SMF)

- Functionaliteit van Service Communication Proxy (SCP)

Gebruikte componenten

Dit document is niet beperkt tot specifieke software- en hardware-versies.

De informatie in dit document is gebaseerd op de apparaten in een specifieke laboratoriumomgeving. Alle apparaten die in dit document worden beschreven, hadden een opgeschoonde (standaard)configuratie. Als uw netwerk live is, moet u zorgen dat u de potentiële impact van elke opdracht begrijpt.

Achtergrondinformatie

Operators over de hele wereld kunnen kiezen tussen meerdere communicatiemodellen met behulp van SCP voor de netwerkfunctie (NF) detectie en daaropvolgende NF naar NF communicatie. Dit onderwerp behandelt concepten rond verschillende communicatiemodellen en de veranderingen in de gespreksstroom / configuratie die vereist zijn bij Subscriber Microservices Infrastructure (SMI), AMF / SMF om SCP Model-D-gebaseerde communicatie te hebben.

Overzicht van architectuur en oplossing

In de Service-based architecture (SBA) fungeert het SCP als tussenpersoon en faciliteert het indirecte communicatie tussen NF's door routering, load balancing en service discovery af te handelen, waardoor uiteindelijk de op service gebaseerde architectuur wordt gestroomlijnd.

3GPP 23.501 Annex-E beschrijft de vier communicatiemodellen tussen NF in een 5GC-implementatie.

Figuur A: (Verschillende communicatiemodellen met betrekking tot SCP)

Model-A - Directe communicatie zonder Network Repository Function (NRF) interactie: Consumenten worden geconfigureerd met de 'NF-profielen' van de producenten en communiceren rechtstreeks met een producent van hun keuze. Dit is een soort statische selectie en er wordt geen NRF of SCP gebruikt.

Model-B - Directe communicatie met NRF-interactie: Consumenten doen ontdekking door de NRF te bevragen. Op basis van het ontdekkingsresultaat doet de consument de selectie. De consument stuurt het verzoek naar de geselecteerde producent.

Model-C - Indirecte communicatie zonder gedelegeerde ontdekking: Consumenten ontdekken door de NRF te bevragen. Op basis van ontdekkingsresultaten doet de consument de selectie van een NF-set of een specifieke NF-instantie van NF-set. De consument stuurt het verzoek naar het SCP met het adres van de gekozen serviceproducent die verwijst naar een NF-serviceinstantie of een reeks NF-serviceinstanties. In het laatste geval kiest het SCP een NF Service-instantie. Indien mogelijk werkt het SCP samen met NRF om selectieparameters zoals locatie, capaciteit, enzovoort te krijgen. Het SCP stuurt het verzoek naar de gekozen NF-serviceproducent.

Model-D - Indirecte communicatie met gedelegeerde detectie: consumenten zijn niet betrokken bij ontdekking of selectie. De consument voegt alle nodige detectie- en selectieparameters die nodig zijn om een geschikte producent te vinden toe aan het serviceverzoek. Het SCP gebruikt het aanvraagadres en de detectie- en selectieparameters in het aanvraagbericht om het verzoek naar een geschikte instantie van de producent te routeren. Het SCP kan een detectie uitvoeren met een NRF en een ontdekkingsresultaat verkrijgen.

Diepe duik op Model-D gebaseerde communicatie: Wanneer Call Model-D wordt gebruikt, stuurt de NF-consument niet rechtstreeks een verzoek naar de NRF, maar delegeert deze ontdekking aan het SCP. De NF-client stuurt een bericht naar het SCP en voegt voor elk van deze detectiefactoren de tekenreeks '3gpp-sbi-discovery' samen met de naam van de detectiefactor die wordt gebruikt als NF-detectie via de NRF wordt uitgevoerd.

Voor een scenario waarin SMF op zoek is naar Unified Data Management (UDM) met servicenamen nudm-sdm, worden de detectiefactoren doorgegeven aan het SCP:

- Autoriteit Header: de autoriteit draagt ofwel de volledig gekwalificeerde domeinnaam (FQDN) of het IP-adres, waarbij prioriteit wordt gegeven aan de IP-adresconfiguratie.

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

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

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

Figuur B: (SMF-UDM-communicatie via SCP-model D)

Opmerking: De 3gpp-sbi-discovery-service naam formaat is in plain string formaat en niet in array formaat volgens 3gpp 29.510 en open API definities (4.7.12.4 Style). In de 29.510 3gpp-sbi-discovery-service-naam wordt genoemd als een array formaat.

Afbeelding C: (Snapshot van 29.510 Spec)

De stijl: form en explode: false converteert de array echter naar een plain string, wat wordt uitgelegd door een voorbeeld te nemen van OpenAPI.

Afbeelding D: (Snapshot van Open API: (4.7.12.4 Stijlvoorbeelden) )

U hebt CLI-controle in zowel AMF als SMF om de parameter 3gpp-sbi-discovery-service te verzenden, omdat dit optioneel is (kan worden gedaan afhankelijk van de implementatieomgeving).

In het geval van Model-B, als u het voorbeeld neemt van AMF- en AUSF-communicatie (Authentication Server Function), verzendt de AMF de POST naar AUSF met AUSF IP / FQDN en poort.

POST http://<ausf-fqdn>:<port>/nausf-auth/v1/ue-authentications.

Afbeelding E: (communicatie tussen AMF en AUSF via model B)

In Model-D verzendt het AMF, aangezien de detectie wordt uitgevoerd door het SCP, in plaats van POST-http(s)://<ausf-fqdn>:<ausf-port>/nausf-auth/v1/ue-authenticaties, het gewijzigde POST-verzoek dat:

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

OF

POST http(s)://<scp-fqdn>:<scp-port>/nscp-route/nausf-auth/v1/ue-authenticaties (indien apiroot=nscp-route)

met

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

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

3gpp-Sbi-Discovery-servicenaam

Waar u kunt zien dat AMF de api-root (<ausf-fqdn>:<ausf-port>) van de AUSF heeft vervangen door de api-root van de SCP.

Figuur F: ( AMF-AUSF-communicatie via SCP-model D)

Met de 3gpp-sbi-discovery-parameters kan de SCP de beste NF ophalen en vervolgens het POST-verzoek doorsturen waar het de api-root van de SCP vervangt door de api-root die van de NRF is ontvangen nadat het antwoord op het ontdekkingsverzoek is ontvangen.

Configuraties vereist bij AMF/SMF

Om voor elke NF (bijvoorbeeld UDM) aan te geven welk oproepmodel moet worden gebruikt, wordt de nf-selectie-modelconfiguratie gebruikt binnen het bijbehorende 'profielnetwerkelement'.

profile network-element udm prf-udm-scp

[...]

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

exit

Zodra Model-D is gekozen, worden de queryparameters die zijn geconfigureerd voor het bijbehorende netwerkelement nog steeds gebruikt en worden ze doorgegeven aan het SCP in de indeling '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 ]

Uiteindelijk wordt het profielnetwerkelement toegewezen aan de naam van het gegevensnetwerk (dnn).

profile dnn ims

network-element-profiles udm prf-udm-scp

network-element-profiles scp prf-scp

exit

SCP's worden gedefinieerd als netwerkelement.

NF-client-profiel en een profiel voor het afhandelen van storingen is gekoppeld aan netwerkelement.

profile network-element scp <>

nf-client-profile        <>

failure-handling-profile <>

exit

Het nf-client-profiel van het type scp-profiel beschrijft de kenmerken van het SCP-eindpunt.

Hier kan nscp-route worden toegevoegd 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

SMF FQDN is geconfigureerd in de SBI (endpoint southbound interface).

endpoint sbi

relicas 2

nodes 2

fqdn <>

Voorbeeld van Snap-pakketten

Figuur G: ( AMF- SMF-nsmf-pressiecommunicatie via SCP Model D)

U moet vanuit het profiel dnn naar het zojuist geconfigureerde SCP-netwerkelement verwijzen.

profile dnn <>

network-element-profiles udm <>

network-element-profiles scp <>

exit

Als SCP-foutverwerking is geconfigureerd met actie als herhaal, probeert SMF alternatieve SCP te maken op basis van SCP-configuratie en herhaal het aantal pogingen.

Als SCP-storingsafhandeling is geconfigureerd met actie als retry-and-fallback voor een bepaalde servicenaam en berichttype, wordt teruggevallen naar Model-A.

Dit FOUTVERWERKINGSPROFIEL voor SCP (FHSCP) wordt gebruikt als de fout wordt geactiveerd vanuit de SCP (serverheader die SCP aangeeft) en de NF-clientconfiguratie voor de peer aanwezig is.

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

Voorbeeld van het nf-clientprofiel voor de beleidscontrolefunctie (Policy Control Function, PCF) voor het scenario waarin de actie retry and falback is geconfigureerd voor het berichttype 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

Core DNS-POD's en configuratie vereist op SMI-laag

CoreDNS-pods, die deel uitmaken van de naamruimte van het kube-systeem, worden geïmplementeerd als een replicaset met twee pods. Deze pods kunnen worden gepland op elk van de twee master/control nodes en zijn niet afhankelijk van waar de nameserver IP is geconfigureerd in clusterbeheer.

Het wordt echter aanbevolen om de nameserver-IP in alle besturings-/masternodes te configureren, omdat u geen labelcontrole hebt om de CoreDNS-pods te draaien volgens uw wens. Als de route naar nameservers niet aanwezig is op een van de master's waar CoreDNS wordt geïmplementeerd, wordt de SMF/AMF-clustersynchronisatie mislukt.

Momenteel stuurt CoreDNS-verzoeken door naar de naamserver die is opgegeven in het bestand resolv.conf.

'Kubectl Edit Configmap Corends -n Kube-System' heb je:

{

forward ./etc/resolv.conf{

max_concurrent 1000

}

Wanneer u /etc/resolv.conf controleert op de hoofdnode waar de service wordt gestart, moet deze het volgende bevatten:

name server <>

name server <>

Voorbeeld van nameserverconfiguratie in master/control node:

nodes <>

initial-boot netplan vlans <>

dhcp4 false

dhcp6 false

addresses [<>]

nameserver addresses [<>]

id <>

link <>

exit