Processamento de tráfego em firewalls da Série SRX Visão geral

O Junos OS para dispositivos de segurança integra recursos de roteamento e segurança de rede da Juniper Networks. Os pacotes que entram e saem de um dispositivo passam por processamento baseado em pacotes e fluxo.

Entendendo o Processamento de Tráfego em Dispositivos de Segurança

O Junos OS para dispositivos de segurança integra os recursos de roteamento e segurança de rede de classe mundial da Juniper Networks. O Junos OS inclui uma ampla gama de filtragem baseada em pacotes, classificadores de classe de serviço (CoS) e recursos de modelagem de tráfego, bem como um conjunto extenso e rico de recursos de segurança baseados em fluxo, incluindo políticas, telas, tradução de endereços de rede (NAT) e outros serviços baseados em fluxo.

O tráfego que entra e sai de um dispositivo de segurança é processado de acordo com os recursos que você configura, como filtros de pacotes, políticas de segurança e telas. Por exemplo, o software pode determinar:

  • Se o pacote tem permissão para entrar no dispositivo

  • Quais telas de firewall aplicar ao pacote

  • A rota que o pacote percorre para chegar ao seu destino

  • Qual CoS aplicar ao pacote, se houver

  • Se o NAT deve ser aplicado para traduzir o endereço IP do pacote

  • Se o pacote requer um Gateway de Camada de Aplicativo (ALG)

Os pacotes que entram e saem de um dispositivo passam por processamento baseado em pacotes e fluxo:

  • O processamento de pacotes baseado em fluxo trata pacotes relacionados, ou um fluxo de pacotes, da mesma maneira. O tratamento de pacotes depende das características que foram estabelecidas para o primeiro pacote do fluxo de pacotes, que é chamado de fluxo.

    Para a arquitetura de processamento distribuído do gateway de serviços, todo o processamento baseado em fluxo ocorre na SPU e a amostragem reconhece vários threads. O sequenciamento de pacotes é mantido para os pacotes amostrados.

  • O processamento de pacotes baseado em pacotes ou sem estado trata os pacotes discretamente. Cada pacote é avaliado individualmente para tratamento.

    Para a arquitetura de processamento distribuído do gateway de serviços, alguns processamentos baseados em pacotes, como a modelagem de tráfego, ocorrem na NPU. Alguns processamentos baseados em pacotes, como a aplicação de classificadores a um pacote, ocorrem na SPU.

Este tópico inclui as seguintes seções:

Entendendo o processamento baseado em fluxo

Um pacote passa por processamento baseado em fluxo após filtros baseados em pacotes e algumas telas terem sido aplicadas a ele. Todo o processamento baseado em fluxo para um único fluxo ocorre em uma única unidade de processamento de serviços (SPU). Uma SPU processa os pacotes de um fluxo de acordo com os recursos de segurança e outros serviços configurados para a sessão.

A Figura 1 mostra uma visão conceitual de como o processamento de tráfego baseado em fluxo ocorre no gateway de serviços.

Figura 1: Fluxo de tráfego para processamento Traffic Flow for Flow-Based Processing baseado em fluxo

Um fluxo é um fluxo de pacotes relacionados que atendem aos mesmos critérios de correspondência e compartilham as mesmas características. O Junos OS trata os pacotes pertencentes ao mesmo fluxo da mesma maneira.

As definições de configuração que determinam o destino de um pacote, como a política de segurança que se aplica a ele, se ele requer um Gateway de Camada de Aplicativo (ALG), se o NAT é aplicado para traduzir o endereço IP de origem e/ou destino do pacote, são avaliadas para o primeiro pacote de um fluxo.

Para determinar se existe um fluxo para um pacote, a NPU tenta combinar as informações do pacote com as de uma sessão existente com base nos seguintes critérios de correspondência:

  • Endereço de origem

  • Endereço de destino

  • Porta de origem

  • Porta de destino

  • Protocolo

  • Número de token de sessão exclusivo para uma determinada zona e roteador virtual

Zonas e políticas

A política de segurança a ser usada para o primeiro pacote de um fluxo é armazenada em cache em uma tabela de fluxo para uso com o mesmo fluxo e fluxos intimamente relacionados. As políticas de Segurança estão associadas a zonas. Uma zona é uma coleção de interfaces que definem um limite de segurança. A zona de entrada de um pacote, conforme determinado pela interface pela qual ele chegou, e sua zona de saída, conforme determinado pela pesquisa de encaminhamento, determinam juntas qual política é usada para pacotes do fluxo.

Fluxos e sessões

O processamento de pacotes baseado em fluxo, que é stateful, requer a criação de sessões. Uma sessão é criada para o primeiro pacote de um fluxo para as seguintes finalidades:

  • Para armazenar a maioria das medidas de segurança a serem aplicadas aos pacotes do fluxo.

  • Para armazenar em cache informações sobre o estado do fluxo.

    Por exemplo, as informações de registro e contagem de um fluxo são armazenadas em cache em sua sessão. (Algumas telas de firewall stateful dependem de valores limite que pertencem a sessões individuais ou em todas as sessões.)

  • Para alocar os recursos necessários para o fluxo para recursos como NAT.

  • Fornecer uma estrutura para recursos como ALGs e recursos de firewall.

A maior parte do processamento de pacotes ocorre no contexto de um fluxo, incluindo:

  • Gerenciamento de políticas, NAT, zonas e a maioria das telas.

  • Gerenciamento de ALGs e autenticação.

Entendendo o processamento baseado em pacotes

Um pacote passa por processamento baseado em pacotes quando é removido da fila em sua interface de entrada e antes de ser adicionado à fila em sua interface de saída.

O processamento baseado em pacotes aplica filtros de firewall stateless, recursos de CoS e algumas telas a pacotes discretos.

  • Quando um pacote chega a uma interface, verificações de sanidade, filtros baseados em pacotes, alguns recursos de CoS e algumas telas são aplicados a ele.

  • Antes de um pacote sair do dispositivo, todos os filtros baseados em pacotes, alguns recursos de CoS e algumas telas associadas à interface são aplicados ao pacote.

Filtros e recursos de CoS são normalmente associados a uma ou mais interfaces para influenciar quais pacotes têm permissão para transitar pelo sistema e aplicar ações especiais aos pacotes conforme necessário.

Os tópicos a seguir descrevem os tipos de recursos baseados em pacotes que você pode configurar e aplicar ao tráfego de trânsito.

Filtros de firewall stateless

Também chamados de listas de controle de acesso (ACLs), os filtros de firewall stateless controlam o acesso e limitam as taxas de tráfego. Eles avaliam estaticamente o conteúdo dos pacotes que transitam pelo dispositivo de uma origem para um destino, ou pacotes originados ou destinados ao Mecanismo de Roteamento. Um filtro de firewall stateless avalia todos os pacotes, incluindo os fragmentados.

Você pode aplicar um filtro de firewall stateless a uma interface de entrada ou saída, ou a ambas. Um filtro contém um ou mais termos, e cada termo consiste em dois componentes: condições de correspondência e ações. Por padrão, um pacote que não corresponde a um filtro de firewall é descartado.

Você pode planejar e projetar filtros de firewall stateless para serem usados para várias finalidades — por exemplo, para limitar o tráfego a determinados protocolos, endereços IP de origem ou destino ou taxas de dados. Filtros de firewall stateless são executados na NPU.

Recursos de classe de serviço

Os recursos de CoS permitem classificar e moldar o tráfego. Os recursos de CoS são executados na NPU.

  • Classificadores de comportamento agregado (BA) — esses classificadores operam em pacotes conforme eles entram no dispositivo. Usando classificadores de agregação de comportamento, o dispositivo agrega diferentes tipos de tráfego em uma única classe de encaminhamento para receber o mesmo tratamento de encaminhamento. Os classificadores BA permitem que você defina a classe de encaminhamento e a prioridade de perda de um pacote com base no valor do Serviço Diferenciado (DiffServ).

  • Modelagem de tráfego — você pode moldar o tráfego atribuindo níveis de serviço com diferentes características de atraso, jitter e perda de pacotes a aplicativos específicos atendidos por fluxos de tráfego específicos. A modelagem de tráfego é especialmente útil para aplicativos em tempo real, como transmissão de voz e vídeo.

Telas

Algumas triagens, como as de negação de serviço (DoS), são aplicadas a um pacote fora do processo de fluxo. Eles são executados na Unidade de Processamento de Rede (NPU).

