|
Динамический 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 и прочих  , ибо "нестандартно"  Я не говорил, что не может. Не передёргивайте. Я писал, что городить свой велосипед нужно тогда и только тогда, когда нет стандартного средства решения или оно по каким-то причинам не подходит. А из сообщений автора видно, что он даже не знает о существующих решениях. Соответственно - не зная их, начиная изобретать что-то своё, запросто нагородит такого, что будет с чем-то конфликтовать.
|
|
|
|
|
Apr 13 2017, 08:40
|
Знающий
   
Группа: Участник
Сообщений: 745
Регистрация: 28-12-06
Пользователь №: 23 960

|
Цитата(jcxz @ Apr 13 2017, 11:03)  Да ладно?? Странно, что другим помогает и люди почему-то используют все эти протоколы, а Вы не можете. Только свой велосипед городить.... Странно - как это у меня получается связаться с DNS-сервером находящимся через несколько роутеров от меня, получить от него IP и соединиться потом по этому IP. Считаете это фантастикой?  Да, это фантастика. Аксиома1: настройки и логи роутера, dhcp сервера и прочих сетевых устройств недоступны: заблокировано злыми админами или СБ. Аксиома2: выхода в интернет нет: заблокирован "товарищами" из п.1 или на объекте интернета нет вообще. Работаем только в локалке.
|
|
|
|
|
Apr 13 2017, 12:44
|
Гуру
     
Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713

|
Цитата(_3m @ Apr 13 2017, 10:40)  Аксиома2: выхода в интернет нет: заблокирован "товарищами" из п.1 или на объекте интернета нет вообще. Работаем только в локалке. Эта неверна. Так как автору нужна работа именно по IP, значит он должен быть доступен. Цитата(zltigo @ Apr 13 2017, 10:39)  Автор спрашивал как ему назначить MAC? Нет? Тогда зачем наводите тень не плетень в ответе на вопрос, как узнать выданный DNS IP? Опять передёргиваете. Это вообще-то Ваша сентенция была - "о, ужос! это же надо что-то назначать...". На что я заметил - раз ETHERNET, то по-любому MAC уже назначен. А из этого следует - RARP - уже возможен и более ничего не требует. Никаких "назначений". А "махровый самодельщик" - это похоже Вы так самокритично о себе? Ибо куда уж махровее, когда есть стандарт, реализующий данный способ (RARP), взамен него лепить что-то своё, делающее то же самое? Цитата(zltigo @ Apr 13 2017, 10:39)  А у кого проблема саязаться с DNS сервером? У кого проблема получить СВОЙ адрес? Кто жаловался??? Проблема узнать ЧУЖОЙ адрес и потом (это Вы уже решили усложнить) пробится через роутеры, если он не глобальный.  Вы уверены, что понимаете значение термина "DNS"? DNS - это средство преобразования символьного имени в IP-адрес. Заметьте - любого имени. Попробуйте набрать в строке браузера "electronix.ru". Вот этот адрес для вас - чужой. И Ваш браузер, чтобы определить IP-адрес "electronix.ru", обратиться к DNS (если конечно его нет в локальном DNS-кеше). Вот именно чужие адреса и разресольвивает DNS. Причём тут СВОЙ адрес? Вот так и серверное ПО автора сможет обратиться к DNS, чтобы узнать IP адрес устройства по заранее заданному фиксированному имени. А уж устройство, когда включится, сообщить DynDNS свой текущий IP. И этот протокол работает через все роутеры и фаерволлы (как правило). Цитата(zltigo @ Apr 13 2017, 10:39)  Уродливые "стандартные" предлагаемые Вами к использованию через анус, действительно не подходят. И в случае тогоже нетбиоса обернутого в TCP просто уродливы и живы только У Вас тут на конфе почти в каждом сообщении то "уродливые", то через "анус". Прямо какая-то обида на жизнь, в самом деле... А если бы Вы ещё иногда опускались до чтения того, на что отвечаете, то могли бы заметить, что я писал про NETBIOS-имена(!). Ни про NETBIOS-протокол! Ни про какие-то его TCP-обёртки! - это всё Ваши фантазии. Только NETBIOS-имена. Почувствуйте разницу. Я говорил про WINS. Как ещё одно средство преобразования некоего почти произвольного символьного имени в IP-адрес. Вот NETBIOS-имя только в контексте WINS. PS: Да - и не надо про то, что автору "не нужна работа через шлюз в другую подсеть". Сейчас не нужна - завтра понадобится. И придётся весь велосипед переписывать. Вон автор уже пишет, что там есть какие-то пользователи. Завтра к этим пользователем придёт новый админ и отсадит их за шлюз от железки. И потом автор будет объяснять им почему он не предусмотрел такую вроде само собой разумеющуюся вещь как возможность работы в разных подсетях.
|
|
|
|
Сообщений в этой теме
-= Александр =- Динамический 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, 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
|
|
|