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

Можно ли дать устройству IP-адрес, оканчивающийся на 0 или 255?

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

IP-адрес делится маской подсети на номер сети и номер узла. RFC 1122 (разд. 3.2.1.3) запрещает номеру узла быть из одних нулей или из одних единиц: все нули — это адрес самой сети, все единицы — широковещательный адрес, который получают все устройства сети. Какое из чисел окажется «запретным», зависит от длины префикса в записи CIDR.

Примеры

Наш расчёт:

СетьАдрес сетиШироковещательныйАдреса устройств.0 и .255 внутри
192.168.1.0/24192.168.1.0192.168.1.255.1–.254нельзя
192.168.0.0/23192.168.0.0192.168.1.255192.168.0.1–192.168.1.254192.168.0.255 и 192.168.1.0 — можно
10.0.0.0/810.0.0.010.255.255.25510.0.0.1–10.255.255.25410.0.0.255 — можно
192.168.1.0/26192.168.1.0192.168.1.63.1–.62.63 тоже нельзя

Число адресов устройств в сети с префиксом длиной n:

N=232−n−2N = 2^{32 - n} - 2

Для /24 это 254, для /23 — 510. Исключение — соединения точка — точка с префиксом /31 по RFC 3021, где оба адреса — узлы.

Как проверить свой адрес

Подставьте адрес и маску в калькулятор подсетей: он покажет адрес сети, широковещательный адрес и диапазон для устройств. Что будет, если маска на устройстве задана неверно, разобрано в ответе «Что будет, если указать неправильную маску подсети».

Похожие вопросы

Почему роутер не даёт ввести адрес 192.168.1.255?

При маске 255.255.255.0 это широковещательный адрес сети 192.168.1.0/24: пакет на него получают все устройства сети. RFC 1122 запрещает использовать его как адрес источника, поэтому ни устройство, ни роутер не примут его как адрес узла.

А адрес 10.0.0.255 в сети 10.0.0.0/8?

Его можно назначить: при маске 255.0.0.0 часть узла — последние 24 бита, и 0.0.255 — не все нули и не все единицы. Наш вывод: смотреть нужно на биты узла целиком, а не на последний октет.

Бывают ли сети, где используются все адреса?

Да, соединения точка — точка с префиксом /31 по RFC 3021: в них всего два адреса, оба назначаются узлам, широковещательного нет. В обычной локальной сети так не делают.

Источники

  1. IETF. RFC 1122 — Requirements for Internet Hosts — Communication Layers (October 1989) — разд. 3.2.1.3: адрес {<сеть>, −1} и {<сеть>, <подсеть>, −1} — направленный широковещательный, не может быть адресом источника; номера узла, сети и подсети не могут быть из одних нулей или одних единиц, кроме перечисленных особых случаев; запрет для номера подсети относится к классовой адресации и при CIDR (RFC 4632) не применяется (наш вывод), запрет для номера узла действует
  2. IETF. RFC 3021 — Using 31-Bit Prefixes on IPv4 Point-to-Point Links (December 2000) — исключение: на соединениях точка — точка с префиксом /31 оба адреса используются как адреса узлов, широковещательного адреса нет
  3. IETF. RFC 4632 — Classless Inter-domain Routing (CIDR) (August 2006) — запись префикса a.b.c.d/n: граница сети задаётся длиной префикса, а не классом адреса

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