Entendendo o comportamento de processamento padrão para o tráfego IPv4

O modo de processamento baseado em fluxo é necessário para que recursos de segurança, como zonas, telas e políticas de firewall, funcionem. Para o processamento do modo de descarte, o tráfego é descartado diretamente, não é encaminhado. Ele difere do processamento em modo de pacote para o qual o tráfego é tratado, mas nenhum processo de segurança é aplicado.

Use o Explorador de Recursos para confirmar o suporte à plataforma e à versão para recursos específicos.

Examine a seção Noções básicas sobre o comportamento de processamento padrão do tráfego IPv4 para obter notas relacionadas à sua plataforma.

Configuring an SRX Series Device as a Border Router

Quando um firewall da Série SRX de qualquer tipo é habilitado para processamento baseado em fluxo ou modo de queda, para configurar o dispositivo como um roteador de borda, você deve mudar o modo para processamento baseado em pacotes para MPLS. Neste caso, para configurar o firewall da Série SRX para o modo de pacote para MPLS, use a set security forwarding-options family mpls mode packet-based declaração.

Comportamento do tráfego IPv4 específico da plataforma

Use o Explorador de Recursos para confirmar o suporte à plataforma e à versão para recursos específicos.

Use a tabela a seguir para analisar o comportamento específico da sua plataforma:

Plataforma

Diferença

Firewall da Série SRX

  • Nos dispositivos da Série SRX300 que oferecem suporte ao tráfego IPv4, você deve reiniciar o dispositivo ao alternar entre o modo de fluxo, o modo de pacote e o modo de queda.

    Para os dispositivos da Série SRX300 que oferecem suporte ao tráfego IPv4, o modo de processamento padrão é definido como modo de descarte devido a restrições de memória. Nesse caso, você deve reinicializar o dispositivo depois de alterar o modo de processamento do padrão do modo de descarte para o modo de processamento baseado em fluxo ou para o modo de processamento baseado em pacote, ou seja, entre os modos nesses dispositivos.

  • Nos dispositivos SRX4100, SRX4200, SRX5400, SRX5600, SRX5800 e Firewall virtual vSRX que oferecem suporte ao tráfego IPv4, você não precisa reinicializar o dispositivo ao alternar entre o modo de fluxo, o modo de pacote e o modo de descarte.

Entender o processamento de tráfego em dispositivos SRX320

Este tópico descreve o processo que os gateways de serviços SRX320 realizam para estabelecer uma sessão para pacotes pertencentes a um fluxo que transita pelo dispositivo. Os serviços de fluxo dos dispositivos SRX320 são de thread único e não distribuídos. Embora sejam diferentes dos outros firewalls da Série SRX nesse aspecto, o mesmo modelo de fluxo é seguido e a mesma interface de linha de comando (CLI) é implementada.

Para ilustrar o estabelecimento da sessão e a "caminhada" do pacote, incluindo os pontos em que os serviços são aplicados aos pacotes de um fluxo, o exemplo descrito nas seções a seguir usa o caso simples de uma sessão unicast:

Entendendo o processamento de fluxo e o gerenciamento de sessão

Este tópico explica como uma sessão é configurada para processar os pacotes que compõem um fluxo. No tópico a seguir, a SPU refere-se ao thread do plano de dados do Firewall SRX320.

No início, o thread do plano de dados busca o pacote e executa verificações básicas de sanidade nele. Em seguida, ele processa o pacote para filtros sem estado e classificadores CoS e aplica algumas telas.

Entender o processamento do primeiro pacote

Para determinar se um pacote pertence a um fluxo existente, o dispositivo tenta corresponder as informações do pacote às de uma sessão existente com base nos seis critérios de correspondência a seguir:

  • Endereço de origem

  • Endereço de destino

  • Porta de origem

  • Porta de destino

  • Protocolo

  • Token exclusivo de uma determinada zona e roteador virtual

A SPU verifica sua tabela de sessão para uma sessão existente para o pacote. Se nenhuma sessão existente for encontrada, a SPU configurará uma sessão para o fluxo. Se uma correspondência de sessão for encontrada, a sessão já foi criada, então a SPU executa o processamento de caminho rápido no pacote.

Noções básicas sobre a criação de sessão

Ao configurar a sessão, a SPU executa os seguintes serviços para o pacote:

  • Telas

  • Pesquisa de rota

  • Pesquisa de políticas

  • Pesquisa de serviço

  • NAT, se necessário

Depois que uma sessão é configurada, ela é usada para todos os pacotes pertencentes ao fluxo. Os pacotes de um fluxo são processados de acordo com os parâmetros de sua sessão. Para o restante das etapas envolvidas no processamento de pacotes, prossiga para a Etapa 1 em "Processamento de caminho rápido". Todos os pacotes passam por processamento rápido.

Noções básicas sobre o processamento rápido de caminhos

Se um pacote corresponder a uma sessão, o Junos OS executa o processamento de caminho rápido conforme descrito nas etapas a seguir. Depois que uma sessão foi configurada para o primeiro pacote em um fluxo, ele também passa por processamento rápido. Todos os pacotes passam por processamento rápido.

  1. A SPU aplica recursos de segurança baseados em fluxo ao pacote.

    • As telas configuradas são aplicadas.

    • Verificações de TCP são executadas.

    • Serviços de fluxo, como NAT, ALG e IPsec, são aplicados, se necessário.

  2. A SPU prepara o pacote para encaminhamento e o transmite.

    • Filtros de pacote de roteamento são aplicados.

    • A modelagem de tráfego é aplicada.

    • A priorização de tráfego é aplicada.

    • A programação de tráfego é aplicada.

    • O pacote é transmitido.

Entender o processamento de tráfego em dispositivos SRX4600

O firewall SRX4600 da Juniper Networks integra serviços de roteamento e segurança baseados em fluxo, incluindo segurança avançada e mitigação de ameaças e segurança tradicional de firewall stateful. A infraestrutura baseada em fluxo do Junos OS fornece a base e a estrutura para serviços baseados em aplicativos das Camadas 4 às Camadas 7. O firewall SRX4600 foi projetado para ser implantado como um firewall integrado na borda e no núcleo do data center de grandes empresas e na borda do campus. Ele também pode ser implantado como um gateway de segurança LTE e um firewall Gi/SGi.

Este tópico inclui o seguinte conteúdo:

Entender os cenários de implantação do firewall SRX4600 e seus recursos

O firewall SRX4600 pode ser implantado em muitas áreas para proteger seu ambiente e seus recursos. Ele é frequentemente usado para proteger a borda e o núcleo do data center das seguintes maneiras:

  • Implantação do firewall SRX4600 como um firewall de borda de data center

    Você pode implantar o firewall SRX4600 na borda do seu data center para fornecer proteção ideal aos aplicativos e serviços que ele hospeda. Cada data center tem um ponto de entrada para permitir que os clientes acessem os serviços do data center, mas agressores mal-intencionados podem aproveitá-lo para lançar ataques contra esses serviços. Uma grande quantidade de tráfego que entra no data center é tráfego de entrada da Internet. Só por esse motivo, é essencial implantar segurança robusta e multicamadas na borda do data center. O firewall SRX4600 bloqueia ataques de forma eficaz e confiável, e permite que você configure o sistema para impedir tipos específicos de ataques. O firewall SRX4600 oferece suporte à estrutura de rede segura definida por software (SDSN) da Juniper, incluindo a Juniper Advanced Threat Prevention Cloud (ATP Cloud), que é construída em torno de inteligência automatizada e acionável que pode ser compartilhada rapidamente para reconhecer e mitigar ameaças. A Figura 2 mostra o Firewall SRX4600 implantado na borda do data center em conjunto com um roteador MX480 e switches da Série EX.

    Figura 2: Implantação do firewall SRX4600 na borda Data center network architecture diagram showing data flow from the internet through MX480 router firewall, SRX Series L2L3 gateway, EX Series switches, to servers. do data center
  • Implantação do firewall SRX4600 no núcleo do data center

    Você pode implantar o firewall SRX4600 no núcleo do data center para fornecer segurança aprimorada e garantir que os requisitos de conformidade sejam atendidos. O processamento do data center tornou-se cada vez mais dinâmico, exigindo uma definição clara de rede e aplicação de requisitos de conformidade. Para garantir a conformidade, você pode usar o firewall SRX4600 para segmentar sua rede geral em redes de servidores individuais e proteger o tráfego dentro delas. O firewall SRX4600 oferece alta disponibilidade e automação, e seus serviços de Camada 3 e Camada 4 de alto desempenho atendem aos requisitos de segurança do núcleo do data center. A Figura 3 mostra o firewall SRX4600 implantado como um firewall de várias camadas no núcleo do data center.

    Figura 3: Implantação do firewall SRX4600 no núcleo do data center Diagram showing Data Center Core connected to SRX4600 Firewall, illustrating network architecture setup.

