Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Qu’est-ce qu’un RPD conteneurisé ?

Le processus cRPD (Junos® Containerized Routing Protocol Process) est une instance de la fonctionnalité de routage Junos OS instanciée dans un environnement conteneurisé Linux.

cRPD fournit un routage cloud-native au réseau. Nous empaquetons le logiciel cRPD sous la forme d’une image de conteneur Docker. cRPD prend en charge la fonctionnalité de routeur à l’aide d’IS-IS, OSPF et BGP sur l’appareil, comme illustré à la Figure 3.

Avantages de la cRPD

  • Temps de déploiement réduit : accélérez le déploiement à l'aide de conteneurs pour réduire le temps de démarrage du service de quelques minutes à quelques secondes.

  • Mise à niveau transparente : mettez à niveau les logiciels avec une interruption de service minimale.

  • Flexibilité : lancez plusieurs instances cRPD avec un minimum de ressources requises pour prendre en charge l’échelle cible.

  • Stabilité : fournit un logiciel de routage stable sous Linux.

Vue d’ensemble de rpd sous Linux

Le processus de protocole de routage Junos (rpd) est un processus logiciel au sein du logiciel moteur de routage. Le rpd contrôle les protocoles de routage qui s’exécutent sur l’équipement.

En tant que processus logiciel, le rpd :

  • Fonctionne à partir du centre d’une pile de protocoles de routage basée sur Linux.

  • Gère une ou plusieurs tables de routage, qui consolident les informations de routage apprises de tous les protocoles de routage.

  • Gère tous les messages de protocole, les mises à jour des tables de routage et implémente les stratégies de routage.

Figure 1 : RPD sur l’architecture Network software architecture diagram: CLI for user interaction; MGD manages configuration; CFGDB stores config data; RPD handles routing protocols; external apps use gRPC; FIB Agent links RPD to kernel; BFD ensures link health; PPMD manages processes; kernel interaction via netdev and netlink. Linux

Vous pouvez utiliser l’application rpd pour :

  • S’exécute sur des conteneurs logiciels. L’application cRPD permet d’utiliser des solutions de routage telles que le réflecteur de route conteneurisé (cRR). Le service cRR doit fonctionner de manière indépendante.

  • Interagissez avec les processus mgd pour la gestion, CLI pour la configuration, BFD pour la détection de la vivacité des liaisons, le processus de gestion périodique des paquets (PPMD) et les sessions de protocole de mise à jour.

  • Découvrez l’état du routage à l’aide de divers protocoles de routage.

  • Gérez l’ensemble complet des informations de routage dans la base d’informations de routage (RIB), également appelée table de routage.

  • Démarrez tous les protocoles de routage configurés et gérez tous les messages de routage. Le rpd gère une ou plusieurs tables de routage, qui consolident les informations de routage que le routeur apprend de tous les protocoles de routage.

  • Implémentez une stratégie de routage avec laquelle vous contrôlez les informations de routage qui se déplacent entre les protocoles de routage et la table de routage. À l’aide de la stratégie de routage, vous pouvez filtrer et limiter le transfert d’informations, ainsi que définir des propriétés associées à des itinéraires spécifiques.

  • Téléchargez les itinéraires qui répondent aux critères de sélection locale dans la base d’informations de transfert (FIB), également appelée table de transfert.

  • Déterminez les routes actives pour les destinations réseau à partir des informations de routage et programmez-les dans la table de transfert du moteur de routage.

  • Découvrez les attributs de l’interface tels que les noms, les adresses, les paramètres de l’unité de transmission maximale (MTU) et l’état de la liaison à l’aide des messages Netlink.

Vue d’ensemble de Docker

cRPD s’exécute sur n’importe quel système de distribution Linux prenant en charge Docker.

Docker est une plate-forme logicielle open source que vous pouvez utiliser pour créer, gérer et désassembler un conteneur virtuel qui peut s’exécuter sur n’importe quel serveur Linux. Docker emballe les applications dans des conteneurs. Vous pouvez porter et utiliser ces conteneurs sur n’importe quel système d’exploitation Linux. Un conteneur fournit la virtualisation d’une application au niveau du système d’exploitation.

Les conteneurs ne sont pas des machines virtuelles (VM). Ils isolent les environnements dotés d’un processeur, d’une mémoire, d’E/S et d’un réseau dédiés.

Avantages des conteneurs

  • Amélioration de l’efficacité grâce à l’isolement : les conteneurs utilisent les fonctionnalités du noyau Linux du système d’exploitation hôte, telles que l’isolation des groupes et des espaces de noms, pour permettre à plusieurs conteneurs de s’exécuter de manière isolée sur le même système d’exploitation hôte Linux. Une application dans un conteneur a moins de mémoire car elle partage le noyau du système d’exploitation de son hôte Linux.

  • Augmentation de la vitesse de démarrage : les conteneurs prennent moins de temps à démarrer que les machines virtuelles. Ainsi, vous pouvez utiliser des conteneurs pour installer, exécuter et mettre à niveau des applications rapidement et efficacement.

