Как перевести адреса компьютеров и маску в двоичный вид

Обновлено: 05.07.2024

Давно не приходится пользоваться, боюсь забыть. Поэтому выложил сюда.

Общий совет

Т.е. октет в 8 бит (11111111) = 255 (128+64+32+16+8+4+2+1).
Таким образом, любой из октетов не может иметь значение более 255. Плюс одно нулевое значение (000, адрес подсети), итого 256 адресов.

Теперь в примерах.

Перевод

двоичный вид в десятичный

Например, нам дана двоичная маска 11000000. Как получить читаемую? Просто: 128+64=192.
Смотрим "Общий совет" и видим, что первым двум битам соответствуют 128 и 64, в сумме они дают 192, соответственно, маска будет — 192.

десятичный вид в двоичный

Нам дана маска 224. Как получить в двоичном виде? Тоже не сложно: 224=128+64+32 (три первых позиции), соответственно, маска в двоичном виде будет выглядеть так — 11100000.

Расчёт хостов по маске

Маска 255.255.255.240. Сколько хостов в подсети может быть?

Вариант 1

В десятичном виде: 256-240=16. Всего — 16 адресов на подсеть, из них: первый — адрес сети, последний — широковещательный адрес (broadcast). Соответственно, 16-2=14. Итого — 14 адресов хостов.

Вариант 2

Более сложный
240=128+64+32+16 — четыре первых позиции. Значит, маска в двоичном виде выглядит так 11110000, где 1111 — адрес подсети, 0000 — адреса хостов. Четыре последних позиции — это 8+4+2+1=15. 15 значимых значений, плюс одно нулевое (0000) итого — 16 адресов на подсеть, из них: первый - адрес сети, последний - широковещательный адрес (broadcast). Соответственно, 16-2=14. Итого — 14 адресов хостов.

Расчёт маски по хостам

Необходимо выделить маску для 5 хостов.

Вариант 1

Всего адресов — 256. 256-5=251. 251 — это 128+64+32+16+8 и 3, но 3 у нас отсутствует (см.общий совет). Значит маска 11111000 (для 8 адресов: семь значимых и один нулевой), либо маска 111111100 (для 4-х адресов: три значимых и один нулевой). 4 адреса нам мало, т.к. первый — сеть, последний — broadcast, а на хосты остаётся всего 2 адреса. Выходит, нам требуется — 11111000. Воспользовавшись общим советом, получаем 128+64+32+16+8=248. Октет — 248, т.е нам нужна маска 255.255.255.248.

Вариант 2

Маска - 32-битовое число, обычно записываемое в десятичном формате с разделительными точками. Она нужна для того, чтобы указатьструктуру IP-адреса, или кратко говоря, маска задает размер узловой части IP-адреса. Узловая часть в адресе задается двоичными 0 в маске. В первой части маски содержатся двоичные 1, они задают сетевую часть адреса (если нет подсетей), или сетевую и подсетевую часть адреса (если есть подсети).

Частные адреса

10.0.0.0 с 172.16.0.0 по 172.31.0.0 с 192.168.0.0 по 192.168.255.0
Класс сети А В С
Кол-во сетей 1 16 256

Подсети

Подсети создаются путем заимствований битов из узловой части адреса, а размер сетевой части адреса остается неизменным.

Маска подсети - 32-битное число. Обычно записывают в десятичном виде, например 255.255.128.0 Маска - некая последовательность двоичных 1, после которых идут 0. Смешение недопустимо. Например 11111111 1111111 11111111 0000000 Перфиксная запись маски (CIDR-запись) - число единиц в двоичном представлении маски. Например маску 255.255.240.0 можно записать короче /20

Конвертирование IP-адресов и масок из десятичной в двоичную систему счисления и обратно

IP-адреса представляю собой 32-битовые двоичные числа, которые обычно записывают с помощью четырех десятичных чисел, разделенных точками.

  • при конвертировании следует помнить что одному десятичному числу соответствует 8 бит;
  • при конвертировании из десятичной в двоичную систему счисления для одного десятичного числа должно получаться 8 бит;
  • при конвертировании из двоичной в десятичную систему счисления каждому набору из последовательных 8 бит соответствует 1 десятичное число

