Маска подсети — Википедия
Материал из Википедии — свободной энциклопедии
Текущая версия страницы пока не проверялась опытными участниками и может значительно отличаться от версии, проверенной 27 ноября 2019; проверки требуют 4 правки. Текущая версия страницы пока не проверялась опытными участниками и может значительно отличаться от версии, проверенной 27 ноября 2019; проверки требуют 4 правки.Маска подсети — битовая маска для определения по IP-адресу адреса подсети и адреса узла (хоста, компьютера, устройства) этой подсети. В отличие от IP-адреса маска подсети не является частью IP-пакета.
Благодаря маске можно узнать, какая часть IP-адреса узла сети относится к адресу сети, а какая — к адресу самого узла в этой сети.
Например, узел с IP-адресом 11.34.56.78 и маской подсети 255.255.255.0 находится в сети 11.34.56.0 с длиной префикса 24 бита. В случае адресации IPv6 адрес 2001:0DB8:1:0:6C1F:A78A:3CB5:1ADD с длиной префикса 32 бита (/32) находится в сети 2001:0DB8::/32.
Другой вариант определения — это определение подсети IP-адресов. Например, с помощью маски подсети можно сказать, что один диапазон IP-адресов будет в одной подсети, а другой диапазон соответственно в другой подсети.
Чтобы получить адрес сети, зная IP-адрес и маску подсети, необходимо применить к ним операцию поразрядной конъюнкции (побитовое И). Например, в случае более сложной маски (битовые операции в IPv6 выглядят аналогично):
IP-адрес: 11000000 10101000 00000001 00000010 (192.168.1.2) Маска подсети: 11111111 11111111 11111110 00000000 (255.255.254.0) Адрес сети: 11000000 10101000 00000000 00000000 (192.168.0.0)
Легенда:
- часть маски, определяющая адрес сети и состоящая из единиц;
- адрес сети, который определяется маской подсети;
- диапазон адресов устройств в этой сети.
Разбиение одной большой сети на несколько маленьких подсетей позволяет упростить маршрутизацию. Например, пусть таблица маршрутизации некоторого маршрутизатора содержит следующую запись:
Сеть назначения | Маска сети | Адрес шлюза |
---|---|---|
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, которому и отправляется пакет.
Маски при бесклассовой маршрутизации (CIDR)[править | править код]
Маски подсети являются основой метода бесклассовой маршрутизации (англ. CIDR). При этом подходе маску подсети записывают вместе с IP-адресом в формате «IP-адрес/количество единичных бит в маске». Число после знака дроби ( длина префикса сети) означает количество единичных разрядов (бит) в маске подсети.
Рассмотрим пример записи диапазона IP-адресов в виде 10.96.0.0/11. В этом случае маска подсети будет иметь двоичный вид 1111_1111.1110_0000.0000_0000.0000_0000, или то же самое в десятичном виде: 255.224.0.0. 11 разрядов IP-адреса отводятся под адрес сети, а остальной 32-11=21 разряд полного адреса (1111_1111.1110_0000.0000_0000.0000_0000) — под локальный адрес в этой сети. Итого, 10.96.0.0/11 означает диапазон адресов от 10.96.0.0 до 10.127.255.255.
CIDR | Маска подсети | Количество адресов в подсети | Количество хостов в подсети | Класс подсети | |
---|---|---|---|---|---|
a.b.c.d/32 | 0.0.0.0 | 255.255.255.255 | 1 | 1* | 1/256 C |
a.b.c.d/31 | 0.0.0.1 | 255.255.255.254 | 2 | 2* | 1/128 C |
a.b.c.d/30 | 0.0.0.3 | 255.255.255.252 | 4 | 2 | 1/64 C |
a.b.c.d/29 | 0.0.0.7 | 255.255.255.248 | 8 | 6 | 1/32 C |
a.b.c.d/28 | 0.0.0.15 | 255.255.255.240 | 16 | 14 | 1/16 C |
a.b.c.d/27 | 0.0.0.31 | 255.255.255.224 | 32 | 30 | 1/8 C |
a.b.c.d/26 | 0.0.0.63 | 255.255.255.192 | 64 | 62 | 1/4 C |
a.b.c.d/25 | 0.0.0.127 | 255.255.255.128 | 128 | 126 | 1/2 C |
a.b.c.0/24 | 0.0.0.255 | 256 | 254 | 1 C | |
a.b.c.0/23 | 0.0.1.255 | 255.255.254.000 | 512 | 510 | 2 C |
a.b.c.0/22 | 0.0.3.255 | 255.255.252.000 | 1024 | 1022 | 4 C |
a.b.c.0/21 | 0.0.7.255 | 255.255.248.000 | 2048 | 2046 | 8 C |
a.b.c.0/20 | 0.0.15.255 | 255.255.240.000 | 4096 | 4094 | 16 C |
a.b.c.0/19 | 0.0.31.255 | 255.255.224.000 | 8192 | 8190 | 32 C |
a.b.c.0/18 | 0.0.63.255 | 255.255.192.000 | 16 384 | 16 382 | 64 C |
a.b.c.0/17 | 0.0.127.255 | 255.255.128.000 | 32 768 | 32 766 | 128 C |
a.b.0.0/16 | 0.0.255.255 | 255.255.000.000 | 65 536 | 65 534 | 256 C = 1 B |
a.b.0.0/15 | 0.1.255.255 | 255.254.000.000 | 131 072 | 131 070 | 2 B |
a.b.0.0/14 | 0.3.255.255 | 255.252.000.000 | 262 144 | 262 142 | 4 B |
a.b.0.0/13 | 0.7.255.255 | 255.248.000.000 | 524 288 | 524 286 | 8 B |
a.b.0.0/12 | 0.15.255.255 | 255.240.000.000 | 1 048 576 | 1 048 574 | 16 B |
a.b.0.0/11 | 0.31.255.255 | 255.224.000.000 | 2 097 152 | 2 097 150 | 32 B |
a.b.0.0/10 | 0.63.255.255 | 255.192.000.000 | 4 194 304 | 4 194 302 | 64 B |
a.b.0.0/9 | 0.127.255.255 | 255.128.000.000 | 8 388 608 | 8 388 606 | 128 B |
a.0.0.0/8 | 0.255.255.255 | 255.000.000.000 | 16 777 216 | 16 777 214 | 256 B = 1 A |
a.0.0.0/7 | 1.255.255.255 | 254.000.000.000 | 33 554 432 | 33 554 430 | 2 A |
a.0.0.0/6 | 3.255.255.255 | 252.000.000.000 | 67 108 864 | 67 108 862 | 4 A |
a.0.0.0/5 | 7.255.255.255 | 248.000.000.000 | 134 217 728 | 134 217 726 | 8 A |
a.0.0.0/4 | 15.255.255.255 | 240.000.000.000 | 268 435 456 | 268 435 454 | 16 A |
a.0.0.0/3 | 31.255.255.255 | 224.000.000.000 | 536 870 912 | 536 870 910 | 32 A |
a.0.0.0/2 | 63.255.255.255 | 192.000.000.000 | 1 073 741 824 | 1 073 741 822 | 64 A |
a.0.0.0/1 | 127.255.255.255 | 128.000.000.000 | 2 147 483 648 | 2 147 483 646 | 128 A |
0.0.0.0/0 | 255.255.255.255 | 000.000.000.000 | 4 294 967 296 | 4 294 967 294 | 256 A |
* Чтобы в сетях с такой размерностью маски возможно было разместить хосты, отступают от правил, принятых для работы в остальных сетях.
Возможных узлов подсети меньше количества адресов на два: начальный адрес сети резервируется для идентификации подсети, последний адрес используется в качестве широковещательного адреса (возможны исключения в виде адресации в IPv4 сетей /32 и /31).
Если n{\displaystyle n} — количество компьютеров в подсети, округлённое до ближайшей большей степени двойки, и n⩽254{\displaystyle n\leqslant 254} (для сетей класса C), то маска подсети вычисляется по следующей формуле: 28−n−2{\displaystyle 2^{8}-n-2}, где двойка вычитается, так как один IP-адрес (первый в задаваемом маской диапазоне) является IP-адресом подсети и ещё один IP-адрес (последний в задаваемом маской диапазоне) является широковещательным адресом (для отправки данных всем узлам подсети). Для n>254{\displaystyle n>254} будет другая формула.
Пример: в некой подсети класса C есть 30 компьютеров; маска для такой сети вычисляется следующим образом:
28 - 30 - 2 = 224 = E0h; маска: 255.255.255.224 = 0xFF.FF.FF.E0.
- Олифер В. Г., Олифер Н. А. Компьютерные сети. Принципы, технологии, протоколы: Учебник для вузов = Computer Networks. Principles, Technologies and Protocols for Network Design. — 3-е изд. — СПб.: Издательский дом «Питер», 2006. — С. 572-576. — 958 с. — ISBN 5-469-00504-6.
Таблица сетевых масок, префиксы маски. Короткая запись маски. Шпаргалка.
Префикс маски - это короткая запись сетевой маски, определяет количество бит порции сети.
Маска подсети | Префикс маски | Двоичная запись маски |
0.0.0.0 | /0 | 00000000.00000000.00000000.00000000 |
128.0.0.0 | /1 | 10000000.00000000.00000000.00000000 |
192.0.0.0 | /2 | 11000000.00000000.00000000.00000000 |
224.0.0.0 | /3 | 11100000.00000000.00000000.00000000 |
240.0.0.0 | /4 | 11110000.00000000.00000000.00000000 |
248.0.0.0 | /5 | 11111000.00000000.00000000.00000000 |
252.0.0.0 | /6 | 11111100.00000000.00000000.00000000 |
254.0.0.0 | /7 | 11111110.00000000.00000000.00000000 |
255.0.0.0 | /8 | 11111111.00000000.00000000.00000000 |
255.128.0.0 | /9 | 11111111.10000000.00000000.00000000 |
255.192.0.0 | /10 | 11111111.11000000.00000000.00000000 |
255.224.0.0 | /11 | 11111111.11100000.00000000.00000000 |
255.240.0.0 | /12 | 11111111.11110000.00000000.00000000 |
255.248.0.0 | /13 | 11111111.11111000.00000000.00000000 |
255.252.0.0 | /14 | 11111111.11111100.00000000.00000000 |
255.254.0.0 | /15 | 11111111.11111110.00000000.00000000 |
255.255.0.0 | /16 | 11111111.11111111.00000000.00000000 |
255.255.128.0 | /17 | 11111111.11111111.10000000.00000000 |
255.255.192.0 | /18 | 11111111.11111111.11000000.00000000 |
255.255.224.0 | /19 | 11111111.11111111.11100000.00000000 |
255.255.240.0 | /20 | 11111111.11111111.11110000.00000000 |
255.255.248.0 | /21 | 11111111.11111111.11111000.00000000 |
255.255.252.0 | /22 | 11111111.11111111.11111100.00000000 |
255.255.254.0 | /23 | 11111111.11111111.11111110.00000000 |
255.255.255.0 | /24 | 11111111.11111111.11111111.00000000 |
255.255.255.128 | /25 | 11111111.11111111.11111111.10000000 |
255.255.255.192 | /26 | 11111111.11111111.11111111.11000000 |
255.255.255.224 | /27 | 11111111.11111111.11111111.11100000 |
255.255.255.240 | /28 | 11111111.11111111.11111111.11110000 |
255.255.255.248 | /29 | 11111111.11111111.11111111.11111000 |
255.255.255.252 | /30 | 11111111.11111111.11111111.11111100 |
255.255.255.254 | /31 | 11111111.11111111.11111111.11111110 |
255.255.255.255 | /32 | 11111111.11111111.11111111.11111111 |
Использование маски подсети
Благодаря маске подсети, можно узнать какая часть ip адреса принадлежит сети, а какая – хосту.
Для примера возьмем ip адрес компьютера 192.168.105.21/24 и с помощью маски подсети высчитаем адрес сети, адрес хоста и широковещательный адрес.
Как мы видим, адрес компьютера состоит из ip адреса и префикса, воспользовавшись таблицей выше, мы без труда узнали, что префикс 24 является маской 255.255.255.0.
Дальше переведём ip адрес и маску из десятичного представления данных в двоичное представление.
IP адрес (десятичное, decimal, dec) | 192.168.105.21 |
IP адрес (двоичное, binary, bin ) | 11000000.10101000.01101001.00010101 |
Маска подсети (dec) | 255.255.255.0 |
Маска подсети (bin) | 11111111.11111111.11111111.00000000 |
Затем над двоичными ip адресом и маской выполним логическую операцию AND. Операцию AND можно представить обычным умножением: 1 * 1 = 1, 1 * 0 = 0, 0 * 1 = 0, 0 * 0 = 0.
IP адрес (dec) | 192.168.105.21 |
IP адрес (bin) | 11000000.10101000.01101001.00010101 |
Маска подсети (bin) | 11111111.11111111.11111111.00000000 |
Адрес сети (bin) | 11000000.10101000.01101001.00000000 |
Адрес сети (dec) | 192.168.105.0 |
Теперь давайте высчитаем широковещательный адрес. Основное отличие широковещательного (broadcast) адреса от адреса сети заключается в том, что в адресе сети, в порции хоста находятся только нули (0), а в широковещательном адресе, в порции хоста – только единицы (1).
Адрес сети (dec) | 192.168.105.0 |
Адрес сети (bin) | 11000000.10101000.01101001.00000000 |
Маска подсети (bin) | 11111111.11111111.11111111.00000000 |
Широковещательный адрес (bin) | 11000000.10101000.01101001.11111111 |
Широковещательный адрес (dec) | 192.168.105.255 |
Теперь вы знает для чего нужна маска подсети!
Еще раз про IP-адреса, маски подсетей и вообще / Habr
IP-адрес (v4) состоит из 32-бит. Любой уважающий себя админ, да и вообще айтишник (про сетевых инженеров молчу) должен уметь, будучи разбуженным среди ночи или находясь в состоянии сильного алкогольного опьянения, правильно отвечать на вопрос «из скольки бит состоит IP-адрес». Желательно вообще-то и про IPv6 тоже: 128 бит.
Обстоятельство первое. Всего теоретически IPv4-адресов может быть:
232 = 210*210*210*22 = 1024*1024*1024*4 ≈ 1000*1000*1000*4 = 4 млрд.
Ниже мы увидим, что довольно много из них «съедается» под всякую фигню.
Записывают IPv4-адрес, думаю, все знают, как. Четыре октета (то же, что байта, но если вы хотите блеснуть, то говорите «октет» — сразу сойдете за своего) в десятичном представлении без начальных нулей, разделенные точками: «192.168.11.10».
В заголовке IP-пакета есть поля source IP и destination IP: адреса источника (кто посылает) и назначения (кому). Как на почтовом конверте. Внутри пакетов у IP-адресов нет никаких масок. Разделителей между октетами тоже нет. Просто 32-бита на адрес назначения и еще 32 на адрес источника.
Однако, когда 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:
11000000.10101000.00001011.00001010
11111111.11111111.11111000.00000000
----------------------------------------------
11000000.10101000.00001000.00000000 = 192.168.8.0
Обстоятельство второе. Любой уважающий себя администратор обязан уметь переводить 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, используя адрес подсети (нуль в однобитовой хоствой части) и бродкаст (единица) в качестве адресов интерфейсов, администраторы и сетевые инженеры часто попросту боятся такого подхода, предпочитая руководствоваться принципом «мало ли что».
А вот маска /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-подсетей (2+) и маршрутизатор (точнее файрвол, но в данном контексте можно считать эти слова синонимами), маршрутизирующий и контролирующий трафик между подсетями.
Следующий шаг — разбиение подсетей на более мелкие подсети. Полюбившуюся нам сеть 192.168.8.0/21 можно разбить на 2 подсети /22, четыре подсети /23, восемь /24 и т. д. Общее правило, как не сложно догадаться, такое: K=2X-Y, где K — количество подсетей с длиной маски Y, умещающихся в подсеть с длиной маски X.
Обстоятельство пятое. Как и любому приличному IT-шнику, администратору сети, если только он получает зарплату не за красивые глаза, положено знать наизусть степени двойки от 0 до 16.
Процесс объединения мелких префиксов (с длинной маской, в которых мало хостов) в крупные (с короткой маской, в которых много хостов) называется агрегацией или суммаризацией (вот не суммированием!). Это очень важный процесс, позволяющий минимизировать количество информации, необходимой маршрутизатору для поиска пути передачи в сети. Так, скажем, провайдеры выдают клиентам тысячи маленьких блоков типа /29, но весь интернет даже не знает об их существовании. Вместо этого за каждым провайдером закрепляются крупные префиксы типа /19 и крупнее. Это позволяет на порядки сократить количество записей в глобальной таблице интернет-маршрутизации.
Обстоятельство шестое. Чем больше длина маски, тем меньше в подсети может быть хостов, и тем большую долю занимает «съедение» адресов на адреса подсети, направленного бродкаста и шлюза по умолчанию. В частности в подсети с маской /29 (232-29 = 8 комбинаций) останется всего 5 доступных для реального использования адресов (62,5%). Теперь представьте, что вы провайдер, выдающий корпоративным клиентам тысячи блоков /29. Таким образом, грамотное разбиение IP-пространства на подсети (составление адресного плана) — это целая маленькая наука, включающая поиск компромиссов между разными сложными факторами.
При наличии достаточно большого диапазона адресов, как правило из блоков для частного использования 10.0.0.0/8, 172.16.0.0/12 и 192.168.0.0/16, конечно, удобно использовать маски, совпадающие по длине с границами октетов: /8, /16, /24 или, соответственно, 255.0.0.0, 255.255.0.0 и 255.255.255.0. При их использовании можно облегчить работу мозгу и калькулятору, избавившись от необходимости работать с двоичной системой и битами. Это правильный подход, но не стоит забывать, что злоупотребление расслабухой редко доводит до добра.
И последнее. Пресловутые классы адресов. Дорогие товарищи, забудьте это слово вообще! Совсем. Вот уже скоро 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 зарезервирован для мультикаста и т. д. Но все это лишь конвенции, призванные облегчить административное взаимодействие. И хотя лично я крайне не рекомендую вам их нарушать (за исключением надежно изолированных лабораторных тестов), технически никто не запрещает использовать любые адреса для любых целей, покуда вы не стыкуетесь с внешним миром.
Маски подсети | NetworkCenter
Наши партнеры

