Имеется устройство, которое может иногда подключаться к Ethernet (в основном для целей конфигурирования) посредством встроенного HTTP-сервера. Устройство не предназначено для удалённого подключения к своему HTTP-серверу через Интернет, но в отдельных случаях должно позволять такую возможность. В основном оно должно работать в локальной сети. Может подключаться как просто к выделенному сетевому интерфейсу PC, так и быть подключено к сети через роутер. Имеет возможность как статического задания IP-адреса (и др. параметров сети) так и имеет DHCP-клиент. Каждое устройство будет иметь уникальный серийный номер.
Вопрос тут: Как наиболее удобно и дружественно дать пользователю возможность адресации устройства в браузере? Свой IP-адрес (статический) устройство может хранить в энергонезависимой памяти, но пользователь этот адрес должен иметь возможность изменить. Или должен иметь возможность не задумываясь об IP-адресах и пр. особенностях сети, подключить устройство в сеть и тут же открыть в браузере страницу настройки устройства (на лезя в конфигурацию роутера, не ставя никаких доп. программ). Устройство думаю будет поставляться пользователям с включенным по умолчанию DHCP-клиентом. Т.е. - у пользователя есть только браузер на компе/планшете в этой сети, в которую воткнуто наше устройство. И всё. Пользователь должен легко достучаться до устройства. Данная сеть может не иметь выхода в инет (только локальная).
Пока вижу такие способы: 1. Каждое устройство имеет второй, фиксированный IP-адрес. Если пользователь не знает IP-адрес устройства, он просто подключает его напрямую к роутеру (к которому больше ничего не подключено кроме ПК/планшета с браузером) или к сетевой карте. И далее - обращается к устройству по этому адресу, узнаёт и редактирует его основной IP-адрес. И далее может подключить устройство к большой сети, в которой могут быть ещё аналогичные устройства. В большой сети фиксированный IP не будет функционировать (отключится) из-за конфликтов. 2. Использовать WINS. Регистрировать в WINS имя устройства (NetBIOS-имя), состоящее из фиксированного префикса (для всех таких устройств) + серийный номер (пользователь может посмотреть его на корпусе устройства). Также на этом же WINS можно регистрировать второе имя, общее для всех устройств (для более простой адресации к устройству без его сер.номера в случае, если устройство такое в сети одно). NetBIOS имена под виндой разрешаются автоматически в строке браузера, но как тут дело обстоит "не под виндой" интересно? 3. Использовать DNS c обновлением записей. Но есть сомнения в доступности такой службы в любой локальной сети, а тем более при прямом подключении к сетевому интерфейсу ПК.
У кого есть какие мысли/соображения по этому поводу? У кого есть опыт решения подобной задачи? Как сделать более удобно/совместимо/стандартно?
|