Ответы:
Широковещательный адрес всегда относится к данной сети, широковещательная рассылка как таковая отсутствует ; когда у вас есть сеть, вы можете вычислить ее широковещательный адрес, заменив все биты хоста на 1; Проще говоря, широковещательный адрес - это наибольший адрес, который вы можете иметь в сети, в то время как сетевой адрес - наименьший (все биты хоста установлены в 0); Вот почему вы не можете использовать ни один из них в качестве фактического адреса хоста: они зарезервированы для этого использования.
Если ваша сеть 192.168.1.0/24, то ваш сетевой адрес будет 192.168.1.0, а ваш широковещательный адрес - 192.168.1.255.
Если ваша сеть 192.168.0.0/16, то ваш сетевой адрес будет 192.168.0.0, а ваш широковещательный адрес - 192.168.255.255.
И так далее...
255.255.255.255 - это специальный широковещательный адрес, который означает «эта сеть»: он позволяет отправлять широковещательный пакет в сеть, к которой вы подключены, фактически не заботясь о его адресе; в этом похож на 127.0.0.1, который является виртуальным адресом, означающим «локальный хост».
Более подробная информация здесь: http://en.wikipedia.org/wiki/Broadcast_address
Чтобы добавить к тому, что Массимо заявил в своем ответе:
255.255.255.255 считается широковещательным адресом физического уровня, а 192.168.1.255 - широковещательным адресом сетевого уровня. ARP будет генерировать широковещательную рассылку на физическом уровне, а NetBIOS - широковещательную рассылку на сетевом уровне.
В принципе, 255.255.255.255 является «глобальным» широковещательным адресом, что означает, что стек IP должен отправлять пакет на все сетевые интерфейсы, а маршрутизаторы, настроенные для пересылки широковещательных сообщений, должны отправлять их.
На практике почти нет маршрутизаторов, передающих широковещательные сообщения, и многие стеки просто отправляют одну копию пакета на интерфейс, на который указывает маршрут по умолчанию.
Широковещательный адрес подсети используется для выбора определенного интерфейса. В обоих случаях они должны быть сопоставлены с широковещательным адресом сетевого уровня (который будет FF: FF: FF: FF: FF: FF для Ethernet).
В общем, использование 255.255.255.255 является плохой идеей, поскольку существует несколько настроек, где интерфейс с маршрутом по умолчанию является совершенно неправильным выбором. Явный выбор интерфейса лучше, но нужно делать это осторожно.
Мое другое предложение будет использовать многоадресную рассылку, если это имеет смысл для вашего приложения. Применяются те же предостережения, что и для широковещательного трафика, но это позволяет незаинтересованным хостам быстро идентифицировать ваши пакеты и позволяет сетевым менеджерам устанавливать специальные правила пересылки для вашего протокола.