Was ist containerisierter RPD?
Der Junos® Containerized Routing Protocol Process (cRPD) ist eine Instanz der Junos OS-Routing-Funktionalität, die in einer containerisierten Linux-Umgebung instanziiert wird. cRPD bietet Cloud-natives Routing für das Netzwerk. Wir packen die cRPD-Software als Docker-Container-Image. cRPD unterstützt Routerfunktionen mit IS-IS, OSPF und BGP auf dem Gerät, wie in Abbildung 3 dargestellt.
Vorteile von cRPD
-
Kürzere Bereitstellungszeiten: Beschleunigen Sie die Bereitstellung durch die Verwendung von Containern, um die Startzeit des Services von mehreren Minuten auf wenige Sekunden zu verkürzen.
-
Nahtloses Upgrade: Software-Upgrade mit minimaler Serviceunterbrechung.
-
Flexibilität: Starten Sie mehrere cRPD-Instanzen mit minimalen Ressourcenanforderungen, um die Zielskalierung zu unterstützen.
-
Stabilität: Stellen Sie eine stabile Routing-Software unter Linux bereit.
Überblick über rpd unter Linux
Der Junos Routing Protocol Process (rpd) ist ein Softwareprozess innerhalb der Routing-Engine-Software. Der rpd steuert die Routing-Protokolle, die auf dem Gerät ausgeführt werden.
Als Softwareprozess ist der rpd:
-
Funktioniert von der Mitte eines Routing-Protokollstacks auf Basis von Linux.
-
Verwaltet eine oder mehrere Routing-Tabellen, die die aus allen Routing-Protokollen gelernten Routing-Informationen konsolidieren.
-
Verwaltet alle Protokollnachrichten, Aktualisierungen der Routing-Tabelle und implementiert Routing-Richtlinien.

Mit der rpd-Anwendung können Sie:
-
Ausführen auf Software-Containern. Die cRPD-Anwendung ermöglicht Routing-Lösungen wie containerisierten Route Reflector (cRR). Der cRR-Service muss unabhängig voneinander arbeiten.
-
Interaktion mit mgd-Prozessen für die Verwaltung, CLI für die Konfiguration, BFD zur Erkennung von Verbindungen, periodischen Paketmanagementprozessen (PPMD) und Aktualisierung von Protokollsitzungen.
-
Lernen Sie den Routenstatus mithilfe verschiedener Routing-Protokolle kennen.
-
Pflegen Sie den vollständigen Satz von Routing-Informationen in der Routing Information Base (RIB), auch bekannt als Routingtabelle.
-
Starten Sie alle konfigurierten Routing-Protokolle und behandeln Sie alle Routing-Nachrichten. Der rpd verwaltet eine oder mehrere Routing-Tabellen, in denen die Routing-Informationen konsolidiert werden, die der Router aus allen Routing-Protokollen lernt.
-
Implementieren Sie eine Routing-Richtlinie, mit der Sie die Routing-Informationen steuern, die zwischen den Routingprotokollen und der Routing-Tabelle verschoben werden. Mithilfe der Routing-Richtlinie können Sie die Übertragung von Informationen filtern und begrenzen sowie Eigenschaften festlegen, die bestimmten Routen zugeordnet sind.
-
Laden Sie die Routen, die die lokalen Auswahlkriterien erfüllen, in die Forwarding Information Base (FIB), auch als Weiterleitungstabelle bezeichnet, herunter.
-
Ermitteln Sie die aktiven Routen für die Netzwerkziele aus den Routinginformationen und programmieren Sie diese Routen in der Weiterleitungstabelle der Routing-Engine.
-
Lernen Sie die Schnittstellenattribute wie Namen, Adressen, MTU-Einstellungen (maximale Übertragungseinheit) und Verbindungsstatus über Netlink-Nachrichten kennen.
Docker-Übersicht
cRPD läuft auf jedem Linux-Verteilungssystem, das Docker unterstützt.
Docker ist eine Open-Source-Softwareplattform, mit der Sie einen virtuellen Container erstellen, verwalten und zerlegen können, der auf jedem Linux-Server ausgeführt werden kann. Docker packt Anwendungen in Containern. Sie können diese Container auf jedem Linux-Betriebssystem portieren und verwenden. Ein Container bietet Virtualisierung auf Betriebssystemebene für eine Anwendung.
Container fungieren nicht als virtuelle Maschinen (VMs); sie isolieren virtuelle Umgebungen, indem sie ihnen dedizierte CPU-, Speicher-, E/A- und Netzwerkfunktionen zur Verfügung stellen.
Vorteile von Containern
-
Verbesserte Effizienz durch Isolierung: Container verwenden die Funktionen des Linux-Kernels des Hostbetriebssystems, wie z. B. die Isolierung von Gruppen und Namespaces, um mehrere Container isoliert auf demselben Linux-Hostbetriebssystem auszuführen. Eine Anwendung in einem Container mit weniger Speicher, da sie sich den Kernel des Betriebssystems ihres Linux-Hosts teilt.
-
Höhere Anlaufzeit (Boot-Geschwindigkeit): Das Booten von Containern dauert weniger Zeit als bei VMs. So können Sie Container verwenden, um Anwendungen schnell und effizient zu installieren, auszuführen und zu aktualisieren.
Abbildung 2 bietet einen Überblick über eine typische Docker-Container-Umgebung.

