Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

¿Qué es la RPD en contenedores?

El proceso de protocolo de enrutamiento en contenedores de Junos® (cRPD) es una instancia de la funcionalidad de enrutamiento de Junos OS instanciada dentro de un entorno de contenedores de Linux.

cRPD proporciona enrutamiento nativo de la nube a la red. Empaquetamos el software cRPD como una imagen de contenedor de Docker. cRPD admite la funcionalidad del enrutador mediante IS-IS, OSPF y BGP en el dispositivo, como se muestra en la figura 3.

Beneficios de cRPD

  • Tiempo de despliegue reducido: acelere la implementación mediante contenedores para reducir el tiempo de arranque del servicio de varios minutos a unos segundos.

  • Actualización sin problemas: actualice el software con una interrupción mínima del servicio.

  • Flexibilidad: lanza varias instancias de cRPD con requisitos mínimos de recursos para admitir la escala objetivo.

  • Estabilidad: proporciona un software de enrutamiento estable en Linux.

Descripción general de rpd en Linux

El proceso de protocolo de enrutamiento de Junos (rpd) es un proceso de software dentro del software del motor de enrutamiento. El rpd controla los protocolos de enrutamiento que se ejecutan en el dispositivo.

Como proceso de software, el rpd:

  • Opera desde el centro de una pila de protocolos de enrutamiento basada en Linux.

  • Mantiene una o más tablas de enrutamiento, que consolidan la información de enrutamiento aprendida de todos los protocolos de enrutamiento.

  • Administra todos los mensajes de protocolo, actualizaciones de tablas de enrutamiento e implementa políticas de enrutamiento.

Figura 1: RPD en la arquitectura 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

Puede utilizar la aplicación rpd para:

  • Ejecutar en contenedores de software. La aplicación cRPD permite soluciones de enrutamiento como el reflector de ruta en contenedores (cRR). El servicio cRR debe funcionar de forma independiente.

  • Interactúe con los procesos mgd para la administración, CLI para la configuración, BFD para detectar la vida de los vínculos, el proceso periódico de administración de paquetes (PPMD) y las sesiones de protocolo de actualización.

  • Aprenda el estado de la ruta mediante varios protocolos de enrutamiento.

  • Mantenga el conjunto completo de información de enrutamiento en la base de información de enrutamiento (RIB), también conocida como tabla de enrutamiento.

  • Inicie todos los protocolos de enrutamiento configurados y controle todos los mensajes de enrutamiento. El rpd mantiene una o más tablas de enrutamiento, que consolidan la información de enrutamiento que el enrutador aprende de todos los protocolos de enrutamiento.

  • Implemente una política de enrutamiento con la que controle la información de enrutamiento que se mueve entre los protocolos de enrutamiento y la tabla de enrutamiento. Con la directiva de enrutamiento, puede filtrar y limitar la transferencia de información, así como establecer propiedades asociadas con rutas específicas.

  • Descargue las rutas que cumplen los criterios de selección local en la base de información de reenvío (FIB), también conocida como tabla de reenvío.

  • Determine las rutas activas para los destinos de red a partir de la información de enrutamiento y programe estas rutas en la tabla de reenvío del motor de enrutamiento.

  • Aprenda los atributos de la interfaz, como nombres, direcciones, configuración de la unidad máxima de transmisión (MTU) y estado del vínculo a través de mensajes de Netlink.

Descripción general de Docker

cRPD se ejecuta en cualquier sistema de distribución de Linux que admita Docker.

Docker es una plataforma de software de código abierto que puede usar para crear, administrar y desensamblar un contenedor virtual que puede ejecutarse en cualquier servidor Linux. Docker empaqueta las aplicaciones en contenedores. Puede portar y usar estos contenedores en cualquier sistema operativo Linux. Un contenedor proporciona virtualización a nivel de sistema operativo para una aplicación.

Los contenedores no son máquinas virtuales (VM). Aíslan los entornos con CPU, memoria, E/S y redes dedicadas.

Beneficios de los contenedores

  • Eficiencia mejorada mediante el aislamiento: los contenedores utilizan las características del kernel de Linux del sistema operativo host, como el aislamiento de grupos y espacios de nombres, para permitir que varios contenedores se ejecuten de forma aislada en el mismo sistema operativo host Linux. Una aplicación en un contenedor tiene menos memoria porque comparte el kernel del sistema operativo de su host Linux.

  • Mayor velocidad de giro (arranque): los contenedores tardan menos tiempo en arrancar en comparación con las máquinas virtuales. Por lo tanto, puede usar contenedores para instalar, ejecutar y actualizar aplicaciones de forma rápida y eficiente.

