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

 
 
> Динамический IP на устройстве, Как найти свою железку?
-= Александр =-
сообщение Apr 12 2017, 12:00
Сообщение #1


Частый гость
**

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



Добрый день!
В общем делаю я некое устройство с управлением через Ethernet. Подумалось мне, что будет гораздо удобнее сделать ему присвоение адреса по DHCP, чем зашивать его в явном виде и где-то на наклейке писать. Юзеры глупые, бумажку потеряют, программное с другой машины с другими настройками перетащут и будет мне головная боль. Другое дело когда все автоматическое rolleyes.gif

Так вот вопрос: как машине найти железку, не зная под каким адресом она запустилась? Машина тоже получает адрес от сервера и железка аналогично его не знает.
Есть всякие роутеры, так-же получающие адрес, но есть к ним фирменные программки, которые их каким-то волшебным образом находят. Как же это работает? Там явно не перебор адресов, все гораздо быстрее.


--------------------
Ниндзя - круче всех. Они умеют ходить по воде, делить на ноль и угадывать шаффл в АйПоде.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
-= Александр =-
сообщение Apr 12 2017, 12:57
Сообщение #2


Частый гость
**

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



Пасибо за ответы, пойду учить матчасть. Пока-что считается что DHCP есть и все в одном сегменте. Остальное может будет, но позже.


--------------------
Ниндзя - круче всех. Они умеют ходить по воде, делить на ноль и угадывать шаффл в АйПоде.
Go to the top of the page
 
+Quote Post
jcxz
сообщение Apr 12 2017, 14:42
Сообщение #3


Гуру
******

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



Цитата(-= Александр =- @ Apr 12 2017, 14:57) *
Пасибо за ответы, пойду учить матчасть. Пока-что считается что DHCP есть и все в одном сегменте. Остальное может будет, но позже.

Почему-то никто не вспомнил про DynDNS - поможет в случае разных подсетей, да и вообще совсем разных сетей.
А если Вам нужно узнать IP-адрес, а MAC известен, то поможет RARP (это протокол обратный ARP).
А если известно NETBIOS-имя устройства/компа, то поможет преобразовать его в IP протокол WINS.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Apr 12 2017, 15:50
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 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
Go to the top of the page
 
+Quote Post
jcxz
сообщение Apr 12 2017, 21:47
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 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 - он как раз для этого.
А поднимать всё равно что-то придётся. Но лучше поднимать стандартный протокол, а не самопал, чтобы не получить потом люлей от админа. rolleyes.gif

Цитата(zltigo @ Apr 12 2017, 17:50) *
Осталось его поднять на железке, да и на компьютере тоже разрешить, ибо уже в 90x netbios вышел из употребения де факто.

Да ладно! И сетевыми папками Вы с 90-х не пользовались и сетевым принтером тоже и т.п.? Я Вам сочувствую biggrin.gif

Цитата(zltigo @ Apr 12 2017, 17:50) *
Все ведь просто - посылается broadcast UDP запрос на порт предназначенный для целей идентификации у железки. Железка видит, что запрос именно ее, а не вообще что-то чужое и радостно узнает из него IP адрес компьютера и сообщает на него о своем существовании.

Это "просто" до первого конфликта по портам с другой такой-же железкой, сляпанной таким же умельцем biggrin.gif
А чтобы этого избежать, надо будет дать возможность пользователю изменить этот порт - и опять же придётся ему "вбивать и запоминать еще больше цифр" laughing.gif
Да и как быть за пределами подсети?

Имхо - следует максимально возможно использовать стандартные протоколы, а не лепить самопал.
И даже в этом случае - прежде чем его лепить, нужно изучить все возможности стандартных протоколов и если их почему-то не хватает - только в этом случае ваять своё.
Лепить свой велосипед в обход всех стандартов и не зная их - это пионэрский подход, странно слышать от Вас призывы к этому.
Ну если конечно эта железка делается только для себя и не пойдёт ни к кому. Но тогда не проблема и просто в своём роутере прописать фиксированную аренду постоянного IP для этой железки и не маяться. Может ТСу так и сделать? Он в курсе такой возможности? rolleyes.gif
Go to the top of the page
 
+Quote Post
zltigo
сообщение Apr 13 2017, 07:48
Сообщение #6


Гуру
******

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



Цитата(jcxz @ Apr 13 2017, 00:47) *
Вы о чём?? Что вбивать и что запоминать?
У железки однозначно есть какой-то MAC. И естественно пользователь на компе должен его знать. Но в этом же нет проблем?

Ознакомьтесь с постом Автора, который не хотел назначать даже IP адрес, дабы пользователь его не запоминал, не забывал и не набирал.
Так "Вы о чём??"©
Цитата
Да ладно! И сетевыми папками Вы с 90-х не пользовались и сетевым принтером тоже и т.п.? Я Вам сочувствую biggrin.gif

Да именно так - с 90x ничем на нетбиосе не пользуюсь, как не пользуются им ДЛЯ РАБОТЫ сетевые диски и прочие. Всегда Disabled. Сочувствия не принимаю sm.gif.
Цитата
Это "просто" до первого конфликта по портам с другой такой-же железкой, сляпанной таким же умельцем biggrin.gif
А чтобы этого избежать, надо будет дать возможность пользователю изменить этот порт - и опять же придётся ему "вбивать и запоминать еще больше цифр" laughing.gif

Не порите чушь. Никаких конфликтов не может быть в принципе в этой железке других "умельцев" с какими то своими портами нет, а все остальные железки мира со своими портами никакого отношения к этой железке не имеют.
Цитата
Да и как быть за пределами подсети?

