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

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

Из Википедии — свободной энциклопедии

Маска подсети — битовая маска для определения по 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 из адреса узла, получаем адрес сети.

Источник

IP-адресация, маски и подсети: просто о сложном

Сегодня мы расскажем о том, как работает сеть на уровне протоколов, и поговорим об IP-адресах. Вы узнаете, как работает TCP/IP-протокол, зачем нужны маски подсети и как ее правильно определить.

Подсети — предназначение

Большая корпоративная сеть обычно делится на подсети. Формально подсети ничем не отличаются от сетей. Это удобно с точки зрения администрирования — для каждого отдела системный администратор выделяет свою локальную сеть. При разделении сети на подсети можно использовать различные сетевые архитектуры и различные технологии (в одной будет использоваться Ethernet, в другой — Token Ring, в третьей — WiFi и т.д.). Все эти сети будут коммуницировать между собой.

В локальной сети всегда присутствует так называемый широковещательный трафик, когда от одного хоста данные отсылаются всем хостам данной сети. Использование подсетей дает возможность снизить нагрузку на каналы связи, поскольку при широковещательных запросах маршрутизатор не передает запросы (то есть не гоняет трафик) в соседние сети.

TCP/IP и стек протоколов

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

IPv6 и IPv4

Первым широко используемым протоколом семейства TCP/IP стал IPv4. Для идентификации сетевых интерфейсов он стал использовать 32-битные адреса по четыре октета (восемь позиций под ноль или единицу). IP-адрес присваивается каждому сетевому интерфейсу сети, каждой сетевой карте любого компьютера. Именно по IP-адресу, прикрепленному к пакету данных, сеть понимает, откуда этот пакет пришел и куда его следует переслать. Использовать длинные адреса с нулями и единицами общим числом 32 штуки — неудобно, поэтому IP-адрес принято записывать в десятичной системе. Выглядит IP-адрес, как четыре числа, разделенные точками, например 192.168.33.34. Каждое число в IP-адресе может принимать значение от 0 до 255. Таким образом, полный диапазон IP-адресации — это адреса от 0.0.0.0 до 255.255.255.255.

Почему 255 — понять нетрудно. Максимально возможное число в любом октете составляет 11111111, что в переводе из двоичной в десятичную систему и означает 255. При таком подходе адресное пространство всех доступных IP-адресов протокола IPv4 ограничено 4 294 967 296 ( 2 32 ) адресами. Более продвинутая версия протокола IPv6 лишена этого недостатка. Она содержит ряд принципиальных изменений и использует длину адреса в 128 бит. Возникает вполне логичный вопрос — что произойдет, когда в диапазоне адресов IPv4 не останется свободных? А ничего и не произойдет, просто стеки протоколов IPv6 и IPv4 будут использоваться одновременно.

Перевод IP-адреса в двоичную систему

Тогда берем IP-адрес, скажем, 192.168. 40.75, и начинаем раскладывать, сравнивая с линейкой значений 128 / 64 / 32 / 16 / 8 / 4 / 2 / 1. Первое число — 128, и оно больше 75.

Значит, первое число в двоичном коде — 0. Второе число — 64, и оно меньше 75, значит, пишем 1 и вычитаем 75 — 64 = 11. Одиннадцать сравниваем с 32, 11 8, значит, следующее число — 1. Из 11 вычитаем 8 и сравниваем дальше. 3 2, значит, следующие две цифры — 0 и 1. И последнее число 1 = 1, значит, ставим 1. Итого получилось 01001011. Остальные числа переводим тем же образом — 40 предстает как 00101000, 168 — 10101000, 192 — 11000000. Весь же IP-адрес будет выглядеть как 11000000.10101000.00101000.01001011.

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

Теперь, поняв, как выглядит IP-адрес, можно переходить к тому, из каких частей он состоит. Все сетевые интерфейсы в интернете объединены в локальные сети, которые, соединяясь между собой, образуют глобальную сеть. В связи с этим IP-адрес состоит из двух частей: адреса сети (который одинаков для компьютеров одной сети) и адреса самого компьютера в этой сети. Если смотреть на IP-адрес слева направо, то до какой-то цифры идет адрес сети, а потом идет адрес самого хоста. Причем граница перехода между адресом сети и адресом хоста — плавающая. Таким образом, одинаковые по виду IP-адреса могут оказаться адресами разных компьютеров в разных сетях.

