является ли x.y.z.0 действительным ip-адресом?

<p>действительны ли ip-адреса с 0 в последнем октете?</p><pre><code>10.6.43.0 </code></pre><p>в моем случае у меня есть следующая маска</p><pre><code>255.255.252.0 </code></pre><p>как насчет 0 для других октетов?</p>

<p>это зависит от подсети рассматриваемого ip-адреса. как правило, первый и последний адреса в подсети используются в качестве идентификатора сети и широковещательного адреса соответственно. все остальные адреса в подсети могут быть назначены хостам в этой подсети.</p><p>например, ip-адреса сетей с масками подсетей не менее 24 бит, оканчивающимися на .0 или .255, никогда не могут быть назначены хостам. такие "последние" адреса подсети считаются "широковещательными" адресами, и все хосты в соответствующей подсети будут отвечать на них.</p><p>теоретически, могут быть ситуации, когда вы можете назначить адрес, заканчивающийся на .0: например, если у вас есть подсеть, такая как 192.168.0.0/255.255.0.0, вы можете назначить хосту адрес 192.168.1.0. это может привести к путанице, так что это не очень распространенная практика.</p><p>в вашем примере</p><pre><code> 10.6.43.0 with subnet 255.255.252.0 (22 bit subnet mask) </code></pre><p>означает идентификатор подсети 10.6.40.0, диапазон адресов хоста от 10.6.40.1 до 10.6.43.254 и широковещательный адрес 10.6.43.255. таким образом, теоретически ваш пример 10.6.43.0 будет разрешен как действительный адрес хоста.</p>

<p>ответ на ваш вопрос зависит от маски сети. в общем случае утверждение "ip-адреса, оканчивающиеся на .0 или .255 недействительны", является ложным. бери 10.0.1.0/23 - это действительный ip-адрес.</p><p>также 10.6.43.0/255.255.252.0 aka 10.6.43.0/22 является действительным.</p><p>это была теория. наиболее разумные сетевые устройства [включая серверы linux, windows-боксы, cisco/hp/etc] будут нормально работать с таким адресом, но я видел, что dlink и другие сетевые устройства низкого уровня [маршрутизаторы, точки доступа] не принимают такие адреса.</p>

<p>я нашел это, который утверждает, что это действительно, в зависимости от вашей маски подсети.</p><p> <a href="http://en.wikipedia.org/wiki/ipv4#addresses\_ending\_in\_0\_or\_255">http://en.wikipedia.org/wiki/ipv4#addresses\_ending\_in\_0\_or\_255</a> </p>

<p>я хотел бы добавить немного около 0 для других октетов:</p><p>это легко: это совсем не проблема, так как довольно распространенный адрес частной сети <code>192.168.0.1</code> показывает.</p><p>конечно, еще более очевидным примером будет <code>127.0.0.1</code>.</p>

<p>у меня возникли проблемы с удаленными сетями, запрещающими ip-адреса из моей сети, если они заканчиваются на 0 (или 255), и они принадлежат к диапазону класса c, поскольку все, что заканчивается на 0, будет недопустимой сетью класса c.</p><p>это было несколько лет назад; я не знаю, блокирует ли кто-то такие адреса или нет.</p>

<p>просто то, что я нашел, что, вероятно, заслуживает внимания:</p><p>если вы используете скрипт apf для сетей r-fx для iptables, он отбрасывает весь трафик до 0.0.0.255</p><p>у нас был клиент bt с адресом, оканчивающимся на .255, с префиксом/21. технически это действительный ip-адрес, однако ребята из сетей r-fx считают, что есть причина отбрасывать пакеты для этих адресов.</p>