Давайте посмотрим на вопрос, задаваемый здесь ОП.
Является ли 0.0.0.0 действительным IP-адресом?
Да.Технически это действительный IP-адрес, а в других ответах описывается множество его вариантов (я не собираюсь публиковать здесь wikipedia ссылки ... или, может быть, я так).
Как таковой, я считаю, ответ Паксдиабло выше является наиболее правильным, но давайте также посмотрим на контекст вашего вопроса.
Я хочу, чтобы моя программаиметь возможность хранить его как указание на то, что ни один адрес не используется, но это не сработает, если он действительно действителен.
Это полностью зависит от вашего варианта использования.Учитывая, что это форум программистов, давайте рассмотрим эту перспективу.
Если ваше программное обеспечение хранит реальные интернет-адреса - местоположения серверов, посетителей вашего сайта, сайты репликации / зеркалирования или резервного копирования, веб-службы или серверы баз данных и т. Д.- тогда это будет совершенно справедливо.Ни одному компьютеру в Интернете никогда не будет назначен этот адрес, и при этом он никогда не будет преобразован в действительное соединение.
Если, с другой стороны, вы пишете прошивку брандмауэра или маршрутизатора, этот адрес приобретает особое значение;маршрут по умолчанию, принять любой источник / пункт назначения IP, заблокировать все IP источник / пункт назначения, сквозной контроль и т. д., как указано всеми остальными.Однако позвольте мне отметить, что если вы программируете на этом уровне, у вас должно быть достаточно хорошее понимание сетевых протоколов, чтобы не нужно было задавать этот вопрос в первую очередь.
Поэтому я собираюсь предположить,что большинство людей, просматривающих этот вопрос, попадают в первую категорию и полагают, что этот является совершенно допустимым способом хранения нулевого, пустого или отсутствующего IP-адреса , если есть какая-то причина, по которой фактическое значение null
не может быть использован.Даже если вы пренебрегаете проверкой правильности и ваше программное обеспечение пытается подключиться к этому IP-адресу, оно просто не сможет установить соединение.