Ни один из прeдложенных и Вами способов эту проблему не решит, поскольку даже знание глобального и локального адресов железки не поможет пробиться к ней через роутер. Такая проблема решается по другому, но автору этого и не требуется.
Цитата
Имхо - следует максимально возможно использовать стандартные протоколы, а не лепить самопал.

Никакого самопала нет и в помине. Берется совершенно стандартный UDP/IP и любой из портов разрешенный для приложений. Все совершенно стандартно.
Иначе по Вашей логике Автор ничего и для взаимодействия со своей железкой использовать не должен креме telnet и прочих sm.gif, ибо "нестандартно" sm.gif
Цитата
Лепить свой велосипед в обход всех стандартов и не зная их - это пионэрский подход, странно слышать от Вас призывы к этому.

Ответ Выше.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
jcxz
сообщение Apr 13 2017, 08:03
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 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дложенных и Вами способов эту проблему не решит, поскольку даже знание глобального и локального адресов железки не поможет пробиться к ней через роутер. Такая проблема решается по другому, но автору этого и не требуется.

Да ладно?? Странно, что другим помогает и люди почему-то используют все эти протоколы, а Вы не можете. Только свой велосипед городить.... laughing.gif
Странно - как это у меня получается связаться с DNS-сервером находящимся через несколько роутеров от меня, получить от него IP и соединиться потом по этому IP. Считаете это фантастикой? cool.gif

Цитата(zltigo @ Apr 13 2017, 09:48) *
Иначе по Вашей логике Автор ничего и для взаимодействия со своей железкой использовать не должен креме telnet и прочих sm.gif, ибо "нестандартно" sm.gif

Я не говорил, что не может. Не передёргивайте. Я писал, что городить свой велосипед нужно тогда и только тогда, когда нет стандартного средства решения или оно по каким-то причинам не подходит. А из сообщений автора видно, что он даже не знает о существующих решениях. Соответственно - не зная их, начиная изобретать что-то своё, запросто нагородит такого, что будет с чем-то конфликтовать.
Go to the top of the page
 
+Quote Post
_3m
сообщение Apr 13 2017, 08:40
Сообщение #8


Знающий
****

Группа: Участник
Сообщений: 745
Регистрация: 28-12-06
Пользователь №: 23 960



Цитата(jcxz @ Apr 13 2017, 11:03) *
Да ладно?? Странно, что другим помогает и люди почему-то используют все эти протоколы, а Вы не можете. Только свой велосипед городить.... laughing.gif
Странно - как это у меня получается связаться с DNS-сервером находящимся через несколько роутеров от меня, получить от него IP и соединиться потом по этому IP. Считаете это фантастикой? cool.gif

Да, это фантастика.
Аксиома1: настройки и логи роутера, dhcp сервера и прочих сетевых устройств недоступны: заблокировано злыми админами или СБ.
Аксиома2: выхода в интернет нет: заблокирован "товарищами" из п.1 или на объекте интернета нет вообще. Работаем только в локалке.

Go to the top of the page
 
+Quote Post
jcxz
сообщение Apr 13 2017, 12:44
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 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 - уже возможен и более ничего не требует. Никаких "назначений".
А "махровый самодельщик" - это похоже Вы так самокритично о себе? biggrin.gif
Ибо куда уж махровее, когда есть стандарт, реализующий данный способ (RARP), взамен него лепить что-то своё, делающее то же самое?

Цитата(zltigo @ Apr 13 2017, 10:39) *
А у кого проблема саязаться с DNS сервером? У кого проблема получить СВОЙ адрес? Кто жаловался???
Проблема узнать ЧУЖОЙ адрес и потом (это Вы уже решили усложнить) пробится через роутеры, если он не глобальный.

wacko.gif Вы уверены, что понимаете значение термина "DNS"?
DNS - это средство преобразования символьного имени в IP-адрес. Заметьте - любого имени.
Попробуйте набрать в строке браузера "electronix.ru". Вот этот адрес для вас - чужой. И Ваш браузер, чтобы определить IP-адрес "electronix.ru", обратиться к DNS (если конечно его нет в локальном DNS-кеше). Вот именно чужие адреса и разресольвивает DNS.
Причём тут СВОЙ адрес?
Вот так и серверное ПО автора сможет обратиться к DNS, чтобы узнать IP адрес устройства по заранее заданному фиксированному имени. А уж устройство, когда включится, сообщить DynDNS свой текущий IP. И этот протокол работает через все роутеры и фаерволлы (как правило).

Цитата(zltigo @ Apr 13 2017, 10:39) *
Уродливые "стандартные" предлагаемые Вами к использованию через анус, действительно не подходят. И в случае тогоже нетбиоса обернутого в TCP просто уродливы и живы только

У Вас тут на конфе почти в каждом сообщении то "уродливые", то через "анус". Прямо какая-то обида на жизнь, в самом деле... biggrin.gif
А если бы Вы ещё иногда опускались до чтения того, на что отвечаете, то могли бы заметить, что я писал про NETBIOS-имена(!).
Ни про NETBIOS-протокол! Ни про какие-то его TCP-обёртки! - это всё Ваши фантазии. Только NETBIOS-имена. Почувствуйте разницу.
Я говорил про WINS. Как ещё одно средство преобразования некоего почти произвольного символьного имени в IP-адрес. Вот NETBIOS-имя только в контексте WINS.

PS: Да - и не надо про то, что автору "не нужна работа через шлюз в другую подсеть". Сейчас не нужна - завтра понадобится. И придётся весь велосипед переписывать.
Вон автор уже пишет, что там есть какие-то пользователи. Завтра к этим пользователем придёт новый админ и отсадит их за шлюз от железки. И потом автор будет объяснять им почему он не предусмотрел такую вроде само собой разумеющуюся вещь как возможность работы в разных подсетях.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- -= Александр =-   Динамический 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


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

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 18:09
Рейтинг@Mail.ru


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