Во многих случаях более эффективным является разбиение сети на подсети разного размера. В частности, для подсети, которая связывает два маршрутизатора по двухточечной схеме, даже количество адресов сети класса С явно является избыточным.
На рис. 18.12 приведен другой пример распределения того же адресного пространства 129.44.0.0/16, что и в предыдущем примере. Здесь половина из имеющихся адресов (215) отведена для создания сети с адресом 129.44.0.0 и маской 255.255.128.0. Следующая порция адресов, составляющая четверть всего адресного пространства (214), назначена для сети 129.44.128.0 с маской 255.255.192.0.
Далее в пространстве адресов был «вырезан» небольшой фрагмент для создания сети, предназначенной для связывания внутреннего маршрутизатора R2 с внешним маршрутизатором R1. Для нумерации узлов в такой вырожденной сети достаточно отвести два двоичных разряда. Из четырех возможных комбинаций номеров узлов: 00, 01, 10 и И два номера имеют специальное назначение и не могут быть присвоены узлам, но оставшиеся два 10 и 01 позволяют адресовать порты маршрутизаторов. Поле номера узла в таком случае имеет два двоичных
разряда, маска в десятичной нотации имеет вид 255.255.255.252, а номер сети, как видно из рисунка, равен 129.44.192.0.
1 байт 2 байта
Поле номера сети класса В (неизменяемое поле) 129 44
|
Поле адресов узлов (адресное пространство)
|
I Диапазон адресов (213- 8), свободный | для образования новых сетей
|
Сеть 129.44.0.0 Маска 255.255.128.0,
|
Число узлов 215
Сеть 129.44.128.0 Маска 255.255.192.0
Число узлов 214
|
Вспомогательная сеть 129.44.192.0 Маска 255.255.255.248
Число узлов 8
|
^Сеть 129.44.224.0 Маска 255.255.224.0
Число узлов 213
№:т*шшщмштжм$т
Рис. 18.12. Разделение адресного пространства сети класса В 129.44.0.0 на сети разного размера путем использования масок переменной длины
ПРИМЕЧАНИЕ -----------------------------------------------------------------------------------------------------
Глобальным связям между маршрутизаторами, соединенными по двухточечной схеме, не обязательно давать IP-адреса. Однако чаще всего такой вырожденной сети все же дают IP- адрес. Кроме прочего, это делается, например, для того, чтобы скрыть внутреннюю структуру сети и обращаться к ней по одному адресу входного порта маршрутизатора, в данном примере по адресу 129.44.192.1, применяя технику трансляции сетевых адресов (Network Address Translator, NAT[34]).
Оставшееся адресное пространство администратор может «нарезать» на разное количество сетей разного объема в зависимости от своих потребностей. Из оставшегося пула (214 - 4) адресов администратор может образовать еще одну достаточно большую сеть с числом узлов 213. При этом свободными останутся почти столько же адресов (213 - 4), которые также могут быть использованы для созда-
ни я новых сетей. К примеру, из этого «остатка» можно образовать 31 сеть, каждая из которых равна размеру сети класса С, и к тому же еще несколько сетей меньшего размера. Ясно, что разбиение может быть другим, но в любом случае с помощью масок переменного размера администратор имеет больше возможностей рационально использовать все имеющиеся у него адреса.
На рис. 18.13 показан пример сети, структурированной с помощью масок переменной длины.
Сеть 129.44.0.0 Маска 255.255.128.0 215узлов
|
Сеть 129.44.128.0 Маска 255.255.192.0 214узлов
|
129.44.192.2 129.44.192.1 ^ИнтернетR1 ] \ R2
|
л 129.44.128.1 Сеть 129.44.192.0 Маска 255.255.255.248 8 узлов
|
СетЫ29.44.224.0 Маска 255.255.224.0 213узлов
|
Рис. 18.13. Структуризация сети масками переменной длины
Давайте посмотрим, как маршрутизатор R2 обрабатывает поступающие на его интерфейсы пакеты (табл. 18.9).
Таблица 18.9. Таблица маршрутизатора R2 в сети с масками переменной длины
Адрес назначения
| Маска
| Адрес следующего маршрутизатора
| Адрес порта
| Расстояние
| 129.44.0.0
| 255.255.128.0
| 129.44.128.3
| 129.44.128.1
|
| 129.44.128.0
| 255.255.192.0
| 129.44.128.1
| 129.44.128.1
| Подключена
| 129.44.192.0
| 255.255.255.248
| 129.44.192.1
| 129.44.192.1
| Подключена
| 129.44.224.0
| 255.255.224.0
| 129.44.128.2
| 129.44.128.1
|
| 0.0.0.0
| 0.0.0.0
| 129.44.192.2
| 129.44.192.1
| -
| |
Пусть поступивший на R2 пакет имеет адрес назначения 129.44.192.15. Поскольку специфические маршруты в таблице отсутствуют, маршрутизатор переходит ко второй фазе — фазе последовательного анализа строк на предмет поиска совпадения с адресом назначения:
□ (129.44.192.5) AND (255.255.128.0) - 129.44.128.0 - нет совпадения;
□ (129.44.192.5) AND (255.255.192.0) = 129.44.192.0 - нет совпадения;
□ (129.44.192.5) AND (255.255.255.248) = 129.44.192.0 - совпадение;
□ (129.44.192.5) AND (255.255.224.0) - 129.44.192.0 - нет совпадения.
Таким образом, совпадение имеет место в одной строке. Пакет будет отправлен в непосредственно подключенную к данному маршрутизатору сеть на выходной интерфейс 129.44.192.1.
Если пакет с адресом 129.44.192.1 поступает из внешней сети, и маршрутизатор R1 не использует маски, пакет передается маршрутизатору R2, а потом снова возвращается в соединительную сеть. Очевидно, что такие передачи пакета не выглядят рациональными.
ПРИМЕЧАНИЕ -----------------------------------------------------------------------------------------------------
|
Маршрутизация будет более эффективной, если в таблице маршрутизации маршрутизатора R1 маршруты будут заданы масками переменной длины (табл. 18.10). Первая из приведенных двух записей говорит о том, что все пакеты, адреса которых начинаются с 129.44, должны быть переданы на маршрутизатор R2. Эта запись выполняет агрегирование адресов всех подсетей, созданных на базе одной сети 129.44.0.0. Вторая строка говорит о том, что среди всех возможных подсетей сети 129.44.0.0 есть одна (129.44.192.0/30), которой пакеты можно направлять непосредственно, а не через маршрутизатор R2.
Таблица 18.10. Фрагмент таблицы маршрутизатора R1
Адрес назначения
| Маска
| Адрес следующего маршрутизатора
| Адрес порта
| Расстояние
|
|
|
|
|
| 129.44.0.0
| 255.255.0.0
| 129.44.192.1
| 129.44.191.2
|
| 129.44.192.0
| 255.255.255.192
| 129.44.192.2
| 129.44.192.2
| Подключена
|
|
|
|
|
| |
В IP-пакетах при использовании механизма масок по-прежнему передается только IP-адрес назначения, а маска сети назначения не передается. Поэтому из IP-адреса пришедшего пакета невозможно выяснить, какая часть адреса относится к номеру сети, а какая — к номеру узла. Если маски во всех подсетях имеют один размер, то это не создает проблем. Если же для образования подсетей применяют маски переменной длины, то маршрутизатор должен каким-то образом узнавать, каким адресам сетей какие маски соответствуют. Для этого используются протоколы маршрутизации, переносящие между маршрутизаторами не только служебную информацию об адресах сетей, но и о масках, соответствующих этим номерам. К таким протоколам относятся протоколы RIPv2 и OSPF, а вот, например, протокол RIP маски не переносит и для масок переменной длины не подходит.
|