Классовая и бесклассовая адресация

На данный момент используется два подхода к решению задачи по присвоению адресов компьютерным сетям — классовая адресация и бесклассовая адресация хостов в сети. Первый способ, который частично устарел, заключается в том, что адресное пространство протокола IP делится на несколько основных классов — A, B, C, а также классы D и E. Каждый из этих классов определяет границу между сетевым префиксом и номером хоста в разных точках 32-разрядного адреса.

Читайте также:  чем разбавляется резиновая краска

Например, класс А говорит о том, что идентификатор сети прописан в первом октете, а второй, третий и четвертый октет содержат адрес хоста. Для класса B адрес сети использует первые два октета, а адрес узла — вторые два октета. Класс С распределяет разряды IP-адреса таким образом, что первые три октета занимает идентификатор сети, а четвертый октет содержит адрес хоста. Диапазон первого октета для класса А составляет 1–127, для класса B он составляет 128–191, для класса С — 192–223. Классы принято также записывать через слеш, обозначая цифрой после него количество разрядов, отведенное для адреса сети: (…/8), (…/16) и (…/24).

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

Поэтому для таких случаев был выделен диапазон адресов для групповой рассылки 224.0.0.0–239.255.255.255, который получил название класс D. Один хост приписывается группе, и когда в сеть приходит пакет, в адресе получателя которого указана группа, хост, расположенный в этой сети и приписанный этой группе, считает, что поступившая информация — для него тоже. Одним адресом отправляются данные множеству хостов в разных локальных сетях.

Последний класс зарезервированных адресов — класс E. Его диапазон 240.0.0.0–247.255.255.255. Эти адреса нигде не используются, и данный класс создавался с прицелом на возможные будущие технологии. Однако они так и остались невостребованными.

Классовая система адресации отжила свое, хотя и осталась в терминологии. При этом, правило назначения адресов из диапазонов классов A, B и С никто не отменял. Если вы попробуете ввести недопустимый адрес в настройках сетевого интерфейса, получите об этом предупреждение. На замену классовой системе адресации пришла бесклассовая система. Она основана на том, что граница между идентификатором хоста и идентификатором сети не привязана к границе целого октета. Эта граница может не соответствовать ни восьми разрядам, ни 16, ни 24 разрядам. Это количество может быть плавающим, в зависимости от количества хостов, которые входят в эту сеть. Маска подсети в случае с бесклассовой адресацией указывается точно так же с помощью префикса. Например, запись 129.62.135.4/17 означает, что для идентификатора сети выделено 17 разрядов, а оставшиеся 15 разрядов соответствуют идентификатору хоста.

Заключение

Теперь вы знаете, как происходит IP-адресация и что такое маска подсети. Вопреки ожиданиям, внедрение нового протокола IPv6 происходит достаточно медленно. Кроме того, он не оптимизирован для работы в мобильных сетях и не дает значительного прироста в производительности.

Вполне возможно, что в будущем ему на смену придут новые технологии, такие как, например, Recursive Internetwork Architecture (RINA). В RINA сеть рассматривается как набор слоев, где все слои работают по одним протоколам, но имеют свой размер. Для передачи данных в RINA-системе достаточно знать название процесса-получателя, а не его адрес в сети или порт для подключения. Но подробней об этом как-нибудь в другой раз. А пока посмотрите видео для закрепления нашей основной темы:

Источник

Маска подсети — что это такое в деталях

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

Давайте закроем этот пробел знаний в работе сети и интернета в целом и выясним, что это такое и зачем она в принципе нужна. Информация будет изложена самым доступным и понятным языком.

Итак, вот мы и отметили день программиста, продолжим обучение компьютерной грамотности и разберем по полочкам, что такое маска подсети, для чего она нужна и как вообще это работает.

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

Маска подсети (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.

Для чего нужна маска сети

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