Является ли XYZ0 действительным IP-адресом?

86

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

10.6.43.0

В моем случае у меня есть следующая маска

255.255.252.0

А как насчет 0 для других октетов?

Алан Х
источник
12
другие ответили, но мы запускаем / 23s в наших диапазонах DHCP, что означает, что средние .255 и .0 адреса двух / 24 назначаются клиентам. Работает отлично. Иногда «хорошо осведомленные» пользователи немного волнуются, думая, что они извлекли недопустимый IP-адрес, но из сетевого POV он работает нормально.
jj33
1
Смотрите также: Для чего используется сетевой адрес XYZ0 ?
voretaq7

Ответы:

143

Это зависит от подсети рассматриваемого IP-адреса. Как правило, первый и последний адреса в подсети используются в качестве идентификатора сети и широковещательного адреса соответственно. Все остальные адреса в подсети могут быть назначены хостам в этой подсети.

Например, IP-адреса сетей с масками подсетей не менее 24 бит, оканчивающимися на .0 или .255, никогда не могут быть назначены хостам. Такие «последние» адреса подсети считаются «широковещательными» адресами, и все хосты в соответствующей подсети будут отвечать на них.

Теоретически, могут быть ситуации, когда вы можете назначить адрес, заканчивающийся на .0: например, если у вас есть подсеть, такая как 192.168.0.0/255.255.0.0, вам разрешено назначить хосту адрес 192.168.1.0. Это может привести к путанице, так что это не очень распространенная практика.

В вашем примере

 10.6.43.0 with subnet 255.255.252.0 (22 bit subnet mask)

означает идентификатор подсети 10.6.40.0, диапазон адресов хоста от 10.6.40.1 до 10.6.43.254 и широковещательный адрес 10.6.43.255. Таким образом, в теории ваш пример 10.6.43.0 будет разрешен как допустимый адрес хоста.

splattne
источник
4
Одно дополнение В прошлом мне приходилось иметь дело с некоторыми старыми программами, у которых были проблемы с использованием адреса .0 в местах, где это было совершенно законно.
Зоредаче
И ни один ответ на этот вопрос не будет полным без ссылки на RFC CIDR: RFC1518 и RFC1519, которые определяют все это.
pjz
17
RFC 1519 давно устарел. Текущая версия RFC 4632.
bortzmeyer
1
Только что был назначен точка ноль экземпляром Amazon EC2. Они уверены, что максимизируют IP, которые они имеют.
Мэтт
@bortzmeyer, RFC 4632 - просто ЛУЧШАЯ ТЕКУЩАЯ ПРАКТИКА, тогда как RFC 1519 - это стандарт RFC.
Рон Мопин
13

Ответ на ваш вопрос зависит от маски сети. в общем случае утверждение «IP-адреса, оканчивающиеся на .0 или .255 недействительны», является ложным. бери 10.0.1.0/23 - это действительный IP-адрес.

также 10.6.43.0/255.255.252.0 aka 10.6.43.0/22 ​​является действительным.

это была теория. Наиболее разумные сетевые устройства [включая серверы Linux, Windows Box, cisco / hp / и т. д.] будут нормально работать с таким адресом, но я видел, что dlink и другие сетевые устройства низкого уровня [маршрутизаторы, точки доступа] не принимают такие адреса.

PQD
источник
8

Я хотел бы добавить немного около 0 для других октетов:

Это легко: это совсем не проблема, как 192.168.0.1показывает довольно распространенный адрес частной сети .

Конечно, будет еще более очевидный пример 127.0.0.1.

Йоахим Зауэр
источник
2
-1 для очевидного ...
Джон Роудс
6
+1 за указание на очевидное
просто кто-то
Вопрос не в том, чтобы задавать нули в других октетах.
сленг
2
@slang: За исключением того, что буквально спрашивает о том, что именно в последнем предложении.
Йоахим Зауэр
3

У меня возникли проблемы с удаленными сетями, запрещающими IP-адреса из моей сети, если они заканчиваются на 0 (или 255), и они принадлежат диапазону класса C, поскольку все, что заканчивается на 0, будет недопустимой сетью класса C.

Это было несколько лет назад; Я не знаю, блокирует ли кто-то такие адреса или нет.

Джош Келли
источник
Звучит так, будто ваш брандмауэр / программное обеспечение немного ненормальный;)
nixgeek
Каждый IP-адрес в моей сети, кроме .0 или .255, мог получить доступ к каждому сайту, IP-адреса, заканчивающиеся на .0 и .255, могли получить доступ к 95% сайтов, но было два или три совершенно разных сайта, к которым они не могли получить доступ. Если бы это был мой брандмауэр / программное обеспечение, я точно не мог понять, как.
Джош Келли
1
Они должны использовать брандмауэры, настроенные теми же людьми, которые блокируют все ICMP и заканчивают тем, что ломают PMTUD, или блокируют все «недействительные» флаги TCP и заканчивают тем, что ломают ECN.
CesarB
Серверы Microsoft якобы делают это даже сегодня. Нет обновления Windows для вас. Но Microsoft, как известно, нарушает правила с незапамятных времен.
Зденек
0

Просто то, что я нашел, что, вероятно, заслуживает внимания:

Если вы запускаете сценарий APF для сетей R-fx для iptables, он отбрасывает весь трафик до 0.0.0.255

У нас был клиент BT с адресом, оканчивающимся на .255, с префиксом / 21. Технически это действительный IP-адрес, однако ребята из сетей R-fx считают, что есть причина отбрасывать пакеты для этих адресов.

Squeeb
источник
они предпочитают отбрасывать пакеты до 0.0.0.255, скорее всего, в целях безопасности. 1) DOS-атаки могут происходить путем использования мощности широковещательного пакета и 2) полной приватизации сети, чтобы хосты не могли вещать. см. en.wikipedia.org/wiki/Broadcast_traffic#Security
zamnuts