Основы построения сетей пакетной коммутации

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

Показывать лекцию целиком

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

В разделе 7.1 было показано, что при использовании адресации на основе полного класса (classfull) в сетях класса А может быть адресовано до ($$2^{24} - 2$$) узлов, класса В - ($$2^{16} - 2$$) узлов и класса С - 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 идут через $$16 = 2^4$$ (значение младшего разряда сетевой части 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).

    (рис 8.1) Пример использования масок переменной длины
    Формирование подсетей и субподсетей
    Номер подсети Адрес подсети Префикс Число узлов подсети
    Подсеть 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
  • (рис 8.2) Использование подсетей и субподсетей

    В приведенном примере одну из подсетей, например 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 подсетей

    Если бы в приведенной схеме сети (рис 8.3) для каждой подсети использовался бы адрес полного класса, например С, то для 7 подсетей потребовался бы объем адресного пространства $$7 \times 256 = 1792$$ номеров, причем, большая часть адресов оставалась бы неиспользованной. Следовательно, использование масок переменной длины VLSM предоставляет эффективное средство экономии дефицитных IPv4-адресов.

    8.2. Агрегирование адресов

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

    172.16.14.0/24 - 10101100.00010000.00001110.00000000 и
    172.16.15.0/24 - 10101100.00010000.00001111.00000000

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

    Тип маршрутизации, использующий агрегированные адреса и маски переменной длины VLSM, получил название бесклассовой междоменной маршрутизации (Classless Inter Domain 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 разряда адреса.

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

    (рис 8.4) Агрегирование адресов маршрутов

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

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

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

    8.3. Особенности формирования подсетей IPv6

    Основной задачей формирования подсетей в технологии IPv4 является экономия дефицитных IPv4-адресов. В сетях IPv6 целью разбиения больших сетей на подсети является создание иерархической системы адресации, удобной при создании и обслуживании сетей. В иерархически спроектированной сети легче обеспечить расширяемость, управляемость, информационную безопасность.

    Префикс сайта или глобальной маршрутизации содержит 48 двоичных разряда (/48), что показано на рис. 8.5.

    Префикс глобальной маршрутизации Идентификатор подсети Идентификатор интерфейса
    48 бит 16 бит 64 бита
    Рис. 8.5. Три части адреса IPv6

    Администратор, получивший диапазон адресов с префиксом /48, имеет возможность создания $$2^{16} = 65536$$ (64К) сетей, адреса которых задаются идентификатором сети (подсети) IPv6. Старшие 64 двоичных разрядов адреса IPv6 образуют префикс подсети ):

    (рис 8.6) Пример сети IPv6

    Адресное пространство в этом случае используется неэффективно, поскольку, например, соединение "точка-точка" адресуется полем идентификатора интерфейса длиной 64 бита. Однако это не критично для версии IPv6.

    В сетях IPv6 можно создавать подсети (субподсети), заимствуя адресные биты из поля идентификатора интерфейса, по аналогии с сетями IPv4. Причем, заимствование рекомендуется делать кратным 4 битам, что соответствует одному шестнадцатеричному символу. При этом рекомендуемые префиксы будут следующие: /68, /72. /76 и т.д.

    Краткие итоги лекции 8

  • Крупные сети характеризуются сложностью идентификации большого количества узлов. Широковещательные запросы в больших сетях требуют значительную полосу пропускания, что создает дополнительную нагрузку на сеть и снижают ее производительность.
  • Крупные сети характеризуются трудностями управления и обеспечения информационной безопасности.
  • Деление крупной сети на подсети обычно реализует маршрутизатор, каждый интерфейс которого подключен к своей непосредственно присоединенной сети (подсети).
  • Формирование подсетей внутри выделенного адресного пространства проводит администратор, используя бесклассовую адресацию, когда граница между сетевой и узловой частью проходит в произвольном месте IP-адреса.
  • Маска сети должна иметь непрерывную последовательность единиц в старших двоичных разрядах и нули в младших.
  • Самый первый адрес, содержащий все нулевые биты в узловой части адреса, будет являться номером сети. Последний адрес, содержащий в узловой части двоичные единицы, является широковещательным адресом в этой подсети.
  • Адрес сети маршрутизатор получает путем логического умножения сетевого адреса узла назначения на маску.
  • Маски переменной длины (VLSM) позволяют создавать подсети разного размера, гибко задавая границы между полем адреса сети и полем адреса узла.
  • Бесклассовую междоменную маршрутизацию CIDR и маскирование переменной длины VLSM поддерживают протоколы OSPF, IS-IS, EIGRP, RIPv2, а также статическая маршрутизация.
  • Бесклассовые протоколы маршрутизации передают в обновлениях маршрутизации IP-адреса и соответствующие маски сетей.
  • Шлюзу по умолчанию обычно назначают первый адрес в сети.
  • Агрегированный адрес получается путем объединения адресов в один.
  • Радикально решить проблему дефицита IP-адресов может новая шестая версия (IPv6) адресации в IP-сетях.
  • В сетях IPv6 целью разбиения больших сетей на подсети является создание иерархической системы адресации, удобной при создании и обслуживании сетей.
  • Администратор, получивший диапазон адресов с префиксом /48, имеет возможность создания $$2^{16} = 65536$$ (64К) сетей, адреса которых задаются идентификатором сети (подсети) IPv6.
  • В сетях IPv6 можно создавать подсети, заимствуя адресные биты из поля идентификатора интерфейса, по аналогии с сетями IPv4. Причем, заимствование рекомендуется делать кратным 4 битам, что соответствует одной шестнадцатеричной цифре.
  • Вопросы

  • Для чего производится деление сети на подсети?
  • Какое устройство производит деление сети на подсети?
  • Может ли деление сети на подсети может реализовать коммутатор?
  • Каким маскам соответствуют префиксы /20, /23, /26, /28, /30?
  • Сколько максимально подсетей может быть сформировано при использовании маски 255.255.255.224? Сколько максимально узлов в каждой?
  • В какую сеть входит узел 172.20.171.25/18? Каков широковещательный адрес в этой сети?
  • В какую сеть входит узел 172.20.171.25/20? Каков широковещательный адрес в этой сети?
  • В чем состоит ошибка задания адреса сети 192.168.10.160/26
  • Какую маску следует использовать для формирования 8-ми компьютерных классов по 10-12 компьютеров в каждом?
  • Каковы будут адреса шлюза по умолчанию, первого и последнего компьютеров, широковещательной рассылки в сети 10.10.10.160/27?
  • Каковы будут адреса шлюза по умолчанию, первого и последнего компьютеров, широковещательной рассылки в сети 172.20.10.128/26?
  • Каков будет суммарный адрес группы подсетей 172.16.51.16/24, 172.16.51.17/24, …, 172.16.51.23/24?
  • Что позволяет радикально решить проблему дефицита IP-адресов?
  • Сколько сетей может сформировать администратор, используя поле идентификатора подсетиIPv6?
  • Какие префиксы рекомендуется использовать при формировании субподсетей?
  • Упражнения

  • Рассчитайте максимальное количество узлов в подсетях 10.169.77.16/28; 172.18.190/27; 192.168.55.112/29.
  • Для выделенного диапазона адресов 172.16.10.0/24 сформируйте 10 подсетей по 8 - 14 компьютеров в каждой. Какова будет сетевая маска?
  • Для выделенного адреса 10.1.5.0/24 сформируйте 2 подсети по 50 - 60 компьютеров, 2 подсети по 25 - 30 компьютеров, 2 подсети по 10 - 12 компьютеров, 2 подсети по 5 - 6 компьютеров, остальные адреса использовать для адресации соединений "точка - точка".
  • Укажите агрегированный адрес группы из четырех подсетей: 172.16.16.0/24, 172.16.17.0/24, 172.16.18.0/24, 172.16.19.0/24.
  • Для нижеприведенной схемы с заданными адресами подсетей укажите адрес первого и последнего узла, адрес шлюзов по умолчанию каждой подсети, широковещательный адрес.
  • Вернуться к учебному плану