logo
СиСПК (ВАСИН)-лекции

7.2. Формирование подсетей

Однако в ряде случаев для удобного управления и защиты сетей от несанкционированного доступа администратор может самостоятельно формировать подсети внутри выделенного ему адресного пространства.

Например, администратору выделен адрес сети 198.11.163.0 класса С, а ему необходимо создать 10 компьютерных подсетей (в десяти аудиториях) по 14 узлов. Для адресации 10 подсетей потребуется 4 разряда адреса, для адресации 14 узлов также необходимо 4 разряда адреса (24 – 2 = 14). Таким образом, маска должна иметь единицы в 28 старших двоичных разрядах и 4 нуля в младших – 11111111.11111111.11111111.11110000, т.е. маска будет 255.255.255.240. В этом случае максимально может быть задано 16 подсетей по 14 узлов в каждой (табл.7.2).

Таблица 7.2

Адреса узлов и подсетей

№ подсети

Адрес подсети

Адреса узлов

1

198.11.163.0

198.11.163.1 -

198.11.163.14

2

198.11.163.16

198.11.163.17 -

198.11.163.30

3

198.11.163.32

198.11.163.33 -

198.11.163.46

10

198.11.163.144

198.11.163.145 -

198.11.163.158

16

198.11.163.240

198.11.163.241 -

198.11.163.254

Следовательно, если задан адрес 198.11.163.83 с маской 255.255.255.240, то после логического умножения адреса на маску будет получен адрес подсети:

11000110.00001011.10100011.01010011

11111111.11111111.11111111.11110000

11000110.00001011.10100011.01010000 ,

т.е. подсеть 198.11.163.80 сети 198.11.163.0, а номер узла – равен 3 (0011).

С помощью маски 255.255.255.224 в адресном пространстве 198.11.163.0/24 можно сформировать 8 подсетей по 30 узлов в каждой, а с помощью маски 255.255.255.248 можно задать 32 подсети по 6 узлов. Используя маски разной длины для создания подсетей, администратор может формировать подсети разного размера в пределах одной автономной системы. Например, для формирования сетей по 30 узлов в каждой требуется 27 разрядов маски, содержащих единицы, а для создания сети, соединяющей пару маршрутизаторов (точка - точка), требуется всего два адреса, т.е. маска должна иметь 30 единиц. Поэтому часть адресного пространства может быть использована для создания сетей по 30 узлов, а не использованные адреса – для формирования пары адресов для связей точка-точка.

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

Использование масок переменной длины (Variable-length subnet mask - VLSM) позволяет создавать эффективные и масштабируемые схемы адреса. Маски переменной длины позволяют создавать подсети разного размера, гибко задавая границы между полем адреса сети и полем адреса узла. VLSM позволяет использовать больше чем одну маску подсети в пределах выделенного адресного пространства сети.

В примере (рис.7.1, табл. 7.3), адресное пространство 192.168.100.0/24 использовано для создания 8 подсетей по 32 адреса в каждой, т.е. маска имеет единицы в 27 старших двоичных разрядах.

Рис.7.1. Пример использования масок переменной длины

Одна из последних подсетей (подсеть 6) разделена на субподсети. При этом используется маска, содержащая не 27 единиц, а – 30 единиц в старших разрядах. Таким образом, за счет использования VLSM может быть сформировано 7 подсетей с числом узлов до 30 и восемь субподсетей с числом узлов 2. Каждая из субподсетей имеет диапазонов адресов, используемых для связей «точка-точка». В распределенной составной сети (рис.7.1) четыре локальных сети (192.168.100.0/27, 192.168.100.32/27, 192.168.100.64/27, 192.168.100.96/27) и три сети «точка-точка».

Таблица 7.3

Формирование подсетей и субподсетей

Номер подсети

Адрес подсети

Число разрядов маски

Число узлов подсети

Подсеть 0

192.168.100.0

27

30

Подсеть 1

192.168.100.32

27

30

