Introduction
Este documento descreve como identificar e coletar dados quando há perda de tráfego na WAN, mas nenhuma queda é vista na borda da SD-WAN.
Prerequisites
Requirements
A Cisco recomenda que você tenha conhecimento destes tópicos:
- Rede de longa distância definida por software da Cisco (SD-WAN)
- Captura de pacotes incorporada ou vManage Packet Capture
- Wireshark
- Microsoft Excel
Componentes Utilizados
As informações neste documento são baseadas nestas versões de software e hardware:
- C8000V versão 17.03.04
- vManage versão 20.3.4
- Wireshark versão 2.6.3
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. Se a rede estiver ativa, certifique-se de que você entenda o impacto potencial de qualquer comando.
Background
Para auxiliar nesse desafio, as etapas descritas neste documento mostram como marcar o tráfego específico com o Differentiated Services Code Point (DSCP) para ajudar a identificar os pacotes desejados. O DSCP pode ser usado para identificar o tráfego, já que esse valor é copiado do cabeçalho do pacote interno para o cabeçalho IPsec. Uma vez identificados os pacotes desejados, ele mostra como fazer a correspondência do tráfego em duas capturas de WAN para garantir que o tráfego seja feito da origem para o destino.
Dois locais de roteador únicos são usados para demonstrar essa técnica de solução de problemas. Nesse caso, o tráfego ICMP de 10.0.0.10 a 10.0.2.10 na forma de 100 pings, como mostrado na imagem. Não há perdas neste exemplo, mas essa mesma técnica de solução de problemas é usada no caso em que há uma perda para identificá-la.
Processo de solução de problemas
Processo de Visão Geral
- Para o tráfego rastreado através da WAN, uma lista de acesso (ACL) (ou política centralizada) é necessária para marcar o tráfego com algum valor de DSCP não utilizado. Neste exemplo, o DSCP 27 é usado.
- Depois que o tráfego é marcado, a captura de pacotes incorporada é usada para capturar os pacotes na interface de transporte do roteador de origem e de destino.
Observação: a captura de pacotes do vManage também pode ser usada, embora haja uma limitação de 5 MB de dados ou 5 minutos de tempo de execução.
- Depois que as capturas forem feitas, abra-as no Wireshark para visualizá-las.
- O filtro é aplicado no Wireshark para mostrar quais pacotes são desejados e depois eles são comparados.
- O Microsoft Excel é usado para grandes capturas para garantir a precisão.
Marque o tráfego desejado com DSCP
Uma lista de acesso, como o exemplo, é configurada no roteador de origem (cEdge1 neste exemplo) e aplicada na interface na parte SD-WAN da configuração do roteador, como mostrado.
Um contador opcional é aplicado para verificar se o tráfego atinge a política como esperado. Isso pode ser verificado com o comando show sdwan policy access-list-counters.
policy
access-list mark_dscp_27
sequence 10
match
source-ip 10.0.0.10/32
destination-ip 10.0.2.10/32
!
action accept
count MARK_DSCP_27_COUNT (optional counter to verify packets that hit the policy)
set
dscp 27
!
!
!
default-action accept
sdwan
interface GigabitEthernet3
access-list mark_dscp_27 in
Capture o tráfego com a captura incorporada
Observação: Como configurar uma captura de pacote incorporada no Cisco IOS XE para capturar os pacotes criptografados que atravessam a WAN, navegue até o Exemplo de Configuração da Captura de Pacote Incorporado para Cisco IOS e Cisco IOS XE
Observação: uma ACL deve ser usada para limitar o EPC na WAN, pois pode haver mais do que o limite de taxa de 1000 PPS para o EPC.
Exemplo
Uma ACL é configurada em cEdge1 e cEdge3, pois o tráfego só é verificado na direção da origem para o destino neste exemplo.
Observação: os endereços IP WAN são usados para filtrar a captura. Há várias saídas que podem ser usadas para identificar o caminho que o tráfego percorre para que os IPs WAN corretos possam ser identificados para o filtro ACL. Os comandos que podem ser usados para gerar essa saída são show sdwan app-fwd cflowd flows e show sdwan policy service path. Navegue até Rastreamento de pacote condicional para condição de depuração.
ip access-list extended CAP-Filter
10 permit ip host 192.168.23.149 host 192.168.28.240
Neste ponto, as capturas são iniciadas em ambos os roteadores e 100 pings são enviados através da sobreposição.
#ping vrf 10 10.0.2.10 rep 100
Type escape sequence to abort.
Sending 100, 100-byte ICMP Echos to 10.0.2.10, timeout is 2 seconds:
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Success rate is 100 percent (100/100), round-trip min/avg/max = 1/1/4 ms
Depois que as capturas são interrompidas e coletadas de ambos os roteadores, elas precisam ser abertas no Wireshark para visualizá-las.
Análise por meio do Wireshark
Uma vez que a captura cEdge1 é aberta no Wireshark, é visto que todo o tráfego é criptografado e não é fácil decifrar quais pacotes são os pings que foram enviados.
Filtre essa captura com um filtro de exibição ip.dsfield.dscp == 27, verá que somente 100 pacotes são exibidos na parte inferior da tela e verá que o valor da coluna DSCP mostra todos 27.
Em alguns casos em que o valor de DSCP é mantido na WAN, o mesmo filtro pode ser usado na captura de destino.
Em outros casos, isso não é possível, como uma situação em que o valor de DSCP é limpo em uma conexão de Internet pública.
Filtrar o tráfego desejado por sequência ESP
Em ambos os casos, o tráfego pode ser identificado com os números de sequência ESP.
Para ver os números de sequência ESP no pacote, clique com o botão direito do mouse na captura e escolha Decodificar conforme mostrado.
Selecione o menu suspenso Campo atual e, nesse campo, digite UDPENCAP ou selecione-o no menu suspenso.
Selecione OK depois que isso estiver concluído.
Na seção Packet Details do Wireshark, expanda a parte do pacote Encapsulating Security Payload para ver a Sequência ESP.
Clique com o botão direito em ESP Sequence e escolha apply as column para que a ESP Sequence possa ser vista como uma coluna na seção Packet List na parte superior da tela do Wireshark.
Observação: o ESP SPI para os pacotes em cEdge1 é 0x040001dc. É usado para um filtro na captura de destino.
Abra a captura de destino, repita as etapas para decodificar como UDPENCAP e exiba os números de sequência ESP nos pacotes.
Uma vez que os pacotes exibam o número de sequência ESP, o ESP SPI da primeira captura pode ser usado como um filtro na segunda captura para exibir somente o tráfego dentro desse SPI que corresponde ao tráfego desejado.
Observe que os números de sequência de pacotes que correspondem a ambos têm o DSCP 27 marcado.
Essa comparação pode ser feita manualmente no Wireshark ou o Microsoft Excel pode ser usado para fazer essa comparação.
Para usar o Microsoft Excel para comparar, é necessário dividir as duas capturas para conter apenas pacotes que estejam nas duas capturas.
Na captura de origem, o primeiro pacote relevante tem a sequência ESP 306 e isso corresponde ao número de pacote 451.
O último pacote relevante na captura de origem tem a sequência ESP 405 e é o número de pacote 550.
Na captura de destino, o primeiro pacote relevante corresponde à captura de origem com a Sequência ESP 306, mas nessa captura está o pacote 463.
O último pacote relevante também está presente com a Sequência ESP 405 e é o pacote 564.
A primeira captura deve agora ser dividida para incluir somente pacotes relevantes.
Navegue até Arquivo > Exportar disseções de pacote > Como CSV...
Selecione Captured e Range e, no campo Range, digite o intervalo do primeiro pacote relevante até o último pacote relevante.
Insira um nome de arquivo no campo Nome do arquivo e clique em Salvar.
Repita o mesmo processo na captura 2 para os pacotes relevantes.
Abra ambos os arquivos CSV no Microsoft Excel.
No CSV de captura de origem, salve como um formato XLSX.
Na parte inferior da tela, selecione o símbolo + para adicionar outra planilha. Nomeie-o CAP2_slice.
Abra o arquivo CAP2 CSV e pressione CTRL + a para selecionar tudo e CTRL + c para copiá-lo.
Navegue até o arquivo CAP1_slice.xlsx e, na segunda guia de CAP2_slice, cole (CTRL + v) as informações copiadas na célula A1.
Navegue de volta para a folha CAP1_slice e crie uma nova coluna chamada COMPARE_ESP_SEQUENCE.
Como o número de sequência ESP está na coluna G, compõe um comando VLOOKUP como mostrado para comparar as duas folhas para garantir que tudo na coluna G na origem está na coluna G no destino.
=IF(ISNA(VLOOKUP(G2,CAP2_slice!G:G,1,FALSE)),"AUSENTE","PRESENTE")
Depois que Enter for selecionado, a palavra PRESENTE será exibida. Isso significa que o pacote com a Sequência ESP 306 está presente na segunda folha. Isso é significativo porque significa que o pacote o fez da origem até o destino.
Selecione Coluna O Linha 2 e passe o mouse sobre o canto inferior direito da caixa verde ao redor dessa célula.
Selecione e mantenha pressionado e arraste o mouse para baixo para copiar esta fórmula para a parte inferior das células que têm valores.
Role de volta para o topo da planilha e clique em COMPARE_ESP_SEQUENCE. Em seguida, selecione Classificar e filtrar.
Escolha Filtro no menu suspenso.
Um menu suspenso é exibido na coluna COMPARE_ESP_SEQUENCE.
Clique no menu suspenso no cabeçalho COMPARE_ESP_SEQUENCE. Observe que neste exemplo, o único valor mostrado é PRESENT. Isso significa que todos os pacotes estão presentes em ambas as capturas.
Para criar um exemplo problemático, exclua 10 pacotes da CAP2_slice, para demonstrar como isso funcionaria em um teste em que alguns pacotes perdidos estão ausentes.
Navegue de volta para a folha CAP1_slice e agora você verá que estão faltando 10 pacotes.
Quando o menu suspenso é selecionado na coluna COMPARE_ESP_SEQUENCE, agora é visto que também há pacotes AUSENTES. Isso pode ser alternado para visualizar somente os pacotes MISSING.
Agora, apenas os pacotes ausentes são mostrados na planilha do Excel.
Informações Relacionadas