Was ist containerisierter RPD?
cRPD bietet Cloud-natives Routing für das Netzwerk. Wir verpacken 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
-
Reduzierte Bereitstellungszeit: Beschleunigen Sie die Bereitstellung, indem Sie Container verwenden, um die Startzeit des Service von mehreren Minuten auf wenige Sekunden zu verkürzen.
-
Nahtloses Upgrade – Aktualisieren Sie die Software mit minimaler Serviceunterbrechung.
-
Flexibilität: Starten Sie mehrere cRPD-Instanzen mit minimalen Ressourcenanforderungen, um die angestrebte Skalierung zu unterstützen.
-
Stabilität: Stellen Sie eine stabile Routing-Software unter Linux bereit.
Überblick über rpd unter Linux
Der Junos Routing-Protokoll-Prozess (rpd) ist ein Softwareprozess innerhalb der Routing-Engine-Software. Das rpd steuert die Routing-Protokolle, die auf dem Gerät ausgeführt werden.
Als Software-Prozess ist der rpd:
-
Arbeitet in der Mitte eines auf Linux basierenden Routing-Protokollstapels.
-
Verwaltet eine oder mehrere Routing-Tabellen, in denen die aus allen Routing-Protokollen gelernten Routing-Informationen konsolidiert werden.
-
Verwaltet alle Protokollmeldungen, Aktualisierungen von Routing-Tabellen und implementiert Routing-Richtlinien.
Mit der Anwendung rpd können Sie:
-
Ausführung auf Softwarecontainern. Die cRPD-Anwendung ermöglicht Routing-Lösungen wie containerisierten Routenreflektor (cRR). Der cRR-Dienst muss unabhängig arbeiten.
-
Interaktion mit mgd-Prozessen für die Verwaltung, CLI für die Konfiguration, BFD zur Erkennung der Verfügbarkeit von Verbindungen, periodischer Paketverwaltungsprozess (PPMD) und Aktualisierung von Protokollsitzungen.
-
Erfahren Sie den Routenstatus mithilfe verschiedener Routing-Protokolle.
-
Verwalten Sie den vollständigen Satz von Routing-Informationen in der Routing-Informationsbasis (RIB), die auch als Routing-Tabelle bezeichnet wird.
-
Starten Sie alle konfigurierten Routing-Protokolle und verarbeiten Sie alle Routing-Nachrichten. Das rpd unterhält 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 Routing-Protokollen und der Routing-Tabelle verschoben werden. Mithilfe der Routing-Richtlinie können Sie die Übertragung von Informationen filtern und einschränken sowie Eigenschaften festlegen, die bestimmten Routen zugeordnet sind.
-
Laden Sie die Routen, die die lokalen Auswahlkriterien erfüllen, in die Forwarding Information Base (FIB) herunter, die auch als Weiterleitungstabelle bezeichnet wird.
-
Ermitteln Sie die aktiven Routen für die Netzwerkziele aus den Routing-Informationen und programmieren Sie diese Routen in die Weiterleitungstabelle der Routing-Engine.
-
Erfahren Sie mithilfe von Netlink-Nachrichten mehr über Schnittstellenattribute wie Namen, Adressen, Einstellungen für die maximale Übertragungseinheit (MTU) und Verbindungsstatus.
Docker-Übersicht
cRPD läuft auf jedem Linux-Distributionssystem, das Docker unterstützt.
Docker ist eine Open-Source-Softwareplattform, mit der Sie einen virtuellen Container erstellen, verwalten und disassemblieren können, der auf jedem Linux-Server ausgeführt werden kann. Docker verpackt Anwendungen in Containern. Sie können diese Container portieren und auf jedem Linux-Betriebssystem verwenden. Ein Container bietet Virtualisierung auf Betriebssystemebene für eine Anwendung.
Container sind keine virtuellen Maschinen (VMs). Sie isolieren Umgebungen mit dedizierter CPU, Speicher, E/A und Netzwerken.
Vorteile von Containern
-
Verbesserte Effizienz durch Isolierung—Container verwenden die Linux-Kernelfunktionen des Hostbetriebssystems, z. B. die Isolierung von Gruppen und Namespaces, um die isolierte Ausführung mehrerer Container auf demselben Linux-Hostbetriebssystem zu ermöglichen. Eine Anwendung in einem Container verfügt über weniger Arbeitsspeicher, da sie den Kernel des Betriebssystems ihres Linux-Hosts gemeinsam nutzt.
-
Höhere Startgeschwindigkeit: Der Start von Containern dauert im Vergleich zu VMs weniger Zeit. Auf diese Weise können Sie Container verwenden, um Anwendungen schnell und effizient zu installieren, auszuführen und zu aktualisieren.
Abbildung 2 gibt einen Überblick über eine typische Docker-Containerumgebung.
Wie funktioniert cRPD?
Wenn Sie Docker starten, wird automatisch ein Standard-Bridge-Netzwerk (auch Bridge genannt) erstellt, und Container stellen eine Verbindung dazu her, 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 die Kommunikation von Containern, die mit demselben Bridge-Netzwerk verbunden sind, und bietet gleichzeitig eine Isolierung von Containern, die nicht mit dem Bridge-Netzwerk verbunden sind.
Im Bridge-Modus:
-
Container sind über Brücken mit dem Host-Netzwerk-Stack verbunden.
-
Mehrere Container verbinden sich mit derselben Bridge und kommunizieren miteinander.
-
Die Bridges ermöglichen die externe Kommunikation durch eine Verbindung mit den Netzwerkschnittstellen des Hostbetriebssystems.
Wenn Sie die RPD-Anwendung mithilfe eines Containers bereitstellen, macht FIB die vom zugrunde liegenden Betriebssystemkernel erlernten Netzwerkschnittstellen verfügbar, die an den RPD im Linux-Container gesendet werden. RPD lernt alle Netzwerkschnittstellen kennen und fügt den Routenstatus für alle Netzwerkschnittstellen hinzu. Wenn zusätzliche Docker-Container im System ausgeführt werden, können alle Container und Anwendungen, die direkt auf dem Host ausgeführt werden, auf denselben Satz von Netzwerkschnittstellen und -zuständen zugreifen. cRPD leitet die Routen, die die lokalen Routenauswahlkriterien erfüllen, an die FIB weiter.
Routenreflektor
Sie können cRPD bereitstellen, um reine Steuerungsebenendienste bereitzustellen, wie z. B. BGP-Routenreflexion.
cRR wird auf einer anderen Serverhardware im Netzwerk gehostet. Anwendungen verwenden die Erreichbarkeitsinformationen, die mithilfe des Routenreflexionsdiensts erlernt wurden. Der Route Reflection Networking Service 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 Routerfunktionalität steuern, und einem Kernel, der die Kommunikation zwischen allen Prozessen ermöglicht.
Der Routing-Engine-Kernel bietet:
-
Verknüpfung 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. Es enthält alle Routen und Next-Hop-Informationen für die Paketweiterleitung.
Der rpd läuft nativ unter Linux und verwendet Netlink, um Informationen zur Programmroute mit dem Linux-Kernel auszutauschen. Netlink erleichtert die Kommunikation zwischen dem Kernel und Userspace-Prozessen wie cRPD.
Sie können Netlink-Nachrichten für Folgendes verwenden:
-
Programmieren oder installieren Sie den vom RPD generierten FIB-Zustand im Linux-Kernel.
-
Interaktion mit mgd und CLI für Konfiguration und Verwaltung.
-
Unterhalten Sie Protokollsitzungen mit ppmd.
-
Erkennen Sie die Lebendigkeit mit BFD.
Unterstützte Funktionen von cRPD
cRPD unterstützt die folgenden Funktionen:
-
BGP Route Reflector in den Linux-Containern (LXC)
-
BGP-Add-Path, Multipath, Graceful-Restart-Hilfsmodus
-
BGP, OSPF, OSPFv3, IS-IS und statische Protokolle
-
BMP, BFD und Linux FIB
-
Mehrfach-Pfade 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
Zulassung
Sie benötigen eine Lizenz, um die Funktionen der cRPD-Software zu aktivieren. Weitere Informationen zu cRPD-Lizenzen finden Sie unter Unterstützte Funktionen für cRPD, Flex-Lizenzen für cRPD und Verwalten von cRPD-Lizenzen.