Подсеть 2

192.168.100.64

27

30

Подсеть 3

192.168.100.96

27

30

Подсеть 4

192.168.100.128

27

30

Подсеть 5

192.168.100.160

27

30

Подсеть 6

192.168.100.192

27

Используется для формирования субподсетей

Подсеть 7

192.168.100.224

27

30

Субподсеть 0

192.168.100.192

30

2

Субподсеть 1

192.168.100.196

30

2

Субподсеть 2

192.168.100.200

30

2

Субподсеть 3

192.168.100.204

30

2

Субподсеть 4

192.168.100.208

30

2

Субподсеть 5

192.168.100.212

30

2

Субподсеть 6

192.168.100.216

30

2

Субподсеть 7

192.168.100.220

30

2

Таким образом, маски переменной длины VLSM позволяют создавать подсети разного размера. Например, сеть 198.11.163.0/24 может быть разбита на десять подсетей: две подсети по 62 узла в каждой, две подсети по 30 узлов, 2 подсети по 14 узлов и 4 подсети по 6 узлов в каждой (табл.7.4). Соответственно маски будут иметь размер: 26 – для первых двух подсетей, 27 – для третьей и четвертой подсети, 28 – для пятой и шестой, 29 – для четырех последних подсетей. Естественно, что могут быть реализованы и другие варианты деления сети на подсети и субподсети.

Таблица 7.4

Формирование подсетей с использованием масок переменной длины

№ подсети

Маска

Адрес подсети

Число узлов

Адреса узлов

1

255.255.255.192

198.11.163.0

62

198.11.163.1 -

198.11.163.62

2

255.255.255.192

198.11.163.64

62

198.11.163.65 -

198.11.163.126

3

255.255.255.224

198.11.163.128

30

198.11.163.129 -

198.11.163.158

4

255.255.255.224

198.11.163.160

30

198.11.163.161 -

198.11.163.190

5

255.255.255.240

198.11.163.192

14

198.11.163.193 -

198.11.163.206

6

255.255.255.240

198.11.163.208

14

198.11.163.209 -

198.11.163.222

7

255.255.255.248

198.11.163.224

6

198.11.163.225 -

198.11.163.230

8

255.255.255.248

198.11.163.232

6

198.11.163.233 -

198.11.163.238

9

255.255.255.248

198.11.163.240

6

198.11.163.241 -

198.11.163.246

10

255.255.255.248

198.11.163.248

6

198.11.163.249 -

198.11.163.254

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

На рис.7.2 представлен еще один пример формирования пяти подсетей с маской длиной 26 единиц из адреса 172.16.32.0/23:

  1. 172.16.32.0/26; - 10101100.00010000.00100000.00000000

  2. 172.16.32.64/26; - 10101100.00010000.00100000.01000000

  3. 172.16.32.128/26; - 10101100.00010000.00100000.10000000

  4. 172.16.32.192/26; - 10101100.00010000.00100000.11000000

  5. 172.16.33.0/26; - 10101100.00010000.00100001.00000000

Рис.7.2. Использование подсетей и субподсетей

Одну из подсетей, например 172.16.33.0/26, далее подразделили на субподсети с маской длиной 30 разрядов.

Не все протоколы маршрутизации поддерживают VLSM, например, первая версия протокола RIPv1 не поддерживает маскирование подсетей переменной длины. Маскирование переменной длины VLSM поддерживают протоколы Open Shortest Path First (OSPF), Integrated IS-IS, Enhanced Interior Gateway Routing Protocol (EIGRP), протокол второй версии RIP v2, а также статическая маршрутизация.

При проектировании сетей может быть поставлена и обратная задача, когда несколько отдельных адресов необходимо объединить в один общий (агрегированный) адрес. Выше было отмечено, что общую часть адреса, представленную старшими разрядами, называют префиксом. В ряде случаев это сокращает число записей в таблице маршрутизации. Например, сети

172.16.14.0 - 10101100.00010000.00001110.00000000 и

