Introdução ao gerenciador de grupos de endereços
Use este guia para configurar e gerenciar o Gerenciador de grupos de endereços.
Introdução ao gerenciador de grupos de endereços
O Juniper Address Pool Manager (APM) é um aplicativo nativo da nuvem e baseado em contêiner em execução em um cluster Kubernetes que gerencia grupos de endereçoS IPv4 em uma rede. Ele provisiona automaticamente prefixos de um pool de endereços centralizado para gateways de rede de banda larga (BNGs) antes que os BNGs esgotem seus pools de endereços. Os BNGs adicionam os prefixos fornecidos da APM como novos pools a um pool de endereços vinculado. Um pool de endereços vinculado e os atributos associados do pool (utilização, limiar e assim por diante) é chamado de domínio de pool.
O BNG monitora constantemente os endereços gratuitos do domínio em relação aos limites do domínio da seguinte forma:
-
O BNG envia um alarme para a APM solicitando endereços adicionais quando o número de endereços gratuitos no domínio chega ou cai abaixo do limite de rateio do domínio.
-
A APM aloca o número solicitado de prefixos de pool que correspondem ao comprimento do prefixo solicitado e devolve os endereços na resposta ao alarme.
-
Quando o número de endereços gratuitos no domínio atinge ou excede o limite de recuperação do domínio, o BNG seleciona um prefixo de pool para remover. Também levanta um alarme para a APM solicitando a recuperação.
-
A APM responde ao alarme de recuperação instruindo o BNG a colocar um dreno ativo na piscina. Uma vez que a piscina esteja completamente drenada (sem endereços alocados), o BNG levanta um alarme drenado na piscina.
-
A APM informa ao BNG que o prefixo é devolvido à partição de origem do domínio e que o BNG pode remover com segurança o prefixo do pool do domínio.
-
O prefixo recuperado já está disponível para outra BNG solicitar.
O termo BNG neste documento também se aplica ao Controlador BNG CUPS.
A Figura 1 mostra uma visão de alto nível das operações de APM para monitorar BNGs e provisioná-los com os endereços de que precisam, quando precisarem deles.
A APM oferece uma solução de gerenciamento de endereços que ajuda as operadoras de rede a alocar endereços IPv4 de forma eficiente. Esquemas típicos de alocação de endereços são complexos e não tão eficientes quanto os operadores de rede precisam. Os provedores normalmente pré-provisionam endereços em dispositivos de rede para lidar com a pior carga de casos, na tentativa de evitar que os dispositivos sejam executados sem endereços. Isso significa que os dispositivos estão super provisionados durante a maior parte do tempo de operação.
A APM não pré-provisiona endereços, porque os endereços podem nunca ser necessários e poderiam ser usados em outros lugares. Em vez de pré-provisionar, a APM aloca prefixos apenas quando o BNG precisa deles. Considerações de rede específicas que podem afetar a alocação oportuna e eficiente de endereços incluem:
-
Número de dispositivos de rede que consomem endereços
-
Presença de VPNs
-
Esquemas de redundância de sistema
-
Distribuição geográfica de elementos de rede
A APM recupera prefixos para ajustar continuamente a distribuição de prefixos e maximizar a utilização do espaço do endereço. A recuperação de prefixo ocorre na APM, enquanto a recuperação de endereços ocorre no BNG. A recuperação de prefixo acontece quando o BNG tem um excesso de endereços IP. O BNG envia um alarme de recuperação para a APM com um prefixo de pool sugerido para recuperar. A APM inicia uma solicitação de dreno no pool para garantir que o pool esteja livre de alocações de endereços antes que a APM reclame o prefixo do pool. A APM pode então realocar os prefixos para outros pools entre seus BNGs gerenciados quando esses BNGs se aproximam da exaustão do endereço e precisam de mais endereços.
Benefícios do gerenciador de grupos de endereços
-
Eficiência — melhora a eficiência da utilização de endereços. A APM centraliza e automatiza a alocação de endereços para vários BNGs na rede. O APM usa a alocação de prefixo just-in-time para que ele provisione prefixos apenas quando um BNG precisa de endereços IP adicionais.
O APM provisiona apenas tantos prefixos quanto o BNG precisa. Após a partição do pool global de APM em grupos de prefixos, a APM subdivide ainda mais os prefixos para atender à solicitação do BNG. Essa subdivisão permite que a APM otimize o tamanho dos prefixos que aloca.
-
Simplicidade — evita a sobrecarga e a complexidade do monitoramento manual e do provisionamento de BNGs individuais.
-
Implantabilidade — instala e opera em qualquer hardware que atenda aos requisitos.
-
Recuperabilidade — recupera os prefixos não utilizados de pools que estão usando poucos endereços IP em um pool central e redistribui esses prefixos para outros pools que precisam deles.
Abordando a Terminology
Você deve ter uma boa compreensão do endereçamento ip, roteamento entre domínios sem classe (CIDR), máscaras de sub-rede de comprimento variável (VLSMs) e como subdividir prefixos IP em sub-redes (sub-redes). Quando você elabora sua estratégia de endereçamento (fora do escopo desta documentação) ou usa a recuperação manual de endereços, você pode achar útil ver uma calculadora de sub-rede IP. Você pode encontrar muitas dessas calculadoras on-line.
Nesta documentação, usamos o seguinte exemplo:
-
Prefixo — um endereço de rede IPv4 de 32 bits e comprimento de prefixo expressos usando notação CIDR; por exemplo, 198.51.100,0/24. Um prefixo define a porção de rede de um endereço IP. Um prefixo representa uma sub-rede.
-
Comprimento do prefixo — o número de bits que determina o comprimento do prefixo e o tamanho da porção de rede de um endereço IP. Um comprimento de prefixo de /24 significa que a porção de rede do endereço tem 24 bits de comprimento. Os bits restantes (de 32) representam a parte de host de um endereço de rede. Para um prefixo com um comprimento de prefixo de /24, a porção do host é de 8 bits: 32 – 24 = 8.
-
Tamanho da rede — este termo às vezes é usado para significar várias coisas diferentes, dependendo do contexto, o que pode levar à ambiguidade. Descrevemos o comprimento do prefixo e como ele corresponde ao número de endereços host em sub-redes da seguinte forma:
-
Um prefixo mais longo, determinado por um comprimento de prefixo mais longo, corresponde a mais sub-redes com menos endereços de host para alocar por sub-rede.
-
Um prefixo mais curto, determinado por um comprimento de prefixo mais curto, corresponde a menos sub-redes com mais endereços host para alocar por sub-rede.
-
-
Endereços gratuitos são endereços IP que estão disponíveis e não foram atribuídos aos assinantes.
Como funciona a APM
A APM mantém uma coleção centralizada de prefixos IP para um grupo de BNGs na rede. A APM CLI refere-se aos BNGs gerenciados como entidades. Este documento geralmente usa o termo BNG, mas em alguns casos este documento usa o termo entidade.
A APM coordena a criação de domínios de pool com o BNG. Cada domínio de pool corresponde a um pool de endereços vinculados para uma determinada combinação de instâncias de roteamento no BNG. Além disso, em um controlador BNG CUPS, um domínio de pool corresponde a um pool de endereços vinculado para uma determinada combinação de instâncias de roteamento e grupo de assinantes. Conforme os domínios de pool são criados dinamicamente, tanto o BNG quanto o APM mantêm perfis ou templates contendo atributos necessários para instanciar um domínio de pool. O perfil da APM contém atributos como rateio, limiares de recuperação e comportamento de recuperação automática. O BNG. o perfil contém atributos como tamanho do prefixo e comportamento de instalação de rota de descarte.
Versão 1 do APMi (compatível com o Junos OS Release 22.1R1 e posterior). Você pode verificar a versão APMi executando o comando da entidade show apm .
Limiares e alarmes
O BNG cria o domínio do pool e monitora o número de endereços gratuitos no domínio do pool. Quando o número de endereços gratuitos ultrapassa um valor limite, o BNG envia uma mensagem de alarme para a APM. O BNG monitora o número de endereços gratuitos em relação aos seguintes limites:
- Limite de rateamento — quando o número de endereços gratuitos chega ou cai abaixo desse valor, o BNG corre o risco de ficar sem endereços. O BNG envia um alarme de rateio para a APM solicitando mais endereços. A APM seleciona um prefixo disponível para o rateio e aloca o prefixo para o BNG, o BNG adiciona um ou mais prefixo como um novo pool no domínio do pool. A não alocação de um prefixo (por exemplo; uma partição vazia) resulta em uma resposta negativa. O tempo de nova tentativa é definido para um carimbo de tempo que é de 15 minutos a partir do momento de receber a solicitação. Se o BNG ainda precisar de prefixos para o domínio, ele corre novamente pelo valor de data e hora fornecido.
- Limite de recuperação — quando o número de endereços gratuitos chega ou aumenta acima desse valor, o BNG tem um excesso de endereços. O BNG envia um alarme de recuperação para a APM com uma piscina sugerida para drenar. Dependendo da configuração, a APM pode iniciar um dreno na piscina. Um pool drenado não tem endereços IP dentro do pool que está sendo usado por um assinante.
Durante o dreno, o roteador BNG deixa de atribuir endereços da piscina e espera que os assinantes façam login para liberar esses endereços.
Depois de drenar a piscina, o BNG envia o alarme drenado da piscina para a APM. A APM envia uma mensagem ao roteador BNG para excluir o pool do domínio do pool.
Nota:A APM inicia o processo de recuperação no pool quando:
- A recuperação automática é habilitada para o domínio do pool.
- A recuperação é permitida no período atual.
Se a APM não puder processar o alarme de recuperação porque a recuperação automática estava fora da janela, a APM responde com um
ALARM_NACK/NOOP
tempo de nova tentativa definido para o segundo em que a janela de recuperação automática começa.
Você configura o limite de rateio e recupera valores limiares no perfil de domínio do pool. Os limites determinam se há endereços gratuitos suficientes para o BNG e quando a APM deve alocar ou recuperar prefixos. Considere a linha do tempo fictícia a seguir na Figura 2. O BNG atribui endereços aos assinantes quando eles fazem login e recuperam os endereços quando eles fazem login. A linha do tempo mostra o número de endereços gratuitos rastreados pelo BNG durante um período de tempo. A Tabela 1 descreve as ações tomadas pelo BNG e pela APM para diferentes cenários, pois o número de endereços gratuitos ultrapassa diferentes limites.
Alarme de tempo | enviado pela descrição do BNG | |
---|---|---|
t0 | — | Início da linha do tempo com um domínio de pool preenchido. |
T1 | Alarme de apportion | À medida que os assinantes fazem login, o número de endereços gratuitos no BNG fica abaixo do limite de rateio. O BNG envia um alarme de rateio. A APM recebe o alarme de rateio e aloca prefixos para o domínio do pool. O BNG aloca endereços dos prefixos de pool do domínio de pool. |
t2 | Alarme de apportion | A APM recebe o alarme de rateio, mas a partição não tem prefixos disponíveis. O alarme é nacked e um carimbo de tempo de nova tentativa é definido para 15 minutos depois. O BNG tenta novamente o alarme de rateio neste data-tempo, a menos que não precise mais dos endereços. |
t3 | Alarme de apportion | No tempo de tentativa de repetição, o BNG reenca o alarme de rateio, uma vez que o número de endereços gratuitos ainda está abaixo do limite de rateio. |
t4 | Recuperar alarme | Os assinantes continuam fazendo login até que o número de endereços gratuitos suba acima do limite de recuperação. O BNG envia o alarme de recuperação com o pool sugerido a ser recuperado. A APM coloca um dreno na piscina sugerida e o BNG inicia o processo de drenagem na piscina. |
t5 | Alarme drenado na piscina | Quando o pool de endereços não tem assinantes, não há endereços alocados no pool. O BNG envia o alarme drenado da piscina para a APM. A APM responde ao alarme drenado da piscina com uma solicitação de exclusão. O BNG remove o pool da lista de pools do domínio de pool. A APM move o prefixo correspondente de volta à partição para realocação. O número de endereços gratuitos cai após a remoção do pool. |
t6 | Recuperar alarme | A APM recebe o alarme de recuperação, mas não toma nenhuma ação porque o alarme ocorreu fora da janela de recuperação. A APM retorna um NACK de alarme com um conjunto de carimbo de tempo para o momento do início da janela de recuperação. O BNG retrie o alarme de recuperação neste momento se ainda houver um excesso de endereços gratuitos. |
Operação geral da APM
As etapas a seguir explicam a operação geral da APM:
- O BNG e o APM comunicam-se usando o APMi, protocolo baseado em gRPC definido pela Juniper. O RPC do Google (gRPC) é uma estrutura comum para a construção de protocolos de comunicação extensíveis e interoperáveis. Após a conexão inicial, o BNG inicia a sincronização do domínio do pool. O processo de sincronização de domínio de pool sincroniza o conjunto de domínios de pool que estão ativos. O APM alinha a lista de domínios de pool ativos com a lista de domínios de pool do BNG. Após a sincronização do domínio do pool, o BNG executa a sincronização de pool (descoberta) para cada domínio do pool. O APM alinha a lista de pools para cada domínio com a lista do BNG. Se o APM tiver retido quaisquer pools adicionais (não na lista de pools do BNG para o domínio), os prefixos do pool serão liberados para a partição. Se a APM estiver faltando em pools, a APM tenta alocar grupos.
-
A APM monitora mensagens de alarme enviadas pelo BNG.
-
A APM avalia e age no alarme. Por exemplo, se um BNG estiver ficando sem endereços, o BNG envia um alarme de rateio para a APM. A APM aloca o número solicitado de prefixos da partição de origem do domínio e os devolve na resposta ao alarme. O BNG adiciona esses prefixos de pool ao domínio do pool.
A Figura 1 mostra uma visão mais detalhada das relações entre os vários componentes funcionais de uma única instância de APM. Cada bloco de gerente mostra as tabelas de banco de dados que usa.
Você pode executar várias instâncias de APM simultaneamente em vários clusters diferentes na rede. Essas instâncias da APM são independentes e desconhecem umas às outras. As instâncias não compartilham estado ou configuração.
Cada instância de APM inclui os seguintes microsserviços como componentes funcionais do aplicativo:
-
Gerente de entidades — Orquestra as atividades de gerenciamento de grupos para os BNGs sob gerenciamento. Essas atividades incluem processamento de alarmes e alocação e recuperação de prefixos de pool.
-
Gerenciador de endereços — organiza o pool central de endereços em partições e gerencia as alocações dos prefixos raiz configurados em cada partição. Ele subdivide os prefixos raiz em prefixos menores e aloca os prefixos de acordo com os critérios configurados para o BNG.
-
Gerenciador de provisionamento — Interfaces com o BNG para provisionar domínios de pool e seus pools de endereços associados. O gerente de provisionamento garante que os domínios e os prefixos de pool alocados associados permaneçam sincronizados entre a APM e o BNG.
O gerente de provisionamento de APM comunica-se com os BNGs gerenciados usando o APMi. O gerente de provisionamento envia mensagens de gRPC para provisionar e deprovisionar prefixos diretamente nos BNGs em resposta aos alarmes de domínio iniciados pelo BNG.
- O microsserviço MGMT oferece um esquema de configuração baseado em texto e CLI para que você possa configurar o pool de prefixo global, os BNGs gerenciados e seus atributos de domínio de pool associados. Você pode usar a CLI para exibir estatísticas e estado para vários componentes funcionais. A saída fornece informações sobre carga do sistema, eficiência, utilização e erros ou condições anormais.
-
A coleção e visualização de eventos de borda de banda larga (BBE) (utilitário centralizado baseado em nuvem) oferece uma maneira de capturar logs de APM que abrangem o ciclo de vida dos microsserviços APM. A concessionária coleta e armazena logs em instâncias de microsserviços APM.
-
Instância de banco de dados (DB)— fornece acesso compartilhado a tabelas de banco de dados que cada componente funcional da APM usa. O banco de dados inclui tabelas para informações de domínio de endereço, BNG e pool. O banco de dados fornece armazenamento persistente para informações de configuração e estados operacionais.
A APM emprega um banco de dados com informações de estado sobre as entidades, domínios de pool, pools, prefixos, alocações, configuração etc. Duas instâncias de banco de dados, uma primária e uma espera, são implantadas em um modo hot-standby. As instâncias de banco de dados são monitoradas por um serviço sentinela de banco de dados que detecta uma falha no banco de dados primário. Após a falha do banco de dados primário, o secundário assume o papel da primária enquanto um novo banco de dados de espera é restaurar.
Nota:A redundância requer um mínimo de três nós de trabalhador, além do nó primário. Os nós do trabalhador devem estar todos em servidores físicos separados. No entanto, os nós podem ser máquinas físicas ou virtuais.
Componentes funcionais da APM
- Gerenciamento de configuração e CLI
- Gerente de entidades
- Gerenciador de endereços
- Gerente de provisionamento
Gerenciamento de configuração e CLI
A interface de usuário (MGMT) é uma versão conteinerizada do processo de gerenciamento do Junos OS. Com essa interface, você pode usar a mesma estrutura de CLI que o Junos OS para configuração e monitoramento. A MGMT também oferece uma interface que permite que você gerencie remotamente a APM.
A APM executa as seguintes tarefas:
-
Carregue a configuração inicial de APM do serviço MGMT no banco de dados antes que outros componentes da APM possam prosseguir para o seu estado de execução.
-
Traduz comandos e configurações em ações e parâmetros que os microsserviços APM entendem.
-
Registra a configuração inicial e as alterações subsequentes no banco de dados para persistência. Ele notifica os componentes da APM sobre quaisquer alterações.
Gerente de entidades
O gerente da entidade coordena as operações de outros componentes funcionais que afetam o estado da entidade.
Para cada BNG sob gerenciamento, o gerente da entidade rastreia as seguintes informações:
-
O endereço BNG, que é o endereço de transporte do BNG que hospeda grupos gerenciados.
-
Uma lista dos domínios de pool que estão sendo gerenciados.
Um domínio de pool representa um pool de endereços vinculado no BNG. Para cada domínio de pool, o gerente da entidade rastreia as seguintes informações:
-
Nome de domínio do pool — uma string definida pelo usuário que identifica o pool gerenciado para o BNG. Cada nome de domínio de pool deve ser exclusivo para esse BNG. Isso significa que o nome de domínio do pool age efetivamente como uma chave; às vezes é referida como a chave de domínio do pool. Uma cadeia definida pelo usuário construída pela entidade. Para BNG, a string consiste no nome do perfil de domínio vinculado com o nome da instância de roteamento. Para o controlador BNG CUPS, a string consiste no nome do perfil de domínio vinculado com o nome do grupo de assinantes e o nome da instância de roteamento.
-
A APM usa o formato pool-domain-nameparasequence-number nomear os pools que ele cria. São sequence-number pelo menos 4 dígitos; se o valor for inferior a 1.000, o número de sequência é acolchoados com os 0 principais. Então 0001, 0999, 1000, 213339 são números de sequência válidos. Por exemplo, se o nome de um domínio de pool for test-pd, a APM indica o primeiro teste-pd do pool. Ele nomeia grupos subsequentes de teste-pd-0000, test-pd-0001 e assim por diante.
-
Prefixos — uma lista ordenada dos prefixos que compõem o domínio do pool.
O gerente da entidade coleta uma série de estatísticas voláteis para várias operações (última descoberta, última alocação, última recuperação e assim por diante) no domínio do pool. As estatísticas incluem a contagem de alarmes, o número de pools, seus prefixos associados e os datas de tempo. Você pode exibir essas estatísticas com comandos APM show
, como show apm entity
.
O gerente da entidade solicita um novo prefixo para um domínio de pool do gerenciador de endereços quando o gerente de provisionamento transmite o alarme de rateio do BNG para o gerente da entidade.
A solicitação de prefixo inclui as seguintes informações:
-
Família de endereços — atualmente oferece suporte ao IPv4
-
Chave de alocação — O endereço IP e o domínio de pool do BNG gerenciado
-
Comprimento de prefixo solicitado — O tamanho do prefixo que você deseja alocar de uma partição para um domínio de pool.
Posteriormente, o gerente da entidade tenta provisionar o prefixo(es) alocado no pool de endereços do BNG.
O gerente da entidade inicia um processo para descobrir e conciliar os domínios de pool de BNG (Sync) sob gerenciamento quando o gerente de provisionamento notificar o gerente da entidade de que um BNG é acessível. O gerente de provisionamento envia um relatório de alcance ao gerente da entidade sempre que o estado de alcance muda. O gerente da entidade solicita a descoberta de todos os domínios de pool gerenciados para esse BNG.
O processo de descoberta usa a interface de provisionamento para encontrar os domínios do pool e as informações de pool associadas, como conhecido pelo BNG. Ao final do processo de descoberta, a APM e o BNG têm os mesmos domínios de pool e prefixos de pool alocados.
Se as informações descobertas não corresponderem às informações existentes, a APM atualizará seus bancos de dados com as informações de partição para domínios de pool (para combinar com o BNG). Se a APM descobrir um conflito durante a atualização, ele sinaliza o conflito como um aviso no log.
Gerenciador de endereços
O gerenciador de endereços usa um algoritmo VLSM para subdividir os prefixos raiz nas partições de pool de endereços em sub-prefixos menores até o max-prefix-len
valor que você configurou para cada prefixo raiz. Durante o rateio, o gerenciador de endereços atende a uma solicitação de um prefixo de tamanho apropriado para uma partição e um prefixo raiz. A APM aloca um sub-prefixo gratuito do prefixo raiz para satisfazer o evento de rateio.
O gerenciador de endereços registra uma mensagem de aviso se a porcentagem de endereços gratuitos dentro de uma partição cair abaixo do free-prefix-utilization
limite. A travessia desse limiar indica que a partição corre o risco de ficar sem endereços porque destinou tantos endereços.
Ao configurar o APM, você atribui prefixos raiz a uma partição. O gerenciador de endereços atribui prefixos de apenas uma única partição para qualquer domínio. Cada partição representa um contexto de alocação. O gerenciador de endereços usa o viés que você configura para o domínio para selecionar a partição da qual ele subdivide prefixos para alocação no domínio.
Ao adicionar um prefixo raiz a uma partição, certifique-se de que ele se encaixe dentro dos limites de comprimento mínimo e máximo de prefixo especificados para essa partição:
-
O
min-prefix-len
valor é o prefixo raiz válido mais curto. -
O
max-prefix-len
valor é o prefixo raiz válido mais longo.
Assim, min-prefix-len
<= comprimento do prefixo raiz <= max-prefix-len
.
Por exemplo, se min-prefix-len
tiver 20 anos e max-prefix-len
tiver 24, você pode adicionar um prefixo raiz com comprimentos de prefixo de /20, /21, /22, /23 ou /24.
Quanto menor o comprimento do prefixo, mais endereços de host individuais estão disponíveis na sub-rede. Quanto maior o comprimento do prefixo, menos endereços de host individuais disponíveis na sub-rede. Por exemplo:
-
Um comprimento de prefixo de /20 oferece 4.094 endereços de host utilizáveis.
-
Um comprimento de prefixo de /24 oferece 254 endereços de host utilizáveis.
Se você configurar um prefixo raiz que esteja fora dos limites especificados, a APM não o adicionará à partição.
Subdivisão de prefixo
Os objetivos da subdivisão de prefixo permitem que a APM compartilhe um prefixo raiz entre vários domínios e permita que os domínios cresçam em incrementos menores. O gerenciador de endereços usa um algoritmo VLSM para subdividir prefixos raiz em uma partição durante a configuração. Cada subdivisão é uma sub-rede (sub-rede).
Você pode controlar o quanto o gerenciador de endereços subdivide um prefixo raiz especificando o comprimento máximo de prefixo permitido. O valor é max-prefix-length
o prefixo mais longo permitido para uma sub-rede. Consequentemente, essa configuração determina o número mínimo de endereços de host que um prefixo alocado deve fornecer.
Alocação de prefixos
O gerenciador de endereços pode alocar qualquer prefixo específico para apenas um domínio. A alocação de prefixo depende das informações de viés do domínio e do tamanho do prefixo solicitado.
O gerenciador de endereços faz uma tentativa de melhor esforço para combinar com o tamanho do prefixo solicitado (preferred-prefix-len
) quando aloca um prefixo. A partição pode não ter nenhum prefixo que corresponda ao comprimento solicitado. Por exemplo, quando o gerenciador de endereços aloca um prefixo superior a um pool, ele também aloca todos os seus prefixos subordinados ao pool.
VLSM
O VLSM cria uma hierarquia de sub-redes a partir de um prefixo raiz. Ele subdivide o prefixo raiz adicionando bits ao comprimento do prefixo. Cada bit adicionado ao comprimento do prefixo cria outro nível subordinado de sub-redes com a seguinte propriedade:
-
Cada nível tem o dobro de sub-redes do que o próximo nível mais alto.
-
Cada nível tem apenas metade dos tantos endereços de host por sub-rede quanto o próximo nível mais alto.
Cada prefixo raiz e suas hierarquias de sub-rede associadas constituem uma árvore de prefixo. Uma partição, portanto, consiste em uma coleção de árvores de prefixo. O gerenciador de endereços pode alocar apenas um prefixo que cabe em algum lugar dentro de uma dessas árvores de prefixo.
Os prefixos podem estar em um dos seguintes estados:
-
Disponível — o prefixo está disponível para alocação em um domínio.
-
Alocado — o prefixo já está alocado em um domínio e uma entidade.
-
Reservado — o prefixo está reservado administrativamente com a
reserved-prefix
declaração. A APM não pode alocar o prefixo em um domínio que não corresponda ao domínio de solicitação.
Exemplo de VLSM
A Figura 4 mostra uma hierarquia para o prefixo raiz 192.0.2.0/24 no teste de partição-1. Você pode ver que o número de sub-redes dobra para cada bit adicionado ao comprimento do prefixo, de uma sub-rede para /24 a oito sub-redes para /27. O número de endereços utilizáveis por sub-rede é reduzido pela metade para cada bit de comprimento de prefixo adicional, de 254 endereços para /24 a 30 endereços para /27.
Cada bloco de prefixo no diagrama mostra endereços utilizáveis :
Endereços utilizáveis = Número total de endereços – 2Os dois endereços excluídos correspondem ao endereço mais baixo (o endereço de rede) e ao endereço mais alto (o endereço multicast).
Considere o cenário a seguir com esta árvore de prefixo raiz:
-
O gerenciador de endereços recebe uma solicitação de alocação com um comprimento de prefixo preferencial de 25.
-
O gerenciador de endereços procura um prefixo de /25 que inclua o endereço. 192.0.2.2.0/25 partidas e é selecionado se estiver disponível.
O que acontece se o 192.0.2.0/25 não estiver disponível? Isso significa que 192.0.2.0/24 também está indisponível. O gerenciador de endereços procura outro prefixo /25.
O gerenciador de endereços escolhe 192.0.2.128/25 se estiver disponível. Se esse prefixo não estiver disponível, o gerenciador de endereços tenta alocar um prefixo de /25 de um prefixo raiz diferente.
Gerente de provisionamento
O gerente de provisionamento consiste em processos de trabalhadores que gerenciam as seguintes operações de provisionamento:
-
Discovery — sincroniza os domínios do pool e as informações de pool associadas entre a APM e um BNG. Ao final do processo de descoberta, a APM e o BNG concordam com a lista de domínios de pool e prefixos de pool alocados.
Comportamento de APM — a APM concilia seus domínios de pool com a lista do BNG de forma que a lista de APM corresponda à lista do BNG. Os prefixos de pool para domínios que são excluídos durante a reconciliação têm seus prefixos de pool associados devolvidos à partição original.
O gerente de provisionamento realiza a descoberta sempre que a APM estabelece uma conexão com o BNG gerenciado, incluindo uma conexão restabelecida após uma falha na conexão. Embora a conexão esteja baixa, um administrador pode alterar a configuração do BNG. A APM ajusta-se de acordo se detectar uma mudança durante a descoberta subsequente.
-
Provisionamento — Provisiona e deprovisiona prefixos em um BNG gerenciado. Enquanto o gerenciador de endereços gerencia a alocação de prefixos, o gerente de provisionamento comunica-se com o BNG para provisionar o pool de endereços.
Quando a conexão é restaurada, o gerente de provisionamento notifica o gerente da entidade de que o BNG é acessível. O gerente da entidade solicita ao gerente de provisionamento que inicie o processo de sincronização.
Como funciona a recuperação de prefixo
A recuperação do endereço no BNG recupera os prefixos provisionados subutilizados dos pools de endereços do dispositivo e devolve os prefixos ao pool centralizado da APM. A APM pode então realocar esses prefixos conforme necessário para outros pools que estão se aproximando do esgotamento do endereço. Isso significa que a distribuição de prefixos se ajusta continuamente para maximizar a utilização e a eficiência do espaço do endereço.
A recuperação é o processo de recuperar prefixos de pool do domínio de pool de um BNG quando o BNG tem um excesso de endereços gratuitos. Você define o valor limite de recuperação na configuração do perfil de domínio do pool. Em seguida, você faz referência ao perfil de domínio do pool na configuração da entidade no APM.
O BNG monitora a contagem de endereços gratuitos para cada um de seus domínios de pool. Quando a contagem de endereços gratuitos atinge o limite de recuperação, considera-se que o BNG tenha um excesso de endereços. O BNG envia um alarme de recuperação para a APM com informações que identificam um pool sugerido a ser recuperado. O alarme de recuperação impulsiona o processo de recuperação automática. Como alternativa, você pode iniciar um processo manual de recuperação.
A recuperação consiste na drenagem de uma piscina e, em seguida, recuperar os prefixos da piscina, como explicado aqui:
-
Quando a APM inicia um dreno, ele envia uma mensagem ao dispositivo para começar a drenar ativamente a piscina. Isso significa que nenhum novo assinante é alocado neste pool. Para assinantes do modelo de acesso baseado em conexão (por exemplo, PPP), um dreno ativo desencadeia um logout imediato e se reconecta. Para assinantes baseados em locação, um dreno ativo faz com que a renovação do leasing seja recusada. Para ambos os modelos, o resultado líquido é a re-conexão do assinante, mas é alocado um endereço de outro pool no domínio.
-
A piscina é completamente drenada quando não há assinantes usando um endereço na piscina. Todos os endereços nesse pool são gratuitos. O BNG envia uma mensagem de alarme drenada na piscina para a APM.
A APM pode realizar a recuperação de endereços por qualquer um dos seguintes métodos:
-
Automático — você pode configurar a recuperação para ser um processo totalmente automático que ocorre quando o APM recebe um alarme de recuperação ou drenado na piscina. Você pode especificar o processo para começar imediatamente, ou ocorrer apenas durante uma janela de tempo específica, ou aguardar um período de tempo antes de agir no alarme.
-
Manual — você usa
show
comandos para exibir os alarmes para grupos individuais no BNG. Em seguida, você emiterequest apm
comandos para drenar endereços de uma piscina, deprovisionar a piscina drenada e recuperar seus endereços.
- Recuperação automática de prefixos
- Liberação de prefixos alocados para uma entidade
- Recuperação manual de endereços
- Timestamps
Recuperação automática de prefixos
Você pode habilitar a APM a lidar automaticamente com a tarefa de recuperação. Você pode configurar a recuperação automática na pool-domain-profile
entidade atribuída conforme configurado na entity-match
declaração.
Quando você habilita a recuperação automática, essas ações ocorrem:
-
A APM responde aos alarmes de recuperação de domínio enviados pela entidade. O alarme de recuperação contém um nome de grupo sugerido para recuperar.
-
A APM responde ao alarme de recuperação instruindo a entidade a colocar um dreno ativo na piscina. Quando o pool é completamente drenado (sem alocações de endereço pendentes do pool), a entidade levanta um alarme drenado no pool de domínios.
-
A APM responde ao alarme drenado da piscina instruindo a entidade a excluir o pool; A APM devolve o prefixo do pool à partição da qual foi alocado.
-
Assim que o prefixo tiver sido devolvido à partição, ele estará disponível para outras entidades levantando alarmes de rateio de domínio.
A recuperação automática permite que você limite o número de endereços nãoutilizados mantidos na entidade. Como o processo de recuperação automática envolve um serviço que potencialmente afeta o dreno ativo, você pode configurar a APM para apenas iniciar a recuperação automática durante uma janela de manutenção configurada.
Liberação de prefixos alocados para uma entidade
No caso de uma entidade de rede falhar e não conseguir se reconectar com a APM para permitir que quaisquer prefixos de pool alocados sejam recuperados em suas partições de origem, você pode usar o request apm release entity system-id
comando. Esse comando negocia todos os prefixos de pool e domínios de pool associados a uma entidade de rede. Você não pode usar o request apm release entity system-id
comando se o estado APMi da entidade estiver reachable
.
Use essas etapas para liberar prefixos de uma entidade inalcançável.
- Use o
comando para exibir o status de acessibilidade da entidade e os prefixos de pool mantidos por seus domínios de pool. A saída mostra que a entidade é acessível e destinou 3 prefixos de pool.show apm entity system id
root@jnpr-apm-mgmt> show apm entity id yarmouth pool-domain iroh-default Entity Statistics: Entity ID: yarmouth APMi Ver : 1 Name : yarmouth Status : reachable Pool Domain Statistics: Pool Domain : iroh-default Source Partition: westford Free Addresses : 253 Pools : 3 Thresholds: Apportion : 200 Reclamation: 457 Events: Last Discovery : 2023-09-22T12:55:08Z Last Allocation : 2023-09-22T12:55:15Z Last Reclamation: - Allocations : 3 Reclamations : 0 Alarms: Apportion : 3 Reclamation : 0 Pool-drained: 0 Abatement : 0 Pool Prefix Total Addrs Used Addrs iroh-default 192.168.0.0/24 255 255 iroh-default-0000 192.168.1.0/24 255 255 iroh-default-0001 192.168.2.0/24 255 2
-
O
request apm release entity system id
comando não tem sucesso quando a entidade é acessível.root@jnpr-apm-mgmt> request apm release entity yarmouth Response error: Entity yarmouth is still connected..release request is ignored
-
show apm entity
Digite para ver se a entidade é inalcançável.root@jnpr-apm-mgmt> sshow apm entity Entity ID APMi Ver Name Status Pool Domains yarmouth 1 yarmouth unreachable 1
- Como a entidade na Etapa 3 é inalcançável, você pode entrar no
comando para começar a recuperação. A APM desprovisiona o pool e devolve os endereços à partição de origem para realocação. Todos os prefixos de pool que foram relatados na Etapa 1 são lançados.request apm release entity system-id
root@jnpr-apm-mgmt> request apm release entity yarmouth Released Prefix Destination Partition 192.168.0.0/24 westford 192.168.1.0/24 westford 192.168.2.0/24 westford
Recuperação manual de endereços
A recuperação manual lhe dá controle refinado. A recuperação manual exige que você monitore de perto os domínios do pool e os pools de endereços em seus BNGs gerenciados.
- Use o
show apm alarms
comando para exibir todos os alarmes pendentes recebidos do BNG. A saída exibe os nomes dos pools com o status doreclaim
alarme.root@jnpr-apm-mgmt> show apm alarms Entity Pool Domain Alarm Info Age 10.4.4.108 vks009-default reclaim vks009-default-0005 2:33:15 10.2.1.1 alpha-drop reclaim alpha-drop-0000 3 days, 15:20:01 10.3.23.10 feeder-default apportion - 0:0:10 152.13.5.5 azimuth-ri2 pool-drained azimuth-ri2-0007 0:0:21
O
reclaim
alarme significa que o domínio do pool tem um excesso de endereços. OInfo
campo contém o nome de um pool que o BNG recomenda para a recuperação. Um alarme de recuperação não significa que a piscina tenha um conjunto de dreno ativo. Se um dreno não estiver no local na piscina, o pool ainda poderá alocar endereços. - Emita o
request apm drain
comando para começar a drenar a piscina.root@jnpr-apm-mgmt> request apm drain entity 10.2.1.1 pool-domain alpha-drop pool alpha-drop-0000
Nota:Você pode remover um dreno que você iniciou emitindo o
request apm activate
comando. - Use o
show apm alarms
comando para ver se a piscina foi drenada. O status do alarme exibe opool-drained
status. - Emita o
request apm reclaim
comando para começar a recuperação. A APM desprovisiona o pool e devolve os endereços à partição de origem para realocação.root@jnpr-apm-mgmt> request apm reclaim entity 10.2.1.1 pool-domain pool alpha-drop-0000
Ao escolher a recuperação manual, tenha cuidado ao escolher o pool para recuperar. Aqui estão algumas das considerações para escolher um pool para recuperar.
-
Ao drenar um pool, você deve acomodar os assinantes que usam esses endereços em outros pools no domínio do pool. É preciso haver endereços gratuitos suficientes nos outros pools (no domínio) para absorver esses assinantes. Portanto, o número de endereços gratuitos no domínio do pool deve ser maior do que o número de endereços usados no pool que você drena:
(endereços gratuitos de domínio de pool) —(endereços gratuitos de piscina de drenagem) > (grupo de drenagem usado em endereços)
-
Ao drenar uma piscina, você não deve deixar o domínio da piscina em perigo imediato de ficar sem endereços gratuitos. Se a contagem de endereços gratuitos no domínio estiver abaixo do limite de rateio, ela aciona um alarme de rateio que resulta no provisionamento de mais endereços para o pool. Em outras palavras, tente não iniciar um dreno em uma piscina a menos que a seguinte desigualdade se mantenha verdadeira:
(endereços gratuitos de domínio de pool) – (endereços totais de piscina de drenagem) > (limite de rateio)
Timestamps
Você usa o show apm entity
comando para monitorar as operações de recuperação da APM. A saída de comando mostra datas de tempo para a última descoberta, última alocação e últimos eventos de recuperação quando você exibe estatísticas para um roteador ou um domínio de pool específico. Os tempos estão no formato ISO-8601 com um relógio de 24 horas:
YYYY-MMThh:mm:ssZDD
-
T é o delimiter entre a data e a hora.
-
Z indica que o tempo está no fuso horário da UTC. Se o tempo do roteador usar um fuso horário diferente, o formato mostra a compensação da UTC para identificar o fuso horário.
-
Os fusos horários a oeste da UTC têm uma compensação negativa, designada por:hhmm
-
Os fusos horários a leste da UTC têm uma compensação positiva designada por +hh:mm.
Por exemplo, os seguintes datas de tempo mostram ao mesmo tempo, assumindo o tempo padrão:
-
2020-03-20T15:10:25Z (Londres)
-
2020-03-20T10:10:25-05:00 (Nova Iorque)
-
2020-03-20T16:10:25+01:00 (Paris)
-
2020-03-20T23:10:25+08:00 (Pequim)
APM e Kubernetes
A APM opera em um ambiente de cluster Kubernetes. APM é um aplicativo conteinerizado, onde o Kubernetes é o orquestrador dos contêineres. Ele agrupa contêineres em unidades lógicas (pods) que simplificam o gerenciamento. O comando APM e a CLI simplificam as interações com o Kubernetes.
Com o Kubernetes, você pode reiniciar automaticamente os microsserviços APM. Como o Kubernetes implanta os microsserviços como conjuntos de réplicas, ele pode garantir que o pod com o microsserviço seja reiniciado se o pod falhar. Na implantação inicial e na reinicialização, o pod de serviço verifica se a configuração completou o carregamento. O pod de serviço também verifica se ele pode se conectar ao banco de dados e ao corretor de mensagens. Após a confirmação bem-sucedida, o serviço APM começa.
O Kubernetes oferece redundância para a funcionalidade APM, pois distribui e gerencia os contêineres de aplicativos em um cluster que consiste em várias máquinas de nós. Cada nó pode assumir uma ou mais funções no cluster.
-
Nós de plano de controle (etcd) — nós de plano de controle são responsáveis por agendar cargas de trabalho de aplicativo (pods) em todos os nós disponíveis. Os nós do plano de controle oferecem suporte a uma função do trabalhador, ao estado de arquivamento relacionado às cargas de trabalho, à disponibilidade de nós de monitoramento e ao estado da carga de trabalho. Os nós do plano de controle garantem a operação contínua da aplicação no cluster.
-
Nó do trabalhador — um nó do trabalhador é um alvo de agendamento para cargas de trabalho de aplicativos.
Se você optar por usar máquinas virtuais para construir os nós de cluster, as máquinas virtuais devem estar em diferentes nós físicos. Usar diferentes nós físicos garante a máxima disponibilidade dos nós de cluster. Se um nó do trabalhador falhar, o plano de controle do Kubernetes detecta a falha. Ele tenta reagendar as cargas de trabalho que estavam sendo executadas no nó fracassado para outros nós do trabalhador no cluster.
h
O serviço de banco de dados usado pela APM requer pelo menos três nós de trabalhador físico para fornecer alta disponibilidade para o aplicativo.
A replicação oferece redundância de banco de dados. A instância principal do banco de dados duplica em uma instância de banco de dados de réplica. Cada instância é um pod separado. Um número estranho de instâncias sentinelas de banco de dados monitora a instância primária e replicada do banco de dados. Quando um sentinela detecta uma falha da instância primária, a maioria dos sentinelas deve concordar. Em seguida, a maioria dos sentinelas deve eleger a instância de réplica para promover o papel principal. Se a instância primária anterior se recuperar, ela assume o papel de uma instância de réplica.
Objetos kubernetes provisionados por APM
A APM cria os seguintes objetos Kubernetes durante o início ou implantação. A APM usa esses objetos durante todo o ciclo de vida. Os objetos são removidos apm stop
.
-
Namespace — cluster virtual de máquinas de nós que estão executando a APM. Todos os objetos APM estão isolados no jnpr-apm.
-
Serviços externos — os objetos são criados no momento da configuração para obter o endereço IP externo atribuído pelo balanceador de carga do cluster (controlador de entrada). Serviços externos fora do cluster usam esses endereços IP externos para iniciar a comunicação com a APM. Se o cluster não oferece suporte a um balanceador de carga de rede, o cluster usa o nó primário como endereço IP externo.
-
ConfigMap — armazena o arquivo de configuração para o servidor de banco de dados (redis.conf) e um arquivo de configuração inicial (juniper.conf) para MGMT.
-
PersistenteVolumeClaims — Para contêineres que têm requisitos dinâmicos de armazenamento de dados. Esse objeto inclui a MGMT e as implantações do banco de dados.
-
Segredos — armazena chaves e certificados de que você precisa para proteger o APMi.
Arquivamento automático da configuração da APM
A APM usa um arquivo de configuração inicial quando é iniciado e implantado. O arquivo de configuração pode ser o arquivo de configuração padrão de fábrica ou pode ser um arquivo de configuração fornecido por você durante a configuração. Este arquivo de configuração inicial é armazenado no repositório de clusters do jumphost. Depois que uma mudança é comprometida com a configuração, o arquivo de configuração inicial usado durante o início e a implantação pode ser atualizado quando você executa um comando de script de utilidade APM save-config
.
Usando o recurso de arquivamento automático, a APM pode ser configurada para arquivar automaticamente uma cópia de uma configuração comprometida em um servidor de arquivo externo. Toda vez que a configuração é alterada e comprometida, a APM transfere uma cópia do arquivo de configuração comprometido para o servidor de arquivo externo.
Você configura o arquivamento automático do seu arquivo de configuração por meio do setup
comando. Este é o mesmo setup
comando que você usa quando configura a APM inicialmente.
Se você não configurar inicialmente o arquivamento automático durante a configuração e quiser salvar automaticamente as alterações de configuração em um arquivo de configuração externo, execute o seguinte:
Execute o
setup
comando (para obter mais informações, veja Guia de instalação do gerenciador de grupos de endereços). Durante o processo de configuração, configure o seguinte:Configurações de reversão de cópia de arquivo de configuração — Digite True para arquivar os arquivos de configuração de reversão.
Config Archival reter nome de arquivo de origem — Digite True para copiar o arquivo de configuração usando o nome de arquivo armazenado no sistema de arquivos do microsserviço mgmt (por exemplo, juniper.conf.gz). Se você digitar False, o nome do arquivo de configuração arquivado está pré-configurado com o prefixo apm_<date-stamp>_<time-stamp>_.
Segredo do arquivo de configuração — Digite o nome do Segredo do Kubernetes no namespace APM que contém os dados de chave privada SSH.
Se você não fornecer um segredo, você será solicitado para um arquivo chave SSH:
Config Archival ssh-key — Digite o nome do arquivo chave privado SSH.
URL scp de arquivo de configuração — Insira a URL do protocolo de cópia segura (SCP) do servidor onde o arquivo de configuração será arquivado. A URL deve estar no formato
scp://user-login@server-fqdn:server-port/absolute-file-path
.Nota:O número da porta do servidor (
server-port
) é opcional.
Se a APM já estiver sendo executada, execute o
rollout
comando para atualizar o microsserviço mgmt .