Преобразование префикса в маску и наоборот
Префикс равен количеству едениц в маске, к примеру:
\24 = 11111111.11111111.11111111.00000000 = 255.255.255.000
А уже переведя из двоичной системы в десятичную получится 255.255.255.000
Расчет IP-адресации в десятичном виде (для фиксированной маски)
Маска сети разделяет адрес на 2 части – адрес сети и адрес узла.
Все нули в двоичном виде в адресе узла – это адрес сети.
Все единицы в двоичном виде в адресе узла – это широковещательный адрес.
Все что между адресом сети и широковещательным адресом – это доступные ip-адреса.
Вычисление с помощью маски сети:
ip-адрес: 212.066. 136.227
Маска сети: 255.255. 000.000
адр.сети|адр.узла
Адрес сети: 172.016. 000.000
Широковещат.адр: 172.016. 255.255
Правило подходит только для масок со значениями 255 или 0!
Перевод из десятичной системы в двоичную
212.066.136.227
Каждый октет переводится отдельно.
Делим первый октет на 2, если делится без остатка то записываем 0, если делится с остатком, то записываем 1. Результат снова делим на 2, если делится без остатка то записываем 0, если с остатком, то 1.
Так пока не дойдём 1:2=0 с остатком, значит записываем 1.
212/2=106 0 (без остатка)
106/2=53 0 (без остатка)
53/2=26 1 (с остатком)
26/2=13 0
13/2=6 1
6/2=3 0
3/2=1 1
1/2=0 1
В двоичном виде записываем последние значения первыми. В результате получим 11010100, если число знаков меньше 8 то спереди дописываем нули. Посчитав оставшиеся октеты аналогичным образом получим: 11010100.1000010.10001000.11100011
Перевод из двоичной системы в десятичную
Здесь нам понадобятся таблица степеней двойки:

Степени двойки
Каждая еденица равна сетпени двойки относительно своего порядка, ноль равен нулю.
Октет 11111111 равен 2(7)+2(6)+2(5)+2(4)+2(3)+2(2)+2(1)+2(0)=255
Соответственно
11010100=2(7)+2(6)+0+2(4)+0+2(2)+0+0=128+64+0+16+0+4+0+0=212
Таким образом мы обратно перевели из двоичной системы в десятичную первый октет нашего ip. Оставшиеся октеты переводятся таким же образом.
Расчет IP-адресации в двоичном виде
В примере будет использован ip-адрес 192.168.201.1/23
Переводим ip и маску в двоичный вид:
ip-адрес 192.168.201.1 11000000.10101000.11001001.00000001
Маска 255.255.254.0 11111111.11111111.11111110.00000000
Приизведём наложение, 1 на 1 даёт 1, 1 на 0 даёт 0, 0 на 0 тоже 0. Так мы узнаем адрес сети.
Адрес сети 192.168.200.0 11000000.10101000.11001000.00000000
Подчеркну что десятичный адрес получается способом описанным выше, уже после расчёта двоичного.
Теперь ту часть адреса которой соответствуют 0 в маске заполним еденицами. Так получаем широковещательный адрес.
Широковещ. адр. 192.168.201.255 11000000.10101000.11001001.11111111
Чобы посчитать первый ip-адрес просто добавим к адресу сети еденицу в конце.
Первый ip-адр. 192.168.200.1 11000000.10101000.11001000.00000001
Соответственно что бы посчитать последний ip-адрес отнимим у широковещательного адреса последнюю еденицу.
Послед. ip-адр. 192.168.201.254 11000000.10101000.11001001.11111110
Ещё раз, всё вместе, что бы былонаглядней:
ip-адрес 192.168.201.1 11000000.10101000.11001001.00000001
Маска 255.255.254.0 11111111.11111111.11111110.00000000
Адрес сети 192.168.200.0 11000000.10101000.11001000.00000000
Широковещ. адр. 192.168.201.255 11000000.10101000.11001001.11111111
Первый ip-адр. 192.168.200.1 11000000.10101000.11001000.00000001
Послед. ip-адр. 192.168.201.254 11000000.10101000.11001001.11111110