Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

O que é RPD em contêiner?

O processo de protocolo de roteamento em contêiner Junos® (cRPD) é uma instância da funcionalidade de roteamento Junos OS instanciada dentro de um ambiente conteinerizado linux.

O cRPD oferece roteamento nativo da nuvem para a rede. Nós empacotamos o software cRPD como uma imagem de contêiner Docker. O cRPD oferece suporte à funcionalidade do roteador usando IS-IS, OSPF e BGP no dispositivo, conforme mostrado na Figura 3.

Benefícios do cRPD

  • Tempo de implantação reduzido — acelere a implantação usando contêineres para reduzir o tempo de inicialização do serviço de vários minutos para alguns segundos.

  • Atualização perfeita — Atualize o software com o mínimo de interrupção do serviço.

  • Flexibilidade — Inicie várias instâncias de cRPD com requisitos mínimos de recursos para oferecer suporte à escala-alvo.

  • Estabilidade — Forneça um software de roteamento estável no Linux.

Visão geral do rpd no Linux

O processo de protocolo de roteamento Junos (rpd) é um processo de software dentro do software Routing Engine. A rpd controla os protocolos de roteamento que são executados no dispositivo.

Como um processo de software, o rpd:

  • Opera a partir do centro de uma pilha de protocolo de roteamento baseada no Linux.

  • Mantém uma ou mais tabelas de roteamento, que consolidam as informações de roteamento aprendidas com todos os protocolos de roteamento.

  • Gerencia todas as mensagens de protocolo, atualizações da tabela de roteamento e implementa políticas de roteamento.

Figura 1: RPD na arquitetura 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

Você pode usar o aplicativo rpd para:

  • Executado em contêineres de software. O aplicativo cRPD permite soluções de roteamento, como o containerized Route Reflector (cRR). O serviço cRR deve funcionar de forma independente.

  • Interaja com processos mgd para gerenciamento, CLI para configuração, BFD para detectar a liveness de links, processo periódico de gerenciamento de pacotes (PPMD) e sessões de protocolo de atualização.

  • Aprenda o estado da rota usando vários protocolos de roteamento.

  • Mantenha o conjunto completo de informações de roteamento na base de informações de roteamento (RIB), também conhecida como tabela de roteamento.

  • Inicie todos os protocolos de roteamento configurados e lide com todas as mensagens de roteamento. O rpd mantém uma ou mais tabelas de roteamento, que consolidam as informações de roteamento que o roteador aprende com todos os protocolos de roteamento.

  • Implemente uma política de roteamento com a qual você controla as informações de roteamento que se movem entre os protocolos de roteamento e a tabela de roteamento. Usando a política de roteamento, você pode filtrar e limitar a transferência de informações, bem como definir propriedades associadas a rotas específicas.

  • Baixe as rotas que atendem aos critérios de seleção local na base de informações de encaminhamento (FIB), também conhecida como tabela de encaminhamento.

  • Determine as rotas ativas para os destinos de rede a partir das informações de roteamento e programe essas rotas para a tabela de encaminhamento do Mecanismo de Roteamento.

  • Aprenda os atributos da interface, como nomes, endereços, configurações de unidade de transmissão máxima (MTU) e status do link por meio de mensagens netlink.

Visão geral do Docker

O cRPD é executado em qualquer sistema de distribuição Linux que ofereça suporte ao Docker.

O Docker é uma plataforma de software de código aberto que você pode usar para criar, gerenciar e desmontar um contêiner virtual que pode ser executado em qualquer servidor Linux. O Docker empacota aplicativos em contêineres. Você pode portar e usar esses contêineres em qualquer sistema operacional Linux. Um contêiner oferece virtualização no nível do OS para um aplicativo.

Contêineres não são máquinas virtuais (VMs). Eles isolam ambientes com CPU, memória, E/S e redes dedicadas.

Benefícios dos contêineres

  • Maior eficiência por meio do isolamento — os contêineres usam os recursos do kernel do host OS Linux, como o isolamento de grupos e namespaces, para permitir que vários contêineres funcionem isoladamente no mesmo sistema operacional host Linux. Um aplicativo em um contêiner tem menos memória porque compartilha o kernel do SO do host linux.

  • Maior velocidade de spin-up (boot) — os contêineres levam menos tempo para inicializar em comparação com as VMs. Assim, você pode usar contêineres para instalar, executar e atualizar aplicativos de forma rápida e eficiente.

