На этот вопрос уже есть ответ здесь:
Похоже, что обычной практикой является не использовать первый адрес в подсети, это IP 192.168.0.0/24
, или более экзотический пример будет 172.20.20.64/29
.
Инструмент ipcalc
, который я часто использую, следует той же практике:
$ ipcalc -n -b 172.20.20.64/29
Address: 172.20.20.64
Netmask: 255.255.255.248 = 29
Wildcard: 0.0.0.7
=>
Network: 172.20.20.64/29
HostMin: 172.20.20.65
HostMax: 172.20.20.70
Broadcast: 172.20.20.71
Hosts/Net: 6 Class B, Private Internet
Но почему в данном случае HostMin
не просто 64
? Адрес 64
- действительный адрес, верно? И каков бы ни был ответ, применимо ли то же самое к IPv6?
Возможно, немного связано: также кажется возможным использовать TCP-порт 0 и UDP-порт 0. Они действительны или используются где-нибудь?
Как Wesley, Chopper3 и Willy указали, что современная конвенция использует первый адрес (все обнуляет номер узла) для подсети и последнего адреса (весь номер узла) как широковещательный адрес.
По историческим причинам много Ose рассматривают первый адрес как широковещательную передачу. Например, проверение с помощью ping-запросов x.x.x.0 от OS X, Linux и Соляриса в моей локальной (/24) сети получает ответы. Windows не позволяет Вам проверить с помощью ping-запросов первый адрес по умолчанию, но Вы смогли включать его с помощью метода SetIPUseZeroBroadcast WMI. Интересно, могло ли Вам сойти с рук использование.0 как адрес узла в сети все-Windows.
Поскольку первый адрес в подсети относится к самой подсети и используется для целей маршрутизации.
Рано в интернет-дни, x.x.x.0 использовался в качестве широковещательного адреса для сети. Это было позже изменено на x.x.x.255. Я помню, что были опции на SunOS для конфигурирования широковещательной передачи или как.0 или.255 в течение того периода. Таким образом, я предполагаю для безопасности.0 и.255 всегда были зарезервированные числа.
Первое число в подсети является самим адресом сети. таким образом, 192.168.0.0/24 является числом, которое используется для обращения к той подсети. Конечно, последний адрес является широковещательным адресом, куда широковещательные сообщения отправлены в и затем снижены всем клиентам на той подсети. В сетях IP Вы всегда удаляете 2 из широковещательного адреса для нахождения общей суммы адресуемых IP-адресов. 192.168.0.0/24 имеет широковещательную передачу 192.168.0.255 и таким образом 253 адресуемых адреса. 192.168.0.0/26 имеет широковещательную передачу 192.168.0.64 и таким образом 62 адресуемых адреса.
(Chop и Willy побеждают меня к нему - но я являюсь сварливым и не испытываю желание удалять свое сообщение.=))
x.x.x.0 (или сначала обращаются на подсети) является сетевым адресом и используется для идентификации, какой трафик находится на той же подсети, и который должен быть направлен к другой сети.
Существует два зарезервированных IP-адреса на блок CIDR. Каждый - номер сети, и это будет даже (укусил 0), прочь. Другой направленная широковещательная передача (широковещательная передача подсети), и она будет иметь часть, относящуюся к хосту сетевого набора ко всем (нечетное число). Вот пример от моего калькулятора подсети:
Network Net Broadcast CIDR Mask UsableHosts
192.168.254.0 192.168.254.31 27 255.255.255.224 30 AVL isPrivate, isClassC
192.168.254.32 192.168.254.47 28 255.255.255.240 14 AVL isPrivate, isClassC
192.168.254.48 192.168.254.55 29 255.255.255.248 6 AVL isPrivate, isClassC
192.168.254.56 192.168.254.59 30 255.255.255.252 2 REQ 2 isPrivate, isClassC
192.168.254.60 192.168.254.63 30 255.255.255.252 2 REQ 2 isPrivate, isClassC
Я знаю, что это старый поток, но я сам исследовал его и не остановился на том, что «нулевой хост не используется, потому что это номер сети», потому что я не мог видеть почему это имело значение. Даже если это номер сети, он не должен останавливать его использование в качестве действительного адреса, поскольку механизм определения номера сети (операция AND над маской сети) все равно будет работать с ним для определения номера сети.
Не использовать все единицы. адрес хоста, потому что он совпадает с широковещательным адресом, который мне удобен, поскольку это уже действительный адрес назначения, поэтому при его использовании будет невозможно различить их.
Более подробно объясненная причина, по которой мы не можем использовать нулевой хост, является что это также широковещательный адрес - хотя RFC1812 раздел 4.2.3. 1 заявляет, что маршрутизатор, получающий адресованные ему пакеты, «ДОЛЖЕН молча отбрасывать» их (их выделение - не мое). Однако в том же параграфе разрешается рассматривать эти пакеты как широковещательные.
Вот полный подраздел
(2) SHOULD silently discard on receipt (i.e., do not even deliver to
applications in the router) any packet addressed to 0.0.0.0 or {
<Network-prefix>, 0 }. If these packets are not silently
discarded, they MUST be treated as IP broadcasts (see Section
[5.3.5]). There MAY be a configuration option to allow receipt
of these packets. This option SHOULD default to discarding
them.
Самый простой способ - использовать http://ifconfig.me/ , как предлагается.
На этой странице вы узнаете, какую команду использовать для чего информацию, которую вы хотите получить.
Для IP: t распространять это на основе прошлого опыта.
Интересно, что все, что потребуется для поддержки хоста 0 на любом конкретном сайте, - это поддержка точными устройствами, присутствующими в локальной подсети ... как только пакет будет агрегирован в восходящем направлении, он не будет ' Можно даже знать, что он действительно использовал (CIDR) хост с номером 0. WAN вообще не заботится.
Наконец, если хосты локальной подсети используют номер хоста all-1 для широковещательной рассылки и не выделяют в особом случае номер хоста all-0, вы можете оставить маршрутизатор по умолчанию и "скрытая" станция только для местных жителей. Это может быть полезно для защиты встроенных систем, таких как дешевые потребительские маршрутизаторы, подверженные взлому ...
все, что потребуется для поддержки хоста 0 на любом конкретном сайте, - это поддержка точными устройствами, присутствующими в локальной подсети ... после того, как пакет будет агрегирован в восходящем направлении, даже невозможно будет узнать, что у него действительно был номер хоста (CIDR) 0 в использовании. WAN вообще не заботится.Наконец, если хосты локальной подсети используют номер хоста all-1 для широковещательной рассылки и не выделяют в особом случае номер хоста all-0, вы можете оставить маршрутизатор по умолчанию и "скрытая" станция только для местных жителей. Это может быть полезно для защиты встроенных систем, таких как дешевые потребительские маршрутизаторы, подверженные взлому ...
все, что потребуется для поддержки хоста 0 на любом конкретном сайте, - это поддержка точными устройствами, присутствующими в локальной подсети ... после того, как пакет будет агрегирован в восходящем направлении, даже невозможно будет узнать, что у него действительно был номер хоста (CIDR) 0 в использовании. WAN вообще не заботится.Наконец, если хосты локальной подсети используют номер хоста all-1 для широковещательной рассылки и не выделяют в особом случае номер хоста all-0, вы можете оставить маршрутизатор по умолчанию и "скрытая" станция только для местных жителей. Это может быть полезно для защиты встроенных систем, таких как дешевые потребительские маршрутизаторы, подверженные взлому ...
s хосты используют номер хоста all-1 для широковещательной рассылки и не используют специальный номер хоста all-0, вы можете оставить маршрутизатор по умолчанию и иметь локальную «скрытую» станцию. Это может быть полезно для защиты встроенных систем, таких как дешевые потребительские маршрутизаторы, подверженные взлому ... s хосты используют номер хоста all-1 для широковещательной рассылки и не используют специальный номер хоста all-0, вы можете оставить маршрутизатор по умолчанию и иметь локальную «скрытую» станцию. Это может быть полезно для защиты встроенных систем, таких как дешевые потребительские маршрутизаторы, подверженные взлому ...