При работе с подсетями можно столкнуться с ситуацией, когда узловая часть адреса и подсеть занимают только часть байта IP-адреса, но при преобразовании из двоичного в десятичное и наоборот нужно следить за тем, чтобы в двоичном числе всегда было ровно 8 бит. При расчете подсетей нужно игнорировать границы байта и представлять IP-адрес как 32-битное число.

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

  1. Преобразовать адрес из десятичной формы в двоичную;
  2. Подсчитать количество двоичных единиц в 32-битной двоичной маске, это и будет значением после косой черты в префиксной записи;

Например маска 255.255.240.0. В двоичном виде это будет 11111111 11111111 11110000 00000000. В этой маске 20 последовательных 1. Следовательно префиксная запись будет /20.

  1. Записать х двоичных единиц, где х - значение в префиксной записи после косой черты;
  2. Дополнить полученную запись справа нулями, чтобы получилось 32 цифры;
  3. Преобразовать побайтово (т.е.по 8 символов) полученное число в десятичную форму, чтобы получить стандартную запись маски;

Например для префикса /20 сначала нужно записать единицы в маске. 11111111 11111111 1111 Потом такую запись нужно дополнить нулями, чтобы получить 32-битное число: 11111111 11111111 11110000 00000000. И на последнем этапе нужно группами по 8 бит преобразовать двоичные числа в десятичный вид, что в результате даст маску 255.255.240.0

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

Девять возможных вариантов откета сетевой маски

Десятичное значение Двоичное значение Количество двоичных 1 Количество двоичных 0
0 00000000 0 8
128 10000000 1 7
192 11000000 2 6
224 11100000 3 5
240 11110000 4 4
248 11111000 5 3
252 11111100 6 2
254 11111110 7 1
255 11111111 8 0

  1. Изначально длина префикса сфитается равной 0;
  2. Для каждого октета нужно отсчитать количество единичных бит в двоичном виде, согласно вышеприведенной таблице;
  3. Сложить полученные числа (на этапе 2) для четырех октетов и записать маску в виде /х

Анализ и выбор сетевой маски

Процесс разбиения сети на подсети заключается в разделении классовой сети A, B или С на меньшие группы адресов, называемях подсетями. Выбор Маски обуславливается требованиями дизайна сети: сколько нужно создать подсетей, какое количество узлов требуется адресовать, также могут учитываться требования к определенным подсетям.

  • Сетевая часть адреса всегда определяется классом сети адреса. В масках сетей классов А, В и С есть соответственно 8, 16 и 24 ненулевых бита в сетевой части маски;
  • Узловая часть адреса всегда определяется маской подсети. Количество двоичных 0 в маске (они всегда есть в правой части маски) задает количество узловых бит в IP-адреса;
  • После того как сетевая и узловая части были найдены, биты подсети это то, что осталось от этих операций, т.е. оставшаяся часть бит 32-битного адреса.

Количество подсетей = 2 s Количество узлов в подсети = 2 h -2

  1. Используется классовый протокол маршрутизации (RIPv1 или IGRP)
  2. введена команда ip subnet zero

Следует помнить что биты сети и подсети по определению должны быть равны 1, а биты узловой части равны 0. Все маски должны начинаться с с неразрывной последовательностью двоичных 1, а заканчиваться неразрывной последовательностью 0.

Практические примеры анализа масок

Адрес 8.1.4.5/16 130.4.102.1/24 199.1.1.100/24 130.4.102.1/22 199.1.1.100/27
Маска 255.255.0.0 255.255.255.0 255.255.255.0 255.255.252.0 255.255.255.224
Кол-во сетевых бит 8 16 24 16 24
Кол-во узловых бит 16 8 8 10 5
Кол-во бит для подсетей 8 8 0 6 3
Кол-во узлов в подсети 2 16 -2 или 65 534 2 8 -2 или 254 2 8 -2 или 254 2 10 -2 или 1022 2 5 -2 или 30
Кол-во подсетей 2 8 или 256 2 8 или 256 0 2 6 или 64 2 3 или 8

