где диспетчер задач Windows измеряет скорость передачи данных в сети

751
Vinay Madapura

Я пытаюсь построить канал Ethernet 10 Гбит / с между FPGA и ПК с Windows 7. Для грубой оценки я измерил использование пропускной способности канала с помощью вкладки «Сеть» диспетчера задач Windows. Позже я измерил пропускную способность с помощью Wireshark. Я делаю небольшой расчет путем деления общего количества байтов на время (N bytes/T)*8 bits per second.

При более низких скоростях линии (<= 5Gbps)оба измерения близко совпадают. Однако, когда я увеличил скорость передачи данных, скажем, выше 5 Гбит / с, график в диспетчере задач соответственно увеличился, но скорость передачи данных, полученная Wireshark, снизилась примерно до 2,5–3 Гбит / с.

Я могу только догадываться, что это проблема уровня ОС. Я понимаю, что скорость передачи данных и скорость передачи данных - это две разные вещи. Пожалуйста, поправьте меня, если я ошибаюсь.

Мои вопросы:

  1. Где диспетчер задач измеряет скорость линии?
  2. Где Wireshark перехватывает пакеты?

Я прочитал этот пост и понял, что Wireshark перехватывает пакеты между драйвером NIC и более высокими уровнями (мое предположение, транспортный уровень), но я не уверен.

ОБНОВИТЬ

Я попытался проверить с помощью монитора ресурсов. Показывает количество байтов, передаваемых конкретному приложению (если я не ошибаюсь). Когда я передаю данные из ПЛИС со скоростью 10 Гбит / с, монитор ресурсов показывает скорость передачи 1,26 гигабайта в секунду (10,001 гигабит в секунду!). Это смущает меня больше сейчас!

Почему Wireshark пропускает эти пакеты?

Дополнительная информация и параметры сетевого адаптера:

Я использую протокол UDP. Это может быть одной из возможных причин потери пакетов на скоростях> 5 Гбит / с. Пакеты из FPGA имеют длину 16060 байт (16000 байт полезной нагрузки и 60 байт заголовков).

  1. Получите буфер до 60000 (максимум 65535).
  2. Jumbo-кадры включены - 16128 (максимальное значение)
  3. Включено RSS
  4. Включена выгрузка контрольной суммы UDP и TCP
  5. Количество процессоров RSS до 6 (на ПК доступно 6 физических ядер)
  6. Прерывание слияния 25us (не уверен в этом)

Я новичок в области сетей. Любая помощь будет оценена.

3
Диспетчер задач иногда использует разные счетчики. Вы пробовали монитор ресурсов? Он имеет сетевые счетчики и должен работать в этом случае. Или вы можете использовать Windows Perfmon. Тем не менее, вам также может понадобиться сделать основные расчеты. Epoxy 7 лет назад 0
@Epoxy, да я посмотрел в мониторе ресурсов. Я добавил еще несколько деталей в вопрос. Пожалуйста, посмотрите Vinay Madapura 7 лет назад 0
Счетчики TCP, IP, ICMP и UDP недоступны в служебной программе Performance Monitor по умолчанию. Пожалуйста, попробуйте установить службу SNMP через Программы и компоненты. После установки откройте командную строку с повышенными правами и запустите net start snmp. Это включит счетчики. Вы можете просмотреть доступные счетчики и настроить захват. Wireshark работает на канальном уровне. Но, с точки зрения ОС, он может работать с более высокими уровнями (протоколами) в зависимости от требований. Epoxy 7 лет назад 0

0 ответов на вопрос