Pergunta

Estou pesquisando sobre caracterização do tráfego de rede.Ao processar os dados coletados (capturados pelo tcpdump e salvos em um banco de dados), me deparei com o estranho fenômeno dos tempos entre chegadas de pacotes (ou fluxos):

Tempos entre chegadas de 35-170 µseg nunca são observados

É claro que, sem uma placa DAG (que faria a marcação de data e hora do hardware dos pacotes), não posso confiar na precisão das dimensões abaixo de ms.No entanto, estou procurando uma razão pela qual existem essas lacunas na seguinte função de distribuição cumulativa:CDF for flow inter-arrival times

Também plotei o número de fluxos vistos com um IAT específico: alt text

Minha base de dados contém mais de 13 milhões de fluxos, portanto é muito improvável que essa lacuna exista por acidente - estou apenas procurando o motivo.

Tem alguma coisa.a ver com agendamento?Eu sei que o agendador do kernel Linux (era uma máquina Debian) usa uma frequência de 250 Hz, portanto cada tick é de 4 ms, o que é maior que meu intervalo de 35-170 µseg por fator> 200.Existe algum tipo de agendamento feito pela placa de rede?Há muitos IATs de 0 µs foram vistos, então presumo que esses pacotes sejam processados ​​diretamente um após o outro.Posso imaginar que o tipo de tick do agendador que estou procurando é de cerca de 40 µseg, resultando em IATs de 0<x<40µseg e depois outras coisas além da minha captura são feitas (para 120µseg = 3ticks) e recebo apenas ticks> 120µseg.

Você tem alguma ideia de como eu poderia explicar essa lacuna?Muito obrigado!Steffen

Foi útil?

Solução

Esta é apenas uma hipótese (também conhecida como WAG), mas talvez 170us seja o tempo mínimo entre interrupções consecutivas da NIC (seja devido ao hardware da NIC, ao controlador DMA, ao controlador de interrupção, à CPU ou alguma combinação de todos estes).

Os pacotes com tempos entre chegadas <35us corresponderiam a múltiplos pacotes recebidos em uma interrupção (com diferentes tempos de processamento, dependendo do tamanho e do protocolo).O próprio 35us corresponderia ao número máximo de pacotes que podem ser recebidos em uma interrupção (devido ao tamanho dos buffers da NIC), com os tempos de processamento do pior caso.

Outras dicas

Não tenho certeza, mas posso imaginar o cartão fazendo algum tipo de contabilidade com uma certa taxa de ticks.Além disso, como o intervalo de 35 a 170 µs se relaciona com o comprimento do pacote?

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top