Пример выбора маски. В сети необходимо создать 50 подсетей, причем в наибольшей из них есть 200 узлов. В организации используется сеть класса В, и увеличить адресное пространство невозможно. Какую сетевую маску использовать в таком случае? В такое задании под сетевую часть будет отведено 16 бит, т.к. используется сеть класса В. Нужно будет оставить в узловой части 8 бит, т.к. 2 7 =126, т.е. 7 бит не дают достаточного количества узлов, следовательно 2 8 =254 будет вполне достаточно. Аналогично для подсетей нам понадобится 6 бит, поскольку 2 6 =64, а 2 5 =32. Если обозначить N-биты сети, S-биты подсети, H- биты узловой части, то маску можно записать так: NNNNNNNN NNNNNNNN SSSSSSxx HHHHHHHH Заменяемые символы хх могут быть отнесены к битам подсети, так и к битам узлов. Получиться четыре варианта ответа, но правильных три. 11111111 11111111 11111111 00000000 (8 бит для подсетей, 8 бит для узлов 255.255.255.0 /24) 11111111 11111111 11111110 00000000 (7 бит для подсетей, 9 бит для узлов 255.255.254.0 /23) 11111111 11111111 11111100 00000000 (6 бит для подсетей, 10 бит для узлов 255.255.252.0 /22) 11111111 11111111 11111101 00000000 (ошибочная маска, 1 идут с разрывом)

Переходи скоре.

понедельник, сентября 24, 2012

Ох уж эти маски подсети.

Наряду с терминами IP и MAC адрес, очень часто, в повседневной речи сетевиков проскакивает термин сетевая маска или маска подсети. Маска подсети является не менее важным параметром, который указывается при конфигурации самых различных сетей, поэтому важно знать и понимать ее смысл, а также способы ее использования. Для начала отвлечемся от сетевых технологий и приведем следующий, пример из жизни. Все мы с вами живем в домах, кто то в больших, кто то в маленьких, но суть в том, что у каждого дома есть свой адрес, состоящий из названия улицы и номера дома. Как легко заметить этот адрес состоит их двух частей. Первая часть адреса помогает определить улицу, на которой мы живем, а вторая уточняет полученную информацию и указывает на дом. Каждая из частей адреса в отдельности не позволяет обнаружить наше место жительства, и только их сочетание позволяет нас найти. На письме части адреса разделяются между собой с помощью запятой (например, улица Ленина, дом 23). Если сказать более простыми словами, то каждый символ двоичного представления IP адреса сопоставляется соответствующему символу двоичного представления маске подсети, те символы адреса, которые сопоставляются единицам маски подсети, образуют адрес сети, символы IP адреса сопоставляемые нулям маски подсети образуют адрес компьютера в сети. Стоит отметить, что маска подсети может иметь не любой вид. В левой части маски должны быть собраны все единицы, а в правой все нули. Этот принцип проиллюстрирован на рисунке. Очень часто маску подсети записывают в сокращенной форме. Например, вместо ip адреса 172.20.20.20 c маской подсети 255.255.255.0, записывают 172.20.20.20/24, в этой записи 24 обозначает количество единиц в двоичном виде маски подсети. С помощью данной операции, подсеть 172.20.20.0 с маской 255.255.255.0 была разделена на две подсети: 172.20.20.0 с маской 255.255.255.128 и 172.20.20.128 с маской 255.255.255.128. В первой подсети адрес 172.20.20.0 является адресом подсети, 172.20.20.127 адресом широковещательной рассылки, адреса с 172.20.20.1 по 172.20.20.126 адресами хостов. Во второй подсети адрес 172.20.20.128 является адресом подсети, 172.20.20.255 адресом широковещательной рассылки, адреса с 172.20.20.129 по 172.20.20.254 отводятся под хосты. При первом прочтении это может показаться довольно сложным для понимания, поэтому рекомендую для закрепления ответить на следующие вопросы:
  1. Какой IP адрес является адресом широковещательной рассылки в сети 192.168.1.0 с маской 255.255.255.0?
  2. Сколько хостов может быть в подсети 192.168.0.0 с маской 255.255.255.192?
  3. Разбейте подсеть 192.168.0.0 с маской 255.255.255.0 на две подсети.

38 коммент.:

1. 192.168.1.255.
2. 62.
3. 192.168.0.0 с маской 255.255.255.128 и 192.168.0.128 с маской 255.255.255.128 .

