Subnetting — различия между версиями

Материал из VAAL-WIKI
Перейти к: навигация, поиск
 
(не показана одна промежуточная версия этого же участника)
Строка 1: Строка 1:
 +
==  Введение  ==
 +
 
'''Маска подсети''' — битовая маска, определяющая, какая часть IP-адреса узла сети относится к адресу сети, а какая — к адресу самого узла в этой сети (при этом, в отличие от 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.
 
'''Маска подсети''' — битовая маска, определяющая, какая часть IP-адреса узла сети относится к адресу сети, а какая — к адресу самого узла в этой сети (при этом, в отличие от 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.
  
Строка 105: Строка 107:
 
Рассмотрим пример записи диапазона IP-адресов в виде 10.96.0.0/11. В этом случае маска подсети будет иметь двоичный вид 11111111 11100000 00000000 00000000, или то же самое в десятичном виде: 255.224.0.0. 11 разрядов IP-адреса отводятся под ''адрес сети'', а остальной 32-11=21 разряд полного адреса (<s>11111111 111</s>00000 00000000 00000000) — под локальный адрес в этой сети. Итого, 10.96.0.0/11 означает диапазон адресов от 10.96.0.0 до 10.127.255.255.
 
Рассмотрим пример записи диапазона IP-адресов в виде 10.96.0.0/11. В этом случае маска подсети будет иметь двоичный вид 11111111 11100000 00000000 00000000, или то же самое в десятичном виде: 255.224.0.0. 11 разрядов IP-адреса отводятся под ''адрес сети'', а остальной 32-11=21 разряд полного адреса (<s>11111111 111</s>00000 00000000 00000000) — под локальный адрес в этой сети. Итого, 10.96.0.0/11 означает диапазон адресов от 10.96.0.0 до 10.127.255.255.
  
=== Диапазоны адресов ===
+
== Диапазоны адресов ==
 
IP-адрес является массивом бит. Принцип IP-адресации — выделение множества (диапазона, блока, подсети) IP-адресов, в котором некоторые битовые разряды имеют фиксированные значения, а остальные разряды пробегают все возможные значения. Блок адресов задаётся указанием начального адреса и маски подсети. Бесклассовая адресация основывается на переменной длине маски подсети (variable length subnet mask,VLSM), в то время, как в классовой (традиционной) адресации длина маски строго фиксирована 0, 1, 2 или 3 установленными октетами.
 
IP-адрес является массивом бит. Принцип IP-адресации — выделение множества (диапазона, блока, подсети) IP-адресов, в котором некоторые битовые разряды имеют фиксированные значения, а остальные разряды пробегают все возможные значения. Блок адресов задаётся указанием начального адреса и маски подсети. Бесклассовая адресация основывается на переменной длине маски подсети (variable length subnet mask,VLSM), в то время, как в классовой (традиционной) адресации длина маски строго фиксирована 0, 1, 2 или 3 установленными октетами.
  

Текущая версия на 14:27, 18 мая 2017

Введение

Маска подсети — битовая маска, определяющая, какая часть IP-адреса узла сети относится к адресу сети, а какая — к адресу самого узла в этой сети (при этом, в отличие от 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.

Другой вариант определения — это определение подсети 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, которому и отправляется пакет.

IP-адреса Биты(Bits) Префикс(Prefix) Маска подсети(Subnet mask)
1 0 /32 255.255.255.255
2 1 /31 255.255.255.254
4 2 /30 255.255.255.252
8 3 /29 255.255.255.248
16 4 /28 255.255.255.240
32 5 /27 255.255.255.224
64 6 /26 255.255.255.192
128 7 /25 255.255.255.128
256 8 /24 255.255.255.0
512 9 /23 255.255.254.0
1k 10 /22 255.255.252.0
2k 11 /21 255.255.248.0
4k 12 /20 255.255.240.0
8k 13 /19 255.255.224.0
16k 14 /18 255.255.192.0
32k 15 /17 255.255.128.0
64k 16 /16 255.255.0.0
128k 17 /15 255.254.0.0
256k 18 /14 255.252.0.0
512K 19 /13 255.248.0.0
1M 20 /12 255.240.0.0
2M 21 /11 255.224.0.0
4M 22 /10 255.192.0.0
8M 23 /9 255.128.0.0
16M 24 /8 255.0.0.0
32M 25 /7 254.0.0.0
64M 26 /6 252.0.0.0
128M 27 /5 248.0.0.0
256M 28 /4 240.0.0.0
512M 29 /3 224.0.0.0
1024M 30 /2 192.0.0.0
2048M 31 /1 128.0.0.0
4096M 32 /0 0.0.0.0

Маски при бесклассовой маршрутизации (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-адресации — выделение множества (диапазона, блока, подсети) IP-адресов, в котором некоторые битовые разряды имеют фиксированные значения, а остальные разряды пробегают все возможные значения. Блок адресов задаётся указанием начального адреса и маски подсети. Бесклассовая адресация основывается на переменной длине маски подсети (variable length subnet mask,VLSM), в то время, как в классовой (традиционной) адресации длина маски строго фиксирована 0, 1, 2 или 3 установленными октетами.

Пример подсети 192.0.2.32/27 с применением бесклассовой адресации:

Октеты IP-адреса 192 0 2 32
Биты IP-адреса 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0
Биты маски подсети 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0
Октеты маски подсети 255 255 255 224

В данном примере видно, что в маске подсети 27 бит слева — единицы. В таком случае говорят о длине префикса подсети в 27 бит и указывают через косую черту (знак /) после базового адреса.

Пример записи IP-адреса 172.16.0.1/12 с применением бесклассовой адресации:

Октеты IP-адреса 172 16 0 1
Биты IP-адреса 1 0 1 0 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
Биты маски подсети 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Октеты маски подсети 255 240 0 0

Множество всех адресов соответствует нулевой маске подсети и обозначается /0, а конкретный адрес IPv4 — маске подсети с длиной префикса в 32 бита, обозначаемой /32.

Для упрощения таблиц маршрутизации можно объединять блоки адресов, указывая один большой блок вместо ряда мелких. Например, 4 смежные сети класса C (4 × 255 адресов, маска 255.255.255.0 или /24) могут быть объединены, с точки зрения далёких от них маршрутизаторов, в одну сеть /22. И напротив, сети можно разбивать на более мелкие подсети, и так далее.

Стандартом принята маска в виде непрерывной последовательности единиц и непрерывной последовательности нулей. Только для таких масок получающиеся множества IP-адресов будут смежными. Однако, также широко распространены обратные маски (invers mask, wildcard mask), которые не обязаны содержать подряд идущие единицы или нули. Обратная маска используется для формирования правил ACL.


IPv4 CIDR
IP/маска До последнего 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 536 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).