Приложение D Маски подсети переменной длины

D.1 Введение

Формат адресов Интернета причиняет много хлопот сетевым администраторам хотя бы потому, что 32-разрядное адресное пространство слишком мало и ограничено.

Компьютеры работают с адресами, используя побитовое деление, и вполне могут воспринимать 16-разрядные номера сетей, 7-разрядные номера подсетей и 9-разрядные номера хостов. Но пользователям не очень удобны такие битовые фрагменты.

К еще большему беспорядку приводит запись байтов адреса десятичными числами, например 130.15.1.2. Когда границы подсети не попадают в целые байты, требуются некоторые вычисления для выделения из адреса: 1) подсети и 2) адреса хоста.

Это приложение поможет упростить работу с масками подсети, когда они не попадают в байтовые границы. Мы рассмотрим несколько примеров масок подсети для сети класса В с адресом 130.15. В таблице 5.2 приведен полный список масок подсети для сетей этого класса. Хотя мы не включили в примеры подсети с одними нулями, нужно помнить, что такой вариант успешно используется на многих сайтах.

D.1.1 Маска подсети из семи бит

Когда в адресной части для подсети меньше 8 бит, можно выбрать вариант с небольшим числом подсетей, но большим количеством хостов. Например:

Биты подсети Количество подсетей Биты хоста Количество хостов
7 128 9 510
6 64 10 1022

Для 7-битовой подсети первый хост в первой подсети имеет адрес (в двоичном представлении и записи с точками):

10000010 00001111 00000010 0000001

130 . 15 . 2 . 1

Часть адреса для хостов напечатана полужирным шрифтом. Последний хост первой подсети имеет следующий адрес:

10000010 00001111 00000011 11111110

130 . 15 . 3 . 254

Таким образом, в записи с точками первая подсеть имеет адреса:

от 130.15.2.1 до 130.15.2.255

от 130.15.3.0 до 130.15.3.254

Все адреса, начинающиеся с 130.15.2 или 130.15.3, находятся в этой же самой подсети. Допустим и адрес хоста 130.15.2.255. Этот адрес заканчивается байтом из одних единиц, но поле хоста имеет один 0 в предыдущем байте. Точно так же легален адрес 130.15.3.0, хотя он и завершается всеми нулями, но не имеет нулевого поля хоста.

Вторая подсеть будет включать адреса:

от 130.15.4.1 до 130.15.4.255 от 130.15.5.0 до 130.15.5.254

Принцип уже должен быть ясен. Каждая подсеть будет содержать смежную пару четных и нечетных номеров. Новые подсети начинаются с каждого четного номера.

D.1.2 Маска подсети из шести бит

Рассмотрим 6-битовые подсети. В нашем случае первый хост первой подсети имеет адреса:

10000010 00001111 00000100 0000001

30 . 15 . 4 . 1

Последний хост первой подсети имеет адрес:

10000010 00001111 00000111 11111110

130 . 15 . 7 . 254

Это означает, что при записи с точками к первой подсети будут относиться адреса:

от 130.15.4.1 до 130.15.4.255

от 130.15.5.0 до 130.15.5.255

от 130.15.6.0 до 130.15.6.255

от 130.15.7.0 до 130.15.7.254

Все адреса, начинающиеся с 130.15.4, 130.15.5, 130.15.6 и 130.15.7, находятся в одной подсети. Как и прежде, допустимы адреса хостов 130.15.4.255, 130.15.5.255 и 130.15.6.255. Эти адреса завершаются байтом из всех единиц, но поле хоста содержит не только единицы, поскольку имеет ноль в предыдущем байте. Точно так же законны адреса 130.15.5.0, 130.15.6.0 и 130.15.7.0. Хотя они и завершаются нулевым байтом, но не имеют нулевого поля хоста. Вторая подсеть будет включать адреса:

от 130.15.8.1 до 130.15.8.255

от 130.15.9.0 до 130.15.9.255

от 130.15.10.0 до 130.15.10.255

от 130.15.11.0 до 130.15.11.254

Зависимость прослеживается и в этом случае. Каждая подсеть будет представлена четырьмя смежными номерами. Новые подсети начинаются с номеров, кратных четырем.

В 5-разрядных подсетях первая подсеть будет содержать адреса от 130.15.8.1 до 130.15.15.254, а новые подсети — начинаться с номеров, кратных восьми. Теперь, когда мы разобрались с небольшими масками подсетей, можно перейти к большим.

D.1.3 Подсети из 9-ти бит

Начнем с сети 130.15.1. При 9-битовой подсети ее первый хост будет иметь адрес:

10000010 00001111 00000001 00000001

130 . 15 . 1 . 1

Адрес последнего хоста подсети:

10000010 00001111 00000001 01111110

130 . 15 . 1 . 126

При записи с точками подсеть будет содержать адреса:

от 130.15.1.1 до 130.15.1.126

Первый хост следующей подсети будет иметь адрес:

10000010 00001111 00000001 10000001

130 . 15 . 1 . 129

Последний хост этой подсети сможет адресоваться как:

10000010 00001111 00000001 11111110

130 . 15 . 1 . 254

К подсети будут относиться адреса:

от 130.15.1.129 до 130.15.1.254

Первый хост следующей подсети приобретет адрес:

10000010 00001111 00000010 00000001

130 . 15 . 2 . 1

