как узнать маску подсети для адреса
IP калькулятор
Калькулятор производит расчет адреса сети IPv4, широковещательного адреса, ip-адрес первого узла, ip-адрес последнего узла, количество узлов в заданной сети, маску подсети и инверсию маски (wildcard mask).
Данные представлены в десятичной и двоичных системах исчисления.
При построении сети, классы подсетей выбираются исходя из предполагаемого количества узлов в компьютерной сети. Если изначально выбрана подсеть вмещающая малое количество узлов (например, класс С c маской 255.255.255.0), при большом росте компьютерной сети часто приходится менять подсеть и маску подсети, чтобы не усложнять адресацию.
И наоборот, если изначально выбрана подсеть включающая в себя огромное количество хостов (например, класса А с маской 255.0.0.0), то при возникновении в компании филиальной сети, приходится сжимать подсети чтобы выделять подсети под филиалы.
Для того, чтобы рассчитать сетевые параметры, укажите IP-адрес хоста и маску подсети.
Справочная информация для IPv4:
Адреса зарезервированные для особых целей:
Подсеть | Назначение |
---|---|
0.0.0.0/8 | Адреса источников пакетов «этой» («своей») сети, предназначены для локального использования на хосте при создании сокетов IP. Адрес 0.0.0.0/32 используется для указания адреса источника самого хоста. |
10.0.0.0/8 | Для использования в частных сетях. |
127.0.0.0/8 | Подсеть для коммуникаций внутри хоста. |
169.254.0.0/16 | Канальные адреса; подсеть используется для автоматического конфигурирования адресов IP в случает отсутствия сервера DHCP. |
172.16.0.0/12 | Для использования в частных сетях. |
100.64.0.0/10 | Для использования в сетях сервис-провайдера. |
192.0.0.0/24 | Регистрация адресов специального назначения. |
192.0.2.0/24 | Для примеров в документации. |
192.168.0.0/16 | Для использования в частных сетях. |
198.51.100.0/24 | Для примеров в документации. |
198.18.0.0/15 | Для стендов тестирования производительности. |
203.0.113.0/24 | Для примеров в документации. |
240.0.0.0/4 | Зарезервировано для использования в будущем. |
255.255.255.255 | Ограниченный широковещательный адрес. |
Зарезервированные адреса, которые маршрутизируются глобально.
Как узнать маску подсети? Маска подсети: расчет по IP
Вопрос о том, как узнать маску подсети, может возникать у начинающих системных администраторов и простых людей, которые решили разобраться с вычислительными сетями. В контексте администрирования маски могут быть использованы для разделения сетей на более мелкие и помогают разобраться с неполадками соединения.
Умение вычислить значение маски TCP/IP может быть использовано при подключении нового хоста в сеть и реорганизации корпоративной сетки. Изучение этой проблемы следует начать с понимания того, что она собой представляет и для каких целей используется.
Битовая маска
Маска подсети может называться битовой маской, что является 32-битным значением, которое указывает на одну часть IP, относящуюся к адресации сетевого интерфейса, и на вторую часть, относящуюся к адресации подсетей. Обычно её значение отображается в десятичном виде, в формате ХХХ.ХХХ.ХХХ.ХХХ.
Это определение приближено к профессиональному сленгу и может показаться непонятным. Разобраться с тем, что это такое, поможет конкретный пример.
Предположим, что у нас есть какая-то сеть, в которой присутствует компьютер. В свойствах подключения видно, что его сетевому интерфейсу присвоен IP-адрес и маска подсети.
Далее оба значения приводятся в двоичный вид и вычисляются следующие последовательности:
Теперь надо последовательно умножить каждый разряд IP-адреса в двоичном виде на разряд маски в двоичном виде и в результате будет получено значение,
которое при переводе в десятичный вид будет выглядеть, как
Умножая адрес IP на инвертированное значение маски, получаем последовательность
Возвращая в десятичный вид, получается цифра 199, соответствующая адресу интерфейса хоста.
Сравнив первый и второй результаты, можно сказать, что цифры IP-адреса, которые соотносятся с единицами маски, указывают на адрес подсети. Цифры IP-адреса, соотносящиеся с нулями маски, образуют адрес компьютера в этой подсети.
В итоге маска подсети помогла выяснить по IP, что наш компьютер находится в подсети 192.168.0.0 и имеет в ней адрес 199. Возвращаясь к определению выше, она показала, какая часть IP указывает на подсетку, а какая на адрес хоста.
Как найти маску подсети по классу IP-сети
Для определения класса адреса необходимо опять перевести его в двоичный вид и посмотреть начало последовательности битов:
Возвращаясь к примеру, который был выше, как узнать маску подсети в нем:
IP-адрес в двоичном виде начинается на 110, значит, он принадлежит к классу C. Ещё один способ, как узнать маску подсети, это запомнить диапазоны принадлежащие классам.
Как узнать маску по префиксу
Для краткости маску можно записывать в виде префикса, который означает количество бит порции сети. Эта система обозначения принята с приходом бесклассовой междоменной маршрутизации (Classless Inter-Doma-in Routing, или CIDR, «сайдр»). Она избавляет от классов, а для идентификации сети может использоваться разное число битов IP. Узнать маску подсети в десятичном и двоичном виде по префиксу проще всего по таблице.
Как рассчитать маску по префиксу CIDR
Привести маску из префикса в десятичный вид просто. Известно, что маска подсети имеет 32 бита, при этом единицы в начале, а нули в конце. Следовательно, нужно:
Последним действием получаем маску в десятичном виде.
Как привести маску подсети из десятичного вида в короткий префикс
Написание маски сети в виде префикса экономит время и место в тексте. Кроме того, это стандартизированное международное отображение и сейчас используется чаще, чем десятичное. Для этого требуется:
Таким образом можно рассчитать префикс CIDR.
Как определить маску подсети с помощью адреса сети и маски сети
Подобное задание часто всплывает на собеседованиях и тестовых заданиях. И также навык пригодится при реорганизации сети предприятия или делении крупной сетки на более мелкие подсети.
Для наглядности стоит вернуться к примеру, который разбирается с первого абзаца.
С помощью адреса 192.168.0.199 и маски сети 255.255.255.0 уже вычислен адрес самой сети, который имеет вид 192.168.0.0. Здесь для использования присутствует 256 адресов. Из них 2 адреса автоматически резервируются:
. 0 — адрес сети и не может быть использован.
Разбирая все по порядку, приведём этот пример в общий вид, применяемый к любой сети.
Бит может возвращать только два значения, два бита — четыре, три бита — восемь и так далее. Выходит, что n-бит возвращают 2^n значения. Исходя из всего, что сказано выше, получается вывод: число хостов (N) в сети вычисляется формулой N = (2^r)—2, в которой r-количество нулей в двоичном виде маски.
Возвращаясь к нашему примеру, производим расчёт:
Получаются те же 254 адреса для раздачи интерфейсам хостов в сети.
Предположим, что предприятию требуется создать подразделение и собрать 20 рабочих компьютеров в подсеть. Рассчитать маску подсети можно следующим образом.
Берём 20 IP и прибавляем к ним 2 адреса, которые будут зарезервированы. Всего требуется 22, самая близкая степень 2 — это 32. В двоичном виде 10 0000. Поскольку сеть, в которой проводится деление, относится к классу С, то маска подсети будет иметь вид:
Максимально в полученной подсети раздать интерфейсам хостов можно 30 адресов.
Как рассчитать маску подсети. Побитный сдвиг
Разбираемся дальше. Маска подсети помогает разбивать крупные сети на более мелкие. Первым делом предопределяется, на какое количество подсетей нужно разбить сеть и сколько максимально хостов в них должно быть.
Предположим, требуется разбить сеть 192.1.1.0 на 6 подсетей, в самой большой планируется разместить максимум 20 узлов. Исходя из этого, производится расчёт.
Определить класс разбиваемой сети. Для примера предложена сеть класса С, маска, используемая по умолчанию 255.255.255.0 или /24.
Выяснить, какое количество бит требуется для шести подсетей. Для этого число сетей округляется до ближайшей степени двойки, это 8. Получается, что требуется 3 бита, так как 8 = 2^3.
Представить маску по умолчанию в двоичный вид для наглядности:
Для создания 6 подсетей требуется забрать 3 бита из октета адреса хоста. К 24 битам адреса сети прибавляется еще 3. В итоге 24+3 = 27.
Либо, обращаясь к CIDR, посчитать количество битов по единицам — 27, и посмотреть значение префикса.
Пользуясь тремя битами и с помощью маски разбиваем подсети. В последнем октете проставляем единицы. Для наглядности это можно сделать в двоичном виде:
Посчитать адреса подсетей можно и без двоичного представления, здесь сделано для наглядного отображения того, почему получаются именно эти адреса, а не другие.
Таким образом можно создать 8 подсетей, но в задании требуется только 6, поэтому остановимся на них.
Времена, когда подобные расчёты проводились вручную, далеко позади. Информация о том, как узнать маску подсети, преподаётся в ВУЗах и на различных курсах. Как правило, её старательно пытаются изучить студенты и профессионалы, которые хотят пройти сертификацию.
Сегодня для облегчения работы системных администраторов и сетевых инженеров существует множество различных калькуляторов. Эти системы могут провести любой расчёт за несколько секунд. Однако прибегать к помощи программ при небольшом объёме данных неинтересно. Иногда проще и быстрее разбить сеть в уме, чем искать нужный ресурс.
Понимание того, как производится расчёт маски подсети, необходимо специалисту, даже если он никогда на практике не будет его применять.
Маска IP-адреса.
Вопрос о том, что такое *маска 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-адреса, нули и единицы в ней не могут чередоваться. Всегда сначала идут единицы, потом нули.
Сначала 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 зарезервирован для мультикаста, и так далее. Но конвенции — это не совсем законы в полном юридическом смысле слова. Их цель — сделать проще и легче административное взаимодействие. Конвенции крайне не рекомендуется нарушать, но до поры до времени никем не запрещено использовать любые адреса для любых целей. Ровно до того момента, пока вы не встречаетесь с внешним миром