MyTetra Share
Делитесь знаниями!
Маска подсети
Время создания: 19.10.2019 18:48
Текстовые метки: Маска подсети, ip, mask
Раздел: Компьютер
Запись: Kozlov-AE/Tetra/master/base/1571500106pe6jxhjo7m/text.html на raw.githubusercontent.com

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

Содержание

·         1 Маски при бесклассовой маршрутизации (CIDR)

·         2 Выбор маски для подсети

·         3 Литература

·         4 См. также

·         5 Примечания

·         6 Ссылки

Маски при бесклассовой маршрутизации (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.

IPv4 CIDR

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).

Выбор маски для подсети[править  | править код ]

Если {\displaystyle n} — количество компьютеров в подсети, округлённое до ближайшей большей степени двойки, и {\displaystyle n\leqslant 254} (для сетей класса C ), то маска подсети вычисляется по следующей формуле: {\displaystyle 2^{8}-n-2}, где двойка вычитается, так как один IP-адрес (первый в задаваемом маской диапазоне) является IP-адресом подсети и ещё один IP-адрес (последний в задаваемом маской диапазоне) является широковещательным адресом  (для отправки данных всем узлам подсети). Для {\displaystyle n>254} будет другая формула.

Пример: в некой подсети класса C есть 30 компьютеров; маска для такой сети вычисляется следующим образом:

28 - 30 - 2 = 224 = E0h ;

маска: 255.255.255.224 = 0x FF.FF.FF.E0.

 

 
MyTetra Share v.0.59
Яндекс индекс цитирования