Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ИС - Маршрутизация

.pdf
Скачиваний:
15
Добавлен:
28.03.2015
Размер:
393.41 Кб
Скачать

4.4 МЕТОДЫ МАРШРУТИЗАЦИИ ИНФОРМАЦИОННЫХ ПОТОКОВ

Необходимость маршрутизации

Сеть в общем случае рассматривается как совокупность нескольких сетей и на- зывается составной сетью или интерсетью (internetwork или internet). Сети, входящие в составную сеть, называются подсетями (subnet), составляющими сетями или просто се- тями. Сети соединяются между собой специальными устройствами, называемыми маршрутизаторами. Маршрутизатор (router) это устройство, которое собирает ин- формацию о топологии межсетевых соединений (структуре подсети) и на её основании пересылает пакеты сетевого уровня в сеть назначения.

Чтобы передать сообщение от отправителя, находящегося в одной сети, получа- телю, находящемуся в другой сети, нужно совершить некоторое количество транзит- ных передач между сетями, или хопов (от анг. hop - прыжок), каждый раз выбирая под- ходящий маршрут. Таким образом, маршрут представляет собой последовательность маршрутизаторов, через которые проходит пакет.

На Рис. 4.4-1 показаны четыре сети, соединенные тремя маршрутизаторами. Между сетями 2 и 3 данной составной сети пролегают два маршрута: первый через маршрутизаторы 1 и 2, а второй через маршрутизаторы 1, 3 и 2.

Сеть 1

Сеть 3

 

Маршрутизатор 2

 

Маршрутизатор1

Сеть 2

Маршрутизатор 3

 

Сеть 4

Рис. 4.4-1

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

Целью маршрутизации [4, с.196] является обеспечение оптимальной в опреде- ленном смысле совокупности маршрутов между источниками и адресатами при задан- ных входных потоках и топологии сети, а также оптимизация использования сетевых ресурсов (каналов, коммутационных процессоров, буферов) при условии, что сеть в со- стоянии переработать данный трафик (нагрузку).

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

Основные требования, которым должен удовлетворять идеальный алгоритм мар- шрутизации (как и любой другой алгоритм, применяемый на практике) можно сформу- лировать следующим образом:

1.Корректность. Алгоритм должен быть работоспособным и не содержать ло- гических противоречий.

2.Вычислительная простота. Реализация алгоритма должна требовать мини- мум вычислительных, канальных ресурсов, чтобы существенным образом не влиять на обслуживание информационного трафика.

3.Адаптивность к изменениям трафика и топологии. Алгоритм должен оп-

ределять новое множество маршрутов доведения при изменении условий.

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

5.Справедливость. Алгоритм должен создавать равные условия всем пользо- вателям одинакового приоритета.

6.Оптимальность (в рамках выбранного критерия).

Выбор маршрута в сети многосвязной структуры может оказаться достаточно сложным и сильно влиять на работу сети.

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

При выборе критерия алгоритма маршрутизации могут быть использованы сле-

дующие величины

Максимальная пропускная способность подсети (минимально время достав-

ки сообщения по данному маршруту или задержка прохождения маршрута отдельным пакетом);

Мгновенные значения трафика подсети;

Средние значения показателей за длительное время;

Количество промежуточных маршрутизаторов в маршруте.

Алгоритм маршрутизации выполняет следующие функции:

1.Измерение и оценивание сетевых параметров, используемых алгоритмом.

2.Принятие решения о рассылке служебной информации.

3.Расчет маршрутных таблиц.

4.Реализация принятых маршрутных решений.

Вконкретных алгоритмах та или иная из указанных функций может отсутство- вать или стать тривиальной.

Всоответствии с приведенными функциями можно провести классификацию стратегий маршрутизации [4, с.198] по следующим признакам.

Классификация алгоритмов маршрутизации

По характеру используемой служебной информации (СИ)

-изолированные

-глобальные

-смешанные

По месту выполнения маршрутных вычислений:

-централизованные

-децентрализованные

-смешанные (в частности - иерархические)

По степени реагирования на изменение условий определенного типа (топо- логии, внешнего трафика, нагрузки):

-адаптивные

-статические

-квазистатические

По числу выбранных возможных маршрутов передачи:

-однопутевые

-многопутевые

По глубине прокладываемого маршрута:

-одношаговые

-многошагоые

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

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

Смешанные алгоритмы маршрутизации занимают промежуточное положение. При этом обмен частью СИ может носить глобальный характер (например информация

об отказах узлов и линий связи), а обмен другой частью СИ локальный характер (на- пример между смежными узлами или в пределах сети данного региона), также при

смешанных стратегиях возможен обмен СИ только между некоторыми определенными узлами, например по запросу.

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

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

При смешенных стратегиях часть маршрутных параметров рассчитывается на ЦУС, а часть на самом узле. В случае использования иерархической стратегии сеть разбивается на несколько регионов, в каждом из которых определен собственный ре- гиональный ЦУС.

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

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

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

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

Существует и прямо противоположный, многошаговый подход маршрутиза- ция от источника (Source Routing). В соответствии с ним узел-источник задает в от-

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

Одношаговые алгоритмы в зависимости от способа формирования таблиц мар- шрутизации делятся на три класса:

алгоритмы фиксированной (или статической) маршрутизации;

алгоритмы простой маршрутизации;

алгоритмы адаптивной (или динамической) маршрутизации.

Валгоритмах фиксированной маршрутизации все записи в таблице маршрути-

зации являются статическими. Администратор сети сам решает, на какие маршрутиза- торы надо передавать пакеты с теми или иными адресами, и вручную (например, с по- мощью утилиты route ОС Unix или Windows NT) заносит соответствующие записи в таблицу маршрутизации. Таблица, как правило, создается в процессе загрузки, в даль- нейшем она используется без изменений до тех пор, пока ее содержимое не будет отре- дактировано вручную. Такие исправления могут понадобиться, например, если в сети отказывает какой-либо маршрутизатор и его функции возлагаются на другой маршру- тизатор. Различают одномаршрутные таблицы, в которых для каждого адресата задан один путь, и многомаршрутные таблицы, определяющие несколько альтернативных путей для каждого адресата. В многомаршрутных таблицах должно быть задано прави- ло выбора одного из маршрутов. Чаще всего один путь является основным, а остальные

резервными. Понятно, что алгоритм фиксированной маршрутизации с его ручным

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

структуру с очевидными наилучшими путями следования пакетов в подсети, присоеди- ненные к магистрали.

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

случайная маршрутизация, когда прибывший пакет посылается в первом попавшем случайном направлении, кроме исходного;

лавинная маршрутизация, когда пакет широковещательно посыла- ется по всем возможным направлениям, кроме исходного (аналогично обработке мостами кадров с неизвестным адресом);

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

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

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

ПРИМЕЧАНИЕ В последнее время наметилась тенденция ис- пользовать ток называемые серверы маршрутов. Сервер маршрутов собира- ет маршрутную информацию, а затем раздает ее по запросам маршрутизато- рам, которые освобождаются в этом случае от функции создания таблиц маршрутизации, либо создают только часто этих таблиц. Появились специ- альные протоколы взаимодействия маршрутизаторов с серверами маршру-

тов, например Next Hop Resolution Protocol (NHRP).

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

дать свойством сходимости, то есть всегда приводить к однозначному результату за приемлемое время.

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

дистанционно-векторные алгоритмы (Distance Vector Algorithms, DVA);

алгоритмы состояния связей (Link State Algorithms, LSA).

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

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

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

Наиболее распространенным протоколом, основанным на дистанционно- векторном алгоритме, является протокол RIP, который распространен в двух версиях

RIP IP, работающий с протоколом IP, и RIP IPX, работающий с протоколом IPX. Алгоритмы состояния связей обеспечивают каждый маршрутизатор информа-

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

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

Чтобы понять, в каком состоянии находятся линии связи, подключенные к его портам, маршрутизатор периодически обменивается короткими пакетами HELLO со своими ближайшими соседями. Этот служебный трафик также засоряет сеть, но не в такой степени как, например, RIP-пакеты, так как пакеты HELLO имеют намного меньший объем.

Протоколами, основанными на алгоритме состояния связей, являются протоко-

лы IS-IS (Intermediate System to Intermediate System) стека OSI, OSPF (Open Shortest Path First) стека TCP/IP и недавно реализованный протокол NLSP стека Novell.

Построение и использование маршрутных таблиц

Рассмотрим принципы маршрутизации на примере составной сети, изображен- ной на Рис. 4.4-2. В этой сети 20 маршрутизаторов объединяют 18 сетей в общую сеть; SI, S2, ... , S20 — это номера сетей. Маршрутизаторы имеют по несколько портов (по крайней мере, по два), к которым присоединяются сети. Каждый порт маршрутизатора можно рассматривать как отдельный узел сети: он имеет собственный сетевой адрес и собственный локальный адрес в той подсети, которая к нему подключена. Например, маршрутизатор под номером 1 имеет три порта, к которым подключены сети SI, S2, S3. На рисунке сетевые адреса этих портов обозначены как М1(1), М1(2) и М1(3). Порт М1(1) имеет локальный адрес в сети с номером S1, порт М1(2)—в сети S2, а порт М1(3)—в сети S3. Таким образом, маршрутизатор можно рассматривать как совокуп- ность нескольких узлов, каждый из которых входит в свою сеть. Как единое устройство маршрутизатор не имеет ни отдельного сетевого адреса, ни какого-либо локального ад- реса.

ПРИМЕЧАНИЕ Если маршрутизатор имеет блок управления (например, SNMP- управления), то этот блок имеет собственные локальный и сетевой адреса, по которым к нему обращается центральная станция управ- ления, находящаяся где-то в составной сети

В сложных составных сетях почти всегда существует несколько альтернативных маршрутов для передачи пакетов между двумя конечными узлами. Маршрут это по- следовательность маршрутизаторов, которые должен пройти пакет от отправителя до пункта назначения. Так, пакет, отправленный из узла А в узел В, может пройти через маршрутизаторы 17, 12,5,4 и 1 или маршрутизаторы 17, 13,7, 6 и 3. Нетрудно найти еще несколько маршрутов между узлами А и В.

Рис. 4.4-2 Принципы маршрутизации в составной сети.

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

вающий только количество пройденных в маршруте промежуточных маршрутизаторов (хопов).

Чтобы по адресу сети назначения можно было бы выбрать рациональный мар- шрут дальнейшего следования пакета, каждый конечный узел и маршрутизатор анали- зируют специальную информационную структуру, которая называется таблицей мар- шрутизации. Используя условные обозначения для сетевых адресов маршрутизаторов и номеров сетей в том виде, как они приведены на Рис. 4.4-2, посмотрим, как могла бы выглядеть таблица маршрутизации, например, в маршрутизаторе 4 (Таблица 4.4-1).

Таблица 4.4-1 Таблица маршрутизации маршрутизатора 4.

Номер сети

 

Сетевой адрес следую-

Сетевой адрес

РАССТО ЯНИ Е ДО

назначения

 

щего маршрутизатора

выходного порта

СЕТИ Н АЗН АЧЕНИЯ

S1

 

M1(2)

M4(1)

1

 

 

 

 

 

 

 

S2

 

---

M4(1)

0(подсоединено)

 

 

 

 

 

 

 

 

 

 

S3

 

M1(2)

M4(1)

1

 

 

 

 

 

 

 

S4

 

M2(1)

M4(1)

1

 

 

 

 

 

 

 

S5

 

---

M4(2)

0(подсоединено)

 

 

 

 

 

 

S6

 

M2(1)

M4(1)

2

 

 

 

 

 

 

 

DEFAULT

 

M5(1)

M4(2)

---

 

 

 

 

 

 

 

 

 

 

ПРИМЕЧАНИЕ

Таблица 4.4-1 значительно упрощена по сравнению с реальными таблицами, на-

 

пример, отсутствуют столбцы с масками, признаками состояния маршрута, вре-

 

менем, в течение которого действительны записи данной таблицы (их применение

 

будет рассмотрено позже). Кроме того, как уже было сказано, здесь указаны адре-

 

са сетей условного формата, не соответствующие какому-либо определенному се-

 

тевому протоколу. Тем не менее эта таблица содержит основные поля, имеющие-

 

ся в реальных таблицах при использовании конкретных сетевых протоколов, та-

 

ких как IP, IPX или Х.25.

 

 

 

 

 

 

 

 

 

Впервом столбце таблицы перечисляются номера сетей, входящих в интерсеть.

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

Когда на маршрутизатор поступает новый пакет, номер сети назначения, извле- ченный из поступившего кадра, последовательно сравнивается с номерами сетей из ка- ждой строки таблицы. Строка с совпавшим номером сети указывает, на какой ближай- ший маршрутизатор следует направить пакет. Например, если на какой-либо порт мар-