реклама на сайте
подробности

 
 
> Уникальное сетевое имя устройства., Возможные способы получения имени.
jcxz
сообщение Aug 19 2017, 11:06
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Имеется устройство, которое может иногда подключаться к Ethernet (в основном для целей конфигурирования) посредством встроенного HTTP-сервера. Устройство не предназначено для удалённого подключения к своему HTTP-серверу через Интернет, но в отдельных случаях должно позволять такую возможность. В основном оно должно работать в локальной сети.
Может подключаться как просто к выделенному сетевому интерфейсу PC, так и быть подключено к сети через роутер.
Имеет возможность как статического задания IP-адреса (и др. параметров сети) так и имеет DHCP-клиент.
Каждое устройство будет иметь уникальный серийный номер.

Вопрос тут: Как наиболее удобно и дружественно дать пользователю возможность адресации устройства в браузере?
Свой IP-адрес (статический) устройство может хранить в энергонезависимой памяти, но пользователь этот адрес должен иметь возможность изменить. Или должен иметь возможность не задумываясь об IP-адресах и пр. особенностях сети, подключить устройство в сеть и тут же открыть в браузере страницу настройки устройства (на лезя в конфигурацию роутера, не ставя никаких доп. программ). Устройство думаю будет поставляться пользователям с включенным по умолчанию DHCP-клиентом.
Т.е. - у пользователя есть только браузер на компе/планшете в этой сети, в которую воткнуто наше устройство. И всё. Пользователь должен легко достучаться до устройства. Данная сеть может не иметь выхода в инет (только локальная).

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

У кого есть какие мысли/соображения по этому поводу? У кого есть опыт решения подобной задачи? Как сделать более удобно/совместимо/стандартно?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Огурцов
сообщение Aug 19 2017, 11:20
Сообщение #2


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



используйте фиксированный, дефолтный ip и обеспечьте возможность сброса настроек на фабричные
Go to the top of the page
 
+Quote Post
jcxz
сообщение Aug 19 2017, 11:34
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(Огурцов @ Aug 19 2017, 14:20) *
используйте фиксированный, дефолтный ip и обеспечьте возможность сброса настроек на фабричные

Мы конечно рассматриваем такую возможность, но имхо - это неудобно, так как устройство хранит кучу конфигурационной информации - всё сбрасывать нельзя.
Можно конечно сбросить только конфиг сети. Но и вводить потом (после сброса) сетевые параметры не гуд: предполагается, что пользователь устройства - не профессионалом в сетевых технологиях. Ему надо как попроще подключиться, без возможности ошибиться в адресе/маске/шлюзе и т.п.
К тому же: устройство не имеет внешних органов управления, кроме Ethernet-интерфейса. И даже может находиться в труднодоступном месте (внутри некоей машины), а наружу будет выведен только его Ethernet-интерфейс.
И ещё - внутри вышеуказанной машины может быть более одного нашего устройства (но подключен к Ethernet в каждый момент времени может быть только одно). Помнить сетевую инфу о каждом устройстве тут сложно.

Идеально было-бы если бы пользователь просто воткнул Ethernet-разъём в нужный экземпляр устройства, в адресной строке браузера набрал некое уникальное для каждого устройства (или общее для всех устройств, но уникальное в сети) имя и получил доступ к нему.
Такому сценарию работы удовлетворяют только 3 способа, указанные в первоначальном сообщении. Может есть другие?
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Aug 19 2017, 12:39
Сообщение #4


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



Цитата(jcxz @ Aug 19 2017, 11:34) *
Идеально было-бы если бы пользователь просто воткнул Ethernet-разъём в нужный экземпляр устройства, в адресной строке браузера набрал некое уникальное для каждого устройства (или общее для всех устройств, но уникальное в сети) имя и получил доступ к нему.

сконфигурируйте ему файл hosts на все девайсы
ip можно сформировать из uid контроллера
если есть маршрутизатор, то неуникальную часть адреса сети можно взять с него, тогда ip девайса получится какой-то полудинамический чтоли
Go to the top of the page
 
