Одного IP-адреса недостаточно, чтобы определить, находится ли он в той же сети. Вам также необходимо использовать маску подсети.
IP-адрес состоит из четырех 8-битных октетов; Октет - это последовательность из 8 двоичных битов. Следовательно, каждый бит может быть 0 или 1, поэтому каждый октет может представлять 2 ^ 8 разных значений, что составляет 256 (0-255). Поскольку таких октетов четыре, может быть комбинация адресов, равная 28+8+8+8 или 232, что составляет 4 294 967 296 возможных адресов. Каждый двоичный бит имеет значение: 128, 64, 32, 16, 8, 4, 2, 1, поэтому в зависимости от того, включен этот двоичный бит или нет, мы добавляем или не добавляем значение для этого бита.
Маска указывает количество адресов, которые мы игнорируем. В основном, где есть единицы, есть адреса, которые не являются частью группы, в которой находится наш адрес. Для сети /24 (или сети с маской 255.255.255.0) это означает, что из 2 ^ 32 возможных адресов мы вычитаем 2 ^ 24 адреса, поэтому в нашей группе осталось 2 ^ 8 адресов, или 256 из них.
Таким образом, если у вас был адрес 172.17.0.0/24, это означает, что в этой сети будет 256 адресов, что будет 172.17.0.0-172.17.0.255, хотя некоторые из них будут зарезервированы как сетевой адрес (172.17.0.0). и один будет зарезервирован как широковещательный адрес (172.17.0.255), и вам также потребуется шлюз (обычно 172.17.0.1).