Tutorial de teste de protocolo: L2 e L3

Antes de aprendermos sobre testes de protocolo, vamos entender:

O que é protocolo?

Quando um computador se comunica entre si, existe um conjunto comum de regras e condições que cada computador deve seguir. Em outras palavras, os protocolos determinam como os dados são transmitidos entre dispositivos de computação e através de redes.

Teste de Protocolo

Teste de Protocolo é um método de verificação de protocolos de comunicação nos domínios de Switching, Wireless, VoIP, Routing, etc. O objetivo principal do teste de protocolo é verificar a estrutura dos pacotes que são enviados por uma rede usando ferramentas de teste de protocolo. Roteadores e switches são usados ​​durante o teste para formar partes de dispositivos e produtos em teste.

Protocolos roteados e de roteamento

Os protocolos são classificados em duas categorias protocolos roteados e protocolos de roteamento

  • Protocolos roteados: protocolos roteados podem ser usados ​​para enviar dados do usuário de uma rede para outra rede. Ele transporta tráfego de usuários como e-mails, tráfego da web, transferências de arquivos, etc. Os protocolos roteados são IP, IPX e AppleTalk.
  • Protocolos de roteamento: Protocolos de roteamento são protocolos de rede que determinam rotas para roteadores. É usado apenas entre roteadores. Por exemplo RIP, IGRP, EIGRP, etc.

Em termos simples, um roteador é como um ônibus usado para transporte, enquanto os protocolos de roteamento são sinais na estrada.

Com base no tipo de comunicação, diferentes protocolos são usados. Empresas como CISCO, JUNIPER, ALCATEL produzem dispositivos de rede como roteadores, modems, pontos de acesso sem fio, etc. que usam protocolos diferentes para comunicação, por exemplo, Cisco usa EIGRP, OSPF, etc. O teste de protocolo nada mais é do que verificar se o EIGRP (Enhanced Interior Gateway Routing Protocol) ou OSPF (Open Shortest Path First) ou qualquer outro protocolo está funcionando de acordo com o respectivo padrão.

Tipos de protocolos de computador

Tipos de protocolos Objetivo dos Protocolos
TCP / IP É usado para enviar informações em pequenos pacotes pela Internet
UDP/ ICMP É usado para enviar uma pequena quantidade de informações em pacotes de dados pela internet
POP3 e SMTP É usado para enviar e receber mail
Protocolo de Transferência de Hipertexto É usado para transferir páginas HTML em formato criptografado para fornecer segurança a dados confidenciais
FTP É usado para transportar arquivos em uma rede de um nó para outro

* TCP / IP- Transmission Protocolo de controle/protocolo de Internet, UDP/ICMP– Protocolo de datagrama de usuário/protocolo de mensagens de controle da Internet, POP3/SMTP– Protocolo Postal / Simples Mail Protocolo de transferência, HTTP- Protocolo de Transferência de Hipertexto, FTP– Protocolo de transferência de arquivos

Diferentes tipos de protocolos de rede (L2 e L3)

O modelo OSI tem um total de 7 camadas de comunicação de rede, nas quais a camada 2 e a camada 3 são cruciais.

  • Camada 2: É uma camada de enlace de dados. Endereço Mac, Ethernet, Token Ring e Frame Relay são exemplos de camada de enlace de dados.
  • Camada 3: É uma camada de rede que determina o melhor caminho disponível na rede para comunicação. Um endereço IP é um exemplo de camada3.

Como fazer testes de protocolo

  • Para testes de protocolo, você precisa analisador e simulador de protocolo
  • O analisador de protocolo garante a decodificação adequada junto com a análise de chamadas e sessões. Enquanto o simulador simula várias entidades de elementos de rede
  • Normalmente, um teste de protocolo é realizado pelo DUT (dispositivo em teste) para outros dispositivos como switches e roteadores e configurando o protocolo nele
  • Depois disso, verificando a estrutura dos pacotes enviados pelos dispositivos
  • Ele verifica a escalabilidade, o desempenho, o algoritmo de protocolo etc. do dispositivo usando ferramentas como lxNetworks, Scapy e Wireshark