Последний хост следующей подсети получит адрес:

10000010 00001111 00000010 01111110

130 . 15 . 2 . 126

Таким образом, к следующей подсети будут относиться адреса:

от 130.15.2.1 до 130.15.2.126

Прослеживается зависимость и в этом случае. Последний байт используется для конструирования двух подсетей, каждая со 126 адресами. Номера хостов для первой из них располагаются в диапазоне от 1 до 126. Номера хостов второй подсети: от 129 до 254.

D.1.4 10-битовые подсети

Начнем с более простого случая для сети 130.15.1. Первый хост будет иметь адрес:

10000010 00001111 00000001 00000001

130 . 15 . 1 .1

Последний хост этой подсети получит адрес:

10000010 00001111 00000001 00111110

130 . 15 . 1 . 62

Записанная с точками, подсеть будет содержать 62 адреса:

от 130.15.1.1 до 130.15.1.62

Адрес первого хоста следующей подсети:

10000010 00001111 00000001 01000001

130 . 15 . 1 . 65

Последний хост второй подсети:

10000010 00001111 00000001 01111110

130 . 15 . 1 . 126

В записи с точками это будет подсеть из 62 адресов: от 130.15.1.65 до 130.15.1.126

Последний байт служит для конструирования четырех подсетей, из которых каждая будет иметь 62 адреса. Последний байт будет разделен на следующие диапазоны:

от 1 до 62

от 65 до 126

от 129 до 190

от 193 до 254

D.2 Маски подсетей с переменной длиной

Очень трудно выбрать одну-единственную маску подсети для организации. Многие сети предприятий сочетают различное коммуникационное оборудование — линии дальней связи, Frame Relay, локальные сети офиса и мелких подразделений организации. К счастью, сегодня можно присвоить адреса более эффективным способом, используя маски подсетей переменной длины. Другими словами, применение нескольких масок различного размера позволит удовлетворить требования каждой из подсетей организации.

Единственной причиной того, что этот способ не применялся ранее, было отсутствие пересылки информации о масках подсетей между маршрутизаторами в старых протоколах маршрутизации. Например, классический маршрутизатор протокола RIP обеспечивал обмен сообщениями со следующим содержанием:

■ Сеть назначения, подсеть или хост

■ Метрика счетчика попадания до точки назначения

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

RIP версии 2, Open Shortest Path First (OSPF), и Cisco Enhanced Internet Gateway Routing Protocol (EIGRP) поддерживают маски переменной длины. Это означает, что маршрутизаторы включают в описание каждой точки назначения маску подсети.

Мы продолжим рассматривать пример сети класса В (130.15.0.0). Самый легкий способ работать с масками переменной длины — это отделить диапазоны номеров для каждого размера.

D.2.1 Присваивание маски линии "точка-точка"

Начнем со связи "точка-точка" (Point-to-Point). Хотя в некоторых сайтах не присваивают IP-адреса линиям "точка-точка", многие маршрутизаторы обеспечивают такую возможность, и мы рассмотрим сначала именно этот вариант. Для любой цепи "точка-точка" необходимо только два адреса. 14-битовая маска будет наиболее пригодной для этого случая. Если адреса начинаются от 130.15.251, то мы получаем 64 подсети:

от 130.15.251.1 до 130.15.251.2

от 130.15.251.5 до 130.15.251.6

от 130.15.251.9 до 130.15.251.10

от 130.15.250.253 до 130.15.250.254

Если же использовать 14-битовые маски для всех адресов в диапазоне от 130.15.251.0 до 130.15.255.255 то мы получим пятикратное увеличение, т.е. 320 подсетей.

D.2.2 Локальная сеть малого офиса

Предположим, что организация имеет 100 филиалов и каждому из них требуется от 30 до 40 адресов. Чтобы обезопасить себя, выбираем 10-битовую маску подсети, которая поддержит 62 хоста на каждом сайте. Для адресов от 130.15.101 мы получим четыре подсети:

от 130.15.101.1 до 130.15.101.62

от 130.15.101.65 до 130.15.101.126

от 130.15.101.129 до 130.15.101.190

от 130.15.101.193 до 130.15.101.254

Если требуется 100 подсетей, нужно применить 10-битовые маски к диапазону адресов:

от 130.15.101.0 до 130.15.125.255

Следует зарезервировать несколько больший диапазон, чтобы обеспечить добавление сайтов в будущем.

D.2.3 Большая локальная сеть

Наконец, предположим, что существует шесть больших локальных сетей. Мы хотим обеспечить соединение каждой из них с 500 хостами. Подойдет 7-битовая маска подсети (см. раздел D.1.1). Типичная 7-битовая подсеть содержит диапазон адресов, подобный следующим:

от 130.15.2.1 до 130.15.2.255

от 130.15.3.0 до 130.15.3.254

Если нужно 6 таких локальных сетей, можно применить 7-битовые маски к диапазону:

от 130.15.2.0 до 130.15.13.255

Лучше резервировать больший диапазон, чтобы учесть будущие потребности.

D.2.4 Резюме

Маски переменной длины поддерживают эффективное выделение IP-адресов. Первым шагом в их применении должен быть анализ сети и определение необходимых размеров. Затем выделяется диапазон номеров для использования с каждым размером маски. Полезно оставлять небольшие промежутки между диапазонами адресов, чтобы учесть будущее расширение сети.

Загрузка...