Широковещательный адрес 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).
Как найти широковещательный адрес подсети
Взять адрес сети и выставить в единицы все биты узла — те, где у маски подсети нули:
| Подсеть | Адрес сети | Широковещательный |
|---|---|---|
| 192.168.1.0/24 | 192.168.1.0 | 192.168.1.255 |
| 192.168.1.0/25 | 192.168.1.0 | 192.168.1.127 |
| 10.0.0.0/22 | 10.0.0.0 | 10.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).
Источники
- 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)
- IETF. RFC 1122: Requirements for Internet Hosts — Communication Layers (1989) — разд. 3.2.1.3: {−1, −1} — ограниченная рассылка, её получают все узлы физической сети, но не пересылают за её пределы; {сеть, −1} и {сеть, подсеть, −1} — направленные рассылки; широковещательный адрес нельзя использовать как адрес источника; разд. 3.3.6: узел должен распознавать все формы, следует принимать и нестандартную форму с нулями (4.2BSD); для рассылки в подключённую сеть узлам следует использовать ограниченную рассылку
- IETF. RFC 3021: Using 31-Bit Prefixes on IPv4 Point-to-Point Links (2000) — разд. 2.2: на канале точка-точка с префиксом /31 направленной рассылки нет, используется ограниченная 255.255.255.255
Нашли ошибку?
Смотрите также
- Калькулятор подсетей IPv4Маска и CIDR, сеть, broadcast, узлы, частные диапазоны, деление на подсети
- Маска подсети32 бита: единицы — номер сети, нули — номер узла; 255.255.255.0 = /24
- CIDRБесклассовая адресация: префикс /n вместо маски и классов A, B, C
- DHCPПротокол выдачи IP-адреса, маски и шлюза; аренда, DISCOVER–OFFER–REQUEST–ACK
- Общий вызов I²CАдрес 0x00 для всех устройств шины: команды, сброс, поддержка
- Ethernet для микроконтроллераW5500, ENC28J60, MAC + PHY по RMII, LAN8720, DP83848, трансформатор и разводка