|
Посоветуйте микроконтроллер, для IP (UDP) filtering |
|
|
|
Sep 17 2014, 18:56
|

Знающий
   
Группа: Участник
Сообщений: 974
Регистрация: 4-04-08
Из: далека
Пользователь №: 36 467

|
В общем, в одной ethernet сети по производственной необходимости оказалось наше устройство на STM32F107 и много других, которые шлют UDP broadcast. Так как это ethernet broadcast, приходится принимать все пакеты, потом сбрасывать, когда ясно что не нам. В итоге периодически затыкается контроллер, так как есть и другие задачи.
Хочу разбить на 2: один микроконтроллер с ethernet будет фильтровать IP пакеты, другой делать другие задачи. Как бы его и так хватает, это чисто раутер с 802.15.4 250 килобит на IP. Если бы не затыкался. Какой взять не очень большой микроконтроллер с ethernet? Хорошо бы еще канал пошире для обмена с другим микроконтролером, но это вряд ли. Наверное, обычный SPI.
Думал поставить Wiz5100 для фильтра бродкаст пакетов, но он же, наверное, пропустит UDP бродкаст пакет?
--------------------
Верить нельзя никому, даже себе. Мне - можно.
|
|
|
|
|
 |
Ответов
|
Sep 18 2014, 05:08
|
Гуру
     
Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454

|
Ну все верно. Не хватает ресурсов на работу, потому что задолбили пакетами - ставь выделенный обработчик. А поставить 2 одинаковых проца - дорого? Зачем элементную базу то плодить?
Можно кстати красиво решить: Ставьте в сеть 2 ваших устройства, на первом, что делает дело, выключайте UDP вообще, на втором создавайте TCP соединение с первым, и пусть он пакеты фильтрует, и те что к устройству по ТСР отдает первому, тот обрабатывает и возвращает обратно. Тогда даже плату переразводить не надо, просто 2 штуки поставить.
|
|
|
|
|
Sep 18 2014, 12:06
|

Знающий
   
Группа: Участник
Сообщений: 974
Регистрация: 4-04-08
Из: далека
Пользователь №: 36 467

|
Цитата(Golikov A. @ Sep 18 2014, 01:08)  Ну все верно. Не хватает ресурсов на работу, потому что задолбили пакетами - ставь выделенный обработчик. А поставить 2 одинаковых проца - дорого? Зачем элементную базу то плодить?
Можно кстати красиво решить: Ставьте в сеть 2 ваших устройства, на первом, что делает дело, выключайте UDP вообще, на втором создавайте TCP соединение с первым, и пусть он пакеты фильтрует, и те что к устройству по ТСР отдает первому, тот обрабатывает и возвращает обратно. Тогда даже плату переразводить не надо, просто 2 штуки поставить. Да както некузяво. И так 100 ножковый СТМ32 стоит. Еще один 100 ножковый ради ethernet только. 2. Красиво не получится. Как они будут соединятся, в том же сегменте? Там фишка же в том, что UDP broadcast приходит в пакете ethernet broadcast. То есть 2й, где UDP выключено, все равно будет принимать весь поток так как вунужден принимать ethernet broadcast - вдруг там ARP? и анализировать. Цитата(SM @ Sep 18 2014, 01:44)  А, просто, поставить более мощный процессор? Не с 72 МГЦ, а, например, с 720 МГЦ  ? Или свет клином именно на этом сошелся? Какой имеено процессор рекомендуете? Все они, как правило, уже более навороченные. Не ставить же А8 для простого раутера? Цитата(doom13 @ Sep 17 2014, 16:30)  Для этого используется IP multicast (для передачи сообщения нескольким адресатам). MAC-адрес в этом случае формируется по определённым правилам, а тут описано по каким.Broadcast MAC-адрес используется только в ARP-запросах, но они-то точно не должны вешать сеть. Не верю! Вот документ: http://tools.ietf.org/html/rfc1122#page-66Цитата When a host sends a datagram to a link-layer broadcast address, the IP destination address MUST be a legal IP broadcast or IP multicast address. Все нормально: UDP бродкасты посылаются с MAC бродкастами
--------------------
Верить нельзя никому, даже себе. Мне - можно.
|
|
|
|
|
Sep 18 2014, 12:26
|
Профессионал
    
Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539

