Адрес | 130.5.5.25 | ||||
Адрес в двоичном виде | 10000010. | 00000101. | 00000101. | 00011001 | |
Маска подсети | 255.255.255.0 | ||||
Маска подсети в двоичном виде | 11111111. | 11111111. | 11111111. | 00000000 | |
Номер сети | 10000010. | 00000101. | |||
Расширенный сетевой префикс | 10000010. | 00000101. | 00000101. | ||
Или в более наглядном виде: | |||||
Номер сети | Номер подсети | Номер узла | |||
IP-адрес | 130.5.5.25 | 10000010. | 00000101. | 00000101. | 00011001 |
Маска подсети | 255.255.255.0 | 11111111. | 11111111. | 11111111. | 00000000 |
Расширенный сетевой префикс |
Рис. 1.4. IP-адрес класса B с соответствующей маской подсети
В стандартах, описывающих современные протоколы маршрутизации, часто используется длина расширенного сетевого префикса, а не маска подсети. Эта длина показывает число установленных в единицу бит в маске подсети. Так, сетевой адрес 130.5.5.25 с маской подсети 255.255.255.0 может быть записан как 130.5.5.25/24 (в маске подсети 255.255.255.0 число бит, установленных в единицу, равно 24). Такая запись является более компактной и легче воспринимается, чем маска подсети в ее традиционном точечно-десятичном формате.
Для администратора сети чрезвычайно важно знать четкие ответы на следующие вопросы:
• Сколько подсетей требуется организации сегодня?
• Сколько подсетей может потребоваться организации в будущем?
• Сколько узлов в наибольшей подсети организации сегодня?
• Сколько узлов будет в самой большой подсети организации в будущем?
Первым шагом в процессе планирования является определение максимального количества требуемых подсетей. Данное число округляется вверх до ближайшей степени двойки. Затем важно учесть возможность увеличения числа подсетей. Наконец, проверяется достаточность адресов узлов в самой большой подсети организации на настоящий момент и в обозримом будущем.
2. Выделение IP-подсетей
2.1 Пример 1. 512 подсетей (IP-адрес класса B)
Предположим, что организации для ее частной сети назначен сетевой номер 140.25.0.0/16. При этом организация планирует разделить сеть на несколько подсетей, каждая из которых должна поддерживать до 60 узлов.
На первом шаге необходимо определить число бит, требуемых для идентификации 60 узлов в подсети. Ранее было показано, что адрес конкретного узла имеет определенное двоичное представление и верхняя граница адресного пространства для узлов одной подсети представляется степенью двойки. Это, в частности, означает, что невозможно выделить адресное пространство ровно для 60 узлов, так как 60 – не степень двойки. Ближайшая сверху степень – 64=25. На самом деле, к числу узлов нужно прибавить 2, так как адреса, содержащие только нули или только единицы, не используются для адресации отдельных узлов. Здесь видно, что необходимый задел есть: 60+2=62<64. Однако, удовлетворяя существующие на сегодня потребности по числу рабочих мест, такой выбор не оставляет адресного пространства для возможного роста подсети (в наличии имеется всего два свободных адреса). И хотя следующая степень двойки равна 128 (27) и число адресов узлов будет равно 27-2= =126, то есть намного больше требуемого в настоящий момент, сетевой администратор выбирает именно это адресное пространство и получает 66 (126-60) дополнительных адресов для каждой подсети. Такой выбор означает, что поле адреса узла займет 7 бит.
На втором шаге определяется маска подсети и длина расширенного сетевого префикса. Так как для идентификации узлов из 32-разрядного IP-адреса решено выделить 7 бит, то получаем расширенный сетевой префикс, равный /25 (32-7=25). Такой 25-разрядный расширенный сетевой префикс может быть выражен в десятично-точечном представлении маской подсети 255.255.255.128. На рис. 2.1 показана запись маски подсети и расширенного сетевого префикса.
Номер сети | Номер подсети | Номер узла | ||
140.25.0.0 /16 | 10001100. | 00011001. | 00000000.0 | 0000000 |
255.255.255.128 | 11111111. | 11111111. | 11111111.1 | 0000000 |
Или эквивалентная запись: | ||||
25-разрядный расширенный сетевой префикс | Номер узла | |||
140.25.0.0 /25 | 10001100. | 00011001. | 00000000.0 | 0000000 |
Рис. 2.1. Определение маски подсети и расширенного сетевого префикса
Видно, что 25-разрядный расширенный сетевой префикс предполагает выделение 9 бит для идентификации подсетей. Теперь можно вычислить количество идентифицируемых подсетей: 29=512, то есть девять бит позволяют назначить адреса 512 подсетям. Понятно, что сетевой администратор имеет некоторую свободу действий при определении соотношения числа идентифицируемых узлов и числа подсетей. Выбеляя большее число бит в поле идентификации узлов, администратор может включать в подсеть больше узлов. С другой стороны, чем меньше бит выделено для идентификации узлов, тем больше подсетей может создать администратор. Все зависит от текущих требований организации.
Выделенные 512 подсетей пронумеруем от 0 до 511. Если выделить 9 разрядов для двоичного представления десятичных чисел от 0 до 511, то получим: 0 (00000000)2, 1 (00000001)2, 2 (00000010)2, 3 (00000011)2, …, 511 (11111111)2. Например, для определения подсети номер 3 (№3) сетевой администратор размещает двоичное представление числа 3 (00000011)2 в девяти битах номера подсети. Номера подсетей для рассматриваемого примера приводятся ниже. В каждом адресе курсивом выделен расширенный сетевой префикс всего адреса, а 9-разрядное представление поля номера подсети выделено жирным шрифтом.
Базовая сеть: 10001100.00011001.00000000.00000000 = 140.25.0.0/16
Подсеть №0: 10001100.00011001.00000000.00000000 = 140.25.0.0/25
Подсеть №1: 10001100.00011001.00000000.10000000 = 140.25.0.128/25
Подсеть №2: 10001100.00011001.00000001.00000000 = 140.25.1.0/25
Подсеть №3: 10001100.00011001.00000001.10000000 = 140.25.1.128/25
Подсеть №4: 10001100.00011001.00000010.00000000 = 140.25.2.0/25
Подсеть №5: 10001100.00011001.00000010.10000000 = 140.25.2.128/25
Подсеть №6: 10001100.00011001.00000011.00000000 = 140.25.3.0/25
Подсеть №7: 10001100.00011001.00000011.10000000 = 140.25.3.128/25
Подсеть №8: 10001100.00011001.00000100.00000000 = 140.25.4.0/25
Подсеть №9: 10001100.00011001.00000100.10000000 = 140.25.4.128/25
…
Подсеть №510: 10001100.00011001.11111111.00000000 = 140.25.255.0/25
Подсеть №511: 10001100.00011001.11111111.10000000 = 140.25.255.128/25
Итак, администратор выделил 7 бит для идентификации узлов в каждой подсети. Это означает, что каждая подсеть имеет 126 адресов для идентификации узлов. Узлы в подсети нумеруются от 1 до 126. Ниже приведен перечень адресов узлов для подсети №3. При этом курсивом выделен расширенный сетевой префикс, а жирным шрифтом показано 7-разрядное поле номера узла.
Подсеть №3: 10001100.00011001.00000001.10000000 = 140.25.1.128/25
Узел №1: 10001100.00011001.00000001.10000001 = 140.25.1.129/25
Узел №2: 10001100.00011001.00000001.10000010 = 140.25.1.130/25
Узел №3: 10001100.00011001.00000001.10000011 = 140.25.1.131/25
Узел №4: 10001100.00011001.00000001.10000100 = 140.25.1.132/25
Узел №5: 10001100.00011001.00000001.10000101 = 140.25.1.133/25
Узел №6: 10001100.00011001.00000001.10000110 = 140.25.1.134/25
…
Узел №62: 10001100.00011001.00000001.10111110 = 140.25.1.190/25
Узел №63: 10001100.00011001.00000001.10111111 = 140.25.1.191/25
Узел №64: 10001100.00011001.00000001.11000000 = 140.25.1.192/25
Узел №65: 10001100.00011001.00000001.11000001 = 140.25.1.193/25
…
Узел №123: 10001100.00011001.00000001.11111011 = 140.25.1.251/25
Узел №124: 10001100.00011001.00000001.11111100 = 140.25.1.252/25
Узел №125: 10001100.00011001.00000001.11111101 = 140.25.1.253/25
Узел №126: 10001100.00011001.00000001.11111110 = 140.25.1.254/25
Для подсети №3 широковещательным адресом будет адрес, в котором все биты поля номера узла установлены в единицу:
10001100.00011001.00000001.11111111 = 140.25.1.255
2.2 Пример 2. 8 подсетей (IP-адрес класса B)
Изменим ситуацию. Пусть организации назначен сетевой адрес 132.45.0.0/16. Администратору поручено сформировать 8 подсетей. Для идентификации такого количества подсетей требуется три бита. В этом случае расширенный сетевой префикс будет равен /19 (маска подсети 255.255.224.0). Ниже приведены адреса этих подсетей в двоичном и десятичном представлениях:
Подсеть №0: 10000100.00101101.00000000.00000000 = 132.45.0.0/19
Подсеть №1: 10000100.00101101.00100000.00000000 = 132.45.32.0/19
Подсеть №2: 10000100.00101101.01000000.00000000 = 132.45.64.0/19
Подсеть №3: 10000100.00101101.01100000.00000000 = 132.45.96.0/19
Подсеть №4: 10000100.00101101.10000000.00000000 = 132.45.128.0/19
Подсеть №5: 10000100.00101101.10100000.00000000 = 132.45.160.0/19
Подсеть №6: 10000100.00101101.11000000.00000000 = 132.45.192.0/19
Подсеть №7: 10000100.00101101.11100000.00000000 = 132.45.224.0/19
Теперь определим адреса узлов для подсети №3 (132.45.96.0/19 – 10000100.00101101.01100000.00000000):
Подсеть №3: 10000100.00101101.01100000.00000000 = 132.45.96.0/19
Узел №1: 10000100.00101101.01100000.00000001 = 132.45.96.1/19
Узел №2: 10000100.00101101.01100000.00000010 = 132.45.96.2/19
Узел №3: 10000100.00101101.01100000.00000011 = 132.45.96.3/19
…
Узел №8190: 10000100.00101101.01111111.11111110 = 132.45.127.254/19
Определим широковещательный адрес для подсети №3 (132.45.96.0/19):
10000100.00101101.01111111.11111111 = 132.45.127.255/19