Tipos de teste para teste de protocolo

O teste de protocolo inclui testes de funcionalidade, desempenho, pilha de protocolos, interoperabilidade, etc. Durante o teste de protocolo, basicamente, três verificações são feitas.

  • Correção: Recebemos o pacote X quando esperávamos
  • Latência: Quanto tempo leva um pacote para transitar pelo sistema
  • Largura de Banda: Quantos pacotes podemos enviar por segundo

Os testes de protocolo podem ser segregados em duas categorias. Testes de Estresse e Confiabilidade e Testes Funcionais. Os testes de estresse e confiabilidade cobrem Teste de carga, Teste de estresse, Teste de Desempenho, etc. Enquanto Teste funcional inclui testes negativos, testes de conformidade, testes de interoperabilidade, etc.

  • Teste de Conformidade: Os protocolos implementados nos produtos são testados quanto à aderência como IEEE, RFC etc.
  • Teste de interoperabilidade: A interoperabilidade para diferentes fornecedores é testada. Este teste é feito após o teste de conformidade ser feito na plataforma apropriada
  • Teste de recursos de rede: Os recursos dos produtos de rede são testados quanto à funcionalidade com referência ao documento de design. Por exemplo, os recursos podem ser segurança de porta em um switch, ACL em um roteador, etc.

Exemplos de casos de teste para teste de protocolo de dispositivos de rede

Aqui está um exemplo de caso de teste para roteadores

Nome de teste Casos de teste
  1. Uma VLAN em um switch
  • Construa duas VLANs diferentes. Verifique a visibilidade entre hosts em VLANs diferentes
  1. Três VLANs simétricas em um switch
  • Crie três VLANs assimétricas diferentes. Verifique a visibilidade entre hosts
  1. Árvore geradora: variação do custo do caminho raiz
  • Teste como o custo do caminho raiz muda após uma variação de topologia
  1. Árvore de abrangência: bloqueio de porta
  • Verifique como o protocolo spanning tree evita a formação de ciclos na rede, bloqueando links redundantes, na presença de VLANs também
  1. Ponte raiz diferente para MSTI diferente
  • Mostre que cada MSTI pode ter Root Bridge diferente
  1. Visibilidade entre diferentes regiões de STP
  • Com as mesmas VLANs, verifique a visibilidade entre diferentes regiões STP
  1. Desempenho do switch telefônico
  • Gere 1000 chamadas telefônicas e verifique se a central telefônica ainda funciona ou se seu desempenho diminui
  1. Teste negativo para dispositivo
  • Insira a chave incorreta e verifique a autenticação do usuário. Não deve permitir que um usuário acesse
  1. Velocidade da linha
  • Verifique o dispositivo operando a uma velocidade de 10 Gbps, utilizando toda a largura de banda disponível para lidar com o tráfego de entrada
  1. Taxa de conversação de protocolo
  • Rastreie uma conversa TCP entre dois dispositivos e verifique se cada dispositivo apresentou um comportamento correto
  1. Tempo de resposta para início da sessão
  • Medir o tempo de resposta de um dispositivo a uma solicitação de convite para início de sessão

Ferramentas para teste de protocolo

Vamos discutir as ferramentas de teste mais importantes usadas para verificar protocolos

Scapy Para elaboração de pacotes

Scapy é um poderoso programa interativo de manipulação de pacotes. Ele permite que você

  • Criar pacotes
  • Decodificar pacotes na rede
  • Capture pacotes e analise-os
  • Injetar pacotes na rede

Então, basicamente, scapy faz principalmente duas coisas: recebendo respostas e enviando pacotes. Você define os pacotes, ele os envia, recebe respostas, combina solicitações com respostas e retorna uma lista de pares de pacotes e uma lista de pacotes sem correspondência.