+Quote Post
jcxz
сообщение Aug 19 2017, 21:02
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(Огурцов @ Aug 19 2017, 15:39) *
сконфигурируйте ему файл hosts на все девайсы

Мне хотелось бы всё-таки услышать дельные идеи. От людей "в теме"...
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Aug 20 2017, 01:40
Сообщение #6


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



Цитата(jcxz @ Aug 19 2017, 21:02) *
Мне хотелось бы всё-таки услышать дельные идеи. От людей "в теме"...

я ничем не могу вам помочь, если вы отказываетесь понимать
Go to the top of the page
 
+Quote Post
sharikov
сообщение Aug 20 2017, 07:44
Сообщение #7


Участник
*

Группа: Участник
Сообщений: 29
Регистрация: 27-02-11
Пользователь №: 63 268



a: mDNS
b: NetBIOS
c: Captive DNS

Вариант C поломает работу DNS всех устройств в сети поэтому его следует использовать только при соединении точка-точка.
Вариант B - Win only, да и Netbios может быть отключен/заблокирован.

Сообщение отредактировал sharikov - Aug 20 2017, 07:46
Go to the top of the page
 
+Quote Post
jcxz
сообщение Aug 20 2017, 09:33
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(sharikov @ Aug 20 2017, 10:44) *
a: mDNS

Большое спасибо! Похоже - это именно то, что нужно.
Как я понимаю:
1. Устройство вносит 01:00:5E:00:00:FB в MAC-фильтр мультикастных адресов.
2. Ждёт по этому MAC UDP-пакеты для IP=224.0.0.251 порт 5353.
3. Сравнивает имена из этих пакетов со своим именем в формате: имя_устройства-серийный_номер.local (а можно даже несколько имён - одно с серийником, а одно - одинаковое для всех устройств - имя_устройства.local).
4. Обнаружив такой пакет (запрос) отвечает на него со своим IP.

Остаются только вопросы:
1. Насколько mDNS общепринят и распространён? Т.е. - можно-ли ожидать, что на некоей системе пользователя, после того как пользователь ввёл имя_устройства в адресной строке браузера, браузер обратился за разрешением этого имени к классическому DNS (если он есть в системе), классический DNS ответил "не знаю такого имени", то запрос разрешения этого имени будет перенаправлен далее в mDNS? (если классического unicast-DNS в системе нет, то запрос сразу должен быть отправлен в mDNS).
2. Нужны-ли специальные настройки роутера, чтобы мультикастные кадры на 01:00:5E:00:00:FB ретранслировались через шлюз в другие подсети или роутеры это делают по дефолту? Хотя это не очень важный вопрос - не будут уходить кадры в другую подсеть - ну и ладно.

Вобщем mDNS - это примерно то, что я и хотел. Самый главный вопрос - это п.1.

Цитата(sharikov @ Aug 20 2017, 10:44) *
b: NetBIOS

Да, на прошлой работе в аналогичной задаче именно так и делали (через WINS). Но там были немного другие требования.
Вот тут пока неясный для меня момент:
В записях DHCP-сервера (внутри своего роутера) я вижу, что для каждого выданного им в аренду IP-адреса, он знает некое "host name". Это "host name" есть и для компа с виндой (для него оно совпадает с NetBIOS-именем компа) и для планшета и телефона с Андроид. И на своём устройстве я могу сообщить это имя DHCP-серверу.
Вот если-б веб-браузеры в этой сети, не получив разрешение имени от DNS, разрешали это имя через эти записи DHCP - это было бы тоже решением вопроса. Но похоже браузеры не используют эту инфу из DHCP. crying.gif
Хотя в этом случае всё равно останется открытым вопрос для статического IP в системах без DHCP, но это уже не так критично.

Цитата(sharikov @ Aug 20 2017, 10:44) *
c: Captive DNS

Посмотрю его позже.

Цитата(sharikov @ Aug 20 2017, 10:44) *
Вариант B - Win only, да и Netbios может быть отключен/заблокирован.

Не только Win, но то, что с большой вероятностью может быть выключен - это так. sad.gif
Go to the top of the page
 
+Quote Post
kolobok0
сообщение Aug 21 2017, 17:20
Сообщение #9


