A ferramenta mais comum para monitoramento e solução de problemas de rede atualmente é o Switch Port Analyzer (SPAN), também conhecido como espelhamento de portas. Ele permite monitorar o tráfego de rede em modo bypass fora de banda, sem interferir nos serviços da rede ativa, e envia uma cópia do tráfego monitorado para dispositivos locais ou remotos, incluindo sniffers, IDS ou outros tipos de ferramentas de análise de rede.
Alguns usos típicos são:
• Solucionar problemas de rede rastreando quadros de controle/dados;
• Analisar a latência e a variação de atraso (jitter) monitorando pacotes VoIP;
• Analisar a latência monitorando as interações de rede;
• Detectar anomalias monitorizando o tráfego de rede.
O tráfego SPAN pode ser espelhado localmente para outras portas no mesmo dispositivo de origem ou espelhado remotamente para outros dispositivos de rede adjacentes à Camada 2 do dispositivo de origem (RSPAN).
Hoje vamos falar sobre uma tecnologia de monitoramento remoto de tráfego de internet chamada ERSPAN (Encapsulated Remote Switch Port Analyzer), que pode ser transmitida através de três camadas do IP. Trata-se de uma extensão do SPAN para Encapsulated Remote.
Princípios básicos de funcionamento do ERSPAN
Primeiramente, vamos dar uma olhada nas funcionalidades do ERSPAN:
• Uma cópia do pacote da porta de origem é enviada ao servidor de destino para ser analisada por meio do Encapsulamento de Roteamento Genérico (GRE). A localização física do servidor não é restrita.
• Com a ajuda do recurso de Campo Definido pelo Usuário (UDF) do chip, qualquer deslocamento de 1 a 126 bytes é realizado com base no domínio Base por meio da lista estendida de nível especialista, e as palavras-chave da sessão são correspondidas para realizar a visualização da sessão, como o handshake TCP de três vias e a sessão RDMA;
• Suporte para configuração da taxa de amostragem;
• Suporta o dimensionamento do comprimento de interceptação de pacotes (Packet Slicing), reduzindo a carga no servidor de destino.
Com esses recursos, fica fácil entender por que o ERSPAN é uma ferramenta essencial para monitorar redes dentro de data centers atualmente.
As principais funções do ERSPAN podem ser resumidas em dois aspectos:
• Visibilidade da sessão: Use o ERSPAN para coletar todas as novas sessões TCP e RDMA (Acesso Direto à Memória Remota) criadas e enviá-las ao servidor de back-end para exibição;
• Solução de problemas de rede: Captura o tráfego de rede para análise de falhas quando ocorre um problema de rede.
Para isso, o dispositivo de rede de origem precisa filtrar o tráfego de interesse do usuário do fluxo massivo de dados, fazer uma cópia e encapsular cada quadro copiado em um "contêiner de superquadro" especial que contenha informações adicionais suficientes para que possa ser roteado corretamente para o dispositivo receptor. Além disso, o dispositivo receptor precisa ser capaz de extrair e recuperar integralmente o tráfego original monitorado.
O dispositivo receptor pode ser outro servidor que suporte a desencapsulação de pacotes ERSPAN.
Análise do tipo ERSPAN e do formato do pacote
Os pacotes ERSPAN são encapsulados usando GRE e encaminhados para qualquer destino com endereço IP em uma rede Ethernet. O ERSPAN é atualmente usado principalmente em redes IPv4, e o suporte a IPv6 será um requisito no futuro.
Para a estrutura geral de encapsulamento do ERSAPN, segue abaixo uma captura de pacotes ICMP espelhada:
O protocolo ERSPAN foi desenvolvido ao longo de um longo período de tempo e, com o aprimoramento de suas capacidades, diversas versões foram criadas, chamadas de "Tipos ERSPAN". Os diferentes Tipos possuem formatos de cabeçalho de quadro distintos.
Está definido no primeiro campo "Version" do cabeçalho ERSPAN:
Além disso, o campo Tipo de Protocolo no cabeçalho GRE também indica o tipo ERSPAN interno. O campo Tipo de Protocolo 0x88BE indica ERSPAN Tipo II e 0x22EB indica ERSPAN Tipo III.
1. Tipo I
O quadro ERSPAN do Tipo I encapsula IP e GRE diretamente sobre o cabeçalho do quadro espelho original. Essa encapsulação adiciona 38 bytes ao quadro original: 14 (MAC) + 20 (IP) + 4 (GRE). A vantagem desse formato é o tamanho compacto do cabeçalho, reduzindo o custo de transmissão. No entanto, como os campos GRE Flag e Version são definidos como 0, ele não inclui campos adicionais e o Tipo I não é amplamente utilizado, portanto, não há necessidade de expansão.
O formato do cabeçalho GRE do Tipo I é o seguinte:
2. Tipo II
No Tipo II, os campos C, R, K, S, S, Recur, Flags e Version no cabeçalho GRE são todos 0, exceto o campo S. Portanto, o campo Sequence Number é exibido no cabeçalho GRE do Tipo II. Ou seja, o Tipo II garante a ordem de recebimento dos pacotes GRE, de modo que um grande número de pacotes GRE fora de ordem não possa ser classificado devido a uma falha de rede.
O formato do cabeçalho GRE do Tipo II é o seguinte:
Além disso, o formato de quadro ERSPAN Tipo II adiciona um cabeçalho ERSPAN de 8 bytes entre o cabeçalho GRE e o quadro espelhado original.
O formato do cabeçalho ERSPAN para o Tipo II é o seguinte:
Finalmente, imediatamente após o quadro de imagem original, encontra-se o código de verificação de redundância cíclica (CRC) Ethernet padrão de 4 bytes.
Vale ressaltar que, na implementação, o quadro espelhado não contém o campo FCS do quadro original; em vez disso, um novo valor CRC é recalculado com base em todo o ERSPAN. Isso significa que o dispositivo receptor não pode verificar a correção do CRC do quadro original, e só podemos presumir que apenas quadros não corrompidos são espelhados.
3. Tipo III
O Tipo III introduz um cabeçalho composto maior e mais flexível para lidar com cenários de monitoramento de rede cada vez mais complexos e diversos, incluindo, entre outros, gerenciamento de rede, detecção de intrusões, análise de desempenho e latência. Esses cenários precisam conhecer todos os parâmetros originais do quadro espelhado, incluindo aqueles que não estão presentes no próprio quadro original.
O cabeçalho composto ERSPAN Tipo III inclui um cabeçalho obrigatório de 12 bytes e um subcabeçalho opcional de 8 bytes específico da plataforma.
O formato do cabeçalho ERSPAN para o Tipo III é o seguinte:
Novamente, após o quadro de espelhamento original, há um CRC de 4 bytes.
Como pode ser observado no formato do cabeçalho do Tipo III, além de manter os campos Ver, VLAN, COS, T e ID da Sessão com base no Tipo II, muitos campos especiais são adicionados, tais como:
• BSO: usado para indicar a integridade da carga dos quadros de dados transportados pelo ERSPAN. 00 é um quadro bom, 11 é um quadro ruim, 01 é um quadro curto e 11 é um quadro grande;
• Timestamp: exportado do relógio de hardware sincronizado com a hora do sistema. Este campo de 32 bits suporta uma granularidade de Timestamp de pelo menos 100 microssegundos;
• Tipo de Quadro (P) e Tipo de Quadro (FT): o primeiro é usado para especificar se o ERSPAN transporta quadros de protocolo Ethernet (quadros PDU) e o segundo é usado para especificar se o ERSPAN transporta quadros Ethernet ou pacotes IP.
• ID de hardware: identificador único do mecanismo ERSPAN dentro do sistema;
• Gra (Granularidade do Timestamp): Especifica a granularidade do timestamp. Por exemplo, 00B representa granularidade de 100 microssegundos, 01B granularidade de 100 nanossegundos, 10B granularidade IEEE 1588 e 11B requer subcabeçalhos específicos da plataforma para atingir uma granularidade maior.
• ID da Plataforma vs. Informações Específicas da Plataforma: Os campos de Informações Específicas da Plataforma têm formatos e conteúdos diferentes dependendo do valor do ID da Plataforma.
É importante notar que os diversos campos de cabeçalho suportados acima podem ser usados em aplicações ERSPAN regulares, inclusive no espelhamento de quadros de erro ou quadros BPDU, mantendo o pacote Trunk original e o ID da VLAN. Além disso, informações importantes como o carimbo de data/hora e outros campos de informação podem ser adicionadas a cada quadro ERSPAN durante o espelhamento.
Com os cabeçalhos de recursos próprios do ERSPAN, podemos obter uma análise mais refinada do tráfego de rede e, em seguida, simplesmente montar a ACL correspondente no processo ERSPAN para corresponder ao tráfego de rede em que estamos interessados.
ERSPAN implementa visibilidade de sessão RDMA
Vejamos um exemplo de utilização da tecnologia ERSPAN para obter a visualização de sessões RDMA em um cenário RDMA:
RDMAO Acesso Direto à Memória Remota (RDMA) permite que o adaptador de rede do servidor A leia e grave na memória do servidor B utilizando placas de interface de rede inteligentes (INCs) e switches, alcançando alta largura de banda, baixa latência e baixo consumo de recursos. É amplamente utilizado em cenários de big data e armazenamento distribuído de alto desempenho.
RoCEv2RDMA sobre Ethernet Convergida versão 2. Os dados RDMA são encapsulados no cabeçalho UDP. O número da porta de destino é 4791.
A operação e manutenção diárias do RDMA exigem a coleta de uma grande quantidade de dados, utilizados para registrar linhas de referência de nível de água e alarmes de anormalidades, além de servirem como base para a localização de problemas. Combinado com o ERSPAN, esse volume de dados pode ser capturado rapidamente, permitindo a obtenção de dados de qualidade de encaminhamento em microssegundos e o status de interação do protocolo do chip de comutação. Através de estatísticas e análises de dados, é possível realizar a avaliação e a previsão da qualidade de encaminhamento de ponta a ponta do RDMA.
Para obter a visualização da sessão RDAM, precisamos que o ERSPAN corresponda às palavras-chave das sessões de interação RDMA ao espelhar o tráfego e, para isso, precisamos usar a lista estendida de especialistas.
Definição de campo de correspondência de lista estendida de nível especialista:
A UDF consiste em cinco campos: palavra-chave da UDF, campo base, campo de deslocamento, campo de valor e campo de máscara. Devido à capacidade de entradas de hardware, um total de oito UDFs podem ser usadas. Uma UDF pode corresponder a um máximo de dois bytes.
• Palavra-chave UDF: UDF1... UDF8 Contém oito palavras-chave do domínio de correspondência UDF
• Campo base: identifica a posição inicial do campo de correspondência da UDF. O seguinte
Cabeçalho L4 (aplicável a RG-S6520-64CQ)
Cabeçalho L5 (para RG-S6510-48VS8Cq)
• Deslocamento: indica o deslocamento com base no campo base. O valor varia de 0 a 126.
• Campo de valor: valor correspondente. Pode ser usado em conjunto com o campo de máscara para configurar o valor específico a ser correspondido. O bit válido é de dois bytes.
• Campo de máscara: máscara, bit válido de dois bytes
(Adendo: Se várias entradas forem usadas no mesmo campo de correspondência UDF, os campos base e de deslocamento devem ser iguais.)
Os dois pacotes principais associados ao status da sessão RDMA são o Pacote de Notificação de Congestionamento (CNP) e o Reconhecimento Negativo (NAK):
O primeiro é gerado pelo receptor RDMA após receber a mensagem ECN enviada pelo switch (quando o buffer de saída atinge o limite), que contém informações sobre o fluxo ou QP que está causando congestionamento. O segundo é usado para indicar que a transmissão RDMA possui uma mensagem de resposta de perda de pacote.
Vejamos como relacionar essas duas mensagens usando a lista estendida de nível especialista:
lista de acesso de especialistas rdma estendido
permitir udp qualquer qualquer qualquer qualquer eq 4791udf 1 l4_header 8 0x8100 0xFF00(Compatível com RG-S6520-64CQ)
permitir udp qualquer qualquer qualquer qualquer eq 4791udf 1 l5_header 0 0x8100 0xFF00(Compatível com RG-S6510-48VS8CQ)
lista de acesso de especialistas rdma estendido
permitir udp qualquer qualquer qualquer qualquer eq 4791udf 1 l4_header 8 0x1100 0xFF00 udf 2 l4_header 20 0x6000 0xFF00(Compatível com RG-S6520-64CQ)
permitir udp qualquer qualquer qualquer qualquer eq 4791udf 1 l5_header 0 0x1100 0xFF00 udf 2 l5_header 12 0x6000 0xFF00(Compatível com RG-S6510-48VS8CQ)
Como etapa final, você pode visualizar a sessão RDMA integrando a lista de extensões especializadas ao processo ERSPAN apropriado.
Escreva o último
O ERSPAN é uma das ferramentas indispensáveis nas redes de data centers cada vez maiores, no tráfego de rede cada vez mais complexo e nos requisitos de operação e manutenção de rede cada vez mais sofisticados da atualidade.
Com o crescente grau de automação de O&M (Operação e Manutenção), tecnologias como Netconf, RESTconf e gRPC são populares entre estudantes de O&M em O&M automática de redes. Usar gRPC como protocolo subjacente para o envio de tráfego espelhado também oferece muitas vantagens. Por exemplo, baseado no protocolo HTTP/2, ele suporta o mecanismo de envio de fluxos de dados em tempo real na mesma conexão. Com a codificação ProtoBuf, o tamanho da informação é reduzido pela metade em comparação com o formato JSON, tornando a transmissão de dados mais rápida e eficiente. Imagine, se você usar ERSPAN para espelhar os fluxos de dados de interesse e enviá-los para o servidor de análise via gRPC, isso melhoraria significativamente a capacidade e a eficiência da operação e manutenção automática de redes?
Data da publicação: 10 de maio de 2022










