Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Théorie de fonctionnement de la CUPS BNG de Juniper

Cette section décrit le fonctionnement de Juniper et les configurations que vous devez effectuer pour utiliser le CUPS BNG de Juniper.

Aperçu opérationnel

Le TR-459 BNG désagrégé multiservice avec CUPS. Le document TR-459 (Reference Architecture, Deployment Models, Interface, and Protocol Specifications ) a été créé par le Broadband Forum pour définir l’architecture BNG désagrégée. La figure 1 de la spécification TR-459 montre le placement des blocs fonctionnels sur le plan de contrôle et le plan d’utilisateur.

Figure 1 : Séparation fonctionnelle du TR-459 entre le plan de contrôle et le plan TR-459 Functional Separation Between the Control Plane and the User Plane d’utilisateur

La combinaison des fonctions du plan de contrôle est appelée plan de contrôle du BNG désagrégé. De même, une combinaison de fonctions spécifiques au plan d’utilisateur est appelée plan d’utilisateur de la BNG désagrégée.

Trois types d’interfaces existent entre le plan de contrôle et le plan d’utilisateur :

  • Interface de gestion (Mi) : utilisée en option pour la gestion centralisée des plans utilisateur BNG au niveau du contrôleur BNG CUPS.

  • L’interface de redirection de paquets de contrôle (CPRi) : utilisée pour diriger et échanger le trafic des protocoles de contrôle (DHCP, DHCPv6, PPPoE, PPP, L2TP, etc.) entre le contrôleur BNG CUPS et les plans utilisateur BNG afin de négocier les sessions des abonnés.

  • Interface de contrôle d’état (SCi) :

    • Utilisé pour établir des associations entre le contrôleur BNG CUPS et les plans d’utilisateur BNG.

    • Utilisé pour programmer les règles de détection et de transfert de trafic et l’état de l’abonné sur les plans d’utilisateur BNG pour chaque session d’abonné.

    • Utilisé pour rapporter les statistiques de session au contrôleur BNG CUPS.

Les fonctions de plan de contrôle et de plan utilisateur ainsi que les interfaces constituent l’architecture BNG désagrégée telle que proposée par la norme TR-459. Vous trouverez plus de détails dans le TR-459 BNG désagrégé multiservice avec CUPS. Document de référence sur l’architecture, les modèles de déploiement, l’interface et les spécifications des protocoles du Broadband Forum.

Contrôleur Juniper BNG CUPS

Le contrôleur BNG CUPS est une application conteneurisée qui s’exécute dans un environnement Kubernetes. Kubernetes est un environnement d’orchestration de conteneurs qui fournit une infrastructure permettant de prendre en charge la résilience des applications et du matériel, l’automatisation, la surveillance des applications, la mise à niveau et la restauration d’applications et la découverte de services.

Le contrôleur BNG CUPS se compose des micro-services suivants :

  • Instance du plan de contrôle : instance du plan de contrôle de gestion des abonnés. L’instance du plan de contrôle gère les états de session pour divers modèles d’accès (par exemple, DHCP, PPPoE et L2TP). Il fournit également des services AAA et des services d’attribution d’adresses IP et maintient les interfaces SCi et CPRi avec ses plans d’utilisateur BNG. L’instance du plan de contrôle peut également interagir avec une source de préfixe de pool dynamique (gestionnaire de pool d’adresses (distant) ou réserve locale) pour gérer une source d’adresses pour l’allocation d’adresses. L’instance du plan de contrôle enregistre l’état de la session dans l’espace de cache d’état. Si l’espace d’instance du plan de contrôle redémarre, il récupère son état à partir du cache d’état.
  • Cache d’état : cache persistant en mémoire qui stocke les informations de session d’abonné et d’autres informations d’état générées par l’instance du plan de contrôle. L’espace de cache d’état s’exécute sur un nœud de cluster autre que celui sur lequel l’instance du plan de contrôle s’exécute. Si le pod de cache d’état redémarre, il récupère son état à partir de l’instance du plan de contrôle.

Les composants du contrôleur BNG CUPS génèrent des messages de journal via le protocole syslog. Vous pouvez utiliser l’application BBE ECAV (Broadband Edge Event Collection and Visualization) pour collecter et enregistrer les messages du journal.

Modèles d’empilage pris en charge

  • Juniper BNG CUPS prend en charge les modèles d’empilage suivants :

    • Serveur DHCP pile unique

    • Serveur DHCPv6 pile unique

    • Serveur DHCP session unique double pile

    • Relais DHCP pile unique

    • Relais DHCPv6 à pile unique

    • Relais DHCP, session unique, double pile

    • Pile unique PPPoE (IP ou IPv6)

    • PPPoE double pile

    • L2TP LAC

    • VLAN dynamiques (pour DHCP et PPPoE)

