Distribuição de fluxo e ordenação de pacotes
Este tópico descreve a distribuição de carga e a ordenação de pacotes em dispositivos SRX5000 Line.
Entendendo a distribuição de carga em dispositivos de linha SRX5000
O algoritmo de distribuição de carga, que é suportado nos dispositivos SRX5800, SRX5600 e SRX5400, é ajustado com base na capacidade da sessão e na capacidade de processamento. (O suporte real à plataforma depende da versão do Junos OS em sua instalação.)
A distribuição de sessão baseada em hash usa uma tabela de hash. A tabela de peso da sessão de SPU é usada para atribuir um ID de SPU a cada índice de hash na tabela de hash de distribuição de sessão. Dessa forma, o número de sessões criadas em cada SPU usando distribuição baseada em hash é proporcional ao peso da SPU na tabela de peso da sessão da SPU. Cada NPU também mantém uma tabela de peso de sessão de SPU idêntica e uma tabela de hash de distribuição de sessão que usa para selecionar uma SPU para encaminhar pacotes que não correspondem a uma sessão de NPU.
No caso de uma falha de SPU, o Mecanismo de Roteamento redefinirá todas as placas no plano de dados, incluindo IOCs e NPCs, a fim de manter a consistência da tabela de hash para distribuição de sessão.
Na distribuição de sessão baseada em hash, os pesos são baseados na capacidade da sessão. Recomendamos o modo de distribuição de sessão de hash quando a alta capacidade de sessão é necessária.
A distribuição de carga nos dispositivos da Linha SRX5000 é sempre baseada em hash.
A inserção e remoção de SPCs causa um novo cálculo da tabela de peso da sessão de SPU no momento de inicialização do ponto central, porque o chassi deve ser reinicializado após a inserção.
Os aprimoramentos da arquitetura do ponto central impedem que os pacotes de dados passem pelo ponto central, transferindo o gerenciamento de tráfego para as SPUs. A capacidade de sessão do sistema é estendida, pois o limite de sessão no ponto central é removido.
- Cálculo do ID da SPU
- Encaminhamento baseado em hash no SRX5K-MPC, SRX5K-MPC3-40G10G (IOC3) e SRX5K-MPC3-100G10G (IOC3)
Cálculo do ID da SPU
O ID de SPU para um dispositivo equipado com a placa de processamento de serviços (SPC) SRX3K-SPC-1-10-40, SRX5K-SPC-2-10-40 ou SRX5K-SPC3 é calculado da seguinte forma:
SPU ID = (FPC ID X 4) + PIC ID
O SRX5K-SPC-2-10-40 e o SRX5K-SPC3 contêm dois PICs por placa, quatro PICs por placa (FPC) e dois PICs por placa, respectivamente. Por exemplo, um dispositivo contém 2 placas no slot 1 (FPC ID 0) e no slot 2 (FPC ID 1), as IDs de SPU esperadas são as seguintes:
Para SPC1: (0, 1) e (4, 5), totalize 4 SPUs em 2 placas.
Para SPC2: (0, 1, 2, 3) e (4, 5, 6, 7), totalize 8 SPUs em 2 placas.
Para SPC3: (0, 1) e (4, 5), totalize 4 SPUs em 2 placas.
Para FPC1 (a segunda placa) e PIC1 (a segunda PIC na placa), a ID da SPU é calculada como:
SPU ID = (FPC ID X 4) + PIC ID
= (1 X 4) + 1
= 4 + 1
= 5
Use essa convenção ao fazer referência ao ID da SPU para CLI e SNMP.
Encaminhamento baseado em hash no SRX5K-MPC, SRX5K-MPC3-40G10G (IOC3) e SRX5K-MPC3-100G10G (IOC3)
Nesses firewalls da Série SRX, um pacote passa por uma série de eventos envolvendo diferentes componentes à medida que progride do processamento de entrada para o processamento de saída. Com o recurso de encaminhamento de pacotes datapath, você pode obter uma entrega rápida do tráfego de E/S pela linha SRX 5000 de dispositivos.
A SRX5K-MPC, SRX5K-MPC3-40G10G (IOC3) e SRX5K-MPC3-100G10G (IOC3) são placas de interface suportadas nos dispositivos SRX5400, SRX5600 e SRX5800. O Concentrador Modular de Portas (MPC) fornece serviços de balanceamento de carga para Unidades de Processamento de Serviços (SPUs) usando o método de encaminhamento baseado em hash.
No encaminhamento baseado em hash, o pacote pode ser encaminhado pelo MPC para uma SPU selecionada (DCP) em vez do ponto central. Essa abordagem melhora o dimensionamento da sessão e evita a sobrecarga do ponto central.
O cálculo do valor de hash envolve as seguintes etapas:
Para pacotes IPv4, o módulo de encaminhamento baseado em hash gera o valor de hash com base em informações de Camada 3 e Camada 4, dependendo dos diferentes tipos de protocolo de Camada 4.
Para protocolos Stream Control Transmission Protocol (SCTP), TCP, UDP, Authentication Header (AH), Edge Service Provider (ESP) e Internet Control Message Protocol (ICMP), o módulo de hash utiliza informações da Camada 4 para gerar o valor de hash. Para quaisquer outros protocolos, apenas as informações da Camada 3 são usadas na geração de hash.
Para pacotes de fragmento IPv4, o valor de hash é calculado usando apenas as informações da Camada 3. Isso também se aplica ao primeiro fragmento do pacote.
Para pacotes não IP, o módulo de encaminhamento baseado em hash usa as informações da Camada 2 para calcular o valor de hash.
Quando um valor de hash é calculado de acordo com as informações de Camada 2, Camada 3 ou Camada 4 do pacote, um ID de SPU é atribuído a cada índice de hash na tabela de hash de distribuição de sessão.
O SRX5K-MPC (IOC2), SRX5K-MPC3-40G10G (IOC3) e SRX5K-MPC3-100G10G (IOC3) só podem ser usados em dispositivos SRX5400, SRX5600 e SRX5800 configurados para distribuição de sessão baseada em hash.
Quando o modo de distribuição de sessão baseado em hash está habilitado, o sistema muda seu comportamento para o modo baseado em alta capacidade de sessão quando o SRX5K-MPC, SRX5K-MPC3-40G10G (IOC3) e SRX5K-MPC3-100G10G (IOC3) são instalados no dispositivo.
Em dispositivos da Linha SRX5000 com um SRX5K-MPC, SRX5K-MPC3-40G10G (IOC3) ou SRX5K-MPC3-100G10G (IOC3) instalado, durante uma reinicialização do sistema ou de uma SPU, quando o modo de distribuição de sessão baseado em hash estiver habilitado, o tráfego passará somente quando todas as SPUs estiverem ativas após a reinicialização.
Os MPCs no IOC3 fornecem serviços de balanceamento de carga para SPUs executando o encaminhamento de pacotes de caminho de dados baseado em hash para interconexão com todos os IOCs e SPCs existentes.
O IOC3 processa pacotes de entrada e saída. O IOC3 analisa o pacote de entrada e o envia para a SPU para processamento de segurança adicional, incluindo pesquisa de sessão de fluxo, verificação de zona e política, VPN, ALG e assim por diante.
O IOC3 gerencia a memória de dados de pacotes e o enfileiramento de malha para funções de busca e encapsulamento de pacotes.
O IOC3 configura uma tabela de fluxo de segurança (IPv4 e IPv6), incluindo chave, tabela de resultados e memória de pacotes.
As seguintes funções são fornecidas com a tabela de fluxo:
Pesquisa de fluxo
Inserção e exclusão de fluxo
Segurança fluindo para fora
Estatísticas de fluxo de Segurança
Entendendo a função de ordenação de pacotes em dispositivos de linha SRX5000
A função de ordenação de pacotes, suportada nos dispositivos SRX5400, SRX5600 e SRX5800 e no Firewall virtual vSRX, melhora o desempenho do dispositivo ativando a função integrada de ordenação de pacotes do Mecanismo de Ordenação de Pacotes no processador XLP no ponto central do aplicativo.
Há suporte para dois tipos de modos de ordenação de pacotes: hardware e software.
Se a função de ordenação de pacotes estiver configurada como hardware, o thread de balanceamento de carga (LBT) e o thread de ordenação de pacotes (POT) serão descarregados para o mecanismo de ordenação de pacotes e os recursos serão liberados para executar o processamento de pacotes. Se a função de ordenação de pacotes estiver definida como software, o thread de balanceamento de carga (LBT) e o thread de ordenação de pacotes (POT) estarão em execução na SPU. Por padrão, o modo de ordenação de pacotes usando o Mecanismo de Ordenação de Pacotes (hardware) é habilitado no dispositivo. Você pode desativá-lo com uma alteração de configuração que exija uma reinicialização.
O thread de fluxo recebe os pacotes, processa-os e os envia ou descarta. Para pacotes que não exigem pedidos, o thread de fluxo notifica a saída do Network Acceleration Engine (NAE) para enviar ou descartar os pacotes. Para pacotes que exigem pedidos, o thread de fluxo notifica o Mecanismo de Pedidos de Pacotes para remover os pacotes da lista de pedidos e enviar ou descartar os pacotes em ordem.
Alterando o modo de ordenação de pacotes em dispositivos de linha SRX5000
A funcionalidade de ordenação de pacotes usando o mecanismo de ordenação de pacotes é suportada em dispositivos SRX5400, SRX5800 e SRX5600 com SPCs de próxima geração. (O suporte à plataforma depende da versão do Junos OS em sua instalação.) Por padrão, o modo de ordenação de pacotes usando o Mecanismo de Ordenação de Pacotes está habilitado. Para desabilitar a funcionalidade de ordenação de pacotes usando o Mecanismo de Ordenação de Pacotes, você deve atualizar o modo de ordenação de pacotes no dispositivo.
Os seguintes modos de ordenação de pacotes são suportados:
software — Desabilita o modo de ordenação de pacotes usando o mecanismo de ordenação de pacotes.
hardware — Habilita o modo de ordenação de pacotes usando o Mecanismo de Ordenação de Pacotes. Essa é a opção padrão.
Para desabilitar o modo de ordenação de pacotes usando o Mecanismo de Ordenação de Pacotes:
Insira o comando a seguir no prompt de configuração da CLI para especificar o modo de ordenação de pacotes.
[edit] user@host# set security forwarding-process application-services packet-ordering-mode software
Use o
show security forwarding-processcomando para revisar sua configuração.[edit] user@host# show security forwarding-process application-services{ packet-ordering-mode software; }Verifique suas alterações na configuração antes de confirmar.
[edit] user@host# commit check
warning: System packet ordering mode changed, reboot is required to take effect. If you have deployed a cluster, be sure to reboot all nodes. configuration check succeeds
Comprometa a configuração.
[edit] user@host# commit
warning: System packet ordering mode changed, reboot is required to take effect. If you have deployed a cluster, be sure to reboot all nodes. commit complete
Reinicialize o dispositivo em um momento apropriado.
Use o
show security flow statuscomando para verificar o modo de ordenação de pacotes.user@host> show security flow statusFlow forwarding mode: Inet forwarding mode: flow based Inet6 forwarding mode: drop MPLS forwarding mode: drop ISO forwarding mode: drop Flow trace status Flow tracing status: off Flow session distribution Distribution mode: RR-based Flow packet orderingOrdering mode: Software (reboot needed to change to Software)
Entender a distribuição de sessão em dispositivos da linha SRX5000 no modo adaptativo
A partir do Junos OS versão 15.1X49-D30 e do Junos OS versão 17.3R1, a distribuição de sessão no modo adaptativo foi substituída por aprimoramentos na arquitetura do ponto central.
A distribuição de sessão em modo adaptativo é implementada nos dispositivos da Linha SRX5000 em execução em modo misto antes do Junos OS Release 15.1X49-D30 e do Junos OS Release 17.1R1. A distribuição de sessão em modo adaptativo maximiza o uso dos recursos do sistema, levando em consideração a capacidade de uma unidade de processamento de serviços (SPU) e seus recursos disponíveis. Ele é habilitado apenas em dispositivos da Linha SRX5000 rodando no modo misto XLR/XLP, ou seja, em implantações de chassi nas quais diferentes tipos de SPUs são usados em diferentes combinações. Se um dispositivo SRX5800, SRX5600 ou SRX5400 contiver uma combinação de placas de processamento de serviços (SPCs) de próxima geração e SPCs existentes, a distribuição de sessão no modo adaptativo será assumida como o padrão. Para dispositivos da Linha SRX5000 que não são executados no modo misto, o balanceamento de carga baseado em hash é o padrão.
Uma placa de processamento de serviços (SPC) contém uma ou mais SPUs, cada uma das quais processa os pacotes de um fluxo de acordo com os recursos de segurança e outros serviços configurados para sessões distribuídas a ele pelo ponto central (CP). A carga da CPU de uma SPU muda de tempos em tempos. Para utilizar totalmente a mudança da capacidade disponível e adaptar a distribuição da sessão de acordo, no modo adaptativo, o sistema atribui um peso a todas as SPUs dinamicamente. É o peso das SPUs que determina a distribuição da sessão.
Cada SPU envia suas informações de uso da CPU para o ponto central (CP) periodicamente. O ponto central verifica esses valores, calcula o peso a cada 1 segundo e distribui as sessões de forma a maximizar o desempenho geral do sistema. Em outras palavras, no modo adaptativo, a distribuição de sessão é baseada em um sistema de atribuição dinâmica ponderada que é calculado em tempo real, permitindo a utilização total da capacidade das CPUs de todas as SPUs, independentemente de seu tipo.
É o cálculo dinâmico de pesos que distingue a distribuição de sessão de modo adaptativo da distribuição de sessão de rodízio ponderado (WRR). Enquanto o WRR diferencia as SPUs e sua capacidade de CPU calculando e atribuindo pesos aos diferentes tipos de SPUs, o cálculo e a atribuição são estáticos, ou seja, são feitos apenas uma vez, na inicialização. O modo adaptativo melhora o processo de distribuição de sessão de proporção fixa do WRR. O WRR leva à subutilização dos recursos do sistema porque os limites de processamento da sessão são definidos com base apenas no tipo de SPU e sua capacidade de CPU, sem levar em conta seu poder de processamento disponível.
Para distribuição de sessão de modo adaptativo, a seguinte fórmula é usada para calcular o peso atribuído a uma SPU:
Wi = Soma(W1-n)*Ci*Si/Soma(C1-n*S1-n)
Onde:
Wi— peso atribuído à SPU.Sum(W1-n)— Peso total do sistema. Esses valores são constantes.n—número total de SPUs.Ci- poder computacional da CPU disponível da SPU.Si— capacidade de sessão disponível da SPU.
No modo adaptativo, quando o uso da CPU em uma SPU é alto, menos sessões são distribuídas para essa SPU. Os exemplos a seguir explicam o cálculo.
Considere um dispositivo com duas SPUs. A capacidade de sessão de cada SPU é de 1 milhão.
Por um certo tempo:
Quando o SPU1 tem 500.000 sessões, o uso da CPU é de 10%:
Capacidade de CPU disponível de SPU1 (C1) = 1-10 por cento = 90 (por cento).
Capacidade de sessão disponível de SPU1 (S1) = 1-500.000/1M = 50 (por cento).
Quando o SPU2 tem 400.000 sessões, o uso da CPU é de 20%:
Capacidade disponível de SPU2 (C2) = 1-20 por cento = 80 (por cento).
Capacidade de sessão disponível de SPU2 (S2) = 1-400.000/1M = 60 (por cento).
Se o peso de todo o sistema for 100, os valores de peso separados para cada SPU são:
Peso do SPU1 (W1) = 100*90*50/(50*90+80*60) = 48
Peso do SPU2 (W2) = 100*80*60/(50*90+80*60) = 52
Para as sessões de entrada, 48% da sessão é alocada para SPU1, enquanto 52% dos pacotes são alocados para SPU2.
Os números ponderados podem entrar em vigor no sistema dentro de um curto período antes que o ponto central verifique as informações de uso do tempo de execução e ajuste os pesos para um novo valor.
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.