Главная

Sunday, 19 November 2017

Перевод маски IP-адреса из префиксной формы в обычную.

Всем привет.
 
Сетевому администратору часто приходится пересчитывать маску IP-адреса из обычной формы (255.255.255.192) в префиксную (/26), и наоборот. Дело в том что префискуню форму маски легче читать или записывать, а обычную форму приходится непосредственно указывать в конфигурации сетевого интерфейса.
 
Конечно, онлайн-калькуляторов полно, но надо уметь это делать и вручную. Тем более что про такой пересчет любят спрашивать в тестах на собеседовании.
 
Как это делается?
 
Задача первая - перевод из префиксной формы в обычную.
 
Пример 1: имеем адрес 192.168.10.1/22. Префикс 22.
  1. Вычитаем биты 32-22=10
  2. если битов более 8-ми то вычитаем из низ байт 10-8=2. Это степень двойки, которая нам дает 4
  3. получаем октет маски в обычной форме 256-4=252
  4. пишем маску как 255.255.252.0. Последний октет равен 0 так как в п.2 мы вычли один байт.
 
Пример 2: имеем адрес 192.168.10.1/30. Префикс 30.

  1. Вычитаем биты 32-30=2
  2. Это степень двойки, которая нам дает 4
  3. получаем октет маски в обычной форме 256-4=252
  4. пишем маску как 255.255.255.252.

Задача обратная - перевод из обычной формы в префиксную.

Пример 1: имеем маску 255.255.255.192. Считаем префикс.

  1. Вычитаем остаток 256-192=64
  2. 64 это степень двойки 6. Вычитаем ее из 8: 8-6=2
  3. имеем три полных октета 3х8=24 и еще 2 бита, т.е. 24+2=26
  4. наш префикс /26.
 
Пример 2: имеем маску 255.255.240.0. Считаем префикс.

  1. Вычитаем остаток 256-240=16
  2. 16 это степень двойки 4. Вычитаем ее из 8: 8-4=4
  3. имеем два полных октета 2х8=16 и еще 4 бита, т.е. 16+4=20
  4. наш префикс /20.
Хотя я бы назвал полученный префикс суффиксом), уже исходя из обычного места его записи в адресе. Кому как видится.

Удачи.

No comments:

Post a Comment

А что вы думаете по этому поводу?