Observação:
- Este tutorial requer acesso ao Oracle Cloud. Para se inscrever em uma conta gratuita, consulte Conceitos Básicos do Oracle Cloud Infrastructure Free Tier.
- Ele usa valores de exemplo para credenciais, tenancy e compartimentos do Oracle Cloud Infrastructure. Ao concluir seu laboratório, substitua esses valores por valores específicos do seu ambiente de nuvem.
Usar iPerf para Testar o Throughput em uma Arquitetura de Roteamento de VCN Falada e Hub do OCI
Introdução
Nos ambientes de nuvem em rápida evolução de hoje, garantir o desempenho ideal da rede é crucial para operações contínuas. A Oracle Cloud Infrastructure (OCI) fornece recursos de rede robustos, incluindo a arquitetura de roteamento de VCN (Rede Virtual na Nuvem) de Hub e Spoke, para facilitar a comunicação eficiente e o gerenciamento de recursos. Um aspecto essencial da manutenção dessa arquitetura é testar regularmente a taxa de transferência da rede para identificar possíveis gargalos e otimizar o desempenho.
Neste tutorial, usaremos iPerf, uma poderosa ferramenta de teste de rede, para medir e analisar o throughput dentro de uma arquitetura de roteamento do OCI Hub e da VCN Falada. No final deste tutorial, você estará equipado com o conhecimento para avaliar e melhorar efetivamente o desempenho da sua rede OCI, garantindo que seus aplicativos e serviços sejam executados sem problemas.
Observação: Os resultados do teste obtidos usando iPerf dependem muito de vários fatores, incluindo condições de rede, configurações de hardware e definições de software específicas do seu ambiente. Como tal, esses resultados podem diferir significativamente daqueles em outros ambientes. Não use esses resultados para tirar conclusões definitivas sobre o desempenho esperado de sua rede ou equipamento. Devem ser consideradas como medidas de desempenho indicativas e não absolutas.
iPerf Versões
iPerf, iPerf2 e iPerf3 são ferramentas usadas para medir a largura de banda, o desempenho e o throughput da rede entre dois pontos finais. No entanto, eles têm algumas diferenças importantes em termos de recursos, desempenho e status de desenvolvimento.
Visão Geral:
-
iPerf (original)
- Versão: Lançada inicialmente por volta de 2003.
- Desenvolvimento: O iPerf original foi amplamente substituído por seus sucessores (iPerf2 e iPerf3).
- Recursos: Funcionalidade básica para testar a largura de banda da rede usando TCP e UDP.
- Limitações: Com o tempo, ele ficou desatualizado devido à falta de suporte para recursos de rede modernos.
-
iPerf2
- Versão: bifurcada do iPerf original e mantida independentemente.
- Desenvolvimento:: mantido ativamente, especialmente pela Energy Sciences Network (ESnet).
- Funcionalidades:
- Suporta testes TCP e UDP.
- Multithreading: iPerf2 suporta testes multithread, que podem ser úteis ao testar ambientes de alto rendimento.
- UDP multicast e testes bidirecionais.
- Flexibilidade do Protocolo: Melhor tratamento de IPv6, multicast e outros protocolos de rede avançados.
- Desempenho: Tem um desempenho melhor do que o iPerf original para obter maior throughput devido ao suporte de multithreading.
- Caso de Uso: Melhor para situações em que recursos legados, como IPv6 e multicast, são necessários ou se você precisar de multithreading no teste.
-
iPerf3
- Versão: regravada e liberada pela mesma equipe (ESnet) que mantém iPerf2. A reescrita se concentrou em limpar a base de código e modernizar a ferramenta.
- Desenvolvimento: mantido ativamente com atualizações frequentes.
- Funcionalidades:
- Suporta testes TCP e UDP.
- Single-threaded: iPerf3 não suporta multithreading, o que pode ser uma limitação para alto throughput em determinados ambientes.
- Suporta o modo reverso para teste em ambas as direções, testes bidirecionais e vários streams para testes TCP.
- Saída JSON para facilitar a integração com outras ferramentas.
- Relatórios de erros e estatísticas de rede aprimoradas.
- Otimizado para interfaces de rede modernas e recursos como QoS e controle de congestionamento.
- Desempenho: o iPerf3 é otimizado para redes modernas, mas não possui recursos multithread, o que às vezes pode limitar seu desempenho em sistemas de alta largura de banda ou multicore.
- Caso de Uso: Melhor para a maioria dos ambientes de rede modernos em que são necessários testes de desempenho mais simples sem a necessidade de multithreading.
Principais Diferenças:
Recurso | iPerf | iPerf2 | iPerf3 |
---|---|---|---|
Desenvolvimento | Interrompido | Mantido Ativamente | Mantido Ativamente |
Testes TCP e UDP | Sim | Sim | Sim |
Suporte a multithreading | No | Sim | No |
Multicast UDP | No | Sim | No |
IPv6 Suporte | No | Sim | Sim |
Saída JSON | No | No | Sim |
Modo Reverso | No | Sim | Sim |
Observação: Usaremos iPerf2 quando possível neste tutorial.
Melhor para Alto Throughput?
Para ambientes de alto rendimento, iPerf2 geralmente é a melhor escolha devido aos seus recursos de multithreading, que podem aproveitar ao máximo vários núcleos de CPU. Isso é especialmente importante se você estiver trabalhando com interfaces de rede capazes de lidar com vários gigabits por segundo (Gbps) de tráfego.
Se o multithreading não for crucial, iPerf3 será uma boa escolha para configurações mais simples ou redes modernas com recursos como QoS e controle de congestionamento. No entanto, em ambientes de alto rendimento, sua natureza de thread único pode se tornar um gargalo.
Por que o Grampo de Tamanho Máximo do Segmento (MSS) é usado?
Observação: Quando o tráfego está fluindo por um túnel Internet Protocol Security (IPSec) por meio do MSS de Firewall pfSense é algo ao qual prestar atenção.
O aperto de MSS refere-se ao Acordo de Tamanho Máximo do Segmento, que é uma técnica usada na comunicação de rede, particularmente em redes TCP/IP, para ajustar o MSS de um pacote TCP durante o processo de configuração da conexão. O MSS define a maior quantidade de dados que um dispositivo pode manipular em um único segmento TCP, e normalmente é negociado entre os dispositivos de comunicação durante o handshake TCP.
A fixação MSS é frequentemente empregada por dispositivos de rede, como roteadores, firewalls ou VPNs, para evitar problemas relacionados à fragmentação de pacotes. É assim que funciona:
-
Problemas de Fragmentação de Pacote: Se o MSS for muito grande, os pacotes poderão exceder a MTU (Unidade Máxima de Transmissão) do caminho de rede, levando à fragmentação. Isso pode causar ineficiência, aumento da sobrecarga ou, em alguns casos, perda de pacotes se a rede não lidar bem com a fragmentação.
-
Redução do MSS: a fixação do MSS permite que o dispositivo de rede ajuste (ou prenda) o valor do MSS para baixo durante o handshake TCP, certificando-se de que os tamanhos dos pacotes sejam pequenos o suficiente para percorrer o caminho de rede sem precisar de fragmentação.
-
Usar em VPNs: O clampeamento de MSS é comumente usado em cenários de VPN em que o tamanho de MTU é reduzido devido à sobrecarga de criptografia. Sem a fixação do MSS, os pacotes podem ficar fragmentados, reduzindo o desempenho.
Exemplo de clampeamento de MSS: Se um dispositivo cliente enviar um valor de MSS de 1460 bytes durante o handshake TCP, mas o MTU da rede for limitado a 1400 bytes devido ao encapsulamento VPN, o dispositivo de rede poderá apertar o MSS para 1360 bytes (permitindo a sobrecarga extra) para evitar problemas de fragmentação.
Parâmetros Importantes
-
Portas Usadas
As portas padrão usadas por iPerf2 e iPerf3 para TCP e UDP são:
Porta TCP Porta UDP iPerf2 5001 5001 iPerf3 5,201 5,201 Ambas as versões permitem especificar outra porta usando o flag
-p
, se necessário.Para fins de teste, recomendamos abrir todas as portas entre os endereços IP de origem e destino dos pontos finais iPerf.
-
Tamanhos de MTU
iPerf enviará dados entre uma origem e um destino específicos que você determinar antecipadamente.
Ao executar um teste iPerf, entender o tamanho da MTU é crucial porque afeta diretamente o desempenho da rede, a fragmentação do pacote e a precisão do teste. Aqui está o que você deve considerar em relação aos tamanhos de MTU durante um teste iPerf.
-
Tamanho do MTU Padrão:
-
O tamanho padrão de MTU para Ethernet é 1500 bytes, mas isso pode variar com base na configuração da rede.
-
Tamanhos de MTU maiores ou menores podem afetar o tamanho máximo de pacotes enviados durante o teste iPerf. Tamanhos de MTU menores exigirão mais pacotes para a mesma quantidade de dados, enquanto tamanhos de MTU maiores podem reduzir a sobrecarga.
-
-
Fragmentação de Pacotes:
-
Se o tamanho da MTU for definido como muito pequeno ou se o tamanho do pacote iPerf for maior que a MTU da rede, os pacotes poderão ser fragmentados. Pacotes fragmentados podem levar a maior latência e desempenho reduzido em seu teste.
-
iPerf pode gerar pacotes até um tamanho específico e, se excederem a MTU, precisarão ser divididos, introduzindo sobrecarga extra e tornando os resultados menos reflexivos do desempenho do mundo real.
-
-
Frames Jumbo: Algumas redes suportam quadros jumbo, em que a MTU é maior que os 1500 bytes padrão, às vezes atingindo 9000 bytes. Ao testar em ambientes com quadros jumbo ativados, a configuração de iPerf para corresponder a essa MTU maior pode maximizar o throughput reduzindo a sobrecarga dos cabeçalhos e a fragmentação.
-
Descoberta de MTU e MTU do Caminho:
-
A descoberta de MTU do caminho ajuda a garantir que os pacotes não excedam a MTU de qualquer rede intermediária. Se iPerf enviar pacotes maiores que o MTU do caminho e a fragmentação não for permitida, os pacotes poderão ser eliminados.
-
É importante garantir que as mensagens de Fragmentação Necessária do ICMP não sejam bloqueadas por firewalls, pois elas ajudam na descoberta de MTU do caminho. Sem ele, pacotes maiores podem não ser entregues com sucesso, resultando em problemas de desempenho.
-
-
Teste TCP vs UDP:
-
No modo TCP, iPerf lida automaticamente com o tamanho do pacote e ajusta de acordo com o caminho MTU.
-
No modo UDP, o tamanho do pacote é controlado pelo usuário (usando o flag
-l
), e esse tamanho deve ser menor ou igual ao MTU para evitar a fragmentação.
-
-
Ajustando MTU em iPerf:
-
Use a opção
-l
em iPerf para definir manualmente o tamanho dos datagramas UDP. -
Para testar com tamanhos específicos de MTU, é útil garantir que sua rede e interfaces estejam configuradas para corresponder ao valor de MTU desejado para evitar incompatibilidades.
-
-
Consistência entre Segmentos de Rede: Certifique-se de que o tamanho da MTU seja consistente em todos os dispositivos de rede entre os dois pontos finais. Configurações de MTU incompatíveis podem causar ineficiência devido à fragmentação ou queda de pacotes, levando a resultados de teste imprecisos.
-
VPN (Rede Privada Virtual): Ao usar uma VPN, o tamanho da MTU e o desempenho da rede se tornam ainda mais significativos devido às camadas adicionais de encapsulamento e criptografia. As VPNs introduzem sobrecarga extra, o que pode afetar o desempenho de ferramentas como iPerf.
Aqui está uma visão mais profunda das conexões VPN e seu impacto nos testes de rede:
Principais conceitos de VPN e MTU:
-
Despesas Gerais de Encapsulamento:
-
Os protocolos VPN, como IPsec, OpenVPN, WireGuard, PPTP ou L2TP, adicionam cabeçalhos extras ao pacote de dados original para fins de criptografia e tunelamento.
-
Essa sobrecarga extra reduz o tamanho efetivo de MTU porque a VPN deve acomodar o pacote original e os cabeçalhos de VPN adicionados. Por exemplo:
- IPsec adiciona cerca de 56 a 73 bytes de sobrecarga.
- OpenVPN adiciona cerca de 40-60 bytes, dependendo da configuração (por exemplo, UDP vs TCP).
- WireGuard adiciona cerca de 60 bytes.
-
Se você não ajustar a MTU, os pacotes maiores que a MTU ajustada podem ficar fragmentados ou eliminados.
-
-
Descoberta de MTU e MTU do Caminho em VPNs:
-
As VPNs geralmente criam túneis que abrangem várias redes, e a MTU do caminho entre as duas extremidades do túnel pode ser menor do que o que seria usado em uma conexão direta. A descoberta de MTU de caminho ajuda as VPNs a evitar a fragmentação, mas algumas redes bloqueiam mensagens ICMP, que são essenciais para essa descoberta.
-
Se mensagens ICMP como Fragmentação Necessária forem bloqueadas, o túnel VPN poderá enviar pacotes muito grandes para uma rede intermediária, causando perda ou retransmissões de pacotes.
-
-
Problemas de Fragmentação:
-
Quando ocorre uma incompatibilidade de MTU, a VPN fragmentará os pacotes no nível da rede ou, se a fragmentação não for permitida (DF ou bit Não Fragmentar estiver definido), solte os pacotes. A fragmentação introduz latência adicional, reduz o throughput e pode causar perda de pacote.
-
As VPNs geralmente têm uma MTU efetiva mais baixa (por exemplo, 1400 bytes em vez de 1500), que contabiliza os cabeçalhos adicionados e impede a fragmentação.
-
-
Ajustando a MTU para Conexões VPN: a maioria dos clientes ou roteadores de VPN permite que o usuário ajuste o tamanho da MTU para evitar a fragmentação. Por exemplo, reduzir o tamanho da MTU em um túnel VPN para 1400 ou 1350 bytes é comum para contabilizar a sobrecarga da VPN.
-
-
Velocidades da Rede da Instância
No OCI, a velocidade do adaptador de rede (vNIC) ou da sua instância está vinculada à forma da instância e à quantidade de CPUs que você designou a essa forma.
Neste tutorial, usaremos formas E4.Flex
com uma Imagem do Oracle Linux 8 com 1 OCPU. Isso significa que obteremos uma largura de banda de rede (máxima) de 1 Gbps para todos os resultados do teste iPerf.
- A forma é E4. Flex.
- A contagem de OCPUs é 1.
- A largura de banda da rede é de 1 Gbps.
Observação: É possível aumentar a largura de banda da rede escolhendo outra forma e aumentando a quantidade de OCPUs.
Objetivos
- Use iPerf para testar o throughput dentro de uma arquitetura de roteamento de Hub e VCN Falada do OCI.
Tarefa 1: Revisar a Arquitetura de Roteamento do Hub e da VCN Falada do OCI
Usaremos a arquitetura a seguir para todos os testes de throughput iPerf neste tutorial.
Esta é uma arquitetura de roteamento hub e spoke completa com on-premises conectada com um túnel IPSec VPN. Para recriar essa topologia de roteamento, consulte:
Tarefa 2: Instalar iPerf3 nas Instâncias do Hub
Observação: Nesta tarefa, instalaremos iPerf3 e instalaremos iPerf2 na próxima tarefa.
Tarefa 2.1: Instalar iPerf3 no Hub Step-stone
A etapa central do hub é uma instância do servidor Windows. Há diferentes distribuições iPerf disponíveis para Windows aqui: windows. Para este tutorial, faremos download aqui: Directory Lister.
-
Faça download do arquivo zip e descompacte o arquivo na etapa do hub.
- Vá para o diretório em que você descompactou o arquivo zip iPerf.
- Verifique se a pasta descompactada está disponível.
- Observe que outra pasta iPerf está lá.
- Vá para dentro da pasta iPerf.
- Verifique os arquivos na pasta iPerf.
- Precisamos do arquivo
iPerf.exe
que usaremos para executar os testes reais.
-
Execute o comando
iPerf.exe
para ver se ele funciona.
Tarefa 2.2: Instalar iPerf3 em um Firewall pfSense
-
Para instalar o iPerf em pfSense, precisamos instalar um pacote por meio do Package Manager.
- Vá para Menu Sistema.
- Selecione Gerenciador de pacotes.
-
Clique em Pacotes Disponíveis.
- Informe iPerf no Termo de pesquisa.
- Clique em Pesquisar.
- Observe que haverá um resultado e este é o iPerf package version 3.0.3 (no momento da gravação deste tutorial).
- Clique em +Install.
-
Clique em Confirmar.
-
Observe que o número de pacotes instalados é 2.
- Vá para Menu Diagnóstico.
- Selecione iPerf.
-
Clique em Cliente.
-
Clique em Servidor.
Observação: O firewall pfSense não tem a opção (por padrão) de instalar os pacotes do iPerf versão 2.
Tarefa 3: Instalar iPerf3 nas Instâncias Spoke
Instale iPerf3 nas Instâncias do Linux dentro da OCI em nossa arquitetura.
Tarefa 3.1: Instalar iPerf3 na Instância Spoke A1 e na Instância A2
-
A instância A1 já tem iPerf3 instalado.
- Conecte-se à instância A1.
- Execute o comando
sudo dnf install iPerf3
. - Observe que iPerf3 já está instalado.
-
Execute o comando
iPerf3 -v
para verificar a versão iPerf que está instalada. -
Instale iPerf3 na instância A2.
- Conecte-se à instância A2.
- Execute o comando
sudo dnf install iPerf3
. - Digite
Y
.
-
iPerf3 instalará e observará que a instalação foi concluída.
Tarefa 3.2: Instalar iPerf3 na Instância B do Spoke
- Conecte-se à instância B.
- Execute o comando
sudo dnf install iPerf3
para instalar o iPerf 3. Se iPerf3 já estiver disponível, você receberá uma mensagem informando que iPerf já está instalado.
Tarefa 3.3: Instalar iPerf3 na Instância do Spoke C
- Conecte-se à instância C.
- Execute o comando
sudo dnf install iPerf3
para instalar o iPerf 3. Se iPerf3 já estiver disponível, você receberá uma mensagem informando que iPerf já está instalado.
Tarefa 3.4: Instalar iPerf3 na Instância D
- Conecte-se à instância D.
- Execute o comando
sudo dnf install iPerf3
para instalar o iPerf 3. Se iPerf3 já estiver disponível, você receberá uma mensagem informando que iPerf já está instalado.
Tarefa 4: Instalar iPerf3 nas Instâncias Locais
Instale iPerf3 nas Instâncias Linux locais em nossa arquitetura.
Tarefa 4.1: Instalar iPerf3 no Cliente Oracle Linux
- Conecte-se à instância do cliente Linux local.
- Execute o comando
sudo dnf install iPerf3
para instalar o iPerf 3. Se iPerf3 já estiver disponível, você receberá uma mensagem informando que iPerf já está instalado.
Tarefa 4.2: Instalar iPerf3 no CPE do Cliente Oracle Linux
- Conecte-se à instância do Linux CPE local.
- Execute o comando
sudo dnf install iPerf3
para instalar o iPerf 3. Se iPerf3 já estiver disponível, você receberá uma mensagem informando que iPerf já está instalado.
Tarefa 5: Instalar iPerf2 em todas as Instâncias do Linux
Instalamos o iPerf3, agora vamos instalar o iPerf2 em todas as instâncias do Linux em toda a arquitetura.
Estamos usando o Oracle Linux 8, portanto, precisaremos do seguinte pacote iPerf2: Oracle Linux 8 (x86_64) EPEL. Se você estiver usando o Oracle Linux 9, use este pacote: Oracle Linux 9 (x86_64) EPEL ou para outra distribuição de SO ou Linux use um pacote compilado para esse SO.
-
Execute o comando a seguir para instalar o iPerf 2 em todas as instâncias do Oracle Linux 8.
sudo dnf install https://yum.oracle.com/repo/OracleLinux/OL8/developer/EPEL/x86_64/getPackage/iPerf-2.1.6-2.el8.x86_64.rpm
-
Digite
Y
para confirmar a instalação. -
Observe que a instalação foi concluída.
- Execute o comando
iPerf -v
para verificar a versão iPerf que está instalada. - Observe que a versão
2.1.6
do iPerf está instalada.
Observação: Certifique-se de instalar o iPerf2 em todas as outras instâncias também.
- Execute o comando
-
Para a etapa central do hub baseado no Windows, faça download aqui: iPerf-2.2.n-win64.
- Execute o comando
iPerf.exe
para ver se ele funciona. - Execute o comando
iPerf -v
para verificar a versão iPerf que está instalada. - Observe que o iPerf versão
2.2.n
está instalado.
- Execute o comando
Tarefa 6: Definir os Testes do iPerf e Preparar os Comandos do iPerf
Nesta tarefa, forneceremos alguns comandos iPerf com os flags adicionais e explicaremos o que eles significam. Para obter mais informações, consulte Desempenho de Rede.
-
Comandos iPerf básicos para testar com TCP:
-
No lado do servidor iPerf.
iPerf3 -s
-
No lado do cliente iPerf.
iPerf3 -c <server_instance_private_ip_address>
-
-
Comandos iPerf que usaremos para testar com TCP:
Observação:
- Medição de largura de banda bidirecional (
-r
). - Tamanho da Janela TCP (
-w
).
-
No lado do servidor iPerf.
iPerf3 -s -w 4000
-
No lado do cliente iPerf.
iPerf3 -c <server_instance_private_ip_address> -r -w 2000 iPerf3 -c <server_instance_private_ip_address> -r -w 4000
- Medição de largura de banda bidirecional (
-
Comandos iPerf que usaremos para testar com UDP:
Observação:
- Testes UDP (
-u
). - Definições de largura de banda (
-b
).
-
No lado do servidor iPerf.
iPerf -s -u -i 1
-
No lado do cliente iPerf.
iPerf -c <server_instance_private_ip_address> -u -b 10m iPerf -c <server_instance_private_ip_address> -u -b 100m iPerf -c <server_instance_private_ip_address> -u -b 1000m iPerf -c <server_instance_private_ip_address> -u -b 10000m iPerf -c <server_instance_private_ip_address> -u -b 100000m
- Testes UDP (
-
Comandos iPerf que usaremos para testar com TCP (com MSS):
Observação: Tamanho Máximo do Segmento (
-m
).-
No lado do servidor iPerf.
iPerf -s
-
No lado do cliente iPerf.
iPerf -c <server_instance_private_ip_address> -m
-
-
Comandos iPerf que usaremos para testar com TCP (paralelo):
-
No lado do servidor iPerf.
iPerf -s
-
No lado do cliente iPerf.
iPerf -c <server_instance_private_ip_address> -P 2
Observação: Para todos os testes que realizaremos neste tutorial, usaremos os seguintes comandos finais.
-
-
Comando final iPerf para teste:
Observação:
- Definições de largura de banda (
-b
). - Testes paralelos (
-P
).
Para testar o throughput de uma conexão de 100 GB com 100Gbps, definimos o throughput como 9Gbps com 11 streams paralelos.
-
No lado do servidor iPerf.
iPerf -s
-
No lado do cliente iPerf.
iPerf -c <server_instance_private_ip_address> -b 9G -P 11
- Definições de largura de banda (
Tarefa 7: Executar Testes iPerf na Mesma VCN na Mesma Sub-rede
Nesta tarefa, executaremos um teste de throughput iPerf2 na mesma VCN e na mesma sub-rede. A imagem a seguir mostra os caminhos com as setas entre dois pontos finais nos quais executaremos os testes de throughput.
Tarefa 7.1: Da instância-A1 à instância-A2
Na tabela a seguir, você encontrará o endereço IP do cliente e do servidor (usado neste teste) e os comandos usados para executar o teste iPerf com os resultados do teste.
IP do servidor iPerf | 172.16.1.50 |
IP do cliente iPerf | 172.16.1.93 |
Comando iPerf no servidor | iPerf -s |
Comando iPerf no cliente | iPerf -c 172.16.1.50 -b 9G -P 5 |
Largura de banda testada (SUM) | 1,05 Gbits/s |
As imagens a seguir ilustram os comandos e a saída de teste completo do teste iPerf.
Tarefa 7.2: Da instância-A2 à instância-A1
Na tabela a seguir, você encontrará o endereço IP do cliente e do servidor (usado neste teste) e os comandos usados para executar o teste iPerf com os resultados do teste.
IP do servidor iPerf | 172.16.1.93 |
IP do cliente iPerf | 172.16.1.50 |
Comando iPerf no servidor | iPerf -s |
Comando iPerf no cliente | iPerf -c 172.16.1.93 -b 9G -P 5 |
Largura de banda testada (SUM) | 1,05 Gbits/s |
As imagens a seguir ilustram os comandos e a saída de teste completo do teste iPerf.
Tarefa 8: Executar Testes iPerf na Mesma VCN em Sub-redes Diferentes
Nesta tarefa, vamos executar um teste de throughput iPerf3 dentro da mesma VCN, mas duas sub-redes diferentes. A imagem a seguir mostra os caminhos com as setas entre os dois pontos finais em que executaremos os testes de throughput.
Tarefa 8.1: Do Firewall pfSense à Etapa do Hub
Na tabela a seguir, você encontrará o endereço IP do cliente e do servidor (usado neste teste) e os comandos usados para executar o teste iPerf com os resultados do teste.
IP do servidor iPerf | 172.16.0.252 |
IP do cliente iPerf | 172.16.0.20 |
Comando iPerf no servidor | iPerf3 -s |
Comando iPerf no cliente | iPerf3 -c 172.16.0.252 |
Largura de banda testada (SUM) | 958 Mbytes/seg |
As imagens a seguir ilustram os comandos e a saída de teste completo do teste iPerf.
Tarefa 8.2: Do Hub Step-Stone ao Firewall pfSense
Na tabela a seguir, você encontrará o endereço IP do cliente e do servidor (usado neste teste) e os comandos usados para executar o teste iPerf com os resultados do teste.
IP do servidor iPerf | 172.16.0.20 |
IP do cliente iPerf | 172.16.0.252 |
Comando iPerf no servidor | iPerf3 -s |
Comando iPerf no cliente | iPerf3 -c 172.16.0.20 |
Largura de banda testada (SUM) | 1,01 Gbit/s |
As imagens a seguir ilustram os comandos e a saída de teste completo do teste iPerf.
Tarefa 9: Executar Testes iPerf entre duas VCNs Diferentes
Nesta tarefa, executaremos um teste de throughput iPerf2 entre duas VCNs diferentes e duas sub-redes diferentes. Observe que o teste passará por um firewall localizado na VCN hub. A imagem a seguir mostra os caminhos com as setas entre os dois pontos finais em que executaremos os testes de throughput.
Tarefa 9.1: Da Instância-A1 à Instância-B
Na tabela a seguir, você encontrará o endereço IP do cliente e do servidor (usado neste teste) e os comandos usados para executar o teste iPerf com os resultados do teste.
IP do servidor iPerf | 172.16.2.88 |
IP do cliente iPerf | 172.16.1.93 |
Comando iPerf no servidor | iPerf -s |
Comando iPerf no cliente | iPerf -c 172.16.2.88 -b 9G -P 5 |
Largura de banda testada (SUM) | 1,02 Gbits/s |
As imagens a seguir ilustram os comandos e a saída de teste completo do teste iPerf.
Tarefa 9.2: Da Instância-B à Instância-A1
Na tabela a seguir, você encontrará o endereço IP do cliente e do servidor (usado neste teste) e os comandos usados para executar o teste iPerf com os resultados do teste.
IP do servidor iPerf | 172.16.1.93 |
IP do cliente iPerf | 172.16.2.99 |
Comando iPerf no servidor | iPerf -s |
Comando iPerf no cliente | iPerf -c 172.16.1.93 -b 9G -P 5 |
Largura de banda testada (SUM) | 1,02 Gbits/s |
As imagens a seguir ilustram os comandos e a saída de teste completo do teste iPerf.
Tarefa 10: Executar Testes iPerf entre Diferentes VCNs Ignorando o Firewall pfSense
Nesta tarefa, executaremos um teste de throughput iPerf2 entre duas VCNs diferentes e duas sub-redes diferentes. Observe que o teste ignorará o firewall localizado na VCN hub. A imagem a seguir mostra os caminhos com as setas entre os dois pontos finais em que executaremos os testes de throughput.
Tarefa 10.1: Da Instância-C à Instância-D
Na tabela a seguir, você encontrará o endereço IP do cliente e do servidor (usado neste teste) e os comandos usados para executar o teste iPerf com os resultados do teste.
IP do servidor iPerf | 172.16.4.14 |
IP do cliente iPerf | 172.16.3.63 |
Comando iPerf no servidor | iPerf -s |
Comando iPerf no cliente | iPerf -c 172.16.4.14 -b 9G -P 5 |
Largura de banda testada (SUM) | 1,04 Gbits/s |
As imagens a seguir ilustram os comandos e a saída de teste completo do teste iPerf.
Tarefa 10.2: Da Instância-D à Instância-C
Na tabela a seguir, você encontrará o endereço IP do cliente e do servidor (usado neste teste) e os comandos usados para executar o teste iPerf com os resultados do teste.
IP do servidor iPerf | 172.16.3.63 |
IP do cliente iPerf | 172.16.4.14 |
Comando iPerf no servidor | iPerf -s |
Comando iPerf no cliente | iPerf -c 172.16.3.63 -b 9G -P 5 |
Largura de banda testada (SUM) | 1,05 Gbits/s |
As imagens a seguir ilustram os comandos e a saída de teste completo do teste iPerf.
Tarefa 11: Executar Testes iPerf Entre a VCN Local e do Hub do OCI
Nesta tarefa, vamos executar um teste de throughput iPerf2 entre o local e o OCI usando um túnel IPSec VPN Site a Site. Observe que o teste passará pelo firewall localizado na VCN hub. A imagem a seguir mostra os caminhos com as setas entre os dois pontos finais em que executaremos os testes de throughput.
Observação:
Quando você executa testes de throughput (com ou sem iPerf) usando um túnel VPN IPSec e uma MTU (Unidade Máxima de Transmissão) e MSS (Tamanho Máximo do Segmento) de firewall pfSense, um fator importante a ser levado em consideração, quando isso é feito de forma errada, os resultados de throughput serão inválidos e não conforme esperado.
Com iPerf, você pode ajustar o fluxo de pacotes para que os pacotes sejam enviados com um MSS específico, você poderá usá-lo se não conseguir alterar as definições de MSS nos dispositivos no caminho entre sua origem ou destino.
Fixação do tamanho máximo do segmento
Neste tutorial, o lado local tinha uma MTU de 9000 enviando um pacote com o valor MSS de 1500 + sobrecarga IPSec.
A MTU da interface pfSense é 1500 ... causando problemas de fragmentação.
Ao definir o MSS da interface como 1300, ele altera o tamanho em tempo real e essa técnica é chamada de Acordo de Tamanho Máximo do Segmento.
Alteração do MSS em pfSense
Tarefa 11.1: Da Instância do Cliente VPN (On-Premises) à Etapa do Hub
Na tabela a seguir, você encontrará o endereço IP do cliente e do servidor (usado neste teste) e os comandos usados para executar o teste iPerf com os resultados do teste.
IP do servidor iPerf | 172.16.0.252 |
IP do cliente iPerf | 10.222.10.19 |
Comando iPerf no servidor | iPerf -s |
Comando iPerf no cliente | iPerf -c 172.16.0.252 -b 9G -P 5 |
Largura de banda testada (SUM) | 581 Mbits/s |
As imagens a seguir ilustram os comandos e a saída de teste completo do teste iPerf.
Tarefa 11.2: Da Etapa do Hub à Instância do Cliente VPN (On-Premises)
Na tabela a seguir, você encontrará o endereço IP do cliente e do servidor (usado neste teste) e os comandos usados para executar o teste iPerf com os resultados do teste.
IP do servidor iPerf | 10.222.10.19 |
IP do cliente iPerf | 172.16.0.252 |
Comando iPerf no servidor | iPerf -s |
Comando iPerf no cliente | iPerf -c 10.222.10.19 -b 9G -P 5 |
Largura de banda testada (SUM) | 732 Mbits/s |
As imagens a seguir ilustram os comandos e a saída de teste completo do teste iPerf.
Tarefa 12: Executar Testes iPerf entre VCN Spoke On-Premises e OCI
Nesta tarefa, vamos executar um teste de throughput iPerf2 entre o local e o OCI usando um túnel IPSec VPN Site a Site. Observe que o teste passará pelo firewall localizado na VCN hub. A imagem a seguir mostra os caminhos com as setas entre os dois pontos finais em que executaremos os testes de throughput.
Tarefa 12.1: Da Instância do Cliente VPN (On-Premises) à Instância-A1
Na tabela a seguir, você encontrará o endereço IP do cliente e do servidor (usado neste teste) e os comandos usados para executar o teste iPerf com os resultados do teste.
IP do servidor iPerf | 172.16.1.93 |
IP do cliente iPerf | 10.222.10.19 |
Comando iPerf no servidor | iPerf -s |
Comando iPerf no cliente | iPerf -c 172.16.1.93 -b 9G -P 5 |
Largura de banda testada (SUM) | 501 Mbits/s |
As imagens a seguir ilustram os comandos e a saída de teste completo do teste iPerf.
Novos Testes com MSS no Comando iPerf:
Observação: Com iPerf você pode ajustar o fluxo de pacotes para que os pacotes sejam enviados com um MSS específico, poderá usar os comandos a seguir se não puder alterar as definições de MSS nos dispositivos no caminho entre sua origem ou destino.
Na tabela a seguir, você encontrará o endereço IP do cliente e do servidor (usado neste teste) e os comandos usados para executar o teste iPerf com os resultados do teste.
IP do servidor iPerf | 172.16.1.93 |
IP do cliente iPerf | 10.222.10.19 |
Comando iPerf no servidor | iPerf -s |
Comando iPerf no cliente | iPerf -c 172.16.1.93 -b 9G -P 5 -M 1200 |
Largura de banda testada (SUM) | 580 Mbits/s |
As imagens a seguir ilustram os comandos e a saída de teste completo do teste iPerf.
Tarefa 12.2: Da Instância-A1 à Instância do Cliente VPN (On-Premises)
Na tabela a seguir, você encontrará o endereço IP do cliente e do servidor (usado neste teste) e os comandos usados para executar o teste iPerf com os resultados do teste.
IP do servidor iPerf | 10.222.10.19 |
IP do cliente iPerf | 172.16.1.93 |
Comando iPerf no servidor | iPerf -s |
Comando iPerf no cliente | iPerf -c 10.222.10.19 -b 9G -P 5 |
Largura de banda testada (SUM) | 620 Mbits/s |
Nas próximas capturas de tela, você também encontrará as saídas de teste completas dos testes iPerf.
Novos Testes com MSS no Comando iPerf:
Observação: Com iPerf você pode ajustar o fluxo de pacotes para que os pacotes sejam enviados com um MSS específico, poderá usar os comandos a seguir se não puder alterar as definições de MSS nos dispositivos no caminho entre sua origem ou destino.
Na tabela a seguir, você encontrará o endereço IP do cliente e do servidor (usado neste teste) e os comandos usados para executar o teste iPerf com os resultados do teste.
IP do servidor iPerf | 10.222.10.19 |
IP do cliente iPerf | 172.16.1.93 |
Comando iPerf no servidor | iPerf -s |
Comando iPerf no cliente | iPerf -c 10.222.10.19 -b 9G -P 5 -M 1200 |
Largura de banda testada (SUM) | 805 Mbits/s |
As imagens a seguir ilustram os comandos e a saída de teste completo do teste iPerf.
Tarefa 13: Executar Testes iPerf Entre o Local e a VCN Spoke do OCI ignorando o Firewall pfSense
Nesta tarefa, vamos executar um teste de throughput iPerf2 entre o local e o OCI usando um túnel IPSec VPN Site a Site. Observe que o teste ignorará o firewall localizado na VCN hub. A imagem a seguir mostra os caminhos com as setas entre os dois pontos finais em que executaremos os testes de throughput.
Tarefa 13.1: Da Instância do Cliente VPN (On-Premises) à Instância-D
Na tabela a seguir, você encontrará o endereço IP do cliente e do servidor (usado neste teste) e os comandos usados para executar o teste iPerf com os resultados do teste.
IP do servidor iPerf | 172.16.4.14 |
IP do cliente iPerf | 10.222.10.19 |
Comando iPerf no servidor | iPerf -s |
Comando iPerf no cliente | iPerf -c 172.16.4.14 -b 9G -P 5 |
Largura de banda testada (SUM) | 580 Mbits/s |
As imagens a seguir ilustram os comandos e a saída de teste completo do teste iPerf.
Tarefa 13.2: Da Instância-D à Instância do Cliente VPN (On-Premises)
Na tabela a seguir, você encontrará o endereço IP do cliente e do servidor (usado neste teste) e os comandos usados para executar o teste iPerf com os resultados do teste.
IP do servidor iPerf | 10.222.10.19 |
IP do cliente iPerf | 172.16.4.14 |
Comando iPerf no servidor | iPerf -s |
Comando iPerf no cliente | iPerf -c 10.222.10.19 -b 9G -P 5 |
Largura de banda testada (SUM) | 891 Mbits/s |
As imagens a seguir ilustram os comandos e a saída de teste completo do teste iPerf.
Tarefa 14: Executar Testes iPerf entre a Internet e a VCN do Hub do OCI
Nesta tarefa, executaremos um teste de throughput iPerf2 entre um cliente na internet e a OCI usando a internet. A imagem a seguir mostra os caminhos com as setas entre os dois pontos finais em que executaremos os testes de throughput.
Tarefa 14.1: Da Internet à Etapa do Hub
Na tabela a seguir, você encontrará o endereço IP do cliente e do servidor (usado neste teste) e os comandos usados para executar o teste iPerf com os resultados do teste.
IP do servidor iPerf | xxx.xxx.xxx.178 |
IP do cliente iPerf | xxx.xxx.xxx.152 |
Comando iPerf no servidor | iPerf -s |
Comando iPerf no cliente | iPerf -c xxx.xxx.xxx.178 -b 9G -P 5 |
Largura de banda testada (SUM) | 251 Mbits/s |
As imagens a seguir ilustram os comandos e a saída de teste completo do teste iPerf.
Tarefa 15: Pré-formar Testes iPerf na Mesma Sub-rede Local
Nesta tarefa, vamos executar um teste de throughput iPerf2 entre duas instâncias locais. A imagem a seguir mostra os caminhos com as setas entre os dois pontos finais em que executaremos os testes de throughput.
Tarefa 15.1: Da Instância do Cliente VPN (On-Premises) à Instância do CPE StrongSwan (On-Premises)
Na tabela a seguir, você encontrará o endereço IP do cliente e do servidor (usado neste teste) e os comandos usados para executar o teste iPerf com os resultados do teste.
IP do servidor iPerf | 10.222.10.70 |
IP do cliente iPerf | 10.222.10.19 |
Comando iPerf no servidor | iPerf -s |
Comando iPerf no cliente | iPerf -c 10.222.10.70 -b 9G -P 5 |
Largura de banda testada (SUM) | 1,05 Gbits/s |
As imagens a seguir ilustram os comandos e a saída de teste completo do teste iPerf.
Tarefa 15.2: Da Instância do CPE StrongSwan (On-Premises) à Instância do Cliente VPN (On-Premises)
Na tabela a seguir, você encontrará o endereço IP do cliente e do servidor (usado neste teste) e os comandos usados para executar o teste iPerf com os resultados do teste.
IP do servidor iPerf | 10.222.10.19 |
IP do cliente iPerf | 10.222.10.70 |
Comando iPerf no servidor | iPerf -s |
Comando iPerf no cliente | iPerf -c 10.222.10.19 -b 9G -P 5 |
Largura de banda testada (SUM) | 1,05 Gbits/s |
As imagens a seguir ilustram os comandos e a saída de teste completo do teste iPerf.
Resultados
Neste tutorial, executamos diferentes tipos de testes de throughput usando iPerf2 e iPerf3. Os testes foram realizados em várias fontes e destinos diferentes na arquitetura de rede completa com caminhos diferentes.
Na tabela a seguir, você pode ver um resumo dos resultados do teste que coletamos.
Tipo de Teste | Resultado da Largura de Banda | |
---|---|---|
Tarefa 7.1: Execute testes iPerf na mesma VCN na mesma sub-rede (Da Instância-A1 à Instância-A2) | 1,05 Gbits/s | Interno de OCI |
Tarefa 7.2: Execute testes iPerf na mesma VCN na mesma sub-rede (Da Instância-A2 à Instância-A1) | 1,05 Gbits/s | Interno de OCI |
Tarefa 8.1: Execute testes iPerf na mesma VCN em diferentes sub-redes (Do Firewall pfSense ao Stepstone hub) | 958 Mbytes/seg | Interno de OCI |
Tarefa 8.2: Execute testes iPerf na mesma VCN em diferentes sub-redes (De Stepstone do hub ao Firewall pfSense) | 1,01 Gbit/s | Interno de OCI |
Tarefa 9.1: Execute testes iPerf entre diferentes VCNs (Da Instância-A1 à Instância-B) | 1,02 Gbits/s | Interno de OCI |
Tarefa 9.2: Execute testes iPerf entre diferentes VCNs (Da Instância B à Instância A1) | 1,02 Gbits/s | Interno de OCI |
Tarefa 10.1: Execute testes iPerf entre diferentes VCNs (ignorando o Firewall pfSense) (Da Instância-C à Instância-D | 1,04 Gbits/s | Interno de OCI |
Tarefa 10.2: Execute testes iPerf entre diferentes VCNs (ignorando o Firewall pfSense) (Da Instância-D à Instância-C) | 1,05 Gbits/s | Interno de OCI |
Tarefa 11.1: Execute testes iPerf entre VCN do Hub on-premises e do OCI (Da Instância do Cliente VPN (on-premises) ao Hub Stepstone) | 581 Mbits/s | Local para OCI por meio de firewall |
Tarefa 11.2: Execute testes iPerf entre VCN do Hub on-premises e do OCI (Do Hub Stepstone à Instância do Cliente VPN (on-premises)) | 732 Mbits/s | Local para OCI por meio de firewall |
Tarefa 12.1: Execute testes iPerf entre a VCN Spoke on-premises e o OCI (Da Instância do Cliente VPN (on-premises) à Instância-A1) | 501Mbits/s | Local para OCI por meio de firewall |
Tarefa 12.2: Execute testes iPerf entre a VCN Spoke on-premises e a OCI (Da Instância-A1 à Instância do Cliente VPN (on-premises)) | 620 Mbits/s | Local para OCI por meio de firewall |
Tarefa 13.1: Execute testes iPerf entre a VCN Spoke on-premises e o OCI (ignorando o Firewall pfSense) (Da Instância do Cliente VPN (on-premises) à Instância-D) | 580 Mbits/s | Ignorar firewall on-premises para OCI |
Tarefa 13.2: Execute testes iPerf entre a VCN Spoke on-premises e o OCI (ignorando o Firewall pfSense) (Da Instância-D à Instância do Cliente VPN (on-premises)) | 891 Mbits/s | Ignorar firewall on-premises para OCI |
Tarefa 14: Execute testes iPerf entre a INTERNET e a VCN do OCI Hub (De INTERNET para Hub Stepstone) | 251 Mbits/s | Internet para OCI |
Tarefa 15.1: Execute testes iPerf na mesma sub-rede on-premises (Da Instância do Cliente VPN (on-premises) à Instância do CPE (on-premises) StrongSwan) | 1,05 Gbits/s | Local para local |
Tarefa 15.2: Execute testes iPerf na mesma sub-rede on-premises (Da Instância do CPE (on-premises) StrongSwan à Instância do Cliente VPN (on-premises)) | 1,05 Gbits/s | Local para local |
Confirmações
- Autor - Iwan Hoogendoorn (Especialista em Rede da OCI)
Mais Recursos de Aprendizagem
Explore outros laboratórios em docs.oracle.com/learn ou acesse mais conteúdo de aprendizado gratuito no canal Oracle Learning YouTube. Além disso, visite education.oracle.com/learning-explorer para se tornar um Oracle Learning Explorer.
Para obter a documentação do produto, visite o Oracle Help Center.
Use iPerf to Test the Throughput inside an OCI Hub and Spoke VCN Routing Architecture
G17038-01
October 2024