Calculando o uso da rede de um servidor

2

Estou tentando calcular a% de utilização de rede de um servidor na minha rede para qualquer tráfego snmp, (in ou out). Eu segui os passos abaixo, alguém pode apontar se eu tiver errado no processo?

Passo 1: execute o tcpdump por um minuto para capturar todos os pacotes que tenham porta src ou dst como 161 (snmp) e envie para um arquivo de texto

Passo 2: extraia o tamanho dos pacotes capturados, exemplo abaixo:

11:09:59.602526 IP (tos 0x0, ttl 252, id 21267, offset 0, flags [none], proto UDP (17), **length 84**)
myremotedevice.snmp > mylocalserver.32802:  { SNMPv1 C=public { GetResponse(37) R=<redected>  E:redected=redected } } 

Etapa 3: adicione todos os comprimentos do arquivo, digamos, comprimento total = 4505407 bytes

Passo 4: Execute Y = (X * 8) / 60 para obter os bits por segundo.

Y = (4505407 * 8) / 60
Y = 600720.93

Passo 5: Eu tenho uma rede gigabit, então para encontrar o utilitário de rede eu executo o seguinte:% util = (Y / 1000000000) * 100

%util = (600720.93/1000000000) * 100
%util = 0.06%

Assim, posso concluir que a utilização de rede por segundo para o tráfego SNMP do meu servidor é de 0,06%

Então, a pergunta é: o cálculo acima é preciso? Obrigado!

    
por termcap 13.10.2016 / 22:25

1 resposta

1

Não, esse resultado é aproximadamente o dobro do que deveria ser.

Como seu filtro era a porta OR ou de origem, sendo 161, isso significa que você estava interessado no tráfego SNMP de entrada e saída.

O Gigabit Ethernet é sempre comutado, o que significa que é sempre full-duplex. Portanto, ele tem 1 gigabit / s de largura de banda de entrada, mais 1 gigabit / s de largura de banda de saída, para um total de 2 gigabits / s de largura de banda agregada. Então você deveria ter dividido em 2 bilhões em vez de 1 bilhão.

Além disso, seu cálculo provavelmente está próximo o suficiente para a maioria dos propósitos. Se você quisesse ser ainda mais preciso, poderia levar em conta o tempo que as lacunas obrigatórias entre pacotes, os preâmbulos de camada física e os delimitadores de início de quadro ocupam. Quando o Gigabit Ethernet envia bits, ele os envia a 1.000.000.000 de bits por segundo, mas não envia bits úteis constantemente (por causa das lacunas obrigatórias e preâmbulos que mencionei). Essas coisas não aparecem no que tcpdump captura, então, para ser ultra-preciso, você deve se lembrar delas. Se bem me lembro, o intervalo é de 96 bits, o + delimitador é 64 bits, para um total de 160 bits "invisíveis" por pacote.

Editado para adicionar: Você também pode querer verificar que o campo de comprimento que você está usando a partir da saída do tcpdump é o comprimento total do quadro Ethernet, e não apenas o comprimento do datagrama IP ou UDP.

    
por 13.10.2016 / 22:55