Назад | Перейти на главную страницу

0.1.2.3 - действительный IP-адрес?

Действительны ли IP-адреса со всеми нулями в первом октете?

Например, может 0.1.2.0/24 быть действующей подсетью с сетевым адресом 0.1.2.0, широковещательный адрес 0.1.2.255 и допустимый диапазон адресов от 0.1.2.1 к 0.1.2.254?

Похоже на это должен быть действительным, но он не работает, по крайней мере, в системах Windows.

Если это не так, то почему?

RFC1122, Требования к Интернет-хостам - Уровни связи, говорит:

     { <Network-number>, <Host-number> }

(a)  { 0, 0 }

     This host on this network.  MUST NOT be sent, except as
     a source address as part of an initialization procedure
     by which the host learns its own IP address.

     See also Section 3.3.6 for a non-standard use of {0,0}.

(b)  { 0, <Host-number> }

     Specified host on this network.  It MUST NOT be sent,
     except as a source address as part of an initialization
     procedure by which the host learns its full IP address.

Похоже, что 0.0.0.0/8 находится в списке зарезервированных подсетей IANA.

  • http://www.iana.org/assignments/ipv4-address-space/ipv4-address-space.xml, список зарезервированных адресов IANA, поскольку он датируется достаточно далеким прошлым (1981 год!), чтобы быть диапазоном зарезервированных адресов IANA.
  • http://tools.ietf.org/html/rfc5735, описывающий особые виды использования IPv4, членом которого является данная подсеть. Самый последний список специальных подсетей, включая подсети, зарезервированные для целей документации.
  • http://tools.ietf.org/html/rfc1122#section-3.2.1.3, который описывает конкретное использование сети 0/8.

За RFC 5735, 0.0.0.0/8 - это зарезервированный диапазон IP-адресов, как показано ниже:

0.0.0.0/8 - Адреса в этом блоке относятся к исходным хостам в «этой» сети. Адрес 0.0.0.0/32 может использоваться как адрес источника для этого хоста в этой сети; другие адреса в пределах 0.0.0.0/8 могут использоваться для ссылки на указанные хосты в этой сети [RFC1700, стр. 4].

В соответствии с RFC 1700 - «Присвоенные номера», Раздел «Специальные адреса», сетевой номер 0 может использоваться только как адрес источника и представляет хост в той же сети. Поэтому назначать интерфейсу адрес этого типа недопустимо.

«0». сети используются для SNM (СИСТЕМНОЕ УПРАВЛЕНИЕ СЕТЬЮ) и не могут использоваться для чего-то другого

Для тех, кто задается вопросом, почему в этом случае Network-number равен 0, 0.1.2.0/24 распадается следующим образом:

Network = (8 bits) 0
Subnetwork (16 bits) = 1.2
Host part = remaining 8 bits

Учитывая, что старший бит первого октета равен 0, он должен быть классом A с подразумеваемой сетевой частью 8 бит. Он разбит на подсети еще 16 бит (следующие два октета).

Учитывая такие вещи, как CIDR и смерть классовой адресации, 0.1.2.0/24 должен быть допустимой подсетью (в сетевой части установлены биты, если учесть первые 24 бита).

IP 0.0.0.0 используется только для запроса действительного IP-адреса от DHCP-сервера, а DHCP-сервер отвечает на динамический действительный IP-адрес для запрашивающего компьютера.