Exigences de mise à l’échelle et de topologie prises en charge

Un seul contrôleur BNG CUPS prend en charge le nombre d’abonnés et de plans d’utilisateur BNG suivant :

  • Un contrôleur BNG CUPS peut prendre en charge jusqu’à 512 000 abonnés.

  • Un contrôleur BNG CUPS peut prendre en charge jusqu’à 32 plans d’utilisateur BNG.

Le contrôleur BNG CUPS fonctionne dans un environnement Kubernetes.

L’environnement Kubernetes requiert les appareils suivants :

Configurer le contrôleur BNG CUPS

La configuration du contrôleur BNG CUPS se compose des groupes de configuration suivants :

  • bbe-bng-director: contient des éléments de configuration à l’échelle du contrôleur, tels que les définitions de plan utilisateur BNG, les définitions d’instance de plan de contrôle, les affectations de plan utilisateur BNG, les définitions de groupe d’abonné et d’équilibrage de charge.
  • bbe-cpi-0: contient la majeure partie des configurations de gestion des abonnés, notamment les suivantes :
    • Profils dynamiques

    • Classificateurs de classe de service

    • Règles de réécriture

    • Profils de contrôle du trafic

    • Planificateurs et cartes de planificateurs

    • Filtres et mécanismes de contrôle de pare-feu

    • Services AAA (Authentication, Authorization, and Accounting) au niveau de l’accès et du profil d’accès

La figure 2 montre la hiérarchie des groupes de configuration.

Figure 2 : hiérarchie des Configuration Group Hierarchy groupes de configuration

Configurer le groupe bbe-bng-director

Le bbe-bng-director groupe de configuration contient la bng-controller strophe. Vous devez configurer au minimum les bng-controller-nameparamètres , user-planeset control-plane-instances dans la bng-controller strophe.

Voir l’exemple de configuration de groupe suivant bbe-bng-director :

Dans l’exemple ci-dessus, deux plans d’utilisateur BNG sont définis (billerica et canton). Dans le cadre de la configuration du plan utilisateur BNG, l’adresse IP de contact du plan utilisateur BNG est configurée dans la transport strophe. Les partitions de pool d’adresses dynamiques sont configurées sous la dynamic-address-pools strophe. En outre, le user-plane-profile, qui définit les interfaces et les capacités du plan d'utilisateur BNG, est défini et affecté à chaque plan d'utilisateur BNG.

Le user-plane-profile est configuré dans le groupe de configuration commun (par exemple, bbe-cpi-0). Ainsi, lorsque le plan utilisateur BNG est configuré ou affecté à une instance de plan de contrôle, son profil de plan utilisateur doit être défini dans le groupe de configuration commun affecté par le pour l’instance de control-plane-config-group plan de contrôle.

Indique bng-controller-name le nom du contrôleur (l’ensemble des instances du plan de contrôle et les microservices associés).

Dans le cadre de la configuration de l’instance du plan de contrôle, vous configurez les éléments suivants :

  • Nom de l’instance du plan de contrôle : le nom de l’instance du plan de contrôle doit correspondre au nom de l’instance du plan de contrôle que vous avez affecté à l’espace d’instance du plan de contrôle créé lors de la cpi add configuration initiale du contrôleur BNG CUPS (voir Installation de Juniper BNG CUPS).

  • Nom du groupe de configuration (par exemple)bbe-cpi-0 à utiliser pour la configuration de la gestion des abonnés.

  • Liste des plans utilisateur BNG affectés à l’instance du plan de contrôle.

Configurer le groupe bbe-cpi-0

Les configurations courantes pour la gestion des abonnés sont configurées dans un groupe de configuration commun. Jusqu’à cinq groupes de configuration communs peuvent être définis. Le nom du groupe de configuration commun est fixe. Le nom doit être l’un des suivants : bbe-cpi-0, bbe-cpi-1, bbe-cpi-3bbe-cpi-2, ou bbe-cpi-4.

Voir l’exemple de configuration de groupe suivant bbe-cpi-0 (pour plus de simplicité, l’exemple n’est que partiellement élaboré) :

Dans cette configuration de groupe courante, le fait dhcp-local-server group référence à une interface par son nom balisé. Une balise d’interface est définie dans la user-plane-profile configuration. Cela permet d’utiliser la même configuration de groupe de serveurs DHCP pour tous les ports logiques du plan utilisateur BNG affectés à la même balise d’interface.

