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

 
 
> Уникальное сетевое имя устройства., Возможные способы получения имени.
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
Ответов
aaarrr
сообщение Aug 19 2017, 11:43
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(jcxz @ Aug 19 2017, 14:06) *
1. Каждое устройство имеет второй, фиксированный IP-адрес.

Боже упаси так делать! Вот радости-то будет тем, у кого этот адрес уже задействован.

Огурцов предложил стандартный и годный способ, можете дополнить его своим п.2 (тоже одно из стандартных решений).
Go to the top of the page
 
+Quote Post
jcxz
сообщение Aug 19 2017, 20:52
Сообщение #3


Гуру
******

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



Цитата(aaarrr @ Aug 19 2017, 14:43) *
Боже упаси так делать! Вот радости-то будет тем, у кого этот адрес уже задействован.

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

Цитата(aaarrr @ Aug 19 2017, 14:43) *
Огурцов предложил стандартный и годный способ, можете дополнить его своим п.2 (тоже одно из стандартных решений).

Я написал почему этот способ очень неудобен для нас: устройство находится в труднодоступном месте внутри чужого агрегата. Разбирать агрегат для переконфигурирования или считывания телеметрии с него или обновления прошивки - не вариант. А вот разъём Ethernet вполне может быть вынесен в легко-доступное место. И желательно всё сделать имея только его.

Цитата(_pv @ Aug 19 2017, 15:17) *
1) фиксированный начальный адрес вроде 192.168.1.1 с возможностью изменения

Это уже всё есть. Сброс неудобен, я уже писал почему. Его сделаем только если ничего хорошего не придумаем.
Поймите: устройство наше - это не бытовая настольная безделушка, в которой несложно на боку пимпочку для сброса сделать. А юзеры они такие - забывчивые. И не такое забывают. laughing.gif

Цитата(_pv @ Aug 19 2017, 15:17) *
2) дополниетльное ПО

Этого не будет.

Цитата(_pv @ Aug 19 2017, 15:17) *
да и с обращением по имени проблем не решает. какой кто получит адрес неизвестно.

Есть протоколы преобразования имени в адрес: DNS, WINS, ...(что-то ещё, что я надеюсь мне здесь подскажут).
Возможно, что такой функционал есть даже в DHCP-протоколе. Когда смотрел инфу о выданных моим DHCP-сервером арендах IP, я вижу в записи о IP-аренде моего компа его NetBOS-имя! Т.е. - получается, что DHCP-сервер как-то эту инфу получает и может её хранить. Вопрос только - может ли веб-браузер получить от DHCP эту инфу для разрешения неизвестного имени (подобно DNS)??? Если браузеры железно могут разрешать имена через NetBIOS имена от DHCP, то это был бы самый простой для меня способ - закинуть в DHCP-сервер NetBIOS-имя железки.

Цитата(_pv @ Aug 19 2017, 15:17) *
железке ещё можно быть DHCP и DNS сервером для прямого подключения.

Я думаю это уже черезчур - реализовывать в железке ещё и такой сервер. Сервер на порядки сложнее клиента.
Проще тогда сделать второй, фиксированный IP-адрес (способ 1 из первого сообщения).
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Aug 19 2017, 21:01
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(jcxz @ Aug 19 2017, 23:27) *
Ну и что что задействован? ...устройство при старте проверяет занятость IP-адреса и только после этого садится на него.

Тогда в том случае, если адрес занят, механизм "аварийного доступа" работать без бубна не будет.

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

Разъем может быть легко вынесен, а кнопка - нет? Понятно, что "лишняя" деталь, но польза от нее есть.
Go to the top of the page
 
+Quote Post
jcxz
сообщение Aug 19 2017, 21:17
Сообщение #5


Гуру
******

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



Цитата(aaarrr @ Aug 20 2017, 00:01) *
Тогда в том случае, если адрес занят, механизм "аварийного доступа" работать без бубна не будет.

Это "механизм аварийного доступа" достаточно чтобы работал только при прямом подключении устройства к сетевой карте компа. Или компа и устройства к одному роутеру, без посторонних устройств.
В других случаях пускай буде выключен. Он и должен быть таким, чтобы отключаться при любом конфликте сразу.

Цитата(aaarrr @ Aug 20 2017, 00:01) *
Разъем может быть легко вынесен, а кнопка - нет? Понятно, что "лишняя" деталь, но польза от нее есть.

Разъём Ethernet вполне возможно будет вынесен в удобное место из глубины агрегата посредством кабеля-удлинителя.
Класть ещё один кабель с кнопкой на конце, да ещё закреплять её, только для того, что кто-то может забыть? Это думаю трудно будет убедить пользователя. Дело в том, что монтировать устройство во многих случаях будет сам пользователь как ему удобнее. Понятно, что если ему нужен Ethernet, он его вынесет в удобное место. А вот кнопку - сомневаюсь. Да и если он её плохо расположит и будут случайные нажатия?
Это всё можно сделать, но имхо - очень неудобно. И самое главное: раз уже есть в наличии Ethernet-дырка, ну неужто нужно городить ещё какие-то костыли, чтобы сделать простую функцию? неужто в таком богатом интерфейсе не найдётся средств реализовать такую простую вещь??? не верю!

Цитата(aaarrr @ Aug 20 2017, 00:04) *
Не железно. То есть Windows работать будет, но и только.

Вы о чём? Веб-браузеры под виндой для разрешения неизвестных имён в адресной строке кроме DNS и WINS могут использовать DHCP? Где это описано? Есть ссыль?
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Aug 19 2017, 21:54
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(jcxz @ Aug 20 2017, 00:17) *
Вы о чём? Веб-браузеры под виндой для разрешения неизвестных имён в адресной строке кроме DNS и WINS могут использовать DHCP? Где это описано? Есть ссыль?

Коряво выразился, наверное. Имелось в виду, что NetBIOS имена будут нормально жить только под виндой.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- jcxz   Уникальное сетевое имя устройства.   Aug 19 2017, 11:06
- - Огурцов   используйте фиксированный, дефолтный ip и обеспечь...   Aug 19 2017, 11:20
|- - jcxz   Цитата(Огурцов @ Aug 19 2017, 14:20) испо...   Aug 19 2017, 11:34
|- - Огурцов   Цитата(jcxz @ Aug 19 2017, 11:34) Идеальн...   Aug 19 2017, 12:39
|- - jcxz   Цитата(Огурцов @ Aug 19 2017, 15:39) скон...   Aug 19 2017, 21:02
|- - Огурцов   Цитата(jcxz @ Aug 19 2017, 21:02) Мне хот...   Aug 20 2017, 01:40
|- - sharikov   a: mDNS b: NetBIOS c: Captive DNS Вариант C полом...   Aug 20 2017, 07:44
|- - jcxz   Цитата(sharikov @ Aug 20 2017, 10:44) a: ...   Aug 20 2017, 09:33
|- - kolobok0   Цитата(jcxz @ Aug 20 2017, 12:33) Большое...   Aug 21 2017, 17:20
|- - jcxz   Цитата(kolobok0 @ Aug 21 2017, 20:20) Но ...   Aug 21 2017, 18:26
||- - 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 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 Текстовая версия Сейчас: 20th July 2025 - 17:42
Рейтинг@Mail.ru


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