Перейти к содержанию

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

У подсети 192.168.1.0/24 два адреса никогда не достаются устройствам: .0 и .255. Последний — широковещательный: пакет на него получают все узлы подсети. Им пользуются протоколы обнаружения устройств, DHCP и самодельные «кто здесь?» в прошивках.

Обновлено Редакция GAW

Широковещательный адрес (broadcast address) — IPv4-адрес, означающий «все узлы»: пакет на него принимают все устройства сети. RFC 919 выбрал для этого номер узла из одних единиц — такой вряд ли окажется у реального устройства (разд. 7).

Две формы

ФормаЗаписьКомуПересылается ли
Ограниченная (limited)255.255.255.255всем узлам своей физической сетинет
Направленная (directed)номер сети + все единицы в части узла, например 192.168.1.255 для /24всем узлам указанной сети или подсетиможет маршрутизироваться

Источники — RFC 919, разд. 7, и RFC 1122, разд. 3.2.1.3. Ограниченной рассылкой пользуются узлы, которые ещё не знают номера своей сети, — например, при запросе адреса у сервера DHCP. Для рассылки в свою сеть RFC 1122 советует узлам использовать именно её (разд. 3.3.6).

Как найти широковещательный адрес подсети

Взять адрес сети и выставить в единицы все биты узла — те, где у маски подсети нули:

broadcast=сеть∣¬ маска.\text{broadcast} = \text{сеть} \mathbin{|} \lnot\,\text{маска}.
ПодсетьАдрес сетиШироковещательный
192.168.1.0/24192.168.1.0192.168.1.255
192.168.1.0/25192.168.1.0192.168.1.127
10.0.0.0/2210.0.0.010.0.3.255

Расчёт наш. Адрес с нулями в части узла обозначает саму сеть (RFC 919), поэтому в блоке из 232−n адресов узлам остаётся на два меньше. Исключение — префикс /31 на каналах точка-точка: направленной рассылки там нет, и оба адреса отдают узлам (RFC 3021, разд. 2.2). Посчитать для любого префикса можно калькулятором подсетей, о записи префикса — термин «CIDR».

Правила для узлов

  • Широковещательный адрес нельзя использовать как адрес источника (RFC 1122, разд. 3.2.1.3) и, значит, назначать устройству.
  • Узел должен распознавать все формы широковещательного адреса во входящих пакетах и по возможности принимать устаревшую форму с нулями вместо единиц (разд. 3.3.6).

Не путать

С общим вызовом шины I²C — адресом 0x00, на который откликаются все устройства шины: идея та же, но это другой уровень и другой протокол, см. «Общий вызов I²C». С групповой рассылкой (multicast, 224.0.0.0/4), которую получают только подписанные на группу узлы.

Частые вопросы

Какой широковещательный адрес у сети 192.168.1.0/24?

192.168.1.255: в части узла (последние 8 бит) все единицы. Его получают все узлы подсети, поэтому назначать его устройству нельзя. Для другой маски адрес другой: у 192.168.1.0/25 — 192.168.1.127 (наш расчёт).

Чем 255.255.255.255 отличается от 192.168.1.255?

255.255.255.255 — ограниченная рассылка: всем узлам физической сети, без пересылки через маршрутизаторы; ею пользуются устройства, которые ещё не знают своей сети, например при запросе адреса. 192.168.1.255 — направленная рассылка конкретной подсети (RFC 919, разд. 7; RFC 1122, разд. 3.2.1.3).

Пройдёт ли широковещательный пакет через роутер?

Ограниченная рассылка 255.255.255.255 — нет, её нельзя пересылать за пределы сети (RFC 919, разд. 7). Направленную рассылку маршрутизатор теоретически может доставить в удалённую подсеть, но для рассылки в своей сети RFC 1122 советует узлам использовать именно ограниченную (разд. 3.3.6).

Источники

  1. IETF. RFC 919: Broadcasting Internet Datagrams (1984) — разд. 7: номер узла «все хосты» — все единицы, потому что такой номер вряд ли назначат реальному узлу; 255.255.255.255 — рассылка в локальной сети, её нельзя пересылать дальше, ею пользуются узлы, ещё не знающие номера своей сети; узел сети 36 рассылает соседям на 255.255.255.255, всей сети — на 36.255.255.255; адрес с нулями в части узла обозначает саму сеть (36.0.0.0)
  2. IETF. RFC 1122: Requirements for Internet Hosts — Communication Layers (1989) — разд. 3.2.1.3: {−1, −1} — ограниченная рассылка, её получают все узлы физической сети, но не пересылают за её пределы; {сеть, −1} и {сеть, подсеть, −1} — направленные рассылки; широковещательный адрес нельзя использовать как адрес источника; разд. 3.3.6: узел должен распознавать все формы, следует принимать и нестандартную форму с нулями (4.2BSD); для рассылки в подключённую сеть узлам следует использовать ограниченную рассылку
  3. IETF. RFC 3021: Using 31-Bit Prefixes on IPv4 Point-to-Point Links (2000) — разд. 2.2: на канале точка-точка с префиксом /31 направленной рассылки нет, используется ограниченная 255.255.255.255

Нашли ошибку?