Ele também pode lidar com outras coisas, como roteamento de rastreamento, testes de unidade, ataques ou descoberta de rede, desenvolvimento de novos protocolos, sondagens, etc.

Scapy nos permite escrever um Python script que nos permite realizar uma tarefa como enviar e receber pacotes ou farejar pacotes. Por exemplo, scapy pode detectar o pacote de dados usando um script Python. O comando para abrir o getdit inserido no editor

#gedit scapysniff.py
#!/usr/bin/env python
from scapy.all import*

a= sniff(count=10)
a.nsummary()

save, and change the mode of the file into an executable form
#chmod+x scapysniff.py
# ./scaotsbuff.py

Ele irá cheirar 10 pacotes e assim que tiver cheirado 10 pacotes imprimirá o resumo. Scapy também como uma matriz de comandos para enviar e receber pacotes ao mesmo tempo

Baixar Scapy

Ferramentas Wireshark para análise

Ferramentas usadas para teste de protocolo – Wireshark. Ele permite capturar pacotes em tempo real e exibi-los em formato legível por humanos. Ele permite que você se aprofunde no tráfego da rede e inspecione pacotes individuais usando códigos de cores e filtros.

O Wireshark captura pacotes que ajudam a determinar quando a sessão está sendo estabelecida, quando a viagem exata de dados foi iniciada e quantos dados são enviados a cada vez, etc.

Wireshark possui um conjunto de recursos avançados que inclui

  • Uma inspeção completa de centenas de protocolos, com mais sendo adicionados o tempo todo
  • Captura ao vivo e análise offline
  • Análise avançada de VoIP
  • Navegador padrão com três painéis
  • Funciona em multiplataformas como Windows, Linux, OSX e assim por diante
  • Os dados de rede capturados podem ser navegados através de uma GUI
  • A descriptografia suporta muitos protocolos como IPsec, ISAKMP, SSL/TLS
  • Os dados ao vivo podem ser lidos de Ethernet, ATM, Bluetooth, USB, token, etc.
  • A saída pode ser exportada para CSV, XML, texto simples, etc.

Baixar Wireshark

TTCN

TCCN é uma linguagem de teste padrão para definir Cenário de Teste e sua implementação para teste de protocolo. Um conjunto de testes TCCN contém muitos casos de teste escritos na linguagem de programação TTCN e é usado para ensaio sistemas reativos ou testes comportamentais.

Por exemplo, uma máquina de venda automática de café que lhe dá café ao inserir uma moeda de um dólar, mas não responde se algo menos que um dólar for inserido nela. Para programar essas máquinas é usada a linguagem TCCN3. Para que a máquina de café responda ao inserir uma moeda, temos que escrever o componente TCCN-3 que se comporta como uma máquina de café. Isso nos permite realizar nosso teste antes que uma máquina de café real esteja disponível como produto. Feito isso, conectaremos o conjunto de testes TCCN3 ao dispositivo externo.

Teste de Protocolo

O sistema teste emite estímulos (moeda de dólar) e recebe respostas (café). O adaptador de estímulos obtém estímulos do sistema de teste e os passa para o sistema em teste. O adaptador de resposta aguarda respostas do sistema em teste e as transmite ao sistema de teste.

TCCN3 pode ser usado em vários campos como

  • Comunicações móveis (LTE, WiMAX, 3G etc.)
  • Tecnologias de banda larga (ATM, DSL)
  • Plataformas de Middleware (Webservices, CORBA etc)
  • Protocolo de Internet (SIP, IMS, IPv6)
  • Cartões inteligentes
  • Automotivo (AutoSAR, MOST, CAN)

No TCCN podemos definir

  • Suites de teste
  • Casos de teste
  • Etapas de teste
  • Declarar variáveis
  • Declarar temporizadores
  • Crie PDUs etc.

O TCCN pode ser integrado com tipos de sistemas de outras linguagens como ASN.1, XML,C/C++. A linguagem principal do TCCN3 existe em formato de texto, além de outros formatos como tabular, gráfico e de apresentação.