Маски подсети
Справочник по сетевым маскам и соответствующим им CIDR-диапазонам, количеству IP адресов и количеству подсетей или хостов.
Маски подсетей и CIDR-диапазоны
Сетевая маска | Инверсия | CIDR-диапазон | Используется | Размер |
0.0.0.0 | 255.255.255.255 | /0 | 4,294,967,294 | весь интернет |
128.0.0.0 | 127.255.255.255 | /1 | 2,147,483,646 | 128 классов A |
192.0.0.0 | 63.255.255.255 | /2 | 1,073,741,822 | 64 класса A |
224.0.0.0 | 31.255.255.255 | /3 | 536,870,910 | 32 класса A |
240.0.0.0 | 15.255.255.255 | /4 | 268,435,454 | 16 классов A |
248.0.0.0 | 7.255.255.255 | /5 | 134,217,726 | 8 классов A |
252.0.0.0 | 3.255.255.255 | /6 | 67,108,862 | 4 класса A |
254.0.0.0 | 1.255.255.255 | /7 | 33,554,430 | 2 класса A |
255.0.0.0 | 0.255.255.255 | /8 | 16,777,214 | 1 класс A |
255.128.0.0 | 0.127.255.255 | /9 | 8,388,606 | 128 классов B |
255.192.0.0 | 0.63.255.255 | /10 | 4,194,302 | 64 класса B |
255.224.0.0 | 0.31.255.255 | /11 | 2,097,150 | 32 класса B |
255.240.0.0 | 0.15.255.255 | /12 | 1,048,574 | 16 классов B |
255.248.0.0 | 0.7.255.255 | /13 | 524,286 | 8 классов B |
255.252.0.0 | 0.3.255.255 | /14 | 262,142 | 4 класса B |
255.254.0.0 | 0.1.255.255 | /15 | 131,070 | 2 класса B |
255.255.0.0 | 0.0.255.255 | /16 | 65,534 | 1 класс B |
255.255.128.0 | 0.0.127.255 | /17 | 32,766 | 128 классов C |
255.255.192.0 | 0.0.63.255 | /18 | 16,382 | 64 класса C |
255.255.224.0 | 0.0.31.255 | /19 | 8,190 | 32 класса C |
255.255.240.0 | 0.0.15.255 | /20 | 4,094 | 16 классов C |
255.255.248.0 | 0.0.7.255 | /21 | 2,046 | 8 классов C |
255.255.252.0 | 0.0.3.255 | /22 | 1,022 | 4 класса C |
255.255.254.0 | 0.0.1.255 | /23 | 510 | 2 классов C |
255.255.255.0 | 0.0.0.255 | /24 | 254 | 1 класс C |
255.255.255.128 | 0.0.0.127 | /25 | 126 | 128 хостов |
255.255.255.192 | 0.0.0.63 | /26 | 62 | 64 хоста |
255.255.255.224 | 0.0.0.31 | /27 | 30 | 32 хоста |
255.255.255.240 | 0.0.0.15 | /28 | 14 | 16 хостов |
255.255.255.248 | 0.0.0.7 | /29 | 6 | 8 хостов |
255.255.255.252 | 0.0.0.3 | /30 | 2 | 4 хоста |
255.255.255.254 | 0.0.0.1 | /31 | 0 | 2 хоста |
255.255.255.255 | 0.0.0.0 | /32 | 1 | 1 хост |
Маска подсети — что это такое в деталях
Наверное, каждый, кто хоть раз сталкивался с настройкой интернет соединения слышал о таком понятии — Маска подсети, но не все знают, что это такое, да и информация в интернете по этому запросу довольно устарела и сложна в понимании.
Давайте закроем этот пробел знаний в работе сети и интернета в целом и выясним, что это такое и зачем она в принципе нужна. Информация будет изложена самым доступным и понятным языком.
Итак, вот мы и отметили день программиста, продолжим обучение компьютерной грамотности и разберем по полочкам, что такое маска подсети, для чего она нужна и как вообще это работает.
Что такое маска подсети
Маска подсети (network mask, subnet mask) — это битовая маска (bitmask), которая используется для определения к какой подсети принадлежит определенный ИП адрес. Она не отправляется в заголовках IP-пакетов, т.е. не является ее частью, поэтому по айпи узнать ее просто никак нельзя.
Как и IP-адрес в IPv4 имеет размер в 32-бита. В двоичном формате, ноли и единицы не должны в ней чередоваться, так вначале всегда идут единички, а уже потом ноли.
Может быть таким: 255.255.224.000 - 11111111.11111111.11100000.00000000 Но не может быть таким: 255.255.227.000 - 11111111.11111111.11100011.00000000
Чаще всего пишется префиксом, например, 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 адресов. 220 — 2 = 4 094. Убираем два адреса, т.к. они всегда зарезервированы под свои цели.
Для чего нужна маска сети
Она позволяет определить, кто находится с вами в одной (под)сети, а кто не в ней. Компьютеры, находящиеся внутри одной сети, обмениваются данными между собой напрямую, например, в локальной. Но если нужно выйти в глобальную паутину, то запрос идет уже через роутер — шлюз по умолчанию.
Она позволяет понять сеть нахождения IP-адреса, к примеру, адрес 193.150.14.87 и с маской 255.255.255.0 располагается в сети 193.150.14.0/24.
Рассчитывается это так: Используется функция поразрядной конъюнкции (побитовое И). Это просто, переводим все в бинарную/двоичную систему счисления. Ставим ИП-адрес и маску подсети друг над другом и считаем поочередно сверху и снизу. Если единички совпадают — то ставим 1, если есть хотя бы один ноль, то ставим 0. Потом переводим назад в десятичную и смотрим результат. Вот пример.
ИП-адрес: 11000001.10010110.00001110.01010111 (193.150.14.87) Маска подсети: 11111111.11111111.11111111.00000000 (255.255.255.0) Адрес сети: 11000001.10010110.00001110.00000000 (193.150.14.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. Так, вы можете рассчитать ее для любого количества компьютеров.
Интересно! Также, с помощью нее можно разбивать большие сетки на несколько более маленьких. Это очень удобно, особенно в больших корпорациях.
В заключение
Надеюсь все объяснил, как можно в более понятном виде, чтобы вы точно усвоили материал. В дальнейших публикациях продолжим тему работы с глобальной паутиной, так что приходите еще.
Таблица подсетей различной ёмкости для IPv4
11 сентября 2013 г.
IP-адрес — это массив битов. Принцип IP-адресации — выделение диапазона IP-адресов, в котором некоторые битовые разряды имеют фиксированные значения, а остальные разряды пробегают все возможные значения. Блок адресов задаётся указанием начального адреса и маски подсети. Бесклассовая адресация основывается на переменной длине маски подсети (англ. variable length subnet mask, VLSM), в то время, как в классовой (традиционной) адресации длина маски строго фиксирована 0, 1, 2 или 3 установленными октетами.
Маски и размеры подсетей
A
,B
,C
— традиционные классы адресов. M — миллион, K — тысяча.Маска | Десятеричная запись | # подсетей | # адресов | Класс |
---|---|---|---|---|
/1 | 128.0.0.0 | 2048 M | 128 A |
|
/2 | 192.0.0.0 | 1024 M | 64 A |
|
/3 | 224.0.0.0 | 512 M | 32 A |
|
/4 | 240.0.0.0 | 256 M | 16 A |
|
/5 | 248.0.0.0 | 128 M | 8 A |
|
/6 | 252.0.0.0 | 64 M | 4 A |
|
/7 | 254.0.0.0 | 32 M | 2 A |
|
/8 | 255.0.0.0 | 16 M | 1 A |
|
/9 | 255.128.0.0 | 8 M | 128 B |
|
/10 | 255.192.0.0 | 4 M | 64 B |
|
/11 | 255.224.0.0 | 2 M | 32 B |
|
/12 | 255.240.0.0 | 1024 K | 16 B |
|
/13 | 255.248.0.0 | 512 K | 8 B |
|
/14 | 255.252.0.0 | 256 K | 4 B |
|
/15 | 255.254.0.0 | 128 K | 2 B |
|
/16 | 255.255.0.0 | 64 K | 1 B |
|
/17 | 255.255.128.0 | 2 | 32 K | 128 C |
/18 | 255.255.192.0 | 4 | 16 K | 64 C |
/19 | 255.255.224.0 | 8 | 8 K | 32 C |
/20 | 255.255.240.0 | 16 | 4 K | 16 C |
/21 | 255.255.248.0 | 32 | 2 K | 8 C |
/22 | 255.255.252.0 | 64 | 1 K | 4 C |
/23 | 255.255.254.0 | 128 | 512 | 2 C |
/24 | 255.255.255.0 | 256 | 256 | 1 C |
/25 | 255.255.255.128 | 2 | 128 | 1/2 C |
/26 | 255.255.255.192 | 4 | 64 | 1/4 C |
/27 | 255.255.255.224 | 8 | 32 | 1/8 C |
/28 | 255.255.255.240 | 16 | 16 | 1/16 C |
/29 | 255.255.255.248 | 32 | 8 | 1/32 C |
/30 | 255.255.255.252 | 64 | 4 | 1/64 C |
/31 | 255.255.255.254 | 2 | 1/128 C |
|
/32 | 255.255.255.255 | Ограниченный широковещательный адрес. |
Количество адресов подсети не равно количеству возможных узлов. Нулевой IP-адрес резервируется для идентификации подсети, последний — в качестве широковещательного адреса. Таким образом, в реально действующих сетях возможно количество узлов на два меньшее количества адресов.
Зарезервированные адреса
Некоторые адреса IPv4 зарезервированы для специальных целей и не предназначены для глобальной маршрутизации.
Подсеть | Назначение |
---|---|
0.0.0.0/8 | Адреса источников пакетов «этой» («своей») сети, предназначены для локального использования на хосте при создании сокетов IP. Адрес 0.0.0.0/32 используется для указания адреса источника самого хоста. |
10.0.0.0/8 | Для использования в частных сетях. |
127.0.0.0/8 | Подсеть для коммуникаций внутри хоста (см.: localhost). |
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 | Ограниченный широковещательный адрес. |
Зарезервированные адреса, которые маршрутизируются глобально.
Подсеть | Назначение |
---|---|
192.88.99.0/24 | Используются для рассылки ближайшему узлу. Адрес 192.88.99.1/32 применяется в качестве ретранслятора при инкапсуляции IPv6 в IPv4 (6to4). |
224.0.0.0/4 | Используются для многоадресной рассылки. |
Калькулятор для расчета адресов в подсети и сетевых масок
IP-адрес Маска /1, или 128.0.0.0/2, или 192.0.0.0/3, или 224.0.0.0/4, или 240.0.0.0/5, или 248.0.0.0/6, или 252.0.0.0/7, или 254.0.0.0/8, или 255.0.0.0/9, или 255.128.0.0/10, или 255.192.0.0/11, или 255.224.0.0/12, или 255.240.0.0/13, или 255.248.0.0/14, или 255.252.0.0/15, или 255.254.0.0/16, или 255.255.0.0/17, или 255.255.128.0/18, или 255.255.192.0/19, или 255.255.224.0/20, или 255.255.240.0/21, или 255.255.248.0/22, или 255.255.252.0/23, или 255.255.254.0/24, или 255.255.255.0/25, или 255.255.255.128/26, или 255.255.255.192/27, или 255.255.255.224/28, или 255.255.255.240/29, или 255.255.255.248/30, или 255.255.255.252 ПосчитатьРасчёт
Узлов | ||
Адрес сети | 89.223.27.0/24 | |
Минимальный IP узла | 89.223.27.1 | 254 |
Максимальный IP узла | 89.223.27.254 | |
Широковещательный адрес | 89.223.27.255 |
Источники
Маска подсети | IT Записки
Маска подсети — это определение подсети IP-адресов. Например, с помощью маски подсети можно сказать, что один диапазон IP-адресов будет в одной подсети, а другой диапазон соответственно в другой подсети.
Net bits | Subnet mask | Total-addresses |
/20 | 255.255.240.0 | 4096 |
/21 | 255.255.248.0 | 2048 |
/22 | 255.255.252.0 | 1024 |
/23 | 255.255.254.0 | 512 |
/24 | 255.255.255.0 | 256 |
/25 | 255.255.255.128 | 128 |
/26 | 255.255.255.192 | 64 |
/27 | 255.255.255.224 | 32 |
/28 | 255.255.255.240 | 16 |
/29 | 255.255.255.248 | 8 |
/30 | 255.255.255.252 | 4 |
Mask = /24
0-255
Mask = /25
0-127 128-255
Mask = /26
0-63 64-127 128-191 192-255
Mask = /27
0-31 32-63 64-95 96-127 128-159 160-191 192-223 224-255
Mask = /28
0-15 16-31 32-47 48-63 64-79 80-95 96-111 112-127 128-143 144-159 160-175 176-191 192-207 208-223 224-239 240-255
Mask = /29
0-7 8-15 16-23 24-31 32-39 40-47 48-55 56-63 64-71 72-79 80-87 88-95 96-103 104-111 112-119 120-127 128-135 136-143 144-151 152-159 160-167 168-175 176-183 184-191 192-199 200-207 208-215 216-223 224-231 232-239 240-247 248-255
Mask = /30
0-3 4-7 8-11 12-15 16-19 20-23 24-27 28-31 32-35 36-39 40-43 44-47 48-51 52-55 56-59 60-63 64-67 68-71 72-75 76-79 80-83 84-87 88-91 92-95 96-99 100-103 104-107 108-111 112-115 116-119 120-123 124-127 128-131 132-135 136-139 140-143 144-147 148-151 152-155 156-159 160-163 164-167 168-171 172-175 176-179 180-183 184-187 188-191 192-195 196-199 200-203 204-207 208-211 212-215 216-219 220-223 224-227 228-231 232-235 236-239 240-243 244-247 248-251 252-255