Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

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.

Abbildung 1: RPD auf Linux-Architektur RPD on Linux Architecture

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.

Abbildung 2: Docker-Container-Umgebung Docker Container Environment

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.

Abbildung 3: cRPD – Überblick und Funktionen cRPD Overview and Functionality

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.