Além de seus recursos antimalware avançados, o firewall SRX4600 suporta os seguintes recursos:

  • Firewall com estado

  • Pacote de segurança de aplicativos

  • Segurança de conteúdo (Sophos AV, filtragem da Web, antispam)

  • IDP

  • Alta disponibilidade (chassi cluster)

    • Portas de controle de HA dupla (10G)

    • Suporte a MACsec para portas HA

  • Interfaces Ethernet através de QSFP28 (modos 100G/40G/4x10G), QSFP+ (modos 40G/4x10G) e SFP+ (modo 10G)

  • VPN IPsec, incluindo AutoVPN e VPN de grupo

  • QoS e serviços de rede

  • J-Web

  • Políticas de roteamento com multicast

Fundamentos de sessão e processamento baseado em fluxo

Para entender o processamento de fluxo no firewall SRX4600, é importante entender os fundamentos do fluxo.

Um fluxo é um fluxo de pacotes relacionados que atendem aos mesmos critérios de correspondência e compartilham as mesmas características. O Junos OS trata os pacotes que pertencem ao mesmo fluxo da mesma maneira. A arquitetura de um gateway de serviços da Série SRX e como ele lida com fluxos de pacotes são fortemente acopladas. Consequentemente, em parte, o fluxo é implementado de forma diferente em toda a família de firewalls da Série SRX devido às suas diferenças arquitetônicas.

O processamento de pacotes baseado em fluxo, que é stateful, requer a criação de sessões. As sessões são criadas com base no roteamento e em outras informações de classificação de tráfego para armazenar informações e alocar recursos para um fluxo. As sessões armazenam em cache informações sobre o estado do fluxo e armazenam a maioria das medidas de segurança a serem aplicadas aos pacotes do fluxo. Devido às diferenças de arquitetura entre os dispositivos, as sessões também são gerenciadas de forma diferente por dispositivos diferentes.

Independentemente dessas diferenças, conceitualmente o processo de fluxo é o mesmo em todos os gateways de serviços, e as sessões servem aos mesmos propósitos e têm os mesmos recursos.

Componentes subjacentes de fluxo e sessão implementados em firewalls da Série SRX

Os firewalls da Série SRX usam os mesmos componentes de infraestrutura para dar suporte ao fluxo e gerenciar sessões, mas nem todos os dispositivos implementam todos eles.

Para entender o fluxo, é essencial entender os seguintes componentes e como eles são usados:

  • A Unidade de processamento de serviços (SPU)

    Uma SPU gerencia a sessão para um fluxo de pacotes. Ele aplica recursos de segurança e outros serviços ao pacote. Ele também aplica filtros de firewall stateless baseados em pacotes, classificadores e modeladores de tráfego ao pacote.

  • O ponto central (CP)

    O ponto central é uma SPU que o sistema usa para alocar recursos e distribuir o gerenciamento de sessão entre as SPUs. Quando o primeiro pacote de um fluxo é processado, o ponto central determina qual SPU usar para a sessão desse pacote. O firewall SRX4600 não implementa um ponto central.

  • A unidade de processamento de rede (NPU) e a sessão de processamento de rede

    Uma NPU é um processador que é executado em uma placa de E/S (IOC) e processa pacotes discretamente. Quando um fluxo é criado, os pacotes subsequentes do fluxo são combinados com a sessão na NPU. A NPU lida com processamento adicional, como verificação de sequência TCP, processamento de vida útil (TTL) e tradução de cabeçalho de Camada 2. Uma NPU melhora o desempenho nessa medida em que o encaminhamento de pacotes extras entre uma SPU de sessão e uma SPU de hash é evitado. O firewall SRX4600 implementa uma NPU.

A arquitetura de fluxo do Firewall SRX4600 foi aprimorada para otimizar o uso dos processadores Xeon™ multi-core avançados do dispositivo SRX4600. O firewall SRX4600 implementa o uso de um thread de sessão dedicado para contornar problemas como o gerenciamento de pacotes fora de ordem em um fluxo. Ele utiliza a sessão de processamento de rede para garantir que os pacotes sejam encaminhados para o thread dedicado certo. Os pacotes são distribuídos para diferentes threads de acordo com o modelo de distribuição de sessão baseado em hash.

Entendendo o processamento de tráfego em dispositivos de linha SRX5000

Junos OS em SRX5000 dispositivos é um sistema distribuído, de processamento paralelo, de alto taxa de transferência e alto desempenho. A arquitetura de processamento paralelo distribuído da Linha SRX5000 de gateways de serviços inclui vários processadores para gerenciar sessões e executar segurança e outros processamentos de serviços. Essa arquitetura oferece maior flexibilidade e permite alta taxa de transferência e desempenho rápido.

Observação:

Nos dispositivos SRX1400, SRX3400, SRX3600, SRX5400, SRX5600 e SRX5800, as negociações de IKE envolvendo a passagem de NAT não funcionarão se o peer IKE estiver atrás de um dispositivo NAT que mudará o endereço IP de origem dos pacotes IKE durante a negociação. Por exemplo, se o dispositivo NAT estiver configurado com DIP, ele alterará o IP de origem porque o protocolo IKE alterna a porta UDP de 500 para 4500.

As placas de E/S (IOCs) e as placas de processamento de serviços (SPCs) nos dispositivos da Linha SRX5000 contêm unidades de processamento que processam um pacote à medida que ele atravessa o dispositivo. Um IOC tem uma ou mais NPUs (Unidades de Processamento de Rede) e um SPC tem uma ou mais SPUs (Unidades de Processamento de Serviços).

Essas unidades de processamento têm responsabilidades diferentes. Todos os serviços baseados em fluxo para um pacote são executados em uma única SPU. As responsabilidades dessas NPUs não são claramente delineadas em relação ao outro tipo de serviços que são executados nelas. .)

Por exemplo:

  • Uma NPU processa pacotes discretamente. Ele executa verificações de sanidade e aplica algumas telas configuradas para a interface, como telas de negação de serviço (DoS), ao pacote.

  • Uma SPU gerencia a sessão para o fluxo de pacotes e aplica recursos de segurança e outros serviços ao pacote. Ele também aplica filtros de firewall stateless baseados em pacotes, classificadores e modeladores de tráfego ao pacote.

  • Uma NPU encaminha um pacote para a SPU usando o algoritmo de hash. No entanto, para alguns aplicativos, como o ALG, o sistema precisará consultar o ponto central do aplicativo para determinar em qual SPU o pacote deve ser processado.

Essas partes discretas e cooperantes do sistema, incluindo o ponto central, armazenam as informações que identificam se existe uma sessão para um fluxo de pacotes e as informações com as quais um pacote é comparado para determinar se ele pertence a uma sessão existente.

Essa arquitetura permite que o dispositivo distribua o processamento de todas as sessões em várias SPUs. Ele também permite que uma NPU determine se existe uma sessão para um pacote, verifique o pacote e aplique telas ao pacote. A forma como um pacote é tratado depende se ele é o primeiro pacote em um fluxo.

As seções a seguir descrevem a arquitetura de processamento usando os dispositivos SRX5400, SRX5600 e SRX5800 como exemplo:

Entender o processamento do primeiro pacote

A Figura 4 ilustra o caminho que o primeiro pacote em um fluxo segue ao entrar no dispositivo — a NPU determina que não existe sessão para o pacote e a NPU envia o pacote ao ponto central distribuído para configurar uma sessão de ponto central distribuída. O ponto central distribuído envia uma mensagem ao ponto central do aplicativo para selecionar a SPU para configurar uma sessão para o pacote e processá-lo. O ponto central distribuído então envia o pacote para essa SPU. A SPU processa o pacote e o envia à NPU para transmissão do dispositivo. (Esta descrição de alto nível não aborda a aplicação de recursos a um pacote.)

