Длина префикса сети в маске подсети
Поскольку биты идентификатора сети всегда идут последовательно и начинаются с самого левого, самый простой способ показать маску подсети — это указать количество битов идентификатора сети в виде префикса сети. Таким образом, маска подсети выражается в виде «IP-адрес/префикс сети». Например, IP-адрес I31.107.16.200 и маску подсети 255.255.0.0 можно записать в виде 131.107.16.200/16. Число 16 после слеша обозначает количество единичных битов в маске подсети. Точно так же, /24 обозначает маску подсети 255.255.255.0 для адреса класса С, например 206.73.118.23/24.
Примечание Нотация с префиксом сети также известна как бесклассовая междоменная маршрутизация (Classless Interdomain Routing, C1DR).
Основной шлюз
Связь между TCP/IP-узлами разных сетей как правило выполняется через маршрутизаторы. Маршрутизатор — это устройство с несколькими интерфейсами, подключенными к разным сетям, а маршрутизация — процесс приема IP-пакетов на одном интерфейсе и пересылка их на другой интерфейс в направлении адресата. С точки зрения узлг сети TCP/IP, основной шлюз— это IP-адрес маршрутизатора, сконфигурированного не пересылку IP-трафика в другие сети.
Пытаясь передать информацию другому узлу IP-сети, компьютер определяет тип узла (локальный или удаленный) по маске подсети. Если узел-получатель расположен в локальном сегменте сети, пакет направляется в локальную сеть по методу широковещания. В противном случае компьютер пересылает пакет в основной шлюз, определенный в параметрах TCP/IP. Обязанность дальнейшей пересылки пакета е нужную сеть возлагается на маршрутизатор, адрес которого указан в качестве основного шлюза.
7.5. Разбиение на подсети
Очень редко в локальную вычислительную сеть входит более 100-200 узлов: даже если взять сеть с большим количеством узлов, многие сетевые среды накладывают ограничения, например, в 1024 узла. Исходя из этого, целесообразность использования сетей класса А и В весьма сомнительна. Да и использование класса С для сетей, состоящих из 20-30 узлов, тоже является расточительством.
Для решения этих проблем в двухуровневую иерархию IP-адресов (сеть -- узел) была введена новая составляющая -- подсеть. Идея заключается в "заимствовании" нескольких битов из узловой части адреса для определения подсети.
Полный префикс сети, состоящий из сетевого префикса и номера подсети, получил название расширенного сетевого префикса. Двоичное число, и его десятичный эквивалент, содержащее единицы в разрядах, относящихся к расширенному сетевому префиксу, а в остальных разрядах -- нули, назвали маской подсети.
Сетевой префикс | подсеть | узел | |||
IP адрес | 144.144.19.22 | ||||
Маска | 255.255.255.0 | ||||
Расширенный сетевой префикс |
Маски подсети помогают определить, как IP-адрес разбивается на идентификаторы сети и узла. В адресах классов А, В и С применяются стандартные маски подсети, занимающие соответственно первые 8, 6 и 24 бита 32-битового адреса. Подсетью называется логическая сеть, определяемая маской подсети.
Стандартные маски годятся для сетей, которые не предполагается разбивать. Например, в сети из 100 компьютеров, соединенных с помощью карт гигабитного Ethernet, кабелей и коммутаторов, все узлы могут обмениваться информацией по локальной сети. Сеть не нуждается в маршрутизаторах для защиты от чрезмерного широковещания или для связи с узлами, расположенными в отдельных физических сегментах. В таком простом случае вполне достаточно идентификатора сети класса С.
7.6. Механизм разбиения на подсети
Разбиение на подсети (subnetting) — это логическое разделение адресного пространства сети путем установки в 1 дополнительных битов маски подсети. Такое расширение позволяет создавать многие подсети в адресном пространстве сети.
Например, если маска подсети по умолчанию 255.255.0.0 используется для узлов сети класса В 131.107.0.0, IP-адреса 131.107.1.11 и 131.107.2.11 находятся водной подсети и поддерживают взаимодействие посредством широковещания. Но если расширить маску подсети до 255255255.0, то эти адреса окажутся в разных подсетях и для обмена данными соответствующим узлам придется пересылать пакеты на основной шлюз, который перенаправит дейтаграммы в нужную подсеть. Внешние по отношению к сети узлы по-прежнему используют маску подсети по умолчанию для взаимодействия с узлами внутри сети. Обе версии показаны на рис. 2-7 и 2-8.
Рис. 2-7. Не разбитое на подсети адресное пространство класса В
Показанное на рис. 2-7 исходное адресное пространство класса В, состоящее из единственной подсети, может содержать максимум 65 534 узлов, а новая маска подсети (рис. 2-8) позволяет разделить адресное пространство на 256 подсетей, в каждой из которых можно разместить до 254 узлов.
7.6.1. Преимущества разбиения на подсети
Разбиение на подсети часто используют для обеспечения соответствия физической и логической топологии сети или Для ограничения широковешательного трафика. Другие несомненные преимущества: более высокий уровень защиты (благодаря ограничению неавторизованного трафика маршрутизаторами) и упрощение администрирования (благодаря передачеуправления подсетями другим отделам или администраторам).
Рис. 2-8. Разбитое на подсети адресное пространство класса В
Соответствие физической топологии.Допустим, вам поручили спроектировать университетскую сеть, состоящую из 200 узлов, распределенных в четырех зданиях — Voter Hall, Twilight Hall, Monroe Hall и Sunderland Hall. В каждом здании планируется разместить по 50 узлов. Если интернет-провайдер выделил адрес 208.147.66.0 класса С, вам доступны адреса 208.147.66—208.147.66.254. Однако из-за размещения в четырех физически отделенных зданиях, узлы не могут обмениваться данными по локальной сети. Расширив маску подсети на 2 бита (т. е. позаимствовав их у идентификатора узла), сеть" разбивают на четыре логические подсети, а для связи устанавливается маршрутизатор (рис. 2-9).
Ограничениешироковешательного трафика. Широковещание — рассылка сообщений с одного компьютера на все расположенные в локальном сегменте устройства. Широковещание существенно нагружает ресурсы, поскольку занимает полосу пропускания и требует участия всех сетевых адаптеров и процессоров логического сегмента сети.
Маршрутизаторы блокируют широковещание и защищают сети от излишнего трафика. 11оскольку маршрутизаторы также определяют логические ограничения подсетей, разбиение на подсети позволяет косвенно ограничивать широковещательный трафик в сети.
7.6.2. Определение максимального количества узлов в сети
Зная сетевой адрес, определить максимальное количество узлов в сети просто: надо возвести 2 в степень, равную количеству битов в идентификаторе узла и вычесть 2. Например, в сетевом адресе 192.168.0.0/24 под идентификатор узла отведено 8 бит, поэтому возможное максимальное число узлов 25 — 2 = 254.
Количество узлов в подсети.Количество идентификаторов узлов в подсети определяется также, как и узлов в сети — оно равно Т — 2, где х — количество бит в идентификаторе узла. Например, в адресе 172.16.0.0/24 резервируется 8 бит под идентификатор узла, поэтому число узлов в подсети равно 2 — 2, т. е. 254. Дня вычисления количества узлов во всей сети умножают полученный результат на количество подсетей. В нашем примере адресное пространство 172.16.0.0/24 даст 254 сетей х 256 узлов = 65 024.
Конфигурируя адресное пространство и маски подсети в соответствии с требованиями сети убедитесь, что отвели на идентификатор узла достаточно бит с учетом возможного увеличения количества узлов в подсети в будущем.
7.6.3. Определение диапазонов адресов подсети
Десятично-точечная форма маски подсети позволяет определить диапазоны IP-адресов в каждой подсети простым вычитанием из 256 числа в соответствующем октете маски. Например, в сети класса С с адресом 207.209.68.0 с маской подсети 255.255.255.192 вычитание 192 из 256 даст 64. Таким образом, новый диапазон начинается после каждого 64 адреса: 207.209.68.0-207.209.68.63, 207.209.68.64-207.209.68.127 и т.д. В сети класса В 131.107.0.0 с маской подсети 255.255.240.0 вычитание 240 из 256 дает 16. Следовательно, диапазоны адресов подсетей группируются по 16 в третьем октете, а четвертый октет принимает значения из диапазона 0—255: 131.107.0.0—131.107.15.255, 131.107.16.0— 131.107.31.255 и т.д.
Помните, что узлам нельзя назначать идентификаторы из одних нулей или единиц, так что исключаются первый и последний адрес каждого диапазона.
7.7. Проблемы классической схемы
В середине 80-х годов Internet впервые столкнулся с проблемой переполнения таблиц магистральных маршрутизаторов. Решение, однако, было быстро найдено -- подсети устранили проблему на несколько лет. Но уже в начале 90-х к проблеме большого количества маршрутов прибавилась нехватка адресного пространства. Ограничение в 4 миллиарда адресов, заложенное в протокол и казавшееся недосягаемой величиной, стало весьма ощутимым.
В качестве решения проблемы были одновременно предложены два подхода -- один на ближайшее будущее, другой комплексный и долгосрочный. Первое решение -- это внедрение протокола бесклассовой маршрутизации (CIDR), к которому позже присоединилась система NAT.
Долгосрочное решение -- это протокол IP следующей версии. Он обозначается, как IPv6, или IPng (Internet Protocol next generation). В этой реализации протокола длина адреса увеличена до 16-ти байтов (128 бит!), исключены некоторые элементы действующего протокола, которые оказались неиспользуемыми.
7.7.1. Маска подсети переменной длины VLSM
(Variable Length Subnet Mask)
Традиционно все узлы и маршрутизаторы организации используют одну маску подсети. В этом случае сеть может разбиваться на подсети, в которых максимальное количество идентификаторов узлов одинаковое.
Однако поддержка масок подсети переменной длины (variable-length subnet mask, VLSM) позволяет маршрутизаторам обслуживать разные маски. Чаше всего VLSM применяют для разбиения на подсети самих подсетей.
Общая схема разбиения сети на подсети с масками переменной длины такова: сеть делится на подсети максимально необходимого размера. Затем некоторые подсети делятся на более мелкие, и рекурсивно далее, до тех пор, пока это необходимо.
Кроме того, технология VLSM, путем скрытия части подсетей, позволяет уменьшить объем данных, передаваемых маршрутизаторами. Так, если сеть 12/8 конфигурируется с расширенным сетевым префиксом /16, после чего сети 12.1/16 и 12.2/16 разбиваются на подсети /20, то маршрутизатору в сети 12.1 незачем знать о подсетях 12.2 с префиксом /20, ему достаточно знать маршрут на сеть 12.1/16.
Табл. 2-5. Параметры маски подсети класса С (статические)
Сетевой адрес | Число подсетей | Число узлов в подсети | |||
208.147.66.0/24 | |||||
208.147.66.0/25 | |||||
208.147.66.0/26 | |||||
208.147.66.0/27 | |||||
208.147.66.0/28 | |||||
208.147.66.0/29 | |||||
При разбиении на подсети различного размера нужно использовать специальный шаблон с завершающими нулями; сеть класса С поддерживает до семи подсетей. Завершающие нули нужны для предотвращения пересечения адресных пространств подсетей. Если идентификатор подсети с маской переменной длины соответствует шаблону из табл. 2-6, подсети не пересекутся и адреса будут интерпретироваться однозначно.
На рис. 2-17 показано, как с помощью VLSM построить 3 сети с 100, 50 и 20 узлами
соответственно.
7.7.2. Бесклассовая междоменная маршрутизация CIDR
(Classless Inter-Domain Routing)
Появление этой технологии было вызвано резким увеличением объема трафика в Internet и, как следствие, увеличением количества маршрутов на магистральных маршрутизаторах. Так, если в 1994 году, до развертывания CIDR, таблицы маршрутизаторов содержали до 70 000 маршрутов, то после внедрения их количество сократилось до 30 000. На сентябрь 2002, количество маршрутов перевалило за отметку 110 000! Можете себе представить, сколько маршрутов нужно было бы держать в таблицах сегодня, если бы не было CIDR!
Что же представляет собой эта технология? Она позволяет уйти от классовой схемы адресации, эффективней использовать адресное пространство протокола IP. Кроме того, CIDR позволяет агрегировать маршрутные записи. Одной записью в таблице маршрутизатора описываются пути ко многим сетям.
Суть технологии CIDR состоит в том, что каждому поставщику услуг Internet (или, для корпоративных сетей, какому-либо структурно-территориальному подразделению) должен быть назначен неразрывный диапазон IP-адресов. При этом вводится понятие обобщенного сетевого префикса, определяющего общую часть всех назначенных адресов. Соответственно, маршрутизация на магистральных каналах может реализовываться на основе обобщенного сетевого префикса. Результатом является агрегирование маршрутных записей, уменьшение размера таблиц маршрутных записей и увеличение скорости обработки пакетов.
По своей сути технология CIDR родственна VLSM. Только если в случае с VLSM есть возможность рекурсивного деления на подсети, невидимые извне, то CIDR позволяет рекурсивно адресовать целые адресные блоки.
Использование CIDR позволило разделить Internet на адресные домены, внутри которых передается информация исключительно о внутренних сетях. Вне домена используется только общий префикс сетей. В результате многим сетям соответствует одна маршрутная запись
7.7.3. Сложение маршрутов путем создания надсетей
Итак.чтобы предотвратить истощение доступных идентификаторов сетей старших классов, организации, ответственные за адресацию в Интернете, предложили схему, называемую созданием надсетей (supernetting), согласно которой несколько сетей (маршрутов) можно объединить (или стожить) в единую более крупную сеть. Надсети позволяют эффективнее управлять выделением участков адресного пространства.
Как работают надсети
Надсети отличаются от подсетей тем, что заимствуют биты идентификатора сети и маскируют их как идентификатор узла. Допустим, интернет-провайдер выделил блок из 8 адресов сети: 207.46.168.0—207.46.175.0. Если определить на маршрутизаторах провайдера и всех узлов сети маску подсети /21 (вместо /24 по умолчанию), все сети будут казаться единственной сетью из-за того, что их идентификаторы (урезанные до 21 бита) будут выглядеть одинаково (рис. 2-15).