Отлично, все правильно!

Не пойму, почему во втором вопросе ответ 62? Адреса с 192.168.0.1 по 192.168.0.191 могут быть присвоены хостам. Получается 191. Или я что-то неправильно понял?

тут получается ошибка, вводящая в заблуждение. согласно написанному ранее должно быть 2^6-2=.

Спасибо, за то что заметили ошибку. Расчет верный, но вместо 6 в степени опечатался и написал 8. Прошу у всех прощение за неточность.

Спасибо! Статья мне очень помогла. Написано доступным языком.

Все доступно и понятно, спасибо. Еще бы статью о том как и зачем применять подсети.

Попробую обойтись ответом в комментариях. По моему мнению деление сетей на подсети необходимо по следующим причинам:
1)Уменьшение широковещательного трафика
2)Более экономное использование адресного пространства (например используя маску /24 вы можете адресовать в сети 254 хоста, но не всем необходим такой объем и если вы хотите адресовать например 20 хостов, то можно использовать более длинные маски, и получить несколько подсетей в одной сети и тем самым более плотное использование адресов )
3)Удобство использование - очень удобно когда для определенного дела у вас выделена определенная подсеть, а не все в куче.

Добрый день.
Не совсем понял деление на подсети.
Даже если маска будет 255.255.255.128, адрес подсети останется 172.20.20.0, изменится только адрес хоста 0.0.0.128

Я так понимаю данный комментарий относится к фразе: "С помощью данной операции, подсеть 172.20.20.0 с маской 255.255.255.0 была разделена на две подсети: 172.20.20.0 с маской 255.255.255.128 и 172.20.20.128 с маской 255.255.255.128."
В данном случае все верно. Если у нас есть сеть 172.20.20.0 с маской 255.255.255.0 то в ее последнем октете все 8 битов относятся к адресу хоста, а вот если мы используем маску 255.255.255.128 то в этом случае получается что уже не все биты последнего октета адреса относятся к адресу хоста. В данном случае первый бит относится к адресу подсети, а остальные 7 к адресу хоста.

Адрес сети 172.20.20.0 и маской подсети 255.255.255.128 с помощью логического "И" действительно получается, но адреса 172.20.20.128 и маской подсети 255.255.255.128 не получается - старший разряд обнуляется.
Поправьте меня, видимо что-то мной упущено в вычислениях. Все биты остаются в своих октетах - 8бит.8бит.8бит.8бит

Адрес 172.20.20.128 и маской подсети 255.255.255.128 это не адрес хоста, это адрес сети.
Давайте попробуем еще раз. Пусть у нас есть 172.20.20.0 с маской 255.255.255.0. В таком случае значения адреса хоста в четвертом октете адреса могут лежать в двоичном виде в диапазоне от 00000001 до 11111110. Если же мы берем маску со 128 на конце, тобишь 10000000 , то один из битов адреса хоста, самый левый, переходит из части адреса хоста, в адрес подсети и в таком случае мы можем иметь две подсети: первая эта та у которой бит перешедший из адреса хоста равен 0, а вторая у которой данный бит равен 1. Тобишь сети 172.20.20.0/25 и 172.20.20.128/25. В первой подсети могут лежать хосты с адресами 00000001 - 01111110, во второй 10000001 - 11111110.

Вопрос о том, что такое *маска IP-адреса*, из чего она состоит и как используется, приходится слышать довольно часто. Самое неприятное, что в Интернете есть много непроверенной, устаревшей и не соответствующей действительности информации. Поэтому постараюсь ответить максимально подробно.

Из скольки бит состоит IP-адрес?

Для вас это простой вопрос, на который вы отвечаете не задумываясь? И ответите правильно, даже если вас разбудят среди ночи? Значит, вы профессиональный айтишник — сетевой инженер или, например, администратор. Если вы засомневались, не беда. Дочитав статью до конца, вы наверняка узнаете много интересного.

Для удобства информация разделена на шесть порций, или небольших глав. Есть мудрая поговорка, что нельзя съесть слона целиком, но можно съесть его по частям. Поехали.

Маска ip адреса общие понятия.

IP-адрес (v4) состоит из 32-бит. Это можно взять в рамочку, как в школьных учебниках. Желательно запомнить и про IPv6 тоже: 128 бит.

Теоретически IPv4-адресов может быть: 2 32 = 2 10 *2 10 *2 10 *2 2 = 1024*1024*1024*4 ≈ 1000*1000*1000*4 = 4 млрд.

Всего 4 миллиарда. Но дальше будет рассмотрено, сколько из них не используется, грубо говоря, съедается.

Как записывается IPv4-адрес? Он состоит из четырёх октетов и записывается в десятичном представлении без начальных нулей, октеты разделяются точками: например, "192.168.11.10".

Если что, октет — это ровно то же самое, что байт. Но если вы скажете "октет" в среде профессионалов, они вас сразу зауважают и вам легче будет сойти за своего.

В заголовке IP-пакета есть поля "source IP" и "destination IP". Это адреса источника: кто посылает и назначения: кому отправлено. Почти как на почтовом конверте. Внутри пакетов у IP-адресов нет никаких масок, и разделителей между октетами тоже нет. Просто 32 бита для адреса назначения и еще 32 для адреса источника.

Однако, когда IP-адрес присваивается интерфейсу — ещё говорят, сетевому адаптеру — компьютера или маршрутизатора, то, кроме самого адреса этого устройства, ему присваивают еще и маску подсети.

Можно повторить, это важно: *маска IP-адреса* НЕ передается в заголовках IP-пакетов.

Компьютерам маска подсети нужна для определения границ. угадайте, чего именно. подсети. Это нужно, чтобы каждый мог определить, кто находится с ним в одной (под)сети, а кто — за ее пределами. Вообще-то можно говорить просто "сети", часто этот термин используют именно в значении "IP-подсеть". Внутри одной сети компьютеры обмениваются пакетами напрямую, но если нужно послать пакет в другую сеть, шлют их шлюзу по умолчанию (это третий параметр, настраиваемый в сетевых свойствах). Вот как это происходит.

Маска подсети — это тоже 32-бита. Но, в отличие от IP-адреса, нули и единицы в ней не могут чередоваться. Всегда сначала идут единицы, потом нули.

  • Не может быть маски 120.22.123.12=01111000.00010110.01111011.00001100.
  • Но может быть маска 255.255.248.0=11111111.11111111.11111000.00000000.

Сначала N единиц, потом 32-N нулей. Легко догадаться, что такая форма записи избыточна. Вполне хватило бы числа N, называемого длиной маски. Так и делают: пишут 192.168.11.10/21 вместо 192.168.11.10 255.255.248.0. Обе формы имеют один и тот же смысл, но первая заметно удобнее.

маска подсети

Чтобы определить границы подсети, компьютер делает побитовое умножение (логическое И) между IP-адресом и маской, а на выходе получает адрес с обнулёнными битами в позициях нулей маски.

Рассмотрим пример 192.168.11.10/21:

Маска ip адреса, адрес подсети.

Владение двоичной арифметикой обязательно для любого профессионального администратора. Нужно уметь безошибочно переводить IP-адреса из десятичной формы в двоичную и обратно. Это может делаться в уме или на бумажке. Обходиться в таких вопросах без калькулятора — это требование суровой действительности.

Адрес 192.168.8.0 называется адресом подсети. Обратите внимание на все обнулённые биты на позициях, которые соответствуют нулям в маске. Адрес подсети обычно нельзя использовать в качестве адреса для интерфейса того или иного хоста.

Если, наоборот эти же биты превратить в единицы, то получится адрес 192.168.15.255. Такой адрес называется направленным бродкастом (то есть широковещательным) для данной сети. Сейчас особого смысла в нём нет, но когда-то раньше считалось, что все хосты в подсети должны на него откликаться. Сейчас это неактуально, однако этот адрес тоже (обычно) нельзя использовать как адрес хоста.

Получается, из каждой подсети выбрасывается два адреса. Остальные адреса в диапазоне от 192.168.8.1 до 192.168.15.254 включительно — это полноправные адреса хостов внутри подсети 192.168.8.0/21. Их, все без исключения, можно использовать для назначения на компьютерах.

маска подсети