A Figura 2 fornece uma visão geral de um ambiente de contêiner Docker típico.

Figura 2: Ambiente Docker Container Environment de contêineres docker

Como funciona o cRPD?

Quando você inicia o Docker, uma rede de ponte padrão (também chamada de ponte) é criada automaticamente, e os contêineres se conectam a ela a menos que seja especificado de outra forma. Você pode usar essa rede de ponte para executar vários contêineres no mesmo host sem precisar atribuir portas dinâmicas.

Uma ponte permite que contêineres conectados à mesma rede de ponte se comuniquem, ao mesmo tempo em que oferece isolamento de contêineres que não estão conectados à rede da ponte.

No modo bridge:

  • Os contêineres se conectam à pilha de rede do host por pontes.

  • Vários contêineres se conectam à mesma ponte e se comunicam entre si.

  • As pontes permitem a comunicação externa conectando-se às interfaces de rede do host OS.

Figura 3: visão geral e funcionalidade 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. do cRPD

Quando você implanta o aplicativo RPD usando um contêiner, a FIB expõe as interfaces de rede aprendidas pelo kernel subjacente do OS são enviadas para o RPD no contêiner Linux. O RPD aprende sobre todas as interfaces de rede e adiciona o estado de rota para todas as interfaces de rede. Se outros contêineres Docker estiverem sendo executados no sistema, todos os contêineres e aplicativos que estão sendo executados diretamente no host podem acessar o mesmo conjunto de interfaces de rede e estado. O cRPD encaminha as rotas que atendem aos critérios locais de seleção de rotas para a FIB.

Refletor de rotas

Você pode implantar o cRPD para fornecer serviços somente de plano de controle, como a reflexão de rota BGP.

o cRR está hospedado em um hardware de servidor na rede diferente. Os aplicativos usam as informações de alcance aprendidas usando o serviço de reflexão de rota. O serviço de rede de reflexão de rota deve funcionar de forma independente, sem depender do mesmo hardware ou dos controladores que hospedam os aplicativos.

Kernel do mecanismo de roteamento

O software Routing Engine consiste em vários processos de software que controlam a funcionalidade do roteador e um kernel que permite a comunicação entre todos os processos.

O kernel do Mecanismo de Roteamento fornece:

  • Ligação entre as tabelas de roteamento e a tabela de encaminhamento do Mecanismo de Roteamento.

  • Comunicação com o mecanismo de encaminhamento de pacotes. O kernel sincroniza a cópia do Mecanismo de encaminhamento de pacotes da tabela de encaminhamento com a cópia primária no Mecanismo de Roteamento.

O kernel do Host Linux armazena a FIB. Ele contém todas as rotas e informações de próximo salto para o encaminhamento de pacotes.

O rpd é executado nativamente no Linux e usa o Netlink para compartilhar informações de rota do programa com o kernel linux. O Netlink facilita a comunicação entre o kernel e os processos de espaço do usuário, como o cRPD.

Você pode usar mensagens do Netlink para:

  • Programe ou instale o estado FIB gerado pela rpd no kernel do Linux.

  • Interaja com mgd e CLI para configuração e gerenciamento.

  • Mantenha sessões de protocolo usando ppmd.

  • Detecte a vida usando BFD.

Recursos suportados no cRPD

O cRPD oferece suporte aos seguintes recursos:

  • Refletor de rotas BGP nos contêineres Linux (LXC)

  • BgP add-path, multicaminho, modo de helper de reinicialização gracioso

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

  • BMP, BFD e Linux FIB

  • Multicaminho de igual custo (ECMP)

  • Kit de ferramentas de extensão (JET) da Juniper para RPD programável (PRPD)

  • Junos OS CLI

  • Gerenciamento usando NETCONF e SSH de interfaces abertas

  • Roteamento IPv4 e IPv6

  • Roteamento MPLS

Licenciamento

Você precisa de uma licença para ativar recursos de software cRPD. Para entender mais sobre licenças cRPD, veja recursos suportados em cRPD, licenças Flex para cRPD e gerenciamento de licenças cRPD.