172.16.15.0 - 10101100.00010000.00001111.00000000

могут быть агрегированы (объединены) так, чтобы маршрутизаторы использовали только один маршрут для объединенной (агрегированной) сети 172.16.14.0/23, поскольку 23 разряда адреса обеих сетей одинаковы.

Тип маршрутизации, использующий агрегированные адреса, получил название бесклассовой междоменной маршрутизации (classless interdomain routing - CIDR) на основе префикса. Агрегирование маршрутов уменьшает нагрузку на маршрутизаторы.

Ниже рассмотрен следующий пример агрегирования адресов. Группа из четырех подсетей:

192.168.16.0/24 - 11000000.10101000.00010000.00000000

192.168.17.0/24 - 11000000.10101000.00010001.00000000

192.168.18.0/24 - 11000000.10101000.00010010.00000000

192.168.19.0/24 - 11000000.10101000.00010011.00000000

может быть представлена суммарным (агрегированным) адресом

192.168.16.0/22 - 11000000.10101000.00010000.00000000,

поскольку 22 разряда адреса у них одинаковы.

Аналогично группа из других четырех подсетей:

192.168.20.0/24 - 11000000.10101000.00010100.00000000

192.168.21.0/24 - 11000000.10101000.00010101.00000000

192.168.22.0/24 - 11000000.10101000.00010110.00000000

192.168.23.0/24 - 11000000.10101000.00010111.00000000

может быть представлена агрегированным адресом

192.168.20.0/22 - 11000000.10101000.00010100.00000000,

поскольку 22 разряда адреса у них также одинаковы.

Третья группа подсетей:

192.168.24.0/24 - 11000000.10101000.00011000.00000000

192.168.25.0/24 - 11000000.10101000.00011001.00000000

192.168.26.0/24 - 11000000.10101000.00011010.00000000

192.168.27.0/24 - 11000000.10101000.00011011.00000000

может быть представлена агрегированным адресом

192.168.24.0/22 - 11000000.10101000.00011000.00000000,

поскольку у них одинаковы 22 разряда адреса.

Агрегирование приведенных выше адресов иллюстрирует рис.7.3. Вместо адресов четырех подсетей в таблице маршрутизации каждого из маршрутизаторов А, В, С используется адрес только одного (агрегированного) маршрута с префиксом в 22 двоичных разряда. Адреса четырех указанных подсетей имеют общую часть – префикс, который используется как единый совокупный адрес. В маршрутизаторе D можно сформировать агрегированный адрес всех трех групп подсетей. Он будет иметь адрес 192.168.16.0/20, т.е. маска (префикс) содержит 20 единиц в старших разрядах, поскольку все представленные на рис.7.3 адреса имеют двадцать одинаковых старших двоичных разрядов адреса.

Рис.7.3. Агрегирование адресов маршрутов

Таким образом, итоговый суммарный маршрут трех групп подсетей (рис.7.3) содержит префикс на 20 битов, общий для всех адресов в указанной сети – 192.168.16.0/20 - 11000000.10101000.00010000.00000000. Двадцать старших разрядов адреса (11000000.10101000.0001) используются как единый адрес организации, которая подключается к сети Интернет через маршрутизатор D.

Чтобы функционировала маршрутизация на основе префикса, адреса должны быть назначены иерархическим способом. Маршрутизатор должен знать номера всех присоединенных к нему подсетей и не должен сообщать другим маршрутизаторам о каждой подсети, если он может послать один совокупный маршрут (aggregate routes). Маршрутизатор, который использует совокупные маршруты, реже обращается к таблице маршрутизации.

Маршрутизация на основе префикса и масок переменной длины возможна, если маршрутизаторы сети используют бесклассовый (classless) протокол маршрутизации типа OSPF или EIGRP. Бесклассовые протоколы маршрутизации передают в обновлениях маршрутизации (routing updates) 32-разрядные IP-адреса и соответствующие маски.