Поэтому протоколы сетевого уровня и выше инвариантны к сетевой физической среде. |
Формирование подсетей
8.1. Формирование подсетей IPv4
В "Адресация в IP-сетях" было показано, что при использовании адресации на основе полного класса (classfull) в сетях класса А может быть адресовано до () узлов, класса В - () узлов и класса С - 254 узла. Крупные сети характеризуются сложностью идентификации большого количества узлов, поэтому задачи динамического конфигурирования узлов возлагаются на серверы DHCP. Однако широковещательные запросы в больших сетях, например, при обращении к протоколам DHCP, ARP, требуют значительную полосу пропускания. Они создают дополнительную нагрузку на сеть и снижают ее производительность, поскольку широковещательные запросы должны обрабатываться всеми узлами сети. Кроме того, крупные сети характеризуются трудностями управления и обеспечения безопасности. Поэтому большие сети делят на подсети, в которых указанные проблемы проявляются в меньшей степени.
Серверам, маршрутизаторам, сетевым принтерам IP-адреса назначают администраторы вручную (статическая адресация).
Деление крупной сети на подсети обычно реализует маршрутизатор, каждый интерфейс которого подключен к своей непосредственно присоединенной сети (подсети). Для каждой подсети необходимо задать IP-адрес, причем, адресные пространства подсетей не должны перекрываться. Интерфейс маршрутизатора является шлюзом по умолчанию для всех конечных узлов непосредственно присоединенной локальной сети. Таким образом, взаимодействие узлов разных подсетей происходит через маршрутизатор.
Деление сети на подсети может реализовать и коммутатор, используя технологию виртуальных локальных сетей VLAN. Эти вопросы рассмотрены в лекции 17.
При проектировании подсетей необходимо учитывать:
- географическое расположение конечных узлов, которые будут объединены в подсеть;
- функциональная принадлежность узлов (учебный класс, деканат, и т.д.);
- степень информационной безопасности.
Формирование подсетей внутри выделенного адресного пространства проводит администратор, используя бесклассовую (classless) адресацию, когда граница между сетевой и узловой частью проходит в произвольном месте IP-адреса. Например, администратору выделен адрес 198.11.163.0/24 класса С, т.е. выделено адресное пространство в 256 адресов, и ему необходимо создать 10 компьютерных подсетей по 12 узлов в каждой. Для адресации 10 подсетей потребуется 4 двоичных разряда адреса, и для адресации 12 узлов также потребуется 4 бита. Поэтому из узловой части адреса длиной в 8 бит будет заимствовано 4 старших бита для адресации подсетей. Оставшиеся 4 бита будут использоваться для адресации узлов.
Таким образом, маска сети должна иметь единицы в 28 = (24 + 4) старших двоичных разрядах и 4 нуля в младших, т.е. маска в двоичном коде будет - 11111111.11111111.11111111.11110000, а в десятичном коде - 255.255.255.240. В этом случае максимально может быть задано 16 подсетей по 14 узлов в каждой (табл. 8.1). В данном примере из 16 подсетей администратор использует 10, а оставшиеся 6 использоваться не будут.
№ подсети | Адрес подсети | Адреса узлов |
---|---|---|
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 |
Из 16 адресов, задаваемых узловой частью IP-адреса, самый первый адрес, содержащий все нулевые биты, будет являться номером сети. Последний адрес, содержащий в узловой части двоичные единицы, является широковещательным адресом в этой подсети. Поэтому для идентификации узлов остается 14 адресов. В их число входит и адрес шлюза по умолчанию.
Например, если задан адрес 198.11.163.83 с маской 255.255.255.240, то после логического умножения адреса на маску будет получен адрес подсети:
11000110.00001011.10100011.01010011 |
11111111.11111111.11111111.11110000 |
11000110.00001011.10100011.01010000. |
В узловой части адреса подсети 11000110.00001011.10100011.01010000 - все нули. Старшие четыре бита последнего октета содержат значение 80 (в двоичной форме - 11000110.00001011.10100011.01010000), т.е. номер подсети 198.11.163.80/28, а номер узла - равен 3 (0011) в этой подсети. Если в узловой части адреса все единицы (11000110.00001011.10100011.01011111), то это будет широковещательный адрес 198.11.163.95 в сети 198.11.163.80/28.
В вышеприведенном примере адреса подсетей 198.11.163.0, 198.11.163.16, …, 198.11.163.80, …, 198.11.163.240 идут через (значение младшего разряда сетевой части IP-адреса).
С помощью маски 255.255.255.224 (префикс /27) в адресном пространстве 198.11.163.0/24 можно сформировать 8 подсетей по 30 узлов в каждой, а с помощью маски 255.255.255.248 (префикс /29) можно задать 32 подсети по 6 узлов. Используя маски разной длины, администратор может формировать подсети разного размера в пределах выделенного адресного пространства. Таким образом, маски переменной длины (Variable-Length Subnet Mask - VLSM) позволяют создавать подсети разного размера, гибко задавая границы между полем адреса сети и полем адреса узла. Технология VLSM позволяет использовать больше чем одну маску подсети в пределах выделенного адресного пространства.
Например, для формирования сетей по 30 узлов в каждой требуется 27 разрядов маски, содержащих единицы, а для создания сети, соединяющей пару маршрутизаторов (точка - точка), требуется всего два адреса. Однако в сетях "точка - точка" еще один адрес необходим для номера сети, и один адрес - для широковещательной рассылки. Таким образом, при маске в 30 двоичных разрядов (префикс /30) два младших разряда адреса позволяют сформировать 4 адреса, из которых 1-й используется для адреса сети, 2-ой и 3-й - для адресации узлов, а 4-й - в качестве широковещательного адреса.
В примере ( рис. 8.1, табл. 8.2), адресное пространство 192.168.100.0/24 использовано для создания 4 подсетей по 32 адреса в каждой (30 узлов, адрес подсети, широковещательный адрес), т.е. маска имеет единицы в 27 старших двоичных разрядах (префикс /27).
Номер подсети | Адрес подсети | Префикс | Число узлов подсети |
---|---|---|---|
Подсеть 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 | Используется для формирования субподсетей |
Субподсеть 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 |
Подсеть 7 | 192.168.100.224 | 27 | 30 |
Оставшиеся 4 блока адресов по 32 адреса в каждом могут быть использованы администратором по его усмотрению. В приведенном примере подсеть 6 разделена на субподсети для адресации соединений "точка - точка". При этом используется маска, содержащая не 27 единиц, а - 30 единиц (префикс /30).
Таким образом, за счет использования VLSM может быть сформировано 7 подсетей с числом узлов до 30 и восемь субподсетей с числом узлов 2. Каждая из субподсетей имеет диапазон адресов, используемых для связей "точка-точка". В схеме распределенной составной сети ( рис. 8.1) четыре локальных сети (192.168.100.0/27, 192.168.100.32/27, 192.168.100.64/27, 192.168.100.96/27)и три сети соединений "точка-точка".
Таким образом, маски переменной длины VLSM позволяют создавать подсети разного размера. Например, сеть 198.11.163.0/24 может быть разбита на десять подсетей: две подсети по 62 узла в каждой, две подсети по 30 узлов, 2 подсети по 14 узлов и 4 подсети по 6 узлов в каждой (табл. 8.3).
№ подсети | Маска | Адрес подсети | Число узлов | Адреса узлов |
---|---|---|---|---|
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 |
Соответственно маски будут иметь размер: /26 - для первых двух подсетей, /27 - для третьей и четвертой подсети, /28 - для пятой и шестой, /29 - для четырех последних подсетей. Естественно, что могут быть реализованы и другие варианты деления сети на подсети и субподсети.
Важно помнить, что только неиспользованные подсети могут далее делиться на субподсети. Если какой-то адрес подсети уже используется, то подсеть на субподсети далее делиться не может.
На рис. 8.2 представлен еще один пример формирования подсетей с префиксом /26 из адреса 172.16.32.0/23:
- 172.16.32.0/26; - 10101100.00010000.00100000.00000000
- 172.16.32.64/26; - 10101100.00010000.00100000.01000000
- 172.16.32.128/26; - 10101100.00010000.00100000.10000000
- 172.16.32.192/26; - 10101100.00010000.00100000.11000000
В приведенном примере одну из подсетей, например 172.16.33.0/26, разделили на субподсети с маской в 30 единичных разрядов.
Не все протоколы маршрутизации поддерживают технологию VLSM, например, первая версия протокола RIPv1 не поддерживает маски переменной длины. Маскирование переменной длины VLSM поддерживают протоколы Open Shortest Path First (OSPF), Integrated IS-IS, Enhanced Interior Gateway Routing Protocol (EIGRP), протокол второй версии RIPv2, а также статическая маршрутизация.
При проектировании подсетей особое внимание необходимо уделить плану выделения адресов с тем, чтобы диапазоны адресов подсетей не пересекались. На рис. 8.3 приведен пример сети, состоящей из 7 подсетей с масками переменной длины. На схеме у всех локальных подсетей (Подсеть 4 - Подсеть 7) шлюзу по умолчанию назначен первый адрес в сети. Иногда шлюзу по умолчанию назначают последний адрес в локальной сети. При указании адресов интерфейсов и конечных узлов на схеме приведены только значения последнего октета (в десятичной системе). Конечным узлам заданы наименьший и наибольший адреса. Для соединений между маршрутизаторами использована маска 255.255.255.252, т.е. префикс /30.
Если бы в приведенной схеме сети ( рис. 8.3) для каждой подсети использовался бы адрес полного класса, например С, то для 7 подсетей потребовался бы объем адресного пространства номеров, причем, большая часть адресов оставалась бы неиспользованной. Следовательно, использование масок переменной длины VLSM предоставляет эффективное средство экономии дефицитных IPv4-адресов.