Ce document décrit les étapes pour configurer le DNN/APN virtuel dans les éléments de réseau Cisco SMF et UPF.
Dans l'architecture 3GPP 5G, un nom de réseau de données (DNN) est l'équivalent 5G d'un nom de point d'accès (APN) dans 4G/LTE. Il identifie le réseau de données vers lequel une session PDU est établie. Dans un déploiement standard, un seul DNN est utilisé uniformément sur toutes les fonctions réseau (NF) impliquées dans la gestion des sessions, notamment Unified Data Management (UDM), AMF, SMF, CHF, UPF, RADIUS et PCF.
Un DNN virtuel permet au réseau de présenter une identité DNN différente à des fonctions réseau spécifiques tout en utilisant un DNN de base pour les interactions d'abonnés avec d'autres fonctions réseau. Cela permet de différencier les frais, d'appliquer des politiques sélectives et de séparer les services sans avoir besoin d'une infrastructure physique séparée ou de modifications des données d'abonnement des abonnés dans l'UDM.
Ce document fournit une solution technique pour :
Modèles de déploiement pris en charge :
| Maquette |
Description |
Instances |
|---|---|---|
| SMF avec réplication géographique |
Deux sites SMF appariés pour la redondance. Les modifications sont appliquées simultanément aux deux sites. |
2 instances par SMF (_inst1, _inst2) |
| SMF autonome |
SMF unique sans géo-réplication. |
1 instance (_inst1 uniquement) |
Méthodes de mise en oeuvre prises en charge :
| Méthode |
Description |
|---|---|
| Automatisation MoP NSO |
Configuration déployée via l'API RESTful Cisco NSO à l'aide de charges utiles d'automatisation MoP |
| CLI direct |
Configuration appliquée directement sur l'interface CLI SMF/UPF |
Dans un déploiement de coeur de réseau 5G standard, lorsqu'un UE lance une session PDU avec un DNN spécifique, cette même identité DNN est envoyée à toutes les fonctions réseau impliquées dans le cycle de vie de la session : UDM, CHF, UPF, RADIUS et PCF. Cela crée des défis spécifiques.
Sans fonctionnalité DNS virtuelle, les opérateurs doivent :
La fonction DNN virtuel résout ces problèmes en permettant une présentation sélective de l'identité DNN aux fonctions réseau individuelles. Le mécanisme clé est le suivant :
DNN virtuel - Comportement d'interaction de fonction réseauLe processus permettant à SMF de convertir un DN de base (reçu de l'AMF) en un DN virtuel est le suivant :
Flux de résolution SMF Base DNN vers Virtual DNN
Étapes générales :
| Option |
Liste NF |
Interaction PCF |
Authentification RADIUS |
Scénario |
|---|---|---|---|---|
| Option A |
[ chf upf radius ] |
Désactivé |
Activée |
UDM utilise le DN de base ; pas de PCF ; RADIUS activé |
| Option B |
[ chf udm upf pcf ] |
Activée |
Désactivé |
Aucune authentification RADIUS ; PCF activé |
| Option C |
[ chf upf ] |
Désactivé |
Désactivé |
Interaction NF minimale (CHF + UPF uniquement) |
Remarque : Apportez les modifications nécessaires à la configuration.
| Type de session |
Configuration SMF |
UPF pdp-type |
|---|---|---|
| IPv4 uniquement |
session type IPV4 |
pdp-type ipv4 |
| IPv6 uniquement |
session type IPV6 |
pdp-type ipv6 |
| IPv4v6 (double pile) |
type de session IPV4V6 |
pdp-type ipv4 ipv6 |
Méthode 1. Interface de ligne de commande directe sur SMF
Exécuter sur tous les SMF cibles (les deux sites géo-répliqués simultanément).
Ajoutez des entrées de priorité dans policy subscriber polsub pour mapper l'abonné (par plage SUPI, code pays et instance) à la politique d'opérateur DNS virtuel.
config policy subscriber polsub precedence 1 supi-start-range <SUPI-START> supi-stop-range <SUPI-STOP> cc-start-range <CC-VALUE> cc-stop-range <CC-VALUE> instance-start-range 1 instance-stop-range 1 operator-policy oppol_<VDNN>_inst1 exit precedence 2 supi-start-range <SUPI-START> supi-stop-range <SUPI-STOP> cc-start-range <CC-VALUE> cc-stop-range <CC-VALUE> instance-start-range 2 instance-stop-range 2 operator-policy oppol_<VDNN>_inst2 exit exit
Créez la stratégie d'opérateur pour chaque instance, en pointant vers la stratégie DNS virtuelle.
config policy operator oppol_<VDNN>_inst1 policy dnn poldnn_<VDNN>_inst1 exit policy operator oppol_<VDNN>_inst2 policy dnn poldnn_<VDNN>_inst2 exit
C'est là que la substitution DNS virtuelle est définie. Le DNN de base entrant (provenant de l'AMF) est mappé au profil DNN virtuel.
config policy dnn poldnn_<VDNN>_inst1 dnn <BASE-DNN-NAME> profile dnnprof-<VDNN>_inst1 exit policy dnn poldnn_<VDNN>_inst2 dnn <BASE-DNN-NAME> profile dnnprof-<VDNN>_inst2 exit
Le profil DNN définit le nom DNN virtuel, la liste NF (les NF recevant le DNN virtuel), la balise RMGR (liaison de ressources partagées) et d'autres paramètres de session.
config profile dnn dnnprof-<VDNN>_inst1 dns primary ipv4 <PRIMARY-DNS-IP> dns secondary ipv4 <SECONDARY-DNS-IP> network-element-profiles chf <CHF-PROFILE> network-element-profiles amf <AMF-PROFILE> network-element-profiles udm <UDM-PROFILE> network-element-profiles scp <SCP-PROFILE> dnn <VIRTUAL-DNN-NAME> network-function-list [ chf radius upf ] dnn rmgr <RMGR-TAG>_1 timeout up-idle <UP-IDLE-TIMEOUT> cp-idle <CP-IDLE-TIMEOUT> charging-profile <CHARGING-PROFILE> wps-profile <WPS-PROFILE> ssc-mode 1 allowed [ 2 ] session type <SESSION-TYPE> upf apn <VIRTUAL-DNN-NAME> qos-profile <QOS-PROFILE> authentication secondary radius group <RADIUS-GROUP> authentication algorithm pap 1 always-on false dcnr true pcf-interaction false userplane-inactivity-timer <INACTIVITY-TIMER> only-nr-capable-ue false eventmgmt-policy <EVENT-POLICY> exit profile dnn dnnprof-<VDNN>_inst2 dns primary ipv4 <PRIMARY-DNS-IP> dns secondary ipv4 <SECONDARY-DNS-IP> network-element-profiles chf <CHF-PROFILE> network-element-profiles amf <AMF-PROFILE> network-element-profiles udm <UDM-PROFILE> network-element-profiles scp <SCP-PROFILE> dnn <VIRTUAL-DNN-NAME> network-function-list [ chf radius upf ] dnn rmgr <RMGR-TAG>_2 timeout up-idle <UP-IDLE-TIMEOUT> cp-idle <CP-IDLE-TIMEOUT> charging-profile <CHARGING-PROFILE> wps-profile <WPS-PROFILE> ssc-mode 1 allowed [ 2 ] session type <SESSION-TYPE> upf apn <VIRTUAL-DNN-NAME> qos-profile <QOS-PROFILE> authentication secondary radius group <RADIUS-GROUP> authentication algorithm pap 1 always-on false dcnr true pcf-interaction false userplane-inactivity-timer <INACTIVITY-TIMER> only-nr-capable-ue false eventmgmt-policy <EVENT-POLICY> exit
apn <VIRTUAL-DNN-NAME>
gtpp group gtpp_group
active-charging rulebase rulebase-mobility
exit
Méthode 2 : Automatisation MoP NSO
Fichier de configuration : virtual_dn_new_optionA.cfg
Chemin : /var/opt/ncs/mops
(Le contenu du fichier est identique à celui de la CLI)
Charge utile NSO (Géo-répliquée - les deux sites) :
POST: http://<NSO-SERVER>:8080/restconf/operations/mop-mop:action/mop-automation
{
"mop-automation": {
"mop-file-name": [
{
"file-name": "virtual_dnn_new_optionA.cfg",
"order": 1,
"target-devices-list": [
{ "target-device-name": "<SMF-NODE-SITE-A>" },
{ "target-device-name": "<SMF-NODE-SITE-B>" }
]
}
],
"operation-type": "dry-run"
}
}
Mise en garde : Exécutez d'abord avec « operation-type : dry-run' afin de valider la configuration delta. Une fois la validation effectuée, passez à « operation-type : commit' à appliquer.
Après avoir validé le nouveau profil DNS virtuel sur SMF :
show system status show running-status info | nomore show running-config profile dnn <VIRTUAL-DNN-PROFILE-INST1> show running-config profile dnn <VIRTUAL-DNN-PROFILE-INST2>
Confirmer : État du système à 100 %, aucun redémarrage de pod BGP ou CDL.
Ajoutez la configuration VPN APN sur tous les UPF desservant le DNS virtuel sur les deux sites.
Pour IPV4 uniquement :
config
context <UPF-CONTEXT>
apn <VIRTUAL-DNN-NAME>
pdp-type ipv4
selection-mode subscribed sent-by-ms chosen-by-sgsn
gtpp group <GTPP-GROUP>
ip access-group <IPV4-ACL-NAME> in
ip source-violation ignore
ip context-name <UPF-CONTEXT>
active-charging rulebase <RULEBASE-NAME>
exit
exit
end
Pour IPV6 uniquement :
config
context <UPF-CONTEXT>
apn <VIRTUAL-DNN-NAME>
pdp-type ipv6
selection-mode subscribed sent-by-ms chosen-by-sgsn
gtpp group <GTPP-GROUP>
ipv6 access-group <IPV6-ACL-NAME> in
ip source-violation ignore
ip context-name <UPF-CONTEXT>
active-charging rulebase <RULEBASE-NAME>
exit
exit
end
Pour IPV4V6 (double pile) :
config
context <UPF-CONTEXT>
apn <VIRTUAL-DNN-NAME>
pdp-type ipv4 ipv6
selection-mode subscribed sent-by-ms chosen-by-sgsn
gtpp group <GTPP-GROUP>
ip access-group <IPV4-ACL-NAME> in
ip source-violation ignore
ip context-name <UPF-CONTEXT>
ipv6 access-group <IPV6-ACL-NAME> in
active-charging rulebase <RULEBASE-NAME>
exit
exit
end
Automatisation MoP NSO (UPF) :
Fichier de configuration : virtual_dnn_upf_new.cfg
Chemin : /var/opt/ncs/mops
POST: http://<NSO-SERVER>:8080/restconf/operations/mop-mop:action/mop-automation
{
"mop-automation": {
"mop-file-name": [
{
"file-name": "virtual_dnn_upf_new.cfg",
"order": 1,
"target-devices-list": [
{ "target-device-name": "<UPF-NODE-SITE-A-1>" },
{ "target-device-name": "<UPF-NODE-SITE-A-2>" },
{ "target-device-name": "<UPF-NODE-SITE-A-3>" },
{ "target-device-name": "<UPF-NODE-SITE-A-4>" },
{ "target-device-name": "<UPF-NODE-SITE-B-1>" },
{ "target-device-name": "<UPF-NODE-SITE-B-2>" },
{ "target-device-name": "<UPF-NODE-SITE-B-3>" },
{ "target-device-name": "<UPF-NODE-SITE-B-4>" }
]
}
],
"operation-type": "dry-run"
}
}
show configuration context <UPF-CONTEXT> apn <VIRTUAL-DNN-NAME> show system status show session summary
Après avoir réussi la configuration sur tous les UPF, enregistrez la configuration pour qu'elle soit conservée après les redémarrages. Exécuter sur chaque UPF :
show boot show dir /flash show dir /sftp cp /flash/<PRODUCTION-CONFIG>.cfg /sftp/<PRODUCTION-CONFIG>_Backup-<DATE>.cfg save configuration /flash/<PRODUCTION-CONFIG>.cfg -noconfirm
Utilisez cette section lorsque le DNN virtuel existe déjà sur le SMF et que vous devez modifier sa configuration (par exemple, modifier la liste NF, désactiver/activer l'interaction PCF, modifier les paramètres RADIUS).
Étapes générales :
Objectif: Empêche l'établissement de nouvelles sessions PDU sur le DNS virtuel pendant l'application des modifications de configuration. Les sessions existantes ne sont pas affectées.
Méthode 1. Interface de ligne de commande directe sur SMF
Exécuter sur tous les SMF cibles :
config profile dnn <VIRTUAL-DNN-PROFILE-INST1> mode offline exit profile dnn <VIRTUAL-DNN-PROFILE-INST2> mode offline exit show config diff | nomore commit
Méthode 2. Automatisation MoP NSO
Fichier de configuration : virtual_dn_offline.cfg
Chemin : /var/opt/ncs/mops
POST: http://<NSO-SERVER>:8080/restconf/operations/mop-mop:action/mop-automation
{
"mop-automation": {
"mop-file-name": [
{
"file-name": "virtual_dnn_offline.cfg",
"order": 1,
"target-devices-list": [
{ "target-device-name": "<SMF-NODE-SITE-A>" },
{ "target-device-name": "<SMF-NODE-SITE-B>" }
]
}
],
"operation-type": "dry-run"
}
}
Mise en garde : Exécutez d'abord avec « operation-type : pour la validation... Passez ensuite à « type-opération : commit' afin de s'appliquer.
Vérification post-étape :
show system status show running-status info | nomore
L'état du système doit rester à 100 %. Aucun redémarrage de pod BGP ou CDL et aucun impact sur les appels existants.
Scénario 1 : suppression de l'UDM de la liste NF et désactivation de l'interaction PCF
Objectif: DNS virtuel envoyé à CHF, UPF et RADIUS uniquement. UDM utilise le DN de base. PCF désactivé.
CLI directe :
config profile dnn <VIRTUAL-DNN-PROFILE-INST1> no mode offline dnn <VIRTUAL-DNN-NAME> network-function-list [ chf upf radius ] pcf-interaction false exit profile dnn <VIRTUAL-DNN-PROFILE-INST2> no mode offline dnn <VIRTUAL-DNN-NAME> network-function-list [ chf upf radius ] pcf-interaction false exit show config diff | nomore commit
Automatisation MoP NSO :
Fichier de configuration : virtual_dn_modify_no_udm_no_pcf.cfg
POST: http://<NSO-SERVER>:8080/restconf/operations/mop-mop:action/mop-automation
{
"mop-automation": {
"mop-file-name": [
{
"file-name": "virtual_dnn_modify_no_udm_no_pcf.cfg",
"order": 1,
"target-devices-list": [
{ "target-device-name": "<SMF-NODE-SITE-A>" },
{ "target-device-name": "<SMF-NODE-SITE-B>" }
]
}
],
"operation-type": "dry-run"
}
}
Configuration post-modification attendue :
profile dnn <VIRTUAL-DNN-PROFILE-INST1> dns primary ipv4 <PRIMARY-DNS-IP> dns secondary ipv4 <SECONDARY-DNS-IP> network-element-profiles chf <CHF-PROFILE> network-element-profiles amf <AMF-PROFILE> network-element-profiles udm <UDM-PROFILE> network-element-profiles scp <SCP-PROFILE> dnn <VIRTUAL-DNN-NAME> network-function-list [ chf upf radius ] dnn rmgr <BASE-DNN-RMGR-INST1> timeout up-idle <UP-IDLE-TIMEOUT> cp-idle <CP-IDLE-TIMEOUT> charging-profile <CHARGING-PROFILE> wps-profile <WPS-PROFILE> ssc-mode 1 allowed [ 2 ] session type <SESSION-TYPE> upf apn <VIRTUAL-DNN-NAME> qos-profile <QOS-PROFILE> authentication secondary radius group <RADIUS-GROUP> authentication algorithm pap 1 always-on false dcnr true pcf-interaction false userplane-inactivity-timer <INACTIVITY-TIMER> only-nr-capable-ue false eventmgmt-policy <EVENT-POLICY> exit
show system status show running-status info | nomore show running-config profile dnn <VIRTUAL-DNN-PROFILE-INST1> show running-config profile dnn <VIRTUAL-DNN-PROFILE-INST2>
Confirmer : État du système à 100 %, aucun redémarrage de pod BGP ou CDL, aucun impact sur les appels existants.
Démarrez l'abonné de surveillance sur l'ILC SMF :
monitor subscriber supi imsi-<TEST-IMSI>
Comportement attendu dans le suivi :
| Point De Contrôle |
Résultat attendu |
|---|---|
| Demande d’établissement de session PDU |
DNN = <Base-DNN-NAME> reçu de l'AMF |
| Interaction UDM (Nudm_SDM) |
DNN envoyé à UDM = DNN de base (via dnn rmgr) |
| Interaction CHF (Nchf_ConvergedCharging) |
DNN envoyé à CHF = <VIRTUAL-DNN-NAME> |
| UPF (établissement de session PFCP) |
APN = <NOM-DNN-VIRTUEL> |
| Demande d'accès RADIUS (si activée) |
Called-Station-Id = <VIRTUAL-DN-NAME> |
| Interaction PCF (Npcf_SMPolicyControl) (si activé) |
DNN = <NOM-DNN-VIRTUEL> |
| Interaction PCF (si désactivée) |
Aucun message pcf dans la trace |
| PDU Session Establishment Accept |
Session établie avec succès |
| Attribution des adresses IP |
Adresse IP valide attribuée à partir du pool correct |
Exemple de résultat d'abonné de surveillance (champs clés) :
--- PDU Session Establishment Request --- DNN: <VIRTUAL-DNN-NAME> S-NSSAI: SST=1, SD=<SD-VALUE> PDU Session Type: <SESSION-TYPE> --- Nudm_SDM (Subscription Data) --- DNN: <BASE-DNN-NAME> <-- Base DNN used for UDM lookup --- Nchf_ConvergedCharging_Create --- DNN: <VIRTUAL-DNN-NAME> <-- Virtual DNN sent to CHF --- PFCP Session Establishment Request (to UPF) --- APN: <VIRTUAL-DNN-NAME> <-- Virtual DNN sent to UPF --- RADIUS Access-Request (if applicable) --- Called-Station-Id: <VIRTUAL-DNN-NAME> <-- Virtual DNN sent to RADIUS --- Npcf_SMPolicyControl_Create (if applicable) --- DNN: <VIRTUAL-DNN-NAME> <-- Virtual DNN sent to PCF --- PDU Session Establishment Accept --- PDU Address: <ALLOCATED-IP> DNN: <VIRTUAL-DNN-NAME>
Vérification de la session sur UPF :
show subscribers imsi <TEST-IMSI>
show subscribers user-plane-only full callid <callid>
| Variable |
Description |
Exemple de valeur |
|---|---|---|
| <NOM-DNN-VIRTUEL> |
Identificateur DNS virtuel |
enterprise-iot.cc |
| <VIRTUAL-DNN-PROFILE-INST1> |
Nom du profil DNS, instance 1 |
dnnprof-enterprise-iot.cc_inst1 |
| <VIRTUAL-DNN-PROFILE-INST2> |
Nom du profil DNS, instance 2 |
dnnprof-enterprise-iot.cc_inst2 |
| <BASE-DN-RMGR-INST1> |
Gestionnaire de ressources pour DNS de base, instance 1 |
apn_base.opérateur_1 |
| <BASE-DN-RMGR-INST2> |
Gestionnaire de ressources pour DNS de base, instance 2 |
apn_base.opérateur_2 |
| <SMF-NODE-SITE-A> |
Nom du noeud SMF sur le site A |
SMF-SITE-A |
| <SMF-NODE-SITE-B> |
Nom du noeud SMF sur le site B |
SMF-SITE-B |
| <UPF-NODE-SITE-A-1> à <UPF-NODE-SITE-A-4> |
Noeuds UPF sur le site A |
UPF1A à UPF1D |
| <UPF-NODE-SITE-B-1> vers <UPF-NODE-SITE-B-4> |
Noeuds UPF sur le site B |
UPF1A à UPF1D |
| <IP-DNS-PRINCIPAL> |
Adresse IP DNS principale pour le DNS |
10.x.x.x |
| <SECONDARY-DNS-IP> |
IP DNS secondaire pour le DNS |
10.x.x.x |
| <CHF-PROFILE> |
CHF nom du profil d'élément de réseau |
nfprf-chf2 |
| <PROFIL AMF> |
Nom du profil d'élément de réseau AMF |
nfprf-amf1 |
| <UDM-PROFILE> |
Nom du profil d'élément réseau UDM |
nfprf-udm1 |
| <PROFIL SCP> |
Nom du profil d'élément réseau SCP |
nfprf-scp1 |
| <PROFIL DE FACTURATION> |
Nom du profil de facturation |
chgprof-b2b |
| <PROFIL QOS> |
Nom du profil QoS |
5qi-to-dscp-mapping-table |
| <GROUPE-RADIUS> |
Nom du groupe RADIUS AAA |
aaa_group_iot |
| <UP-IDLE-TIMEOUT> |
Délai d'inactivité du plan utilisateur (secondes) |
3600 |
| <CP-IDLE-TIMEOUT> |
Délai d'inactivité du plan de contrôle (secondes) |
7320 |
| <INACTIVITY-TIMER> |
Minuteur d'inactivité du plan utilisateur (secondes) |
3600 |
| <POLITIQUE-ÉVÉNEMENT> |
Nom de stratégie de gestion des événements |
em_duplicateip |
| <PROFIL WPS> |
Profil de service prioritaire sans fil |
dynamic-wps |
| <NSO-SERVER> |
Nom d'hôte/IP du serveur NSO |
nso-server.mgmt |
| <CONTEXTE-UPF> |
Nom de contexte UPF pour le DNN |
B2B |
| <GTPP-GROUP> |
Groupe GTPP pour la génération CDR |
groupe_gtpp |
| <NOM-BASE-RÈGLE> |
Base de règles de facturation active |
rulebase-mobility |
| <NOM-ACL-IPV4> |
Nom de la liste de contrôle d'accès IPv4 |
ue_acl_B2B |
| <NOM-ACL-IPV6> |
Nom de la liste de contrôle d'accès IPv6 |
ipv6_acl_B2B |
| <TYPE-SESSION> |
PDU session IP type |
IPV4 / IPV6 / IPV4V6 |
| <TEST-IMSI> |
Test de validation de l'abonné IMSI |
10000XXXXXXXXXXX |
| Option |
Liste NF |
Interaction PCF |
Authentification RADIUS |
pcf-interaction Paramètre |
|---|---|---|---|---|
| A |
[ chf udm upf radius ] |
Activé (par défaut) |
Activée |
Non configuré (par défaut) |
| B |
[ chf upf radius ] |
Désactivé |
Activée |
pcf-interaction false |
| C |
[ chf udm upf pcf ] |
Activée |
Désactivé |
Non configuré (par défaut) |
| D |
[ chf upf ] |
Désactivé |
Désactivé |
pcf-interaction false |
| Scénario |
Modifier la description |
Liste NF après |
Paramètre PCF |
|---|---|---|---|
| 1 |
Supprimer UDM + Désactiver PCF |
[ chf upf radius ] |
pcf-interaction false |
| 2 |
Supprimer UDM, conserver PCF |
[ chf upf radius pcf ] |
Par défaut (activé) |
| 3 |
Désactiver PCF uniquement |
[ chf udm upf radius ] |
pcf-interaction false |
| 4 |
Supprimer RADIUS |
[ chf udm upf pcf ] |
Par défaut (activé) |
| Révision | Date de publication | Commentaires |
|---|---|---|
1.0 |
01-Sep-2026
|
Première publication |