Подтвердить что ты не робот

Что такое значения полей в/proc/net/dev?

Файл Linux/proc/net/dev читается следующим образом:

[[email protected] ~]$ cat /proc/net/dev
Inter-|   Receive                                                |  Transmit
 face |bytes    packets errs drop fifo frame compressed multicast|bytes    packets errs drop fifo colls carrier compressed

Что означают поля drop и errs?

Некоторые пакеты ошибок также учитываются в пакетах пересылки?

Почему пакет считается ошибочным, потому что он страдает от ошибки контрольной суммы?

Почему пакет упал? Это потому, что в системе недостаточно буферов, потому что на сетевом адаптере есть некоторый пакет?

Уделяют ли два поля пакеты, предназначенные для другого хоста (например, когда сетевой адаптер работает в беспорядочном режиме)?

4b9b3361

Ответ 1

Вы можете посмотреть net/core/dev.c в исходном дереве, чтобы узнать, что это значит:

seq_printf(seq, "%6s:%8lu %7lu %4lu %4lu %4lu %5lu %10lu %9lu "
       "%8lu %7lu %4lu %4lu %4lu %5lu %7lu %10lu\n",
       dev->name,
       stats->rx_bytes,
       stats->rx_packets,
       stats->rx_errors,
       stats->rx_dropped + stats->rx_missed_errors,
       stats->rx_fifo_errors,
       stats->rx_length_errors + stats->rx_over_errors +
        stats->rx_crc_errors + stats->rx_frame_errors,
       stats->rx_compressed,
       stats->multicast,
       stats->tx_bytes,
       stats->tx_packets,
       stats->tx_errors,
       stats->tx_dropped,
       stats->tx_fifo_errors,
       stats->collisions,
       stats->tx_carrier_errors + stats->tx_aborted_errors +
        stats->tx_window_errors + stats->tx_heartbeat_errors,
       stats->tx_compressed);

Итак:

  • принимать ошибки означает любой вид недействительного пакета, например. недопустимая длина или неверная контрольная сумма
  • ошибки передачи
    • ошибки несущей
    • прерванные ошибки
    • ошибки окна
    • ошибки сердечного ритма
      (что бы они ни значили)

И да, я думаю, что падение означает, что устройство упало пакетом, потому что у него закончилось свободное пространство.

Ответ 2

В соответствии с http://www.onlamp.com/pub/a/linux/2000/11/16/LinuxAdmin.html значения каждого из столбцов:

байты Общее количество байтов данных, переданных или полученных интерфейсом.

пакеты Общее количество пакетов данных, переданных или полученных интерфейсом.

errs Общее количество ошибок при передаче или приеме, обнаруженных устройством драйвер.

drop Общее количество пакетов, отбрасываемых драйвером устройства.

fifo Число ошибок буфера FIFO.

фрейм Число ошибок кадрирования пакетов.

colls Число коллизий, обнаруженных на интерфейсе.

сжатый Количество сжатых пакетов, переданных или принятых устройством Водитель. (Это, кажется, не используется в ядре 2.2.15.)

несущая Число потерь несущей, обнаруженных драйвером устройства.

многоадресная рассылка Количество кадров многоадресной передачи, переданных или принятых устройством драйвер.

Ответ 3

Поскольку никто не ответил в течение почти шести месяцев, я не стесняюсь рассуждать:

Я не думаю, что ошибки и капли перекрываются. Я также считаю, что ошибки являются контрольной суммой или другими плохими данными в пакете полученной (т.е. Недостаточно данных для формирования целого пакета). Кроме того, я считаю, что капли применимы только к исходящим пакетам - как система узнает о потерянных пакетах где-то еще?