Маска подсети — Википедия
Материал из Википедии — свободной энциклопедии
Текущая версия страницы пока не проверялась опытными участниками и может значительно отличаться от версии, проверенной 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-адреса отводятся под
CIDR | Последний IP-адрес в подсети | Маска подсети | Количество адресов в подсети | Количество хостов в подсети | Класс подсети |
---|---|---|---|---|---|
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 | 255.255.255.000 | 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, их можно использовать для назначения на компьютерах.
Таким образом, та часть адреса, которой соответствуют единицы в маске, является адресом (идентификатором) подсети. Ее еще часто называют словом префикс. А часть, которой соответствуют нули в маске, — идентификатором хоста внутри подсети. Адрес подсети в виде 192.168.8.0/21 или 192.168.8.0 255.255.248.0 можно встретить довольно часто. Именно префиксами оперируют маршрутизаторы, прокладывая маршруты передачи трафика по сети. Про местонахождение хостов внутри подсетей знает только шлюз по умолчанию данной подсети (посредством той или иной технологии канального уровня), но не транзитные маршрутизаторы. А вот адрес хоста в отрыве от подсети не употребляется совсем.
Обстоятельство третье. Количество хостов в подсети определяется как 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