Маска подсети
Из Википедии — свободной энциклопедии
Маска подсети — битовая маска для определения по IP-адресу адреса подсети и адреса узла (хоста, компьютера, устройства) этой подсети. В отличие от IP-адреса маска подсети не является частью IP-пакета.
Благодаря маске можно узнать, какая часть IP-адреса узла сети относится к адресу сети, а какая — к адресу самого узла в этой сети.
Например, узел с IP-адресом 12.34.56.78 и маской подсети 255.255.255.0, с длиной префикса 24 бита (/24), находится в сети 12.34.56.0.
В случае адресации IPv6 адрес 2001:0DB8:1:0:6C1F:A78A:3CB5:1ADD с длиной префикса 32 бита (/32) находится в сети 2001:0DB8::/32.
Другой вариант определения — это определение подсети IP-адресов. Например, с помощью маски подсети можно сказать, что один диапазон IP-адресов будет в одной подсети, а другой диапазон соответственно в другой подсети.
Чтобы получить адрес сети, зная IP-адрес и маску подсети, необходимо применить к ним операцию поразрядной конъюнкции (побитовое И). Например, в случае более сложной маски:
Разбиение одной большой сети на несколько маленьких подсетей позволяет упростить маршрутизацию. Например, пусть таблица маршрутизации некоторого маршрутизатора содержит следующую запись:
| Сеть назначения | Маска сети | Адрес шлюза |
|---|---|---|
| 192.168.1.0 | 255.255.255.0 | 10.20.30.1 |
Пусть теперь маршрутизатор получает пакет данных с адресом назначения 192.168.1.2. Обрабатывая построчно таблицу маршрутизации, он обнаруживает, что при наложении (применении операции «побитовое И») на адрес 192.168.1.2 маски 255.255.255.0 получается адрес сети 192.168.1.0. В таблице маршрутизации этой сети соответствует шлюз 10.20.30.1, которому и отправляется пакет.
Битовые операции при расчёте адреса сети в IPv6 выглядят аналогично. Но в IPv6 можно просто рассчитать адрес сети по длине префикса, применив формулу: «длина префикса в битах» / 4 = «кол-во 0xF у адреса сети». Взяв полученное количество 0xF из адреса узла, получаем адрес сети.
Маска подсети — что это такое в деталях
Наверное, каждый, кто хоть раз сталкивался с настройкой интернет соединения слышал о таком понятии — Маска подсети, но не все знают, что это такое, да и информация в интернете по этому запросу довольно устарела и сложна в понимании.
Давайте закроем этот пробел знаний в работе сети и интернета в целом и выясним, что это такое и зачем она в принципе нужна. Информация будет изложена самым доступным и понятным языком.
Итак, вот мы и отметили день программиста, продолжим обучение компьютерной грамотности и разберем по полочкам, что такое маска подсети, для чего она нужна и как вообще это работает.
Что такое маска подсети
Маска подсети (network mask, subnet mask) — это битовая маска (bitmask), которая используется для определения к какой подсети принадлежит определенный ИП адрес. Она не отправляется в заголовках IP-пакетов, т.е. не является ее частью, поэтому по айпи узнать ее просто никак нельзя.
Как и IP-адрес в IPv4 имеет размер в 32-бита. В двоичном формате, ноли и единицы не должны в ней чередоваться, так вначале всегда идут единички, а уже потом ноли.
Чаще всего пишется префиксом, например, 192.168.11.4/19. Посчитать префикс довольно легко, например, у 255.255.224.000, префикс будет — 19. Посчитайте просто все первые единички в двоичном формате.
Также, можно посчитать и в обратную сторону. Напишите столько единичек и сколько нужно, например, 15, потом допишите 17 нолей, чтобы получилось 32 и переведите это в десятичный формат, получится: 255.254.000.000. Не забывайте, после каждой 8 цифры ставить точку.
Интересно! Как и протокол IPv4 маска сети состоит тоже из 32 бит. И для запоминания, протокол IPv6 состоит из 128 бит.
Сам префикс означает вот что, например, возьмем префикс 20, это означает, что из 32 бит, 20 будут хранить информацию о самой сети, а 12 уже информацию о хосте. Посчитаем сколько это возможных IP адресов. 2^12 = 4 096. Убираем два адреса, т.к. они всегда зарезервированы под свои цели и получаем 4 094.
Для чего нужна маска сети
Она позволяет определить, кто находится с вами в одной (под)сети, а кто не в ней. Компьютеры, находящиеся внутри одной сети, обмениваются данными между собой напрямую, например, в локальной. Но если нужно выйти в глобальную паутину, то запрос идет уже через роутер — шлюз по умолчанию.
Она позволяет понять сеть нахождения IP-адреса, к примеру, адрес 193.150.14.87 и с маской 255.255.255.0 располагается в сети 193.150.14.0/24.
Рассчитывается это так: Используется функция поразрядной конъюнкции (побитовое И). Это просто, переводим все в бинарную/двоичную систему счисления. Ставим ИП-адрес и маску подсети друг над другом и считаем поочередно сверху и снизу. Если единички совпадают — то ставим 1, если есть хотя бы один ноль, то ставим 0. Потом переводим назад в десятичную и смотрим результат. Вот пример.
193.150.14.0/24 предполагает 256 айпи и как мы помним 2 мы от них убираем, т.к. они зарезервированы, остается 254.
Важно! Главное не ошибиться в расчетах и вообще указать ее правильно, так, например, если вы укажите 0.0.0.0 — то компьютер будет считать абсолютно все адреса локальными и даже не будет пытаться соединится с внешним интернетом. Это же работает и в обратную сторону — укажите не правильный префикс, то компьютер будет считать другой хост, который по сути находится с ним же в связке — внешним, и будет пытаться подключиться к нему через сетевой шлюз.
Как вычислить маску подсети для определенного количества ПК
При ее выборе, также стоит учитывать и класс сети, вот наглядная картинка с диапазонами IP-адресов:
Например, нам нужно выделить 30 IP-адресов для компьютеров в определенной фирме. Вычисляется все так: 28 — 30 — 2 = 256 — 30 — 2 = 224. Т.е. у нас получается: 255.255.255.224. Естественно для этих целей мы берем сеть класса C. Так, вы можете рассчитать ее для любого количества компьютеров.
Интересно! Также, с помощью нее можно разбивать большие сетки на несколько более маленьких. Это очень удобно, особенно в больших корпорациях.
В заключение
Надеюсь все объяснил, как можно в более понятном виде, чтобы вы точно усвоили материал. В дальнейших публикациях продолжим тему работы с глобальной паутиной, так что приходите еще.
Твой Сетевичок
Все о локальных сетях и сетевом оборудовании
Маска подсети: что это такое, и как рассчитать маску подсети?
Под маской подсети понимают 32-разрядное число, составленное из единиц и нулей. Начинается маска из последовательности единиц, а завершается последовательностью нулей. Ее накладывают на IP-адрес. Ту часть адреса, на которую накладываются единицы, определяют адресом сети. На остальную часть накладываются нули — она отводится под адресацию хостов.
Расчет маски подсети
Сетевой адрес составлен из двух частей — адреса сети и хоста. До появления масок специалисты применяли методы классового разделения сетей. Но число хостов в сети стало очень велико, а число выделяемых для них адресов сетей оказалось сильно ограниченным. Поэтому понадобилась дополнительная идея, которая была воплощена в маске. Она позволила в разных классах сетей выделить множество подсетей с разным количеством хостов.
Администратор сети, получив в распоряжение некий сетевой адрес, имеет возможность разделить его на ряд подсетей (а может использовать и без разделения). Зачем делить полученный адрес? В разных сетях нужно подключать различное число компьютеров — где-то надо подключить только 10 хостов, а где-то более 30.
Будет гораздо удобнее, если эти «количества» будут подключены в разных подсетях с общением через маршрутизатор.
Например, определим маску для сети класса С. Из соглашения известно, что под адрес сетей такого класса отводят первый, второй и третий байты 32-разрядного числа. Четвертый остается для распределения хостов. Тогда запись маски в точечно-двоичной нотации выглядит так:
Как видим, первые 24 бита установлены, а последние 8 сброшены. Таким образом, маска в десятичном формате получит такой вид: 255.255.255.0. Идентичной записью станет следующая /24 — префиксная.
Таблица масок подсетей
Маска позволяет выделить целое множество сетей класса С, как и сетевых адресов других типов. В предыдущем примере была показана маска для стандартной сети класса С. Однако если сбросить крайнюю единицу на ноль, тогда получим следующую запись 255.255.254.0 или /23. При такой маске можем получить 2 сети класса С, так как сброшенная единица может быть восстановлена. Запись с 17-ю единицами позволит адресовать сразу 128 сетей класса С.
С целью облегчения понимания бесклассовой адресации (CIDR) создаются целые таблицы соответствия префиксов, масок, количества подключаемых хостов и классов сетей. Сетевому администратору нет нужды рассчитывать маски, число сетей и хостов самостоятельно. Достаточно только заглянуть в список соответствия, чтобы ответить на вопрос какую маску выбрать при необходимости подключить конкретное число рабочих станций.
Так, если администратору надо подключить 30 рабочих станций, тогда маска сети должна завершаться 5-ю нулями. Действительно, для нумерации узлов достаточно 5 нулей, так как 2 в степени 5 равно 32.
При этом узел с пятью нулями отвечает за номер сети, а узел с 5-ю единицами является широковещательным. Соответственно три старшие бита должны заполняться единицами, как и три предшествующих байта, поэтому маска должна принять вид:
1111111.11111111.11111111.11100000 или 255.255.255.224.
Вместо вычислений администратор может воспользоваться данными из таблиц соответствий.
Как узнать маску подсети в Windows
Маску подсети по ip-адресу однозначно определить нельзя. Однако информация о маске хранится на маршрутизаторах, в операционных системах. В Windows определить ее можно несколькими способами. Много информации о сетевой конфигурации компьютера можно извлечь через командную строку.
Если в терминале текстовой строки выполнить команду ipconfig, то сетевая утилита выведет всю информацию о сетевой конфигурации, включая и маску подсети, к которой принадлежит данный ПК.
Узнать маску можно и в графическом режиме. Windows предоставляет для этого специальные инструменты. Для этого нужно пройти в центр управления сетями
и отыскать там адаптер, через который осуществляется соединение с внешней сетью.
Далее понадобится вызвать его сведения о состоянии,
где достаточно открыть окошко сведений о подключении.
В открывшемся списке легко обнаружить пункт маски подсети IPv4.
Здесь записана маска подсети, к которой принадлежит рабочая станция.
Как узнать маску сети: что это такое и зачем она нужна
С понятием «маска подсети» сталкивался каждый, кто хоть раз делал настройки интернета на телефоне или компьютере. Объяснить же суть определения, сможет не каждый. Эта статья поможет ответить на все основные вопросы по данной теме.
Определение
Всего существует пять категорий маршрутизации. В соответствии с нуждами потребителя могут быть зарезервированы адреса классов A, B, C, D, E. Например, адреса категории В могут отдавать только организациям и фирмам, которые имеют большое количество вычислительной техники. Предоставлять их потребителям домашнего интернета нецелесообразно. Это слишком дорого и нерентабельно.
Классическому пользователю вряд ли понадобится более 65000 адресов, именно столько хостов может объединять адрес типа В. В этом случае и понадобится распределить их по подразделам.
«Маска подсети – это битовая маска, которая используется для отслеживания принадлежности конкретного IP-адреса к определенной подсети».
Этот параметр необходим для определения девайсом его локации по отношению к другим устройствам, принадлежности к определенной сети. Сам процесс осуществляется путем перевода IP и маски в двоичный код и побитовым поочередным перемножением двух этих чисел.
Для лучшего понимания возьмем маску 255.255.248.0 и переведем ее в двоичный код, получится 11111111.11111111.11111000.00000000. Обратите внимание, что первыми в списке идут единицы, а потом нули, эти цифры не должны чередоваться. Для примера будем использовать IP-адрес 192.168.11.10, его двоичный код выглядит так – 11000000.10101000.00001011.00001010. Компьютер выполняет поочередное побитовое перемножение, считать просто (1*1=1; 1*0=0; 0*0=0), и в резуультате получается следующее число – 11000000.10101000.00001000.00000000 – 192.168.8.0/21, это и есть айпи подсети (21 – количество бит, выделенное для подсети).
Назначение маски подсети, IP-адреса, шлюза
Любой девайс, который имеет возможность выхода в сеть, должен быть обозначен своим уникальным кодом, IP-адресом. Встречаются и локальные (внутрисетевые) IP-адреса, не предназначенные для выхода в интернет, но в данном случае нас интересуют устройства с присутствием этой функции. Это может быть не только компьютер, но и роутер, принтер и любое другое устройство, которое имеет возможность выйти в интернет.
Каждая единица такой техники в сети называется хостом. Лучше объединить несколько IP-адресов, которые смогут использовать сеть в рамках определенной подсети. Локация или местоположение хоста определяется при помощи протокола сетевого взаимодействия. Наиболее распространенным является протокол версии CP/IPv4.
Сама маска содержит 4 раздела, каждый из которых может быть числом от 0 до 255. У хостов, находящихся в одной подсети, первые октеты одинаковые (та часть, где в двоичной системе стоят единицы), отличаться могут лишь концовки. Например:
В данном случае, число в четвертом разделе – это идентификатор хоста. Как адрес дома состоит из названия улицы и номера дома, так и IP-адрес в своем числовом значении имеет адрес сети и адрес хоста. Подробное описание и расчет IP-адресов даны в следующем видео:
Если объяснить доступным для чайников языком, получится следующее сравнение: двум живущим в одном дворе людям проще передать пакет друг другу, для передачи в другой город понадобятся, например, услуги почты. В сети все устроено аналогично. Два устройства в одной сети получают пакеты данных напрямую, а зарегистрированные в разных сетях устройства для передачи данных используют шлюз.
Это практично с точки зрения безопасности. В отдельных случаях в разных сетях необходимо осуществлять подключение разного количества девайсов, в одном месте 40 компьютеров, в другом 5. Для этого и создаются подсети, обобщенные одним маршрутизатором.
Приведем пример: в доме есть один маршрутизатор, который предоставляет трафик другим девайсам (компьютер, ноутбук, планшет или телефон). Провайдер выделяет статический IP-адрес, а сам маршрутизатор использует подсеть для ограничения доступа извне. Так вы можете выходить в интернет с разных устройств при использовании роутером функции трансляции сигнала.
Префикс
«Префикс создан для удобства графического отображения сетевой маски, он определяет количество бит порции сети».
Выглядит он следующим образом: 252.154.130.150/5. Ниже представлена таблица, которая наглядно отображает принцип формирования значений префикса. Количество единиц в двоичном коде маски и есть значение префикса.
Если известны IP-адрес сети и префикс, можно без труда определить маску подсети (или взять ее значение из таблицы), далее на основе этих данных можно узнать адрес сети и адрес хоста. Все математически легко высчитывается. Сам префикс показывает, сколько бит выделено в рамках одной сети. Провайдер может сокращать или расширять хостовую часть, тем самым контролируя количество возможных подключений дополнительных IP-адресов.
Число адресов
Маска подсети дает информацию о количестве доступных хостов, которые можно использовать. Выделяемое число адресов зависит от потребностей пользователя.
Рассчитать количество хостов или подсетей в пределах одной сети несложно. Для этого возьмем сеть в десятичной записи 232.154.120.4/26. Префикс равен 26, значит формат двоичных чисел будет следующим:
В последнем разделе 11000000 первые 2 бита – единицы, значит вычисление числа подсетей будет выглядеть так:
В этом же разделе считаем нули, их 6, вычисляем количество хостов:
Следовательно, число IP-адресов первой подсети – 62 (0 – подсеть, 61 – broadcast)
Таким образом можно вычислить диапазон IP для каждой из шести подсетей.
Обратная маска
«Обратная маска – это инверсия маски подсети, образ, где единицы заменяются нулями, а нули единицами».
Допустим, у нас есть прямая маска (subnet mask)
Ее инверсия (wildcard mask) будет выглядеть так:
Для чего же нужна маска сети в обратном виде? Она позволяет отфильтровать узлы или группы в разных подсетях, а также реализовать другие задачи. Такая технология отображения удобна, например, для выявления хостов с определенными адресами и объединения их в одну систему с целью предоставления общего доступа.
Вычисление маски подсети
Иногда возникает потребность определить маску подсети, нужно это, как правило, для определения количества IP-адресов в пределах одной подсети или для настройки оборудования, например, роутера.
Числовое значение маски подсети в двоичной системе счисления определяет количество бит. Всего по умолчанию имеется 32 бита в значении, это стандартный размер, в его составе есть единицы и нули. Биты со значением единицы представляют адрес сети, а биты с нулями относятся к адресу хоста. Если в коде 8 единиц, тогда перед нами восьмибитная маска.
Для определения значения маски на компьютере с ОС Windows используем следующую технологию: вводим «ipconfig» в командной строке и жмем Enter. Также эту информацию можно получить в разделе «Сетевые подключения». Выбираем действующее подключение, вызываем диалоговое меню и выбираем «Состояние».
В появившемся окне кликаем «Сведения», откроется вкладка с нужными данными. Эти способы подойдут, если необходимо определить маску подсети для внутреннего IP. Для определения маски внешнего айпи, можно воспользоваться онлайн калькулятором.
Необходимо ввести нужный айпи и нажать «Подсчитать», система выведет результат. Такие онлайн-калькуляторы присутствуют на тематических сайтах.
Для удобства и экономии времени можно использовать и другие утилиты, которые быстро рассчитают и проанализируют числовые данные.
Маска подсети. Вы уверены, что понимаете для чего она нужна?
Это адрес который используется для организации маршрутизации между несколькими подсетями. При получении IP-адреса хоста маршрутизатор накладывает на него маску и определяет адрес подсети, затем по этому адресу определяется адрес шлюза на который нужно отправить пакет.
Это набор IP-адресов, которые могут быть выданы хостам. Чтобы подсчитать количество адресов, нужно от общего количества адресов подсети отнять два адреса. При обмене пакетами между хостами в одной подсети маршрутизатор и шлюз не нужны.
Это адрес который не присвоен ни одному хосту в подсети. Данный адрес используется для отправки широковещательных пакетов, которые предназначены каждому хосту подсети.
У маски подсети существует два наиболее часто используемые формы записи:
Данный вид записи наверное знаком каждому, поэтому никаких дополнительных пояснений не требует.
При ответе на этот вопрос нужно было понимать особенности построения масок подсетей и сказать, что минимальная подсеть может иметь 4-е адреса.
Возможно, некоторые подумают, что программисту подобные детали знать совсем не обязательно, ведь как правило вопросы связанные с организацией сетей решают системные администраторы. Но на мой взгляд, подобная точка зрения не совсем верна, программист должен уметь выражать свои мысли на языке понятном системному администратору. А то знаете ли, глупо просить сетку из одного адреса для тестирования и возмущаться, когда вместо одного адреса выдается целых четыре. Если вы не согласны со мной, то смело выражайте свое мнение в комментариях!
Все дополнительные нюансы, касательно настройки маски подсети ищите в этом руководстве.















