Главное: в отрыве от подсети адрес хоста не используется совсем.
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:
Как вы уже поняли, каждое устройство в сети интернет, должно иметь свой уникальный адрес. Но в таком случае количество доступных адресов быстро бы закончилось. Отчасти эта проблема была решена введение зарезервированных адресов. Их разрешили использовать для частных сетей, которые не публиковались бы в глобальной сети.
Введение
Глобальная сеть интернет, как и основная часть современных вычислительных сетей меньшего размера, реализована на основе стека TCP/IP. В качестве уникального идентификатора узла (в пределах одной сети), используется IP адрес . С этим вы наверняка знакомы — ведь ваш компьютер, а если быть точным сетевой интерфейс, тоже имеет уникальный ip адрес. Его вы указывали при настройке подключения. С его помощью ваш компьютер идентифицируется в сети, и получает возможность взаимодействовать с другими узлами. Точно также, как и любой другой компьютер или сетевое устройство.
Какую роль в протоколе ip играет маска подсети? Она указывает, какая часть ip адреса назначена для идентификации конкретного сетевого устройства, а какая для адресации сети, в которой он находится.
Тут нужно сделать небольшое отступление. В настоящее время в основе сетей используется протокол ip 4-ой версии. И постепенно идет переход на использование версии IPv6. В обоих случаях, все сети разделяются на большие и маленькие сегменты. Делается это для упрощения их администрирования, с точки зрения масштабирования и безопасности. В таком случае, некоторые ip адреса будут использоваться не для идентификации сетевого узла, а для обозначения (адресации) сети (подсети), к которой он относится. В этом случае и используется ip маска подсети.
Прежде чем нырять в дебри и объяснять, что такое маска подсети, необходимо помнить, что IP-адрес, какие цифры и какие значения они могут принимать. Условие: вся информация в этой статье будет применяться к IPv4, так как он является до сих пор самым «ходовым».
Несколько слов об IP-адресах
Прежде чем нырять в дебри и объяснять, что такое маска подсети, необходимо помнить, что IP-адрес, какие цифры и какие значения они могут принимать. Условие: вся информация в этой статье будет применяться к IPv4, так как он является до сих пор самым «ходовым».
Таким образом, IP-адрес состоит из четырех чисел, каждое из которых может принимать значения от нуля до 255. Не надо быть профессором математики, чтобы посчитать, что там может существовать немного более четырех миллиардов комбинаций. Любое устройство на протоколе TCP/IP-сети имеет подобное обращение, независимо от того, какие функции он выполняет, является ли сетевой принтер, маршрутизатор, ADSL-маршрутизатор или смартфон к сети устройства будут подключаться только тогда, когда это будет уникальная последовательность из тех же четырех цифр.
Интересно! Также, с помощью нее можно разбивать большие сетки на несколько более маленьких. Это очень удобно, особенно в больших корпорациях.
Что такое маска подсети
Маска подсети (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 цифры ставить точку.
Сам префикс означает вот что, например, возьмем префикс 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. Так, вы можете рассчитать ее для любого количества компьютеров.
Интересно! Также, с помощью нее можно разбивать большие сетки на несколько более маленьких. Это очень удобно, особенно в больших корпорациях.
В заключение
Надеюсь все объяснил, как можно в более понятном виде, чтобы вы точно усвоили материал. В дальнейших публикациях продолжим тему работы с глобальной паутиной, так что приходите еще.
Источники
- https://www.calc.ru/Maska-Ipadresa.html
- https://techprofi.com/network/maska-podseti/
- https://annx.ru/informacionnye-tehnologii/447-chto-takoe-maska-podseti-ip-adres-i-masku-podseti/
- https://anisim.org/articles/maska-podseti/