Figura 4: Processamento Simplified flow diagram of packet processing: First Packet enters NPU, then SPU for security, interacts with DCP, APPCP for application logic, and final NPU. do primeiro pacote

Depois que o primeiro pacote em um fluxo atravessou o sistema e uma sessão foi estabelecida para ele, ele passa por um processamento rápido.

Os pacotes subsequentes no fluxo também passam por processamento rápido; nesse caso, depois que cada pacote entra na sessão e a NPU encontra uma correspondência para ele em sua tabela de sessão, a NPU encaminha o pacote para a SPU que gerencia sua sessão.

A Figura 5 ilustra o processamento de caminho rápido. Esse é o caminho que um pacote segue quando um fluxo já foi estabelecido para seus pacotes relacionados. (É também o caminho que o primeiro pacote em um fluxo segue após a sessão para o fluxo que o pacote iniciado foi configurado.) Depois que o pacote entra no dispositivo, a NPU encontra uma correspondência para o pacote em sua tabela de sessão e encaminha o pacote para a SPU que gerencia a sessão do pacote. Observe que o pacote ignora a interação com o ponto central.

Noções básicas sobre o processamento rápido de caminhos

A seção a seguir explica como uma sessão é criada e o processo pelo qual um pacote passa à medida que transita pelo dispositivo.

Figura 5: Processamento Simplified flow diagram of packet processing in a network system featuring APPCP, NPU, DCP, and SPU with dashed blue arrows indicating packet flow. de caminho rápido

Aqui está uma visão geral dos principais componentes envolvidos na configuração de uma sessão para um pacote e no processamento de pacotes de forma discreta e como parte de um fluxo à medida que transitam pelos dispositivos SRX5400, SRX5600 e SRX5800.

  • Unidades de processamento de rede (NPUs) — NPUs residem em IOCs. Eles lidam com a verificação de sanidade de pacotes e a aplicação de algumas telas. As NPUs mantêm tabelas de sessão que usam para determinar se existe uma sessão para um pacote de entrada ou para tráfego reverso.

    A tabela de sessão NPU contém uma entrada para uma sessão se a sessão for estabelecida em uma SPU para um pacote que havia entrado anteriormente no dispositivo por meio da interface e foi processado por essa NPU. A SPU instala a sessão na tabela NPU quando cria a sessão.

    Uma NPU determina se existe uma sessão para um pacote verificando as informações do pacote em relação à tabela de sessão. Se o pacote corresponder a uma sessão existente, a NPU enviará o pacote e os metadados para ele para a SPU. Se não houver sessão, as NPUs enviam o pacote para uma SPU que é calculada usando o algoritmo de hash.

  • Unidades de processamento de serviços (SPUs) — Os principais processadores dos dispositivos SRX5400, SRX5600 e SRX5800 residem em SPCs. As SPUs estabelecem e gerenciam fluxos de tráfego e realizam a maior parte do processamento de pacotes em um pacote à medida que ele transita pelo dispositivo. Cada SPU mantém uma tabela de hash para pesquisa rápida de sessão. A SPU aplica filtros de firewall stateless, classificadores e modeladores de tráfego ao tráfego. Uma SPU executa todo o processamento baseado em fluxo para um pacote e a maioria dos processamentos baseados em pacotes. Cada SPU multicore processa pacotes de forma independente, com interação mínima entre SPUs no mesmo SPC ou em um SPC diferente. Todos os pacotes que pertencem ao mesmo fluxo são processados pela mesma SPU.

    A SPU mantém uma tabela de sessão com entradas para todas as sessões que estabeleceu e cujos pacotes processa. Quando uma SPU recebe um pacote de uma NPU, ela verifica sua tabela de sessão para garantir que o pacote pertença a ela. Ele também verifica sua tabela de sessão quando recebe um pacote do ponto central distribuído e envia uma mensagem para estabelecer uma sessão para esse pacote para verificar se não há uma sessão existente para o pacote.

  • Ponto central — A arquitetura do ponto central é dividida em dois módulos, o ponto central do aplicativo e o ponto central distribuído. O ponto central do aplicativo é responsável pelo gerenciamento global de recursos e balanceamento de carga, enquanto o ponto central distribuído é responsável pela identificação do tráfego (correspondência de sessão global). A funcionalidade de ponto central do aplicativo é executada na SPU de ponto central dedicada, enquanto a funcionalidade de ponto central distribuída é distribuída para o restante das SPUs. Agora, as sessões de ponto central não estão mais na SPU de ponto central dedicada, mas com o ponto central distribuído em outras SPUs de fluxo.

  • Mecanismo de Roteamento — O Mecanismo de Roteamento executa o plano de controle.

Entendendo o caminho de dados para sessões unicast

Esta seção descreve o processo de estabelecer uma sessão para pacotes pertencentes a um fluxo que transita pelo dispositivo.

Para ilustrar o estabelecimento da sessão e a "caminhada" do pacote, incluindo os pontos em que os serviços são aplicados aos pacotes em um fluxo, este exemplo usa o caso simples de uma sessão unicast.

Essa "caminhada" de pacotes reúne o processamento baseado em pacotes e o processamento baseado em fluxo que o Junos OS executa no pacote.

Critérios de pesquisa de sessão e correspondência de pacotes

Para determinar se um pacote pertence a um fluxo existente, o dispositivo tenta corresponder as informações do pacote às de uma sessão existente com base nos seis critérios de correspondência a seguir:

  • Endereço de origem

  • Endereço de destino

  • Porta de origem

  • Porta de destino

  • Protocolo

  • Token exclusivo de uma determinada zona e roteador virtual

Entendendo a criação de sessão: processamento de primeiro pacote

Esta seção explica como uma sessão é configurada para processar os pacotes que compõem um fluxo. Para ilustrar o processo, esta seção usa um exemplo com uma origem "a" e um destino "b". A direção da origem ao destino para os pacotes do fluxo é chamada de (a ->b). A direção do destino à origem é chamada de (b->a).

Etapa 1. Um pacote chega a uma interface no dispositivo e a NPU o processa.

Esta seção descreve como um pacote é tratado quando chega a um IOC de entrada do Firewall da Série SRX.

  1. O pacote chega ao IOC do dispositivo e é processado pela NPU no IOC.

  2. A NPU executa verificações básicas de sanidade no pacote e aplica algumas telas configuradas para a interface ao pacote.

  3. A NPU verifica sua tabela de sessão para uma sessão existente para o pacote. (Ele verifica a tupla do pacote em relação às dos pacotes para sessões existentes em sua tabela de sessão.)

    1. Se nenhuma sessão existente for encontrada, a NPU encaminhará o pacote para a SPU de hash.

    2. Se uma correspondência de sessão for encontrada, a sessão já foi criada em uma SPU que foi atribuída a ela, então a NPU encaminha o pacote para a SPU para processamento junto com o ID da sessão.

Example: O pacote (a ->b) chega ao NPU1. O NPU1 executa verificações de sanidade e aplica telas de DoS ao pacote. O NPU1 verifica sua tabela de sessão em busca de uma correspondência de tupla e nenhuma sessão existente é encontrada. O NPU1 encaminha o pacote para uma SPU.

Etapa 2. O ponto central distribuído cria uma sessão com um estado "pendente".

Quando uma NPU recebe um pacote, a NPU o envia para o ponto central distribuído, com base no algoritmo de hash. O ponto central distribuído então procura a tabela de sessão do ponto central distribuído e cria uma entrada, se necessário.

Este processo envolve as seguintes partes:

  1. O ponto central distribuído verifica sua tabela de sessão para determinar se existe uma sessão para o pacote recebido da NPU. (Uma NPU encaminha um pacote para o ponto central distribuído porque não consegue encontrar uma sessão existente para o pacote)

  2. Se não houver nenhuma entrada que corresponda ao pacote na tabela de sessão de ponto central distribuído, o ponto central distribuído criará uma ala pendente para a sessão. O ponto central distribuído envia uma mensagem de consulta ao ponto central do aplicativo para selecionar uma SPU a ser usada para a sessão.

  3. Ao receber a mensagem de consulta, o ponto central do aplicativo verifica sua tabela de portas para determinar se existe uma porta para o pacote. Se uma porta for correspondida ou algum outro algoritmo de distribuição de sessão for acionado, o ponto central do aplicativo selecionará outra SPU para processar o pacote; caso contrário, a SPU (ou seja, a SPU de ponto central distribuída) será selecionada. Por fim, o ponto central do aplicativo envia uma resposta de consulta ao ponto central distribuído.

  4. Ao receber a resposta da consulta, o ponto central distribuído encaminha o primeiro pacote em fluxo para a SPU selecionada em uma mensagem direcionando a SPU a configurar uma sessão localmente a ser usada para o fluxo de pacotes. Por exemplo, o ponto central distribuído cria uma ala pendente (um ->b) para a sessão. O ponto central do aplicativo seleciona SPU1 para ser usado para ele. O ponto central distribuído envia ao SPU1 o pacote (a->b) junto com uma mensagem para criar uma sessão para o ponto central distribuído.

Example: O ponto central distribuído cria uma ala pendente (a ->b) para a sessão. Ele seleciona SPU1 para ser usado para ele. Ele envia ao SPU1 o pacote (a->b) junto com uma mensagem para criar uma sessão para ele.

Etapa 3. A SPU configura a sessão.

Cada SPU também tem uma tabela de sessão, que contém informações sobre suas sessões. Quando a SPU recebe uma mensagem do ponto central distribuído para configurar uma sessão, ela verifica sua tabela de sessão para garantir que ainda não exista uma sessão para o pacote.

  1. Se não houver uma sessão existente para o pacote, a SPU configurará a sessão localmente.

  2. A SPU envia uma mensagem ao ponto central distribuído direcionando-o para instalar a sessão.

    Observação:

    Durante o processamento do primeiro pacote, se o NAT estiver habilitado, a SPU alocará recursos de endereço IP para o NAT. Nesse caso, o processamento do primeiro pacote para a sessão é suspenso até que o processo de alocação de NAT seja concluído.

A SPU adiciona à fila todos os pacotes adicionais para o fluxo que ela pode receber até que a sessão seja instalada.

Example: O SPU1 cria a sessão para (a ->b) e envia uma mensagem de volta ao ponto central distribuído direcionando-o para instalar a sessão pendente.

Etapa 4. O ponto central distribuído instala a sessão.

O ponto central distribuído recebe a mensagem de instalação da SPU.

  1. O ponto central distribuído define o estado da asa pendente da sessão como ativo.

  2. O ponto central distribuído instala a asa reversa para a sessão como uma asa ativa.

    Observação:

    Para alguns casos, como o NAT, a asa reversa pode ser instalada em um ponto central distribuído diferente do ponto central distribuído da asa inicial.

  3. Ele envia uma mensagem de confirmação (ACK) para a SPU, indicando que a sessão está instalada.

Example: O ponto central distribuído recebe uma mensagem da SPU1 para instalar a sessão para a ala (a->b). Ele define o estado da sessão para a asa (a->b) como ativa. Ele instala a asa reversa (b->a) para a sessão e a torna ativa; Isso permite a entrega de pacotes da direção inversa do fluxo: destino (B) a ser entregue à fonte (A).

Etapa 5. A SPU configura a sessão nas NPUs de entrada e saída.

As NPUs mantêm informações sobre uma sessão para encaminhamento e entrega de pacotes. As informações de sessão são configuradas nas NPUs de saída e entrada (que às vezes são as mesmas) para que os pacotes possam ser enviados diretamente para a SPU que gerencia seus fluxos e não para o ponto central distribuído para redirecionamento.

Etapa 6. O processamento rápido ocorre.

Para o restante das etapas envolvidas no processamento de pacotes, vá para a Etapa 1 em Noções Básicas Sobre o Processamento de Caminho Rápido.

A Figura 6 ilustra a primeira parte do processo pelo qual o primeiro pacote em um fluxo passa depois de atingir o dispositivo. Neste ponto, uma sessão é configurada para processar o pacote e o restante dos pacotes pertencentes ao seu fluxo. Posteriormente, ele e o restante dos pacotes no fluxo passam por processamento rápido.

Figura 6: Criação de sessão: processamento Sequence diagram showing network system flow: Ingress IOC for packet entry, HASH SPU for hashing and CP session creation, SESS SPU for session management, CP for session facilitation, and Egress IOC for packet exit. do primeiro pacote

Noções básicas sobre o processamento rápido de caminhos

Todos os pacotes passam por processamento rápido. No entanto, se existir uma sessão para um pacote, o pacote passará por processamento rápido e ignorará o processo do primeiro pacote. Quando já existe uma sessão para o fluxo do pacote, o pacote não transita pelo ponto central.

Veja como o processamento rápido de caminhos funciona: As NPUs nas interfaces de saída e entrada contêm tabelas de sessão que incluem a identificação da SPU que gerencia o fluxo de um pacote. Como as NPUs têm essas informações de sessão, todo o tráfego do fluxo, incluindo o tráfego reverso, é enviado diretamente para essa SPU para processamento.

Para ilustrar o processo de caminho rápido, esta seção usa um exemplo com uma origem "a" e um destino "b". A direção da origem ao destino para os pacotes do fluxo é chamada de (a->b). A direção do destino à origem é chamada de (b->a).

Etapa 1. Um pacote chega ao dispositivo e a NPU o processa.

Esta seção descreve como um pacote é tratado quando chega ao IOC de um gateway de serviços.

  1. O pacote chega ao IOC do dispositivo e é processado pela NPU na placa.

    A NPU executa verificações de sanidade e aplica algumas telas, como telas de negação de serviço (DoS), ao pacote.

  2. A NPU identifica uma entrada para uma sessão existente em sua tabela de sessão que o pacote corresponde.

  3. A NPU encaminha o pacote junto com os metadados de sua tabela de sessão, incluindo o ID da sessão e as informações de tupla do pacote, para a SPU que gerencia a sessão do fluxo, aplica filtros de firewall stateless e recursos de CoS a seus pacotes e lida com o processamento do fluxo do pacote e a aplicação de segurança e outros recursos.

Example: O pacote (a ->b) chega ao NPU1. O NPU1 executa verificações de sanidade no pacote, aplica telas de DoS a ele e verifica sua tabela de sessão em busca de uma correspondência de tupla. Ele encontra uma correspondência e que existe uma sessão para o pacote no SPU1. O NPU1 encaminha o pacote para a SPU1 para processamento.

Etapa 2. A SPU da sessão processa o pacote.

