получить доступ к серверу bacnet в другой сети.клиент сервера работает в другой сети - PullRequest
0 голосов
/ 19 декабря 2018

У меня есть bacnet-сервер и клиент, работающий в другой сети, например, IP-адрес клиента 192.168.1.33 и IP-адрес сервера 10.10.10.45.оба имеют одинаковый адрес маски подсети.

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

как я могу соединить эти два в вышеупомянутом сценарии?

Ответы [ 2 ]

0 голосов
/ 06 февраля 2019

Может потребоваться индивидуальная привязка к обоим IP-адресам - если разные NIC (сетевые интерфейсные карты) используются для связи с разными «серверными» устройствами BACnet, в противном случае стандартная (не поддерживающая BACnet) настройка IP-маршрутизации можетПозвольте вам - как «клиенту» BACnet, общаться с 2 серверами - каждый в своей собственной / разной сети.

Но попробуйте соблюдать «объединенную сеть» BACnet, устанавливая и управляя «сетевым номером» BACnetдля каждой сети (- в случае, если сети должны быть когда-либо подключены).

0 голосов
/ 19 декабря 2018

Несколько вещей здесь.

  • Относительно MAC-адреса.Ответ 1 выше ссылается на 6-байтовый MAC-адрес Ethernet, который содержит OUI производителя, выделенный IEEE.Тем не менее, BACnet (из-за его концепции на других каналах передачи данных до TCP / IP) обращается к адресу канала передачи данных в общем как к MAC-адресу (например, 1 байт для BACnet MS / TP), а для UDP он использует 6-байтовую комбинацию IP-адреса иНомер порта IP в качестве адреса для канала данных .... и называет его MAC-адресом.Смешение.Но у вас есть это.Так что, да, отправьте ваше устройство (по его IP-адресу) через подсети, чтобы убедиться, что они доступны.(Между прочим, невозможно для устройств иметь одинаковые MAC-адреса Ethernet, если производитель (или пользователь) программирует их таким образом. Однако, поскольку известно, что IP-устройства имеют разные IP-адреса,в этом примере невозможно иметь одинаковые MAC-адреса BACnet. Еще одна вещь, BACnet по умолчанию использует IP-порт 47808 для этих адресов, возможно, OP означает те же номера портов?
  • Ответ 2 выше, заявив, что IP-адресНачиная с 192, Интернет неверен. Например, 192.168.1.x также является внутренней подсетью.
  • Теперь к BACnet. Если вы можете пропинговать два устройства, то у вас явно есть правильно настроенный IP-маршрутизатор междудве подсети. Вы частично там. Если вы не можете пропинговать их, сделайте это так. (Некоторые устройства меньшего размера могут быть не пингуемыми, поэтому поместите ноутбуки или что-то в подсети, чтобы убедиться, что IP-сети подключены. При необходимости обратитесь в свой ИТ-отдел.Этот шаг не имеет ничего общего с BACnet. Без него вы не собираетесь подключаться.
  • Далее, BACnet использует широковещательные рассылки для «обнаружения» других устройств, и это, безусловно, самый распространенный подход.Широковещательные рассылки по своей конструкции не пересекают IP-маршрутизаторы.BACnet использует концепцию BBMD (BACnet Broadcast Management Device) в каждой подсети для «туннелирования» широковещательных рассылок BACnet через подсети.Установите BBMD в каждой подсети и настройте каждый из них с адресом однорангового узла и попытайтесь обнаружить.Многие устройства BACnet поддерживают эту функциональность BBMD внутренне, и если это так, возможно, ее необходимо включить, но имейте в виду, что теперь у вас есть «виртуальное внутреннее устройство BBMD», связанное с вашим обычным устройством BACnet, и это может привести к путанице.
  • В качестве альтернативы, если ваш клиент BACnet поддерживает «Регистрация стороннего устройства», а другая подсеть уже имеет поддержку BBMD или BBMD, тогда клиент может зарегистрироваться на этом BBMD как внешнее устройство.
  • Наконец, если вы можетеПингует другое устройство, и поскольку вы уже знаете IP-адрес, обнаружение, следовательно, широковещательные рассылки не требуются, и если ваши устройства поддерживают «статическую адресацию», просто введите статический IP-адрес одноранговых узлов: порт для каждого устройства.Но будьте осторожны, обнаружение останется невозможным, а некоторые функции (трансляция Who-Has) не будут работать.Это НЕ рекомендуемый подход, но используется довольно часто.
...