Чи встановлено призначення IP-пакета для IP-адреси підмережі?
Так. Це дійсний IP-код, тому його можна використовувати.
Якщо так, то в яких випадках і чому?
Це просто один з 255 використаних IP-адрес в / 24
Якщо ні, то чому б не звільнити цю адресу для будь-якого хоста?
Якщо у вас є старовинне обладнання, вам потрібно перевірити, чи в якості мережевої адреси використовується перша чи остання адреса. (.0 або .255 для мереж з маскою FF.FF.FF.00)
Це робить доброю звичкою пропускати цю IP. А звички, засвоєні давно, важко ігнорувати.
А люди, які не знають тло, не використовують його "тому, що інші також не використовують його, тому його потрібно неправильно" або тому, що вони не усвідомлюють, що "0" може бути першим числом.
[Редагувати] Grezzo щойно перевірив його на Windows XP, де інтерфейс інтерфейсу Windows «з користю» запобіг цього налаштування. У Windows 7 така ж поведінка. Потім я спробував це на хості без вікон, де він просто працює. Якщо ви використовуєте Windows, вам, можливо, доведеться налаштувати свою мережу вручну через IPconfig, щоб встановити її на всі нулі.
[Редагувати 2]
Чим довше я працюю з цим, тим більше я плутаюся.
Rfc4632 - Без класового міждоменного маршрутизації
, схоже, це не забороняє, але й не дозволяє прямо.
У цій публікації ServerFault зазначається: "З історичних причин багато ОС вважають першу адресу як широкомовної. Наприклад, pinging xxx0 з ОС X, Linux та Solaris у моїй локальній (/ 24) мережі отримує відповіді. Windows не дозволяє вам пінг перша адреса за замовчуванням, але ви, можливо, зможете ввімкнути її за допомогою методу SetIPUseZeroBroadcast WMI. Цікаво, чи не вдалося б ви уникнути використання .0 в якості адреси хоста в мережі Windows? " .
Це те саме питання, але не відповідь.
Мережева адреса також використовується в таблицях маршрутизації. Але я не розумію, чому це не спрацювало б через це. Те саме позначення в таблицях маршрутизації спрямовувало б до правильної мережі. Опинившись у правій мережі, він прийде до ПК з IP 0.
(Все це для 192.168.1 / 24.
Якщо ви використовували 192.168.0 / 23, то 192.168.1.0 було б дійсним і безпечним значенням в середині діапазону)
[Редагувати 3]
Ще одне посилання на те саме питання. Це здається дещо популярним на обміні стеками:
/superuser/379451/why-can-a-network-address-not-be-a-valid-host-address
І одна думка:
Destination_IP, ймовірно, AND ed з мережевою щоглою (швидка операційна техніка) перед порівнянням із записами в таблицях маршрутизації. Але:
(Напів випадковий IP) 192.168.0.42 І 255.255.255.0 дасть 192.168.0.0
Але 192.168.0.0 І 255.255.255.0 також дасть 192.168.0.0
[Редагувати 4 - Довго після написання цієї відповіді - мені може знадобитися переписати всю публікацію завдяки цій новій інформації ]
RFC923 на сторінці 3 повідомляє, що:
In certain contexts, it is useful to have fixed addresses with
functional significance rather than as identifiers of specific
hosts. When such usage is called for, the address zero is to be
interpreted as meaning "this", as in "this network". The address
of all ones are to be interpreted as meaning "all", as in "all
hosts". For example, the address 128.9.255.255 could be
interpreted as meaning all hosts on the network 128.9. Or, the
address 0.0.0.37 could be interpreted as meaning host 37 on this
network.
Цитуючи @ylearn на нашому мережевому інженерному сайті
Я вважаю, що перша документація цього документа походить від RFC950, на яку посилаються RFC943 (яка застаріла RFC923 вище, але використовує ту ж мову для спеціальних адрес):
It is useful to preserve and extend the interpretation of these
special addresses in subnetted networks. This means the values
of all zeros and all ones in the subnet field should not be
assigned to actual (physical) subnets.
ifconfig
не скаржиться, встановивши адресу хоста 24 мережі в 0 або 255. Просто спробуйте скористатися ним.