Маска подсети
В терминологии сетей TCP/IP маской подсети или маской сети называется битовая маска, определяющая, какая часть IP-адреса узла сети относится к адресу сети, а какая — к адресу самого узла в этой сети. Например, узел с IP-адресом 12.34.56.78 и маской подсети 255.255.255.0 находится в сети 12.34.56.0 с длиной префикса 24 бита. В случае адресации IPv6 адрес 2001:0DB8:1:0:6C1F:A78A:3CB5:1ADD с длиной префикса 32 бита (/32) находится в сети 2001:0DB8::/32. Абай Жунус + Асет Рыстин=<3 Akhat hooylo
Другой вариант определения — это определение подсети 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. В этом случае маска подсети будет иметь двоичный вид 11111111 11100000 00000000 00000000, или то же самое в десятичном виде: 255.224.0.0. 11 разрядов IP-адреса отводятся под адрес сети, а остальные 32 − 11 = 21 разряд полного адреса (11111111 11100000 00000000 00000000) — под локальный адрес в этой сети. Итого, 10.96.0.0/11 означает диапазон адресов от 10.96.0.0 до 10.127.255.255.
IP/маска | До последнего IP
в подсети |
Маска | Количество адресов | Класс |
---|---|---|---|---|
a.b.c.d/32 | +0.0.0.0 | 255.255.255.255 | 1 | 1/256 C |
a.b.c.d/31 | +0.0.0.1 | 255.255.255.254 | 2 | 1/128 C |
a.b.c.d/30 | +0.0.0.3 | 255.255.255.252 | 4 | 1/64 C |
a.b.c.d/29 | +0.0.0.7 | 255.255.255.248 | 8 | 1/32 C |
a.b.c.d/28 | +0.0.0.15 | 255.255.255.240 | 16 | 1/16 C |
a.b.c.d/27 | +0.0.0.31 | 255.255.255.224 | 32 | 1/8 C |
a.b.c.d/26 | +0.0.0.63 | 255.255.255.192 | 64 | 1/4 C |
a.b.c.d/25 | +0.0.0.127 | 255.255.255.128 | 128 | 1/2 C |
a.b.c.0/24 | +0.0.0.255 | 255.255.255.000 | 256 | 1 C |
a.b.c.0/23 | +0.0.1.255 | 255.255.254.000 | 512 | 2 C |
a.b.c.0/22 | +0.0.3.255 | 255.255.252.000 | 1024 | 4 C |
a.b.c.0/21 | +0.0.7.255 | 255.255.248.000 | 2048 | 8 C |
a.b.c.0/20 | +0.0.15.255 | 255.255.240.000 | 4096 | 16 C |
a.b.c.0/19 | +0.0.31.255 | 255.255.224.000 | 8192 | 32 C |
a.b.c.0/18 | +0.0.63.255 | 255.255.192.000 | 16 384 | 64 C |
a.b.c.0/17 | +0.0.127.255 | 255.255.128.000 | 32 768 | 128 C |
a.b.0.0/16 | +0.0.255.255 | 255.255.000.000 | 65 536 | 256 C = 1 B |
a.b.0.0/15 | +0.1.255.255 | 255.254.000.000 | 131 072 | 2 B |
a.b.0.0/14 | +0.3.255.255 | 255.252.000.000 | 262 144 | 4 B |
a.b.0.0/13 | +0.7.255.255 | 255.248.000.000 | 524 288 | 8 B |
a.b.0.0/12 | +0.15.255.255 | 255.240.000.000 | 1 048 576 | 16 B |
a.b.0.0/11 | +0.31.255.255 | 255.224.000.000 | 2 097 152 | 32 B |
a.b.0.0/10 | +0.63.255.255 | 255.192.000.000 | 4 194 304 | 64 B |
a.b.0.0/9 | +0.127.255.255 | 255.128.000.000 | 8 388 608 | 128 B |
a.0.0.0/8 | +0.255.255.255 | 255.000.000.000 | 16 777 216 | 256 B = 1 A |
a.0.0.0/7 | +1.255.255.255 | 254.000.000.000 | 33 554 432 | 2 A |
a.0.0.0/6 | +3.255.255.255 | 252.000.000.000 | 67 108 864 | 4 A |
a.0.0.0/5 | +7.255.255.255 | 248.000.000.000 | 134 217 728 | 8 A |
a.0.0.0/4 | +15.255.255.255 | 240.000.000.000 | 268 435 456 | 16 A |
a.0.0.0/3 | +31.255.255.255 | 224.000.000.000 | 536 870 912 | 32 A |
a.0.0.0/2 | +63.255.255.255 | 192.000.000.000 | 1 073 741 824 | 64 A |
a.0.0.0/1 | +127.255.255.255 | 128.000.000.000 | 2 147 483 648 | 128 A |
0.0.0.0/0 | +255.255.255.255 | 000.000.000.000 | 4 294 967 296 | 256 A |
Количество адресов подсети не равно количеству возможных узлов. Начальный адрес сети резервируется для идентификации подсети, последний — в качестве широковещательного адреса, таким образом в реально действующих сетях возможно количество узлов на два меньшее количества адресов (возможны исключения в виде адресации в IPv4 сетей /32 и /31).
Назначение маски подсети
Маска назначается по следующей схеме (для сетей класса C), где — количество компьютеров в подсети + 2,[1] округленное до ближайшей большей степени двойки (эта формула справедлива для ≤ 254, для > 254 будет другая формула).
Пример: В некой подсети класса C есть 30 компьютеров, маска для такой сети вычисляется следующим образом:
28 - 32 = 224 (0E0h) < = > 255.255.255.224 (0xFFFFFFE0)
Литература
- Олифер В. Г., Олифер Н. А. Компьютерные сети. Принципы, технологии, протоколы: Учебник для вузов = Computer Networks. Principles, Technologies and Protocols for Network Design. — 3-е изд. — СПб.: Издательский дом «Питер», 2006. — С. 572-576. — 958 с. — ISBN 5-469-00504-6.
См. также
- VLSM — сетевые маски переменной длины.
Примечания
- ↑ 2 добавляется, чтобы учесть IP-адрес сети (первый в диапазоне) и широковещательный (последний в диапазоне, задаваемом маской)
Ссылки
- Ivan Pascal. «Вычисление сетевой маски для подсети» . OpenNet.ru (3 июня 2002). Дата обращения: 21 февраля 2011. Архивировано 25 августа 2011 года.
- Сергей Верещагин. «Wildcard Mask (шаблонная маска)» (30 мая 2009). Дата обращения: 21 февраля 2011. Архивировано 25 августа 2011 года.