Пакет, не доходящий до адресата при трансляции с адресом 255.255.255.255

У меня есть приложение bacnet, которое передает сообщение всем подключенным устройствам. Когда я использую адрес 10.9.x.255, он работает, и устройство может получить ответ, но когда я использую глобальную широковещательную рассылку 255.255.255.255, пакет не достигает устройства, к которому он должен добраться.

Что может быть причиной этого? Я могу использовать адрес 10.9.x.255, но я хотел бы знать причину этого.

На другом компьютере он работает с глобальным широковещательным адресом, но не работает на конкретном компьютере. оба компьютера работают на окнах 10.

Заранее спасибо

Всего 2 ответа


Может быть, устройство, которое вы хотите достичь, не находится в вашей локальной сети?

Просто чтобы прояснить разницу:

  • 255.255.255.255 транслирует на любой IP-адрес в вашей локальной сети (называемый ограниченной широковещательной рассылкой)
  • 10.9.X.255 - это направленная широковещательная передача, которая отправляется в сеть 10.9.X.0 с сетевой маской 255.255.255.0 и передается туда всем участникам, подключенным к соответствующей локальной сети.

Редактирование. Хотя вы, похоже, можете отправить направленную трансляцию, многие маршрутизаторы отключили направленные трансляции из-за риска DoS-Attacks (см. Спецификацию RFC 2644 ).


Когда вы отправляете пакет в Windows на 255.255.255.255, он передает только один сетевой интерфейс. Это ошибка / ошибка дизайна в сетевом стеке Windows IPv4.

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

Рекомендации:


Есть идеи?

10000