Зрительно адрес как бы делится на две части. Та часть адреса, которой соответствуют единицы в маске, является идентификатором подсети — или адресом подсети. Обычно её называют "префикс".

Вторая часть, которой соответствуют нули в маске — это идентификатор хоста внутри подсети.

Очень часто встречается адрес подсети в таком виде:

Когда маршрутизатор прокладывает в сети маршруты для передачи трафика, он оперирует именно префиксами.

Как ни странно, он не интересуется местонахождением хостов внутри подсетей. Об этом знает только шлюз по умолчанию конкретной подсети (технологии канального уровня могут отличаться).

Главное: в отрыве от подсети адрес хоста не используется совсем.

Длина маски подсети.

Количество хостов в подсети определяется как 232-N-2, при этом N — длина маски.

Логичный вывод: чем длиннее маска, тем меньше в ней хостов.

Ещё один полезный логический вывод: максимальной длиной маски для подсети с хостами будет N=30.

Именно сети /30 чаще всего используют для адресации на point-to-point-линках между маршрутизаторами.

Большинство маршрутизаторов сегодня отлично работает и с масками /31, используя адрес подсети (нуль в однобитовой хостовой части) и бродкаст (единица) в качестве адресов интерфейсов. Однако администраторы и сетевые инженеры иногда просто боятся такого подхода, согласно проверенному принципу "мало ли что".

А вот *маска IP-адреса* /32 используется гораздо чаще. С ней удобно работать, во-первых, при адресации так называемых loopback-интерфейсов. Во-вторых, практически невозможно ничего напутать: /32 — это подсеть, состоящая из одного хоста, то есть по сути никакая и не сеть.

маска подсети

Если администратору сети приходится оперировать не группами хостов, а индивидуальными машинами, то с каждым разом сеть становится всё менее масштабируемой, в ней резко увеличивается вероятность всяческого бардака и никому не понятных правил. За исключением, наверное, только написания файрвольных правил для серверов: вот там специфичность ценится и котируется.

Другими словами, с пользователями лучше обращаться не индивидуально, а массово, целыми подсетями, иначе сеть быстро станет неуправляемой.

Интерфейс, на котором настроен IP-адрес, иногда могут называть IP-интерфейсом или L3-интерфейсом ("эл-три", тема "модель OSI").

До того как послать IP-пакет, компьютер определяет, попадёт ли адрес назначения в "свою" подсеть. Если ответ положительный, то он шлёт пакет "напрямую", если отрицательный — направляет его шлюзу по умолчанию, то есть маршрутизатору.

Адресом шлюза по умолчанию обычно назначают первый адрес хоста в подсети, хотя это и вовсе не обязательно. В нашем примере адрес шлюза 192.168.8.1 — для красоты.

Маршрутизатор и шлюз подсети.

Наверное, лучше повторить: шлюз и маршрутизатор — это одно и то же!

Из того, о чём говорилось только что, следует достаточно ясный вывод. Маршрутизатор с адресом интерфейса 192.168.8.1 ничего не знает о трафике, передаваемом, например, между хостами 192.168.8.5 и 192.168.8.7.

У начинающих администраторов одна из самых типичных ошибок — желание заблокировать или как-то иначе проконтролировать с помощью шлюза трафик между хостами в одной подсети. На самом деле, чтобы трафик проходил через маршрутизатор, адресат и отправитель должны находиться в разных подсетях.

А отсюда следует, что в сети даже самого маленького предприятия должно быть несколько IP-подсетей (больше двух) и маршрутизатор (точнее, файрвол, но сейчас можно считать эти слова синонимами), который маршрутизирует и контролирует трафик между подсетями.

Важный следующий шаг: разбиение подсетей на более мелкие подсети.

Сеть из нашего примера 192.168.8.0/21 можно разбить на две подсети /22, четыре подсети /23, восемь /24 и так далее. Общее правило, как можно догадаться, такое:

при этом K — количество подсетей с длиной маски Y, которые умещаются в подсеть с длиной маски X.

Агрегация.

Любой приличный айтишник, включая сетевого администратора, должен знать наизусть степени двойки от нуля до 16. Просто для того, чтобы не стыдно было получать зарплату.

