Balanceador de carga de tráfego
Visão geral do balanceador de carga de tráfego
- Resumo do suporte ao balanceamento de carga de tráfego
- Descrição do aplicativo Traffic Load Balancer
- Modos de operação do balanceador de carga de tráfego
- Funções do balanceador de carga de tráfego
- Componentes do aplicativo Traffic Load Balancer
- Limites de configuração do balanceador de carga de tráfego
Resumo do suporte ao balanceamento de carga de tráfego
A Tabela 1 fornece um resumo do suporte de balanceamento de carga de tráfego nas placas MS-MPC e MS-MIC para serviços adaptáveis versus suporte na placa de serviços de segurança MX-SPC3 para serviços de próxima geração.
MS-MPC |
MX-SPC3 |
||
|---|---|---|---|
Lançamento do Junos |
< 16.1R6 e 18.2.R1 |
≥ 16.1R6 & 18.2R1 |
19.3R2 |
# máximo de instâncias por chassi |
32 |
2.000/32 no modo L2 DSR |
2,000 |
# máximo de serviços virtuais por instância |
32 |
32 |
32 |
# máx. de endereço IP virtual por serviço virtual |
1 |
1 |
|
Máx. # de grupos por instâncias |
32 |
32 |
32 |
# máximo de serviços reais (servidores) por grupo |
255 |
255 |
255 |
# máximo de grupos por serviço virtual |
1 |
1 |
|
# máximo de perfis de monitor de rede por grupo |
2 |
2 |
|
Máximo # de HCs por serviços de segurança por PIC/NPU em 5 segundos |
4,000 |
1.250 – 19,3R2 10.000 – 20.1R1 |
|
Protocolos de verificação de integridade suportados |
ICMP, TCP, UDP, HTTP, SSL, personalizado |
ICMP, TCP, UDP, HTTP, SSL, TLS Olá, personalizado |
|
Descrição do aplicativo Traffic Load Balancer
O balanceador de carga de tráfego (TLB) é suportado em roteadores da Série MX com um dos Multiservices Modular Port Concentrator (MS-MPC), Multiservices Modular Interface Card (MS-MIC) ou MX Segurança Services Processing Card (MX-SPC3) e em conjunto com as placas de linha Modular Port Concentrator (MPC) suportadas nos roteadores da Série MX, conforme descrito na Tabela 2.
Não é possível executar o NAT determinístico e o TLB simultaneamente.
Modo TLB |
Cobertura da plataforma MX |
|---|---|
Concentrador Modular de Portas Multisserviços (MS-MPC) |
MX240, MX2480, MX960, MX2008, MX2010, MX2020 |
Placa de processamento de serviços de segurança MX (MX-SPC3) |
MX240, MX480, MX960 |
O TLB permite que você distribua o tráfego entre vários servidores.
O TLB emprega um plano de controle baseado em MS-MPC e um plano de dados usando o mecanismo de encaminhamento de roteador da Série MX.
O TLB usa uma versão aprimorada do equal-cost multipath (ECMP). O ECMP aprimorado facilita a distribuição de fluxos entre grupos de servidores. Os aprimoramentos no ECMP nativo garantem que, quando os servidores falham, apenas os fluxos associados a esses servidores são afetados, minimizando a rotatividade geral da rede em serviços e sessões.
O TLB fornece monitoramento de integridade baseado em aplicativos para até 255 servidores por grupo, fornecendo direcionamento de tráfego inteligente com base na verificação de integridade das informações de disponibilidade do servidor. Você pode configurar uma interface de multisserviços agregados (AMS) para fornecer redundância um-para-um para MS-MPCs ou placa MX-SPC3 de serviços de próxima geração usada para monitoramento da integridade do servidor.
O TLB aplica seu processamento de distribuição de fluxo ao tráfego de entrada.
O TLB oferece suporte a várias instâncias de roteamento virtual para fornecer suporte aprimorado aos requisitos de balanceamento de carga em grande escala.
O TLB oferece suporte à tradução estática de endereço IP virtual para endereço IP real e à tradução de porta de destino estática durante o balanceamento de carga.
Modos de operação do balanceador de carga de tráfego
O Balanceador de Carga de Tráfego fornece três modos de operação para a distribuição do tráfego de saída e para lidar com o processamento do tráfego de retorno.
A Tabela 3 resume o suporte a TLB e em quais placas ele é suportado.
Cartão de Serviço de Segurança |
MS-MPC |
MX-SPC3 |
|---|---|---|
Traduzir |
Sim |
Sim |
Retorno direto do servidor de camada 3 transparente |
Sim |
Sim |
Retorno direto do servidor de camada 2 transparente |
Sim |
Sem suporte |
- Retorno direto do servidor de camada 2 de modo transparente
- Modo traduzido
- Modo transparente Camada 3 Retorno direto do servidor
Retorno direto do servidor de camada 2 de modo transparente
Quando você usa o retorno direto do servidor (DSR) de Camada 2 no modo transparente:
O PFE processa dados.
O balanceamento de carga funciona alterando o MAC de Camada 2 dos pacotes.
Um MS-MPC executa as sondas de monitoramento de rede.
Os servidores reais devem ser diretamente (Camada 2) acessíveis a partir do roteador da Série MX.
O TLB instala uma rota e todo o tráfego nessa rota tem balanceamento de carga.
O TLB nunca modifica cabeçalhos de Camada 3 e de nível superior.
A Figura 1 mostra a topologia TLB para DSR de Camada 2 no modo transparente.
transparente
Modo traduzido
O modo traduzido oferece maior flexibilidade do que o DSR de Camada 2 do modo transparente. Quando você escolhe o modo traduzido:
Um MS-MPC executa as sondas de monitoramento de rede.
O PFE executa o balanceamento de carga sem estado:
O tráfego de dados direcionado a um endereço IP virtual é convertido do endereço IP virtual em um endereço IP de servidor real e converte a porta virtual em uma porta de escuta do servidor. O tráfego de retorno passa pela tradução reversa.
O tráfego de IP do cliente para o virtual é traduzido; O tráfego é roteado para chegar ao seu destino.
O tráfego de servidor para cliente é capturado usando filtros implícitos e direcionado para um próximo salto de balanceamento de carga apropriado para processamento reverso. Após a conversão, o tráfego é roteado de volta para o cliente.
Dois métodos de balanceamento de carga estão disponíveis: aleatório e hash. O método random é apenas para tráfego UDP e fornece distribuição quavms-random. Embora não seja literalmente aleatório, esse modo fornece uma distribuição justa do tráfego para um conjunto de servidores disponível. O método hash fornece uma chave hash com base em qualquer combinação do endereço IP de origem, endereço IP de destino e protocolo.
Observação:O processamento do modo traduzido só está disponível para tráfego IPv4 para IPv4 e IPv6 para IPv6.
A Figura 2 mostra a topologia TLB para o modo traduzido.
traduzido
Modo transparente Camada 3 Retorno direto do servidor
Modo transparente O balanceamento de carga DSR de Camada 3 distribui sessões para servidores que podem estar a um salto de distância da Camada 3. O tráfego é retornado diretamente ao cliente a partir do servidor real.
Funções do balanceador de carga de tráfego
O TLB fornece as seguintes funções:
O TLB sempre distribui as solicitações para qualquer fluxo. Quando você especifica o modo DSR, a resposta retorna diretamente para a origem. Quando você especifica o modo traduzido, o tráfego reverso é direcionado por meio de filtros implícitos em interfaces voltadas para o servidor.
O TLB oferece suporte ao balanceamento de carga baseado em hash ou ao balanceamento de carga aleatório.
O TLB permite que você configure servidores offline para evitar um impacto no desempenho que possa ser causado por uma reformulação de todos os fluxos existentes. Você pode adicionar um servidor no estado administrativo inativo e usá-lo posteriormente para distribuição de tráfego desabilitando o estado administrativo inativo. A configuração de servidores offline ajuda a evitar o impacto do tráfego para outros servidores.
Quando a verificação de integridade determina que um servidor está inativo, apenas os fluxos afetados são rehashizados.
Quando um servidor anteriormente inativo é retornado ao serviço, todos os fluxos pertencentes a esse servidor com base no hash retornam a ele, afetando o desempenho dos fluxos retornados. Por esse motivo, você pode desabilitar o reingresso automático de um servidor em um grupo ativo. Você pode retornar os servidores ao serviço emitindo o
request services traffic-load-balance real-service rejoincomando operacional.Observação:O NAT não é aplicado aos fluxos distribuídos.
O aplicativo de monitoramento de verificação de integridade é executado em um MS-MPC/NPU. Esta unidade de processador de rede (NPU) não é usada para lidar com o tráfego de dados.
O TLB oferece suporte à tradução estática de endereço IP virtual e endereço IP real e à tradução de porta de destino estática durante o balanceamento de carga.
O TLB fornece suporte a vários VRF.
Componentes do aplicativo Traffic Load Balancer
- Servidores e grupos de servidores
- Monitoramento da integridade do servidor — Verificação de integridade única e verificação de integridade dupla
- Serviços Virtuais
Servidores e grupos de servidores
O TLB permite a configuração de grupos de até 255 servidores (referidos nas declarações de configuração como serviços reais) para uso como destinos alternativos para distribuição de sessão sem estado. Todos os servidores usados em grupos de servidores devem ser configurados individualmente antes da atribuição a grupos. O balanceamento de carga usa hashing ou randomização para distribuição de sessão. Os usuários podem adicionar e excluir servidores de e para a tabela de distribuição do servidor TLB e também podem alterar o status administrativo de um servidor.
O TLB usa a API next-hop de distribuição de sessão para atualizar a tabela de distribuição do servidor e recuperar estatísticas. Os aplicativos não têm controle direto sobre o gerenciamento da tabela de distribuição do servidor. Eles só podem influenciar as alterações indiretamente por meio dos serviços de adição e exclusão da API TLB.
Monitoramento da integridade do servidor — Verificação de integridade única e verificação de integridade dupla
O TLB oferece suporte a TCP, HTTP, SSL Hello, TLS Hello e investigações de verificação de integridade personalizadas para monitorar a integridade dos servidores em um grupo. Você pode usar um único tipo de investigação para um grupo de servidores ou uma configuração de verificação de integridade dupla que inclua dois tipos de investigação. A função de monitoramento de integridade configurável reside em um MX-SPC3 ou em um MS-MPC. Por padrão, as solicitações de sondagem são enviadas a cada 5 segundos. Além disso, por padrão, um servidor real é declarado inativo somente após cinco falhas de sondagem consecutivas e declarado ativo somente após cinco sucessos de sondagem consecutivos.
Use uma investigação de verificação de integridade personalizada para especificar o seguinte:
-
Cadeia de caracteres esperada na resposta da sondagem
-
Cadeia de caracteres enviada com a sonda
-
Status do servidor a ser atribuído quando a sonda atingir o tempo limite (para cima ou para baixo)
-
Status do servidor a ser atribuído quando a resposta esperada à sondagem for recebida (para cima ou para baixo)
-
Protocolo — UDP ou TCP
O TLB fornece aderência ao aplicativo, o que significa que falhas ou alterações no servidor não afetam os fluxos de tráfego para outros servidores ativos. Alterar o estado administrativo de um servidor de cima para baixo não afeta nenhum fluxo ativo para os servidores restantes na tabela de distribuição de servidor. Adicionar um servidor ou excluir um servidor de um grupo tem algum impacto no tráfego por um período de tempo que depende da configuração dos parâmetros de intervalo e repetição no perfil de monitoramento.
O TLB fornece dois níveis de monitoramento da integridade do servidor:
-
Verificação de integridade única — um tipo de sondagem é anexado a um grupo de servidores por meio da
network-monitoring-profiledeclaração de configuração. -
TLB Dual Health Check (TLB-DHC) — Dois tipos de sondagem são associados a um grupo de servidores por meio da
network-monitoring-profiledeclaração de configuração. O status de um servidor é declarado com base no resultado de duas investigações de verificação de integridade. Os usuários podem configurar até dois perfis de verificação de integridade por grupo de servidores. Se um grupo de servidores estiver configurado para verificação de integridade dupla, um serviço real será declarado como ATIVO somente quando ambas as investigações de verificação de integridade estiverem ativas simultaneamente; caso contrário, um serviço real é declarado como DOWN.
As seguintes restrições se aplicam às interfaces AMS usadas para monitoramento da integridade do servidor:
-
Uma interface AMS configurada em uma instância TLB usa suas interfaces de membro configuradas exclusivamente para verificação de integridade de vários servidores reais configurados.
-
As interfaces de membros usam a unidade 0 para casos VRF únicos, mas podem usar unidades diferentes de 1 para vários casos VRF.
-
O TLB usa o endereço IP configurado para interfaces de membros do AMS como o endereço IP de origem para verificações de integridade.
-
As interfaces de membro devem estar na mesma instância de roteamento que a interface usada para alcançar servidores reais. Isso é obrigatório para procedimentos de verificação de integridade do servidor TLB.
A partir do Junos OS Release 24.2R1, quando TLS e SSL são configurados no mesmo grupo, o mecanismo OR é usado agora em vez de AND para determinar o status do servidor real. Ou seja, o servidor real é marcado como UP se qualquer uma das sondas estiver funcionando. Anteriormente, o servidor real era marcado como UP apenas se ambas as sondas fossem bem-sucedidas.
Quando a versão de sondagem SSL é fornecida, ela investiga com essa versão. Quando a versão SSL não é especificada, o comportamento muda para Fallback da versão v3 para v2. A sonda começa com SSLv3. Se a sondagem SSLv3 falhar, o sistema investigará SSLv2. Anteriormente, quando o atributo version não era fornecido explicitamente, a sondagem era feita com a versão padrão, v3.
Esse aprimoramento do comportamento de verificação de integridade é aplicável somente quando as sondas TLS e SSL estão configuradas no mesmo grupo de verificação de integridade.
A saída para show services traffic-load-balance statistics instance <inst> extensive é alterada.
user@host# show services traffic-load-balance statistics instance <inst-name>
Traffic load balance instance name : <inst-name> Multi services interface name : vms-3/0/0 Interface state : UP Interface type : Multi services Route hold timer : 180 Active real service count : 0 Total real service count : 8 Traffic load balance virtual svc name : vs1 IP address : 60.0.0.1 Virtual service mode : Translate mode Routing instance name : fwd_instance_1 Traffic load balance group name : group1 Traffic load balance group warmup time: 15 Traffic load balance group auto-rejoin: TRUE Health check interface subunit : 0 Traffic load balance group down count : 5 Protocol : tcp Port number : 443 Server Listening Port Number : 443 Route metric : 1 Virtual service down count : 5 Traffic load balance hash method : source Network monitoring profile count : 2 Active real service count : 0 Total real service count : 8 Demux Nexthop index : 673 Nexthop index : 674 Down time : 6d 00:01 Total packet sent count : 361749 Total byte sent count : 55165331 Total packet received count : 542636 Total byte received count : 28940680 Network monitoring profile index : 1 Network monitoring profile name : nm_prof_ssl Probe type : SSL-HELLO Probe interval : 2 Probe failure retry count : 5 Probe recovery retry count : 3 Port number : 443 Network monitoring profile index : 2 Network monitoring profile name : nm_prof_tls Probe type : TLS-HELLO Probe interval : 5 Probe failure retry count : 5 Probe recovery retry count : 5 Port number : 443 Traffic load balance real svc name : rs_1 Routing instance name : server_vrf_1 IP address : 40.1.1.2 Traffic load balance group name : group1 Admin state : UP Oper state : UP Network monitoring probe up count : 1 Network monitoring probe down count : 1 Total rejoin event count : 8 Total up event count : 9 Total down event count : 9 Real Service packet sent count : 69804 Real Service byte sent count : 10644724 Real Service packet received count : 104706 Real Service byte received count : 5584336 Total probe sent : 358307 Total probe success : 76 Total probe fail : 358231 Total probe sent failed : 0 Network monitoring profile index : 1 Network monitoring profile name : nm_prof_sslv3 Probe type : SSL-HELLO Probe state : UP SSL probe version : 3 Probe sent : 255933 Probe success : 255879 Probe fail : 54 Probe sent failed : 0 Probe consecutive success : 254635 Probe consecutive fail : 0 Network monitoring profile index : 2 Network monitoring profile name : nm_prof_tls Probe type : TLS-HELLO Probe state : DOWN TLS probe version : 1.2 Probe sent : 102374 Probe success : 22 Probe fail : 102352 Probe sent failed : 0 Probe consecutive success : 0 Probe consecutive fail : 101854
A versão da sonda SSL-hello é movida para as estatísticas reais do servidor do serviço virtual quando a versão SSL não é especificada no perfil de verificação de integridade.
Serviços Virtuais
O serviço virtual fornece um endereço IP virtual (VIP) associado ao grupo de servidores para o qual o tráfego é direcionado, conforme determinado pela distribuição de sessão aleatória ou baseada em hash e pelo monitoramento da integridade do servidor. No caso do DSR L2 e do DSR L3, o endereço especial 0.0.0.0 faz com que todo o tráfego que flui para a instância de encaminhamento seja balanceado quanto à carga.
A configuração do serviço virtual inclui:
-
Modo — indica como o tráfego é tratado (traduzido ou transparente).
-
O grupo de servidores para o qual as sessões são distribuídas.
-
O método de balanceamento de carga.
-
Instância de roteamento e métrica de rota.
Embora você possa atribuir um endereço virtual de 0.0.0.0 para usar o roteamento padrão, recomendamos usar um endereço virtual que possa ser atribuído a uma instância de roteamento configurada especificamente para TLB.
Limites de configuração do balanceador de carga de tráfego
Os limites de configuração do Balanceador de Carga de Tráfego são descritos na Tabela 4.
Componente de configuração |
Limite de configuração |
|---|---|
Número máximo de instâncias |
A partir do Junos OS Release 16.1R6 e do Junos OS Release 18.2R1, o aplicativo TLB oferece suporte a 2000 instâncias TLB para serviços virtuais que usam o direct-server-return ou o modo traduzido. Em versões anteriores, o número máximo de instâncias é 32. Se vários serviços virtuais estiverem usando o mesmo grupo de servidores, todos esses serviços virtuais deverão usar o mesmo método de balanceamento de carga para dar suporte a 2000 instâncias TLB. Para serviços virtuais que usam o modo layer2-direct-server-return, o TLB oferece suporte a apenas 32 instâncias TLB. Para executar a mesma função que o modo layer2-direct-server-return e ter suporte para 2000 instâncias TLB, você pode usar o modo direct-server-return e usar um filtro de serviço com a ação ignorar. |
Número máximo de servidores por grupo |
255 |
Número máximo de serviços virtuais por serviço PIC |
32 |
Número máximo de verificações de integridade por PIC de serviços em um intervalo de 5 segundos |
Para placas de serviços MS-MPC: 2000 Para o modo de serviços de próxima geração e as placas de serviços MX-SPC3: 1250 |
Número máximo de grupos por serviço virtual |
1 |
Número máximo de endereços IP virtuais por serviço virtual |
1 |
Protocolos de verificação de integridade compatíveis |
ICMP, TCP, HTTP, SSL, TLS-Olá, personalizado
Observação:
A verificação de integridade do ICMP é suportada apenas em placas de serviços MS-MPC. A partir do lançamento 22.4R1 do Junos OS, o TLB foi aprimorado para oferecer suporte ao tipo de verificação de integridade TLS-Hello. Para TLS-Hello sobre TCP, há suporte para verificações de integridade TLS v1.2 e v1.3. |
Veja também
Configurando o TLB
Os tópicos a seguir descrevem como configurar o TLB. Para criar um aplicativo completo, você também deve definir interfaces e informações de roteamento. Opcionalmente, você pode definir filtros de firewall e opções de política para diferenciar o tráfego TLB.
- Carregando o pacote de serviços TLB
- Configuração de um nome de instância TLB
- Configurando informações de interface e roteamento
- Configuração de servidores
- Configuração de perfis de monitoramento de rede
- Configurando grupos de servidores
- Configuração de serviços virtuais
- Configurando o rastreamento para a função de monitoramento de verificação de integridade
Carregando o pacote de serviços TLB
Carregue o pacote de serviços TLB em cada PIC de serviço no qual você deseja executar o TLB.
Para serviços de próxima geração e a placa de serviços MX-SPC3, você não precisa carregar este pacote.
Para carregar o pacote de serviços TLB em um PIC de serviço:
Carregue o
jservices-traffic-dirdpacote.[edit chassis fpc slot-number pic pic-number adaptive-services service-package extension-provider] user@host# set package jservices-traffic-dird
Por exemplo:
[edit chassis fpc 3 pic 0 adaptive-services service-package extension-provider] user@host# set package jservices-traffic-dird
Configuração de um nome de instância TLB
system processes sdk-service enable na [edit] hierarquia.
Para configurar um nome para a instância TLB:
-
No nível da
[edit services traffic-load-balance]hierarquia, identifique o nome da instância TLB.[edit services traffic-load-balance] user@host# set instance instance-name
Por exemplo:
[edit services traffic-load-balance] user@host# set instance tlb-instance1
Configurando informações de interface e roteamento
Para configurar informações de interface e roteamento:
Configuração de servidores
Para configurar servidores para a instância TLB:
[edit services traffic-load-balance instance instance-name] user@host# set real-service real-service-name address server-ip-address
Por exemplo:
[edit services traffic-load-balance instance tlb-instance1] user@host# set real-service rs138 address 172.26.99.138 user@host# set real-service rs139 address 172.26.99.139 user@host# set real-service rs140 address 172.26.99.140
Configuração de perfis de monitoramento de rede
Um perfil de monitoramento de rede configura uma sondagem de verificação de integridade, que você atribui a um grupo de servidores para o qual o tráfego de sessão é distribuído.
Para configurar um perfil de monitoramento de rede:
Configurando grupos de servidores
Os grupos de servidores consistem em servidores para os quais o tráfego é distribuído por meio de distribuição de sessão baseada em hash e sem estado e monitoramento da integridade do servidor.
Para configurar um grupo de servidores:
Configuração de serviços virtuais
Um serviço virtual fornece um endereço associado a um grupo de servidores para o qual o tráfego é direcionado, conforme determinado pela distribuição de sessão aleatória ou baseada em hash e pelo monitoramento da integridade do servidor. Opcionalmente, você pode especificar filtros e instâncias de roteamento para direcionar o tráfego para TLB.
Para configurar um serviço virtual:
Configurando o rastreamento para a função de monitoramento de verificação de integridade
Para configurar opções de rastreamento para a função de monitoramento de verificação de integridade:
Tabela de histórico de alterações
A compatibilidade com recursos é determinada pela plataforma e versão utilizada. Use o Explorador de recursos para determinar se um recurso é compatível com sua plataforma.