Compreendendo a taxa de pacotes por segundo (“throughput”) | Academia CCNA

Compreendendo a taxa de pacotes por segundo (“throughput”)

figura00Muitos profissionais da área possuem dificuldades em compreender corretamente o que significa “throughput“. Othroughput é o termo dado à quantidade de dados transferidos em uma rede, utilizando-se como unidades básicas o Kbps, Mbps, e o Gbps. Há também a unidade “packets per second” ou “PPS” que determina a quantidade de pacotes que podem ser efetivamente transferidos através da rede por segundo. Há uma relação entre a largura de banda de uma rede e a real capacidade de transferência de dados sobre ela (othroughput efetivo), e isto pode ser medido em bits por segundo ou em alguns casos em pacotes por segundo. No entanto, embora haja esta relação entre a largura de banda e o throughput, o throughput é diferente da largura de banda nominal. Isto é verdadeiro porque o throughput sempre se dará pela condição de menor capacidade de uma das pontas, supondo que, por exemplo, em um ponto a capacidade/largura nominal seja de 10 Gbps e na outra ponta a capacidade seja de 1 Gbps: neste caso, o throughput em bits por segundo será de 1 Gbps. É importante conhecer estas unidades básicas e estas medições, pois é através deles que realizamos o planejamento e estudo de capacidades de uma rede. O desempenho de uma parte da rede, e até mesmo de toda a rede em função desta parte – como é o caso da decorrência de gargalos – está condicionado ao correto dimensionamento das capacidades a serem aplicadas sobre a infraestrutura. Por exemplo, qual tipo de equipamento você posicionará naquela camada da rede? Quais deverão ser as capacidades das portas deste equipamento? A escolha do equipamento correto em termos de desempenho e capacidades será fundamental para fazer com que as aplicações que dependem da infraestrutura se comportem corretamente e de acordo com os níveis de serviço determinados, e em função dos requerimentos de transmissão de cada tipo de aplicação.  Por exemplo, voz (VoIP) é extremamente intolerante quanto a perda de pacotes, atrasos ou delay fim-a-fim elevados, e variação no atraso da rede (jitter). Por outro lado, vídeo-conferência sobre o protocolo IP requer suficiência de banda e baixo retardo, enquanto aplicações de missão crítica deverão ter garantias de suficiência de banda e algum desempenho determinístico na medida do possível. Uma coisa é a taxa teórica de uma interface, outra coisa é o que ocorre na prática. Toda rede é composta por equipamentos, e cada equipamento introduz atrasos na rede, tais como:

  • Atraso decorrente de processamento (ex: CPU), que costuma ser variável;
  • Atraso decorrente de enfileiramento (filas tais quais FIFO, CQ, PQ, WFQ, LLQ, MDRR, WRR, SRR), que pode ser variável mas também poderá ganhar um aspecto determinístico por conta de configurações de QoS;
  • Atraso decorrente da “serialização” dos dados no meio de transmissão. Este atraso costuma ser fixo, determinado pelo tipo de interface;
  • Atraso decorrente da propagação do bit fim-a-fim, que é fixo mas varia de meio de transmissão para meio de transmissão, e de enlace para enlace. Por exemplo, um enlace de WAN de 2 Mbps entre Rio de Janeiro e Niterói será provavelmente bem mais rápido do que um enlace de WAN entre Rio de Janeiro e Rio Branco no Acre.

Portanto é natural que o desempenho prático de uma rede não seja necessariamente aquele esperado baseado em sua condição teórica. Há situações onde um equipamento possui interfaces com 10 Gbps de capacidade de transmissão, mas ao chegar a 1.5 Mpps (milhões de pacotes por segundo) na prática, o equipamento fica literalmente “surrado”, com quase 100% de processamento registrado na CPU, apresentando péssimo desempenho e registrando perdas de pacotes e atrasos bastante indesejáveis. Conforme eu havia comentado, a taxa prática de pacotes por segundo tem relação, sim, com o tipo de equipamento e suas capacidades. No entanto, a taxa teórica é definida por standard (padrão), e obrigatoriamente tem que ser idêntica em todos os fabricantes. Ou seja, a taxa teórica de uma porta FastEthernet de um switch CISCO tem que ser idêntica a taxa de uma porta FastEthernet de um switch Planet. Isto porque se ambos os produtos foram projetados em total conformidade com os padrões Ethernet, eles tem que ostentar as mesmas capacidades em suas portas Ethernet. O que pesa mais, 1 Kg de chumbo ou 1 Kg de algodão? Absolutamente a mesma coisa, pois a unidade em questão é o kilograma. E o mesmo tem relação uma porta Gigabit Ethernet: se é Gigabit Ethernet em fabricante “A”, também será para fabricante “B”. Portanto, o que difere não é a porta Ethernet em si, mas como os componentes gerais do produto do fabricante interagem e participam em termos de processamento e transmissão. Equipamentos com melhores capacidades efetivamente poderão utilizar melhor a largura de banda proporcionada pela porta Ethernet em questão enquanto ostentando taxas de transmissão de pacotes por segundo mais elevadas e, preferencialmente, mais próximas possíveis do “teto” estabelecido pelo padrão Ethernet daquele tipo de interface (100 Mbps, 1 Gbps, 10 Gbps…). Falando nestas taxas de transmissão com a unidade pacotes por segundo, isto é algo definido pelos padrões Ethernet. Alguns exemplos?

  • Ethernet (10 Mbits/sec):  14,880 pps
  • Fast Ethernet:   148,800 pps
  • Gigabit Ethernet:  1.4 million PPS