Есть такой процесс, называемый агрегацией. Это значит объединение мелких префиксов — с длинной маской подсети, в которых мало хостов — в крупные, с короткой маской подсети, в которых много хостов. Второе название этого же процесса — суммаризация. Запомните, не суммирование!

Агрегация необходима, чтобы минимизировать количество информации, которую использует маршрутизатор для поиска пути передачи в сети.

Пример: провайдеры выдают клиентам множество маленьких блоков по типу /29. При этом весь остальной Интернет об этом даже не подозревает. За каждым провайдером закреплены префиксы намного крупнее — от /19 и выше. Благодаря такой системе в Глобальную таблицу Интернет-маршрутизации заносится намного меньше записей: их число сократилось на несколько порядков.

Составление адресного плана.

Мы помним, что *маска IP-адреса* бывает разной длины. Чем больше длина маски, тем меньше хостов может быть в подсети. Одновременно увеличивается доля "съеденных" адресов на адреса подсети, шлюза по умолчанию и направленного бродкаста.

Пример. Подсеть с маской /29 (232-29 = 8 комбинаций). Здесь остаётся всего пять доступных для реального использования адресов, в процентах это будет 62,5%. Легко поставить себя на место провайдера, которому необходимо выдать тысячам корпоративных клиентов блоки /29. Для него грамотная разбивка IP-пространства на подсети жизненно необходима.

Эту науку ещё называют составлением адресного плана. Каждый, кто разбивает IP-пространство на подсети, должен уметь не только видеть и учитывать множество факторов, но и искать разумные компромиссы.

Если используется большой диапазон адресов, удобно работать с масками, совпадающими по длине с границами октетов.

Пример. Адреса из блоков частного сектора: 10.0.0.0/8, 172.16.0.0/12 и 192.168.0.0/16.

*Маска IP-адреса*: /8, /16, /24 или, соответственно, по-другому 255.0.0.0, 255.255.0.0, 255.255.255.0.

Такой подход серьёзно облегчает работу мозга и снижает нагрузку на калькулятор: не надо постоянно переходить на двоичную систему и биты. Ничего плохого в этом методе нет. Кроме одного: возможности чересчур сильно расслабиться. и наделать ошибок.

Итоги по маске IP-адреса.

Само понятие "классы адресов", о котором нет-нет да и приходится читать/слышать, давно устарело. Уже больше 20 лет назад выяснилось, что длина префикса может быть любой. Если же раздавать адреса блоками по /8, то никакого Интернета не получится. Итак: "классов адресов" не существует!

Другой, мягко говоря, странный термин. Иногда говорят "сеть класса такого-то" по отношению к подсети с той или иной длиной маски. Например, "сеть класса C" про 10.1.2.0/24. или что-то подобное. Знайте, так никогда не скажет серьёзный специалист. Класс сети, когда он ещё существовал, не имел отношения к длине маски и определялся совсем другими факторами — а именно комбинациями битов в адресе. Если классовая адресация использовалась, то длина масок тоже была строго регламентирована. Каждому классу соответствовали маски только строго определённой длины. Хотя бы поэтому подсеть 10.1.2.0/24, как в примере, никогда не принадлежала и не могла принадлежать к классу C.

Но лучше об этом не вспоминать. Важно только вот что. "Под одной крышей" в RFC3330 собраны все существующие глобальные конвенции, которые посвящены специальным значениям разнообразных блоков адресов.

В них блоки 10/8, 172.16/12 и 192.168/16 (написание сокращённое) определяются как диапазоны для частного использования, запрещённые к маршрутизации в интернете. Другими словами, каждый может использовать их по своему усмотрению, в частных целях.

Пусть вас не удивляет способ написания префиксов, когда полностью отбрасывается хостовая часть: он широко применяется и не вызывает разночтений или недоразумений.

Далее, блок 224.0.0.0/4 зарезервирован для мультикаста, и так далее. Но конвенции — это не совсем законы в полном юридическом смысле слова. Их цель — сделать проще и легче административное взаимодействие. Конвенции крайне не рекомендуется нарушать, но до поры до времени никем не запрещено использовать любые адреса для любых целей. Ровно до того момента, пока вы не встречаетесь с внешним миром

Читайте также: