Компьютерные сети

Компьютерные сети

Н. Олифер

Когда пакет поступает на маршрутизатор, модуль IP извлекает из его заголовка номе сети назначения и последовательно сравнивает его с номерами сетей из каждой строк таблицы. Строка с совпавшим номером сети показывает ближайший маршрутизатор, н который следует направить пакет. Например, если на какой-либо порт маршрутизатора поступает пакет, адресованный в сеть N6, то из таблицы маршрутизации следует, что адрс следующего маршрутизатора — IP21, то есть очередным этапом движения данного паке' будет движение к порту 1 маршрутизатора 2.

Чаще всего в качестве адреса назначения в таблице указывается не весь IP-адрес, а толы номер сети назначения. Таким образом, для всех пакетов, направляемых в одну и ту > сеть, протокол IP будет предлагать один и тот же маршрут (мы пока не принимаем i внимание возможные изменения состояния сети, такие как отказы маршрутизаторов и. обрывы кабелей). Однако в некоторых случаях возникает необходимость для одного узлов сети определить специфический маршрут, отличающийся от маршрута, заданно для всех остальных узлов сети. Для этого в таблицу маршрутизации помещают для даннс узла отдельную строку, содержащую его полный IP-адрес и соответствующую маршр? ную информацию. Такого рода запись имеется в табл. 16.1 для узла В. Пусть, наприм администратор маршрутизатора 4, руководствуясь соображениями безопасности, реш) что пакеты, следующие в узел В (полный адрес IP в), должны идти через маршрутизато (интерфейс IP21), а не маршрутизатор 1 (интерфейс IP12), через который передаются па ты всем остальным узлам сети N3. Если в таблице имеются записи о маршрутах как к с< в целом, так и к ее отдельному узлу, то при поступлении пакета, адресованного даннс узлу, маршрутизатор отдаст предпочтение специфическому маршруту.

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

много места для хранения и т. п. Поэтому на практике широко известен прием уменьшения количества записей в таблице маршрутизации, основанный на введении маршрута по умолчанию (default route), учитывающего особенности топологии сети. Рассмотрим, например, маршрутизаторы, находящиеся на периферии составной сети. В их таблицах достаточно записать номера только тех сетей, которые непосредственно подсоединены к данному маршрутизатору или расположены поблизости на тупиковых маршрутах. Обо всех же остальных сетях можно сделать в таблице единственную запись, указывающую на маршрутизатор, через который пролегает путь ко всем этим сетям. Такой маршрутизатор называется маршрутизатором по умолчанию (default router). В нашем примере на маршрутизаторе 4 имеются специфические маршруты только для пакетов, следующих в сети N1-N6. Для всех остальных пакетов, адресованных в сети N7-N18, маршрутизатор предлагает продолжить путь через один и тот же порт IP51 маршрутизатора 5, который в данном случае и является маршрутизатором по умолчанию.

Таблицы маршрутизации конечных узлов
Задачу маршрутизации решают не только промежуточные узлы (маршрутизаторы), но и конечные узлы — компьютеры. Решение этой задачи начинается с того, что средствами протокола IP на конечном узле определяется, направлен ли пакет в другую сеть или адресован какому-нибудь узлу данной сети. Если номер сети назначения совпадает с номером данной сети, это означает, что пакет маршрутизировать не требуется. В противном случае маршрутизация нужна.

Структуры таблиц маршрутизации конечных узлов и транзитных маршрутизаторов аналогичны. Обратимся снова к сети, изображенной на рис. 16.2. Таблица маршрутизации конечного узла В
}
принадлежащего сети N3, могла бы выглядеть так, как табл. 16.2. Здесь IP в - сетевой адрес интерфейса компьютера В. На основании этой таблицы конечный узел В выбирает, на какой из двух имеющихся в локальной сети N3 маршрутизаторов (R1 или R3) следует посылать тот или иной пакет.

Таблица 16.2. Таблица маршрутизации конечного узла В
Номер сети назначения
Сетевой адрес следующего маршрутизатора
Сетевой адрес выходного порта
Расстояние до сети назначения
N1
IPi
3
(Rl)
1Рв
1
N2
IPi
3
(Rl)
1Рв
1
N3
-
1Рв
0
N4
IP31 (R3)
1Рв
1
N5
IPis(Rl)
1Рв
2
N6
IP31 (R3)
1Рв
2
Маршрут по умолчанию
IP31 (R3)
1Рв
-

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

Рассмотрим таблицу маршрутизации другого конечного узла составной сети — узла А (табл. 16.3). Компактный вид таблицы маршрутизации узла Л отражает тот факт, что все пакеты, направляемые из узла Л, либо не выходят за пределы сети N12, либо непременно проходят через порт 1 маршрутизатора 17. Этот маршрутизатор и определен в таблице маршрутизации в качестве маршрутизатора по умолчанию.
Таблица 16.3. Таблица маршрутизации конечного узла А
Номер сети назначения
Сетевой адрес следующего маршрутизатора

Сетевой адрес выходного порта
Расстояние до сети назначения
N12
-
1Ра
0
Маршрут по умолчанию
IP 17,1 (R17)
1Ра
-
Еще одним отличием работы маршрутизатора и конечного узла является способ построения таблицы маршрутизации. Если маршрутизаторы, как правило, автоматически создают таблицы маршрутизации, обмениваясь служебной информацией, то для конечных узлов таблицы маршрутизации часто создаются вручную администраторами и хранятся в виде постоянных файлов на дисках.

Просмотр таблиц маршрутизации без масок
Рассмотрим алгоритм просмотра таблицы маршрутизации, реализуемый на маршрутизаторе протоколом IP. При его описании мы будем использовать табл. 16.1 и рис. 16.2.
1. Пусть на один из интерфейсов маршрутизатора поступает пакет. Протокол IP извлекает из пакета IP-адрес назначения (предположим, адрес назначения 1Рв).

2. Выполняется первая фаза просмотра таблицы — поиск конкретного маршрута к узлу. IP-адрес (целиком) последовательно строка за строкой сравнивается с содержимым поля адреса назначения таблицы маршрутизации. Если произошло совпадение (как в табл. 16.1), то из соответствующей строки извлекаются адрес следующего маршрутизатора (IP21) и идентификатор выходного интерфейса (IP41). На этом просмотр таблицы заканчивается.

3. Предположим теперь, что в таблице нет строки с адресом назначения 1Рв, а значит, совпадения не произошло. В этом случае протокол IP переходит ко второй фазе просмотра поиску маршрута к сети назначения. Из IP-адреса выделяется нбмер сети (в нашем примере иэ адреса 1Рв выделяется номер сети N3), и таблица снова просматривается на предмет совпадения номера сети в какой-либо строке с номером сети из пакета. При совпадении (в нашем примере оно произошло) из соответствующей строки таблицы извлекаются адрес следующего маршрутизатора (IP12) и идентификатор выходного интерфейса (IP41). Просмотр таблицы на этом завершается.

4. Наконец, предположим, что адрес назначения в пакете был таков, что совпадения не произошло ни в первой, ни во второй фазах просмотра. В таком случае средствами проюкола IP либо выбирается маршрут по умолчанию (и пакет направляется по адресу IP51), либо, если маршрут по умолчанию отсутствует, пакет отбрасывается
57
. Просмотр таблицы на этом заканчивается.
ВНИМАНИЕ-

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

Структура реальных таблиц маршрутизации стека TCP/IP в целом соответствует упрощенной структуре рассмотренных ранее таблиц. Отметим, однако, что вид таблицы IP-маршрутизации зависит от конкретной реализации стека TCP/IP. Приведем пример нескольких вариантов таблицы маршрутизации, с которыми мог бы работать маршрутизатор R1 в сети, представленной на рис. 16.3.

Начнем с «придуманного» предельно упрощенного варианта таблицы маршрутизации (табл. 16.4). Здесь имеются три маршрута к сетям (записи 56.0.0.0,116.0.0.0 и 129.13.0.0), две записи о непосредственно подсоединенных сетях (198.21.17.0 и 213.34.12.0), а также запись о маршруте по умолчанию.
Таблица 16.4. Упрощенная таблица маршрутизации маршрутизатора R1
Адрес сети назначения
Адрес следующего маршрутизатора
Адрес выходного интерфейса
Расстояние до сети назначения
56.0.0.0
213.34.12.4
213.34.12.3
15

116.0.0.0
213.34.12.4
213.34.12.3
13
129.13.0.0
198.21.17.6
198.21.17.5
2
198.21.17.0
198.21.17.5
198.21.17.5
1 (подсоединена)
213.34.12.0
213.34.12.3
213.34.12.3
1 (подсоединена)
Маршрут по умолчанию
198.21.17.7
198.21.17.5
-
Более сложный вид имеют таблицы, которые генерируются в промышленно выпускаемом сетевом оборудовании.

Если представить, что в качестве маршрутизатора R1 в данной сети работает штатный программный маршрутизатор операционной системы Microsoft Windows ХР, то его таблица маршрутизации могла бы выглядеть так, как табл. 16.5.
Сеть 198.21.17.0
Рис. 16.3. Пример маршрутизируемой сети
Таблица 16.5. Таблица программного маршрутизатора ОС Windows ХР
Сетевой адрес
Маска
Адрес шлюза
Интерфейс
Метрика
127.0.0.0
255.0.0.0
127.0.0.1
127.0.0.1
1
о.о.о.о
О.О.О.О
198.21.17.7
198.21.17.5
1
56.0.0.0
255.0.0.0

213.34.12.4
213.34.12.3
15
116.0.0.0
255.0.0.0
213.34.12.4
213.34.12.3
13
129.13.0.0
255.255.0.0
198.21.17.6
198.21.17.5
2
198.21.17.0
255.255.255.0
198.21.17.5
198.21.17.5
1
198.21.17.5
255.255.255.255
127.0.0.1
127.0.0.1
1
198.21.17.255
255.255.255.255
198.21.17.5
198.21.17.5
1
Сетевой адрес
Маска
Адрес шлюза
Интерфейс
Метрика
213.34.12.0
255.255.255.0
213.34.12.3
213.34.12.3
1
213.34.12.3
255.255.255.255
127.0.0.1
127.0.0.1
1
213.34.12.255
255.255.255.255
213.34.12.3
213.34.12.3
1
224.0.0.0

224.0.0.0
198.21.17.6
198.21.17.6
1
224.0.0.0
224.0.0.0
213.34.12.3
213.34.12.3
1
255.255.255.255
255.255.255.255
198.21.17.6
198.21.17.6
1
Если на месте маршрутизатора R1 установить один из популярных аппаратных маршрутизаторов, то его таблица маршрутизации для этой же сети может выглядеть совсем иначе (табл. 16.6).
Таблица 16.6. Таблица маршрутизации аппаратного маршрутизатора
Адрес назначения
Маска
Шлюз
Метрика
Статус
TTL
Источник
198.21.17.0
255.255.255.0
198.21.17.5
0
Up
-
Подключена

213.34.12.0
255.255.255.0
213.34.12.3
0
Up
-
Подключена
56.0.0.0
255.0.0.0
213.34.12.4
14
Up
-
Статическая
116.0.0.0
255.0.0.0
213.34.12.4
12
Up
-
Статическая
129.13.0.0
255.255.0.0
198.21.17.6
1
Up
160
RIP
И наконец табл. 16.7 представляет собой таблицу маршрутизации для того же маршрутизатора R1, реализованного в виде программного маршрутизатора одной из версий операционной системы Unix.
Таблица 16.7. Таблица маршрутизации Unix-маршрутизатора
Адрес назначения
Шлюз
Флаги
Число ссылок
Загрузка

Интерфейс
127.0.0.0
127.0.0.1
UH
1
154
1о0
Маршрут по умолчанию
198.21.17.7
UG
5
43270
1е0
198.21.17.0
198.21.17.5
и
35
246876
1е0
213.34.12.0
213.34.12.3
и
44
132435
lei
129.13.0.0
198.21.1.7.6
UG
6
16450
1е0
56.0.0.0
213.34.12.4
UG
12
5764
lei
116.0.0.0
213.34.12.4
UG
21
23544
lei
ПРИМЕЧАНИЕ -

Заметим, что поскольку между структурой сети и таблицей маршрутизации нет однозначного соответствия, для каждого из приведенных вариантов таблицы можно предложить свои «подварианты», отличающиеся выбранным маршрутом к той или иной сети. В данном случае внимание концентрируется на существенных различиях в форме представления маршрутной информации разными реализациями маршрутизаторов.

Несмотря на достаточно заметные внешние различия, во всех трех «реальных» таблицах присутствуют все ключевые данные из рассмотренной упрощенной таблицы, без которых невозможна маршрутизация пакетов.
К таким данным, во-первых, относятся адреса сети назначения (столбцы «Адрес назначения» в аппаратном маршрутизаторе и маршрутизаторе Unix или столбец «Сетевой адрес» в маршрутизаторе ОС Windows ХР).

Вторым обязательным полем таблицы маршрутизации является адрес следующего маршрутизатора (столбцы «Шлюз» в аппаратном маршрутизаторе и маршрутизаторе Unix или столбец «Адрес шлюза» в маршрутизаторе ОС Windows ХР).

Третий ключевой параметр — адрес порта, на который нужно направить пакет, в некоторых таблицах указывается прямо (столбец «Интерфейс» в таблице маршрутизатора ОС Windows ХР), а в некоторых — косвенно. Так, в таблице маршрутизатора Unix вместо адреса порта задается его условное наименование — 1е0 для порта с адресом 198.21.17.5, lei для порта с адресом 213.34.12.3 и 1о0 для внутреннего порта с адресом 127.0.0.1. В аппаратном маршрутизаторе поле, обозначающее выходной порт в какой-либо форме, вообще отсутствует. Это объясняется тем, что адрес выходного порта всегда можно косвенно определить по адресу следующего маршрутизатора. Например, определим по табл. 16.6 адрес выходного порта для сети 56.0.0.0. Из таблицы следует, что следующим маршрутизатором для этой сети будет маршрутизатор с адресом 213.34.12.4. Адрес следующего маршрутизатора должен принадлежать одной из непосредственно присоединенных к маршрутизатору сетей, и в данном случае это сеть 213.34.12.0. Маршрутизатор имеет порт, присоединенный к этой сети, и адрес этого порта 213.34.12.3 мы находим в столбце «Шлюз» второй строки таблицы маршрутизации, которая описывает непосредственно присоединенную сеть 213.34.12.0. Для непосредственно присоединенных сетей адресом следующего маршрутизатора всегда является адрес собственного порта маршрутизатора. Таким образом, для сети 56.0.0 адресом выходного порта является 213.34.12.3.

Стандартным решением сегодня является использование поля маски в каждой записи таблицы, как это сделано в таблицах маршрутизатора ОС Windows ХР и аппаратного маршрутизатора (столбцы «Маска»). Механизм обработки масок при принятии решения маршрутизаторами рассматривается далее. Отсутствие поля маски говорит о том, что либо маршрутизатор рассчитан на работу только с тремя стандартными классами адресов, либо для всех записей используется одна и та же маска, что снижает гибкость маршрутизации.

Поскольку в таблице маршрутизации маршрутизатора Unix каждая сеть назначения упомянута только один раз, а значит, возможность выбора маршрута отсутствует, то поле метрики является необязательным параметром. В остальных двух таблицах поле метрики используется только для указания на то, что сеть подключена непосредственно. Метрика 0 для аппаратного маршрутизатора или 1 для маршрутизатора ОС Windows ХР говорит маршрутизатору, что эта сеть непосредственно подключена к его порту, а другое значение метрики соответствует удаленной сети. Выбор метрики для непосредственно подключенной сети (1 илц 0) является произвольным, главное, чтобы метрика удаленной сети отсчитывалась с учетом этого выбранного начального значения. В маршрутизаторе Unix используется поле признаков, где флаг G (Gateway — шлюз) отмечает удаленную сеть, а его отсутствие — непосредственно подключенную.

что пакет ужв до-но IP-адреса узла

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

Флаги записей присутствуют только в таблице маршрутизатора Unix.
□ U — маршрут активен и работоспособен. Аналогичный смысл имеет поле статуса в аппаратном маршрутизаторе.
□ Н — признак специфического маршрута к определенному хосту.
□ G — означает, что маршрут пакета проходит через промежуточный маршрутизатор (шлюз). Отсутствие этого флага отмечает непосредственно подключенную сеть.

□ D — означает, что маршрут получен из перенаправленного сообщения протокола ICMR Этот признак может присутствовать только в таблице маршрутизации конечного узла. Признак означает, что конечный узел при какой-то предыдущей передаче пакета выбрал не самый рациональный следующий маршрутизатор на пути к данной сети, и этот маршрутизатор с помощью протокола ICMP сообщил конечному узлу, что все последующие пакеты к данной сети нужно отправлять через другой маршрутизатор.

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

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

□ Одним из источников записей в таблице маршрутизации является программное обеспечение стека TCP/IP, которое при инициализации маршрутизатора автоматически заносит в таблицу несколько записей, в результате чего создается так называемая минимальная таблица маршрутизации. Программное обеспечение формирует записи о непосредственно подключенных сетях и маршрутах по умолчанию, информация о которых появляется в стеке при ручном конфигурировании интерфейсов компьютера или маршрутизатора. К таким записям в приведенных примерах относятся записи о сетях

213.34.12.0 и 198.21.17.0, а также запись о маршруте по умолчанию в маршрутизаторе Unix и запись 0.0.0.0 в маршрутизаторе ОС Windows ХР. Кроме того, программное обеспечение автоматически заносит в таблицу маршрутизации записи об адресах особого назначения. В приведенных примерах таблица маршрутизатора ОС Windows 2000 содержит наиболее полный набор записей такого рода. Несколько записей в этой таблице связано с особым адресом 127.0.0.0. Записи с адресом 224.0.0.0 требуются для обработки групповых адресов. Кроме того, в таблицу могут быть занесены адреса, предназначенные для обработки широковещательных рассылок (например, записи 8 и 11 содержат адрес отправки широковещательного сообщения в соответствующих подсетях, а последняя запись в таблице — адрес ограниченной широковещательной рассылки). Заметим, что в некоторых таблицах записи об особых адресах вообще отсутствуют.

□ Еще одним источником записей в таблице является администратор, непосредственно формирующий записи с помощью некоторой системной утилиты, например программы route, имеющейся в операционных системах Unix и Windows XR В аппаратных маршрутизаторах также всегда имеется команда для ручного задания записей таблицы маршрутизации. Заданные вручную записи всегда являются статическими, то есть они не имеют срока жизни. Эти записи могут быть как постоянными, то есть сохраняющимися при перезагрузке маршрутизатора, так и временными, хранящимися в таблице только до выключения устройства. Часто администратор вручную заносит запись о маршруте по умолчанию. Таким же образом в таблицу маршрутизации может быть внесена запись о специфическом для узла маршруте.

□ И наконец, третьим источником записей могут быть протоколы маршрутизации, такие как RIP или OSPE Эти записи всегда являются динамическими, то есть имеют ограниченный срок жизни.

Программные маршрутизаторы Windows ХР и Unix не показывают источник появления той или иной записи в таблице, а аппаратный маршрутизатор использует для этой цели поле источника. В приведенном в табл. 16.6 примере первые две записи созданы программным обеспечением стека на основании данных о конфигурации портов маршрутизатора — это показывает признак «Подключена». Следующие две записи обозначены как статические — это означает, что их ввел вручную администратор. Последняя запись является следствием работы протокола RIP, поэтому в ее поле «TTL» имеется значение 160.


Все материалы, размещенные в боте и канале, получены из открытых источников сети Интернет, либо присланы пользователями  бота. 
Все права на тексты книг принадлежат их авторам и владельцам. Тексты книг предоставлены исключительно для ознакомления. Администрация бота не несет ответственности за материалы, расположенные здесь

Report Page