Wie funktioniert cRPD?
Wenn Sie Docker starten, wird automatisch ein Standard-Bridge-Netzwerk (auch Bridge genannt) erstellt und Container verbinden sich, sofern nicht anders angegeben. Sie können dieses Bridge-Netzwerk verwenden, um mehrere Container auf demselben Host auszuführen, ohne dynamische Ports zuweisen zu müssen.
Eine Bridge ermöglicht es Containern, die mit demselben Bridge-Netzwerk verbunden sind, zu kommunizieren und gleichzeitig die Isolierung von Containern, die nicht mit dem Bridge-Netzwerk verbunden sind.
Im Bridge-Modus:
-
Container verbinden sich über Bridges mit dem Host-Netzwerkstack.
-
Mehrere Container verbinden sich mit derselben Bridge und kommunizieren miteinander.
-
Die Bridges ermöglichen die externe Kommunikation, wenn sie eine Verbindung zu den Netzwerkschnittstellen des Hostbetriebssystems herstellen.

Wenn Sie die RPD-Anwendung über einen Container bereitstellen, stellt FIB die Netzwerkschnittstellen offen, die vom zugrunde liegenden Betriebssystem-Kernel gelernt wurden, werden an den RPD im Linux-Container gesendet. RPD erfährt mehr über alle Netzwerkschnittstellen und fügt den Routenstatus für alle Netzwerkschnittstellen hinzu. Wenn weitere Docker-Container im System ausgeführt werden, können alle Container und Anwendungen, die direkt auf dem Host ausgeführt werden, auf dieselbe Reihe von Netzwerkschnittstellen und -status zugreifen. cRPD leitet die Routen, die die lokalen Routenauswahlkriterien erfüllen, an die FIB weiter.
Routenreflektor
Sie können cRPD bereitstellen, um nur Control Plane-Services wie BGP Route Reflection bereitzustellen.
cRR wird auf einer anderen Serverhardware im Netzwerk gehostet. Anwendungen nutzen die Erreichbarkeitsinformationen, die sie mithilfe des Route Reflection-Service gelernt haben. Der Routing-Reflexions-Netzwerkservice muss unabhängig arbeiten, ohne von derselben Hardware oder den Controllern abhängig zu sein, die die Anwendungen hosten.
Routing-Engine-Kernel
Die Routing-Engine-Software besteht aus mehreren Softwareprozessen, die die Router-Funktionalität steuern, und einem Kernel, der die Kommunikation zwischen allen Prozessen ermöglicht.
Der Routing-Engine-Kernel bietet:
-
Verbindung zwischen den Routing-Tabellen und der Weiterleitungstabelle der Routing-Engine.
-
Kommunikation mit der Packet Forwarding Engine. Der Kernel synchronisiert die Kopie der Weiterleitungstabelle der Packet Forwarding Engine mit der primären Kopie in der Routing-Engine.
Der Host-Linux-Kernel speichert die FIB, in der alle Routen und die Next-Hop-Informationen für die Paketweiterleitung gespeichert werden.
Der rpd läuft nativ unter Linux und verwendet Netlink, um Programmrouteninformationen mit dem Linux-Kernel zu teilen. Netlink ist eine Linux-Kernel-Schnittstelle, die für die Kommunikation zwischen kernel- und user-space-Prozessen sowie zwischen verschiedenen User-Space-Prozessen verwendet wird. cRPD ist ein Beispiel für einen Benutzerraumprozess.
Sie können Netlink-Nachrichten verwenden, um:
-
Programmieren oder installieren Sie den vom rpd generierten FIB-Zustand im Linux-Kernel.
-
Interaktion mit mgd und CLI für Konfiguration und Verwaltung.
-
Pflegen Sie Protokollsitzungen mit ppmd.
-
Live-Erkennung mithilfe von BFD.
Unterstützte Funktionen auf cRPD
cRPD unterstützt die folgenden Funktionen:
-
BGP Route Reflector in den Linux Containers (LXC)
-
BGP Add-Path, Multipath, Graceful Restart Helper Mode
-
BGP, OSPF, OSPFv3, IS-IS und statische Protokolle
-
BMP, BFD und Linux FIB
-
Multipath zu gleichen Kosten (ECMP)
-
Juniper Extension Toolkit (JET) für programmierbare RPD (PRPD)
-
Junos OS CLI
-
Verwaltung mit offenen Schnittstellen NETCONF und SSH
-
IPv4- und IPv6-Routing
-
MPLS-Routing
Lizenzierung
Sie benötigen eine Lizenz zur Aktivierung der cRPD-Softwarefunktionen. Weitere Informationen zu cRPD-Lizenzen finden Sie unter Unterstützte Funktionen auf cRPD, Flex-Lizenzen für cRPD und Verwaltung von cRPD-Lizenzen.