Действительны ли 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.
За 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-адрес для запрашивающего компьютера.