|
Динамический IP на устройстве, Как найти свою железку? |
|
|
|
Apr 12 2017, 12:00
|

Частый гость
 
Группа: Свой
Сообщений: 123
Регистрация: 15-10-07
Из: Санкт-Петербург
Пользователь №: 31 370

|
Добрый день! В общем делаю я некое устройство с управлением через Ethernet. Подумалось мне, что будет гораздо удобнее сделать ему присвоение адреса по DHCP, чем зашивать его в явном виде и где-то на наклейке писать. Юзеры глупые, бумажку потеряют, программное с другой машины с другими настройками перетащут и будет мне головная боль. Другое дело когда все автоматическое Так вот вопрос: как машине найти железку, не зная под каким адресом она запустилась? Машина тоже получает адрес от сервера и железка аналогично его не знает. Есть всякие роутеры, так-же получающие адрес, но есть к ним фирменные программки, которые их каким-то волшебным образом находят. Как же это работает? Там явно не перебор адресов, все гораздо быстрее.
--------------------
Ниндзя - круче всех. Они умеют ходить по воде, делить на ноль и угадывать шаффл в АйПоде.
|
|
|
|
|
 |
Ответов
|
Apr 12 2017, 15:50
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(jcxz @ Apr 12 2017, 17:42)  Почему-то никто не вспомнил про DynDNS - поможет в случае разных подсетей, да и вообще совсем разных сетей. Никакого отношения к собственно задаче найти свою железку не имеет. Цитата А если Вам нужно узнать IP-адрес, а MAC известен, то поможет RARP (это протокол обратный ARP). Ага, и заставить пользователя вбивать и запоминать еще больше цифр. Плюс надо поднять этот протокол. Цитата А если известно NETBIOS-имя устройства/компа, то поможет преобразовать его в IP протокол WINS. Осталось его поднять на железке, да и на компьютере тоже разрешить, ибо уже в 90x netbios вышел из употребения де факто. Все ведь просто - посылается broadcast UDP запрос на порт предназначенный для целей идентификации у железки. Железка видит, что запрос именно ее, а не вообще что-то чужое и радостно узнает из него IP адрес компьютера и сообщает на него о своем существовании. Всего делов на полчаса.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Apr 12 2017, 21:47
|
Гуру
     
Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713