La figura 2 proporciona una descripción general de un entorno típico de contenedor de Docker.

Figura 2: Entorno Docker Container Environment de contenedor de Docker

¿Cómo funciona cRPD?

Al iniciar Docker, se crea automáticamente una red de puente predeterminada (también denominada puente) y los contenedores se conectan a ella a menos que se especifique lo contrario. Puede utilizar esta red de puente para ejecutar varios contenedores en el mismo host sin tener que asignar puertos dinámicos.

Un puente permite que los contenedores conectados a la misma red de puente se comuniquen, a la vez que proporciona aislamiento de los contenedores que no están conectados a la red del puente.

En modo puente:

  • Los contenedores se conectan a la pila de red host a través de puentes.

  • Varios contenedores se conectan al mismo puente y se comunican entre sí.

  • Los puentes permiten la comunicación externa al conectarse a las interfaces de red del sistema operativo host.

Figura 3: Descripción general y funcionalidad 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

Cuando implementa la aplicación RPD mediante un contenedor, FIB expone las interfaces de red aprendidas por el kernel del sistema operativo subyacente que se envían al RPD en el contenedor Linux. RPD aprende acerca de todas las interfaces de red y agrega el estado de ruta para todas las interfaces de red. Si se ejecutan contenedores Docker adicionales en el sistema, todos los contenedores y las aplicaciones que se ejecutan directamente en el host pueden acceder al mismo conjunto de interfaces de red y estado. cRPD reenvía las rutas que cumplen con los criterios de selección de rutas locales a la FIB.

Reflector de ruta

Puede implementar cRPD para proporcionar servicios de solo plano de control, como la reflexión de ruta BGP.

cRR está alojado en un hardware de servidor en red diferente. Las aplicaciones utilizan la información de accesibilidad aprendida mediante el servicio de reflexión de rutas. El servicio de red de reflexión de ruta debe funcionar de forma independiente, sin depender del mismo hardware ni de los controladores que alojan las aplicaciones.

Kernel del motor de enrutamiento

El software del motor de enrutamiento consta de varios procesos de software que controlan la funcionalidad del enrutador y un núcleo que permite la comunicación entre todos los procesos.

El kernel del motor de enrutamiento proporciona:

  • Vínculo entre las tablas de enrutamiento y la tabla de reenvío del motor de enrutamiento.

  • Comunicación con el motor de reenvío de paquetes. El kernel sincroniza la copia del motor de reenvío de paquetes de la tabla de reenvío con la copia principal en el motor de enrutamiento.

El kernel host de Linux almacena el FIB. Contiene todas las rutas y la información del próximo salto para el reenvío de paquetes.

El rpd se ejecuta de forma nativa en Linux y utiliza Netlink para compartir información de ruta del programa con el kernel de Linux. Netlink facilita la comunicación entre el kernel y los procesos del espacio de usuario, como cRPD.

Puede utilizar los mensajes de Netlink para:

  • Programe o instale el estado FIB generado por el rpd en el kernel de Linux.

  • Interactúe con mgd y CLI para la configuración y la administración.

  • Mantener sesiones de protocolo mediante ppmd.

  • Detecte la vida usando BFD.

Características compatibles en cRPD

cRPD admite las siguientes características:

  • Reflector de ruta BGP en contenedores Linux (LXC)

  • Ruta de adición de BGP, multiruta, modo auxiliar de reinicio elegante

  • BGP, OSPF, OSPFv3, IS-IS y protocolos estáticos

  • BMP, BFD y Linux FIB

  • Múltiples rutas de igual costo (ECMP)

  • Kit de herramientas de extensión (JET) de Juniper para RPD programable (PRPD)

  • Junos OS CLI

  • Gestión mediante interfaces abiertas NETCONF y SSH

  • Enrutamiento IPv4 e IPv6

  • Enrutamiento MPLS

Licenciamiento

Necesita una licencia para activar las funciones del software cRPD. Para obtener más información sobre las licencias de cRPD, consulte Características compatibles en cRPD, Licencias flexibles para cRPD y Administración de licencias de cRPD.