Как измерить скорость исходящего потока в режиме ядра?

Тема в разделе "WASM.NETWORKS", создана пользователем Son of God, 30 ноя 2005.

  1. Son of God

    Son of God New Member

    Публикаций:
    0
    Регистрация:
    11 сен 2005
    Сообщения:
    125
    Есть сетевой драйвер режима ядра, нужно узнать сколько килобит в секунду может отправлять нижестоящее устройство. Через OID не проходит, так как драйвер сетевого адаптера может эмулировать, к примеру, Ethernet 100 мегабит, а на самом деле управлять кабельным модемом 128 килобит, и т.п. Наверное, это нужно передать много пакетов фиксированной длины в очередь на отправку, а потом раз в секунду считать количество подтверждений об отправленных пакетах? У кого какие мысли по данной теме?
     
  2. Ms Rem

    Ms Rem New Member

    Публикаций:
    0
    Регистрация:
    17 апр 2005
    Сообщения:
    1.057
    Адрес:
    С планеты "Земля"




    Методика измерения полосы пропускания в режиме ядра принципиально не отличается от таковых измерений в юзермоде. А конкретная реализация зависит от того, на каком уровне делается измерение (NDIS, TDI). В случае TDI нужно просто посылать пакеты в синхронном режиме (синхронизируясь по IoConpletionRoutine которую можно установить в TdiBuildSend) и считать число отосланых пакетов в секунду. В случае же NDIS все немного усложняется, так как нужно еще позаботиться о приеме ответа (в этом случае я рекомендовал бы использовать большие ping пакеты).
     
  3. CARDINAL

    CARDINAL Member

    Публикаций:
    0
    Регистрация:
    23 янв 2004
    Сообщения:
    551
    Адрес:
    Moscow
    NetBench, и не парься !