|
Цитата(zltigo @ Apr 12 2017, 17:50)  Никакого отношения к собственно задаче найти свою железку не имеет. Железке присваиваем уникальное символьное имя. При включении железка по DHCP получает IP и регистрирует его на DynDNS для вышеозначенного символьного имени. Далее - любой клиент может разресольвить это символьное имя в её IP. Что не так? Цитата(zltigo @ Apr 12 2017, 17:50)  Ага, и заставить пользователя вбивать и запоминать еще больше цифр. Плюс надо поднять этот протокол Вы о чём?? Что вбивать и что запоминать? У железки однозначно есть какой-то MAC. И естественно пользователь на компе должен его знать. Но в этом же нет проблем? Он же не меняется. А меняется IP, который и нужно узнать. Вот RARP - он как раз для этого. А поднимать всё равно что-то придётся. Но лучше поднимать стандартный протокол, а не самопал, чтобы не получить потом люлей от админа. Цитата(zltigo @ Apr 12 2017, 17:50)  Осталось его поднять на железке, да и на компьютере тоже разрешить, ибо уже в 90x netbios вышел из употребения де факто. Да ладно! И сетевыми папками Вы с 90-х не пользовались и сетевым принтером тоже и т.п.? Я Вам сочувствую Цитата(zltigo @ Apr 12 2017, 17:50)  Все ведь просто - посылается broadcast UDP запрос на порт предназначенный для целей идентификации у железки. Железка видит, что запрос именно ее, а не вообще что-то чужое и радостно узнает из него IP адрес компьютера и сообщает на него о своем существовании. Это "просто" до первого конфликта по портам с другой такой-же железкой, сляпанной таким же умельцем А чтобы этого избежать, надо будет дать возможность пользователю изменить этот порт - и опять же придётся ему "вбивать и запоминать еще больше цифр" Да и как быть за пределами подсети? Имхо - следует максимально возможно использовать стандартные протоколы, а не лепить самопал. И даже в этом случае - прежде чем его лепить, нужно изучить все возможности стандартных протоколов и если их почему-то не хватает - только в этом случае ваять своё. Лепить свой велосипед в обход всех стандартов и не зная их - это пионэрский подход, странно слышать от Вас призывы к этому. Ну если конечно эта железка делается только для себя и не пойдёт ни к кому. Но тогда не проблема и просто в своём роутере прописать фиксированную аренду постоянного IP для этой железки и не маяться. Может ТСу так и сделать? Он в курсе такой возможности?
|
|
|
|
|
Apr 13 2017, 07:48
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(jcxz @ Apr 13 2017, 00:47)  Вы о чём?? Что вбивать и что запоминать? У железки однозначно есть какой-то MAC. И естественно пользователь на компе должен его знать. Но в этом же нет проблем? Ознакомьтесь с постом Автора, который не хотел назначать даже IP адрес, дабы пользователь его не запоминал, не забывал и не набирал. Так "Вы о чём??"© Цитата Да ладно! И сетевыми папками Вы с 90-х не пользовались и сетевым принтером тоже и т.п.? Я Вам сочувствую  Да именно так - с 90x ничем на нетбиосе не пользуюсь, как не пользуются им ДЛЯ РАБОТЫ сетевые диски и прочие. Всегда Disabled. Сочувствия не принимаю  . Цитата Это "просто" до первого конфликта по портам с другой такой-же железкой, сляпанной таким же умельцем А чтобы этого избежать, надо будет дать возможность пользователю изменить этот порт - и опять же придётся ему "вбивать и запоминать еще больше цифр"  Не порите чушь. Никаких конфликтов не может быть в принципе в этой железке других "умельцев" с какими то своими портами нет, а все остальные железки мира со своими портами никакого отношения к этой железке не имеют. Цитата Да и как быть за пределами подсети? Ни один из прeдложенных и Вами способов эту проблему не решит, поскольку даже знание глобального и локального адресов железки не поможет пробиться к ней через роутер. Такая проблема решается по другому, но автору этого и не требуется. Цитата Имхо - следует максимально возможно использовать стандартные протоколы, а не лепить самопал. Никакого самопала нет и в помине. Берется совершенно стандартный UDP/IP и любой из портов разрешенный для приложений. Все совершенно стандартно. Иначе по Вашей логике Автор ничего и для взаимодействия со своей железкой использовать не должен креме telnet и прочих  , ибо "нестандартно"  Цитата Лепить свой велосипед в обход всех стандартов и не зная их - это пионэрский подход, странно слышать от Вас призывы к этому. Ответ Выше.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Apr 13 2017, 08:03
|
Гуру
     
Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713

