35

У меня есть сеть с диапазоном 10.0.0.0/24. Это означает, что у меня есть 10.0.0.0 до 10.0.0.255, однако я не могу использовать 10.0.0.0 или 10.0.0.255, но я могу использовать что угодно между этим.

Почему это? Маска 255.255.255.0 означает, что последняя цифра является адресом хоста, так почему я не могу использовать 0 или 255?

4 ответа4

69

В сети /24 вы не можете использовать 0 потому что это идентификация сети (устройства используют ее для распознавания различных сетей, к которым они подключены).

На ПК с Windows откройте командную строку и введите netstat -r . Вы получите таблицу маршрутизации, используемую ПК, каждая сеть указана с использованием идентификатора сети (первый адрес).

Последний адрес, 255 в случае сети /24, является широковещательным адресом. Устройства, подключенные к сети, используют его для отправки широковещательного сообщения, предназначенного для всех устройств в сети.

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

8

Обратите внимание, что вы не можете использовать первый и последний адрес в диапазоне, если он используется для нумерации устройств в широковещательном домене (т. Е. Физической сети или vlan и т.д.). Поскольку другой ответ действительно указывает, что первый и последний используются в качестве сетевого и широковещательного адресов соответственно в этом сценарии. Кроме того, в некоторых сценариях первый адрес также интерпретируется как широковещательный.

Однако существуют и другие сценарии использования, в которых вы можете использовать первый и последний адрес. Например, если вы являетесь администратором брандмауэра, и сетевой администратор предоставил вам диапазон 10.0.0.0-10.0.0.255, то вы можете использовать все 256 адресов в качестве адресов NAT на брандмауэре. Я признаю, что я не видел, чтобы это делалось очень часто, и когда это сделано, это может вызвать некоторую путаницу - поскольку первая реакция большинства людей - думать, что это не разрешено, - и эта путаница вполне может быть причиной, чтобы советовать против этого.

Если вы придирчивы, то хорошо, строго говоря, 10.0.0.0-10.0.0.255 в этом сценарии не является сетью /24, это диапазон или блок адресов, но я считаю, что обычной практикой по-прежнему называть это «10.0.0.0/24 подсеть» в таком сценарии.

4

В разделе « Стандартная процедура подсетей в Интернете», « К стандартной схеме интернета для подсетей и, в частности, в широковещательной передаче данных в Интернете» в разделе 7 « Присутствие подсетей» дается объяснение выбора, который вы предлагаете.

Ваша гипотеза верна для подсетей CIDR с случайными битовыми масками.

Адрес широковещательной рассылки проще рассматривать как Bcast = Host | ~Mask Это явно игнорирует выбор битов в подсети. Соответственно, сетевой адрес Net = Bcast & ~Mask .

Строго говоря, можно использовать адрес всех нулей (.0 для CIDR/24), но это может запутать некоторое программное обеспечение, в то время как все (0.255) зарезервированы как общеизвестный широковещательный адрес.

Некоторые ранние выпуски BSD Unix 4.2 до RFC 919 были отправлены с использованием Net адреса в качестве широковещательной рассылки. Это вызвало некоторую путаницу в смешанных средах до выпуска 4.3.

1

Сетевой адрес

Сеть для локальной сети (LAN) или глобальной сети (WAN) предоставляется с адресом в зависимости от их емкости. Терминалы, подключенные к сети, используют эти адреса для связи друг с другом. Система по умолчанию резервирует некоторый адрес для связи администратора. Обычно адреса «255» используются для трансляции сообщений в системах Linux или Fedora. Администратор использует этот адрес для трансляции или адреса всех пользователей сети. В случае аварийного отключения администратор может передать сообщение своим пользователям, чтобы сохранить их действия. Некоторые операционные системы предоставляют возможность назначать адрес «0».

Узнайте больше об основах работы в сети: сетевая адресация от Microsoft

Также посмотрите на Что такое трансляция сетевых адресов?

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .