Использование масок в IP-адресации

Маска - это 4-байтное число, которое используется в паре с IP-адресом. Двоичная запись маски содержит единицы в тех разрядах, которые должны в IP-адресах использоваться как номер сети.

Маска - это число, применяемое в паре с IP - адресом, причем двоичная запись маски содержит непрерывную последовательность единиц в тех разрядах, которые должны в IP - адресе интерпретироваться как номер сети, а остальные - нули.

Поэтому маску часто записывают в виде числа единиц в ней содержащихся. 255.255.248.0 (11111111.11111111.11111000.00000000) - является правильной маской подсети (/21),

а 255.255.250.0 (11111111.11111111.11111010.00000000) - является неправильной, недопустимой.

 

Если маску «наложить» на IP - адрес, то граница между единицами и нулями в маске станет границей номер сети и номер узла IP - адреса.

 

Для стандартных классов сетей маски имеют следующие значения:

255.0.0.0 - маска для сети класса А,

255.255.0.0 - маска для сети класса В,

255.255.255.0 - маска для сети класса С.

 

В масках, которые использует администратор для увеличения числа подсетей, количество единиц в последовательности, определяющей границу номера сети, не обязательно должно быть кратным 8, чтобы повторять деление адреса на байты.

Пример1: IP-адрес - 194.110.345.185, маска - 255.255.255.192. Если не учитывать маску подсети: номер сети - 194.110.245.0, а номер узла - 0.0.0.185. С учетом маски - номер сети - 194.110.345.128, а номер узла 0.0.0.57

Пример2: маска имеет значение 255.255.192.0 (11111111 11111111 11000000 00000000). И пусть сеть имеет номер 129.44.0.0 (10000001 00101100 00000000 00000000), из которого видно, что она относится к классу В. После наложения маски на этот адрес число разрядов, интерпретируемых как номер сети, увеличилось с 16 до 18, то есть администратор получил возможность использовать вместо одного, централизованно заданного ему номера сети, четыре:

129.44.0.0 (10000001 00101100 00000000 00000000)

129.44.64.0 (10000001 00101100 01000000 00000000)

129.44.128.0 (10000001 00101100 10000000 00000000)

129.44.192.0 (10000001 00101100 11000000 00000000)

Пример3: IP-адрес 129.44.141.15 (10000001 00101100 10001101 00001111), который по стандартам IP задает номер сети 129.44.0.0 и номер узла 0.0.141.15, теперь, при использовании маски, будет интерпретироваться как пара:

129.44.128.0 - номер сети,

0.0. 13.15 - номер узла.

Таким образом, установив новое значение маски, можно заставить маршрутизатор по-другому интерпретировать IP-адрес.

Пример4: пусть ваша сеть относится к классу В. В одной сети циркулирует единый трафик. Но среди всех станций сети есть некоторые, слабо взаимодействующие между собой. Эти станции желательно бы изолировать в разных сетях.

Пусть это будут узел 129.34.17.15 и узел 129.34.20.01, которые в исходной ситуации относятся к одной сети класса В с номером 129.34. Если задать в качестве маски число 255. 255.255.0, то адреса этих двух узлов будут интерпретироваться маршрутизаторами как адреса узла 15 сети класса С

с номером 129.34.17 и узла 01 сети класса С с номером 129.34.20.

 

Извне сеть по-прежнему будет выглядеть как единая сеть класса В, а на местном уровне это будет несколько отдельных сетей класса С.

Нетрудно увидеть, что максимальный размер подсети может быть только степенью двойки (двойку надо возвести в степень, равную количеству нулей в маске).

При передаче пакетов используются правила маршрутизации, главное из которых звучит так: «Пакеты участникам своей подсети доставляются напрямую, а остальным – по другим правилам маршрутизации».

Таким образом, требуется определить, является ли получатель членом нашей подсети или нет.

Алгоритм определения диапазона адресов подсети

(из определения маски).

1. Перевести и записать IP-адрес в двоичной системе счисления.

2. Перевести маску и записать ее в двоичной системе счисления.

3. «Наложить» маску на IP-адрес и записать диапазон номеров подсети в двоичной системе счисления.

4. Перевести и записать диапазон из двоичной системы счисления в десятичную.

Задача. Дан IP-адрес 192.168.200.47 /20 (маска подсети 20). Определить диапазон номеров (адресов) подсети.

 

Решение.

1. 192.168.200.47 переведем в двоичную систему счисления:

* Алгоритм перевода числа из десятичной системы счисления в двоичную:

1. Делим число на 2, остаток от деления может быть 1 или 0, значение остатка присваивается младшему (самому правому) знаку искомой двоичной записи.

2. Полученное число вновь делим на 2, остаток равен значению следующего по старшинству знака.

3. Повторить п.2 пока частное не станет меньше двух, частное от последнего деления равно значению старшего знака, остаток – второму по старшинству знаку.

Перевод числа 192 из десятичной записи в двоичную:

192 96 48 24 12 6 3 1
0  0 0 0 0 0 1 1

Пояснения:                          24/2=12 – четное, пишем – 0;

192 – четное, значит, пишем – 0; 12/2=6 – четное, пишем – 0;

192/2=96 – четное, пишем – 0;   6/2=3 – нечетное, пишем 1;

96/2=48 – четное, пишем – 0;    3/2=1 – нечетное, пишем 1.

Результат записываем из таблицы слева направо: 11000000.

Аналогично переводим 168 в двоичную систему счисления и получаем: 10101000.

 

Аналогично переводим 200 в двоичную систему счисления и получаем: 11001000

 

Аналогично переводим 47 в двоичную систему счисления и получаем: 00101111 (впереди недостающие разряды дописываем нулями до 4 байт)

 

Записываем 192.168.200.47 в двоичной форме:

IP-адрес

2. Записываем маску 20 в двоичной форме. Для этого пишем 20 нулей с разделением на 4 байта, оставшиеся 12 знаков дописываем нулями:

 

Маска 20.

3. «Накладываем» маску на IP-адрес и выявляем диапазон номеров подсети:

11000000.10101000.1100 1000.00101111

11111111.11111111.1111 0000.00000000

Граница единиц и нулей попадает на середину третьего числа; все что оказалось под единицами остается без изменений, значит первые два числа в IP-адресе останутся без изменений и надо получить только третье число и четвертое.

Для того чтобы определить начало диапазона надо в IP-адресе все числа от границы заполнить нулями, для того, чтобы определить конец диапазона надо в IP-адресе все числа от границы заполнить единицами, то есть: Диапазон адресов подсети будет такой: от 11000000.10101000.11000000.00000000 до 11000000.10101000.11001111.11111111

 

4. Переведем и запишем полученный диапазон номеров подсети из двоичной системы счисления в
десятичную:

11000000 = 1*27+1*26+0*25+0*24+0*23+0*22+0*21+0*20=27+26=192

00000000 = 0

11001111 = 1*27+1*26+0*25+0*24+1*23+1*22+1*21+1*20=27+26+23+22+21+20=207

11111111 = 1

Значит, диапазон адресов подсети будет такой: от 192.168.192.0 до 192.168.207.255

Задания для выполнения:

1.  Какие адреса из приведенного ниже списка являются допустимыми адресами хостов и почему:

0.10.10.10

10.0.10.10

10.10.0.10

10.10.10.10

127.0.127.127

127.0.127.0

255.0.200.1

1.255.0.0

 

2. Перечислите все допустимые маски, по какому принципу они получаются.

 

3. Определите диапазоны адресов подсетей (даны адрес хоста и маска подсети):

10.212.157.12/24

27.31.12.254/31

192.168.0.217/28

10.7.14.14/16

 

4. Какие из адресов:

241.253.169.212

243.253.169.212

242.252.169.212

242.254.168.212

242.254.178.212

242.254.170.212

242.254.169.211

242.254.179.213

будут достигнуты напрямую с хоста 242.254.169.212/21. Определите диапазон адресов в его подсети.

5. Посмотрите параметры IP на своем компьютере с помощью команды ipconfig.

 

Команда ipconfig отображает краткую информацию, т.е. только IP-адрес, маску подсети и стандартный шлюз для каждого подключенного адаптера, для которого выполнена привязка с TCP/IP.

Определите диапазон адресов и размер подсети, в которой Вы находитесь.

 

6.  Выделить номер подсети и номер узла по заданному IP - адресу и маске подсети:

IP - адрес:            129. 64. 134. 5

Маска подсети:    255. 255. 128. 0

 

7. Дан IP-адрес 198.65.12.67 и маска этой подсети - 255.255.255.240. Определить номер подсети и максимальное число узлов этой подсети.

8.

9. Какие из приведенных ниже адресов не могут быть использованы для узлов Интернета? Для верных адресов определите их класс: A,B,C,D,E. Результат представить в виде таблицы.

 

1.127.0.0.1                                                  7. 193.256.1.16

2.201.13.123.245                                      8. 194.87.45.0

3.226.4.37.105                                          9. 195.34.116.255

4.103.24.254.0                                          10. 161.23.45.305

5.10.234.17.25                                          11. 13.13.13.13

6.154.12.255.255                                      12. 204.0.3.1

 

Контрольные вопросы:

1. Какой адрес называется неопределенным IP – адресом?

2. Что обозначает неопределенный IP – адрес?

3. Какой адрес называется ограниченным широковещательным?

4. Какой адрес является внутренним адресом стека протоколов ПК?

5. Какой класс IP – адресов используется для корпоративных внутренних сетей предприятия?

6. Чем занимается сетевой уровень?

7. Можно ли использовать в качестве сетевого МАС-адрес?

8. Что такое маска подсети?

9. Как определить диапазон адресов в подсети?

Примечание:

Следует учитывать, что некоторые адреса являются запрещенными или служебными и их нельзя использовать для адресов хостов или подсетей. Это адреса, содержащие:

0      в первом или последнем байте,

255 в любом байте (это широковещательные адреса),

127 в первом байте (внутренняя петля – этот адрес имеется в каждом хосте и служит для связывания компонентов сетевого уровня). Поэтому доступный диапазон адресов будет несколько меньше. Диапазон адресов:

10.Х.Х.Х – для больших локальных сетей;

172.16.Х.Х – для больших локальных сетей, но применяется реже,

192.168.Х.Х – для маленьких (небольших) локальных сетей, не может быть использован в сети Internet, т.к. эти адреса отданы для использования в сетях непосредственно не подключенных к глобальной сети.

 

 



Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: