Перейти к содержанию
    

где теряются UDP пакеты?

соединение витая пара, точка-точка (плата-ПК) - то есть дуплекс и никаких конфликтов не должно быть (да и вообще, если сеть из витой пары и свитчей, то там колижин доменов вообще нет - все фул-дуплексное и точка-точка)

при этом наблюдаю, что количество потерянных пакетов зависит от скорости передачи (физика 1GbE), если передаю 100 секунд 100Мбит/с то ошибок нет, а 20 сек 500 Мбит/с уже появляется какой-то процент (>0.1% в моем случае) пакетов. то есть получается, что списать на шумы в линии и ошибки на PHY уровне не получается.

---------------

собственно вопрос, по-моему, сводится к тому - где в софтверной части происходит потеря?

передается LWIP standalone - принимается линуксом, причем в это время сильно ослабляется нагрузка на сеть в линухе (а к тому интерфейсу, к которому прицеплена плата, больше ничего не подключено)

=========

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

в линукс приложении я ничего пока на диск не пишу, просто считаю, сколько потерялось. за основу в линуксе взял примеры "udp-эхо" их сотни, но они одинаковые, там по одному пакету получает приложение от ядра (наверно иначе нельзя или сложно)

все это (минимум потерь и простейший механизм повтора передачи) хочется дешево и сердито, не особо разбираясь в линукс-интерналс и tcp/ip интерналс, если можно

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Приветствую!

Потеря  UDP в сети  может и будет  даже если вы для точка-точка золотые провода использовать будете.
Теряются пакеты из за эл помех.  переполнении вх. буф.  в сетевой карте. Задержки с обработкой буферов DMA карты, внутри стековых задержках, размере буферов.

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

Ну и сетевуха должна быть хорошей. 

Удачи! Rob.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

При отладке вот эту настройку лучше поставить в ноль ВРЕМЕННО

 

sysctl net.ipv4.conf.all.rp_filter

Вот так:
echo 0 >  /proc/sys/net/ipv4/conf/all/rp_filter
 
Она фильтрует пакеты не принадлежащие нашей локалке.

tspdump видит ваши пакеты?
 
 
 

 

On 11/3/2021 at 3:17 PM, RobFPGA said:

Приветствую!

Потеря  UDP в сети  может и будет  даже если вы для точка-точка золотые провода использовать будете.
Теряются пакеты из за эл помех.  переполнении вх. буф.  в сетевой карте. Задержки с обработкой буферов DMA карты, внутри стековых задержках, размере буферов.

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

Ну и сетевуха должна быть хорошей. 

Удачи! Rob.

Чаще помех причиной бывают все-таки настройки и баги. Поэтому да: надо смотреть счетчики дропнутых пакетов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 11/3/2021 at 10:14 PM, one_eight_seven said:

netstat что показывает по дропнутым пакетам?

сейчас у меня нет тестбенча - а про нетстат забыл (сейчас это deprecated софт для suse - нужно либо собирать самому, либо какой-то аналог)

а если я tcpdump включаю, то все ухудшается (единицы процентов)

и винда, кстати, дает больше потеряных пакетов (wireshark тоже ухудшает, но незначительно - то есть и так все плохо :) )

 

--------------

 

да - видят принятые пакеты и приложение и tcdump/wireshark - но как там увидеть пакеты не принятые приложением? (сомневаюсь, что это возможно)

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 hour ago, yes said:

сейчас у меня нет тестбенча - а про нетстат забыл (сейчас это deprecated софт для suse - нужно либо собирать самому, либо какой-то аналог)

Это есть и в ifconfig, и в ip, и в ethtool.

1 hour ago, yes said:

а если я tcpdump включаю, то все ухудшается (единицы процентов)

Скорее всего, ядро не справляется и дропает пакеты.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

12 часов назад, one_eight_seven сказал:

Скорее всего, ядро не справляется и дропает пакеты.

Господа! Давайте по-русски. А то выходит нечто вроде "Глокая куздра курдячит бокрёнка"...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

52 minutes ago, Herz said:

Давайте по-русски

И как быть с отсутствием устрявшейся терминологии?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

3 часа назад, aaarrr сказал:

И как быть с отсутствием устрявшейся терминологии?

Этому вопросу тыщу лет в обед. Просто до абсурда доводить не надо. Я не призываю к "мокроступам" вместо галош. Но "дропать" здесь вполне можно заменить понятным и подходящим по смыслу словом из русского словаря.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 hour ago, Herz said:

Этому вопросу тыщу лет в обед. Просто до абсурда доводить не надо. Я не призываю к "мокроступам" вместо галош. Но "дропать" здесь вполне можно заменить понятным и подходящим по смыслу словом из русского словаря.

Можно. В документах я бы и напсал: "отброшенных пакетов",- но так не говорят.

Изменено пользователем one_eight_seven

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 hours ago, Herz said:

можно заменить понятным и подходящим по смыслу словом из русского словаря.

Так предложите.

 

1 hour ago, one_eight_seven said:

я бы и напсал: "отброшенных пакетов",- но так не говорят

Да, и отброшенные - это rejected, а не dropped.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 hour ago, aaarrr said:

Да, и отброшенные - это rejected, а не dropped.

drop:

comp.		удалить; скинуть (drop a file on a USB stick VLZ_58)
comp., MS	удалить (To remove an association or connection)
construct.	понижать  давлении, температуре); понижаться  давлении, температуре)
econ.		падать  ценах)
electr.eng.	уменьшать
energ.ind.	отбрасывать (например, члены уравнения)
math.		отбрасывать (члены); выбросить; исключить; отбросить; откинуть; отставать; отстать; снижаться (off); снизиться (off); спасть; убрать; отказываться от
mech.		опустить пропускать  формуле и т.п.); падать о переменной, физической величине; опускать пропускать  формуле и т.п.)

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Работаем с сетевыми адаптерами через Pcap-драйверы

 

Но иногда требуется не просто работать с сетью, а делать это с предопределёнными параметрами, будь то расстояние между пакетами либо какое-то нестандартное их содержимое. Понятно, что речь идёт не о повседневной жизни, а об отладке либо тестировании проектов. В этом нам поможет работа через Pcap-драйверы. Например, через драйвер Npcap, устанавливающийся вместе с программой Wireshark.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

6 часов назад, one_eight_seven сказал:

но так не говорят

Но, почему бы и нет? Тем более, что Вы ведь здесь тоже пишете, а не говорите. А для людей, недостаточно глубоко погружённых в тему (к коим следует относить начинающих) так намного понятнее.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...