A maior parte do processamento de um pacote ocorre na SPU à qual sua sessão é atribuída. O pacote é processado para recursos baseados em pacotes, como filtros de firewall stateless, modeladores de tráfego e classificadores, se aplicável. A segurança baseada em fluxo configurada e os serviços relacionados, como recursos de firewall, NAT, ALGs e assim por diante, são aplicados ao pacote. (Para obter informações sobre como os serviços de segurança são determinados para uma sessão.

  1. Antes de processar o pacote, a SPU verifica sua tabela de sessão para verificar se o pacote pertence a uma de suas sessões.

  2. A SPU processa o pacote para os recursos e serviços aplicáveis.

Example: O SPU1 recebe o pacote (a->b) do NPU1. O SPU1 verifica sua tabela de sessão para verificar se o pacote pertence a uma de suas sessões. Em seguida, ele processa o pacote (a ->b) de acordo com os filtros de entrada e CoS recursos que se aplicam à sua interface de entrada. A SPU aplica os recursos e serviços de segurança configurados para o fluxo do pacote, com base em sua zona e políticas. Se algum estiver configurado, ele aplica filtros de saída, modeladores de tráfego e telas adicionais ao pacote.

Etapa 3. A SPU encaminha o pacote para a NPU.
  1. A SPU encaminha o pacote para a NPU.

  2. A NPU aplica todas as telas aplicáveis associadas à interface ao pacote.

Example: O SPU1 encaminha o pacote (a ->b) para o NPU2 e o NPU2 aplica DoS telas.

Etapa 4. A interface transmite o pacote do dispositivo.

Example: A interface transmite o pacote (a->b) do dispositivo.

Etapa 5. Um pacote de tráfego reverso chega à interface de saída e a NPU o processa.

Esta etapa reflete a Etapa 1 exatamente ao contrário. Consulte a Etapa 1 nesta seção para obter detalhes.

Example: O pacote (b->a) chega ao NPU2. O NPU2 verifica se há uma correspondência de tupla em sua tabela de sessão. Ele encontra uma correspondência e que existe uma sessão para o pacote no SPU1. O NPU2 encaminha o pacote para a SPU1 para processamento.

Etapa 6. A SPU da sessão processa o pacote de tráfego reverso.

Essa etapa é igual à Etapa 2, exceto que se aplica ao tráfego reverso. Consulte a Etapa 2 desta seção para obter detalhes.

Example: O SPU1 recebe o pacote (b->a) do NPU2. Ele verifica sua tabela de sessão para verificar se o pacote pertence à sessão identificada pelo NPU2. Em seguida, ele aplica recursos baseados em pacotes configurados para a interface do NPU1 ao pacote. Ele processa o pacote (b->a) de acordo com os recursos de segurança e outros serviços configurados para seu fluxo, com base em sua zona e políticas.

Etapa 7. A SPU encaminha o pacote de tráfego reverso para a NPU.

Esta etapa é a mesma que a Etapa 3, exceto que se aplica ao tráfego reverso. Consulte a Etapa 3 nesta seção para obter detalhes.

Example: O SPU1 encaminha o pacote (b->a) para NPU1. O NPU1 processa todas as telas configuradas para a interface.

8. A interface transmite o pacote do dispositivo.

Esta etapa é a mesma que a Etapa 4, exceto que se aplica ao tráfego reverso. Consulte a Etapa 4 nesta seção para obter detalhes.

Exemplo: A interface transmite o pacote (b->a) do dispositivo.

A Figura 7 ilustra o processo pelo qual um pacote passa quando chega ao dispositivo e existe uma sessão para o fluxo ao qual o pacote pertence.

Figura 7: Caminhada de pacotes para processamento Packet Walk for Fast-Path Processing rápido de caminho

Entendendo as unidades de processamento de serviços

Para uma determinada interface física, a SPU recebe pacotes de entrada de todos os processadores de rede no pacote de processadores de rede associados à interface física. A SPU extrai informações de pacote do processador de rede da interface física e usa o mesmo algoritmo de hash de 5 tuplas para mapear um fluxo para um índice de processador de rede. Para determinar o processador de rede, a SPU faz uma pesquisa no índice do processador de rede no pacote do processador de rede. A SPU envia pacotes de saída para o Módulo de Interface Física (PIM) local da interface física para o tráfego de saída.

Observação:

O processador de rede e a SPU usam o mesmo algoritmo de hash de 5 tuplas para obter os valores de hash dos pacotes.

Noções básicas sobre as características do agendador

Para dispositivos SRX5400, SRX5600 e SRX5800, o IOC oferece suporte às seguintes características do agendador hierárquico:

  • IFL – A configuração do pacote do processador de rede é armazenada na estrutura de dados da interface física. Por exemplo, os dispositivos SRX5400, SRX5600 e SRX5800 têm no máximo 48 PIMs. A interface física pode usar uma máscara de bits de 48 bits para indicar o PIM ou o tráfego do processador de rede dessa interface física é distribuído além do processador de rede primário da interface física.

    Nos dispositivos da Linha SRX5000, a funcionalidade iflset não é compatível com interfaces agregadas, como reth.

  • IFD – a interface lógica associada à interface física de um pacote de processador de rede é passada para todos os IOCs que têm um PIM no pacote de processador de rede.

Entendendo o agrupamento do processador de rede

O recurso de empacotamento do processador de rede está disponível nos dispositivos da Linha SRX5000. Esse recurso permite a distribuição do tráfego de dados de uma interface para vários processadores de rede para processamento de pacotes. Um processador de rede primário é atribuído a uma interface que recebe o tráfego de entrada e distribui os pacotes para vários outros processadores de rede secundários. Um único processador de rede pode atuar como um processador de rede primário ou como um processador de rede secundário para várias interfaces. Um único processador de rede pode ingressar em apenas um pacote de processadores de rede.

Limitações de empacotamento do processador de rede

A funcionalidade de empacotamento do processador de rede tem as seguintes limitações:

  • O pacote de processadores de rede permite um total de 16 PIMs por pacote e 8 sistemas diferentes de pacotes de processadores de rede.

  • Você precisa reinicializar o dispositivo para aplicar as alterações de configuração no pacote.

  • O empacotamento do processador de rede está abaixo da interface reth na arquitetura geral. Você pode escolher uma ou ambas as interfaces do pacote do processador de rede para formar a interface reth.

  • Se o IOC for removido de um pacote de processadores de rede, os pacotes encaminhados para o PIM nesse IOC serão perdidos.

  • Quando o pacote do processador de rede está habilitado, os limites de inundação de sincronização ICMP, UDP e TCP não se aplicam mais a uma interface. Os pacotes são distribuídos a vários processadores de rede para processamento. Esses limites se aplicam a cada processador de rede no pacote de processadores de rede.

  • O pacote do processador de rede não é suportado no modo de Camada 2.

  • Devido a restrições de memória no processador de rede, o número de portas empacotadas do processador de rede com suporte por PIM é limitado. Dentro do pacote de processadores de rede, cada porta precisa ter um índice de porta global. O índice global de portas é calculado usando a seguinte fórmula:

    Global_port_index = (global_pic * 16) + port_offset

  • Grupos de agregação de enlaces (LAGs) e LAGs redundantes de interface Ethernet em implementações de cluster de chassis podem coexistir com o agrupamento de processadores de rede. No entanto, nem os LAGs nem os LAGs redundantes de interface Ethernet podem sobrepor-se ou partilhar ligações físicas com um pacote de processadores de rede.

Noções básicas sobre cache de sessão

Visão geral

O SRX5K-MPC (IOC2), SRX5K-MPC3-100G10G (IOC3) e SRX5K-MPC3-40G10G (IOC3) nos dispositivos SRX5400, SRX5600 e SRX5800 oferecem suporte ao cache de sessão e à instalação seletiva do cache de sessão.

O cache de sessão é usado para armazenar em cache uma conversa entre o processador de rede (NP) e a SPU em um IOC. Uma conversa pode ser uma sessão, tráfego de túnel GTP-U, tráfego de túnel VPN IPsec e assim por diante. Uma conversa tem duas entradas de cache de sessão, uma para tráfego de entrada e outra para tráfego reverso. Dependendo de onde estão as portas de entrada e saída de tráfego, duas entradas podem residir no mesmo processador de rede ou em processadores de rede diferentes. Os IOCs oferecem suporte ao cache de sessão para sessões IPv6.

Uma entrada de cache de sessão também é chamada de asa de sessão.

O cache de sessão no IOC aproveita a funcionalidade Express Path (anteriormente conhecida como descarregamento de serviços) e ajuda a evitar problemas como alta latência e queda de desempenho de IPsec.

Uma entrada de cache de sessão registra:

  • Para qual SPU o tráfego da conversão deve ser encaminhado

  • Para qual porta de saída o tráfego da conversão deve ser encaminhado no modo Express Path

  • Qual processamento fazer para tráfego de saída, por exemplo, tradução de NAT no modo Express Path

Outro tráfego foi hash para SPUs com base em suas informações de chave de 5 tuplas. O tráfego VPN empregou o conceito de SPU ancorada, que não coincidiu necessariamente com as funções da SPU de fluxo. O processador de rede só podia encaminhar os pacotes para a SPU de fluxo com base no hash de 5 tuplas. A SPU de fluxo então encaminhou o pacote para a SPU ancorada. Isso criou um salto extra para o tráfego de VPN, o que desperdiçou a largura de banda da malha de switches e reduziu a taxa de transferência da VPN aproximadamente pela metade. Essa redução de desempenho ocorreu porque o tráfego ainda precisava voltar para a SPU de fluxo após o processamento na SPU ancorada.

A tabela de cache de sessão agora é estendida no IOC para dar suporte às sessões NP. O tráfego Express Path e o tráfego NP compartilham a mesma tabela de cache de sessão em IOCs. O tráfego do Express Path é encaminhado pelo próprio IOC localmente ou para outro IOC, porque o tráfego não requer nenhum serviço da SPU. O tráfego NP é encaminhado para a SPU especificada no cache de sessão para processamento posterior. Todas as entradas de cache de sessão são compartilhadas pelo tráfego de sessão do Express Path e pelo tráfego NP.

Para habilitar o cache de sessão nos IOCs, você precisa executar o set chassis fpc <fpc-slot> np-cache comando.

Observação:

O IOC2 e o IOC3 utilizam o mecanismo de exclusão de sessões de atraso. As mesmas sessões (sessões com as mesmas cinco tuplas) que são excluídas e reinstaladas imediatamente não são armazenadas em cache nos IOCs.

Instalação de cache de sessão seletiva

Para evitar a alta latência, melhorar o desempenho do IPSec e utilizar melhor os recursos valiosos, certos mecanismos de prioridade são aplicados ao módulo de fluxo e ao IOC.

Os IOCs mantêm e monitoram os níveis de limite de uso do cache de sessão. Os IOCs também comunicam o uso do cache de sessão à SPU, de modo que, quando um determinado limite de uso do cache de sessão for atingido, a SPU enviará apenas solicitações de instalação de cache de sessão para sessões de tráfego seletivo de alta prioridade.

Aplicativos como IDP, ALG precisam processar pacotes em ordem. Uma SPU tem vários threads de fluxo para lidar com pacotes pertencentes a uma sessão, o thread de balanceamento de carga (LBT) e o thread de pedido de pacotes (POT) podem garantir que o tráfego passe pelo firewall em ordem, não pode garantir que o aplicativo processe pacotes que pertencem à mesma sessão em ordem. A serialização de fluxo fornece o método de que apenas um pacote de processamento de thread de fluxo SPU pertence à mesma sessão por vez, para que os aplicativos possam receber, processar e enviar pacotes em ordem. Outros threads de fluxo podem fazer o processamento de serialização de fluxo para outras sessões ao mesmo tempo.

Os quatro níveis de prioridade a seguir são usados para determinar qual tipo de tráfego pode instalar o cache de sessão nos IOCs:

  • Priority 1 (P1)— tráfego qualificado IPSec e Express Path

  • Priority 2 (P2)— Ordenação de fragmentação

  • Priority 3 (P3)— tráfego de tráfego NAT/SZ (serialização de sessão)

  • Priority 4(P3)— Todos os outros tipos de tráfego

Os IOCs mantêm e monitoram os níveis de limite para o uso do cache de sessão e atualizam o uso atual do cache de sessão em tempo real para a SPU. A SPU solicita que o IOC instale o cache de sessão para determinadas sessões de tráfego de alta prioridade. O uso do cache de sessão para sessões de tráfego de alta prioridade é definido na tabela:

Tabela 1: Barras de instalação do cache de sessão

Tipo de tráfego

0% < utilização < 25%

25% < utilização < 50%

50% < utilização < 75%

75% < utilização < 100%

Tráfego IPsec e Express Path

Sim

Sim

Sim

Sim

Fragmentação Ordenação de tráfego

Sim

Sim

Sim

Não

Tráfego NAT/SZ

Sim

Sim

Não

Não

Outro tráfego

Sim

Não

Não

Não

Para conservar entradas de sessão no IOC, o módulo de fluxo instala seletivamente sessões no IOC. Para facilitar a seleção de instalação da sessão, o IOC mantém os limites correspondentes para fornecer uma indicação ao módulo de fluxo (sobre o quão cheia a tabela de cache de sessão está nos IOCs). Dois bits no metacabeçalho são adicionados para indicar o status atual de utilização da tabela de cache. Todos os pacotes que vão para a SPU transportarão esses dois bits de status para informar o módulo de fluxo sobre a utilização da tabela de cache no IOC.

Aprimoramento da afinidade de sessão da VPN IPsec usando o cache de sessão

Os firewalls da Série SRX são sistemas totalmente distribuídos, e um túnel IPsec é alocado e ancorado em uma SPU específica. Todo o tráfego que pertence a um túnel IPsec é criptografado e descriptografado em sua SPU ancorada no túnel. Para obter um melhor desempenho de IPsec, o IOC melhora o módulo de fluxo para criar sessões para tráfego baseado em túnel IPsec (antes da criptografia e após a descriptografia) em sua SPU ancorada em túnel e instala o cache de sessão para as sessões para que o IOC possa redirecionar os pacotes diretamente para a mesma SPU para minimizar a sobrecarga de encaminhamento de pacotes. O tráfego Express Path e o tráfego NP compartilham a mesma tabela de cache de sessão em IOCs.

Você precisa habilitar o cache de sessão nos IOCs e definir a política de segurança para determinar se uma sessão é para o modo Express Path (anteriormente conhecido como descarregamento de serviços) no Concentrador PIC Flexível (FPC) selecionado.

Para habilitar a afinidade VPN IPsec, use o set security flow load-distribution session-affinity ipsec comando.

Observação:

Para habilitar a afinidade VPN IPsec, você também deve habilitar o cache de sessão em IOCs usando o set chassis fpc <fpc-slot> np-cache comando.

Ordenação de pacotes de fragmentação usando cache de sessão NP

Uma sessão pode consistir em pacotes normais e fragmentados. Com a distribuição baseada em hash, a chave de 5 tuplas e 3 tuplas pode ser usada para distribuir pacotes normais e fragmentados para diferentes SPUs, respectivamente. Nos firewalls da Série SRX, todos os pacotes da sessão são encaminhados para uma SPU de processamento. Devido à latência de encaminhamento e processamento, a SPU de processamento pode não garantir a ordenação de pacotes da sessão.

O cache de sessão nos IOCs garante a ordenação dos pacotes de uma sessão com pacotes fragmentados. Uma entrada de cache de sessão é alocada para pacotes normais da sessão e uma chave de 3 tuplas é usada para localizar os pacotes fragmentados. Ao receber o primeiro pacote fragmentado da sessão, o módulo de fluxo permite que o IOC atualize a entrada de cache de sessão para lembrar os pacotes fragmentados da SPU. Posteriormente, o IOC encaminha todos os pacotes subseqüentes da sessão para a SPU para garantir a ordenação dos pacotes de uma sessão com pacotes fragmentados.

Configurando o mapeamento de IOC para NPC

Um mapeamento de placa de entrada/saída (IOC) para placa de processamento de rede (NPC) requer que você mapeie uma IOC para um NPC. No entanto, você pode mapear vários IOCs para um único NPC. Para equilibrar a potência de processamento no NPC nos gateways de serviços SRX3400 e SRX3600, o processo de chassi (daemon) executa um algoritmo que realiza o mapeamento. Ele mapeia um IOC para um NPC que tem a menor quantidade de IOCs mapeados para ele. Você também pode usar a interface de linha de comando (CLI) para atribuir um IOC específico a um NPC específico. Quando você configura o mapeamento, o processo do chassi primeiro usará sua configuração e, em seguida, aplicará o algoritmo NPC de menor número para o restante dos IOCs.

Observação:

O suporte à plataforma depende da versão do Junos OS em sua instalação.

Para configurar o mapeamento de IOC para NPC:

Observação:

Você deve reiniciar o controle do chassi depois de confirmar o set chassis ioc-npc-connectivity comando.

Entendendo o processamento de fluxo em dispositivos SRX5K-SPC3

A placa de processamento de serviços SRX5K-SPC3 é introduzida para melhorar o desempenho dos serviços de segurança no gateway de serviços de segurança SRX5000. A placa SPC3 oferece suporte a uma maior taxa de transferência e mantém sua confiabilidade, pois preserva a funcionalidade e a escalabilidade do cluster do chassi para o processamento de serviços.

A placa SPC3 oferece suporte para os seguintes recursos de segurança:

O fluxo de segurança foi aprimorado para oferecer suporte à placa SPC3 com todos os recursos de segurança existentes suportados na placa SPC2.

Observação:

As seguintes limitações se aplicam à placa SPC3 no Junos OS Release 18.2R1-S1:

  • A interoperabilidade da placa SPC3 e da placa SPC2 não é suportada.

  • A funcionalidade VPN IPsec não é suportada com a placa SPC3.

Nos dispositivos da Linha SRX5000, a placa SPC3 interopera com placas de E/S (IOC2, IOC3), Placa de controle de switches (SCB2, SCB3), mecanismos de roteamento e placas SPC2.

A partir do Junos OS Release 18.4R1, uma combinação de placas SPC3 e SPC2 é suportada em dispositivos da Linha SRX5000.

Se você estiver adicionando as placas SPC3 na linha SRX5000 de dispositivos, a nova placa SPC3 deverá ser instalada no slot de menor número de qualquer SPC. A placa SPC3 instalada no slot original de menor número e fornece a funcionalidade de ponto central (CP) no modo misto. Por exemplo, se o gateway de serviços contiver uma combinação de placas SPC2 e SPC3, um SPC3 deverá ocupar o slot de menor número de qualquer SPC no chassi. Essa configuração garante que a funcionalidade de ponto central (CP) no modo misto seja executada pela placa SPC3.

Nos dispositivos da linha SRX5000 que operam em modo misto, o processamento de fluxo é compartilhado entre as placas SPC3 e SPC2. O processamento do ponto central ocorre no slot SPC de menor número para o qual uma placa SPC3 está instalada.

Observação:

Quando os firewalls da Série SRX estão operando em um modo de cluster de chassi, as placas SPC3 e SPC2 devem ser instaladas nos mesmos locais de slot em cada chassi.

Entendendo a arquitetura de software SPC3

A arquitetura de fluxo SPC3 é a mesma que a arquitetura CP-Lite. O SPC3 tem fisicamente duas unidades de processamento de serviços (SPU) e cada SPU tem duas CPUs.

Quando você instala um ou dois SPC3s, o processamento de tráfego utiliza 75% do primeiro SPC. Quando você instala três ou mais SPC3s, o processamento de tráfego utiliza 50% do primeiro SPC.

A maneira como o IOC faz o hash dos pacotes para processar o fluxo é alterada. A figura mostra o fluxo de pacotes do firewall da Série SRX com SPC3.

Figura 8: Fluxo de pacotes no SPC3 Schematic diagram of a system with two SPUs: SPU1 with CPU1 and CPU2; SPU2 with CPU3 and CPU4.

No SPC3, os pacotes são distribuídos do IOC para cada núcleo diretamente. Como o IOC faz hash diretamente dos pacotes para o thread RT fluído, o thread LBT original é removido. Os pacotes agora são entregues ao thread fluído em vez da SPU. Se o fluxo de segurança instalar sessões NP, em vez da ID da SPU, a ID do thread da sessão será usada pelo IOC para encaminhar pacotes para corrigir a associação do thread com a sessão.

Figura 9: Fluxo de pacotes através de thread Diagram of a system architecture showing blue IOC blocks on sides and green FLOWD RT Threads in middle with SPC3 label at bottom and arrows indicating data flow. fluído

Entendendo a distribuição de carga

Todos os pacotes que passam por uma porta de receita serão distribuídos para diferentes SPUs com base no algoritmo de hash, que é o mesmo que o hash existente dos dispositivos da Linha SRX5000 com base na arquitetura CP-Lite. O método de hash varia para diferentes tipos de tráfego. A tabela abaixo lista os métodos de hash.

Tabela 2: Distribuição de carga - Métodos de hash

Protocolo

Portas

Método de hash

TCP

Porta L4 src e porta dst

Hash por 5 tuplas

UDP

Normal

Porta L4 src e porta dst

Hash por 5 tuplas

GTP

Porta L4 src e porta dst

Hash por 5 tuplas

IKE

Porta L4 src e porta dst

Hash por par de IP

ICMP

  1. Mensagem informativa ICMP versão 4 ICMP_ECHO/ICM_ECHOREPLY id/seq ICMP_TSTAMP/ICMP_TSTAMPREPLY id/seq ICMP_IREQ/ICMP_IREQREPLY id/seq ICMP_MASKREQ/ICMP_MASKREPLY 0x00010001

  2. Mensagem de informações do ICMP versão 6 ICMP6_ECHO_REPLY/ICMP6_ECHO_REQUEST id/seq

  3. Mensagem de erro ICMP Correspondência por IP incorporado

  4. Todos os outros 0x00010001

As informações ICMP são hash por 5 tuplas;

O erro ICMP é hash por 3-tupla (sem informações de portas)

SCTP

Porta L4 src e porta dst

Hash por 5 tuplas

ESP

SPI

Hash por par de IP

AH

SPI

Hash por par de IP

GRE

Se o PPTP alg estiver habilitado, sport = call id; dport = 0

Por padrão, a porta é 0x00010001

Hash por 3-tupla

PIM

Por padrão, as portas PIM 0x00010001

Hash por 3-tupla

FRAGMENTO

O primeiro fragmento tem as portas normais

Nenhum primeiro fragmento, sem portas

Hash por 3-tupla

Outro pacote IP

Portas 0x00010001

Hash por 3-tupla

NENHUM IP

Não aplicável

Hash por endereço Mac e tipo de Ethernet (ID da VLAN)

Entendendo a sessão NP e o descarregamento de serviço (SOF)

A sessão do processador de rede (NP) é uma sessão baseada em IOC que permite e estabelece as sessões de SPU. Os pacotes que passam pela sessão NP têm as seguintes vantagens:

  • Evita a pesquisa de sessão na SPU para obter um melhor desempenho.

  • Evita o encaminhamento de pacotes extras entre a SPU de sessão e a SPU de hash.

O descarregamento de serviço é um tipo especial de sessão NP para fornecer recurso de baixa latência para sessões que precisam de serviço básico de firewall. Os pacotes que atingem a sessão SOF em um IOC ignoram o processamento de pacotes na SPU e são encaminhados diretamente pelo IOC. Os seguintes tipos de tráfego oferecem suporte ao descarregamento de serviços:

  • Firewall básico (sem plug-in e fragmentos), IPv4 e IPv6 TCP, tráfego UDP

  • IPv4 NAT

  • 1Fan-in e 1Fan-out Multicast

  • ALGs, como sessão de dados FTP

Compreender o suporte ao J-Flow no SPC3

O J-Flow é a versão da Juniper do mecanismo de monitoramento de tráfego padrão do setor. Ele fornece um recurso para exportar instantâneos de estatísticas de tráfego de rede para o servidor remoto para monitoramento de rede e processamento de dados adicionais. O J-Flow suporta os formatos v5, v8 e v9. Todas essas três versões são suportadas no SPC3.

Noções básicas sobre o suporte a SPU de depuração de caminho de dados (E2E)

A depuração de caminho de dados fornece recurso de depuração de pacotes de ponta a ponta (E2E) baseado em filtro em dispositivos SRX5000 Line. Ele rastreia o caminho do pacote e despeja o conteúdo do pacote.

No SPC3, JEXEC é o único tipo de evento E2E suportado e os seguintes tipos de ação E2E são suportados:

  • Contagem

  • Despejo

  • Rastreamento

  • Resumo do traço

Entendendo o tratamento de fragmentação, ISSU e suporte a ISHU

No SPC3, os pacotes fragmentados são encaminhados para o "núcleo de fragmento" em um PFE específico com base em seus valores de tupla de cabeçalho. Após receber um pacote fragmentado, o fluxo realiza a desfragmentação e encaminha o pacote para o núcleo da sessão. A lógica do fluxo não muda e permanece a mesma.

Ao executar o ISSU, as SPUs virtuais são sincronizadas com IDs de SPU virtuais relacionadas. O suporte ISHU é baseado na arquitetura CP-Lite. Basicamente, há suporte para duas operações ISHU:

  • Insira um novo SPC no nó secundário.

  • Substitua um SPC no nó secundário e o número de SPCs deve ser igual ao do nó primário.

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.

Lançamento
Descrição
18.4R1
A partir do Junos OS Release 18.4R1, uma combinação de placas SPC3 e SPC2 é suportada em dispositivos da Linha SRX5000.
18.2R1-S1
A partir do Junos OS Release 18.2R1-S1, uma nova placa de processamento de serviços (SPC3) é introduzida para os dispositivos da Linha SRX5000. A introdução da nova placa melhora a escalabilidade e o desempenho do dispositivo e mantém sua confiabilidade, pois preserva a funcionalidade do cluster do chassi. A placa SPC3 suporta maior taxa de transferência e escalabilidade para processamento de serviços.
15.1X49-D70
15.1X49-D10
A partir do Junos OS versão 15.1X49-D10 e do Junos OS versão 17.3R1, o cache de sessão das sessões no IOC ajuda a resolver determinados problemas de desempenho.
15.1X49-D10
A partir do Junos OS versão 15.1X49-D10, o SRX5K-MPC (IOC2) e o IOC3 oferecem suporte à afinidade de sessão VPN por meio de módulos de fluxo e cache de sessão aprimorados
12.1X48-D30
A partir do Junos OS Release 12.3X48-D30, no IOC2, há suporte para a afinidade de sessão VPN por meio do cache de sessão