Se a taxa de pacotes por segundo de uma porta FastEthernet é padrão em todos os equipamentos, ou seja, 148,800 pacotes por segundo, por que, então, um switch “X” é melhor do que o outro, “Y”? Por que um switch “X” consegue na função comutação em multicamadas uma taxa de transmissão em pacotes por segundo mais elevada do que o switch “Y”? Isto tem a ver com diversas situações, envolvendo o processamento interno dos equipamentos, e como recursos e funcionalidades são tratadas (ex: roteamento baseado em hardware especializado (ASIC…), QoS, ACLs, também em hardware, etc.). Só para constar, tipicamente um switch é muito mais rápido do que um router. Por que? Porque um roteador geralmente possui muito mais inspeções para realizar (cabeçalhos adicionais, etc.), sem contar que a adição de serviços de tratamento mais avançados nos pacotes (ex: ACL, QoS, etc.) acarretam em atrasos maiores decorrentes destes processamentos, o que fazem com que a taxa prática de uma porta (ex: FastEthernet) simplesmente caia. E muito por conta, obviamente, do fato que estes processamentos adicionais, tais como a a consulta e posterior aplicação de uma regra de segurança (ACL), uma tradução de endereços (NAT), o mesmo para QoS, e situações do gênero, são realizadas por processos de software em execução na CPU do equipamento, ao invés de hardware especializado, como é o caso dos multilayer switches da atualidade. Em um switch Ethernet “fraco” padrão, quando um pacote é só “comutado” (sem roteamento), a taxa de transmissão poderá chegar a Mpps. Quando o pacote precisa ser roteado, esta taxa cai dramaticamente para milhares de pacotes por segundo (ao invés de Milhões). Em equipamentos mais modernos e sofisticados, quando se consegue rotear na mesma taxa em que se consegue comutar, chamamos isto de “wire-speed”. O wire-speed é essencialmente a capacidade do equipamento em transmitir tráfego layer 2 ou layer 3 na mesma taxa e sem degradação de performance por conta desta distinção (independentemente do pacote estar sendo roteado ou comutado). Este é o diferencial entre um switch da marca “X” e outro da marca “Y”, embora, em termos de taxa de pacotes por segundo da porta Ethernet em si, ambos sejam teoricamente iguais. No esquemático abaixo, por exemplo, eu mostro o switch Cisco Catalyst 3560 executando consultas múltiplas em um pacote (computando ao mesmo tempo o next-hop L3, adjacência L2, e verificando as policies de QoS e segurança (ACL)). Este tipo de equipamento consegue comutar (camada 2) e rotear (camada 3), além de executar QoS e segurança (com ACL) sem qualquer comprometimento da taxa de desempenho das portas envolvidas no equipamento: este tipo de equipamento é capaz de sustentar a mesma taxa de transferência de pacotes por segundo, independentemente se o tráfego estiver sendo comutado (layer 2) ou roteado (layer 3), ou possuir tratamento especial para fins de segurança (ACL) ou qualidade de serviço (QoS). Exemplo com dois equipamentos: Catalyst 2960 e 6500. Se um switch tipo o Catalyst 2960-24TTL possui taxa de 6,5 Mpps, isto significaria que teríamos 270.833 por cada uma das 24 portas FE? A resposta é NÃO. O switch precisa, no quantitativo total desta capacidade (6,5 Mpps) uma reserva para outras funções do equipamento. A taxa teórica de cada porta Fast Ethernet continuaria sendo aquela estabelecida pela norma (148,800 pps). Já o exemplo com o switch Catalyst 6500 é interessante. Ali cita a taxa de 450 Milhões de pacotes por segundo assegurada pela Supervisor exemplificada. Obviamente isto significa que quando o equipamento está todo preenchido com portas em módulos de última geração (que suportam o dCEF com o hardware DFC3C acoplado em cada um de seus módulos de I/O), a capacidade consolidada de todas estas portas perfazem 450 Mpps. Outra dúvida muito frequente nos profissionais da área é: qual a diferença entre Forwarding Bandwidth eSwitching Bandwidth? O Forwarding Bandwidth é a banda de comutação em full duplex. Simples:

  • Considere um switch de 48 portas de 1 Gbps + 2 uplinks 10 Gbps + 2 portas stacking 10 Gbps = 88 Gbps (non-blocking). Esta é a sua banda de encaminhamento do switch.
  • Switching Bandwidth na verdade considera o IN e OUT do forwarding bandwidth. Portanto, 88 * 2 = 176 Gbps. Isto é o seu “backplane”.

Se olharmos no gráfico abaixo, veremos o forwarding bandwidth e switching bandwidth de um switch Cisco Catalyst 2960-S. Espero com esta publicação ter contribuído para o esclarecimento de dúvidas acerca destes conceitos. Leonardo


Post a Comment

O seu endereço de email não será publicado Campos obrigatórios são marcados *

Random Posts

  • Agenda

    dezembro 2018
    S T Q Q S S D
    « ago    
     12
    3456789
    10111213141516
    17181920212223
    24252627282930
    31