Un profil de plan utilisateur est un modèle utilisé pour la configuration de l'interface d'un plan utilisateur BNG et d'autres configurations telles que l'interception légale, la diffusion de contenu sur le portail captif, le moniteur de ressources, etc. On suppose que la plupart de vos plans utilisateur BNG auront des configurations similaires. Le profil de plan utilisateur vous permet d’éviter d’avoir à répéter constamment la configuration du plan utilisateur BNG. Le serveur local DHCP peut représenter universellement l'interface d'un plan d'utilisateur BNG par son nom de balise (au lieu de up:billerica:xe-1/1/0). La combinaison du nom de la balise et du contexte du plan utilisateur BNG (fourni par l’infrastructure CUPS BNG) est suffisante pour identifier l’interface vers le composant de serveur local DHCP. Cela permet également à la configuration d’éviter de spécifier l’interface de chaque port logique pour chaque plan utilisateur BNG à affecter au groupe de serveurs DHCP locaux. La même balise d’interface peut être affectée à chaque interface logique et référencée une fois dans le groupe de serveurs DHCP locaux.

La configuration de groupe commune inclut également des configurations pour le gestionnaire de pool d’adresses (APM). Dans ce cas, une instance APM distante est utilisée pour les partitions IPv4 et une réserve locale est définie pour les partitions IPv6 locales utilisées pour sourcer les préfixes des adresses non temporaires IPv6 et des préfixes délégués.

Application de la configuration de groupe bbe-cpi-0

Une fois que vous avez terminé la configuration du bbe-cpi-0 groupe, vous devez l’appliquer pour qu’elle prenne effet.

Voir l’exemple d’application de configuration de groupe suivant bbe-cpi-0 :

Sécurisation des interfaces BNG CUPS

Les interfaces du contrôleur BNG CUPS avec le gestionnaire de pool d’adresses (APM), les plans utilisateur BNG et l’observateur (déploiements géographiques multiples uniquement, voir Utiliser Juniper BNG CUPS avec redondance géographique multiple) sont sécurisées via TLS (interfaces basées sur TCP) ou DTLS (interfaces basées sur UDP).

Clés et certificats

Pour sécuriser les interfaces avec le transport de niveau Sécurité (TLS) ou le niveau de transport de datagram Sécurité (DTLS), vous devez fournir les éléments suivants :

  • Clé privée : la clé est utilisée pour faciliter l’échange de clés de session et pour chiffrer les données de session.
  • Certificat de l’autorité de certification (AC) : un certificat racine (AC racine) est utilisé pour signer un certificat ou une clé publique. Le certificat racine est également utilisé pour authentifier le certificat de l’homologue.
  • Certificat : clé publique signée contenant des métadonnées sur le titulaire du certificat et le certificat lui-même.

Les clés et les certificats sont générés à l’aide de divers outils disponibles (par exemple, openssl). Les certificats peuvent être signés par vous-même ou par une autorité de certification externe. Il est important que les certificats utilisés entre le contrôleur BNG CUPS et ses homologues externes (APM, plans utilisateur BNG, etc.) puissent être authentifiés à l’aide du certificat racine (AC racine) que vous fournissez.

Spécification des clés et des certificats au contrôleur BNG CUPS

Pour configurer les clés et les certificats dans le contrôleur BNG CUPS, les clés et les certificats doivent être mis à la disposition des microservices du contrôleur BNG CUPS. Les clés et les certificats sont transmis par référence de fichier lors de l’étape de configuration de l’installation du contrôleur BNG CUPS.

Au cours de l’étape de configuration , vous êtes invité à entrer les références de clé et de certificat suivantes.

Remarque :

Si un secret Kubernetes existe dans l’espace de noms jnpr-bng-controller, vous ne serez pas invité à entrer les références de fichier correspondantes.

Vous pouvez utiliser le même jeu de clés et de certificats pour les trois interfaces (APM, plans utilisateur BNG et observateur).

Configuration des clés et des certificats dans le contrôleur BNG CUPS

Une fois que les clés et les certificats sont spécifiés lors de l’étape de configuration du processus d’installation du contrôleur BNG CUPS, ils peuvent être configurés dans le contrôleur BNG CUPS sous le chemin du répertoire /config .

Clés et certificats APMi

Les clés APMi et les certificats sont montés dans /config/apmi en tant que fichiers ca.crt (BNGControllerRootCertificateFile), tls.crt (BNGControllerCertificateFile ) et tls.key (BNGControllerKeyFile). Pour sécuriser l’interface du contrôleur BNG avec APM avec TLS, créez la configuration suivante à l’aide de noms de chemin complets :

Clés et certificats SCi et CPRi

