LINUX.ORG.RU

Широковещательный опрос по сети.


0

0

Задача. В сети есть устройства. Адресация по МАС, tcp/ip не используетеся. К устройству можно обратиться, если знать его МАС адрес - т.е. с этим проблем нет.

Возникает вопрос, если МАС адрес устройства не известен, а устройство необходимо найти в сети. На ум приходит широковещательный опрос по сети и ожидаем ответа. Вроде бы всё понятно, сделать это можно и будет работать, но... в сети могут быть нормальные компы с нормальными ОС WinXp, Linux, qnx и т.д. Поэтому возникает вопрос, как они будут реагировать при получении широковещательного пакета? Очень бы не хотелось, что бы им поплохело.

Насколько я понимаю, в обычном tcp/ip пакета после 12 байт МАС адреса источника и приёмника идут данные типа struct iphdr по ftp://ftp.rfc-editor.org/in-notes/rfc791.txt страница 11.

Вопрос: чем надо руководствоваться чтобы сформировать пакет широковещательного опроса.

anonymous

Если первый бит первого байта MAC-адреса == 1, то это широковещательный адрес.

Deleted
()
Ответ на: комментарий от Deleted

И если адрес назначения FF:FF:FF:FF:FF:FF, то пакет должны получить вообще все, кто находится в сети (broadcast). А если другой (но тоже с установленным битом), то только те, у кого настроен приём на этот адрес (multicast).

Deleted
()
Ответ на: комментарий от hizel

>руководствуйтесь соответствующими rfc

в: Мальчик, как тебя зовут? о: как папу. в: а папу как зовут? о: как меня. в: дак как же вас обоих зовут? о: одинакого!

Я к тому, что различных rfc много. Под термином "соответствующий" можно понимать много чего. Какой из них использовать - не очевидно. Поэтому и обращаюсь за помощью.

На текущий момент нашёл этот: ftp://ftp.rfc-editor.org/in-notes/rfc2131.txt

Ни кому же плохо не будет, если я буду если поиск будет проходить по dh cp модернизированному протоколу? Насколько я понимаю, проблемы могут возникнуть, если в сети будут левые dhcp сервера и клиенты. Есть ли другие варианты, кроме dhcp?

anonymous
()
Ответ на: комментарий от Deleted

>И если адрес назначения FF:FF:FF:FF:FF:FF, то пакет должны получить вообще все, кто находится в сети (broadcast). А если другой (но тоже с установленным битом), то только те, у кого настроен приём на этот адрес (multicast)

Я склоняюсь к FF:FF:FF:FF:FF:FF, но меня смущает, что если я запишу после 12-го байто то что мне надо, то остальным компам может от этого поплохеть. Этого очень бы не хотелось.

anonymous
()
Ответ на: комментарий от anonymous

>> Я склоняюсь к FF:FF:FF:FF:FF:FF, но меня смущает, что если я запишу после 12-го байто то что мне надо, то остальным компам может от этого поплохеть. Этого очень бы не хотелось.

Нормальная сетевая подситема должна просто игнорировать неизвестные протоколы. Так что ничего страшного не произойдёт.

Deleted
()
Ответ на: комментарий от anonymous

>> А если будет похож на известный протокол?

В любом случае - если невалидный пакет вызовет что-то нехорошее в ОС (или какой-то конкретной программе), то это явная бага.

Deleted
()
Ответ на: комментарий от Deleted

но так же устройство, которое шлёт не корректные пакеты можно обозначить, как устройство с багом, т.е. оно должно быть удалено из сети чтобы не засорять сеть мусором

anonymous
()
Ответ на: комментарий от anonymous

>> но так же устройство, которое шлёт не корректные пакеты можно обозначить, как устройство с багом, т.е. оно должно быть удалено из сети чтобы не засорять сеть мусором

Ну тогда выкиньте их нафиг и не занимайтесь ерундой 8).

Deleted
()
Ответ на: комментарий от Valeriy_Onuchin

udp подразумевает ip адресацию. В моём случае адресация по МАС.

anonymous
()
Ответ на: комментарий от true_admin

Т.е. после 12-го байта (т.е. МАС адресов источника и приёмника) я могу определять содержание безотносительно rfc? Это не будет ошибкой?

anonymous
()

Афтар, это опять ты!? :Е Может прочитаешь хотя бы _ОДНУ_ книжечку по сетям, а? Поиском по тырнету пользоваться ты не умешь, это мы уже поняли. Можно попробовать почитать на бумаге.

)

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.