Время прибытия и планировщик libpcap
Я занимаюсь исследованием характеристик сетевого трафика. Обрабатывая собранные данные (собранные tcpdump и сохраненные в базе данных), я наткнулся на странное явление, связанное с временем поступления пакетов (или потоков):
Время прибытия между 35-170 мксек никогда не наблюдается
Конечно, без карты DAG (которая будет выполнять аппаратную отметку времени пакетов), я не могу полагаться на точность измерений ниже мс. Тем не менее я ищу причину, почему этот пробел существует в следующей кумулятивной функции распределения:
Я также нанес на график количество потоков, замеченных с определенным IAT:
Моя база данных содержит>13 млн. Потоков, поэтому маловероятно, что этот разрыв существует случайно - я только ищу причину.
Имеет это делать с расписанием? Я знаю, что планировщик ядра Linux (был машиной Debian) использует частоту 250 Гц, поэтому каждый такт равен 4 мс, что больше моего разрыва в 35-170 мкс в 200 раз. Есть ли какое-либо планирование, выполняемое сетевой картой? Видно много IAT по 0 мкс, поэтому я предполагаю, что эти пакеты обрабатываются непосредственно друг за другом. Я могу себе представить, что тип тика планировщика, который я ищу, составляет около 40 мкс, в результате чего значения IAT составляют 0
У вас есть подсказка, как я могу объяснить этот пробел? Большое спасибо! Штеффен
2 ответа
Это всего лишь гипотеза (она же WAG), но, возможно, 170us - это минимальное время между последовательными прерываниями от NIC (либо из-за оборудования NIC, контроллера DMA, контроллера прерываний, ЦП или некоторой комбинации всего этого).
Пакеты с временем поступления <35us будут соответствовать нескольким пакетам, полученным за одно прерывание (с различным временем обработки, в зависимости от размера и протокола). Само значение 35us будет соответствовать максимальному количеству пакетов, которые могут быть приняты за одно прерывание (из-за размера буферов NIC), с временем обработки в худшем случае.
Не совсем уверен, но я мог бы представить, что карта ведет себя с определенной скоростью тиков. Кроме того, как диапазон 35-170 мкс относится к длине пакета?