Les clés et les certificats SCi et CPRi sont montés à l’emplacement /config/dtls en tant que fichiers ca.crt (BNGControllerRootCertificateFile), dtls.crt (BNGControllerCertificateFile ) et dtls.key (BNGControllerKeyFile). Pour sécuriser les interfaces au plan utilisateur BNG (SCi et CPRi) avec DTLS, effectuez la configuration suivante en utilisant les chemins d’accès aux fichiers relatifs à /config :

Configuration des clés et des certificats dans le plan d’utilisateur BNG

Les fichiers de clé et de certificat doivent être copiés dans le système de fichiers du plan utilisateur BNG dans le répertoire /config . Une fois que les fichiers de clé et de certificat sont transférés dans un répertoire non volatile du système de fichiers du plan utilisateur BNG, configurez la clé DTLS et les certificats pour les interfaces SCi et CPRi. Effectuez la configuration suivante en utilisant les chemins d’accès aux fichiers relatifs à /config :

Remarque :

Par exemple pour le nom du chemin d’accès au fichier, si la clé DTLS était stockée dans /config/up/mx2009-a.key, la clé serait configurée comme suit : key-file-name up/mx2009-a.key.

Configurer les plans utilisateur BNG

Le plan utilisateur BNG est responsable de l’application de l’état de session d’abonné provenant du contrôleur BNG CUPS et agissant comme plan de transfert pour le trafic d’abonné. En outre, il est chargé de rediriger les paquets de protocole de contrôle vers le contrôleur BNG CUPS afin de négocier et de configurer la session de l’abonné.

La configuration du plan utilisateur BNG pour la gestion des abonnés est une configuration plus simple, car la plupart des configurations pour la gestion des abonnés sont effectuées sur le contrôleur BNG CUPS.

Voir l’exemple de configuration du plan utilisateur BNG suivant :

Remarque :

En outre, vous devrez effectuer une configuration similaire pour le canton du plan utilisateur BNG.

La user-plane configuration du mode est effectuée sous la subscriber-management strophe. L’adresse IP que le plan utilisateur BNG utilise pour communiquer avec le contrôleur BNG CUPS est définie sous la transport strophe. Le nom du contrôleur BNG CUPS auquel le plan utilisateur BNG a été attribué et dont il acceptera les associations est défini dans la control-plane strophe.

Le reste de la configuration du plan d'utilisateur BNG doit être axé sur d'autres configurations système (par exemple, interface, télémétrie, routage, protections contre les attaques DDoS, surveillance des ressources, etc.).

Fin du déploiement de votre contrôleur BNG CUPS

Une fois le processus d’installation du contrôleur BNG CUPS terminé (voir le Guide d’installation de BNG CUPS de Juniper), seul le service de cache d’état est actuellement en cours d’exécution. Vous pouvez le vérifier en exécutant la dbng status commande.

Pour terminer le déploiement du contrôleur BNG CUPS, vous devez créer une instance de plan de contrôle. Ceci est nécessaire avant de configurer les instances de plan de contrôle dans le groupe de bbe-bng-director configuration. Vous créez une instance de plan de contrôle à l’aide de la cpi-add commande.

Cela crée l’espace d’instance du plan de contrôle. Vous pouvez exécuter à nouveau la dbng status commande pour vérifier que l’instance du plan de contrôle a été créée. Dans cet exemple, vous pouvez voir que a cpi-boston été créé.

Le nom que vous attribuez à l’instance du plan de contrôle doit correspondre au nom que vous utilisez dans la configuration de bbe-bng-director groupe de l’instance du plan de contrôle. Maintenant que l’instance de plan de contrôle est créée, vous pouvez procéder à la configuration du contrôleur BNG CUPS en entrant dans la CLI.

Opérations du contrôleur BNG CUPS et du protocole du plan utilisateur BNG

Maintenant, avec les plans d’utilisateur BNG (billerica et canton) à la fois configurés et l’instance de plan de contrôle assignée (cpi-boston), le contrôleur BNG CUPS et les plans d’utilisateur BNG forment un système BNG désagrégé par signalisation sur l’interface de contrôle de l’état. La signalisation consiste en des échanges de messages PFCP pour établir une association entre le contrôleur BNG CUPS et chaque plan utilisateur BNG qui lui est attribué. La signalisation comprend également des échanges de messages PFCP supplémentaires avant la négociation de la session des abonnés et les processus de signalisation.

Le diagramme suivant montre les échanges de messages PFCP initiaux entre le contrôleur BNG CUPS et chaque plan d’utilisateur BNG attribué.

Figure 3 : Échanges de PFCP Message Exchanges messages PFCP

