Forum Replies Created
-
AuthorPosts
-
alexander
Participant1) Оригинальная
2) На ОС 64 бит используется 64 битная сборка Ethernet Bridge
3) Брал с гитхаба (файл у меня называется “ethernet_bridge-master.zip”) 16.10.2017 числа.
4) загрузка ЦП (1-3 %) и сети (0,25 %).alexander
ParticipantДо переключения IPEnableRouter был равен 1.
alexander
Participantalexander
ParticipantЗдравствуйте! Есть вопрос по bandwidth при организации моста через ваш программу Ethernet Bridge. Использую такую тестовую систему из 2 компов
.
Тестировал скорость моста через утилиту iperf3:
1) Сервер на адресе 192.168.хх.113, клиент забинден на адресе 192.168.хх.3
– трафик сервер <– клиент 548-612 Мбит/сек
– трафик сервер –> клиент 18-90 Мбит/сек
2) Сервер на адресе 192.168.хх.3, клиент забинден на адресе 192.168.хх.113
– трафик сервер <– клиент 471 Мбит/сек
– трафик сервер –> клиент 462 Мбит/сек
3) Сервер на адресе 192.168.хх.113, клиент забинден на адресе 192.168.хх.36
– трафик сервер <– клиент 600 Мбит/сек
– трафик сервер –> клиент 2,5 Мбит/сек
4) Сервер на адресе 192.168.хх.36, клиент забинден на адресе 192.168.хх.113
– трафик сервер <– клиент 2,5 Мбит/сек
– трафик сервер –> клиент 485 Мбит/секБеспокоят ситуации 3 и 4: почему скорость трафика от хх.113 до хх.36 такая низкая, всего 2,5 Мбит/сек, а в обратную сторону на 2 порядка больше? Также интересно, почему ситуации 1 и 2 не симметричные? В чем может быть причина этих феноменов?
alexander
Participant1) Не знаю почему, но если установить событие через SetHwPacketFilterEvent, то мост перестает работать или работает так медленно, что связь нестабильная (не знаю точно).
2) Иногда сбивается режим фильтра с NDIS_PACKET_TYPE_PROMISCUOUS на значение 0, но мост все равно работает: пинг до интернета и до локальных компьютеров идет норм.alexander
ParticipantЯ нашел причину такого поведения. Версия 3.2.9.1 содержит такой конструктор:
public: __thiscall CNdisApi::CNdisApi(char const *)А тестовая версия 3.2.10.1 содержит немного другой конструктор:
public: __thiscall CNdisApi::CNdisApi(wchar_t const *)Может для совместимости лучше использовать вариант из версии 3.2.9.1?
alexander
ParticipantУ меня Win7 64 bit. Я удалил предыдущую версию, установил “Windows Packet Filter 3.2.10.1 x64.msi”, потом скопировал в папку своего проекта файл “ndisapi.dll” из папки Win32/Release, вызвал ф-цию OpenFilterDriver, и проверил IsDriverLoaded. К сожалению, он вернул False. Если же я использую старую dll из файла “WinpkFilter Runtime & Tools 3.2.9.1.exe”, то IsDriverLoaded возвращает True. Что делать?
alexander
ParticipantДобавьте, пожалуйста, новую ф-цию SetHwPacketFilterEvent в C-interface вашей dll.
alexander
ParticipantА можно попробовать вариант (custom build) с event, который уведомлял бы об изменении режима?
alexander
ParticipantОказалось, что сбился неразборчивый режим. В чем может быть причина? Как узнать о его изменении, кроме постоянного опроса через GetHwPacketFilter?
alexander
ParticipantВ свою тестовую программу я внедрил реакцию на событие SetAdapterListChangeEvent. Это не помогло. Симптомы повторились, но событие не сработало (не просигнализировало). Однако перезапуск 2-х тридов, организующих мост, помог. Что еще может быть?
alexander
ParticipantЗначит, чтобы в моей программе, которая организует мост таким же образом, как и ваш Ethernet Bridge, нужно мониторить событие по SetAdapterListChangeEvent и по его срабатыванию пересоздавать мост, используя новые индексы интерфейсов из GetTcpipBoundAdaptersInfo?
alexander
Participant1) я потому и выбрал ваш продукт, т.к. нет возможности написать свой драйвер
2) а вот тут я мало что понял.alexander
ParticipantОтносительно вашего совета у меня есть сомнения:
1) если сделать мост программным, то при падении программы вся Internet-связь прекратится. А это не допустимо, т.к. компьютер-посредник может быть установлен в организации между роутером и провайдером для записи всех SIP-разговоров организации.
2) для большего перфоманса хотелось бы в user-mode обрабатывать не весь трафик, а только незначительную часть. Для этого я использую SetPacketFilterTable.
3) мне кажется надежность и скорость моста средствами самой ОС выше, чем использование собственной программы.
Что думаете? -
AuthorPosts