практикующий тех. волшебник
*****

Группа: Участник
Сообщений: 1 190
Регистрация: 9-09-05
Пользователь №: 8 417



Цитата(jcxz @ Aug 20 2017, 12:33) *
Большое спасибо! Похоже - это именно то, что нужно....


основной вектор уже прозвучал.
Но я бы обратил бы Ваше внимание на уже сложившиеся традиции на этот счёт у всевозможных поставщиков IP камер и иже. И именно на такие действия надрочены лохи от продажи и простые обыватели.
И вот тут наверное надо определится кто покупатель, кто ЦА. Если профи - ему нужна только стабильность, возможность и простота действа. Чем проще(не путать с самоавтоматикой) и эффективней - тем лучше.

Ну и как альтернативу = если девайс достаточно большой, стационар... То я обычно использую ещё один канал = WiFi.
1) альтернатива повышает живучесть
2) можно с любого переносного планшета-смартфона настроить (для инициализации самое то сапорту)
3) стоимость 3 бакса
4) при поддержки дефолтного сервера - логинится сразу при включении вайфай и запуске броузера.

удачи вам
(круглый)
Go to the top of the page
 
+Quote Post
jcxz
сообщение Aug 21 2017, 18:26
Сообщение #10


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(kolobok0 @ Aug 21 2017, 20:20) *
Но я бы обратил бы Ваше внимание на уже сложившиеся традиции на этот счёт у всевозможных поставщиков IP камер и иже. И именно на такие действия надрочены лохи от продажи и простые обыватели.
И вот тут наверное надо определится кто покупатель

Покупатели будут разные.
Я почитал внимательнее про mDNS и пр. Всё это - части одного множества называемого "Zeroconf": https://ru.wikipedia.org/wiki/Zeroconf
Т.е. - это целый набор методов. Что-то из них работает под виндами (разными версиями), что-то - под линухом и т.п. Т.е. - чтобы более-менее обеспечить попадание в цель, нужно реализовывать всю их совокупность (или значительную часть). Так что пока отложил это на будущее - может реализую потом.
Пока пойду первым путём (из первого поста). Назначу второй фиксированный IP из области Link-local (169.254.1.0 ... 169.254.254.255). Вроде всё должно работать в любом случае.

Цитата(kolobok0 @ Aug 21 2017, 20:20) *
Ну и как альтернативу = если девайс достаточно большой, стационар... То я обычно использую ещё один канал = WiFi.

Это конечно хорошо, но этот вопрос несколько из иной оперы.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- jcxz   Уникальное сетевое имя устройства.   Aug 19 2017, 11:06
- - aaarrr   Цитата(jcxz @ Aug 19 2017, 14:06) 1. Кажд...   Aug 19 2017, 11:43
|- - jcxz   Цитата(aaarrr @ Aug 19 2017, 14:43) Боже ...   Aug 19 2017, 20:52
|- - aaarrr   Цитата(jcxz @ Aug 19 2017, 23:27) Ну и чт...   Aug 19 2017, 21:01
||- - jcxz   Цитата(aaarrr @ Aug 20 2017, 00:01) Тогда...   Aug 19 2017, 21:17
||- - AlexandrY   Цитата(jcxz @ Aug 20 2017, 00:17) Вы о чё...   Aug 19 2017, 21:48
|||- - jcxz   Цитата(AlexandrY @ Aug 20 2017, 00:48) За...   Aug 19 2017, 22:07
|||- - aaarrr   Цитата(jcxz @ Aug 20 2017, 01:07) Не знаю...   Aug 19 2017, 22:25
||- - aaarrr   Цитата(jcxz @ Aug 20 2017, 00:17) Вы о чё...   Aug 19 2017, 21:54
|- - aaarrr   Цитата(jcxz @ Aug 19 2017, 23:52) Если бр...   Aug 19 2017, 21:04
- - _pv   1) фиксированный начальный адрес вроде 192.168.1.1...   Aug 19 2017, 12:17


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 07:33
Рейтинг@Mail.ru


Страница сгенерированна за 0.01491 секунд с 7
ELECTRONIX ©2004-2016