La figure 2 donne une vue d’ensemble d’un environnement de conteneur Docker typique.

Figure 2 : environnement Docker Container Environment de conteneur Docker

Comment fonctionne le cRPD ?

Lorsque vous démarrez Docker, un réseau de pont par défaut (également appelé pont) est créé automatiquement, et les conteneurs s’y connectent, sauf indication contraire. Vous pouvez utiliser ce réseau de pont pour exécuter plusieurs conteneurs sur le même hôte sans avoir à attribuer de ports dynamiques.

Un pont permet aux conteneurs connectés au même réseau de pont de communiquer, tout en assurant l’isolation des conteneurs qui ne sont pas connectés au réseau de pont.

En mode pont :

  • Les conteneurs se connectent à la pile du réseau hôte via des ponts.

  • Plusieurs conteneurs se connectent au même pont et communiquent entre eux.

  • Les ponts permettent une communication externe en se connectant aux interfaces réseau du système d’exploitation hôte.

Figure 3 : présentation et fonctionnalité Layered architecture diagram showing software stack with DevOps tools and customer apps at the top, networking protocols in the middle, Docker and customer agents below, Linux as the core, and deployment environments at the bottom. de cRPD

Lorsque vous déployez l’application RPD à l’aide d’un conteneur, la FIB expose que les interfaces réseau apprises par le noyau du système d’exploitation sous-jacent sont envoyées au RPD dans le conteneur Linux. RPD apprend à connaître toutes les interfaces réseau et ajoute l’état de routage pour toutes les interfaces réseau. Si d’autres conteneurs Docker sont en cours d’exécution dans le système, tous les conteneurs et applications s’exécutant directement sur l’hôte peuvent accéder au même ensemble d’interfaces réseau et au même état. cRPD transfère les itinéraires qui répondent aux critères de sélection des itinéraires locaux vers la FIB.

Réflecteur de route

Vous pouvez déployer cRPD pour fournir des services de plan de contrôle uniquement, tels que la réflexion de route BGP.

cRR est hébergé sur un autre serveur matériel du réseau. Les applications utilisent les informations d’accessibilité apprises à l’aide du service de réflexion de route. Le service réseau de réflexion de route doit fonctionner indépendamment, sans dépendre du même matériel ou des contrôleurs qui hébergent les applications.

Noyau du moteur de routage

Le logiciel moteur de routage se compose de plusieurs processus logiciels qui contrôlent la fonctionnalité du routeur et d’un noyau qui permet la communication entre tous les processus.

Le noyau du moteur de routage fournit :

  • Lien entre les tables de routage et la table de transfert du moteur de routage.

  • Communication avec le moteur de transfert de paquets. Le noyau synchronise la copie de la table de transfert de paquets du moteur de transfert de paquets avec la copie principale dans le moteur de routage.

Le noyau Linux hôte stocke la FIB. Il contient toutes les routes et les informations sur les sauts suivants pour le transfert de paquets.

Le rpd s’exécute nativement sous Linux et utilise Netlink pour partager les informations de routage du programme avec le noyau Linux. Netlink facilite la communication entre le noyau et les processus de l’espace utilisateur, tels que cRPD.

Vous pouvez utiliser les messages Netlink pour :

  • Programmez ou installez l’état FIB généré par le rpd dans le noyau Linux.

  • Interagissez avec mgd et CLI pour la configuration et la gestion.

  • Maintenez les sessions de protocole à l’aide de ppmd.

  • Détectez la vivacité à l’aide de BFD.

Fonctionnalités prises en charge sur cRPD

cRPD prend en charge les fonctionnalités suivantes :

  • Réflecteur de route BGP dans les conteneurs Linux (LXC)

  • Chemin d’ajout BGP, chemins multiples, mode d’assistance au redémarrage gracieux

  • Protocoles BGP, OSPF, OSPFv3, IS-IS et statiques

  • BMP, BFD et FIB Linux

  • Routage multichemin à coût égal (ECMP)

  • Kit d’outils d’extension Juniper (JET) pour RPD programmable (PRPD)

  • Junos OS CLI

  • Gestion à l’aide des interfaces ouvertes NETCONF et SSH

  • Routage IPv4 et IPv6

  • Routage MPLS

Licences

Vous avez besoin d’une licence pour activer les fonctionnalités du logiciel cRPD. Pour en savoir plus sur les licences cRPD, consultez Fonctionnalités prises en charge sur cRPD, Licences Flex pour cRPD et Gestion des licences cRPD.