Подтвердить что ты не робот

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

Является ли 0.0.0.0 действительным IP-адресом? Я хочу, чтобы моя программа могла хранить ее как указание на то, что адрес не используется, но это не будет работать, если оно действительно действительно.

4b9b3361

Ответ 1

Он действителен, поскольку он содержит четыре октета, каждый из которых находится в диапазоне от 0 до 255 включительно. Однако он не может использоваться в качестве реального IP-адреса.

RFC1700 (a) заявляет, что 0.0.0.0/8 (0.<anything>.<anything>.<anything>) зарезервировано как только адрес источника. Вы можете попасть в ситуацию, когда, кажется, у вас есть этот адрес, но это нормально, потому что вам не присвоен адрес (например, DHCP).

См. также Запись в Википедии на IPv4.


(a) Хотя этот RFC теперь считается устаревшим, он по-прежнему является правильным с точки зрения данного поведения. Его замена, https://www.iana.org/assignments/iana-ipv4-special-registry/iana-ipv4-special-registry.xhtml, по-прежнему имеет тот же текст, что и использование адреса 0.0.0.0.

Ответ 2

Да, это IP-адрес , но он зарезервирован.

0.0.0.0/8 - Адреса в этом блоке ссылаются на исходные хосты на "this"   сеть. Адрес 0.0.0.0/32 может использоваться как адрес источника для этого    хост в этой сети; другие адреса в пределах 0.0.0.0/8 могут использоваться для    обратитесь к указанным хостам в этой сети

Ответ 3

0.0.0.0 используется для привязки всех интерфейсов IPv4. Поэтому это особое значение, как 127.0.0.1.

Ответ 4

Давайте посмотрим на вопрос, задаваемый здесь ОП.

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

Да. Технически это действительный IP-адрес, а в других ответах описывается множество его вариантов (я не собираюсь публиковать здесь ссылки на Википедию... или, может быть, так и есть).

Таким образом, я считаю, что ответ paxdiablo выше является наиболее правильным, но давайте также рассмотрим контекст вашего вопроса.

Я хочу, чтобы моя программа могла сохранять его в качестве указания на то, что ни один адрес не используется, но это не сработает, если он действительно действителен.

Это полностью зависит от вашего варианта использования. Учитывая, что это форум программистов, давайте рассмотрим эту перспективу.

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

С другой стороны, если вы пишете прошивку брандмауэра или маршрутизатора, этот адрес приобретает особое значение; маршрут по умолчанию, принять любой источник/пункт назначения IP, заблокировать все IP источник/пункт назначения, сквозной контроль и т.д., как указано всеми остальными. Однако позвольте мне отметить, что если вы программируете на этом уровне, у вас должно быть достаточно хорошее понимание сетевых протоколов, чтобы не нужно было задавать этот вопрос в первую очередь.

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

Ответ 5

Он зарезервирован как адрес по умолчанию.

Обычно это видно с помощью ipconfig, если вам не назначен адрес.

Ответ 6

Вы можете использовать его в своем приложении, чтобы представить, что у него нет IP-адреса, Microsoft также использует 0.0.0.0, если на компьютере нет IP-адреса.

"Допустимые" сценарии, о которых говорилось выше, зависят от конкретных сценариев, в которых они не имеют никакого отношения к вашему приложению.

Ответ 7

для всех целей и целей, да. Каждое из четырех чисел, разделенных периодом, имеет значение от 0 до 255, поэтому 0.0.0.0 является технически обоснованным.

Я не думаю, что в мире будет кто-то, кто действительно имеет этот IP-адрес.

EDIT: хорошо, он зарезервирован для маршрута по умолчанию, но он по-прежнему действителен.

Ответ 8

конечно. он не будет действителен для одного хоста в сети. он находится в диапазоне вещания для локальной сети. читайте здесь: http://tools.ietf.org/html/rfc1700

Ответ 9

Выполнение запроса Network Whois также может выдавать вывод, который весьма полезен.
Пример:
http://whois.arin.net/rest/nets;q=0.0.0.0?showDetails=true

Комментарий: адрес 0.0.0.0 может использоваться только как адрес исходящего пакета, когда компьютер изучает, какой IP-адрес он должен использовать. Он никогда не используется в качестве адреса назначения. Адреса, начинающиеся с "0." иногда используются для трансляций непосредственно подключенным устройствам.

Ответ 10

Как уже упоминалось в других ответах, 0.0.0.0 является легальным и действительным для некоторых целей IP-адресом.

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

Перегрузка допустимых значений происходит постоянно, IP-адреса и MAC-адреса (да, 00: 00: 00: 00: 00: 00 разрешены и выделены) являются одними из наиболее распространенных жертв.

По совпадению, я сейчас работаю над системой (не основанной на Ethernet/IP), где длина кадра ограничена примерно 40 байтами. Поскольку байт может представлять длины от 0 до 255 байтов, а максимальная длина составляет 40 байтов, я могу использовать некоторые из неиспользуемых, иначе говоря, недопустимых значений (от 252 до 255), для представления элементов флага. Эти внутриполосные флаги в порядке, потому что нет перегрузки.