|
Цитата(A. Fig Lee @ Sep 18 2014, 15:06)  Не верю! Чему именно не верите, что broadcast не используется для передачи данных, а используется в ограниченном числе протоколов? Тогда Google в помощь. Цитата(A. Fig Lee @ Sep 18 2014, 15:06)  Все нормально: UDP бродкасты посылаются с MAC бродкастами Broadcast используется в основном для служебной информации или для передачи другой исключительно узкополосной информации. Если Вы начнёте бомбить данные при помощи broadcast - заглушите все устройства в сети, что и произошло.
|
|
|
|
|
Sep 18 2014, 12:46
|

Знающий
   
Группа: Участник
Сообщений: 974
Регистрация: 4-04-08
Из: далека
Пользователь №: 36 467

|
Цитата(doom13 @ Sep 18 2014, 08:26)  Чему именно не верите, что broadcast не используется для передачи данных, а используется в ограниченном числе протоколов? Тогда Google в помощь.
Broadcast используется в основном для служебной информации или для передачи другой исключительно узкополосной информации. Если Вы начнёте бомбить данные при помощи broadcast - заглушите все устройства в сети, что и произошло. При чем здесь "ограниченное число протоколов"? Бродакст используется там, где он оправдан, а не там, где "гугл разрешил". Не верю тому, что "неправильно посылать UDP broadcast с MAC broadcast". Все законно. Бывает, что надо и данные передавать при помощи бродкаст, как видим. То, что Вам такая ситуация не попадалась, ни о чем не говорит. С опытом прийдет.
--------------------
Верить нельзя никому, даже себе. Мне - можно.
|
|
|
|
|
Sep 18 2014, 13:15
|
Профессионал
    
Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539

|
Цитата(A. Fig Lee @ Sep 18 2014, 15:46)  При чем здесь "ограниченное число протоколов"? Бродакст используется там, где он оправдан, а не там, где "гугл разрешил". При том, что broadcast используется только в ARP, DHCP (может быть где-то ещё), т.е. в протоколах которым не требуется широкая полоса, где нет большого потока информации. Цитата(A. Fig Lee @ Sep 18 2014, 15:46)  Не верю тому, что "неправильно посылать UDP broadcast с MAC broadcast". Все законно. Вы можете не верить, но это так. Вашему устройству нет необходимости принимать тот "ненужный" поток информации. Оно должно было находясь в данной сети выполнять какие-то другие функции. Вот если бы при передаче данных по UDP использовался не broadcast а multicast, Вы бы смогли легко фильтрануть все ненужные Вам пакеты и не ломали бы голову, как же устранить данную проблему. С другой стороны узлы, которым необходима данная информация её бы и принимали, только настроить их надо было бы правильно - на приём мультикаста (выше написано как). Цитата(A. Fig Lee @ Sep 18 2014, 15:46)  Бывает, что надо и данные передавать при помощи бродкаст, как видим. То, что Вам такая ситуация не попадалась, ни о чем не говорит. С опытом прийдет. Как видим, передача при помощи broadcast добавила Вам лишних проблем, которых могло бы и не быть если разобраться с multicast. Скорее всего с опытом к Вам придёт понимание того, что в данной ситуации нужно было использовать групповой IP-адрес, а не строить "костыль" для выхода из ситуации.
|
|
|
|
Сообщений в этой теме
A. Fig Lee Посоветуйте микроконтроллер Sep 17 2014, 18:56 doom13 Что это за устройства такие, что broadcast-ами заг... Sep 17 2014, 20:01 Golikov A. А какой мак адрес должен быть в UDP запросе, котор... Sep 17 2014, 20:21 doom13 Цитата(Golikov A. @ Sep 17 2014, 23:21) А... Sep 17 2014, 20:30 Golikov A. правильнее сказать должен быть использован.... Sep 17 2014, 20:32 doom13 В общем, использование для отправки какой-либо инф... Sep 17 2014, 20:52 A. Fig Lee Цитата(doom13 @ Sep 17 2014, 16:52) В общ... Sep 18 2014, 00:20  doom13 Цитата(A. Fig Lee @ Sep 18 2014, 03:20) ... Sep 18 2014, 06:33 scifi Цитата(A. Fig Lee @ Sep 17 2014, 22:56) Т... Sep 18 2014, 00:58 A. Fig Lee Цитата(scifi @ Sep 17 2014, 20:58) Не вер... Sep 18 2014, 02:00  scifi Цитата(A. Fig Lee @ Sep 18 2014, 06:00) В... Sep 18 2014, 14:55   A. Fig Lee Цитата(scifi @ Sep 18 2014, 10:55) Не вер... Sep 18 2014, 15:47    doom13 Цитата(A. Fig Lee @ Sep 18 2014, 18:47) 2... Sep 18 2014, 20:17     A. Fig Lee Цитата(doom13 @ Sep 18 2014, 16:17) Может... Sep 19 2014, 01:25      doom13 Цитата(A. Fig Lee @ Sep 19 2014, 04:25) О... Sep 19 2014, 06:47       AlexandrY Цитата(doom13 @ Sep 19 2014, 09:47) На ск... Sep 19 2014, 07:03     A. Fig Lee Цитата(doom13 @ Sep 18 2014, 09:15) При т... Sep 18 2014, 13:24      doom13 Цитата(A. Fig Lee @ Sep 18 2014, 16:24) Е... Sep 18 2014, 13:44  SM Цитата(A. Fig Lee @ Sep 18 2014, 16:06) К... Sep 18 2014, 13:05   A. Fig Lee Цитата(SM @ Sep 18 2014, 09:05) Не для ро... Sep 18 2014, 13:12    SM Цитата(A. Fig Lee @ Sep 18 2014, 17:12) А... Sep 18 2014, 13:26     A. Fig Lee Цитата(SM @ Sep 18 2014, 09:26) Вовсе не ... Sep 18 2014, 13:29      SM Цитата(A. Fig Lee @ Sep 18 2014, 17:29) К... Sep 18 2014, 13:34       A. Fig Lee Цитата(SM @ Sep 18 2014, 09:34) А какая п... Sep 18 2014, 13:39        SM Цитата(A. Fig Lee @ Sep 18 2014, 17:39) F... Sep 18 2014, 13:55         A. Fig Lee Цитата(SM @ Sep 18 2014, 09:55) Я только ... Sep 18 2014, 13:57          doom13 Цитата(A. Fig Lee @ Sep 18 2014, 16:57) С... Sep 18 2014, 14:02           A. Fig Lee Цитата(doom13 @ Sep 18 2014, 10:02) При в... Sep 18 2014, 14:07            SM Цитата(A. Fig Lee @ Sep 18 2014, 18:07) Я... Sep 18 2014, 14:12 SM А, просто, поставить более мощный процессор? Не с ... Sep 18 2014, 05:44 jcxz Цитата(SM @ Sep 18 2014, 11:44) А, просто... Sep 19 2014, 03:17 kolobok0 Цитата(A. Fig Lee @ Sep 17 2014, 22:56) .... Sep 18 2014, 08:53 WitFed Лечить, естественно, нужно корень, в меру возможно... Sep 18 2014, 10:09 doom13 Цитата(WitFed @ Sep 18 2014, 13:09) Лечит... Sep 18 2014, 10:21 Golikov A. что-то вы зажали еще один проц на 100 ног поставит... Sep 18 2014, 15:01 scifi Цитата(Golikov A. @ Sep 18 2014, 19:01) А... Sep 18 2014, 15:47 A. Fig Lee Цитата(Golikov A. @ Sep 18 2014, 11:01) ч... Sep 18 2014, 15:52  SM Цитата(A. Fig Lee @ Sep 18 2014, 19:52) Х... Sep 18 2014, 16:30 Golikov A. это как заплатка-костыль к текущему варианту. пост... Sep 18 2014, 16:50 SM Цитата(Golikov A. @ Sep 18 2014, 20:50) э... Sep 18 2014, 17:04  A. Fig Lee Цитата(SM @ Sep 18 2014, 13:04) И зачем д... Sep 18 2014, 17:32 AlexandrY Цитата(A. Fig Lee @ Sep 17 2014, 21:56) В... Sep 18 2014, 18:56 A. Fig Lee Цитата(AlexandrY @ Sep 18 2014, 14:56) Зн... Sep 18 2014, 19:07  AlexandrY Цитата(A. Fig Lee @ Sep 18 2014, 22:07) П... Sep 18 2014, 19:49 Golikov A. Я понимаю что на 90% целью форума является загноби... Sep 19 2014, 05:15 jcxz Цитата(Golikov A. @ Sep 19 2014, 11:15) Е... Sep 19 2014, 07:11  AlexandrY Цитата(jcxz @ Sep 19 2014, 10:11) Загрузк... Sep 19 2014, 07:43   jcxz Цитата(AlexandrY @ Sep 19 2014, 13:43) Ну... Sep 19 2014, 07:50 A. Fig Lee Цитата(Golikov A. @ Sep 19 2014, 01:15) Я... Sep 19 2014, 10:34  doom13 Цитата(A. Fig Lee @ Sep 19 2014, 13:34) М... Sep 19 2014, 10:54  jcxz Цитата(A. Fig Lee @ Sep 19 2014, 16:34) М... Sep 23 2014, 08:03   kolobok0 Цитата(jcxz @ Sep 23 2014, 12:03) ...Это ... Sep 24 2014, 11:53 doom13 Цитата(Golikov A. @ Sep 19 2014, 08:15) Я... Sep 19 2014, 07:39 AlexandrY Цитата(doom13 @ Sep 19 2014, 10:39) Про Ш... Sep 19 2014, 07:56  jcxz Цитата(AlexandrY @ Sep 19 2014, 13:56) Не... Sep 19 2014, 08:02   AlexandrY Цитата(jcxz @ Sep 19 2014, 11:02) Если-б ... Sep 19 2014, 08:19    jcxz Цитата(AlexandrY @ Sep 19 2014, 14:19) Во... Sep 19 2014, 08:38  doom13 Цитата(AlexandrY @ Sep 19 2014, 10:56) Из... Sep 19 2014, 08:16 Golikov A. ЦитатаНе знаю - весь тред не читал, но из первого ... Sep 19 2014, 08:25 doom13 Цитата(Golikov A. @ Sep 19 2014, 11:20) Д... Sep 19 2014, 08:34 doom13 Цитата(Golikov A. @ Sep 19 2014, 11:25) с... Sep 19 2014, 08:42 WitFed Да, в Эту Студию бы тех, кто организовали этот бре... Sep 19 2014, 12:26 WitFed Пока наш "чёртик" отдыхает, можно предло... Sep 22 2014, 10:40 kolobok0 Цитата(WitFed @ Sep 22 2014, 14:40) ...чт... Sep 23 2014, 07:14 A. Fig Lee Вернулся из отпуска.
Почитал последние постинги.
... Sep 28 2014, 16:43 jcxz Цитата(A. Fig Lee @ Sep 28 2014, 22:43) Д... Sep 28 2014, 17:11  A. Fig Lee Цитата(jcxz @ Sep 28 2014, 13:11) Ну вот.... Sep 28 2014, 17:28   jcxz Цитата(A. Fig Lee @ Sep 28 2014, 23:28) A... Sep 28 2014, 18:22    kolobok0 Цитата(jcxz @ Sep 28 2014, 22:22) Я конеч... Sep 29 2014, 16:16
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|