Les échanges PFCP initiaux se déroulent en trois étapes de base avant que le plan utilisateur BNG n’initie le transfert des paquets du protocole de contrôle (par exemple, PPPoE, PADI, DHCP DISCOVER, DHCPv6, SOLICIT) au contrôleur BNG CUPS à l’étape 4 ci-dessous.

Chaque plan utilisateur BNG affecté à un contrôleur BNG CUPS passe par les étapes suivantes.

    • Le contrôleur BNG CUPS initie la demande de pulsation au plan utilisateur BNG. Le plan utilisateur BNG répond à la demande de pulsation et initie sa propre demande de pulsation au contrôleur BNG CUPS.

    • Le contrôleur BNG CUPS initie une association au plan utilisateur BNG avec une demande de configuration d’association. Le plan utilisateur BNG n’initie pas d’association PFCP et attend d’être contacté par le contrôleur BNG CUPS. Si la demande provient du configuré bng-controller-name, le plan utilisateur BNG répond avec une réponse de configuration d’association PFCP. Une association de contrôleur BNG CUPS est ensuite formée avec le plan d’utilisateur BNG.

    • Des messages Heartbeat sont envoyés périodiquement dans les deux sens entre le contrôleur BNG CUPS et le plan utilisateur BNG en fonction de l’intervalle configuré. Il est recommandé d’utiliser le contrôleur BNG CUPS et les plans utilisateur BNG d’utiliser le même intervalle et de réessayer.

    La show health user-plane commande peut être exécutée à partir du contrôleur BNG CUPS pour confirmer une association réussie avec chaque plan utilisateur BNG attribué.

  1. Le contrôleur BNG CUPS initie des échanges de demandes d’établissement de session pour configurer les tunnels CPRi suivants :

    • CPRi par défaut pour permettre le transfert de paquets de contrôle du plan utilisateur BNG vers le contrôleur BNG CUPS pour démarrer les négociations de session d’abonné.
    • Si le profil de plan utilisateur affecté au plan utilisateur BNG dans la configuration du contrôleur BNG CUPS spécifie des interfaces configurées pour les VLAN détectés automatiquement, un CPRi de port logique est créé pour chaque interface configurée pour les VLAN détectés automatiquement. Une demande d’établissement de session est lancée pour chaque interface et inclut à la fois le nom du port logique et les plages de VLAN à partir de la strophe de l’interface auto-configure . Le port logique CPRi est utilisé pour prendre en charge la création de sessions différées et donc l’échange de paquets de protocole de contrôle entre le plan utilisateur BNG et le contrôleur CUPS BNG pour négocier les sessions des abonnés.
  2. Cette étape se compose de trois sous-étapes. Les sous-étapes peuvent se produire dans n’importe quel ordre, mais elles sont censées se produire avant que la négociation de session d’abonné ne soit effectuée :

    1. Le plan utilisateur BNG initie un ou plusieurs rapports d’instance de réseau au niveau du nœud. Les rapports indiquent chaque instance de réseau configurée et son état de connectivité initial (connecté ou isolé). Cette action est effectuée conformément au TR-459.

    2. Le plan utilisateur BNG initie un ou plusieurs rapports de port logique au niveau du nœud. Les rapports indiquent chaque port logique d’accès et sa capacité de transfert initiale. Cette action est effectuée conformément au TR-459.

    3. Le contrôleur BNG CUPS initie un ou plusieurs échanges de demandes de mise à jour d’association pour créer un ou plusieurs groupes d’abonnés provisionnés. Le port logique attribué à partir du plan utilisateur BNG est inclus dans le message de création des groupes d’abonnés.

  3. Le contrôleur BNG CUPS reçoit des paquets de protocole de contrôle du plan utilisateur BNG sur le CPRi par défaut ou le port logique. La négociation de la session d’abonné commence en fonction des échanges de paquets de contrôle entre le plan utilisateur BNG et le contrôleur BNG CUPS, ce qui entraîne des demandes d’établissement de session initiées par le contrôleur BNG CUPS pour créer un CPRi de session d’abonné.

    Notez ce qui suit :

    • Le plan utilisateur BNG ne transfère pas les paquets de protocole de contrôle reçus provenant d’un port logique d’accès au contrôleur BNG CUPS tant qu’une demande de création de groupe d’abonnés au niveau du nœud pour le port logique n’a pas été reçue du contrôleur BNG CUPS.

    • Le contrôleur BNG CUPS ignore les paquets de contrôle reçus arrivant sur le CPRi jusqu’à ce que la réponse de mise à jour d’association pour créer ou modifier le groupe d’abonnés correspondant pour le port logique soit reçue du plan utilisateur BNG.