|
Цитата(zltigo @ Apr 13 2017, 09:48)  Ознакомьтесь с постом Автора, который не хотел назначать даже IP адрес, дабы пользователь его не запоминал, не забывал и не набирал. Так "Вы о чём??"© У автора ETHERNET. Прочитайте по слогам несколько раз, а потом объясните - каким образом не назначая MAC работать через Ethernet? Цитата(zltigo @ Apr 13 2017, 09:48)  Не порите чушь. Никаких конфликтов не может быть в принципе в этой железке других "умельцев" с какими то своими портами нет, а все остальные железки мира со своими портами никакого отношения к этой железке не имеют. Видно что искусство чтения Вам недоступно. В "этой" нет, и что? Вы же предлагаете широковещательно отправлять. А широковещательно - значит, что этот пакет попадёт на все прочие железки с открытым таким портом, на что они как-то отреагируют. При том что Вы в принципе не знаете какие такие открытые порты могут быть в сети пользователя. И как это оборудование будет реагировать на Ваши самопальные пакеты. Второе - эти самые чужие железки тоже могут отправлять широковещательные кадры на ваш порт в железке. Цитата(zltigo @ Apr 13 2017, 09:48)  Ни один из прeдложенных и Вами способов эту проблему не решит, поскольку даже знание глобального и локального адресов железки не поможет пробиться к ней через роутер. Такая проблема решается по другому, но автору этого и не требуется. Да ладно?? Странно, что другим помогает и люди почему-то используют все эти протоколы, а Вы не можете. Только свой велосипед городить.... Странно - как это у меня получается связаться с DNS-сервером находящимся через несколько роутеров от меня, получить от него IP и соединиться потом по этому IP. Считаете это фантастикой? Цитата(zltigo @ Apr 13 2017, 09:48)  Иначе по Вашей логике Автор ничего и для взаимодействия со своей железкой использовать не должен креме telnet и прочих  , ибо "нестандартно"  Я не говорил, что не может. Не передёргивайте. Я писал, что городить свой велосипед нужно тогда и только тогда, когда нет стандартного средства решения или оно по каким-то причинам не подходит. А из сообщений автора видно, что он даже не знает о существующих решениях. Соответственно - не зная их, начиная изобретать что-то своё, запросто нагородит такого, что будет с чем-то конфликтовать.
|
|
|
|
Сообщений в этой теме
-= Александр =- Динамический IP на устройстве Apr 12 2017, 12:00 Kuzmi4 2 -= Александр =-
просто запускаете стандартный is... Apr 12 2017, 12:19 _3m Цитата(Kuzmi4 @ Apr 12 2017, 15:19) 2 -= ... Apr 12 2017, 12:26 zltigo Цитата(-= Александр =- @ Apr 12 201... Apr 12 2017, 12:24 -= Александр =- Да, действительно, я и забыл что так можно)
Broadc... Apr 12 2017, 12:29 zltigo Цитата(-= Александр =- @ Apr 12 201... Apr 12 2017, 12:31 krux гуглите в направлении "групповой MAC-адрес... Apr 12 2017, 12:55      zltigo Цитата(jcxz @ Apr 13 2017, 11:03) У автор... Apr 13 2017, 08:39      _3m Цитата(jcxz @ Apr 13 2017, 11:03) Да ладн... Apr 13 2017, 08:40       jcxz Цитата(_3m @ Apr 13 2017, 10:40) Аксиома2... Apr 13 2017, 12:44        _3m Цитата(jcxz @ Apr 13 2017, 15:44) Эта нев... Apr 13 2017, 14:06         Corvus Присоединяюсь к варианту zltigo. Широковещательный... Apr 13 2017, 14:37        zltigo Цитата(jcxz @ Apr 13 2017, 15:44) Ибо куд... Apr 13 2017, 17:09         jcxz Цитата(zltigo @ Apr 13 2017, 19:09) Если ... Apr 13 2017, 20:41          zltigo Цитата(jcxz @ Apr 13 2017, 23:41) Именно ... Apr 13 2017, 21:35          gosha-z Цитата(jcxz @ Apr 13 2017, 23:41) Другая ... Apr 14 2017, 18:33  KRS Цитата(jcxz @ Apr 12 2017, 17:42) А если ... Apr 14 2017, 04:15 Lagman Можно попробовать сделать так, пропинговать диапаз... Apr 12 2017, 13:06 -= Александр =- Цитата(Lagman @ Apr 12 2017, 16:06) пропи... Apr 12 2017, 13:17 Lagman У вас сеть выше класса 1С? Apr 12 2017, 13:53 -= Александр =- Цитата(Lagman @ Apr 12 2017, 16:53) У вас... Apr 12 2017, 14:06 gosha-z Выбирайте:
Link-Local Multicast Name Resolution
Mu... Apr 13 2017, 17:05 gosha-z zltigo, а дайте, пожалуйста, ваше определение поня... Apr 13 2017, 17:45 zltigo Цитата(gosha-z @ Apr 13 2017, 20:45)... Apr 13 2017, 17:56  gosha-z Цитата(zltigo @ Apr 13 2017, 20:56) Локал... Apr 13 2017, 18:09   zltigo Цитата(gosha-z @ Apr 13 2017, 21:09)... Apr 13 2017, 18:15 krux 2 jcxz
а подскажите, какой из сервисов DynDNS,про... Apr 13 2017, 18:07 Kabdim А чего никто не вспоминает про UPnP? Apr 14 2017, 07:42
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|